This commit is contained in:
sunzhenyu 2020-12-11 18:03:05 +08:00
commit 8287e984da
36 changed files with 1370 additions and 1422 deletions

View File

@ -168,7 +168,8 @@ export default {
automaticSignalUpdateSucceeded: 'Automatic signal update successful!',
automaticSignalUpdateFailed: 'Automatic signal update failed',
stationName: 'The station name:',
stationName: 'The station name',
stationNameColon: 'The station name:',
property: 'attribute',
counterCoding: 'Counter coding:',

View File

@ -156,7 +156,8 @@ export default {
interconnected: '联锁控名称',
buttonType: '所属类型',
stationName: '车站名称:',
stationNameColon: '车站名称:',
stationName: '车站名称',
property: '属性',
counterCoding: '计数器编码:',

View File

@ -395,9 +395,9 @@ class SkinCode extends defaultStyle {
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
headFontSize: 10, // 站台首端字体大小
doorOpenColor:'#00FF00', // 车门开启状态颜色
stopColor: 'yellow', // 站台列车停站颜色
stopColor: '#0080C0', // 站台列车停站颜色
virtualColor: '#585858', // 虚拟站台颜色
lineWidth: 3 // 站台线宽
lineWidth: 6 // 站台线宽
},
// 站台紧急关闭
emergentRhombus:{

View File

@ -173,7 +173,7 @@ export default class ELines extends Group {
});
this.routeArrowRight = new Isogon({
zlevel: this.zlevel,
origin: [cPointLeft.x, cPointLeft.y],
origin: [cPointRight.x, cPointRight.y],
rotation: -Math.PI / 2 - triangleRight.getRotation(),
z: Z + 9,
shape: {
@ -191,7 +191,7 @@ export default class ELines extends Group {
this.routeLineLeft = new Polyline({
zlevel: this.zlevel,
progressive: model.progressive,
z: Z,
z: Z + 9,
shape: {
points: pointsLeft
},
@ -203,7 +203,7 @@ export default class ELines extends Group {
this.routeLineRight = new Polyline({
zlevel: this.zlevel,
progressive: model.progressive,
z: Z,
z: Z + 9,
shape: {
points: pointsRight
},
@ -344,8 +344,8 @@ export default class ELines extends Group {
this.routeLineRight && this.routeLineRight.hide();
this.routeArrowLeft && this.routeArrowLeft.setStyle({ stroke: this.model.style.Section.routeArrow.defaultArrowStroke, fill: this.model.style.Section.routeArrow.defaultArrowFill });
this.routeArrowRight && this.routeArrowRight.setStyle({ stroke: this.model.style.Section.routeArrow.defaultArrowStroke, fill: this.model.style.Section.routeArrow.defaultArrowFill });
this.routeLineLeft && this.routeLineLeft.setStyle({ fill: this.model.style.Section.routeArrow.defaultLineStroke });
this.routeArrowRight && this.routeArrowRight.setStyle({ fill: this.model.style.Section.routeArrow.defaultLineStroke });
this.routeLineLeft && this.routeLineLeft.setStyle({ stroke: this.model.style.Section.routeArrow.defaultLineStroke });
this.routeLineRight && this.routeLineRight.setStyle({ stroke: this.model.style.Section.routeArrow.defaultLineStroke });
}
getBoundingRect() {
if (this.section) {

View File

@ -147,12 +147,13 @@ export default class Section extends Group {
});
}
/** 进路锁闭 04*/
routeLock() {
routeLock(lockRight) {
if (this.line) {
this.line.setStyle({
stroke: this.style.Section.line.routeLockColor,
lineWidth: this.style.Section.line.width + this.style.Section.line.beyondWidth
});
this.line.setRouteLock(lockRight);
}
}
@ -206,12 +207,13 @@ export default class Section extends Group {
}
/** 保护区段锁闭 09*/
protectiveLock() {
protectiveLock(lockRight) {
if (this.line) {
this.line.setStyle({
stroke: this.style.Section.line.protectiveLockColor,
lineWidth: this.style.Section.line.width + this.style.Section.line.beyondWidth
});
this.line.setRouteLock(lockRight);
}
}
@ -258,9 +260,9 @@ export default class Section extends Group {
}
// 顺序代表优先级
/** 道岔保护区段锁闭 */
model.overlapLock && this.protectiveLock();
model.overlapLock && this.protectiveLock(model.lockRight);
/** 空闲锁闭或者叫进路锁闭 */
model.routeLock && this.routeLock();
model.routeLock && this.routeLock(model.lockRight);
/** 轨道封锁 */
model.invalid && this.invalid();
/** 计轴故障 */

View File

@ -11,7 +11,10 @@ class EPatternFilter extends Group {
create() {
const model = this.model.modelData;
const style = this.model.style;
const direction = model.right ? 1 : -1;
let direction = -1;
if ((model.right && model.inside) || (!model.right && !model.inside)) {
direction = 1;
}
const startX = (model.width / 2 + style.StationStand.patternFilter.offset.x);
const startY = model.position.y + (model.height / 2 + style.StationStand.patternFilter.offset.y) * direction + (1 + direction) / 2 * 14;

View File

@ -25,7 +25,9 @@ class ESolidStand extends Group {
height: model.height
},
style: {
'fill':style.StationStand.solidStand.spareColor
fill:style.StationStand.solidStand.spareColor,
lineWidth: style.StationStand.solidStand.lineWidth || 0,
stroke: style.StationStand.solidStand.spareStrokeColor
}
});
this.add(this.stand);
@ -61,10 +63,13 @@ class ESolidStand extends Group {
setColor(color) {
this.stand.setStyle('fill', color);
}
setStroke(color) {
this.stand.setStyle('stroke', color);
}
recover() {
const style = this.model.style;
this.setColor(style.StationStand.solidStand.spareColor);
this.setStroke(style.StationStand.solidStand.spareStrokeColor);
}
setState(model) {
@ -77,6 +82,7 @@ class ESolidStand extends Group {
model.allSkip && this.setColor(style.StationStand.solidStand.jumpStopColor);
// 停车
model.trainParking && this.setColor(style.StationStand.solidStand.stopColor);
model.trainParking && this.setStroke(style.StationStand.solidStand.doorOpenColor);
// 紧急停车
model.emergencyClosed && this.setColor(this.style.StationStand.solidStand.spareColor);
} else {

View File

@ -1,6 +1,7 @@
import Text from 'zrender/src/graphic/Text';
import Group from 'zrender/src/container/Group';
import {isShowThePrdType} from '../../utils/handlePath';
import BoundingRect from 'zrender/src/core/BoundingRect';
import Vue from 'vue';
export default class Text2 extends Group {
@ -14,10 +15,10 @@ export default class Text2 extends Group {
this.style = style;
this.z = 6;
this.isShowShape = true;
// if (isShowThePrdType(model.prdType, model.showConditions) || model.previewOrMapDraw) {
if (isShowThePrdType(model.prdType, model.showConditions) || model.previewOrMapDraw) {
this.create();
this.setState(model);
// }
}
if (model.previewOrMapDraw) {
this.setShowMode();
}
@ -39,6 +40,7 @@ export default class Text2 extends Group {
x: model.position.x,
y: model.position.y,
text: content,
fontFamily: this.style.fontFamily,
fontSize: Number(model.font),
textFill: model.fontColor,
textAlign: 'middle'
@ -53,6 +55,8 @@ export default class Text2 extends Group {
getBoundingRect() {
if (this.text) {
return this.text.getBoundingRect().clone();
} else {
return new BoundingRect(this.model.position.x, this.model.position.y, 0, 0);
}
}
// 设置显示模式

View File

@ -132,6 +132,7 @@
<all-train-detail ref="allTrainDetail" />
<route-detail ref="routeDetail" />
<init-section-open ref="initSectionOpen" />
<init-section-limit-speed ref="initSectionLimitSpeed" />
</div>
</template>
<script>
@ -162,6 +163,7 @@ import SignalCanBlock from './menuDialog/signalCanBlock';
import RouteCommand from './menuDialog/routeCommand';
import SectionOpen from './menuDialog/sectionOpen';
import SectionLimitSpeed from './menuDialog/sectionLimitSpeed';
import InitSectionLimitSpeed from './menuDialog/initSectionLimitSpeed';
import SectionShow from './menuDialog/sectionShow';
import SectionLock from './menuDialog/sectionLock';
import SignalModel from './menuDialog/signalModel';
@ -234,7 +236,8 @@ export default {
TrainDetail,
AllTrainDetail,
RouteDetail,
InitSectionOpen
InitSectionOpen,
InitSectionLimitSpeed
},
props: {
selected: {
@ -428,7 +431,8 @@ export default {
},
{
title: '设置站间列车数量',
click: this.setIntervalStopNumber
// click: this.setIntervalStopNumber
click: this.undeveloped
},
{
title: '分配停站时间',
@ -533,23 +537,28 @@ export default {
children: [
{
title: '取消转换锁闭',
click: this.handleLock
// click: this.handleLock
click: this.undeveloped
},
{
title: '取消过岔锁闭',
click: this.handleUnLock
// click: this.handleUnLock
click: this.undeveloped
},
{
title: '远程预复位使能',
click: this.handleRestoration
// click: this.handleRestoration
click: this.undeveloped
},
{
title: '复位',
click: this.handleSectionRestoration
// click: this.handleSectionRestoration
click: this.undeveloped
},
{
title: '显示',
click: this.handleSectionStopShow
// click: this.handleSectionStopShow
click: this.undeveloped
}
]
},
@ -599,11 +608,13 @@ export default {
children: [
{
title: 'CBTC',
click: this.setCbtcMode
// click: this.setCbtcMode
click: this.undeveloped
},
{
title: '后备',
click: this.setReserveMode
// click: this.setReserveMode
click: this.undeveloped
}
]
},
@ -1599,7 +1610,7 @@ export default {
if (valid) {
this.closeMenu(true);
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
this.$refs.sectionLimitSpeed.doShow();
this.$refs.initSectionLimitSpeed.doShow();
}
});
},

View File

@ -1,15 +1,15 @@
<template>
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="1000px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-col :span="18">
<el-table ref="singleTable1" :data="sectionList" highlight-current-row height="300px" @current-change="selectLine1">
<el-table-column prop="name" label="轨道" />
<el-table-column prop="blockStatus" label="MAU">
<el-col :span="20">
<el-table ref="singleTable1" :data="tempData" highlight-current-row height="300px" @current-change="selectLine1">
<el-table-column prop="name" width="100" label="轨道" />
<el-table-column prop="blockStatus" width="120" label="MAU">
<template slot-scope="scope">
<span>{{ getStationName(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column prop="blockProcess" label="临时限速">
<el-table-column prop="blockProcess" width="80" label="临时限速">
<template slot-scope="scope">
<span>{{ getLimitSpeed(scope.row.code) }}</span>
</template>
@ -19,23 +19,27 @@
<span>{{ getIsLimit(scope.row.code) }}</span>
</template>
</el-table-column>
<el-table-column prop="blockProcess" label="设置临时限速进程" width="140" />
<el-table-column prop="blockProcess" label="设置临时限速进程" width="140">
<template slot-scope="scope">
<span>{{ getProcess(scope.row.code) }}</span>
</template>
</el-table-column>
<el-table-column prop="unblockProcess" label="用户里程起点" width="110" />
<el-table-column prop="unblockProcess" label="用户里程终点" width="110" />
</el-table>
</el-col>
<el-col :span="3">
<el-table ref="singleTable1" :data="limitList" highlight-current-row height="300px" @current-change="selectLine2">
<el-col :span="4">
<el-table ref="singleTable2" :data="limitList" highlight-current-row height="300px" @current-change="selectLine2">
<el-table-column prop="name" label="速度" />
</el-table>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!selected || speedLimitValue<=0" @click="commit">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">应用(A)</el-button>
<el-button :id="domIdConfirm" type="primary" :loading="loading">应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
@ -45,6 +49,7 @@
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
<section-limit-speed ref="sectionLimitSpeed" @commandSuccess="commandSuccess" @cancelCommand="cancelCommand" />
</el-dialog>
</template>
@ -53,11 +58,13 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import { mapGetters } from 'vuex';
import SectionLimitSpeed from './sectionLimitSpeed';
export default {
name: 'SwitchActive',
components: {
NoticeInfo
NoticeInfo,
SectionLimitSpeed
},
data() {
return {
@ -88,7 +95,10 @@ export default {
{ name: '70', value: 70 },
{ name: '75', value: 75 },
{ name: '80', value: 80 }
]
],
initEle: null,
commandEleCode:null,
speedLimitValue: 0
};
},
computed: {
@ -108,7 +118,7 @@ export default {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
},
title() {
return '确认/取消设置临时限速区域';
return '初始化设置临时限速区域';
}
},
watch: {
@ -125,8 +135,16 @@ export default {
},
methods: {
doShow(operate, selected) {
this.tempData = [];
this.sectionList.forEach(item => {
if (item.type === '01' || item.type === '04') {
this.tempData.push(item);
}
});
this.selected = selected;
//
this.initEle = null;
this.commandEleCode = null;
this.speedLimitValue = 0;
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
@ -135,26 +153,104 @@ export default {
doClose() {
this.loading = false;
this.dialogShow = false;
this.$refs.singleTable1.setCurrentRow();
this.$refs.singleTable2.setCurrentRow();
this.$store.dispatch('training/emitTipFresh');
},
selectLine1(val) {
if (!val) { return; }
this.initEle = null;
this.commandEleCode = null;
const step = {
code: `${val.code}`,
operation: OperationEvent.Section.setSpeed.choose.operation,
param: {}
};
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.selected = val;
const sectionEle = this.$store.getters['map/getDeviceByCode'](val.code);
this.speedLimitValue = sectionEle.speedUpLimit;
if (this.speedLimitValue > 0) {
this.$refs.singleTable2.setCurrentRow(this.limitList[this.speedLimitValue / 5 - 1]);
} else {
this.$refs.singleTable2.setCurrentRow();
}
}
}).catch(() => {
this.$refs.noticeInfo.doShow();
});
},
selectLine2(val) {
if (!val) { return; }
this.initEle = null;
this.commandEleCode = null;
const step = {
operation: OperationEvent.Section.setSpeed.choose1.operation,
param: {speedLimitValue: val.value}
};
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.speedLimitValue = val.value;
}
}).catch(() => {
this.$refs.noticeInfo.doShow();
});
},
getStationName(val) {
const stationElm = this.$store.getters['map/getDeviceByCode'](val.stationCode);
return stationElm.name;
},
getIsLimit(code) {
if (this.commandEleCode === code) {
return this.speedLimitValue > 0 ? '开启' : '关闭';
}
const sectionEle = this.$store.getters['map/getDeviceByCode'](code);
return sectionEle.speedUpLimit ? '开启' : '关闭';
return sectionEle.speedUpLimit > 0 ? '开启' : '关闭';
},
getLimitSpeed(code) {
if (this.commandEleCode === code) {
return this.speedLimitValue > 0 ? this.speedLimitValue : 0;
}
const sectionEle = this.$store.getters['map/getDeviceByCode'](code);
return sectionEle.speedUpLimit;
return sectionEle.speedUpLimit > 0 ? sectionEle.speedUpLimit : 0;
},
getProcess(code) {
if (this.commandEleCode && this.commandEleCode === code) {
return '完成';
} else if (this.initEle && this.initEle.code === code) {
return '已初始化';
} else {
return '';
}
},
commit() {
const step = {
code: `${this.selected.code}`,
operation: OperationEvent.Section.setSpeed.confirm.operation,
param: {}
};
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.sectionLimitSpeed.doShow(step, this.selected, this.speedLimitValue);
this.initEle = this.selected;
}
}).catch(() => {
this.$refs.noticeInfo.doShow();
});
},
commandSuccess(code, val) {
this.commandEleCode = code;
if (!val) {
this.speedLimitValue = 0;
this.$refs.singleTable2.setCurrentRow();
}
},
cancelCommand() {
this.initEle = null;
},
handleClick() {

View File

@ -1,7 +1,7 @@
<template>
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="700px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-table ref="singleTable" :data="sectionList" highlight-current-row height="300px" @current-change="selectLine">
<el-table ref="singleTable" :data="tempData" highlight-current-row height="300px" @current-change="selectLine">
<el-table-column prop="name" label="轨道" />
<el-table-column prop="blockStatus" label="MAU">
<template slot-scope="scope">
@ -25,7 +25,7 @@
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="commitDisabled" @click="commit">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">应用(A)</el-button>
<el-button :id="domIdConfirm" type="primary" :loading="loading">应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
@ -93,7 +93,8 @@ export default {
return this.isBlock ? '初始化关闭轨道' : '初始化开放轨道';
},
commitDisabled() {
return !this.selected || (this.selected.blockade && this.isBlock) || (!this.selected.blockade && !this.isBlock);
const sectionEle = this.$store.getters['map/getDeviceByCode']((this.selected || {}).code);
return !this.selected || (sectionEle.blockade && this.isBlock) || (!sectionEle.blockade && !this.isBlock);
}
},
watch: {
@ -110,6 +111,12 @@ export default {
},
methods: {
doShow(operate, selected) {
this.tempData = [];
this.sectionList.forEach(item => {
if (item.type === '01' || item.type === '04') {
this.tempData.push(item);
}
});
this.initEle = null;
this.commandEleCode = null;
this.selected = selected;
@ -138,7 +145,7 @@ export default {
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.selected = this.$store.getters['map/getDeviceByCode'](val.code);
this.selected = val;
}
}).catch(() => {
this.$refs.noticeInfo.doShow();

View File

@ -2,27 +2,43 @@
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="1000px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-col :span="18">
<el-table :data="sectionList" highlight-current-row height="300px" @current-change="selectLine">
<el-table ref="singleTable1" :data="tempData" highlight-current-row height="300px" @current-change="selectLine1">
<el-table-column prop="name" label="轨道" />
<el-table-column prop="blockStatus" label="MAU" />
<el-table-column prop="blockProcess" label="临时限速" />
<el-table-column prop="unblockProcess" label="PM临时限速" width="110" />
<el-table-column prop="blockProcess" label="设置临时限速进程" width="140" />
<el-table-column prop="blockStatus" width="120" label="MAU">
<template slot-scope="scope">
<span>{{ getStationName(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column prop="blockProcess" width="80" label="临时限速">
<template slot-scope="scope">
<span>{{ getLimitSpeed(scope.row.code) }}</span>
</template>
</el-table-column>
<el-table-column prop="unblockProcess" label="PM临时限速" width="110">
<template slot-scope="scope">
<span>{{ getIsLimit(scope.row.code) }}</span>
</template>
</el-table-column>
<el-table-column prop="blockProcess" label="设置临时限速进程" width="140">
<template slot-scope="scope">
<span>{{ getProcess(scope.row.code) }}</span>
</template>
</el-table-column>
<el-table-column prop="unblockProcess" label="用户里程起点" width="110" />
<el-table-column prop="unblockProcess" label="用户里程终点" width="110" />
</el-table>
</el-col>
<el-col :span="3">
<el-table :data="limitList" highlight-current-row height="300px" @current-change="selectLine">
<el-table ref="singleTable2" :data="limitList" highlight-current-row height="300px" @current-change="selectLine2">
<el-table-column prop="name" label="速度" />
</el-table>
</el-col>
<el-col v-if="selectShow" :span="3">
<el-col :span="3">
<fieldset style="padding-left: 10px;">
<legend class="card_title">命令</legend>
<el-radio-group v-model="radio">
<el-radio label="1" style="margin-bottom: 10px;">确认(F)</el-radio>
<el-radio label="2">取消(N)</el-radio>
<el-radio-group v-model="command">
<el-radio :label="true" style="margin-bottom: 10px;">确认(F)</el-radio>
<el-radio :label="false">取消(N)</el-radio>
</el-radio-group>
</fieldset>
</el-col>
@ -32,7 +48,7 @@
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">应用(A)</el-button>
<el-button :id="domIdConfirm" type="primary" :loading="loading">应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
@ -50,6 +66,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import { mapGetters } from 'vuex';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'SwitchActive',
@ -65,10 +82,11 @@ export default {
loading: false,
selected: null,
active: false,
selectShow: false,
activeName: 'first',
tempData: [],
radio: '1',
command: true,
operate: null,
speedLimitValue: 0,
limitList: [
{ name: '5', value: 5 },
{ name: '10', value: 10 },
@ -122,11 +140,21 @@ export default {
});
},
methods: {
doShow(operate, selected) {
doShow(operate, selected, value) {
this.tempData = [];
this.sectionList.forEach(item => {
if (item.type === '01' || item.type === '04') {
this.tempData.push(item);
}
});
this.selected = selected;
//
this.operate = operate;
this.speedLimitValue = value;
this.dialogShow = true;
this.$nextTick(function () {
this.$refs.singleTable1.setCurrentRow(selected);
this.$refs.singleTable2.setCurrentRow(this.limitList[value / 5 - 1]);
this.$store.dispatch('training/emitTipFresh');
});
},
@ -135,14 +163,46 @@ export default {
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
selectLine(val) {
// console.log(val);
this.selectShow = true;
selectLine1(val) {
this.$refs.singleTable1.setCurrentRow(this.selected);
},
selectLine2(val) {
this.$refs.singleTable2.setCurrentRow(this.limitList[this.speedLimitValue / 5 - 1]);
},
getStationName(val) {
const stationElm = this.$store.getters['map/getDeviceByCode'](val.stationCode);
return stationElm.name;
},
getIsLimit(code) {
const sectionEle = this.$store.getters['map/getDeviceByCode'](code);
return sectionEle.speedUpLimit > 0 ? '开启' : '关闭';
},
getLimitSpeed(code) {
const sectionEle = this.$store.getters['map/getDeviceByCode'](code);
return sectionEle.speedUpLimit > 0 ? sectionEle.speedUpLimit : 0;
},
getProcess(code) {
if (this.selected && this.selected.code === code) {
return '等待确认/取消';
} else {
return '';
}
},
commit() {
},
handleClick() {
const operate = {
cmdType: this.command ? CMD.Section.CMD_SECTION_SET_LIMIT_SPEED : CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED,
operation: this.command ? OperationEvent.Section.setSpeed.confirm1.operation : OperationEvent.Section.cancelSpeed.confirm1.operation,
over: true,
param: {sectionCode: this.selected.code, speedLimitValue:this.speedLimitValue}
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
this.$emit('commandSuccess', this.selected.code, this.command ? this.speedLimitValue : 0);
}
}).catch(() => {
this.$refs.noticeInfo.doShow();
});
},
cancel() {
const operate = {

View File

@ -2,7 +2,7 @@
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="700px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-col :span="18">
<el-table ref="singleTable" :data="sectionList" highlight-current-row height="300px" @current-change="selectLine">
<el-table ref="singleTable" :data="tempData" highlight-current-row height="300px" @current-change="selectLine">
<el-table-column prop="name" label="轨道" />
<el-table-column prop="blockStatus" label="MAU">
<template slot-scope="scope">
@ -114,6 +114,12 @@ export default {
},
methods: {
doShow(operate, selected) {
this.tempData = [];
this.sectionList.forEach(item => {
if (item.type === '01' || item.type === '04') {
this.tempData.push(item);
}
});
this.selected = selected;
this.operate = operate;
this.dialogShow = true;

View File

@ -2,32 +2,48 @@
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="700px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-col :span="24">
<el-table :data="sectionList" highlight-current-row height="300px" @current-change="selectLine">
<el-table-column prop="name" label="轨道" />
<el-table-column prop="blockStatus" label="MAU" />
<el-table-column prop="blockProcess" label="状态" />
<el-table-column prop="unblockProcess" label="临时限速" />
<el-table-column prop="unblockProcess" label="PM临时限速" />
<el-table :data="tempData" highlight-current-row height="350px" @current-change="selectLine">
<el-table-column prop="name" width="100" label="轨道" />
<el-table-column prop="blockStatus" width="120" label="MAU">
<template slot-scope="scope">
<span>{{ getStationName(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column prop="blockProcess" width="150" label="状态">
<template slot-scope="scope">
<span>{{ getSectionStatus(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column prop="unblockProcess" label="临时限速">
<template slot-scope="scope">
<span>{{ getLimitSpeed(scope.row.code) }}</span>
</template>
</el-table-column>
<el-table-column prop="unblockProcess" width="100" label="PM临时限速">
<template slot-scope="scope">
<span>{{ getIsLimit(scope.row.code) }}</span>
</template>
</el-table-column>
<el-table-column prop="unblockProcess" label="站台" />
<el-table-column prop="unblockProcess" label="闭塞区段" />
<el-table-column prop="unblockProcess" label="打开进程" />
<el-table-column prop="unblockProcess" label="关闭进程" />
<el-table-column prop="unblockProcess" label="设置临时限速进程" />
<el-table-column prop="unblockProcess" label="清除临时限速进程" />
<el-table-column prop="unblockProcess" label="用户里程起点" />
<el-table-column prop="unblockProcess" label="用户里程终点" />
<el-table-column prop="unblockProcess" width="140" label="设置临时限速进程" />
<el-table-column prop="unblockProcess" width="140" label="清除临时限速进程" />
<el-table-column prop="unblockProcess" width="120" label="用户里程起点" />
<el-table-column prop="unblockProcess" width="120" label="用户里程终点" />
</el-table>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="5">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">打印(P)</el-button>
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="true">打印(P)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>帮助(H)</el-button>
<el-button :disabled="true">帮助(H)</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
@ -94,6 +110,12 @@ export default {
},
methods: {
doShow(operate, selected) {
this.tempData = [];
this.sectionList.forEach(item => {
if (item.type === '01' || item.type === '04') {
this.tempData.push(item);
}
});
this.selected = selected;
//
this.dialogShow = true;
@ -112,8 +134,21 @@ export default {
},
commit() {
},
handleClick() {
getStationName(val) {
const stationElm = this.$store.getters['map/getDeviceByCode'](val.stationCode);
return stationElm.name;
},
getLimitSpeed(code) {
const sectionEle = this.$store.getters['map/getDeviceByCode'](code);
return sectionEle.speedUpLimit > 0 ? sectionEle.speedUpLimit : 0;
},
getSectionStatus(val) {
const sectionEle = this.$store.getters['map/getDeviceByCode'](val.code);
return sectionEle.blockade ? '关闭双向:所有列车' : '打开';
},
getIsLimit(code) {
const sectionEle = this.$store.getters['map/getDeviceByCode'](code);
return sectionEle.speedUpLimit > 0 ? '开启' : '关闭';
},
cancel() {
const operate = {

View File

@ -51,53 +51,53 @@ export default {
menu: [],
menuNormal: {
Local: [
{
label: '区段故障解锁',
handler: this.fault,
cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
},
{
label: '区段跟踪激活',
handler: this.active,
cmdType: CMD.Section.CMD_SECTION_ACTIVE
},
{
label: '区段跟踪切除',
handler: this.split,
cmdType: CMD.Section.CMD_SECTION_CUT_OFF
},
{
label: '区段封锁',
handler: this.lock,
cmdType: CMD.Section.CMD_SECTION_BLOCK
},
{
label: '区段解封',
handler: this.unlock,
cmdType: CMD.Section.CMD_SECTION_UNBLOCK
}
// {
// label: '',
// handler: this.fault,
// cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
// },
// {
// label: '',
// handler: this.active,
// cmdType: CMD.Section.CMD_SECTION_ACTIVE
// },
// {
// label: '',
// handler: this.split,
// cmdType: CMD.Section.CMD_SECTION_CUT_OFF
// },
// {
// label: '',
// handler: this.lock,
// cmdType: CMD.Section.CMD_SECTION_BLOCK
// },
// {
// label: '',
// handler: this.unlock,
// cmdType: CMD.Section.CMD_SECTION_UNBLOCK
// }
],
Center: [
{
label: '区段跟踪激活',
handler: this.active,
cmdType: CMD.Section.CMD_SECTION_ACTIVE
},
{
label: '区段跟踪切除',
handler: this.split,
cmdType: CMD.Section.CMD_SECTION_CUT_OFF
},
{
label: '确认计轴有效',
handler: this.alxeEffective,
cmdType: CMD.Section.CMD_SECTION_COMFIRMATION_AXLE
},
{
label: '设置临时限速',
handler: this.setSpeed,
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
}
// {
// label: '',
// handler: this.active,
// cmdType: CMD.Section.CMD_SECTION_ACTIVE
// },
// {
// label: '',
// handler: this.split,
// cmdType: CMD.Section.CMD_SECTION_CUT_OFF
// },
// {
// label: '',
// handler: this.alxeEffective,
// cmdType: CMD.Section.CMD_SECTION_COMFIRMATION_AXLE
// },
// {
// label: '',
// handler: this.setSpeed,
// cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
// }
]
},
menuForce: [

View File

@ -54,113 +54,113 @@ export default {
menu: [],
menuNormal: {
Local: [
{
label: '排列进路',
handler: this.arrangementRoute,
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
},
{
label: '取消进路',
handler: this.cancelTrainRoute,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
},
{
label: '信号重开',
handler: this.reopenSignal,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
},
{
label: '信号机引导办理',
handler: this.guide,
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
},
{
label: '人工解锁进路', //
handler: this.humanTrainRoute,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE
},
{
label: '信号封锁',
handler: this.lock,
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
},
{
label: '信号解封',
handler: this.unlock,
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
},
{
label: 'Fleet进路办理',
handler: this.singalPassModel,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
},
{
label: 'Fleet进路取消',
handler: this.singalCancelPassModel,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
},
{
label: '进路交人工控',
handler: this.humanControl,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
},
{
label: '进路交自动控',
handler: this.atsAutoControl,
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
},
{
label: '查询进路控制状态',
handler: this.detail,
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
}
// {
// label: '',
// handler: this.arrangementRoute,
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
// },
// {
// label: '',
// handler: this.cancelTrainRoute,
// cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
// },
// {
// label: '',
// handler: this.reopenSignal,
// cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
// },
// {
// label: '',
// handler: this.guide,
// cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
// },
// {
// label: '', //
// handler: this.humanTrainRoute,
// cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE
// },
// {
// label: '',
// handler: this.lock,
// cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
// },
// {
// label: '',
// handler: this.unlock,
// cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
// },
// {
// label: 'Fleet',
// handler: this.singalPassModel,
// cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
// },
// {
// label: 'Fleet',
// handler: this.singalCancelPassModel,
// cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
// },
// {
// label: '',
// handler: this.humanControl,
// cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
// },
// {
// label: '',
// handler: this.atsAutoControl,
// cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
// },
// {
// label: '',
// handler: this.detail,
// cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
// }
],
Center: [
{
label: '排列进路',
handler: this.arrangementRoute,
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
},
{
label: '取消进路',
handler: this.cancelTrainRoute,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
},
{
label: '人工解锁进路', //
handler: this.humanTrainRoute,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE
},
{
label: '信号重开',
handler: this.reopenSignal,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
},
{
label: '进路交人工控',
handler: this.humanControl,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
},
{
label: '进路交自动控',
handler: this.atsAutoControl,
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
},
{
label: '设置通过模式',
handler: this.singalPassModel,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
},
{
label: '取消通过模式',
handler: this.singalCancelPassModel,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
},
{
label: '查询进路控制状态',
handler: this.detail,
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
}
// {
// label: '',
// handler: this.arrangementRoute,
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
// },
// {
// label: '',
// handler: this.cancelTrainRoute,
// cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
// },
// {
// label: '', //
// handler: this.humanTrainRoute,
// cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE
// },
// {
// label: '',
// handler: this.reopenSignal,
// cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
// },
// {
// label: '',
// handler: this.humanControl,
// cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
// },
// {
// label: '',
// handler: this.atsAutoControl,
// cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
// },
// {
// label: '',
// handler: this.singalPassModel,
// cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
// },
// {
// label: '',
// handler: this.singalCancelPassModel,
// cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
// },
// {
// label: '',
// handler: this.detail,
// cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
// }
]
},
menuForce: [

View File

@ -46,43 +46,43 @@ export default {
menu: [],
menuNormal: {
Local: [
{
label: '全站设置联锁自动触发',
handler: this.setAutoTrigger,
cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER
},
{
label: '全站取消联锁自动触发',
handler: this.cancelAutoTrigger,
cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER
},
{
label: '上电解锁',
handler: this.powerUnLock,
cmdType: CMD.Station.CMD_STATION_POWER_ON_UNLOCK
},
{
label: '执行关键操作测试',
handler: this.execKeyOperationTest,
cmdType: CMD.Station.CMD_STATION_KEY_OPERATION_TEST
}
// {
// label: '',
// handler: this.setAutoTrigger,
// cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER
// },
// {
// label: '',
// handler: this.cancelAutoTrigger,
// cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER
// },
// {
// label: '',
// handler: this.powerUnLock,
// cmdType: CMD.Station.CMD_STATION_POWER_ON_UNLOCK
// },
// {
// label: '',
// handler: this.execKeyOperationTest,
// cmdType: CMD.Station.CMD_STATION_KEY_OPERATION_TEST
// }
],
Center: [
{
label: '所有进路自排关',
handler: this.humanControlALL,
cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING
},
{
label: '所有进路自排开',
handler: this.atsAutoControlALL,
cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING
},
{
label: '执行关键操作测试',
handler: this.execKeyOperationTest,
cmdType: CMD.Station.CMD_STATION_KEY_OPERATION_TEST
}
// {
// label: '',
// handler: this.humanControlALL,
// cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING
// },
// {
// label: '',
// handler: this.atsAutoControlALL,
// cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING
// },
// {
// label: '',
// handler: this.execKeyOperationTest,
// cmdType: CMD.Station.CMD_STATION_KEY_OPERATION_TEST
// }
]
},
menuForce: [

View File

@ -33,28 +33,28 @@ export default {
menu: [],
menuNormal: {
Local: [
{
label: '请求站控',
handler: this.setStationControl,
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL
},
{
label: '请求遥控',
handler: this.setCenterControl,
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL
}
// {
// label: '',
// handler: this.setStationControl,
// cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL
// },
// {
// label: '',
// handler: this.setCenterControl,
// cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL
// }
],
Center: [
{
label: '请求站控',
handler: this.setStationControl,
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL
},
{
label: '请求遥控',
handler: this.setCenterControl,
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL
}
// {
// label: '',
// handler: this.setStationControl,
// cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL
// },
// {
// label: '',
// handler: this.setCenterControl,
// cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL
// }
]
},
menuForce: [

View File

@ -54,88 +54,88 @@ export default {
menu: [],
menuNormal: {
Local: [
{
label: '扣车',
handler: this.setDetainTrain,
cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
},
{
label: '取消扣车',
handler: this.cancelDetainTrain,
cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
},
{
label: '提前发车',
handler: this.earlyDeparture,
cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART
},
{
label: '站台详细信息',
handler: this.detail,
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
}
// {
// label: '',
// handler: this.setDetainTrain,
// cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
// },
// {
// label: '',
// handler: this.cancelDetainTrain,
// cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
// },
// {
// label: '',
// handler: this.earlyDeparture,
// cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART
// },
// {
// label: '',
// handler: this.detail,
// cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
// }
],
Center: [
{
label: '扣车',
handler: this.setDetainTrain,
cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
},
{
label: '取消扣车',
handler: this.cancelDetainTrain,
cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
},
{
label: '批量扣车',
handler: this.setBulkBuckleTrain,
cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN_ALL
},
{
label: '批量取消扣车',
handler: this.cancelBulkBuckleTrain,
cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN_ALL
},
{
label: '提前发车',
handler: this.earlyDeparture,
cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART
},
{
label: '设置跳停',
handler: this.setJumpStop,
cmdType:CMD.Stand.CMD_STAND_SET_JUMP_STOP
},
{
label: '取消跳停',
handler: this.cancelJumpStop,
cmdType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
},
{
label: '设置停站时间',
handler: this.setStopTime,
cmdType:CMD.Stand.CMD_STAND_SET_PARK_TIME
},
{
label: '设置运行等级',
handler: this.setRunLevel,
cmdType:CMD.Stand.CMD_STAND_SET_RUN_TIME
},
{
label: '区间列车数量限制',
handler: this.setDetainTrainAll,
cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN_AUTO
},
{
label: '取消区间列车数量限制',
handler: this.cancelDetainTrainAll,
cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN_AUTO
},
{
label: '查看站台信息',
handler: this.detail,
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
}
// {
// label: '',
// handler: this.setDetainTrain,
// cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
// },
// {
// label: '',
// handler: this.cancelDetainTrain,
// cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
// },
// {
// label: '',
// handler: this.setBulkBuckleTrain,
// cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN_ALL
// },
// {
// label: '',
// handler: this.cancelBulkBuckleTrain,
// cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN_ALL
// },
// {
// label: '',
// handler: this.earlyDeparture,
// cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART
// },
// {
// label: '',
// handler: this.setJumpStop,
// cmdType:CMD.Stand.CMD_STAND_SET_JUMP_STOP
// },
// {
// label: '',
// handler: this.cancelJumpStop,
// cmdType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
// },
// {
// label: '',
// handler: this.setStopTime,
// cmdType:CMD.Stand.CMD_STAND_SET_PARK_TIME
// },
// {
// label: '',
// handler: this.setRunLevel,
// cmdType:CMD.Stand.CMD_STAND_SET_RUN_TIME
// },
// {
// label: '',
// handler: this.setDetainTrainAll,
// cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN_AUTO
// },
// {
// label: '',
// handler: this.cancelDetainTrainAll,
// cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN_AUTO
// },
// {
// label: '',
// handler: this.detail,
// cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
// }
]
},
menuForce: [

View File

@ -52,87 +52,87 @@ export default {
menu: [],
menuNormal: {
Local: [
{
label: '定操',
handler: this.locate,
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
},
{
label: '反操',
handler: this.reverse,
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
},
{
label: '道岔单锁',
handler: this.lock,
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
},
{
label: '道岔单解',
handler: this.unlock,
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
},
{
label: '道岔封锁',
handler: this.block,
cmdType: CMD.Switch.CMD_SWITCH_BLOCK
},
{
label: '道岔解封',
handler: this.unblock,
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
}
],
Center: [
{
label: '定操',
handler: this.locate,
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
},
{
label: '反操',
handler: this.reverse,
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
},
// {
// label: '',
// handler: this.locate,
// cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
// },
// {
// label: '',
// handler: this.reverse,
// cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
// },
// {
// label: '',
// handler: this.lock,
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
// },
{
type: 'separator'
},
{
label: '区段激活',
handler: this.active,
cmdType: CMD.Switch.CMD_SWITCH_ACTIVE
},
{
label: '区段切除',
handler: this.split,
cmdType: CMD.Switch.CMD_SWITCH_CUT_OFF
},
{
type: 'separator'
},
{
label: '确认计轴有效',
handler: this.alxeEffective,
cmdType: CMD.Switch.CMD_SWITCH_COMFIRMATION_AXLE
},
{
label: '设置临时限速',
handler: this.setSpeed,
cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
},
{
type: 'separator'
},
{
label: '查看公里标',
handler: this.undeveloped,
cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
}
// {
// label: '',
// handler: this.unlock,
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
// },
// {
// label: '',
// handler: this.block,
// cmdType: CMD.Switch.CMD_SWITCH_BLOCK
// },
// {
// label: '',
// handler: this.unblock,
// cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
// }
],
Center: [
// {
// label: '',
// handler: this.locate,
// cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
// },
// {
// label: '',
// handler: this.reverse,
// cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
// },
// {
// label: '',
// handler: this.lock,
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
// },
// {
// type: 'separator'
// },
// {
// label: '',
// handler: this.active,
// cmdType: CMD.Switch.CMD_SWITCH_ACTIVE
// },
// {
// label: '',
// handler: this.split,
// cmdType: CMD.Switch.CMD_SWITCH_CUT_OFF
// },
// {
// type: 'separator'
// },
// {
// label: '',
// handler: this.alxeEffective,
// cmdType: CMD.Switch.CMD_SWITCH_COMFIRMATION_AXLE
// },
// {
// label: '',
// handler: this.setSpeed,
// cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
// },
// {
// type: 'separator'
// },
// {
// label: '',
// handler: this.undeveloped,
// cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
// }
]
},
menuForce: [

View File

@ -13,7 +13,7 @@ import FaviconBxkc from '@/assets/icon/favicon_bxkc.png';
import FaviconCrsc from '@/assets/icon/favicon_crsc.png';
import FaviconNty from '@/assets/icon/favicon_nty.png';
import FaviconBjd from '@/assets/icon/favicon_bjd.png';
import FaviconJdy from '@/assets/icon/favicon_jdy.png';
import FaviconSdy from '@/assets/icon/favicon_jdy.png';
import Link_Bxkc from '@/assets/icon/link_bxkc.png';
import Link_Crsc from '@/assets/icon/link_crsc.png';
import Link_Hls from '@/assets/icon/link_hls.png';
@ -45,17 +45,35 @@ export const loginInfo = {
navigationMarginLeft: '175px',
systemType: '011'
},
jdy: {
sdy: {
title: '江苏电子信息职业学院城市轨道交通实训平台',
loginPath: '/login?project=jdy',
loginParam: 'DEFAULT',
loginPath: '/login?project=sdy',
loginParam: 'SDY',
titleDistance: '-150px',
navigationLogoWidth: '40px',
navigationMarginLeft: '60px',
systemType: '011'
},
ntyc: {
title: '南京铁道职业技术学院城市轨道交通实训平台(专用版)',
loginPath: '/login?project=ntyc',
loginParam: 'NTYC',
titleDistance: '-150px',
navigationLogoWidth: '40px',
navigationMarginLeft: '60px',
systemType: '011'
},
ntyl: {
title: '南京铁道职业技术学院城市轨道交通实训平台',
loginPath: '/login?project=ntyl',
loginParam: 'NTYL',
titleDistance: '-150px',
navigationLogoWidth: '40px',
navigationMarginLeft: '60px',
systemType: '011'
},
nty: {
title: '南京铁道职业技术学院城市轨道交通实训平台',
title: '南京铁道职业技术学院城市轨道交通实训平台(通用版)',
loginPath:'/login?project=nty',
loginParam: 'NTY',
titleDistance: '-150px',
@ -118,8 +136,26 @@ export const loginInfo = {
navigationMarginLeft: '60px',
systemType: '013'
},
designnty: {
designntyl: {
title: '南京铁道职业技术学院城市轨道交通设计平台',
loginPath:'/design/login?project=ntyl',
loginParam: 'NTYL',
titleDistance: '-150px',
navigationLogoWidth: '40px',
navigationMarginLeft: '60px',
systemType: '011'
},
designntyc: {
title: '南京铁道职业技术学院城市轨道交通设计平台(专用版)',
loginPath:'/design/login?project=ntyc',
loginParam: 'NTYC',
titleDistance: '-150px',
navigationLogoWidth: '40px',
navigationMarginLeft: '60px',
systemType: '011'
},
designnty: {
title: '南京铁道职业技术学院城市轨道交通设计平台(通用版)',
loginPath:'/design/login?project=nty',
loginParam: 'NTY',
titleDistance: '-150px',
@ -127,10 +163,10 @@ export const loginInfo = {
navigationMarginLeft: '60px',
systemType: '011'
},
designjdy: {
designsdy: {
title: '江苏电子信息职业学院城市轨道交通设计平台',
loginPath: '/design/login?project=jdy',
loginParam: 'DEFAULT',
loginPath: '/design/login?project=sdy',
loginParam: 'JYD',
titleDistance: '-150px',
navigationLogoWidth: '40px',
navigationMarginLeft: '60px',
@ -379,10 +415,14 @@ export const ProjectIcon = {
designdrts: Favicon,
nty: FaviconNty,
designnty: FaviconNty,
ntyc: FaviconNty,
designntyc: FaviconNty,
nty1: FaviconNty,
designntyl: FaviconNty,
bjd: FaviconBjd,
designbjd: FaviconBjd,
jdy: FaviconJdy,
designjdy: FaviconJdy
sdy: FaviconSdy,
designsdy: FaviconSdy
};
export const ProjectCode = {
@ -398,17 +438,22 @@ export const ProjectCode = {
designdrts: 'DRTS',
nty: 'NTY',
designnty: 'NTY',
ntyl: 'NTYL',
designnty1: 'NTYL',
ntyc: 'NTYC',
designntyc: 'NTYC',
bjd: 'BJD',
designbjd: 'BJD',
jdy: 'JDY',
designjdy: 'JDY'
sdy: 'SDY',
designsdy: 'SDY'
};
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd']; // 底部栏仅展示公司信息不展示备案号
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'nty', 'designnty']; // 实训设计平台通过项目code获取地图列表的项目
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designnty1']; // 实训设计平台通过项目code获取地图列表的项目
export const CaseHideProjectList = ['heb', 'designheb']; // 案例展示隐藏的项目
export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts', 'hyd', 'designhyd']; // 登录页右下角版本开发基于不展示
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd']; // 登录页右下角主体不展示
export const ProjectLoginStyleList = ['gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'drts', 'hyd', 'designhyd', 'nty', 'designnty', 'bjd', 'designbjd', 'jdy', 'designjdy']; // 登录页样式
export const ProjectLoginStyleList = ['gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc',
'crsc', 'designcrsc', 'hls', 'designhls', 'drts', 'hyd', 'designhyd', 'nty', 'designnty', 'bjd', 'designbjd', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl']; // 登录页样式
export const NoQrcodeList = ['heb', 'designheb'];
export const NoSimulationQrCodeList = ['heb', 'bjd'];
export const goOtherPlatformMenu = { // 导航栏快速切换平台
@ -438,8 +483,8 @@ export const goOtherPlatformMenu = { // 导航栏快速切换平台
designnty: '/login?project=nty',
bjd: '/design/login?project=bjd',
designbjd: '/login?project=bjd',
jdy: '/design/login?project=jdy',
designjdy: '/login?project=jdy'
sdy: '/design/login?project=sdy',
designsdy: '/login?project=sdy'
};
export const ProjectList = [
{value:'xty', label:'西铁院'},
@ -447,8 +492,10 @@ export const ProjectList = [
{value: 'xadt', label: '西安地铁'},
{value: 'heb', label: '哈尔滨'},
{value: 'drts', label: '调度大赛'},
{value: 'nty', label: '南铁院'},
{value: 'nty', label: '南铁院(通用版)'},
{value: 'ntyc', label: '南铁院(专用版)'},
{value: 'ntyl', label: '南铁院(本地版)'},
{value: 'bjd', label: '北交大'},
{value: 'urtss', label: '陪标项目'},
{value: 'jdy', label: '江苏电子'}
{value: 'sdy', label: '苏电院'}
];

View File

@ -1337,6 +1337,10 @@ export const OperationEvent = {
menuButton: {
operation: '4077',
domId: '_Tips-Section-SetSpeed-Menu{BOTTOM}'
},
choose1: {
operation: '4078',
domId: '_Tips-Section-SetSpeed-Choose1'
}
},
// 取消速度

View File

@ -741,7 +741,7 @@ export default {
font-size: 40px;
font-weight: bold;
top: 150px;
width: 1000px;
width: 1050px;
text-align: center;
position: absolute;
}

View File

@ -134,7 +134,7 @@ export default {
name: this.$t('map.drawData'),
item: [
{ prop:'type', label: this.$t('map.saidLampType'), type: 'select', optionLabel: 'name', optionValue: 'value', options: this.typeList, deviceChange: this.typeChange },
{ prop: 'code', label: `${this.$t('map.code')}`, type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.selectLists, deviceChange: this.deviceChange },
{ prop: 'code', label: `${this.$t('map.code')}`, type: 'select', optionLabel: 'code', optionValue: 'code', options: this.selectLists, deviceChange: this.deviceChange },
{ prop: 'name', label: this.$t('map.saidLampName'), type: 'input', isHidden: this.noNameTypeList.includes(this.editModel.type) },
{ prop: 'position', label: this.$t('map.textPoints'), type: 'coordinate', width: '140px', children: [
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' },

View File

@ -137,7 +137,7 @@ export default {
all:{
name:'',
item: [
{ prop: 'stationCode', label: this.$t('map.stationName'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList },
{ prop: 'stationCode', label: this.$t('map.stationNameColon'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList },
{ prop: 'type', label: this.$t('map.counterType'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.typeList }
]
}

View File

@ -135,7 +135,7 @@ export default {
all:{
name:'',
item: [
{ prop: 'stationCode', label: this.$t('map.stationName'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList }
{ prop: 'stationCode', label: this.$t('map.stationNameColon'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList }
]
}
}

View File

@ -135,7 +135,7 @@ class Model {
this.position = { x: 0, y: 0 };
this.kilometerPosition = { x: 0, y: 0 }; // 公里标偏移坐标
this.createControlMode = false;
// this.createTurnBack = false;
this.createTurnBack = false;
// this.turnBackPoint = {x: 0, y: 0}; // 按图折返坐标
this.controlModePoint = { x: 0, y: 0 }; // 控制模式坐标
}
@ -192,5 +192,6 @@ class Model {
export default function getModel(type) {
const model = new Model(type);
// console.log(model, type, '****');
return model;
}

View File

@ -0,0 +1,483 @@
<template>
<el-collapse v-model="collapseActive" accordion style="margin-left: 20px">
<el-collapse-item title="构建信号机偏移量" name="1">
<el-form ref="mark" label-width="130px" :model="addModel" size="mini">
<el-form-item label="左右偏移值" prop="number">
<el-input v-model="addModel.number" style="width: 178px;" />
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="editAll">设置</el-button>
<el-button type="" style="margin: 0;" size="small" @click="questionList = []">{{ $t('map.clearHint') }}</el-button>
</div>
<div class="questionTip">
<el-scrollbar wrap-class="scrollbar-wrapper">
<el-card v-if="questionList.length" class="box-card">
<div v-for="(item, index) in questionList" :key="index" class="text item">{{ item }}</div>
</el-card>
</el-scrollbar>
</div>
</el-collapse-item>
<el-collapse-item title="设置信号机类型" name="2">
<el-form ref="signalType" label-width="130px" :model="typeModel" size="mini" style="margin-top: 40px">
<el-form-item label="设置信号机范围:" prop="scope">
<el-select v-model="typeModel.scope" placeholder="请选择">
<el-option v-for="item in signalScopeList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
<el-form-item label="信号机类型:" prop="type">
<el-select v-model="typeModel.type" placeholder="请选择">
<el-option v-for="item in signalTypeList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setAllSignalType">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置信号机归属联锁站" name="3">
<el-form ref="signalCiStation" label-width="130px" :model="ciModel" size="mini">
<el-form-item label="信号机范围:">
<el-select v-model="ciModel.stationList" multiple placeholder="请选择">
<el-option v-for="item in centralizedStationList" :key="item.code" :label="item.name+'下信号机'" :value="item.code" />
</el-select>
</el-form-item>
<el-form-item label="归属联锁站:">
<el-select v-model="ciModel.ciStation" placeholder="请选择">
<el-option v-for="item in ciStationList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setCiStationSignal">设置</el-button>
</div>
<el-form ref="signalCiStation1" label-width="130px" :model="ciModelForm" size="mini" :rules="ciModelFormRules" style="margin-top: 15px;">
<el-form-item label="信号机选择:" prop="signalList">
<el-select v-model="ciModelForm.signalList" multiple filterable placeholder="请选择">
<el-option v-for="item in filterSignalList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
<el-button
:type="field == 'signalCodes' ? 'danger' : 'primary'"
@click="hover('signalCodes')"
>{{ $t('map.activate') }}</el-button>
</el-form-item>
<el-form-item label="归属联锁站:" prop="ciStation">
<el-select v-model="ciModelForm.ciStation" placeholder="请选择">
<el-option v-for="item in ciStationList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setCiStationSignalLists">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置引导信号" name="4">
<el-form ref="setGuideSignal" label-width="130px" :model="guideModel" size="mini">
<el-form-item label="设置信号机范围:" prop="scope">
<el-select v-model="guideModel.scope" placeholder="请选择">
<el-option v-for="item in signalScopeList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
<el-form-item label="是否引导信号:" prop="number">
<el-checkbox v-model="guideModel.callOn" />
</el-form-item>
</el-form>
<div class="flex_box" style="margin-top: 20px">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setSignalCallOn">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置灭灯显示(CTC级)" name="5">
<el-form ref="ctcForm" label-width="160px" :model="ctcModel" size="mini">
<el-form-item label="是否灭灯显示(CTC级):" prop="number">
<el-checkbox v-model="ctcModel.ctc" />
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setCtcShow">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置灯位类型" name="6">
<el-form ref="ctcForm" label-width="160px" :model="lampPositionModel" size="mini">
<el-form-item label="灯位类型:" prop="lampPositionType">
<el-select v-model="lampPositionModel.lampPositionType">
<el-option v-for="item in SignalLampPositionTypeList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setLampPosition">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="是否无延续保护" name="7">
<el-form ref="noOverlapForm" label-width="160px" :model="noOverlapModel" size="mini">
<el-form-item label="是否无延续保护">
<el-checkbox v-model="noOverlapModel.noOverlap" />
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setLampNoOverlap">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置信号机唯一名称" name="8">
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setSignalName">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置信号机名称与车站关联" name="9">
<el-form ref="signalStationForm" label-width="160px" :model="signalStationModel" size="mini" :rules="signalStationRules">
<el-form-item label="车站选择" prop="signalStationCode">
<el-select v-model="signalStationModel.signalStationCode" placeholder="请选择">
<el-option v-for="item in stationList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
<el-button
:type="field == 'signalStationCodeType' ? 'danger' : 'primary'"
@click="hover('signalStationCodeType')"
>{{ $t('map.activate') }}</el-button>
</el-form-item>
<el-form-item label="信号机选择" prop="signalLists">
<el-select v-model="signalStationModel.signalLists" multiple placeholder="请选择">
<el-option v-for="item in signalList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
<el-button
:type="field == 'signalCodesType' ? 'danger' : 'primary'"
@click="hover('signalCodesType')"
>{{ $t('map.activate') }}</el-button>
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setSignalUniqueName">设置</el-button>
</div>
</el-collapse-item>
</el-collapse>
</template>
<script>
import { deepAssign } from '@/utils/index';
import { mapGetters } from 'vuex';
export default {
name:'BatchSetting',
props: {
field:{
type:String,
default: function () {
return '';
}
}
},
data() {
return {
collapseActive: '',
SignalLampPositionTypeList: [],
addModel: {
number: 2
},
questionList: [],
signalStationModel: {
signalStationCode: '',
signalLists: []
},
signalStationRules: {
signalStationCode: [
{ required: true, message: '请选择车站', trigger: 'change' }
],
signalLists: [
{ required: true, message: '请选择信号机', trigger: 'change' }
]
},
ctcModel: {
ctc: true
},
noOverlapModel: {
noOverlap: false
},
guideModel: {
scope: 'All',
callOn: true
},
lampPositionModel: {
lampPositionType: ''
},
ciModel: {
stationList: [],
ciStation: []
},
ciModelForm: {
signalList: [],
ciStation: ''
},
ciModelFormRules: {
signalList: [
{ required: true, message: '请选择信号机', trigger: 'change' }
],
ciStation: [
{ required: true, message: '请选择连锁站', trigger: 'change' }
]
},
signalScopeList: [
{ code: 'All', name: '全部信号机'},
{ code: 'Virtual', name: '虚拟信号机'},
{ code: 'NoVirtual', name: '非虚拟信号机'}
],
signalTypeList: [
{ code: 'PROTECTION', name: '防护信号机'},
{ code: 'BLOCKING', name: '阻挡信号机'},
{ code: 'PASSING', name: '通过信号机'}
],
typeModel: {
scope: 'All',
type: 'PROTECTION'
}
};
},
computed: {
...mapGetters('map', [
'signalList',
'sectionList',
'stationList',
'lineCode'
]),
//
filterSignalList() {
let list = [];
if (this.signalList && this.signalList.length) {
list = this.signalList.filter(elem => {
return !elem.interlockStationCode;
});
}
console.log(list, '过滤信号机联锁');
return list;
},
ciStationList() {
let list = [];
list = this.stationList.filter(station=>{
return station.ciStation;
});
return list;
},
centralizedStationList() {
let list = [];
list = this.stationList.filter(station=>{
return station.centralized;
});
return list;
}
},
mounted() {
this.$Dictionary.signalLampPositionType().then(list => {
this.SignalLampPositionTypeList = list;
});
},
methods:{
hover(field) {
field = field === this.field ? '' : field;
this.$emit('signalSectionCode', field);
},
//
editAll() {
if (this.addModel.number != '') {
const models = [];
this.questionList = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); //
const section = this.findSection(signalModel); // model
if (section.code && item.sectionCode != section.code) {
signalModel.sectionCode = section.code; //
}
if (!section.code) {
this.questionList.push(`${item.name}(${item.code}) 信号机位置可能不正确,请手动调试归属区段及偏移量.`);
} else { //
signalModel.sectionOffset = this.addModel.number;
if (signalModel.right) {
if (section.lengthFact) {
signalModel.sectionOffset = Math.abs(Number(section.lengthFact) - this.addModel.number);
}
}
}
models.push(signalModel);
// if (this.editModel.code == signalModel.code) {
// this.editModel.sectionCode = signalModel.sectionCode;
// }
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
// this.deviceSelect();
} else {
this.$message('请输入偏移量');
}
},
//
findSection(signal) {
// 01 02
let model = {};
this.sectionList.forEach(section => {
if (!signal.right && section.type != '02' && section.type != '04') {
if (section.points[0].x == signal.position.x && Math.abs(section.points[0].y - signal.position.y) <= 20) {
model = section;
}
} else if (signal.right && section.type != '02' && section.type != '04') {
if (section.points[section.points.length - 1].x == signal.position.x && Math.abs(section.points[section.points.length - 1].y - signal.position.y) <= 20) {
model = section;
}
}
});
return model;
},
setSignalName() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item);
signalModel.uniqueName = item.name;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setSignalUniqueName() {
this.$refs['signalStationForm'].validate(valid => {
if (valid) {
const models = [];
this.signalStationModel.signalLists.forEach(code => {
const signalModel = deepAssign({}, this.$store.getters['map/getDeviceByCode'](code));
const stationModel = this.$store.getters['map/getDeviceByCode'](this.signalStationModel.signalStationCode);
signalModel.uniqueName = `${signalModel.name}_${stationModel.jp}`;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
this.signalStationModel.signalLists = [];
}
});
},
setLampNoOverlap() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item);
signalModel.noOverlap = this.noOverlapModel.noOverlap;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setSignalCallOn() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); //
if (this.guideModel.scope === 'All' || (this.guideModel.scope === 'Virtual' && item.virtual) || (this.guideModel.scope === 'NoVirtual' && !item.virtual)) {
if (signalModel.type !== 'BLOCKING') {
signalModel.callOn = this.guideModel.callOn;
}
models.push(signalModel);
}
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setCtcShow() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); //
signalModel.ctc = this.ctcModel.ctc;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setLampPosition() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); //
signalModel.lampPositionType = this.lampPositionModel.lampPositionType;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setAllSignalType(val) {
const models = [];
this.signalList.forEach(item => {
if (this.typeModel.scope === 'All' || (this.typeModel.scope === 'Virtual' && item.virtual) || (this.typeModel.scope === 'NoVirtual' && !item.virtual)) {
const signalModel = deepAssign({}, item); //
signalModel.type = this.typeModel.type;
models.push(signalModel);
}
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setCiStationSignalLists() {
this.$refs['signalCiStation1'].validate(valid => {
if (valid) {
const models = [];
this.ciModelForm.signalList.forEach(code => {
const signalModel = deepAssign({}, this.$store.getters['map/getDeviceByCode'](code)); //
signalModel.interlockStationCode = this.ciModelForm.ciStation;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
this.ciModelForm.signalList = [];
}
});
},
setCiStationSignal() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); //
if (this.ciModel.stationList.includes(item.stationCode)) {
signalModel.interlockStationCode = this.ciModel.ciStation;
}
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setData(type, data) {
switch (type) {
case 'signalStationCodeType': {
this.signalStationModel.signalStationCode = data;
break;
}
case 'signalCodesType': {
if (!this.signalStationModel.signalLists.includes(data)) {
this.signalStationModel.signalLists.push(data);
}
break;
}
case 'signalCodes': {
if (!this.ciModelForm.signalList.includes(data)) {
this.ciModelForm.signalList.push(data);
}
break;
}
}
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
.flex_box{
display: flex;
justify-content: center;
}
.questionTip{
height: 90px;
margin-top: 10px;
border-radius: 4px;
width: 98%;
padding: 10px;
}
.box-card {
width: calc(100% - 80px);
margin: 20px auto 0;
padding: 0 20px;
.text {
font-size: 14px;
}
.item {
padding: 6px 0;
}
}
</style>

View File

@ -175,6 +175,8 @@ export default {
});
this.$emit('updateMapModel', model);
this.$refs.createForm.resetForm();
} else {
this.$messageBox(this.$t('tip.selectedSectionEmpty'));
}

View File

@ -15,156 +15,7 @@
<create-signal ref="createSignal" :field="field" @signalSectionCode="signalSectionCode" v-on="$listeners" />
</el-tab-pane>
<el-tab-pane class="view-control" label="批量操作" name="three" :lazy="lazy">
<el-collapse v-model="collapseActive" accordion style="margin-left: 20px">
<el-collapse-item title="构建信号机偏移量" name="1">
<el-form ref="mark" label-width="130px" :model="addModel" size="mini">
<el-form-item label="左右偏移值" prop="number">
<el-input v-model="addModel.number" style="width: 178px;" />
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="editAll">设置</el-button>
<el-button type="" style="margin: 0;" size="small" @click="questionList = []">{{ $t('map.clearHint') }}</el-button>
</div>
<div class="questionTip">
<el-scrollbar wrap-class="scrollbar-wrapper">
<el-card v-if="questionList.length" class="box-card">
<div v-for="(item, index) in questionList" :key="index" class="text item">{{ item }}</div>
</el-card>
</el-scrollbar>
</div>
</el-collapse-item>
<el-collapse-item title="设置信号机类型" name="2">
<el-form ref="signalType" label-width="130px" :model="typeModel" size="mini" style="margin-top: 40px">
<el-form-item label="设置信号机范围:" prop="scope">
<el-select v-model="typeModel.scope" placeholder="请选择">
<el-option v-for="item in signalScopeList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
<el-form-item label="信号机类型:" prop="type">
<el-select v-model="typeModel.type" placeholder="请选择">
<el-option v-for="item in signalTypeList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setAllSignalType">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置信号机归属联锁站" name="3">
<el-form ref="signalCiStation" label-width="130px" :model="ciModel" size="mini">
<el-form-item label="信号机范围:">
<el-select v-model="ciModel.stationList" multiple placeholder="请选择">
<el-option v-for="item in centralizedStationList" :key="item.code" :label="item.name+'下信号机'" :value="item.code" />
</el-select>
</el-form-item>
<el-form-item label="归属连锁站:">
<el-select v-model="ciModel.ciStation" placeholder="请选择">
<el-option v-for="item in ciStationList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setCiStationSignal">设置</el-button>
</div>
<el-form ref="signalCiStation1" label-width="130px" :model="ciModelForm" size="mini" :rules="ciModelFormRules" style="margin-top: 15px;">
<el-form-item label="信号机选择:" prop="signalList">
<el-select v-model="ciModelForm.signalList" multiple filterable placeholder="请选择">
<el-option v-for="item in filterSignalList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
<el-button
:type="field == 'signalCodes' ? 'danger' : 'primary'"
@click="hover('signalCodes')"
>{{ $t('map.activate') }}</el-button>
</el-form-item>
<el-form-item label="归属连锁站:" prop="ciStation">
<el-select v-model="ciModelForm.ciStation" placeholder="请选择">
<el-option v-for="item in ciStationList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setCiStationSignalLists">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置引导信号" name="4">
<el-form ref="setGuideSignal" label-width="130px" :model="guideModel" size="mini">
<el-form-item label="设置信号机范围:" prop="scope">
<el-select v-model="guideModel.scope" placeholder="请选择">
<el-option v-for="item in signalScopeList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
<el-form-item label="是否引导信号:" prop="number">
<el-checkbox v-model="guideModel.callOn" />
</el-form-item>
</el-form>
<div class="flex_box" style="margin-top: 20px">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setSignalCallOn">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置灭灯显示(CTC级)" name="5">
<el-form ref="ctcForm" label-width="160px" :model="ctcModel" size="mini">
<el-form-item label="是否灭灯显示(CTC级):" prop="number">
<el-checkbox v-model="ctcModel.ctc" />
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setCtcShow">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置灯位类型" name="6">
<el-form ref="ctcForm" label-width="160px" :model="lampPositionModel" size="mini">
<el-form-item label="灯位类型:" prop="lampPositionType">
<el-select v-model="lampPositionModel.lampPositionType">
<el-option v-for="item in SignalLampPositionTypeList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setLampPosition">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="是否无延续保护" name="7">
<el-form ref="noOverlapForm" label-width="160px" :model="noOverlapModel" size="mini">
<el-form-item label="是否无延续保护">
<el-checkbox v-model="noOverlapModel.noOverlap" />
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setLampNoOverlap">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置信号机唯一名称" name="8">
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setSignalName">设置</el-button>
</div>
</el-collapse-item>
<el-collapse-item title="设置信号机名称与车站关联" name="9">
<el-form ref="signalStationForm" label-width="160px" :model="signalStationModel" size="mini" :rules="signalStationRules">
<el-form-item label="车站选择" prop="signalStationCode">
<el-select v-model="signalStationModel.signalStationCode" placeholder="请选择">
<el-option v-for="item in stationList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
<el-button
:type="field == 'signalStationCodeType' ? 'danger' : 'primary'"
@click="hover('signalStationCodeType')"
>{{ $t('map.activate') }}</el-button>
</el-form-item>
<el-form-item label="信号机选择" prop="signalLists">
<el-select v-model="signalStationModel.signalLists" multiple placeholder="请选择">
<el-option v-for="item in signalList" :key="item.code" :label="item.name" :value="item.code" />
</el-select>
<el-button
:type="field == 'signalCodesType' ? 'danger' : 'primary'"
@click="hover('signalCodesType')"
>{{ $t('map.activate') }}</el-button>
</el-form-item>
</el-form>
<div class="flex_box">
<el-button type="primary" style="margin-right: 10px;" size="small" @click="setSignalUniqueName">设置</el-button>
</div>
</el-collapse-item>
</el-collapse>
<batch-setting ref="batchSetting" :field="field" @updateMapModel="updateMapModel" @signalSectionCode="signalSectionCode" />
</el-tab-pane>
</el-tabs>
</template>
@ -173,6 +24,7 @@
import { mapGetters } from 'vuex';
import { deepAssign } from '@/utils/index';
import createSignal from './create';
import batchSetting from './batchSetting';
import OperateProperty from '../components/operateProperty';
import getModel from '../models.js';
@ -180,7 +32,8 @@ export default {
name: 'SignalDraft',
components: {
createSignal,
OperateProperty
OperateProperty,
batchSetting
},
props: {
selected: {
@ -193,81 +46,26 @@ export default {
data() {
return {
activeName: 'first',
collapseActive: '',
lazy: true,
SignalDirectionList: [
{ code: false, name: '向左' },
{ code: true, name: '向右' }
],
SignalLeftOrRightList: [],
// SignalLeftOrRightList: [],
SignalLampPostTypeList: [],
SignalLampPositionTypeList: [],
SignalPositionTypeList: [],
failTypes: [
{ code: '00', name: this.$t('map.normal') },
{ code: '01', name: this.$t('map.signalFilamentAlarm') }
],
// failTypes: [
// { code: '00', name: this.$t('map.normal') },
// { code: '01', name: this.$t('map.signalFilamentAlarm') }
// ],
signalTypeList: [
{ code: 'PROTECTION', name: '防护信号机'},
{ code: 'BLOCKING', name: '阻挡信号机'},
{ code: 'PASSING', name: '通过信号机'}
],
signalScopeList: [
{ code: 'All', name: '全部信号机'},
{ code: 'Virtual', name: '虚拟信号机'},
{ code: 'NoVirtual', name: '非虚拟信号机'}
],
questionList: [],
field:'',
editModel: getModel('Signal'),
addModel: {
number: 2
},
typeModel: {
scope: 'All',
type: 'PROTECTION'
},
ciModel: {
stationList: [],
ciStation: []
},
ciModelForm: {
signalList: [],
ciStation: ''
},
ctcModel: {
ctc: true
},
noOverlapModel: {
noOverlap: false
},
signalStationModel: {
signalStationCode: '',
signalLists: []
},
signalStationRules: {
signalStationCode: [
{ required: true, message: '请选择车站', trigger: 'change' }
],
signalLists: [
{ required: true, message: '请选择信号机', trigger: 'change' }
]
},
ciModelFormRules: {
signalList: [
{ required: true, message: '请选择信号机', trigger: 'change' }
],
ciStation: [
{ required: true, message: '请选择连锁站', trigger: 'change' }
]
},
guideModel: {
scope: 'All',
callOn: true
},
lampPositionModel: {
lampPositionType: ''
},
centralizedStationList: [], //
ciStationList: [] //
};
@ -296,17 +94,6 @@ export default {
}
return list;
},
//
filterSignalList() {
let list = [];
if (this.signalList && this.signalList.length) {
list = this.signalList.filter(elem => {
return !elem.interlockStationCode;
});
}
console.log(list, '过滤信号机联锁');
return list;
},
form() {
return {
labelWidth: '150px',
@ -411,7 +198,7 @@ export default {
}
},
mounted() {
this.SignalLeftOrRightList = this.$ConstSelect.SignalLeftOrRightList;
// this.SignalLeftOrRightList = this.$ConstSelect.SignalLeftOrRightList;
this.$Dictionary.signalLampPostType().then(list => {
this.SignalLampPostTypeList = list;
@ -465,14 +252,16 @@ export default {
this.field = '';
this.$emit('deviceSelect', '');
} else if (selected && selected._type == 'Station' && this.field == 'signalStationCodeType') {
this.signalStationModel.signalStationCode = selected.code;
// this.signalStationModel.signalStationCode = selected.code;
this.$refs.batchSetting.setData('signalStationCodeType', selected.code);
this.activeName = 'three';
this.field = '';
this.$emit('deviceSelect', '');
} else if (selected && selected._type == 'Signal' && this.field == 'signalCodesType') {
if (!this.signalStationModel.signalLists.includes(selected.code)) {
this.signalStationModel.signalLists.push(selected.code);
}
this.$refs.batchSetting.setData('signalCodesType', selected.code);
// if (!this.signalStationModel.signalLists.includes(selected.code)) {
// this.signalStationModel.signalLists.push(selected.code);
// }
this.activeName = 'three';
} else if (selected && selected._type == 'Signal' && this.field == 'signalIgnoreRouteEnd') {
if (!this.editModel.ignoreRouteEnd.includes(selected.code) && this.editModel.code != selected.code) {
@ -480,9 +269,10 @@ export default {
}
this.activeName = 'first';
} else if (selected && selected._type == 'Signal' && this.field == 'signalCodes') {
if (!this.ciModelForm.signalList.includes(selected.code)) {
this.ciModelForm.signalList.push(selected.code);
}
// if (!this.ciModelForm.signalList.includes(selected.code)) {
// this.ciModelForm.signalList.push(selected.code);
// }
this.$refs.batchSetting.setData('signalCodes', selected.code);
this.activeName = 'three';
}
},
@ -498,40 +288,6 @@ export default {
this.$emit('deviceSelect', '');
}
},
//
editAll() {
if (this.addModel.number != '') {
const models = [];
this.questionList = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); //
const section = this.findSection(signalModel); // model
if (section.code && item.sectionCode != section.code) {
signalModel.sectionCode = section.code; //
}
if (!section.code) {
this.questionList.push(`${item.name}(${item.code}) 信号机位置可能不正确,请手动调试归属区段及偏移量.`);
} else { //
signalModel.sectionOffset = this.addModel.number;
if (signalModel.right) {
if (section.lengthFact) {
signalModel.sectionOffset = Math.abs(Number(section.lengthFact) - this.addModel.number);
}
}
}
models.push(signalModel);
if (this.editModel.code == signalModel.code) {
this.editModel.sectionCode = signalModel.sectionCode;
}
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
this.deviceSelect();
} else {
this.$message('请输入偏移量');
}
},
virtualChange(val) {
if (val) {
this.editModel.turnBack = false;
@ -539,132 +295,6 @@ export default {
this.editModel.turnBack = false;
}
},
setAllSignalType(val) {
const models = [];
this.signalList.forEach(item => {
if (this.typeModel.scope === 'All' || (this.typeModel.scope === 'Virtual' && item.virtual) || (this.typeModel.scope === 'NoVirtual' && !item.virtual)) {
const signalModel = deepAssign({}, item); //
signalModel.type = this.typeModel.type;
models.push(signalModel);
}
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setCiStationSignal() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); //
if (this.ciModel.stationList.includes(item.stationCode)) {
signalModel.interlockStationCode = this.ciModel.ciStation;
}
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setCiStationSignalLists() {
this.$refs['signalCiStation1'].validate(valid => {
if (valid) {
const models = [];
this.ciModelForm.signalList.forEach(code => {
const signalModel = deepAssign({}, this.$store.getters['map/getDeviceByCode'](code)); //
signalModel.interlockStationCode = this.ciModelForm.ciStation;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
this.ciModelForm.signalList = [];
}
});
},
setSignalCallOn() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); //
if (this.guideModel.scope === 'All' || (this.guideModel.scope === 'Virtual' && item.virtual) || (this.guideModel.scope === 'NoVirtual' && !item.virtual)) {
if (signalModel.type !== 'BLOCKING') {
signalModel.callOn = this.guideModel.callOn;
}
models.push(signalModel);
}
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setCtcShow() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); //
signalModel.ctc = this.ctcModel.ctc;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setLampPosition() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); //
signalModel.lampPositionType = this.lampPositionModel.lampPositionType;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setLampNoOverlap() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item);
signalModel.noOverlap = this.noOverlapModel.noOverlap;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
//
findSection(signal) {
// 01 02
let model = {};
this.sectionList.forEach(section => {
if (!signal.right && section.type != '02' && section.type != '04') {
if (section.points[0].x == signal.position.x && Math.abs(section.points[0].y - signal.position.y) <= 20) {
model = section;
}
} else if (signal.right && section.type != '02' && section.type != '04') {
if (section.points[section.points.length - 1].x == signal.position.x && Math.abs(section.points[section.points.length - 1].y - signal.position.y) <= 20) {
model = section;
}
}
});
return model;
},
setSignalName() {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item);
signalModel.uniqueName = item.name;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
},
setSignalUniqueName() {
this.$refs['signalStationForm'].validate(valid => {
if (valid) {
const models = [];
this.signalStationModel.signalLists.forEach(code => {
const signalModel = deepAssign({}, this.$store.getters['map/getDeviceByCode'](code));
const stationModel = this.$store.getters['map/getDeviceByCode'](this.signalStationModel.signalStationCode);
signalModel.uniqueName = `${signalModel.name}_${stationModel.jp}`;
models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
this.signalStationModel.signalLists = [];
}
});
},
deleteObj() {
this.$refs.dataform.deleteObj();
},
@ -682,30 +312,6 @@ export default {
height: 100%;
overflow: scroll;
}
.flex_box{
display: flex;
justify-content: center;
}
.questionTip{
height: 90px;
margin-top: 10px;
border-radius: 4px;
width: 98%;
padding: 10px;
}
.box-card {
width: calc(100% - 80px);
margin: 20px auto 0;
padding: 0 20px;
.text {
font-size: 14px;
}
.item {
padding: 6px 0;
}
}
.card {
height: 100%;

View File

@ -163,7 +163,7 @@ export default {
name: this.$t('map.drawData'),
item: [
{ prop: 'code', label: this.$t('map.stationCode'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList, deviceChange: this.deviceChange },
{ prop: 'name', label: this.$t('map.stationName'), type: 'input' },
{ prop: 'name', label: this.$t('map.stationNameColon'), type: 'input' },
{ prop: 'number', label: this.$t('map.stationNumber'), type: 'input' },
{ prop: 'sn', label: '车站序号', type: 'input' },
{ prop: 'position', label: this.$t('map.stationPosition'), type: 'coordinate', width: '120px', children: [
@ -234,9 +234,9 @@ export default {
kmRange: [
{ required: true, message: this.$t('rules.stationKmRange'), trigger: 'blur' }
],
kmPost: [
{ required: true, message: this.$t('rules.stationKmPost'), trigger: 'blur' }
],
// kmPost: [
// { required: true, message: this.$t('rules.stationKmPost'), trigger: 'blur' }
// ],
'position.x': [
{ required: true, message: this.$t('rules.pleaseEnterXCoordinate'), trigger: 'blur' }
],

View File

@ -43,10 +43,13 @@ export default {
{ value: 5, label: '等级五' }
],
formModel: {
gernarateType:'01',
serviceNumber:'', //
beginTime: '', //
overTime: '', //
runLevel:'', //
departureInterval:180, //
reentryTime:80, //
inboundRouting:'', // code
outboundRouting:'', // code
runningRouting1: '', // code1
@ -66,6 +69,12 @@ export default {
runLevel: [
{ required: true, message: '请选择运行等级', trigger: 'change' }
],
departureInterval:[
{ required: true, message: '请填写发车间隔', trigger: 'blur' }
],
reentryTime:[
{ required: true, message: '请填写折返时间', trigger: 'blur' }
],
inboundRouting: [
{ required: true, message: '请选择回库交路', trigger: 'change' }
],
@ -93,13 +102,19 @@ export default {
labelWidth: '100px',
size:'small',
items: [
{ prop: 'serviceNumber', label: '服务号', type: 'text', rightWidth:true, maxlength:3 },
{ prop: 'gernarateType', label: '生成类型', type: 'checkBox', children: [
{ name: '单条服务', value: '01' },
{ name: '多条服务', value: '02' }
] },
{ prop: 'serviceNumber', label: '服务号', type: 'text', rightWidth:true, maxlength:3, show:this.formModel.gernarateType == '01'},
{ prop: 'beginTime', label: '开始时间', type: 'timePicker'},
{ prop: 'overTime', label: '结束时间', type: 'timePicker'},
{ prop: 'runLevel', label: '运行等级', type: 'select', options: this.runLevelList },
{ prop: 'departureInterval', label: '发车间隔', type: 'number', show:this.formModel.gernarateType == '02', min:0, step:1, precisionFlag:true, precision:0, message:'s'},
{ prop: 'reentryTime', label: '折返时间', type: 'number', min:0, step:1, precisionFlag:true, precision:0, message:'s' },
{ prop: 'outboundRouting', label: '出库交路', type: 'select', options: this.covertRouting('OUTBOUND'), noDataText:'请先设置交路'},
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', options: this.covertRouting('LOOP'), noDataText:'请先设置交路', change:true, onChange:this.changeRoute('runningRouting2')},
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', options: this.covertRouting('LOOP'), noDataText:'请先设置交路', change:true, onChange:this.changeRoute('runningRouting1')},
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', show:true, options: this.covertRouting('LOOP'), noDataText:'请先设置交路', change:true, onChange:this.changeRoute2 },
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', show:true, options: this.covertRouting('LOOP'), noDataText:'请先设置交路', change:true, onChange:this.changeRoute1},
{ prop: 'inboundRouting', label: '入库交路', type: 'select', options: this.covertRouting('INBOUND'), noDataText:'请先设置交路'}
]
};
@ -141,6 +156,12 @@ export default {
}
}
},
changeRoute2() {
this.changeRoute('runningRouting2');
},
changeRoute1() {
this.changeRoute('runningRouting1');
},
changeRoute(runningRouting) {
if (this.formModel[runningRouting]) { this.$refs.dataform.validateField([runningRouting]); }
},
@ -158,10 +179,18 @@ export default {
this.$messageBox('结束时间必须大于开始时间');
return false;
}
const formModel = Object.assign({}, this.formModel);
if (formModel.gernarateType == '01') {
delete formModel.departureInterval;
} else {
delete formModel.serviceNumber;
}
delete formModel.gernarateType;
this.loading = true;
generatePlanTrain(this.$route.query.planId || this.loadRunPlanId, this.formModel).then(res => {
generatePlanTrain(this.$route.query.planId || this.loadRunPlanId, formModel).then(res => {
this.loading = false;
this.doClose();
this.$refs.dataform.resetForm();
this.$store.dispatch('runPlan/refresh');
}).catch(error => {
console.log(error);

View File

@ -19,8 +19,7 @@
</template>
<script>
import { getStationList, populatingGenericData } from '@/api/runplan';
import { listUserRoutingData, populatingGenericData } from '@/api/runplan';
export default {
props: {
loadRunPlanId: {
@ -33,7 +32,8 @@ export default {
data() {
return {
dialogShow: false,
stationList: [],
// stationList: [],
routingList: [],
loading: false,
formModel: {
stationRunningTime: 60, //
@ -41,10 +41,12 @@ export default {
beginTime: '',
overTime: '',
departureTimeInterval: 180, //
parkedTime: 30, //
// parkedTime: 30, //
reentryTime: 60, //
startStationCode: '',
endStationCode: ''
runningRouting1:'', // code1
runningRouting2:'' // code2
// startStationCode: '',
// endStationCode: ''
},
rules: {
@ -57,18 +59,24 @@ export default {
departureTimeInterval: [
{ required: true, message: '请填写发车间隔', trigger: 'blur' }
],
parkedTime: [
{ required: true, message: '请填写停站时间', trigger: 'blur' }
],
// parkedTime: [
// { required: true, message: '', trigger: 'blur' }
// ],
reentryTime: [
{ required: true, message: '请填写折返时间', trigger: 'blur' }
],
startStationCode: [
{ required: true, message: '请选择起始站', trigger: 'change' }
runningRouting1: [
{ required: true, validator: this.validateRunningRouting, trigger: 'change' }
],
endStationCode: [
{ required: true, message: '请选择终止站', trigger: 'change' }
runningRouting2: [
{ required: true, validator: this.validateRunningRouting, trigger: 'change' }
]
// startStationCode: [
// { required: true, message: '', trigger: 'change' }
// ],
// endStationCode: [
// { required: true, message: '', trigger: 'change' }
// ]
}
};
},
@ -82,34 +90,43 @@ export default {
items: [
{ prop: 'beginTime', label: '开始时间', type: 'timePicker'},
{ prop: 'overTime', label: '结束时间', type: 'timePicker'},
{ prop: 'departureTimeInterval', label: '发车间隔', type: 'number'},
{ prop: 'parkedTime', label: '停站时间', type: 'number'},
{ prop: 'reentryTime', label: '折返时间', type: 'number'},
{ prop: 'departureTimeInterval', label: '发车间隔', type: 'number', min:0, step:1, precisionFlag:true, precision:0, message:'s'},
// { prop: 'parkedTime', label: '', type: 'number', min:0, step:1, precisionFlag:true, precision:0},
{ prop: 'reentryTime', label: '折返时间', type: 'number', min:0, step:1, precisionFlag:true, precision:0, message:'s'},
{ prop: 'right', label: '发车类型', type: 'checkBox', children: [
{ name: '上行发车', value: 1 },
{ name: '下次发车', value: 2 },
{ name: '同时发车', value: 3 }
] },
{ prop: 'startStationCode', label: '起始站', type: 'select', options: this.stationList },
{ prop: 'endStationCode', label: '终止站', type: 'select', options: this.stationList }
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', show:true, options: this.covertRouting('LOOP'), noDataText:'请先设置交路', change:true, onChange:this.changeRoute2 },
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', show:true, options: this.covertRouting('LOOP'), noDataText:'请先设置交路', change:true, onChange:this.changeRoute1}
// { prop: 'startStationCode', label: '', type: 'select', options: this.stationList },
// { prop: 'endStationCode', label: '', type: 'select', options: this.stationList }
]
};
}
},
created() {
const mapId = this.$route.query.mapId;
if (mapId) {
getStationList(mapId).then(response => {
this.stationList = response.data.map(elem => { return { value: elem.code, label: elem.name }; });
}).catch(() => {
this.$messageBox(`获取车站列表失败`);
});
}
// const mapId = this.$route.query.mapId;
// if (mapId) {
// getStationList(mapId).then(response => {
// this.stationList = response.data.map(elem => { return { value: elem.code, label: elem.name }; });
// }).catch(() => {
// this.$messageBox(``);
// });
// }
},
methods: {
doShow(params) {
this.loading = false;
const mapId = this.$route.query.mapId;
if (mapId) {
listUserRoutingData(mapId).then(response => {
this.routingList = response.data.map(elem => { return { value: elem.code, label: elem.name, routingType:elem.routingType }; });
}).catch(() => {
this.$messageBox(`获取交路列表失败`);
});
}
this.dialogShow = true;
},
doClose() {
@ -141,18 +158,29 @@ export default {
}
});
},
//
formatDateTime(date) {
console.log(date, 3333);
let h = date.getHours();
h = h < 10 ? ('0' + h) : h;
let minute = date.getMinutes();
let second = date.getSeconds();
minute = minute < 10 ? ('0' + minute) : minute;
second = second < 10 ? ('0' + second) : second;
return h + ':' + minute + ':' + second;
validateRunningRouting(rule, value, callback) {
if (value.trim().length == 0) {
return callback(new Error('请选择环路'));
} else {
if (this.formModel.runningRouting1 == this.formModel.runningRouting2) {
return callback(new Error('环路交路1和环路交路2不能相同'));
} else {
return callback();
}
}
},
changeRoute2() {
this.changeRoute('runningRouting2');
},
changeRoute1() {
this.changeRoute('runningRouting1');
},
changeRoute(runningRouting) {
if (this.formModel[runningRouting]) { this.$refs.dataform.validateField([runningRouting]); }
},
covertRouting(routingType) {
return this.routingList.filter(route=>{ return route.routingType == routingType; });
}
}
};
</script>

View File

@ -32,7 +32,7 @@
height="300"
class="el-parkSectionCode-table"
>
<el-table-column prop="stationCode" :label="$t('map.sectionName')">
<el-table-column prop="stationCode" :label="$t('map.stationName')">
<template slot-scope="scope">
<span>{{ formatName(scope.row.stationCode) }}</span>
</template>

View File

@ -1,485 +0,0 @@
<template>
<div class="plan-tool" style="width: 100%; height: 100%;">
<menu-bar ref="menuBar" :plan-convert="PlanConvert" @dispatchDialog="dispatchDialog" />
<schedule
ref="schedule"
:line-code="lineCode"
:plan-convert="PlanConvert"
:max-height="height"
:max-width="width"
/>
<status-bar ref="statusBar" @dispatchDialog="dispatchDialog" @showTrain="showTrain" />
<!-- <open-run-plan ref="openRunPlan" :skin-code="skinCode" @dispatchDialog="dispatchDialog" /> -->
<!-- <create-empty-plan ref="createEmptyPlan" :plan-convert="PlanConvert" @dispatchOperate="dispatchOperate" @dispatchDialog="dispatchDialog" /> -->
<parameter ref="parameter" />
<off-line ref="offLine" @handleConfirm="handleConfirm" @dispatchDialog="dispatchDialog" />
<!-- <add-planning-train ref="addPlanningTrain" @dispatchDialog="dispatchDialog" /> -->
<!-- <edit-planning-train
ref="editPlanningTrain"
@dispatchDialog="dispatchDialog"
@dispatchOperate="dispatchOperate"
/> -->
<!-- <edit-smooth-run-time ref="editSmoothRunTime" @dispatchDialog="dispatchDialog" /> -->
<!-- <add-smooth-run-time ref="addSmoothRunTime" @dispatchDialog="dispatchDialog" /> -->
<duplicate-train ref="duplicateTrain" @dispatchDialog="dispatchDialog" @dispatchOperate="dispatchOperate" />
<!-- <modifying-routing ref="modifyingRouting" @dispatchDialog="dispatchDialog" /> -->
<!-- <modifying-begin-time ref="modifyingBeginTime" /> -->
<systerm-out ref="systermOut" />
<!-- <add-task ref="addTask" @dispatchOperate="dispatchOperate" /> -->
<!-- <delete-task ref="deleteTask" @dispatchOperate="dispatchOperate" /> -->
<!-- <modifying-task ref="modifyingTask" @dispatchOperate="dispatchOperate" /> -->
<!-- <edit-station-between-time ref="editStationBetweenTime" /> -->
<!-- <modifying-station-interval-time ref="modifyingStationIntervalTime" /> -->
</div>
</template>
<script>
// import TitleBar from './titleBar';
import MenuBar from './menuBar';
import StatusBar from './statusBar';
import Schedule from './schedule';
// import OpenRunPlan from './menus/openRunPlan';
// import CreateEmptyPlan from './menus/createEmptyPlan';
import Parameter from './menus/parameter/index';
import OffLine from './menus/offLine';
// import AddPlanningTrain from './menus/addPlanningTrain';
// import EditPlanningTrain from './menus/editPlanningTrain';
import DuplicateTrain from './menus/duplicateTrain';
import SystermOut from './menus/systermOut';
// import AddTask from './menus/addTask';
// import DeleteTask from './menus/deleteTask';
// import ModifyingTask from './menus/modifyingTask';
// import ModifyingRouting from './menus/modifyingRouting';
// import ModifyingBeginTime from './menus/modifyingBeginTime';
// import EditStationBetweenTime from './menus/editStationBetweenTime';
// import AddSmoothRunTime from './menus/addSmoothRunTime';
// import EditSmoothRunTime from './menus/editSmoothRunTime';
// import ModifyingStationIntervalTime from './menus/modifyingStationIntervalTime';
import { deletePlanService } from '@/api/runplan';
export default {
name: 'Menus',
components: {
MenuBar,
StatusBar,
Schedule,
// OpenRunPlan,
// CreateEmptyPlan,
Parameter,
OffLine,
// AddPlanningTrain,
// EditPlanningTrain,
DuplicateTrain,
SystermOut
// AddTask,
// DeleteTask,
// ModifyingTask,
// ModifyingRouting,
// ModifyingBeginTime,
// EditStationBetweenTime,
// AddSmoothRunTime,
// EditSmoothRunTime,
// ModifyingStationIntervalTime
},
data() {
return {
PlanConvert: {}
};
},
computed: {
lineCode() {
return this.$route.query.lineCode || '02';
},
width() {
return this.$store.state.app.width;
},
height() {
return this.$store.state.app.height;
}
},
created() {
this.PlanConvert = this.$theme.loadPlanConvert(this.lineCode);
},
methods: {
setPosition() {
this.$nextTick(() => {
this.$refs.schedule.setPosition();
});
},
dispatchDialog(dialogObj) {
this.$nextTick(() => {
if (this.$refs[dialogObj.name]) {
this.$refs[dialogObj.name].doShow(dialogObj.params);
}
});
},
dispatchOperate(operateObj) {
this.$nextTick(() => {
if (this.$refs[operateObj.dialogName]) {
this.$refs[operateObj.dialogName][operateObj.operate](operateObj.params);
}
});
},
handleConfirm(params) {
if (params.operate == 'AddPlanningTrain') {
//
this.$refs.addPlanningTrain.handleConfirm();
} else if (params.operate == 'DeletePlanningTrain') {
//
const model = {
planId: this.$route.query.planId,
serviceNumber: params.serviceNumber
};
deletePlanService(model).then(resp => {
this.$message.success(this.$t('tip.deletePlanSuccessfully'));
this.$store.dispatch('runPlan/setDraftSelected', {});
this.$store.dispatch('runPlan/refresh');
// this.$refs.openRunPlan.loadRunPlanData(Object.assign({refresh: true}, this.$route.query));
}).catch(() => {
this.$messageBox(this.$t('tip.deletePlanFailed'));
});
}
},
showTrain() {
if (this.$refs.schedule) {
this.$refs.schedule.displayTrain();
}
}
}
};
</script>
<style>
.plan-tool {
position: absolute;
}
.plan-tool .pop-menu {
background: #F0F0F0;
}
.plan-tool .pop-menu span {
color: #000;
}
.plan-tool .system-close {
cursor: pointer;
height: 25px;
width: 25px;
background: -webkit-linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
background: -o-linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
background: -moz-linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid white;
border-radius: 4px;
}
.plan-tool .system-close::before {
position: absolute;
top: 0px;
left: 0px;
font-size: x-large;
}
.planEdit__tool {
overflow: hidden !important;
}
/* .planEdit__tool .el-dialog {
overflow: hidden !important;
background: rgba(202, 221, 253, 0.88);;
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
border: 2px solid #727375;
border-radius: 4px;
color: #000;
font-size: 14px;
}
.planEdit__tool .el-dialog .el-dialog__header {
height: 30px;
padding: 5px;
}
.planEdit__tool .el-dialog .el-dialog__footer {
background: #ECE9D8;
opacity: 1;
}
.planEdit__tool .el-dialog .el-dialog__body {
padding-top: 10px;
padding-bottom: 10px;
padding-left: 5px;
padding-right: 5px;
margin: 0px 3px 3px 3px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
color: #000;
background: #ECE9D8;
opacity: 1;
}
.planEdit__tool .el-dialog .el-dialog__title {
font-size: 16px;
}
.planEdit__tool .el-dialog .el-dialog__headerbtn {
background: -webkit-linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
background: -o-linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
background: -moz-linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid white;
border-radius: 4px;
top: 0px;
right: 3px;
line-height: 26px;
width: 26px;
}
.planEdit__tool .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.planEdit__tool .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.planEdit__tool .el-dialog .el-tabs--top {
border: 2px outset #FEFEFD;
border-radius: 4px;
}
.planEdit__tool .el-dialog .el-tabs__item {
height: 30px;
line-height: 30px;
text-align: center;
color: #000 !important;
border-right: 2px outset #fff;
padding-left: 10px !important;
padding-right: 10px !important;
}
.planEdit__tool .el-dialog .el-tab-pane {
margin: 10px !important;
}
.planEdit__tool .el-dialog .el-tabs--card>.el-tabs__header .el-tabs__item.is-active {
border-bottom: none
}
.planEdit__tool .el-dialog .el-tabs--card>.el-tabs__header .el-tabs__item:not(.is-active) {
border-bottom: 2px inset #fff
}
.planEdit__tool .el-dialog .el-form {
background: #ECE9D8 !important;
}
.planEdit__tool .el-dialog .el-card {
background: #ECE9D8 !important;
}
.planEdit__tool .el-dialog .el-button {
height: 32px;
line-height: 32px;
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 0px !important;
color: #000;
background: #ECE9D8;
}
.planEdit__tool .el-dialog .expand {
width: 120px;
}
.planEdit__tool .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.planEdit__tool .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.planEdit__tool .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.planEdit__tool .el-dialog .el-button:disabled span {
border: 0px;
}
.planEdit__tool .el-dialog .button-group {
margin-top: 10px;
}
.planEdit__tool .el-dialog .el-input {
border: 2px inset #E9E9E9;
}
.planEdit__tool .el-dialog .el-input .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.planEdit__tool .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.planEdit__tool .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.planEdit__tool .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.planEdit__tool .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.planEdit__tool .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.planEdit__tool .el-dialog .el-table .cell {
line-height: unset !important;
}
.planEdit__tool .el-dialog .el-table th.is-leaf {
background: #ECE9D8 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.planEdit__tool .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.planEdit__tool .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.planEdit__tool .el-dialog .current-row>td {
background: #316AC5 !important;
color: #fff !important;
}
.planEdit__tool .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.planEdit__tool .el-dialog .el-checkbox__label {
color: #000 !important;
}
.planEdit__tool .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.planEdit__tool .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.planEdit__tool .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.planEdit__tool .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.planEdit__tool .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.planEdit__tool .el-dialog .el-radio__label {
color: #000 !important;
}
.planEdit__tool .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.planEdit__tool .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.planEdit__tool .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.planEdit__tool .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.planEdit__tool .el-dialog .base-label {
background: rgba(0, 0, 0, x);
position: relative;
left: -15px;
top: -18px;
}
.planEdit__tool .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.planEdit__tool .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.planEdit__tool .el-dialog .table {
margin-top: 10px;
}
.planEdit__tool .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.planEdit__tool .el-dialog .button-group {
margin-top: 10px;
}
.planEdit__tool .el-dialog .el-tree__empty-block {
background: #E9E9E9 !important;
color: #000 !important;
} */
</style>

View File

@ -77,9 +77,9 @@ export default {
height: 800,
roadData: [],
focus: false,
booleanList: ['upRight', 'lockFirst', 'switchSingleHandle', 'switchNRTurnChain', 'switchSingleLockChain', 'switchLossChain', 'signalForceCancelRoute', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock', 'guideNeedRouteSettingFirst', 'signalOpenAfterParking', 'standHoldCloseLogicLight', 'atsAutoHandleManualFrontTurnBack'],
booleanList: ['upRight', 'lockFirst', 'switchSingleHandle', 'switchNRTurnChain', 'switchSingleLockChain', 'switchLossChain', 'signalForceCancelRoute', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock', 'guideNeedRouteSettingFirst', 'signalOpenAfterParking', 'standHoldCloseLogicLight', 'atsAutoHandleManualFrontTurnBack', 'doNotSetRouteWhenSectionOccupied'],
selectList: ['runMode'],
generalConfig: ['lockFirst', 'switchSingleHandle', 'upRight', 'switchNRTurnChain', 'switchSingleLockChain', 'switchLossChain', 'signalForceCancelRoute', 'runMode', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock', 'noParkingSM', 'parkingSM', 'rmAtpSpeed', 'urmAtpSpeed', 'guideNeedRouteSettingFirst', 'signalOpenAfterParking', 'standHoldCloseLogicLight', 'atsAutoHandleManualFrontTurnBack'],
generalConfig: ['lockFirst', 'switchSingleHandle', 'upRight', 'switchNRTurnChain', 'switchSingleLockChain', 'switchLossChain', 'signalForceCancelRoute', 'runMode', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock', 'noParkingSM', 'parkingSM', 'rmAtpSpeed', 'urmAtpSpeed', 'guideNeedRouteSettingFirst', 'signalOpenAfterParking', 'standHoldCloseLogicLight', 'atsAutoHandleManualFrontTurnBack', 'doNotSetRouteWhenSectionOccupied'],
rangeList: ['noParkingSM', 'parkingSM'],
speedList: ['rmAtpSpeed', 'urmAtpSpeed'],
numberList: [],
@ -104,7 +104,8 @@ export default {
guideNeedRouteSettingFirst: '引导办理是否需要先排列进路',
signalOpenAfterParking: '是否列车停站开门后,才办理出站进路开放出站信号机',
standHoldCloseLogicLight: '站台扣车是否关闭逻辑点灯的信号机',
atsAutoHandleManualFrontTurnBack:'ATS是否自动处理人工设置的站前折返自动更新车次'
atsAutoHandleManualFrontTurnBack:'ATS是否自动处理人工设置的站前折返自动更新车次',
doNotSetRouteWhenSectionOccupied: '当进路的区段占用时不排列进路'
}
};
},