Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
22fa381707
@ -20,7 +20,7 @@
|
||||
<div class="nav-border">
|
||||
<div class="nav-border-top">
|
||||
<el-button :id="commandId" class="fl" :class="{'disabled': canCommand}" style="line-height: 18px; margin-top: 4px;" plain :disabled="canCommand" @click="command">执行</el-button>
|
||||
<el-button class="fr" style="line-height: 18px; margin-top: 4px;" plain @click="doClose">取消</el-button>
|
||||
<el-button class="fr" style="line-height: 18px; margin-top: 4px;" plain @click="cancle">取消</el-button>
|
||||
</div>
|
||||
<div class="nav-border-bottom">
|
||||
<el-table
|
||||
@ -57,6 +57,7 @@ import { deepAssign } from '@/utils/index';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import { TrainingMode } from '@/scripts/ConstDic';
|
||||
export default {
|
||||
components: {
|
||||
NoticeInfo
|
||||
@ -86,6 +87,9 @@ export default {
|
||||
selectedObj: null,
|
||||
oldClickObj: null, // 上一次点击对象
|
||||
route: null, // 进路对象
|
||||
atpRoute:null,
|
||||
groundRoute:null,
|
||||
guideRoute:null,
|
||||
centralizedStationList: new Array(15).fill({}),
|
||||
ciStationParamList: [],
|
||||
// startVirtual: false,
|
||||
@ -155,12 +159,19 @@ export default {
|
||||
this.$refs.noticeInfo.doShow(error.message);
|
||||
});
|
||||
} else {
|
||||
this.handleBasicMenu();
|
||||
if (this.$store.state.training.mode != TrainingMode.TEACH) {
|
||||
this.handleBasicMenu();
|
||||
}
|
||||
}
|
||||
},
|
||||
'$store.state.training.prdType': function (val) {
|
||||
this.initMenus();
|
||||
this.initRouteMenus();
|
||||
},
|
||||
'$store.state.training.started':function (val) {
|
||||
if (!val) {
|
||||
this.doClose();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -194,14 +205,32 @@ export default {
|
||||
},
|
||||
clickCommand(row) {
|
||||
this.clearAllMenuShow();
|
||||
const commandList = ['ATP进路', '取消ATP', '联锁进路', '取消联锁', '引导进路', '取消引导'];
|
||||
const routeList = [this.atpRoute, this.groundRoute, this.guideRoute];
|
||||
const commandIndex = commandList.indexOf(row.name);
|
||||
const currentIndex = Math.floor(commandIndex / 2);
|
||||
const step = {};
|
||||
if (currentIndex >= 0) {
|
||||
this.route = routeList[currentIndex];
|
||||
this.tempData = [];
|
||||
this.tempData.push(this.route);
|
||||
console.log(this.route);
|
||||
if (currentIndex == 2) {
|
||||
step.param = {
|
||||
signalCode: this.route.startSignalCode
|
||||
};
|
||||
} else {
|
||||
step.param = {
|
||||
routeCode: this.route.code
|
||||
};
|
||||
}
|
||||
}
|
||||
if (this.tempData.length) {
|
||||
row.show = true;
|
||||
this.operate = row.operate.operation;
|
||||
this.cmdType = row.cmdType;
|
||||
this.canCommand = false;
|
||||
const step = {
|
||||
operation: this.operate
|
||||
};
|
||||
step.operation = this.operate;
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
@ -275,24 +304,45 @@ export default {
|
||||
this.centralizedStationList[index] = swicth;
|
||||
});
|
||||
this.tempData = [];
|
||||
this.tempData.push(this.route);
|
||||
this.param = {
|
||||
routeCode: this.route.code
|
||||
};
|
||||
// this.tempData.push(this.route);
|
||||
// this.param = {
|
||||
// routeCode: this.route.code
|
||||
// };
|
||||
},
|
||||
// 校验上次点击信号机
|
||||
checkSignal() {
|
||||
this.route = null;
|
||||
this.atpRoute = null;
|
||||
this.groundRoute = null;
|
||||
this.guideRoute = null;
|
||||
this.atp = false;
|
||||
this.ground = false;
|
||||
this.guide = false;
|
||||
this.routeList.forEach(item => {
|
||||
if (item.startSignalCode == this.oldClickObj.code && item.endSignalCode == this.selectedObj.code) {
|
||||
this.atp = item.atp;
|
||||
this.ground = item.ground;
|
||||
this.guide = item.guide;
|
||||
this.route = item;
|
||||
if (!this.atp) {
|
||||
if (item.atp) {
|
||||
this.atpRoute = item;
|
||||
}
|
||||
this.atp = item.atp;
|
||||
}
|
||||
if (!this.ground) {
|
||||
if (item.ground) {
|
||||
this.groundRoute = item;
|
||||
}
|
||||
this.ground = item.ground;
|
||||
}
|
||||
if (!this.guide) {
|
||||
if (item.guide) {
|
||||
this.guideRoute = item;
|
||||
}
|
||||
this.guide = item.guide;
|
||||
}
|
||||
// this.route = {};
|
||||
this.initRouteMenus();
|
||||
}
|
||||
});
|
||||
if (this.route && this.route.code) {
|
||||
if (this.atpRoute || this.groundRoute || this.guideRoute) {
|
||||
this.handleRouteMenu();
|
||||
this.deviceHighLight(this.selectedObj, true);
|
||||
this.oldDevice = this.selectedObj;
|
||||
@ -405,6 +455,11 @@ export default {
|
||||
this.$refs.noticeInfo.doShow(error.message);
|
||||
});
|
||||
},
|
||||
cancle() {
|
||||
if (this.$store.state.training.mode != TrainingMode.TEACH) {
|
||||
this.doClose();
|
||||
}
|
||||
},
|
||||
doClose() {
|
||||
this.deviceHighLight(this.oldDevice, false); // 当前选中
|
||||
this.operate = ''; // 清空指令
|
||||
@ -479,17 +534,17 @@ export default {
|
||||
{ name: '关单信号', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL, operate: OperationEvent.Signal.signalClose.menuButton, show: false }
|
||||
];
|
||||
this.stationParamList = this.$store.state.training.prdType === '01' ? [
|
||||
{ name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, show: false }
|
||||
{ name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menuButton, show: false }
|
||||
// { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' },
|
||||
// { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'None' }
|
||||
] : [
|
||||
{ name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' },
|
||||
{ name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'None' },
|
||||
{ name: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menu, show: false },
|
||||
{ name: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menu, show: false },
|
||||
{ name: '关区信号', cmdType: CMD.Station.CMD_STATION_CIAREA_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.ciAreaCloseAllSignal.menu, show: false },
|
||||
{ name: '自排全开', cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menu, show: false },
|
||||
{ name: '自排全关', cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING, operate: OperationEvent.Station.humanControlALL.menu, show: false }
|
||||
{ name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menuButton, show: false, disabledName: 'controlMode', mode: 'Center' },
|
||||
{ name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menuButton, show: false, disabledName: 'controlMode', mode: 'None' },
|
||||
{ name: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menuButton, show: false },
|
||||
{ name: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menuButton, show: false },
|
||||
{ name: '关区信号', cmdType: CMD.Station.CMD_STATION_CIAREA_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.ciAreaCloseAllSignal.menuButton, show: false },
|
||||
{ name: '自排全开', cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menuButton, show: false },
|
||||
{ name: '自排全关', cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING, operate: OperationEvent.Station.humanControlALL.menuButton, show: false }
|
||||
// { name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, show: false }
|
||||
];
|
||||
this.standParamList = this.$store.state.training.prdType === '01' ? [] : [
|
||||
@ -506,12 +561,12 @@ export default {
|
||||
this.routeParamList.push({ name: '取消ATP', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menuButton, show: false });
|
||||
}
|
||||
if (this.ground) {
|
||||
this.routeParamList.push({ name: '联锁进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menuButton, show: false });
|
||||
this.routeParamList.push({ name: '取消联锁', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menuButton, show: false });
|
||||
this.routeParamList.push({ name: '联锁进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.interlockRoute.menuButton, show: false });
|
||||
this.routeParamList.push({ name: '取消联锁', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelinterlock.menuButton, show: false });
|
||||
}
|
||||
if (this.guide) {
|
||||
this.routeParamList.push({ name: '引导进路', cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE, operate: OperationEvent.Signal.guide.menuButton, show: false, securityCommand: true });
|
||||
this.routeParamList.push({ name: '取消引导', cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE, operate: OperationEvent.Signal.humanTrainRoute.menuButton, show: false });
|
||||
this.routeParamList.push({ name: '取消引导', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE, operate: OperationEvent.Signal.cancelGuide.menuButton, show: false });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -440,7 +440,8 @@ export default {
|
||||
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'END_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3013', tip: '鼠标左键点击【ATP进路】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
],
|
||||
config:{routeType:'ATP'}
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -456,7 +457,8 @@ export default {
|
||||
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'END_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3013', tip: '鼠标左键点击【ATP进路】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
],
|
||||
config:{routeType:'ATP'}
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -472,7 +474,8 @@ export default {
|
||||
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'END_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3032', tip: '鼠标左键点击【取消ATP】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
],
|
||||
config:{routeType:'ATP'}
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -488,7 +491,8 @@ export default {
|
||||
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'END_SIGNAL'},
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3032', tip: '鼠标左键点击【取消ATP】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
],
|
||||
config:{routeType:'ATP'}
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -682,9 +686,10 @@ export default {
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'START_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'END_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3013', tip: '鼠标左键点击【联锁进路】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3191', tip: '鼠标左键点击【联锁进路】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
],
|
||||
config:{routeType:'GROUND'}
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -698,9 +703,10 @@ export default {
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'START_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'END_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3032', tip: '鼠标左键点击【取消联锁】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3201', tip: '鼠标左键点击【取消联锁】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
],
|
||||
config:{routeType:'GROUND'}
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -714,9 +720,10 @@ export default {
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'START_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'END_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3013', tip: '鼠标左键点击【联锁进路】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3191', tip: '鼠标左键点击【联锁进路】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
],
|
||||
config:{routeType:'GROUND'}
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -730,9 +737,10 @@ export default {
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'START_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'END_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3032', tip: '鼠标左键点击【取消联锁】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3201', tip: '鼠标左键点击【取消联锁】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
],
|
||||
config:{routeType:'GROUND'}
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -753,7 +761,7 @@ export default {
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Signal_Human_Release_Route',
|
||||
operateType: 'Signal_Cancel_Guide',
|
||||
skinCode: '07',
|
||||
trainingName: '取消引导({3})',
|
||||
trainingRemark: '取消引导',
|
||||
@ -762,7 +770,7 @@ export default {
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'START_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'END_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3052', tip: '鼠标左键点击【取消引导】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3182', tip: '鼠标左键点击【取消引导】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
},
|
||||
@ -785,7 +793,7 @@ export default {
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Signal_Human_Release_Route',
|
||||
operateType: 'Signal_Cancel_Guide',
|
||||
skinCode: '07',
|
||||
trainingName: '取消引导({3})',
|
||||
trainingRemark: '取消引导',
|
||||
@ -794,7 +802,7 @@ export default {
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'START_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机', codeType:'END_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3052', tip: '鼠标左键点击【取消引导】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3182', tip: '鼠标左键点击【取消引导】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
},
|
||||
@ -917,6 +925,126 @@ export default {
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '5035', tip: '鼠标左键点击【取消越站】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Station_Close_AllSignal',
|
||||
skinCode: '07',
|
||||
trainingName: '关站信号({10})',
|
||||
trainingRemark: '关站信号',
|
||||
trainingType: 'Station',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该车站' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '6114', tip: '鼠标左键点击【关站信号】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Station_Set_CI_Auto_Trigger',
|
||||
skinCode: '07',
|
||||
trainingName: '追踪全开({10})',
|
||||
trainingRemark: '追踪全开',
|
||||
trainingType: 'Station',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该车站' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '6011', tip: '鼠标左键点击【追踪全开】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Station_Cancel_CI_Auto_Trigger',
|
||||
skinCode: '07',
|
||||
trainingName: '追踪全关({10})',
|
||||
trainingRemark: '追踪全关',
|
||||
trainingType: 'Station',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该车站' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '6021', tip: '鼠标左键点击【追踪全关】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Station_Open_Auto_Setting',
|
||||
skinCode: '07',
|
||||
trainingName: '自排全开({10})',
|
||||
trainingRemark: '自排全开',
|
||||
trainingType: 'Station',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该车站' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '6061', tip: '鼠标左键点击【自排全开】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Station_Close_Auto_Setting',
|
||||
skinCode: '07',
|
||||
trainingName: '自排全关({10})',
|
||||
trainingRemark: '自排全关',
|
||||
trainingType: 'Station',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该车站' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '6051', tip: '鼠标左键点击【自排全关】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Station_CIArea_Close_AllSignal',
|
||||
skinCode: '07',
|
||||
trainingName: '关区信号({10})',
|
||||
trainingRemark: '关区信号',
|
||||
trainingType: 'Station',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该车站' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '6124', tip: '鼠标左键点击【关区信号】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'CM_Receive_Control',
|
||||
skinCode: '07',
|
||||
trainingName: '接收控制({1})',
|
||||
trainingRemark: '接收控制',
|
||||
trainingType: 'ControlConvertMenu',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该车站' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '2024', tip: '鼠标左键点击【接收控制】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'CM_Surrender_Control',
|
||||
skinCode: '07',
|
||||
trainingName: '交出控制({1})',
|
||||
trainingRemark: '交出控制',
|
||||
trainingType: 'ControlConvertMenu',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该车站' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '2044', tip: '鼠标左键点击【交出控制】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
|
@ -86,31 +86,19 @@
|
||||
</template>
|
||||
</template>
|
||||
</div>
|
||||
<station-control ref="stationControl" />
|
||||
<detain-train-contorl ref="detainTrainContorl" />
|
||||
<detain-train-contorl-up-down ref="detainTrainContorlUpDown" />
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
<train-add ref="trainAdd" />
|
||||
<train-transtalet ref="trainTranstalet" />
|
||||
<train-delete ref="trainDelete" />
|
||||
<manage-user ref="manageUser" />
|
||||
<help-about ref="helpAbout" />
|
||||
<arrange-route ref="arrangeRoute" />
|
||||
<train-distribution ref="trainDistribution" />
|
||||
<stand-control ref="standControl" />
|
||||
<stand-detain ref="standDetain" />
|
||||
<interval-stop-number ref="intervalStopNumber" />
|
||||
<allocate-time ref="allocateTime" />
|
||||
<station-control ref="stationControl" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { TrainingMode, OperationEvent } from '@/scripts/ConstDic';
|
||||
import StationControl from './menuDialog/stationControl';
|
||||
import DetainTrainContorl from './menuDialog/detainTrainContorl';
|
||||
import DetainTrainContorlUpDown from './menuDialog/detainTrainContorlUpDown';
|
||||
import TrainAdd from './menuDialog/trainAdd';
|
||||
import TrainTranstalet from './menuDialog/trainTranstalet';
|
||||
import TrainDelete from './menuDialog/trainDelete';
|
||||
import ManageUser from './menuDialog/manageUser';
|
||||
import HelpAbout from './menuDialog/helpAbout';
|
||||
import ArrangeRoute from './menuDialog/arrangeRoute';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
import { EventBus } from '@/scripts/event-bus';
|
||||
@ -118,22 +106,22 @@ import { State2SimulationMap } from '@/scripts/cmdPlugin/Config';
|
||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||
import TrainDistribution from './menuDialog/trainDistribution';
|
||||
import StandControl from './menuDialog/standControl';
|
||||
import StandDetain from './menuDialog/standDetain';
|
||||
import IntervalStopNumber from './menuDialog/intervalStopNumber';
|
||||
import AllocateTime from './menuDialog/allocateTime';
|
||||
import StationControl from './menuDialog/stationControl';
|
||||
|
||||
export default {
|
||||
name: 'MenuBar',
|
||||
components: {
|
||||
NoticeInfo,
|
||||
StationControl,
|
||||
DetainTrainContorl,
|
||||
DetainTrainContorlUpDown,
|
||||
TrainAdd,
|
||||
TrainTranstalet,
|
||||
TrainDelete,
|
||||
ManageUser,
|
||||
HelpAbout,
|
||||
ArrangeRoute,
|
||||
TrainDistribution,
|
||||
StandControl
|
||||
StandControl,
|
||||
StandDetain,
|
||||
IntervalStopNumber,
|
||||
AllocateTime,
|
||||
StationControl
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
@ -278,19 +266,19 @@ export default {
|
||||
},
|
||||
{
|
||||
title: '设置/取消扣车',
|
||||
click: this.undeveloped
|
||||
click: this.setStandDetain
|
||||
},
|
||||
{
|
||||
title: '设置站间列车数量',
|
||||
click: this.undeveloped
|
||||
click: this.setIntervalStopNumber
|
||||
},
|
||||
{
|
||||
title: '分配停站时间',
|
||||
click: this.undeveloped
|
||||
click: this.setAllocateTime
|
||||
},
|
||||
{
|
||||
title: '授权转移',
|
||||
click: this.undeveloped
|
||||
click: this.authorizeTransfer
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
@ -692,19 +680,19 @@ export default {
|
||||
},
|
||||
{
|
||||
title: '设置/取消扣车',
|
||||
click: this.undeveloped
|
||||
click: this.setStandDetain
|
||||
},
|
||||
{
|
||||
title: '设置站间列车数量',
|
||||
click: this.undeveloped
|
||||
click: this.setIntervalStopNumber
|
||||
},
|
||||
{
|
||||
title: '分配停站时间',
|
||||
click: this.undeveloped
|
||||
click: this.setAllocateTime
|
||||
},
|
||||
{
|
||||
title: '授权转移',
|
||||
click: this.undeveloped
|
||||
click: this.authorizeTransfer
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
@ -1030,29 +1018,9 @@ export default {
|
||||
}
|
||||
return true;
|
||||
},
|
||||
initStationList() {
|
||||
const list = [];
|
||||
this.stationList.forEach(station => {
|
||||
if (station.visible) {
|
||||
const node = {
|
||||
title: station.name,
|
||||
operate: station.code,
|
||||
show: true,
|
||||
click: this.mapLocation,
|
||||
code: station.code
|
||||
};
|
||||
|
||||
list.push(node);
|
||||
}
|
||||
});
|
||||
return list;
|
||||
},
|
||||
initMenu(menu) {
|
||||
const type = State2SimulationMap[this.$store.state.training.prdType];
|
||||
this.menu = MenuContextHandler.menuBarConvert(this.menuNormal[type], this.$store.state.training.operatemode);
|
||||
// if (this.menu[2]) {
|
||||
// this.menu[2].children = this.initStationList();
|
||||
// }
|
||||
this.clickEvent();
|
||||
this.closeMenu(true);
|
||||
},
|
||||
@ -1139,173 +1107,8 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
// 设置地图定位
|
||||
mapLocation(code) {
|
||||
if (code) {
|
||||
this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: code });
|
||||
this.closeMenu(true);
|
||||
}
|
||||
},
|
||||
// 站遥控
|
||||
stationRemoteControl(order) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: order.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.stationControl.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 设置全线扣车
|
||||
setDetainTrainAll(order) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: order.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.detainTrainContorl.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 取消全线扣车
|
||||
cancelDetainTrainAll(order) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: order.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.detainTrainContorl.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 取消上行扣车
|
||||
cancelUpDetainTrainAll(order) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: order.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.detainTrainContorlUpDown.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 取消下行扣车
|
||||
cancelDownDetainTrainAll(order) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: order.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.detainTrainContorlUpDown.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 添加计划车
|
||||
addPlanTrain(order) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: order.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainAdd.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 平移计划车
|
||||
translatPlanTrain(order) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: order.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainTranstalet.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 删除计划车
|
||||
delPlanTrain(order) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: order.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainDelete.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 用户管理
|
||||
userManage(order) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: order.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.manageUser.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 关于
|
||||
about(order) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: order.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.helpAbout.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 刷新
|
||||
refresh() {
|
||||
this.closeMenu(true);
|
||||
EventBus.$emit('refresh');
|
||||
},
|
||||
getLoginResult(operate) {
|
||||
/** 密码校验*/
|
||||
if (operate.operation == OperationEvent.StationControl.forcedStationControl.passwordConfirm.operation) {
|
||||
if (operate.success) {
|
||||
/** 校验成功*/
|
||||
this.$refs.stationControlConvert.doShow({ operation: OperationEvent.StationControl.forcedStationControl.mbar.operation });
|
||||
}
|
||||
}
|
||||
},
|
||||
undeveloped() {
|
||||
this.doClose();
|
||||
this.closeMenu(true);
|
||||
this.$alert('实现中......', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
callback: action => {
|
||||
@ -1328,6 +1131,22 @@ export default {
|
||||
standOpenOrClose() {
|
||||
this.closeMenu(true);
|
||||
this.$refs.standControl.doShow();
|
||||
},
|
||||
setStandDetain() {
|
||||
this.closeMenu(true);
|
||||
this.$refs.standDetain.doShow();
|
||||
},
|
||||
setIntervalStopNumber() {
|
||||
this.closeMenu(true);
|
||||
this.$refs.intervalStopNumber.doShow();
|
||||
},
|
||||
setAllocateTime() {
|
||||
this.closeMenu(true);
|
||||
this.$refs.allocateTime.doShow();
|
||||
},
|
||||
authorizeTransfer() {
|
||||
this.closeMenu(true);
|
||||
this.$refs.stationControl.doShow();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
190
src/jmapNew/theme/ningbo_03/menus/menuDialog/allocateTime.vue
Normal file
190
src/jmapNew/theme/ningbo_03/menus/menuDialog/allocateTime.vue
Normal file
@ -0,0 +1,190 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="800px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||
<el-row>
|
||||
<el-table :data="stationStandList" height="150px">
|
||||
<el-table-column prop="name" label="站台" />
|
||||
<el-table-column prop="minTime" label="最小停站时间" />
|
||||
<el-table-column prop="time" label="规定停站时间" />
|
||||
<el-table-column prop="maxTime" label="最大停站时间" />
|
||||
</el-table>
|
||||
<el-checkbox v-model="checkAll">所有站台(L)</el-checkbox>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<div style="position: relative; top: 15px;left: 5px;background: #F0F0F0;width: 80px;text-align: center;">计划列车</div>
|
||||
<div style="border: 1px solid #ADADAD;padding: 10px 0;">
|
||||
<el-row style="text-align: center">
|
||||
<el-col :span="8" :offset="8">分配</el-col>
|
||||
<el-col :span="8">时刻表</el-col>
|
||||
</el-row>
|
||||
<el-row style="text-align: center">
|
||||
<el-col :span="8">最小值</el-col>
|
||||
<el-col :span="8">
|
||||
<el-input-number v-model="minTime" controls-position="right" size="mini" :min="0" :max="999" style="width: 100px;" />
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-input v-model="minTimeValue" size="mini" style="width: 80px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="text-align: center">
|
||||
<el-col :span="8">最大值</el-col>
|
||||
<el-col :span="8">
|
||||
<el-input-number v-model="maxTime" controls-position="right" size="mini" :min="0" :max="999" style="width: 100px;" />
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-input v-model="maxTimeValue" size="mini" style="width: 80px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<el-row style="text-align: center;padding: 10px 0;">
|
||||
<el-col :span="8">当前值</el-col>
|
||||
<el-col :span="8">
|
||||
<el-input-number v-model="currentTime" controls-position="right" size="mini" :min="0" :max="999" style="width: 100px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="11" :offset="1">
|
||||
<div style="position: relative; top: 15px;left: 5px;background: #F0F0F0;width: 80px;text-align: center;">非计划列车</div>
|
||||
<div style="border: 1px solid #ADADAD;padding: 10px 0;">
|
||||
<el-row style="text-align: center;">
|
||||
<el-col :span="8" :offset="8">分配</el-col>
|
||||
<el-col :span="8">默认值</el-col>
|
||||
</el-row>
|
||||
<el-row style="text-align: center;">
|
||||
<el-col :span="8">额定值</el-col>
|
||||
<el-col :span="8">
|
||||
<el-input-number v-model="ratedValue" controls-position="right" size="mini" :min="0" :max="999" style="width: 100px;" />
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-input v-model="ratedValue11" size="mini" style="width: 80px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<el-row style="padding: 10px 0;">
|
||||
<el-button @click="handleReset">复位</el-button>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<div style="padding: 2px 20px;border: 1px solid #ADADAD;width: 180px;text-align: center;">停站时间范围:1-999</div>
|
||||
</el-row>
|
||||
</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-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>应用(A)</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-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
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';
|
||||
export default {
|
||||
name: 'AllocateTime',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
display: true,
|
||||
checkAll: false,
|
||||
minTime: 0,
|
||||
minTimeValue: '',
|
||||
maxTime: 0,
|
||||
ratedValue: 0,
|
||||
maxTimeValue: '',
|
||||
currentTime: 0,
|
||||
ratedValue11: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdChoose() {
|
||||
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '分配停站时间';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.map.keyboardEnterCount': function (val) {
|
||||
if (this.show) {
|
||||
this.commit();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,而是第一次显示,则需要设置初始值
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
commit() {
|
||||
},
|
||||
handleReset() {
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.doClose();
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.menu-li {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
text-align: left;
|
||||
list-style:none;
|
||||
padding-left: 5px;
|
||||
border-right: 2px solid #696969;
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
@ -36,7 +36,7 @@
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="4" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="commitDisabled" @click="commit">确定(O)</el-button>
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>应用(A)</el-button>
|
||||
@ -55,8 +55,8 @@
|
||||
<script>
|
||||
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 {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus';
|
||||
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
// import {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
@ -73,16 +73,8 @@ export default {
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
row: null,
|
||||
operation: '',
|
||||
display: true,
|
||||
stationName: '',
|
||||
signalName: '',
|
||||
selectStandCode: '',
|
||||
displayCopyPath: false,
|
||||
tableStyle: {
|
||||
'border-bottom': 'none'
|
||||
}
|
||||
selectStandCode: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -103,18 +95,11 @@ export default {
|
||||
},
|
||||
title() {
|
||||
return '列车排进路';
|
||||
},
|
||||
commitDisabled() {
|
||||
let disabled = true;
|
||||
if (this.row) {
|
||||
disabled = !this.row.canSetting;
|
||||
}
|
||||
return disabled;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.map.keyboardEnterCount': function (val) {
|
||||
if (this.show && !this.commitDisabled) {
|
||||
if (this.show) {
|
||||
this.commit();
|
||||
}
|
||||
}
|
||||
@ -139,40 +124,13 @@ export default {
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.restoreBeforeDevices();
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
mouseCancelState(this.selected);
|
||||
},
|
||||
restoreBeforeDevices() {
|
||||
// 恢复之前选中设备
|
||||
if (this.beforeSectionList && this.beforeSectionList.length) {
|
||||
this.beforeSectionList.forEach(elem => {
|
||||
elem.cutOff = false;
|
||||
});
|
||||
}
|
||||
this.$store.dispatch('training/updateMapState', [...this.beforeSectionList]);
|
||||
this.beforeSectionList = [];
|
||||
// mouseCancelState(this.selected);
|
||||
},
|
||||
commit() {
|
||||
if (this.row && this.row.canSetting) {
|
||||
this.loading = true;
|
||||
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode:this.row.code}, 2).then(({valid})=>{
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
}
|
||||
},
|
||||
handleClick() {
|
||||
|
||||
},
|
||||
selectStand(stationStand) {
|
||||
this.selectStandCode = stationStand.code;
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
|
@ -1,213 +0,0 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="ningbo-01__systerm station-control"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="400px"
|
||||
:before-close="doClose"
|
||||
:show-close="true"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-radio-group v-model="control">
|
||||
<el-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px;padding-top:10px">
|
||||
<el-radio :label="item" :disabled="controlPropDisabled[item]">{{ controlProps[item] }}</el-radio>
|
||||
</el-row>
|
||||
</el-radio-group>
|
||||
<el-row type="flex" justify="center" class="button-group">
|
||||
<el-button :id="domIdCommit" :disabled="disabledCommit" @click="handleCommit">设置</el-button>
|
||||
<el-button :id="domIdCancel" :disabled="disabledClose" style="margin-left: 200px" @click="cancel">退出
|
||||
</el-button>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
|
||||
export default {
|
||||
name: 'StationStand',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
operate: null,
|
||||
dialogShow: false,
|
||||
disabledClose: false,
|
||||
disabledCommit: false,
|
||||
control: '01',
|
||||
controlProps: {
|
||||
'01': '全线扣车',
|
||||
'02': '取消全线扣车'
|
||||
},
|
||||
controlPropDisabled:{
|
||||
'01':false,
|
||||
'02':false
|
||||
}
|
||||
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationList'
|
||||
]),
|
||||
...mapGetters('training', [
|
||||
'mode',
|
||||
'started'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
title() {
|
||||
if (this.dialogShow) {
|
||||
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
|
||||
return '全线扣车';
|
||||
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
|
||||
return '取消全线扣车';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
domIdCommit() {
|
||||
if (this.dialogShow) {
|
||||
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
|
||||
return OperationEvent.StationStand.setDetainTrainAll.menu.domId;
|
||||
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
|
||||
return OperationEvent.StationStand.cancelDetainTrainAll.menu.domId;
|
||||
}
|
||||
}
|
||||
return '';
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.map.keyboardEnterCount': function (val) {
|
||||
if (this.show && !this.disabledCommit) {
|
||||
this.handleCommit();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate) {
|
||||
if (!this.dialogShow) {
|
||||
this.operate = operate || {};
|
||||
this.operation = operate.operation;
|
||||
}
|
||||
|
||||
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
|
||||
// 设置全线扣车
|
||||
this.control = '01';
|
||||
this.controlPropDisabled['01'] = false;
|
||||
this.controlPropDisabled['02'] = true;
|
||||
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
|
||||
// 取消全线扣车
|
||||
this.control = '02';
|
||||
this.controlPropDisabled['01'] = true;
|
||||
this.controlPropDisabled['02'] = false;
|
||||
}
|
||||
|
||||
this.dialogShow = true;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
doClose() {
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 路由指令
|
||||
handleCommit() {
|
||||
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
|
||||
// 设置全线扣车
|
||||
this.setDetainTrainAll();
|
||||
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
|
||||
// 取消全线扣车
|
||||
this.cancelDetainTrainAll();
|
||||
}
|
||||
},
|
||||
|
||||
// 设置全线扣车
|
||||
setDetainTrainAll() {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.StationStand.type,
|
||||
operation: OperationEvent.StationStand.setDetainTrainAll.menu.operation,
|
||||
val: this.control,
|
||||
messages: ['确认设置全线扣车!']
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.doClose();
|
||||
} else {
|
||||
this.disabledSure = false;
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
|
||||
// 取消全线扣车
|
||||
cancelDetainTrainAll() {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.StationStand.type,
|
||||
operation: OperationEvent.StationStand.cancelDetainTrainAll.menu.operation,
|
||||
val: this.control,
|
||||
messages: ['确认取消全线扣车!']
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.doClose();
|
||||
} else {
|
||||
this.disabledSure = false;
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped rel="stylesheet/scss" lang="scss">
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
/deep/ .el-radio {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
@ -1,209 +0,0 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="ningbo-01__systerm station-control"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="400px"
|
||||
:before-close="doClose"
|
||||
:show-close="true"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-radio-group v-model="control">
|
||||
<el-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px;padding-top:10px">
|
||||
<el-radio :label="item" :disabled="controlPropDisabled[item]">{{ controlProps[item] }}</el-radio>
|
||||
</el-row>
|
||||
</el-radio-group>
|
||||
<el-row type="flex" justify="center" class="button-group">
|
||||
<el-button :id="domIdCommit" :disabled="disabledCommit" @click="handleCommit">设置</el-button>
|
||||
<el-button :id="domIdCancel" :disabled="disabledClose" style="margin-left: 200px" @click="cancel">退出
|
||||
</el-button>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
|
||||
export default {
|
||||
name: 'StationStand',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
operate: null,
|
||||
dialogShow: false,
|
||||
disabledClose: false,
|
||||
disabledCommit: false,
|
||||
control: '01',
|
||||
controlProps: {
|
||||
'01': '取消上行扣车',
|
||||
'02': '取消下行扣车'
|
||||
},
|
||||
controlPropDisabled:{
|
||||
'01':false,
|
||||
'02':false
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationList'
|
||||
]),
|
||||
...mapGetters('training', [
|
||||
'mode',
|
||||
'started'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
title() {
|
||||
if (this.dialogShow) {
|
||||
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
|
||||
return '取消上行扣车';
|
||||
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
|
||||
return '取消下行扣车';
|
||||
}
|
||||
}
|
||||
return '';
|
||||
},
|
||||
domIdCommit() {
|
||||
if (this.dialogShow) {
|
||||
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
|
||||
return OperationEvent.StationStand.cancelUpDetainTrainAll.menu.domId;
|
||||
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
|
||||
return OperationEvent.StationStand.cancelDownDetainTrainAll.menu.domId;
|
||||
}
|
||||
}
|
||||
return '';
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.map.keyboardEnterCount': function (val) {
|
||||
if (this.show && !this.disabledCommit) {
|
||||
this.handleCommit();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate) {
|
||||
if (!this.dialogShow) {
|
||||
this.operate = operate || {};
|
||||
this.operation = operate.operation;
|
||||
}
|
||||
|
||||
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
|
||||
// 取消全线上行扣车
|
||||
this.control = '01';
|
||||
this.controlPropDisabled['01'] = false;
|
||||
this.controlPropDisabled['02'] = true;
|
||||
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
|
||||
// 取消全线下行扣车
|
||||
this.control = '02';
|
||||
this.controlPropDisabled['01'] = true;
|
||||
this.controlPropDisabled['02'] = false;
|
||||
}
|
||||
|
||||
this.dialogShow = true;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
doClose() {
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 路由指令
|
||||
handleCommit() {
|
||||
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
|
||||
// 取消全线上行扣车
|
||||
this.cancelUpDetainTrainAll();
|
||||
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
|
||||
// 取消全线下行扣车
|
||||
this.cancelDownDetainTrainAll();
|
||||
}
|
||||
},
|
||||
|
||||
// 取消全线上行扣车
|
||||
cancelUpDetainTrainAll() {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.StationStand.type,
|
||||
operation: OperationEvent.StationStand.cancelUpDetainTrainAll.menu.operation,
|
||||
val: this.control,
|
||||
messages: ['确认取消全线上行扣车!']
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.doClose();
|
||||
} else {
|
||||
this.disabledSure = false;
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
|
||||
// 取消全线下行扣车
|
||||
cancelDetainTrainAll() {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.StationStand.type,
|
||||
operation: OperationEvent.StationStand.cancelDownDetainTrainAll.menu.operation,
|
||||
val: this.control,
|
||||
messages: ['确认取消全线下行扣车!']
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.doClose();
|
||||
} else {
|
||||
this.disabledSure = false;
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped rel="stylesheet/scss" lang="scss">
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
/deep/ .el-radio {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
@ -1,131 +0,0 @@
|
||||
<template>
|
||||
<el-dialog class="ningbo-01__systerm manage-user" :title="title" :visible.sync="show" width="600px" :before-close="doClose"
|
||||
:zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag>
|
||||
<div style="height: 70px;">
|
||||
<div style="position: relative; left: 10px;">
|
||||
</div>
|
||||
<div style="position: relative; left: 80px;">
|
||||
<div style="width:100%">
|
||||
<span style="padding-left: 60px">ControlMonitor 1.3.5.0</span>
|
||||
<el-button style="position: absolute; right: 95px;" :id="domIdConfirm" type="primary"
|
||||
:loading="loading" @click="commit">确定</el-button>
|
||||
</div>
|
||||
<div style="width:100%; padding-top: 20px">
|
||||
<span> 版权所有(C)2010-2011 北京玖琏科技有限公司</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 10px; margin: 5px; ">
|
||||
<el-table :data="tableData" style="width: 100%;" height="400">
|
||||
<el-table-column prop="moduleName" label="模块名称" width="180">
|
||||
</el-table-column>
|
||||
<el-table-column prop="version" label="版本" width="180">
|
||||
</el-table-column>
|
||||
<el-table-column prop="updateDate" label="修改日期">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
|
||||
export default {
|
||||
name: 'ManageUser',
|
||||
data() {
|
||||
return {
|
||||
tableData: [
|
||||
{
|
||||
moduleName: '主程序版本:',
|
||||
version: '123',
|
||||
updateDate: '123'
|
||||
}
|
||||
],
|
||||
operate: {},
|
||||
operation: null,
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '关于ControlMonitor'
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
doShow(operate) {
|
||||
//非断电激活时设置初始值
|
||||
if (!this.dialogShow) {
|
||||
this.loading = false;
|
||||
this.operate = operate || {};
|
||||
this.operation = operate.operation;
|
||||
}
|
||||
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
commit() {
|
||||
let operate = {
|
||||
type: this.operate.type,
|
||||
operation: OperationEvent.Command.close.menu.operation,
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(error => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
let operate = {
|
||||
type: this.operate.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation,
|
||||
}
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(error => { this.doClose(); });
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.ningbo-01__systerm .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -10px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,164 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="600px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-table :data="tableData" height="350px">
|
||||
<el-table-column prop="name" label="区间名称" />
|
||||
<el-table-column prop="name" label="可用状态" />
|
||||
<el-table-column prop="name" label="运行方向" />
|
||||
<el-table-column prop="groupNumber" label="区间车站" />
|
||||
</el-table>
|
||||
</el-col>
|
||||
<el-col :span="7" :offset="1">
|
||||
<div class="set-status-box">
|
||||
<div class="set-status-title">状态设置</div>
|
||||
<el-radio v-model="status" :label="true">启用</el-radio>
|
||||
<br>
|
||||
<el-radio v-model="status" :label="false">禁用</el-radio>
|
||||
</div>
|
||||
<el-input v-model="value" size="small" style="position: relative; top: 80px;" />
|
||||
|
||||
<el-checkbox-group v-model="checkedDirection" style="position: relative; top: 90px;" @change="handleCheckedDirectionChange">
|
||||
<el-checkbox label="up">所有上行</el-checkbox>
|
||||
<el-checkbox label="down">所有下行</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
<el-checkbox v-model="checkAll" style="position: relative; top: 90px;" :indeterminate="isIndeterminate" @change="handleCheckAllChange">全选</el-checkbox>
|
||||
</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-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>应用(A)</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-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
|
||||
export default {
|
||||
name: 'IntervalStopNumber',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
status: false,
|
||||
value: '',
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
checkedDirection: '',
|
||||
isIndeterminate: true,
|
||||
checkAll: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdChoose() {
|
||||
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '区间停车数量';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.map.keyboardEnterCount': function (val) {
|
||||
if (this.show) {
|
||||
this.commit();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,而是第一次显示,则需要设置初始值
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
commit() {
|
||||
},
|
||||
handleClick() {
|
||||
|
||||
},
|
||||
handleCheckedDirectionChange(value) {
|
||||
const checkedCount = value.length;
|
||||
this.checkAll = checkedCount === 2;
|
||||
this.isIndeterminate = checkedCount > 0 && checkedCount < 2;
|
||||
},
|
||||
handleCheckAllChange(val) {
|
||||
this.checkedDirection = val ? ['up', 'down'] : [];
|
||||
this.isIndeterminate = false;
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.doClose();
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.menu-li {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
text-align: left;
|
||||
list-style:none;
|
||||
padding-left: 5px;
|
||||
border-right: 2px solid #696969;
|
||||
color: #000;
|
||||
}
|
||||
.set-status-box {
|
||||
position: relative;
|
||||
top: 50px;
|
||||
border: 1px solid #AFAFAF;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.set-status-title{
|
||||
position: relative;
|
||||
top: -15px;
|
||||
background: #F0F0F0;
|
||||
width: 60px;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
@ -1,290 +0,0 @@
|
||||
<template>
|
||||
<el-dialog class="ningbo-01__systerm manage-user" :title="title" :visible.sync="show" width="420px"
|
||||
:before-close="doClose" :zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag>
|
||||
<div style="padding: 5px 5px; border: 1px double lightgray; margin: 20px 0px; ">
|
||||
<span class="base-label">用户列表</span>
|
||||
<el-row>
|
||||
<el-col :span="18">
|
||||
<el-table ref="multipleTable" :data="tableData" border row-key="code" style="width: 100%"
|
||||
height="450" center size="mini" highlight-current-row @row-click="chooseUser">
|
||||
<el-table-column prop="jobNumber" label="工号" width="120">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.jobNumber}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="userName" label="用户名">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.userName}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="20">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button style="margin-top: 140px; margin-left: 10px;" :id="domIdFreshUser" @click="freshUser">刷新
|
||||
</el-button>
|
||||
<el-button style="margin-top: 30px; margin-left: 10px;" :id="domIdAddUser" @click="addUser">增加
|
||||
</el-button>
|
||||
<el-button style="margin-top: 30px; margin-left: 10px;" :id="domIdEditUser" @click="editUser">修改
|
||||
</el-button>
|
||||
<el-button style="margin-top: 30px; margin-left: 10px;" :id="domIdDelUser" @click="delUser">删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="8" :offset="6">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="0">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<user-add ref="userAdd" @operateUser="operateUser"></user-add>
|
||||
<user-edit ref="userEdit" @operateUser="operateUser"></user-edit>
|
||||
<user-delete ref="userDelete" @operateUser="operateUser"></user-delete>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import UserAdd from './childDialog/userAdd';
|
||||
import UserEdit from './childDialog/userEdit';
|
||||
import UserDelete from './childDialog/userDelete';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
|
||||
export default {
|
||||
name: 'ManageUser',
|
||||
components: {
|
||||
UserAdd,
|
||||
UserEdit,
|
||||
UserDelete
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
operate: {},
|
||||
operation: null,
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdAddUser() {
|
||||
return this.dialogShow ? OperationEvent.Command.manage.addUser.domId : '';
|
||||
},
|
||||
domIdEditUser() {
|
||||
return this.dialogShow ? OperationEvent.Command.manage.editUser.domId : '';
|
||||
},
|
||||
domIdDelUser() {
|
||||
return this.dialogShow ? OperationEvent.Command.manage.delUser.domId : '';
|
||||
},
|
||||
domIdFreshUser() {
|
||||
return this.dialogShow ? OperationEvent.Command.manage.freshUser.domId : '';
|
||||
},
|
||||
domIdChooseUser() {
|
||||
return this.dialogShow ? OperationEvent.Command.manage.chooseUser.domId : '';
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '用户管理'
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
doShow(operate) {
|
||||
//非断电激活时设置初始值
|
||||
if (!this.dialogShow) {
|
||||
this.loading = false;
|
||||
this.operate = operate || {};
|
||||
this.operation = operate.operation;
|
||||
}
|
||||
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
//添加用户
|
||||
addUser() {
|
||||
let operate = {
|
||||
type: this.operate.type,
|
||||
operation: OperationEvent.Command.manage.addUser.operation,
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.$refs.userAdd.doShow(operate);
|
||||
}
|
||||
}).catch(error => {
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
//编辑用户
|
||||
editUser() {
|
||||
if (this.selected) {
|
||||
let operate = {
|
||||
type: this.operate.type,
|
||||
operation: OperationEvent.Command.manage.editUser.operation,
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.$refs.userEdit.doShow(operate, this.selected);
|
||||
}
|
||||
}).catch(error => {
|
||||
this.loading = false;
|
||||
})
|
||||
} else {
|
||||
this.$messageBox('请先选择用户');
|
||||
}
|
||||
},
|
||||
//删除用户
|
||||
delUser() {
|
||||
if (this.selected) {
|
||||
let operate = {
|
||||
type: this.operate.type,
|
||||
operation: OperationEvent.Command.manage.delUser.operation,
|
||||
messages: [`你确定删除用户${this.selected.userName}吗?`]
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.$refs.userDelete.doShow(operate, this.selected);
|
||||
}
|
||||
}).catch(error => {
|
||||
this.loading = false;
|
||||
})
|
||||
} else {
|
||||
this.$messageBox('请先选择用户');
|
||||
}
|
||||
},
|
||||
//刷新用户
|
||||
freshUser() {
|
||||
let operate = {
|
||||
type: this.operate.type,
|
||||
operation: OperationEvent.Command.manage.freshUser.operation,
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
}).catch(error => {
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
//选择用户
|
||||
chooseUser(row) {
|
||||
let operate = {
|
||||
type: this.operate.type,
|
||||
operation: OperationEvent.Command.manage.chooseUser.operation,
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
this.selected = row;
|
||||
}).catch(error => {
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
commit() {
|
||||
let operate = {
|
||||
type: this.operate.type,
|
||||
operation: OperationEvent.Command.close.menu.operation,
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(error => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
let operate = {
|
||||
type: this.operate.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation,
|
||||
}
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(error => { this.doClose(); });
|
||||
},
|
||||
//增删改函数处理
|
||||
operateUser(data) {
|
||||
if (data && data.type === 'ADD') {
|
||||
let index = this.tableData.indexOf(this.tableData.find(elem => { return elem.jobNumber === data.jobNumber }));
|
||||
if (index < 0) {
|
||||
this.tableData.push({
|
||||
jobNumber: data.jobNumber,
|
||||
userName: data.userName,
|
||||
password: data.password
|
||||
});
|
||||
} else {
|
||||
this.$messageBox('添加失败,存在相同工号的用户');
|
||||
}
|
||||
} else if (data && data.type === 'EDIT') {
|
||||
let index = this.tableData.indexOf(this.tableData.find(elem => { return elem.jobNumber === data.jobNumber }));
|
||||
if (index >= 0) {
|
||||
this.tableData[index].password = data.password;
|
||||
this.tableData[index].userName = data.userName;
|
||||
} else {
|
||||
this.$messageBox('修改失败');
|
||||
}
|
||||
} else if (data && data.type === 'DELETE') {
|
||||
let index = this.tableData.indexOf(this.tableData.find(elem => { return elem.jobNumber === data.jobNumber }));
|
||||
if (index >= 0) {
|
||||
this.tableData.splice(index, 1);
|
||||
} else {
|
||||
this.$messageBox('删除失败');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.ningbo-01__systerm .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -10px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
</style>
|
@ -5,11 +5,7 @@
|
||||
<el-table :data="stationStandList" height="350px">
|
||||
<el-table-column prop="name" label="站台" />
|
||||
<el-table-column prop="groupNumber" label="状态">
|
||||
<template slot-scope="scope">
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<span>打开</span>
|
||||
</div>
|
||||
</template>
|
||||
<span>打开</span>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
@ -25,7 +21,7 @@
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="4" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="commitDisabled" @click="commit">确定(O)</el-button>
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>应用(A)</el-button>
|
||||
@ -44,7 +40,7 @@
|
||||
<script>
|
||||
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 {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
@ -54,26 +50,12 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tempData: [],
|
||||
tableData: [],
|
||||
activeName: 'first',
|
||||
status: false,
|
||||
standStatus: true,
|
||||
allChecked: false,
|
||||
beforeSectionList: [],
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
row: null,
|
||||
operation: '',
|
||||
display: true,
|
||||
stationName: '',
|
||||
signalName: '',
|
||||
selectStandCode: '',
|
||||
displayCopyPath: false,
|
||||
tableStyle: {
|
||||
'border-bottom': 'none'
|
||||
}
|
||||
selected: null
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -94,18 +76,11 @@ export default {
|
||||
},
|
||||
title() {
|
||||
return '站台开放/关闭';
|
||||
},
|
||||
commitDisabled() {
|
||||
let disabled = true;
|
||||
if (this.row) {
|
||||
disabled = !this.row.canSetting;
|
||||
}
|
||||
return disabled;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.map.keyboardEnterCount': function (val) {
|
||||
if (this.show && !this.commitDisabled) {
|
||||
if (this.show) {
|
||||
this.commit();
|
||||
}
|
||||
}
|
||||
@ -116,10 +91,7 @@ export default {
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
expandPath() {
|
||||
console.log('展开进路预览');
|
||||
},
|
||||
doShow(operate, selected, tempData) {
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,而是第一次显示,则需要设置初始值
|
||||
this.dialogShow = true;
|
||||
@ -130,40 +102,12 @@ export default {
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.restoreBeforeDevices();
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
// mouseCancelState(this.selected);
|
||||
},
|
||||
restoreBeforeDevices() {
|
||||
// 恢复之前选中设备
|
||||
if (this.beforeSectionList && this.beforeSectionList.length) {
|
||||
this.beforeSectionList.forEach(elem => {
|
||||
elem.cutOff = false;
|
||||
});
|
||||
}
|
||||
this.$store.dispatch('training/updateMapState', [...this.beforeSectionList]);
|
||||
this.beforeSectionList = [];
|
||||
},
|
||||
commit() {
|
||||
if (this.row && this.row.canSetting) {
|
||||
this.loading = true;
|
||||
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode:this.row.code}, 2).then(({valid})=>{
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
}
|
||||
},
|
||||
handleClick() {
|
||||
|
||||
},
|
||||
selectStand(stationStand) {
|
||||
this.selectStandCode = stationStand.code;
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
|
175
src/jmapNew/theme/ningbo_03/menus/menuDialog/standDetain.vue
Normal file
175
src/jmapNew/theme/ningbo_03/menus/menuDialog/standDetain.vue
Normal file
@ -0,0 +1,175 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="600px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-tabs type="border-card">
|
||||
<el-tab-pane label="站台">
|
||||
<el-table :data="stationStandList" height="350px">
|
||||
<el-table-column prop="name" label="站台" />
|
||||
<el-table-column prop="detain" label="扣车">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getDetainStatus(scope.row.code) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" label="状态">
|
||||
<!--<template slot-scope="scope">-->
|
||||
<!--<div slot="reference" class="name-wrapper">-->
|
||||
<span>打开</span>
|
||||
<!--</div>-->
|
||||
<!--</template>-->
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-checkbox v-model="allChecked">所有站台(F)</el-checkbox>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="系统">系统</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-col>
|
||||
<el-col :span="7" :offset="1">
|
||||
<div class="set-status-box">
|
||||
<div class="set-status-title">设置状态</div>
|
||||
<el-radio v-model="status" :disabled="standStatus" :label="true">设置</el-radio>
|
||||
<br>
|
||||
<el-radio v-model="status" :disabled="!standStatus" :label="false">取消</el-radio>
|
||||
</div>
|
||||
</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-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>应用(A)</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-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
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';
|
||||
|
||||
export default {
|
||||
name: 'StandDetain',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
status: false,
|
||||
standStatus: true,
|
||||
allChecked: false,
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdChoose() {
|
||||
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '扣车';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.map.keyboardEnterCount': function (val) {
|
||||
if (this.show) {
|
||||
this.commit();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
expandPath() {
|
||||
console.log('展开进路预览');
|
||||
},
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,而是第一次显示,则需要设置初始值
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
commit() {
|
||||
},
|
||||
handleClick() {
|
||||
|
||||
},
|
||||
getDetainStatus(code) {
|
||||
const stand = this.$store.getters['map/getDeviceByCode'](code);
|
||||
if (!stand.stationHoldTrain && !stand.centerHoldTrain) {
|
||||
return '未扣车';
|
||||
} else {
|
||||
return '扣车';
|
||||
}
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.doClose();
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.menu-li {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
text-align: left;
|
||||
list-style:none;
|
||||
padding-left: 5px;
|
||||
border-right: 2px solid #696969;
|
||||
color: #000;
|
||||
}
|
||||
.set-status-box {
|
||||
position: relative;
|
||||
top: 200px;
|
||||
border: 1px solid #AFAFAF;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.set-status-title{
|
||||
position: relative;
|
||||
top: -15px;
|
||||
background: #F0F0F0;
|
||||
width: 60px;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
@ -2,61 +2,62 @@
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="ningbo-01__systerm station-control"
|
||||
title="控制模式转换"
|
||||
title="授权转移"
|
||||
:visible.sync="show"
|
||||
width="400px"
|
||||
width="600px"
|
||||
:before-close="doClose"
|
||||
:show-close="true"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-row> 集中站 </el-row>
|
||||
<el-row style="margin-bottom: 20px">
|
||||
<el-select
|
||||
:id="domIdChooseStation"
|
||||
ref="chooseStation"
|
||||
v-model="station"
|
||||
value-key="code"
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
style="width: 100%;"
|
||||
@change="handleChooseChangeStation"
|
||||
>
|
||||
<el-option v-for="item in concertrateStationList" :key="item.code" :label="item.name" :value="item" />
|
||||
</el-select>
|
||||
|
||||
<el-col :span="18">
|
||||
<el-table :data="stationList" style="width: 100%;" height="350px">
|
||||
<el-table-column prop="name" label="控制区域" />
|
||||
<el-table-column prop="userId" label="用户ID" />
|
||||
</el-table>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<div style="position: relative;top: 110px;left: 20px;color: #000;width: 60px;text-align: center;background: #F0F0F0;">接收转移</div>
|
||||
<div style="position: relative; top: 100px;border: 1px solid #BBBBBB; text-align: center;width: 100px;left: 18px;padding: 10px;">
|
||||
<el-radio v-model="accept" :label="true" style="display: block;margin-bottom: 10px;">是</el-radio>
|
||||
<el-radio v-model="accept" :label="false" style="display: block;">否</el-radio>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-radio-group :id="domIdChooseControl" v-model="stationType">
|
||||
<el-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px">
|
||||
<el-radio :label="item" @change="handleChooseChangeControl">
|
||||
{{ controlProps[item] }}</el-radio>
|
||||
</el-row>
|
||||
</el-radio-group>
|
||||
<div class="message" style="color:#ff0000;font-size:14px;margin-left:10px">{{ message }}</div>
|
||||
<el-row type="flex" justify="center" class="button-group">
|
||||
<el-button :id="domIdCommit" :disabled="disabledCommit" @click="handleCommit">设置</el-button>
|
||||
<el-button :id="domIdCancel" :disabled="disabledClose" style="margin-left: 200px" @click="cancel">退出
|
||||
</el-button>
|
||||
<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-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>应用(A)</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-col>
|
||||
</el-row>
|
||||
|
||||
<two-confirmation ref="twoConfirmation" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import TwoConfirmation from './childDialog/twoConfirmation';
|
||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
|
||||
export default {
|
||||
name: 'StationControl',
|
||||
components: {
|
||||
TwoConfirmation
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
accept: false,
|
||||
operate: null,
|
||||
dialogShow: false,
|
||||
disabledClose: false,
|
||||
@ -121,43 +122,24 @@ export default {
|
||||
}
|
||||
},
|
||||
'$store.state.map.controlTransfer':function (controlTransferList) {
|
||||
controlTransferList.forEach(controlTransfer=>{
|
||||
this.updateTableValue(controlTransfer);
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.stationList.forEach(item => {
|
||||
if (item.centralized) {
|
||||
this.tableData.push(item);
|
||||
}
|
||||
});
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate) {
|
||||
doShow() {
|
||||
this.message = '';
|
||||
if (!this.dialogShow) {
|
||||
this.operate = operate || {};
|
||||
this.operation = operate.operation;
|
||||
}
|
||||
this.dialogShow = true;
|
||||
// if (this.$store.state.training.prdType == '01') {
|
||||
// this.controlProps = {
|
||||
// '03': '紧急站控',
|
||||
// '02': '站控'
|
||||
// };
|
||||
// }
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
updateTableValue(controlTransfer) {
|
||||
this.concertrateStationList.forEach((row, index) => {
|
||||
if (row.code == controlTransfer.code) {
|
||||
if (controlTransfer.applicantId) {
|
||||
this.disabledCommit = true;
|
||||
} else {
|
||||
this.disabledCommit = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
@ -183,15 +165,6 @@ export default {
|
||||
operation: OperationEvent.Command.order.choose1.operation,
|
||||
val: this.stationCode
|
||||
};
|
||||
|
||||
// if (this.stationType == '01') {
|
||||
// operate.operation = OperationEvent.StationControl.requestCentralControl.choose1.operation
|
||||
// } else if (this.stationType == '02') {
|
||||
// operate.operation = OperationEvent.StationControl.requestStationControl.choose1.operation
|
||||
// } else if (this.stationType == '03') {
|
||||
// operate.operation = OperationEvent.StationControl.emergencyStationControl.choose1.operation
|
||||
// }
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
@ -204,15 +177,6 @@ export default {
|
||||
operation: OperationEvent.Command.order.choose.operation,
|
||||
val: this.stationCode
|
||||
};
|
||||
|
||||
// if (this.stationType == '01') {
|
||||
// operate.operation = OperationEvent.StationControl.requestCentralControl.choose.operation
|
||||
// } else if (this.stationType == '02') {
|
||||
// operate.operation = OperationEvent.StationControl.requestStationControl.choose.operation
|
||||
// } else if (this.stationType == '03') {
|
||||
// operate.operation = OperationEvent.StationControl.emergencyStationControl.choose.operation
|
||||
// }
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
@ -242,31 +206,37 @@ export default {
|
||||
conterCommit() {
|
||||
commitOperate(menuOperate.StationControl.requestCentralControl, {stationCodes:[this.stationCode]}, 0).then((data)=>{
|
||||
this.doClose();
|
||||
this.$refs.twoConfirmation.doShow(data.operate, '确认将如下操作区域的控制模式由站控转为遥控:\n' + this.stationName);
|
||||
// this.$refs.twoConfirmation.doShow(data.operate, '确认将如下操作区域的控制模式由站控转为遥控:\n' + this.stationName);
|
||||
});
|
||||
},
|
||||
// 请求站控
|
||||
requestCommit() {
|
||||
commitOperate(menuOperate.StationControl.requestStationControl, {stationCodes:[this.stationCode]}, 0).then((data)=>{
|
||||
this.doClose();
|
||||
this.$refs.twoConfirmation.doShow(data.operate, '确认将如下操作区域的控制模式由中控转为站控:\n' + this.stationName);
|
||||
// this.$refs.twoConfirmation.doShow(data.operate, '确认将如下操作区域的控制模式由中控转为站控:\n' + this.stationName);
|
||||
});
|
||||
},
|
||||
// 紧急站控
|
||||
emergencyCommit() {
|
||||
commitOperate(menuOperate.StationControl.emergencyStationControl, {stationCodes:[this.stationCode]}, 0).then((data)=>{
|
||||
this.doClose();
|
||||
this.$refs.twoConfirmation.doShow(data.operate, '确认将如下操作区域的控制模式由中控转为站控:\n' + this.stationName);
|
||||
// this.$refs.twoConfirmation.doShow(data.operate, '确认将如下操作区域的控制模式由中控转为站控:\n' + this.stationName);
|
||||
});
|
||||
}
|
||||
},
|
||||
commit() {}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped rel="stylesheet/scss" lang="scss" scoped>
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
/deep/ .el-radio {
|
||||
/deep/ {
|
||||
.el-radio {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.el-cascader-node>.el-radio, .el-radio:last-child{
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,171 +0,0 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="ningbo-01__systerm stand-stop-time"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="320px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-form ref="form" size="small" label-width="100px" :model="addModel" :rules="rules">
|
||||
<div style="padding: 10px 15px; border: 1px double lightgray; margin: 20px 0px; height: 120px;">
|
||||
<span class="base-label">添加位置</span>
|
||||
<div style="position: relative; top:-10px;">
|
||||
<el-form-item prop="stationStandCode">
|
||||
<span slot="label">终   端:</span>
|
||||
<el-select v-model="addModel.stationStandCode" filterable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in stationStandList"
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="前车车次号:" prop="trainNumberLimber">
|
||||
<el-input v-model="addModel.trainNumberLimber" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
</div>
|
||||
<el-form-item label="添加车次号:" label-width="115px" prop="groupNumber">
|
||||
<el-input v-model="addModel.groupNumber" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="4">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
|
||||
export default {
|
||||
name: 'TrainAdd',
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
trainNoList: [],
|
||||
addModel: {
|
||||
groupNumber: '',
|
||||
stationStandCode: '',
|
||||
trainNumberLimber: ''
|
||||
},
|
||||
|
||||
rules: {
|
||||
groupNumber: [
|
||||
{ required: true, message: '请输入车次号', trigger: 'blur' }
|
||||
],
|
||||
// trainNumberLimber: [
|
||||
// { required: true, message: '请输入前车车次号', trigger: 'blur' }
|
||||
// ],
|
||||
stationStandCode: [
|
||||
{ required: true, message: '请选择终端', trigger: 'change' }
|
||||
]
|
||||
},
|
||||
operation: null,
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Command.planTrain.addPlanTrain.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '添加计划车';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate) {
|
||||
this.operate = operate || {};
|
||||
this.operation = operate.operation;
|
||||
|
||||
// 非断电激活时设置初始值
|
||||
if (!this.dialogShow) {
|
||||
this.loading = false;
|
||||
}
|
||||
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
commit() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.planTrain.addPlanTrain.operation
|
||||
};
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => { this.doClose(); });
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.ningbo-01__systerm .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -18px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
</style>
|
@ -1,154 +0,0 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="ningbo-01__systerm stand-stop-time"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="320px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-form ref="form" size="small" label-width="100px" :model="addModel" :rules="rules">
|
||||
<el-form-item prop="stationStandCode">
|
||||
<span slot="label">终  端:</span>
|
||||
<el-select v-model="addModel.stationStandCode" filterable placeholder="请选择">
|
||||
<el-option v-for="item in stationStandList" :key="item.code" :label="item.name" :value="item.code" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="车 次 号:" prop="groupNumber">
|
||||
<el-input v-model="addModel.groupNumber" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="4">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
|
||||
export default {
|
||||
name: 'TrainAdd',
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
trainNoList: [],
|
||||
addModel: {
|
||||
groupNumber: '',
|
||||
stationStandCode: ''
|
||||
},
|
||||
|
||||
rules: {
|
||||
groupNumber: [
|
||||
{ required: true, message: '请输入车次号', trigger: 'blur' }
|
||||
],
|
||||
stationStandCode: [
|
||||
{ required: true, message: '请选择终端', trigger: 'change' }
|
||||
]
|
||||
},
|
||||
operation: null,
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Command.planTrain.delPlanTrain.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '删除计划车';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate) {
|
||||
this.operate = operate || {};
|
||||
this.operation = operate.operation;
|
||||
|
||||
// 非断电激活时设置初始值
|
||||
if (!this.dialogShow) {
|
||||
this.loading = false;
|
||||
}
|
||||
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
commit() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.planTrain.delPlanTrain.operation
|
||||
};
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => { this.doClose(); });
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.ningbo-01__systerm .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -18px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
</style>
|
@ -28,7 +28,7 @@
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="4" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="commitDisabled" @click="commit">确定(O)</el-button>
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>应用(A)</el-button>
|
||||
@ -47,8 +47,8 @@
|
||||
<script>
|
||||
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 {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus';
|
||||
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
// import {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
@ -58,23 +58,12 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tempData: [],
|
||||
tableData: [],
|
||||
activeName: 'first',
|
||||
beforeSectionList: [],
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
row: null,
|
||||
operation: '',
|
||||
display: true,
|
||||
stationName: '',
|
||||
signalName: '',
|
||||
selectStandCode: '',
|
||||
displayCopyPath: false,
|
||||
tableStyle: {
|
||||
'border-bottom': 'none'
|
||||
}
|
||||
selectStandCode: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -95,18 +84,11 @@ export default {
|
||||
},
|
||||
title() {
|
||||
return '列车分配';
|
||||
},
|
||||
commitDisabled() {
|
||||
let disabled = true;
|
||||
if (this.row) {
|
||||
disabled = !this.row.canSetting;
|
||||
}
|
||||
return disabled;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.map.keyboardEnterCount': function (val) {
|
||||
if (this.show && !this.commitDisabled) {
|
||||
if (this.show) {
|
||||
this.commit();
|
||||
}
|
||||
}
|
||||
@ -120,7 +102,7 @@ export default {
|
||||
expandPath() {
|
||||
console.log('展开进路预览');
|
||||
},
|
||||
doShow(operate, selected, tempData) {
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,而是第一次显示,则需要设置初始值
|
||||
this.dialogShow = true;
|
||||
@ -131,40 +113,13 @@ export default {
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.restoreBeforeDevices();
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
mouseCancelState(this.selected);
|
||||
},
|
||||
restoreBeforeDevices() {
|
||||
// 恢复之前选中设备
|
||||
if (this.beforeSectionList && this.beforeSectionList.length) {
|
||||
this.beforeSectionList.forEach(elem => {
|
||||
elem.cutOff = false;
|
||||
});
|
||||
}
|
||||
this.$store.dispatch('training/updateMapState', [...this.beforeSectionList]);
|
||||
this.beforeSectionList = [];
|
||||
// mouseCancelState(this.selected);
|
||||
},
|
||||
commit() {
|
||||
if (this.row && this.row.canSetting) {
|
||||
this.loading = true;
|
||||
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode:this.row.code}, 2).then(({valid})=>{
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
}
|
||||
},
|
||||
handleClick() {
|
||||
|
||||
},
|
||||
selectStand(stationStand) {
|
||||
this.selectStandCode = stationStand.code;
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
|
148
src/jmapNew/theme/xian_02/menus/dialog/changeTID.vue
Normal file
148
src/jmapNew/theme/xian_02/menus/dialog/changeTID.vue
Normal file
@ -0,0 +1,148 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system warning-confirm"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="800px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
center
|
||||
>
|
||||
<el-row style="padding: 20px 0;">
|
||||
<el-col :span="12" style="text-align: center;">
|
||||
<el-row style="color: #000;">车体号:</el-row>
|
||||
<el-row>
|
||||
<el-input v-model="groupNumber" :disabled="true" style="width: 80px;" />
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="12" style="text-align: center;">
|
||||
<el-row style="color: #000;">追踪号:</el-row>
|
||||
<el-input v-model="tid" :disabled="true" style="width: 80px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-if="isUpdate" style="padding: 20px 0;border-top: 1px solid #000">
|
||||
<el-col :span="24" style="text-align: center">
|
||||
<el-row style="color: #000;">新追踪号:</el-row>
|
||||
<el-row>
|
||||
<el-input v-model="newTid" style="width: 80px;" />
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-else style="padding: 20px 0;border-top: 1px solid #000">
|
||||
<el-col :span="12" style="text-align: center">
|
||||
<el-row style="color: #000">车体号:</el-row>
|
||||
<el-row>
|
||||
<el-input v-model="newGroupNumber" style="width: 80px;" />
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="12" style="text-align: center">
|
||||
<el-row style="color:#000">追踪号:</el-row>
|
||||
<el-row>
|
||||
<el-input v-model="newTid" style="width: 80px;" />
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="padding: 20px 0;">
|
||||
<el-input
|
||||
v-model="textarea"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="请输入内容"
|
||||
/>
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="20" :offset="2">
|
||||
<el-button :id="domIdConfirm" style="margin-right: 170px;" @click="commit">确定</el-button>
|
||||
<el-button :id="domIdCancel" style="margin-right: 170px;" @click="cancel">取消</el-button>
|
||||
<el-button>帮助</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
name: 'ChangeTID',
|
||||
data() {
|
||||
return {
|
||||
groupNumber: '',
|
||||
newGroupNumber: '',
|
||||
tid: '',
|
||||
newTid: '',
|
||||
textarea: '',
|
||||
loading: false,
|
||||
dialogShow: false,
|
||||
operate: {}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationList',
|
||||
'mapConfig'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
if (this.dialogShow) {
|
||||
return this.operate.operation === OperationEvent.Train.editTrainId.menu.operation ? OperationEvent.Train.editTrainId.confirm.domId : OperationEvent.Train.switchTrainId.confirm.domId;
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
title() {
|
||||
return this.operate.operation === OperationEvent.Train.editTrainId.menu.operation ? '更改追踪号' : '交换追踪号';
|
||||
},
|
||||
isUpdate() {
|
||||
return this.operate.operation === OperationEvent.Train.editTrainId.menu.operation;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
doShow(step, selected ) {
|
||||
this.dialogShow = true;
|
||||
this.selected = selected;
|
||||
this.groupNumber = selected.code;
|
||||
this.tid = selected.tripNumber;
|
||||
this.operate = step;
|
||||
},
|
||||
cancel() {
|
||||
this.doClose();
|
||||
},
|
||||
commit() {
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.transfer_header {
|
||||
text-align: center;
|
||||
color: #000;
|
||||
font-size: 16px;
|
||||
}
|
||||
.transfer_body {
|
||||
height: 180px;
|
||||
/*overflow-y: scroll;*/
|
||||
border-top: 2px solid #2F4F50;
|
||||
border-left: 2px solid #2F4F50;
|
||||
border-bottom: 2px solid #B7D4D5;
|
||||
border-right: 2px solid #B7D4D5;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
154
src/jmapNew/theme/xian_02/menus/dialog/idleRunningMode.vue
Normal file
154
src/jmapNew/theme/xian_02/menus/dialog/idleRunningMode.vue
Normal file
@ -0,0 +1,154 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system warning-confirm"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="500px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
center
|
||||
>
|
||||
<el-row style="padding: 20px 0;">
|
||||
<el-col :span="12" style="text-align: center;">
|
||||
<el-row style="color: #000;">车体号:</el-row>
|
||||
<el-row>
|
||||
<el-input v-model="groupNumber" :disabled="true" style="width: 80px;" />
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="12" style="text-align: center;">
|
||||
<el-row style="color: #000;">追踪号:</el-row>
|
||||
<el-input v-model="tid" :disabled="true" style="width: 80px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<hr style="height:1px;border:none;border-top:1px solid #555555;width: 492px; position: absolute;left: 3px; margin-top: 0">
|
||||
<el-row style="padding: 10px 0;">
|
||||
<el-col :span="11" style="text-align: right;">
|
||||
<span style="color: #000;">实际惰行模式</span>
|
||||
</el-col>
|
||||
<el-col :span="12" :offset="1">
|
||||
<el-select v-model="currentMode" disabled style="width: 100px;">
|
||||
<el-option
|
||||
v-for="item in modeList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="padding: 10px 0;">
|
||||
<el-col :span="11" style="text-align: right;">
|
||||
<span style="color: #000;">被请求的惰行模式</span>
|
||||
</el-col>
|
||||
<el-col :span="12" :offset="1">
|
||||
<el-radio v-model="requestMode" :label="true">使能</el-radio>
|
||||
<br>
|
||||
<el-radio v-model="requestMode" :label="false">禁用</el-radio>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="padding: 20px 0;">
|
||||
<el-input
|
||||
v-model="textarea"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="请输入内容"
|
||||
/>
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="20" :offset="2">
|
||||
<el-button :id="domIdConfirm" style="margin-right: 50px;" @click="commit">确定</el-button>
|
||||
<el-button :id="domIdCancel" style="margin-right: 50px;" @click="cancel">取消</el-button>
|
||||
<el-button>帮助</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
name: 'ChangeTID',
|
||||
data() {
|
||||
return {
|
||||
groupNumber: '',
|
||||
newGroupNumber: '',
|
||||
tid: '',
|
||||
newTid: '',
|
||||
textarea: '',
|
||||
loading: false,
|
||||
dialogShow: false,
|
||||
operate: {},
|
||||
currentMode: false,
|
||||
requestMode: null,
|
||||
modeList: [
|
||||
{ label: '禁用', value: false },
|
||||
{ label: '使能', value: true }
|
||||
]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationList',
|
||||
'mapConfig'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.updateIdleRunningMode.confirm.domId : '';
|
||||
},
|
||||
domIdChoose() {
|
||||
return this.dialogShow ? OperationEvent.Train.updateIdleRunningMode.choose.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '更改惰行模式';
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
doShow(step, selected ) {
|
||||
this.dialogShow = true;
|
||||
this.selected = selected;
|
||||
this.groupNumber = selected.code;
|
||||
this.tid = selected.tripNumber;
|
||||
this.operate = step;
|
||||
},
|
||||
cancel() {
|
||||
this.doClose();
|
||||
},
|
||||
commit() {
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.transfer_header {
|
||||
text-align: center;
|
||||
color: #000;
|
||||
font-size: 16px;
|
||||
}
|
||||
.transfer_body {
|
||||
height: 180px;
|
||||
/*overflow-y: scroll;*/
|
||||
border-top: 2px solid #2F4F50;
|
||||
border-left: 2px solid #2F4F50;
|
||||
border-bottom: 2px solid #B7D4D5;
|
||||
border-right: 2px solid #B7D4D5;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
@ -1,40 +1,52 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system train-define"
|
||||
class="xian-02__system train-alertor"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="360px"
|
||||
width="500px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<div style="text-align: center; margin-top: 10px;">无报警数据</div>
|
||||
<el-row>
|
||||
<el-col :span="12">车站</el-col>
|
||||
<el-col :span="11" :offset="1">车次窗</el-col>
|
||||
<el-col :span="8">外部名</el-col>
|
||||
<el-col :span="10"><el-input v-model="addModel.groupNumber" style="width: 120px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-input v-model="addModel.stationName" :disabled="true" />
|
||||
<el-row style="margin-bottom: 50px;">
|
||||
<el-col :span="8">设备识别号</el-col>
|
||||
<el-col :span="5">
|
||||
<el-input v-model="addModel.groupNumber" style="width: 80px;" />
|
||||
</el-col>
|
||||
<el-col :span="11" :offset="1">
|
||||
<el-input v-model="addModel.trainWindowCode" :disabled="true" />
|
||||
<el-col :span="5" :offset="2">
|
||||
<el-button type="primary" @click="commit">确认</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">新车组号</el-col>
|
||||
<el-col :span="8">确认 ID</el-col>
|
||||
<el-col :span="13"><el-input v-model="addModel.groupNumber" /></el-col>
|
||||
</el-row>
|
||||
<div style="border-top: 1px solid #41615B; border-bottom: 1px solid #99BDB0;" />
|
||||
<el-row>
|
||||
<el-col :span="8">设备识别号</el-col>
|
||||
<el-col :span="13"><el-input v-model="addModel.groupNumber" /></el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-input :id="domIdInput" v-model="addModel.tripNumber" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
<el-col :span="8">确认 ID</el-col>
|
||||
<el-col :span="13"><el-input v-model="addModel.groupNumber" /></el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="13" :offset="8"><el-button type="primary" @click="commit">确认</el-button></el-col>
|
||||
</el-row>
|
||||
<div style="border-top: 1px solid #41615B; border-bottom: 1px solid #99BDB0;" />
|
||||
<el-row class="option_result_box" />
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10">
|
||||
<el-col :span="3" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="5">
|
||||
<el-col :span="3" :offset="5">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -43,12 +55,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
|
||||
export default {
|
||||
name: 'TrainDefine',
|
||||
name: 'TrainMove',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
@ -59,30 +70,24 @@ export default {
|
||||
addModel: {
|
||||
stationName: '',
|
||||
trainWindowCode: '',
|
||||
tripNumber: ''
|
||||
groupNumber: ''
|
||||
},
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdInput() {
|
||||
return this.dialogShow ? OperationEvent.Train.addTrainId.input.domId : '';
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.addTrainId.menu.domId : '';
|
||||
return this.dialogShow ? OperationEvent.Train.deleteDestinationTrainId.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '设置车体号';
|
||||
return '报警确认';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -115,29 +120,16 @@ export default {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
},
|
||||
inputGroupNumber() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.addTrainId.input.operation,
|
||||
val: this.addModel.tripNumber
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
},
|
||||
commit() {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.addTrainId.menu.operation,
|
||||
val: this.addModel.tripNumber
|
||||
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
|
||||
cmdType: '',
|
||||
val: this.addModel.groupNumber
|
||||
};
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
@ -145,16 +137,15 @@ export default {
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
// this.$refs.noticeInfo.doShow(operate);
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
@ -163,17 +154,48 @@ export default {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
/deep/ .el-row {
|
||||
margin: 10px
|
||||
}
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
/deep/ {
|
||||
.el-dialog .el-dialog__body{
|
||||
padding: 0!important;
|
||||
}
|
||||
.el-row {
|
||||
margin: 10px
|
||||
}
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -18px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
.option_box{
|
||||
border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
padding: 4px;
|
||||
color: #191919;
|
||||
height: 155px;
|
||||
overflow: auto;
|
||||
margin-bottom: 20px;
|
||||
.content_list{
|
||||
cursor: pointer;
|
||||
&:hover{
|
||||
background: #000004;
|
||||
color: #73877E;
|
||||
}
|
||||
}
|
||||
}
|
||||
.option_result_box{
|
||||
border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
padding: 4px;
|
||||
color: #191919;
|
||||
height: 90px;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
@ -4,37 +4,30 @@
|
||||
class="xian-02__system train-move"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="360px"
|
||||
width="560px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="12">车组号</el-col>
|
||||
<el-col :span="3" :offset="7">车体号:</el-col>
|
||||
<el-col :span="10" :offset="2">追踪号:</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">车站</el-col>
|
||||
<el-col :span="11" :offset="1">车次窗</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-input v-model="addModel.stationName" :disabled="true" />
|
||||
</el-col>
|
||||
<el-col :span="11" :offset="1">
|
||||
<el-input v-model="addModel.trainWindowCode" :disabled="true" />
|
||||
<el-col :span="3" :offset="7">
|
||||
<el-input v-model="addModel.groupNumber" style="width: 80px;" disabled />
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="2">
|
||||
<el-input v-model="addModel.groupNumber" style="width: 80px;" disabled />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row class="option_result_box" />
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10">
|
||||
<el-col :span="3" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="5">
|
||||
<el-col :span="3" :offset="5">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -43,8 +36,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
|
||||
export default {
|
||||
@ -66,23 +58,17 @@ export default {
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdInput() {
|
||||
return this.dialogShow ? OperationEvent.Train.addTrainId.input.domId : '';
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.addTrainId.menu.domId : '';
|
||||
return this.dialogShow ? OperationEvent.Train.deleteDestinationTrainId.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '移动车组号';
|
||||
return '删除ID';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -115,29 +101,16 @@ export default {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
},
|
||||
inputGroupNumber() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.addTrainId.input.operation,
|
||||
val: this.addModel.groupNumber
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
},
|
||||
commit() {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.addTrainId.menu.operation,
|
||||
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
|
||||
cmdType: '',
|
||||
val: this.addModel.groupNumber
|
||||
};
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
@ -145,16 +118,15 @@ export default {
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
// this.$refs.noticeInfo.doShow(operate);
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
@ -164,9 +136,14 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
/deep/ .el-row {
|
||||
margin: 10px
|
||||
}
|
||||
/deep/ {
|
||||
.el-dialog .el-dialog__body{
|
||||
padding: 0!important;
|
||||
}
|
||||
.el-row {
|
||||
margin: 10px
|
||||
}
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
@ -176,4 +153,30 @@ export default {
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
.option_box{
|
||||
border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
padding: 4px;
|
||||
color: #191919;
|
||||
height: 155px;
|
||||
overflow: auto;
|
||||
margin-bottom: 20px;
|
||||
.content_list{
|
||||
cursor: pointer;
|
||||
&:hover{
|
||||
background: #000004;
|
||||
color: #73877E;
|
||||
}
|
||||
}
|
||||
}
|
||||
.option_result_box{
|
||||
border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
padding: 4px;
|
||||
color: #191919;
|
||||
height: 90px;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
@ -1,167 +0,0 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system stand-stop-time"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="320px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-form ref="form" size="small" label-width="90px" :model="addModel" :rules="rules">
|
||||
<el-form-item label="车 组 号:" prop="groupNumber">
|
||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" @change="inputGroupNumber" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="4">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<confirm-control ref="confirmControl" />
|
||||
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
// import { getPublishMapTrainNos } from '@/api/runplan';
|
||||
import ConfirmControl from './childDialog/confirmControl';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
|
||||
export default {
|
||||
name: 'TrainDelete',
|
||||
components: {
|
||||
ConfirmControl,
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
trainNoList: [],
|
||||
selected: null,
|
||||
addModel: {
|
||||
groupNumber: ''
|
||||
},
|
||||
|
||||
rules: {
|
||||
groupNumber: [
|
||||
{ required: true, message: '请输入车组号', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
operation: null,
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'map'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdInput() {
|
||||
return this.dialogShow ? OperationEvent.Train.delTrainId.input.domId : '';
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.delTrainId.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '删除车组号';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
loadInitData(map) {
|
||||
if (map) {
|
||||
// getPublishMapTrainNos(map.skinCode).then(response => {
|
||||
// this.trainNoList = response.data;
|
||||
// }).catch(() => {
|
||||
// this.$messageBox(`获取列车车组号失败`);
|
||||
// });
|
||||
}
|
||||
},
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,则需要对初始值进行初始化
|
||||
if (!this.dialogShow) {
|
||||
this.operation = operate.operation;
|
||||
}
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
},
|
||||
inputGroupNumber() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.delTrainId.input.operation,
|
||||
val: this.addModel.groupNumber
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
},
|
||||
commit() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.delTrainId.menu.operation,
|
||||
val: this.addModel.groupNumber
|
||||
};
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => { this.doClose(); });
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
@ -22,38 +22,37 @@
|
||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 80px;" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="border-top: 1px solid #3C6C68; border-bottom: 1px solid #3C6C68">
|
||||
<el-row>
|
||||
<el-col :span="12" style="text-align: right;padding-right: 20px;">实际的DID</el-col>
|
||||
<el-col :span="12">
|
||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12" style="text-align: right;padding-right: 20px;">被请求的DID</el-col>
|
||||
<el-col :span="12">
|
||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-row>
|
||||
<el-row style="border-top: 1px solid #3C6C68; border-bottom: 1px solid #3C6C68">
|
||||
<el-row>
|
||||
<el-col :span="12" style="text-align: right;padding-right: 20px;">实际的DID</el-col>
|
||||
<el-col :span="12">
|
||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12" style="text-align: right;padding-right: 20px;">被请求的DID</el-col>
|
||||
<el-col :span="12">
|
||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12" style="text-align: right;padding-right: 20px;">DID浏览选项</el-col>
|
||||
<el-col :span="12">
|
||||
<el-select v-model="addModel.operation" placeholder="请选择" @change="inputGroupNumber">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-select v-model="addModel.operation" placeholder="请选择" @change="inputGroupNumber">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row class="option_box">
|
||||
<div v-for="(item, index) in optionObject[addModel.operation]" :key="index">{{ item.name }}</div>
|
||||
</el-row>
|
||||
<el-row class="option_result_box">
|
||||
</el-row>
|
||||
<el-row class="option_box">
|
||||
<div v-for="(item, index) in optionObject[addModel.operation]" :key="index" class="content_list">{{ item.name }}</div>
|
||||
</el-row>
|
||||
<el-row class="option_result_box" />
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
@ -79,66 +78,66 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
trainNoList: [],
|
||||
selected: null,
|
||||
optionObject: {
|
||||
normal: [
|
||||
{ name: '0001 北客站一韦曲南站 往返运营', id: 1 },
|
||||
{ name: '0002 北客站一韦曲南站 北客站站前折返 往返运营', id: 2 },
|
||||
{ name: '0003 北客站一韦曲南站 韦曲南站站前折返 往返运营', id: 3 },
|
||||
{ name: '0004 北客站一韦曲南站 北客站和韦曲南站均站前折返 往返运营', id: 4 },
|
||||
{ name: '0005 北客站一会展中心 往返运营', id: 5 },
|
||||
{ name: '0006 北客站一会展中心 北客站站前折返 往返运营', id: 6 },
|
||||
{ name: '0007 北客站一南稍门站 往返运营', id: 6 },
|
||||
{ name: '0008 北客站一南稍门站 北客站站前折返 往返运营', id: 6 },
|
||||
{ name: '0009 韦曲南一市图书馆 往返运营', id: 6 },
|
||||
{ name: '0010 韦曲南一市图书馆 韦曲南站前折返 往返运营', id: 6 },
|
||||
{ name: '0011 市图书馆站一会展中心站 往返运营', id: 1 },
|
||||
{ name: '0030 运行至韦曲南站 末班运营', id: 6 },
|
||||
{ name: '0031 下行方向运行至韦曲南站转上行方向 末班运营', id: 2 },
|
||||
{ name: '0032 运行至北客站 末班运营', id: 1 },
|
||||
{ name: '0033 下行方向运行至北客站站转上行方向 末班运营', id: 2 },
|
||||
{ name: '0034 北客站一凤城五路站 末班运营', id: 4 },
|
||||
{ name: '0035 韦曲南一市图书馆 末班运营', id: 5 },
|
||||
{ name: '0036 北客站一南稍门站 末班运营', id: 6 },
|
||||
{ name: '0037 韦曲南一体育场站 末班运营', id: 6 },
|
||||
{ name: '0038 北客站一会展中心站 末班运营', id: 6 },
|
||||
{ name: '0039 韦曲南一三爻站 末班运营', id: 6 }
|
||||
],
|
||||
improper: [
|
||||
{ name: '0050 北客站下行折1收车 非运营', id: 6 },
|
||||
{ name: '0051 北客站下行折2收车 非运营', id: 1 },
|
||||
{ name: '0052 北客站上行折2收车 非运营', id: 2 },
|
||||
{ name: '0053 北客站上行折1收车 非运营', id: 3 },
|
||||
{ name: '0054 韦曲南上行折2收车 非运营', id: 4 },
|
||||
{ name: '0055 韦曲南上行折1收车 非运营', id: 5 },
|
||||
{ name: '0056 韦曲南下行折1收车 非运营', id: 6 },
|
||||
{ name: '0057 韦曲南下行折2收车 非运营', id: 6 },
|
||||
{ name: '0058 凤城五路一市图书馆站 非运营', id: 6 },
|
||||
{ name: '0059 运行至市图书馆站存车线 非运营', id: 6 },
|
||||
{ name: '0060 运行至南稍门站存车线 非运营', id: 6 },
|
||||
{ name: '0061 体育场一南稍门站 非运营', id: 1 },
|
||||
{ name: '0062 运行至会展中心站存车线 非运营', id: 2 },
|
||||
{ name: '0063 三爻一会展中心站 非运营', id: 3 },
|
||||
{ name: '0064 运行至市图书馆存车线 非运营', id: 4 },
|
||||
{ name: '0065 运行至南稍门站存车线 非运营', id: 5 },
|
||||
{ name: '0070 运行至韦曲南站 非运营', id: 6 },
|
||||
{ name: '0071 运行至北客站 非运营', id: 1 },
|
||||
{ name: '0072 运行至会展中心站 非运营', id: 2 },
|
||||
{ name: '0073 运行至橘河停车场入段线 非运营', id: 3 },
|
||||
{ name: '0074 运行至橘河停车场出段线 非运营', id: 4 },
|
||||
{ name: '0075 运行至渭河停车场入段线 非运营', id: 5 },
|
||||
{ name: '0076 运行至渭河停车场出段线 非运营', id: 6 }
|
||||
]
|
||||
},
|
||||
options: [
|
||||
{ label: '日常运营', value: 'normal' },
|
||||
{ label: '非运营', value: 'improper' }
|
||||
],
|
||||
selected: null,
|
||||
optionObject: {
|
||||
normal: [
|
||||
{ name: '0001 北客站一韦曲南站 往返运营', id: 1 },
|
||||
{ name: '0002 北客站一韦曲南站 北客站站前折返 往返运营', id: 2 },
|
||||
{ name: '0003 北客站一韦曲南站 韦曲南站站前折返 往返运营', id: 3 },
|
||||
{ name: '0004 北客站一韦曲南站 北客站和韦曲南站均站前折返 往返运营', id: 4 },
|
||||
{ name: '0005 北客站一会展中心 往返运营', id: 5 },
|
||||
{ name: '0006 北客站一会展中心 北客站站前折返 往返运营', id: 6 },
|
||||
{ name: '0007 北客站一南稍门站 往返运营', id: 7 },
|
||||
{ name: '0008 北客站一南稍门站 北客站站前折返 往返运营', id: 8 },
|
||||
{ name: '0009 韦曲南一市图书馆 往返运营', id: 9 },
|
||||
{ name: '0010 韦曲南一市图书馆 韦曲南站前折返 往返运营', id: 10 },
|
||||
{ name: '0011 市图书馆站一会展中心站 往返运营', id: 11 },
|
||||
{ name: '0030 运行至韦曲南站 末班运营', id: 30 },
|
||||
{ name: '0031 下行方向运行至韦曲南站转上行方向 末班运营', id: 31 },
|
||||
{ name: '0032 运行至北客站 末班运营', id: 32 },
|
||||
{ name: '0033 下行方向运行至北客站站转上行方向 末班运营', id: 33 },
|
||||
{ name: '0034 北客站一凤城五路站 末班运营', id: 34 },
|
||||
{ name: '0035 韦曲南一市图书馆 末班运营', id: 35 },
|
||||
{ name: '0036 北客站一南稍门站 末班运营', id: 36 },
|
||||
{ name: '0037 韦曲南一体育场站 末班运营', id: 37 },
|
||||
{ name: '0038 北客站一会展中心站 末班运营', id: 38 },
|
||||
{ name: '0039 韦曲南一三爻站 末班运营', id: 39 }
|
||||
],
|
||||
improper: [
|
||||
{ name: '0050 北客站下行折1收车 非运营', id: 50 },
|
||||
{ name: '0051 北客站下行折2收车 非运营', id: 51 },
|
||||
{ name: '0052 北客站上行折2收车 非运营', id: 52 },
|
||||
{ name: '0053 北客站上行折1收车 非运营', id: 53 },
|
||||
{ name: '0054 韦曲南上行折2收车 非运营', id: 54 },
|
||||
{ name: '0055 韦曲南上行折1收车 非运营', id: 55 },
|
||||
{ name: '0056 韦曲南下行折1收车 非运营', id: 56 },
|
||||
{ name: '0057 韦曲南下行折2收车 非运营', id: 57 },
|
||||
{ name: '0058 凤城五路一市图书馆站 非运营', id: 58 },
|
||||
{ name: '0059 运行至市图书馆站存车线 非运营', id: 59 },
|
||||
{ name: '0060 运行至南稍门站存车线 非运营', id: 60 },
|
||||
{ name: '0061 体育场一南稍门站 非运营', id: 61 },
|
||||
{ name: '0062 运行至会展中心站存车线 非运营', id: 62 },
|
||||
{ name: '0063 三爻一会展中心站 非运营', id: 63 },
|
||||
{ name: '0064 运行至市图书馆存车线 非运营', id: 64 },
|
||||
{ name: '0065 运行至南稍门站存车线 非运营', id: 65 },
|
||||
{ name: '0070 运行至韦曲南站 非运营', id: 70 },
|
||||
{ name: '0071 运行至北客站 非运营', id: 71 },
|
||||
{ name: '0072 运行至会展中心站 非运营', id: 72 },
|
||||
{ name: '0073 运行至橘河停车场入段线 非运营', id: 73 },
|
||||
{ name: '0074 运行至橘河停车场出段线 非运营', id: 74 },
|
||||
{ name: '0075 运行至渭河停车场入段线 非运营', id: 75 },
|
||||
{ name: '0076 运行至渭河停车场出段线 非运营', id: 76 }
|
||||
]
|
||||
},
|
||||
options: [
|
||||
{ label: '日常运营', value: 'normal' },
|
||||
{ label: '非运营', value: 'improper' }
|
||||
],
|
||||
addModel: {
|
||||
stationName: '',
|
||||
trainWindowCode: '',
|
||||
groupNumber: '',
|
||||
operation: 'normal'
|
||||
groupNumber: '',
|
||||
operation: 'normal'
|
||||
},
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
@ -261,15 +260,26 @@ export default {
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
.option_box{
|
||||
box-shadow: 1px 1px 3px #3a3a3a inset;
|
||||
border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
padding: 4px;
|
||||
color: #191919;
|
||||
height: 155px;
|
||||
overflow: auto;
|
||||
margin-bottom: 20px;
|
||||
.content_list{
|
||||
cursor: pointer;
|
||||
&:hover{
|
||||
background: #000004;
|
||||
color: #73877E;
|
||||
}
|
||||
}
|
||||
}
|
||||
.option_result_box{
|
||||
box-shadow: 1px 1px 3px #3a3a3a inset;
|
||||
border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
padding: 4px;
|
||||
color: #191919;
|
||||
height: 90px;
|
||||
|
289
src/jmapNew/theme/xian_02/menus/dialog/trainDetail.vue
Normal file
289
src/jmapNew/theme/xian_02/menus/dialog/trainDetail.vue
Normal file
@ -0,0 +1,289 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system warning-confirm"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="800px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
center
|
||||
>
|
||||
<el-row style="padding: 20px 0;">
|
||||
<el-col :span="2" style="color: #000;">车体号:</el-col>
|
||||
<el-col :span="5" style="color: #000;">
|
||||
<el-input v-model="groupNumber" :disabled="true" style="width: 80px;" />
|
||||
</el-col>
|
||||
<el-col :span="2" style="color: #000;">追踪号:</el-col>
|
||||
<el-col :span="9" style="color: #000;">
|
||||
<el-input v-model="tid" :disabled="true" style="width: 80px;" />
|
||||
</el-col>
|
||||
<el-col :span="2" style="color: #000;">目的地ID:</el-col>
|
||||
<el-col :span="4" style="color: #000;">
|
||||
<el-input :disabled="true" style="width: 80px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row el-row style="padding-bottom: 20px;">
|
||||
<el-col :span="2" style="color: #000;">车站:</el-col>
|
||||
<el-col :span="5" style="color: #000;">
|
||||
<el-input :disabled="true" style="width: 150px;" />
|
||||
</el-col>
|
||||
<el-col :span="2" style="color: #000;">轨道:</el-col>
|
||||
<el-col :span="3" style="color: #000">
|
||||
<el-input :disabled="true" style="width: 70px;" />
|
||||
</el-col>
|
||||
<el-col :span="3" style="color: #000;">CBTC模式:</el-col>
|
||||
<el-col :span="3" style="color: #000;">
|
||||
<el-input :disabled="true" style="width: 70px;" />
|
||||
</el-col>
|
||||
<el-col :span="2" style="color: #000;">司机ID:</el-col>
|
||||
<el-col :span="4" style="color: #000;">
|
||||
<el-input :disabled="true" style="width: 80px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<hr style="height:1px;border:none;border-top:1px solid #555555;width: 792px; position: absolute;left: 3px; margin-top: 0">
|
||||
<el-tabs type="border-card" style="margin-top: 10px;">
|
||||
<el-tab-pane label="列车控制及状态">
|
||||
<el-row style="padding: 20px 0;color: #000;">
|
||||
<el-col :span="13" style="border-right: 2px solid #64A98E;color: #000;">
|
||||
<el-row style="padding: 5px 0;">
|
||||
<el-col :span="8">列车控制</el-col>
|
||||
<el-col :span="8">请求</el-col>
|
||||
<el-col :span="8">实际的</el-col>
|
||||
</el-row>
|
||||
<el-row style="padding: 5px 0;">
|
||||
<el-col :span="8">运行等级</el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="padding: 5px 0;">
|
||||
<el-col :span="8">扣车</el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="padding: 5px 0;">
|
||||
<el-col :span="8">停止</el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="padding: 5px 0;">
|
||||
<el-col :span="8">运行等级</el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="padding: 5px 0;">
|
||||
<el-col :span="8">门循环测试</el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="padding: 5px 0;">
|
||||
<el-col :span="8">顺态发车</el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row style="padding: 5px 0;">
|
||||
<el-col :span="8">车门</el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
<el-col :span="8"><el-input style="width: 80px;" /></el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="11" style="padding: 0 10px;">
|
||||
<div>列车状态</div>
|
||||
<div style="width: 100%;height: 280px;border-style: solid;border-width: 2px;border-color: #467576 #A0C6C7 #A0C6C7 #467576;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="表示">
|
||||
<el-row style="color: #000;">
|
||||
<el-col :span="11" style="padding: 5px;">
|
||||
<span>开放表示</span>
|
||||
<div style="width: 100%;height: 300px;overflow: auto;border-style: solid;border-width: 2px;border-color: #467576 #A0C6C7 #A0C6C7 #467576;" />
|
||||
</el-col>
|
||||
<el-col :span="13" style="padding: 5px;">
|
||||
<span>关闭提示</span>
|
||||
<div style="width: 100%;height: 300px;overflow: auto;border-style: solid;border-width: 2px;border-color: #467576 #A0C6C7 #A0C6C7 #467576;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="CBTC状态">
|
||||
<el-row style="color: #000;padding: 10px 0;">
|
||||
<el-col :span="6" style="text-align: right;">通信中:</el-col>
|
||||
<el-col :span="3">
|
||||
<el-input style="width: 80px;" />
|
||||
</el-col>
|
||||
<el-col :span="4" style="text-align: right;">当前驾驶模式:</el-col>
|
||||
<el-col :span="11">
|
||||
<el-input style="width: 150px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="color: #000;padding: 10px 0;">
|
||||
<el-col :span="6" style="text-align: right;">驾驶模式冲突:</el-col>
|
||||
<el-col :span="3">
|
||||
<el-input style="width: 80px;" />
|
||||
</el-col>
|
||||
<el-col :span="4" style="text-align: right;">司机模式开关:</el-col>
|
||||
<el-col :span="11">
|
||||
<el-input style="width: 150px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="color: #000;padding: 10px 0;">
|
||||
<el-col :span="4" style="text-align: right;" :offset="9">司机方向手柄:</el-col>
|
||||
<el-row :span="11">
|
||||
<el-input style="width: 150px;" />
|
||||
</el-row>
|
||||
</el-row>
|
||||
<el-row style="color: #000;padding: 10px 0;">
|
||||
<el-col :span="3" style="text-align: right;">EB原因:</el-col>
|
||||
<el-col :span="6">
|
||||
<el-input style="width: 150px;" />
|
||||
</el-col>
|
||||
<el-col :span="4" style="text-align: right;">EB原因:</el-col>
|
||||
<el-col :span="11">
|
||||
<el-input style="width: 300px" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="color: #000;padding: 10px 0;">
|
||||
<el-col :span="3" style="text-align: right;">FSB原因:</el-col>
|
||||
<el-col :span="6">
|
||||
<el-input style="width: 150px;" />
|
||||
</el-col>
|
||||
<el-col :span="4" style="text-align: right;">FSB原因:</el-col>
|
||||
<el-col :span="11">
|
||||
<el-input style="width: 300px" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div style="height: 125px;" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="列车行程">
|
||||
<el-row style="color: #000;padding: 10px 0;">
|
||||
<el-col :span="8">
|
||||
<span>追踪号</span>
|
||||
<el-input style="width: 100px;" />
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<span>行程类型</span>
|
||||
<el-input style="width: 100px;" />
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<span>方向</span>
|
||||
<el-input style="width: 100px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="color: #000;padding: 10px 0;">
|
||||
<el-col :span="12">
|
||||
<span>起始车站</span>
|
||||
<el-input style="width: 250px;" />
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<span>目的车站</span>
|
||||
<el-input style="width: 250px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="stationList" style="width: 100%" height="250px" :row-style="{background: '#5F9EA0'}" :header-cell-style="{background: '#5F9EA0'}">
|
||||
<el-table-column prop="name" label="车站" />
|
||||
<el-table-column prop="stand" label="站台" />
|
||||
<el-table-column prop="request" label="请求" />
|
||||
<el-table-column prop="actual" label="实际的" />
|
||||
<el-table-column prop="next" label="下一个移动的" />
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
name: 'ChangeTID',
|
||||
data() {
|
||||
return {
|
||||
groupNumber: '',
|
||||
newGroupNumber: '',
|
||||
tid: '',
|
||||
newTid: '',
|
||||
textarea: '',
|
||||
loading: false,
|
||||
dialogShow: false,
|
||||
operate: {},
|
||||
requestMode: null
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationList',
|
||||
'mapConfig'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.updateIdleRunningMode.confirm.domId : '';
|
||||
},
|
||||
domIdChoose() {
|
||||
return this.dialogShow ? OperationEvent.Train.updateIdleRunningMode.choose.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '列车明细';
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
doShow(step, selected ) {
|
||||
this.dialogShow = true;
|
||||
this.selected = selected;
|
||||
this.groupNumber = selected.code;
|
||||
this.tid = selected.tripNumber;
|
||||
this.operate = step;
|
||||
},
|
||||
cancel() {
|
||||
this.doClose();
|
||||
},
|
||||
commit() {
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.transfer_header {
|
||||
text-align: center;
|
||||
color: #000;
|
||||
font-size: 16px;
|
||||
}
|
||||
.transfer_body {
|
||||
height: 180px;
|
||||
/*overflow-y: scroll;*/
|
||||
border-top: 2px solid #2F4F50;
|
||||
border-left: 2px solid #2F4F50;
|
||||
border-bottom: 2px solid #B7D4D5;
|
||||
border-right: 2px solid #B7D4D5;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
color: #000;
|
||||
}
|
||||
/deep/{
|
||||
.el-tabs--border-card>.el-tabs__content {
|
||||
background: #5F9EA0;
|
||||
}
|
||||
.el-tabs__nav-scroll {
|
||||
background: #5F9EA0;
|
||||
}
|
||||
.el-tabs__item {
|
||||
color: #000 !important;
|
||||
border-style: solid !important;
|
||||
border-width: 2px !important;
|
||||
border-color: #467576 #A0C6C7 #A0C6C7 #467576 !important;
|
||||
}
|
||||
}
|
||||
</style>
|
135
src/jmapNew/theme/xian_02/menus/dialog/trainMode.vue
Normal file
135
src/jmapNew/theme/xian_02/menus/dialog/trainMode.vue
Normal file
@ -0,0 +1,135 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system warning-confirm"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="500px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
center
|
||||
>
|
||||
<el-row style="padding: 20px 0;">
|
||||
<el-col :span="12" style="text-align: center;">
|
||||
<el-row style="color: #000;">车体号:</el-row>
|
||||
<el-row>
|
||||
<el-input v-model="groupNumber" :disabled="true" style="width: 80px;" />
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="12" style="text-align: center;">
|
||||
<el-row style="color: #000;">追踪号:</el-row>
|
||||
<el-input v-model="tid" :disabled="true" style="width: 80px;" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<hr style="height:1px;border:none;border-top:1px solid #555555;width: 492px; position: absolute;left: 3px; margin-top: 0">
|
||||
<el-row style="padding: 10px 0;text-align: center;">
|
||||
<el-row>
|
||||
<span style="color: #000;">列车模式</span>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-radio v-model="requestMode" :label="true">自动</el-radio>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-radio v-model="requestMode" :label="false">人工</el-radio>
|
||||
</el-row>
|
||||
</el-row>
|
||||
<el-row style="padding: 20px 0;">
|
||||
<el-input
|
||||
v-model="textarea"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="请输入内容"
|
||||
/>
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="20" :offset="2">
|
||||
<el-button :id="domIdConfirm" style="margin-right: 50px;" @click="commit">确定</el-button>
|
||||
<el-button :id="domIdCancel" style="margin-right: 50px;" @click="cancel">取消</el-button>
|
||||
<el-button>帮助</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
name: 'ChangeTID',
|
||||
data() {
|
||||
return {
|
||||
groupNumber: '',
|
||||
newGroupNumber: '',
|
||||
tid: '',
|
||||
newTid: '',
|
||||
textarea: '',
|
||||
loading: false,
|
||||
dialogShow: false,
|
||||
operate: {},
|
||||
requestMode: null
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationList',
|
||||
'mapConfig'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.updateIdleRunningMode.confirm.domId : '';
|
||||
},
|
||||
domIdChoose() {
|
||||
return this.dialogShow ? OperationEvent.Train.updateIdleRunningMode.choose.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '更改列车模式';
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
doShow(step, selected ) {
|
||||
this.dialogShow = true;
|
||||
this.selected = selected;
|
||||
this.groupNumber = selected.code;
|
||||
this.tid = selected.tripNumber;
|
||||
this.operate = step;
|
||||
},
|
||||
cancel() {
|
||||
this.doClose();
|
||||
},
|
||||
commit() {
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.transfer_header {
|
||||
text-align: center;
|
||||
color: #000;
|
||||
font-size: 16px;
|
||||
}
|
||||
.transfer_body {
|
||||
height: 180px;
|
||||
/*overflow-y: scroll;*/
|
||||
border-top: 2px solid #2F4F50;
|
||||
border-left: 2px solid #2F4F50;
|
||||
border-bottom: 2px solid #B7D4D5;
|
||||
border-right: 2px solid #B7D4D5;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
@ -1,40 +1,38 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system train-set-head"
|
||||
class="xian-02__system train-runLevel"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="360px"
|
||||
width="760px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="11">车组号</el-col>
|
||||
<el-col :span="11" :offset="2">服务号</el-col>
|
||||
<el-row style="border-bottom: 1px solid #a9a9a9; padding-bottom: 10px;">
|
||||
<el-col :span="7" :offset="3">车体号: <el-input v-model="addModel.groupNumber" style="width: 80px;" /></el-col>
|
||||
<el-col :span="7" :offset="2">追踪号: <el-input v-model="addModel.groupNumber" style="width: 80px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="11">
|
||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" size="mini" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
<el-col :span="11" :offset="2">
|
||||
<el-input :id="domIdInput" v-model="addModel.serialNumber" size="mini" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
<el-col :span="7" :offset="3">实际的运行等级 <el-input v-model="addModel.groupNumber" style="width: 80px;" /></el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">目的地号</el-col>
|
||||
<el-col :span="15" :offset="2">请求运行等级</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-input v-model="addModel.targetCode" size="mini" />
|
||||
</el-col>
|
||||
<el-row style="margin-bottom: 30px;">
|
||||
<el-radio-group v-model="addModel.runLevel" class="train-run-level-radio_box">
|
||||
<el-col v-for="item in optionsList" :key="item.value" :span="20" :offset="4" style="margin-bottom: 5px;">
|
||||
<el-radio :label="item.value">{{ item.label }}</el-radio>
|
||||
</el-col>
|
||||
</el-radio-group>
|
||||
</el-row>
|
||||
<el-row class="option_result_box" />
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10">
|
||||
<el-col :span="3" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="5">
|
||||
<el-col :span="3" :offset="5">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -43,12 +41,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
|
||||
export default {
|
||||
name: 'TrainSetHead',
|
||||
name: 'TrainMove',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
@ -57,32 +54,38 @@ export default {
|
||||
trainNoList: [],
|
||||
selected: null,
|
||||
addModel: {
|
||||
stationName: '',
|
||||
trainWindowCode: '',
|
||||
groupNumber: '',
|
||||
targetCode: '',
|
||||
serialNumber: ''
|
||||
runLevel: '2'
|
||||
},
|
||||
optionsList: [
|
||||
{ label: '1 - 最大速度', value: 1 },
|
||||
{ label: '2 - 正常运行', value: 2 },
|
||||
{ label: '3 - 减速 - 80% 低于最大值', value: 3 },
|
||||
{ label: '4 - 减速 - 70% 低于最大值', value: 4 },
|
||||
{ label: '5 - 节能', value: 5 },
|
||||
{ label: '6 - 提高停车精度', value: 6 },
|
||||
{ label: '7 - 30 Km/h 限速', value: 7 },
|
||||
{ label: '8 - 15 Km/h 限速', value: 8 },
|
||||
{ label: '9 - 5 Km/h 限速', value: 9 }
|
||||
],
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdInput() {
|
||||
return this.dialogShow ? OperationEvent.Train.editTrainId.input.domId : '';
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.editTrainId.menu.domId : '';
|
||||
return this.dialogShow ? OperationEvent.Train.deleteDestinationTrainId.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '设置头码车';
|
||||
return '更改运行等级';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -115,29 +118,16 @@ export default {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
},
|
||||
inputGroupNumber() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.editTrainId.input.operation,
|
||||
val: this.addModel.groupNumber
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
},
|
||||
commit() {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation,
|
||||
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
|
||||
cmdType: '',
|
||||
val: this.addModel.groupNumber
|
||||
};
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
@ -145,16 +135,14 @@ export default {
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
@ -164,16 +152,29 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
/deep/ .el-row {
|
||||
margin: 10px
|
||||
}
|
||||
|
||||
/deep/ {
|
||||
.el-dialog .el-dialog__body{
|
||||
padding: 0!important;
|
||||
}
|
||||
.el-row {
|
||||
margin: 10px
|
||||
}
|
||||
}
|
||||
.xian-02__system .el-dialog .base-label {
|
||||
// background: rgba(0, 0, 0, x);
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -18px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
.option_result_box{
|
||||
padding: 4px;
|
||||
color: #191919;
|
||||
height: 90px;
|
||||
overflow: hidden;
|
||||
border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
}
|
||||
</style>
|
@ -1,172 +0,0 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system train-set-plan"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="360px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="11">车组号</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="11">
|
||||
<el-input v-model="addModel.groupNumber" size="mini" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="11">服务号</el-col>
|
||||
<el-col :span="11" :offset="2">序列号</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="11">
|
||||
<el-input v-model="addModel.serialNumber" size="mini" />
|
||||
</el-col>
|
||||
<el-col :span="11" :offset="2">
|
||||
<el-input :id="domIdInput" v-model="addModel.tripNumber" size="mini" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="5">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
|
||||
export default {
|
||||
name: 'TrainSetPlan',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
trainNoList: [],
|
||||
selected: null,
|
||||
addModel: {
|
||||
groupNumber: '',
|
||||
tripNumber: '',
|
||||
serialNumber: ''
|
||||
},
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdInput() {
|
||||
return this.dialogShow ? OperationEvent.Train.editTrainId.input.domId : '';
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.editTrainId.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '设置计划车';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,则需要对初始值进行初始化
|
||||
// if (!this.dialogShow) {
|
||||
// }
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
},
|
||||
inputGroupNumber() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.editTrainId.input.operation,
|
||||
val: this.addModel.tripNumber
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
},
|
||||
commit() {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation,
|
||||
val: this.addModel.tripNumber
|
||||
};
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => { this.doClose(); });
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
/deep/ .el-row {
|
||||
margin: 10px
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .base-label {
|
||||
// background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -18px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
</style>
|
@ -1,163 +0,0 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system train-set-work"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="320px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="6" style="line-height: 44px;">车组号:</el-col>
|
||||
<el-col :span="18">
|
||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" size="mini" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="5">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
|
||||
export default {
|
||||
name: 'TrainSetWork',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
trainNoList: [],
|
||||
selected: null,
|
||||
addModel: {
|
||||
groupNumber: ''
|
||||
},
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdInput() {
|
||||
return this.dialogShow ? OperationEvent.Train.editTrainId.input.domId : '';
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.editTrainId.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '设置人工车';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,则需要对初始值进行初始化
|
||||
if (!this.dialogShow) {
|
||||
const section = this.$store.getters['map/getDeviceByCode'](selected.sectionCode);
|
||||
if (section) {
|
||||
const station = this.$store.getters['map/getDeviceByCode'](section.stationCode);
|
||||
if (station) {
|
||||
this.addModel.stationName = station.name;
|
||||
}
|
||||
}
|
||||
this.addModel.trainWindowCode = selected.code;
|
||||
}
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
},
|
||||
inputGroupNumber() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.editTrainId.input.operation,
|
||||
val: this.addModel.tripNumber
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
},
|
||||
commit() {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation,
|
||||
val: this.addModel.tripNumber
|
||||
};
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => { this.doClose(); });
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
/deep/ .el-row {
|
||||
margin: 10px
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .base-label {
|
||||
// background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -18px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
</style>
|
@ -1,174 +0,0 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system train-set-work"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="320px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="6">车组号:</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="18">
|
||||
<el-input :id="domIdInput" v-model="addModel.groupNumber" size="mini" @change="inputGroupNumber" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="11">
|
||||
<el-radio v-model="radio" label="01">标记ATP切除</el-radio>
|
||||
</el-col>
|
||||
<el-col :span="11" :offset="2">
|
||||
<el-radio v-model="radio" label="02">标记APT恢复</el-radio>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="5">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
|
||||
export default {
|
||||
name: 'TrainSetWork',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
trainNoList: [],
|
||||
selected: null,
|
||||
addModel: {
|
||||
groupNumber: ''
|
||||
},
|
||||
radio: '01',
|
||||
dialogShow: false,
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationStandList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdInput() {
|
||||
return this.dialogShow ? OperationEvent.Train.editTrainId.input.domId : '';
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.editTrainId.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return 'ATP切除功能';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,则需要对初始值进行初始化
|
||||
if (!this.dialogShow) {
|
||||
const section = this.$store.getters['map/getDeviceByCode'](selected.sectionCode);
|
||||
if (section) {
|
||||
const station = this.$store.getters['map/getDeviceByCode'](section.stationCode);
|
||||
if (station) {
|
||||
this.addModel.stationName = station.name;
|
||||
}
|
||||
}
|
||||
this.addModel.trainWindowCode = selected.code;
|
||||
}
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
},
|
||||
inputGroupNumber() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.editTrainId.input.operation,
|
||||
val: this.addModel.tripNumber
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
},
|
||||
commit() {
|
||||
const operate = {
|
||||
send: true,
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation,
|
||||
val: this.addModel.tripNumber
|
||||
};
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
type: MapDeviceType.Train.type,
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => { this.doClose(); });
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
/deep/ .el-row {
|
||||
margin: 10px
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .base-label {
|
||||
// background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -18px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
</style>
|
224
src/jmapNew/theme/xian_02/menus/dialog/trainUpdatePlan.vue
Normal file
224
src/jmapNew/theme/xian_02/menus/dialog/trainUpdatePlan.vue
Normal file
@ -0,0 +1,224 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="xian-02__system train-updatePlan"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="760px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="9" :offset="2">车体号: <el-input v-model="addModel.groupNumber" style="width: 80px;" /></el-col>
|
||||
<el-col :span="9" :offset="4">追踪号: <el-input v-model="addModel.groupNumber" style="width: 80px;" /></el-col>
|
||||
</el-row>
|
||||
<div style="border-top: 1px solid #41615B; border-bottom: 1px solid #99BDB0;" />
|
||||
<el-row style="margin: 0; margin-top: 10px;">
|
||||
<el-col :span="11">
|
||||
<div>
|
||||
<span class="option_content">Platform Stop</span>
|
||||
<span class="option_content">Planned Arrival</span>
|
||||
<span class="option_content">Scheduled Arrival</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="11" :offset="2">
|
||||
<div>
|
||||
<span class="option_content">Platform Stop</span>
|
||||
<span class="option_content">Planned Arrival</span>
|
||||
<span class="option_content">Scheduled Arrival</span>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-transfer v-model="value" :data="dataList">
|
||||
<div slot-scope="{ option }">
|
||||
<span class="option_content">{{ option.name }}</span>
|
||||
<span class="option_content">{{ option.planned }}</span>
|
||||
<span class="option_content">{{ option.scheduled }}</span>
|
||||
</div>
|
||||
</el-transfer>
|
||||
<el-row>
|
||||
<el-col :span="4" :offset="10"><el-button type="primary" style="margin: 0 auto; display: table;" @click="restoration">复位</el-button></el-col>
|
||||
</el-row>
|
||||
<el-row class="option_result_box" />
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="3" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="3" :offset="5">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
|
||||
export default {
|
||||
name: 'TrainMove',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
trainNoList: [],
|
||||
selected: null,
|
||||
addModel: {
|
||||
stationName: '',
|
||||
trainWindowCode: '',
|
||||
groupNumber: ''
|
||||
},
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
dataList: [
|
||||
{ key: 1, name: `NJS2`, planned: '00:57:12', scheduled: '' },
|
||||
{ key: 2, name: `SGS2`, planned: '00:59:02', scheduled: '' },
|
||||
{ key: 3, name: `HXS2`, planned: '01:01:18', scheduled: '' },
|
||||
{ key: 4, name: `JHS2`, planned: '01:03:00', scheduled: '' },
|
||||
{ key: 5, name: `TSS2`, planned: '01:04:45', scheduled: '' },
|
||||
{ key: 6, name: `LMS2`, planned: '01:06:58', scheduled: '' },
|
||||
{ key: 7, name: `WMS2`, planned: '01:08:50', scheduled: '' },
|
||||
{ key: 8, name: `RNS2`, planned: '01:11:01', scheduled: '' },
|
||||
{ key: 9, name: `LMS2`, planned: '01:06:58', scheduled: '' },
|
||||
{ key: 10, name: `WMS2`, planned: '01:08:50', scheduled: '' }
|
||||
],
|
||||
value: []
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Train.deleteDestinationTrainId.menu.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '删除ID';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
// 如果不是断点激活,则需要对初始值进行初始化
|
||||
if (!this.dialogShow) {
|
||||
const section = this.$store.getters['map/getDeviceByCode'](selected.sectionCode);
|
||||
if (section) {
|
||||
const station = this.$store.getters['map/getDeviceByCode'](section.stationCode);
|
||||
if (station) {
|
||||
this.addModel.stationName = station.name;
|
||||
}
|
||||
}
|
||||
this.addModel.trainWindowCode = selected.code;
|
||||
}
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
},
|
||||
restoration() {
|
||||
this.value = [];
|
||||
},
|
||||
commit() {
|
||||
const operate = {
|
||||
send: true,
|
||||
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
|
||||
cmdType: '',
|
||||
val: this.addModel.groupNumber
|
||||
};
|
||||
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
// this.$refs.noticeInfo.doShow(operate);
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => { this.doClose(); });
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
/deep/ {
|
||||
.el-dialog .el-dialog__body{
|
||||
padding: 0!important;
|
||||
}
|
||||
.el-row {
|
||||
margin: 10px
|
||||
}
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -18px;
|
||||
padding: 0 5px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
.option_box{
|
||||
border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
padding: 4px;
|
||||
color: #191919;
|
||||
height: 155px;
|
||||
overflow: auto;
|
||||
margin-bottom: 20px;
|
||||
.content_list{
|
||||
cursor: pointer;
|
||||
&:hover{
|
||||
background: #000004;
|
||||
color: #73877E;
|
||||
}
|
||||
}
|
||||
}
|
||||
.option_result_box{
|
||||
border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
padding: 4px;
|
||||
color: #191919;
|
||||
height: 90px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.option_content{
|
||||
width: 33%;
|
||||
display: block;
|
||||
float: left;
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
</style>
|
@ -458,10 +458,14 @@ export default {
|
||||
background: #d5ecf7;
|
||||
}
|
||||
.xian-02__system .el-select .el-input__suffix {
|
||||
top: 5px;
|
||||
display: flex;
|
||||
justify-self: center;
|
||||
align-items: center;
|
||||
}
|
||||
.xian-02__system .el-select .is-focus .el-input__suffix {
|
||||
top: -5px;
|
||||
display: flex;
|
||||
justify-self: center;
|
||||
align-items: center;
|
||||
}
|
||||
.xian-02__system .el-scrollbar__thumb {
|
||||
border-style:solid;
|
||||
@ -469,4 +473,82 @@ export default {
|
||||
border-color: #335658 #99C1C3 #99C1C3 #335658;
|
||||
background: #518E86;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog__body,
|
||||
.xian-02__system.train-alertor .el-dialog__body,
|
||||
.xian-02__system.train-runLevel .el-dialog__body {
|
||||
color: #000!important;
|
||||
}
|
||||
.xian-02__system.train-runLevel .train-run-level-radio_box .el-radio__inner{
|
||||
border-radius: 0;
|
||||
transform: rotate(45deg);
|
||||
width: 12px;
|
||||
border: none!important;
|
||||
height: 12px;
|
||||
background: #508F86;
|
||||
border-color: #9ABFB2 #284743 #284743 #9ABFB2 !important;
|
||||
border-width: 2px!important;
|
||||
border-style: solid!important;
|
||||
}
|
||||
.xian-02__system.train-runLevel .train-run-level-radio_box .is-checked .el-radio__inner{
|
||||
background: #DEF003!important;
|
||||
border-color: #284743 #9ABFB2 #9ABFB2 #284743 !important;
|
||||
border-width: 2px!important;
|
||||
border-style: solid!important;
|
||||
}
|
||||
.xian-02__system.train-runLevel .train-run-level-radio_box .is-checked .el-radio__inner::after{
|
||||
width: 0px!important;
|
||||
height: 0px!important;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel {
|
||||
width: 45%;
|
||||
float: left;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer{
|
||||
overflow: hidden;
|
||||
height: 190px;
|
||||
padding: 10px;
|
||||
padding-top: 0;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer__buttons {
|
||||
width: 10%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
float: left;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer__buttons .el-button {
|
||||
margin: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel .el-transfer-panel__header {
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item .el-checkbox__input {
|
||||
display: none;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel .el-transfer-panel__list,
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel .el-transfer-panel__body{
|
||||
height: 165px;
|
||||
overflow: auto;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item.is-checked {
|
||||
background: gray;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__list {
|
||||
overflow: auto;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item{
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding-left: 3px;
|
||||
height: 22px;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item .el-checkbox__label {
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
@ -90,23 +90,23 @@ export default {
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '折返模式',
|
||||
children: [
|
||||
{
|
||||
label: '优先折返',
|
||||
handler: this.setPriorityStrategy
|
||||
},
|
||||
{
|
||||
label: '直线折返',
|
||||
handler: this.setLineStrategy
|
||||
},
|
||||
{
|
||||
label: '侧线折返',
|
||||
handler: this.setLateralStrategy
|
||||
}
|
||||
]
|
||||
},
|
||||
// {
|
||||
// label: '折返模式',
|
||||
// children: [
|
||||
// {
|
||||
// label: '优先折返',
|
||||
// handler: this.setPriorityStrategy
|
||||
// },
|
||||
// {
|
||||
// label: '直线折返',
|
||||
// handler: this.setLineStrategy
|
||||
// },
|
||||
// {
|
||||
// label: '侧线折返',
|
||||
// handler: this.setLateralStrategy
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
label: '设备标签',
|
||||
children: [
|
||||
@ -184,7 +184,28 @@ export default {
|
||||
};
|
||||
},
|
||||
initMenu() {
|
||||
this.menu = this.menuNormal.Center;
|
||||
this.menu = [];
|
||||
this.menu = [...this.menuNormal.Center];
|
||||
if (this.selected.reentry) {
|
||||
const menuAdd = {
|
||||
label: '折返模式',
|
||||
children: [
|
||||
{
|
||||
label: '优先折返',
|
||||
handler: this.setPriorityStrategy
|
||||
},
|
||||
{
|
||||
label: '直线折返',
|
||||
handler: this.setLineStrategy
|
||||
},
|
||||
{
|
||||
label: '侧线折返',
|
||||
handler: this.setLateralStrategy
|
||||
}
|
||||
]
|
||||
};
|
||||
this.menu.splice(3, 0, menuAdd);
|
||||
}
|
||||
// 故障模式菜单列表
|
||||
if (this.operatemode === OperateMode.FAULT) {
|
||||
this.menu = [...this.menuForce];
|
||||
@ -288,9 +309,9 @@ export default {
|
||||
return each.label == type;
|
||||
});
|
||||
if (strategy) {
|
||||
commitOperate(menuOperate.StationControl.setBackStrategy, {stationCode: this.selected.stationCode, id:strategy.id}, 3).then(({valid, operate})=>{
|
||||
commitOperate(menuOperate.StationControl.setBackStrategy, {stationCode: this.selected.code, id:strategy.id}, 3).then(({valid, operate})=>{
|
||||
}).catch((error) => {
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
this.$refs.noticeInfo.doShow(error.message);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -2,14 +2,15 @@
|
||||
<div>
|
||||
<pop-menu ref="popMenu" :menu="menu" :tip-msg="topTip" :tip-subhead="tipSubhead" pop-class="xian-02__pop_tip_station" />
|
||||
<notice-info ref="noticeInfo" pop-class="xian-02__system" />
|
||||
<train-delete ref="trainDelete" />
|
||||
<train-define ref="trainDefine" />
|
||||
<train-move ref="trainMove" />
|
||||
<train-set-plan ref="trainSetPlan" />
|
||||
<train-set-head ref="trainSetHead" />
|
||||
<train-set-work ref="trainSetWork" />
|
||||
<trainSetWorkATP ref="trainSetWorkATP" />
|
||||
<train-destination ref="trainDestination" />
|
||||
<train-del-destination ref="trainDelDestination" />
|
||||
<train-run-level ref="trainRunLevel" />
|
||||
<train-alertor ref="trainAlertor" />
|
||||
<train-update-plan ref="trainUpdatePlan" />
|
||||
<change-tid ref="changeTid" />
|
||||
<idle-running-mode ref="idleRunningMode" />
|
||||
<train-mode ref="trainMode" />
|
||||
<train-detail ref="trainDetail" />
|
||||
<set-fault ref="setFault" pop-class="xian-02__system" />
|
||||
</div>
|
||||
</template>
|
||||
@ -18,19 +19,19 @@
|
||||
import PopMenu from '@/components/PopMenu/index';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||
import TrainDelete from './dialog/trainDelete';
|
||||
import TrainDefine from './dialog/trainDefine';
|
||||
import TrainMove from './dialog/trainMove';
|
||||
import TrainSetPlan from './dialog/trainSetPlan';
|
||||
import TrainSetHead from './dialog/trainSetHead';
|
||||
import TrainSetWork from './dialog/trainSetWork';
|
||||
import trainSetWorkATP from './dialog/trainSetWorkATP';
|
||||
import TrainDestination from './dialog/trainDestination';
|
||||
import ChangeTid from './dialog/changeTID';
|
||||
import TrainDelDestination from './dialog/trainDelDestination';
|
||||
import TrainRunLevel from './dialog/trainRunLevel';
|
||||
import TrainAlertor from './dialog/trainAlertor';
|
||||
import TrainUpdatePlan from './dialog/trainUpdatePlan';
|
||||
import IdleRunningMode from './dialog/idleRunningMode';
|
||||
import TrainMode from './dialog/trainMode';
|
||||
import TrainDetail from './dialog/trainDetail';
|
||||
|
||||
import { mapGetters } from 'vuex';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||
// import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import { menuOperate, commitOperate, commitTrainSend } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
|
||||
@ -39,15 +40,16 @@ export default {
|
||||
components: {
|
||||
PopMenu,
|
||||
NoticeInfo,
|
||||
TrainDelete,
|
||||
TrainDefine,
|
||||
TrainMove,
|
||||
TrainSetPlan,
|
||||
TrainSetHead,
|
||||
TrainSetWork,
|
||||
trainSetWorkATP,
|
||||
TrainDestination,
|
||||
SetFault
|
||||
TrainDelDestination,
|
||||
ChangeTid,
|
||||
SetFault,
|
||||
TrainRunLevel,
|
||||
TrainAlertor,
|
||||
TrainUpdatePlan,
|
||||
IdleRunningMode,
|
||||
TrainMode,
|
||||
TrainDetail
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
@ -72,37 +74,36 @@ export default {
|
||||
{
|
||||
label: '目的地ID',
|
||||
handler: this.updateDestination,
|
||||
// handler: this.undeveloped,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '删除ID',
|
||||
handler: this.undeveloped,
|
||||
handler: this.deletDestionation,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '更改追踪号',
|
||||
handler: this.undeveloped,
|
||||
handler: this.updateTid,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '交换追踪号',
|
||||
handler: this.undeveloped,
|
||||
handler: this.switchTid,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '运行等级',
|
||||
handler: this.undeveloped,
|
||||
handler: this.handleRunLevel,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '列车模式',
|
||||
handler: this.undeveloped,
|
||||
handler: this.setTrainMode,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
label: '惰性模式',
|
||||
handler: this.undeveloped,
|
||||
handler: this.setIdleRunningMode,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
@ -114,7 +115,7 @@ export default {
|
||||
},
|
||||
{
|
||||
label: '列车明细',
|
||||
handler: this.undeveloped,
|
||||
handler: this.getTrainDetail,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
@ -197,14 +198,14 @@ export default {
|
||||
children: [
|
||||
{
|
||||
label: '完整性报警确认',
|
||||
handler: this.undeveloped,
|
||||
handler: this.trainAlertor,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '更新列车计划',
|
||||
handler: this.undeveloped,
|
||||
handler: this.updateTrainPlan,
|
||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||
},
|
||||
{
|
||||
@ -328,10 +329,6 @@ export default {
|
||||
});
|
||||
},
|
||||
nextStation() {
|
||||
// commitOperate(menuOperate.Train.nextStation, { code: this.selected.code }, 3).then(({valid, operate})=>{
|
||||
// }).catch((error) => {
|
||||
// this.$refs.noticeInfo.doShow(error.message);
|
||||
// });
|
||||
const group = this.$route.query.group;
|
||||
const param = {
|
||||
commandType: 'Drive_Ahead',
|
||||
@ -344,10 +341,6 @@ export default {
|
||||
});
|
||||
},
|
||||
routeBlockRun() {
|
||||
// commitOperate(menuOperate.Train.routeBlockRun, { code: this.selected.code }, 3).then(({valid, operate})=>{
|
||||
// }).catch((error) => {
|
||||
// this.$refs.noticeInfo.doShow(error.message);
|
||||
// });
|
||||
const group = this.$route.query.group;
|
||||
const param = {
|
||||
commandType: 'Route_Block_Drive',
|
||||
@ -409,143 +402,6 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
// 设置车体号
|
||||
addTrainId() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.addTrainId.menu.operation,
|
||||
param: {
|
||||
sectionCode: this.$store.state.map.trainWindowSectionCode
|
||||
}
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainDefine.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 删除车组号
|
||||
delTrainId() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.delTrainId.menu.operation,
|
||||
param: {
|
||||
sectionCode: this.$store.state.map.trainWindowSectionCode
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainDelete.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 移动车组号
|
||||
moveTrainId() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.moveTrainId.menu.operation,
|
||||
param: {
|
||||
sectionCode: this.$store.state.map.trainWindowSectionCode
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainMove.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 设置计划车
|
||||
setPlanTrain() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation,
|
||||
param: {
|
||||
sectionCode: this.$store.state.map.trainWindowSectionCode
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainSetPlan.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 设置头码车
|
||||
setHeadTrain() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation,
|
||||
param: {
|
||||
sectionCode: this.$store.state.map.trainWindowSectionCode
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainSetHead.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 设置人工车
|
||||
setWorkTrain() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation,
|
||||
param: {
|
||||
sectionCode: this.$store.state.map.trainWindowSectionCode
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainSetWork.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 标记ATP切除
|
||||
setTrainATPdel() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation,
|
||||
param: {
|
||||
sectionCode: this.$store.state.map.trainWindowSectionCode
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainSetWorkATP.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 标记ATP恢复
|
||||
setTrainATPRec() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation,
|
||||
param: {
|
||||
sectionCode: this.$store.state.map.trainWindowSectionCode
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainSetWorkATP.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
updateDestination() {
|
||||
const operate = {
|
||||
start: true,
|
||||
@ -562,6 +418,153 @@ export default {
|
||||
this.doClose();
|
||||
}
|
||||
});
|
||||
},
|
||||
updateTid() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.editTrainId.menu.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.changeTid.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
switchTid() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.switchTrainId.menu.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.changeTid.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
},
|
||||
deletDestionation() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
|
||||
param: {
|
||||
trainCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) =>{
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
|
||||
this.$refs.trainDelDestination.doShow(operate, this.selected);
|
||||
this.doClose();
|
||||
}
|
||||
});
|
||||
},
|
||||
handleRunLevel() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
|
||||
param: {
|
||||
trainCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) =>{
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
|
||||
this.$refs.trainRunLevel.doShow(operate, this.selected);
|
||||
this.doClose();
|
||||
}
|
||||
});
|
||||
},
|
||||
// 列车报警确认
|
||||
trainAlertor() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
|
||||
param: {
|
||||
trainCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) =>{
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
|
||||
this.$refs.trainAlertor.doShow(operate, this.selected);
|
||||
this.doClose();
|
||||
}
|
||||
});
|
||||
},
|
||||
// 更新列车计划
|
||||
updateTrainPlan() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
|
||||
param: {
|
||||
trainCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) =>{
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
|
||||
this.$refs.trainUpdatePlan.doShow(operate, this.selected);
|
||||
this.doClose();
|
||||
}
|
||||
});
|
||||
},
|
||||
setIdleRunningMode() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: '',
|
||||
param: {
|
||||
trainCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.idleRunningMode.doShow(operate, this.selected);
|
||||
this.doClose();
|
||||
}
|
||||
});
|
||||
},
|
||||
setTrainMode() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: '',
|
||||
param: {
|
||||
trainCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainMode.doShow(operate, this.selected);
|
||||
this.doClose();
|
||||
}
|
||||
});
|
||||
},
|
||||
getTrainDetail() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: '',
|
||||
param: {
|
||||
trainCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.trainDetail.doShow(operate, this.selected);
|
||||
this.doClose();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -204,7 +204,8 @@ export default {
|
||||
Station: {enlabel: 'Station training', label:'车站实训'},
|
||||
ControlConvertMenu: {enlabel: 'Control mode training', label:'控制模式实训'},
|
||||
LimitControl: {enlabel: 'Control mode limit', label:'全线限速实训'},
|
||||
TrainWindow: {enlabel: 'TrainWindow training', label:'车次窗实训'}
|
||||
TrainWindow: {enlabel: 'TrainWindow training', label:'车次窗实训'},
|
||||
Driver:{enlabel: 'Driver training', label:'司机实训'}
|
||||
},
|
||||
interfaceErrorConfig: {
|
||||
'500000': { type: '权限错误:', message: '您尚未有该操作权限!'},
|
||||
|
@ -641,6 +641,10 @@ export const OperationEvent = {
|
||||
confirm: {
|
||||
operation: '2023',
|
||||
domId: '_Tips-Control-Request-Confirm'
|
||||
},
|
||||
menuButton: {
|
||||
operation: '2024',
|
||||
domId: '_Tips-Control-Request-Menu{BOTTOM}'
|
||||
}
|
||||
},
|
||||
// 强行站控
|
||||
@ -687,6 +691,10 @@ export const OperationEvent = {
|
||||
confirm: {
|
||||
operation: '2043',
|
||||
domId: '_Tips-Control-Central-Confirm'
|
||||
},
|
||||
menuButton: {
|
||||
operation: '2044',
|
||||
domId: '_Tips-Control-Central-Menu{BOTTOM}'
|
||||
}
|
||||
},
|
||||
// 控制模式应答同意
|
||||
@ -1056,6 +1064,24 @@ export const OperationEvent = {
|
||||
confirm: {
|
||||
operation: '3181',
|
||||
domId: '_Tips-Signal-cancelGuide-Confirm'
|
||||
},
|
||||
menuButton: {
|
||||
operation: '3182',
|
||||
domId: '_Tips-Signal-cancelGuide-Menu{BOTTOM}'
|
||||
}
|
||||
},
|
||||
// 联锁进路
|
||||
interlockRoute:{
|
||||
menuButton: {
|
||||
operation: '3191',
|
||||
domId: '_Tips-Signal-interlockRoute-Menu{BOTTOM}'
|
||||
}
|
||||
},
|
||||
// 取消联锁
|
||||
cancelinterlock:{
|
||||
menuButton: {
|
||||
operation: '3201',
|
||||
domId: '_Tips-Signal-cancelinterlock-Menu{BOTTOM}'
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1739,6 +1765,10 @@ export const OperationEvent = {
|
||||
menu: {
|
||||
operation: '601',
|
||||
domId: '_Tips-Station-SetAutoTrigger-Menu'
|
||||
},
|
||||
menuButton: {
|
||||
operation: '6011',
|
||||
domId: '_Tips-Station-SetAutoTrigger-Menu{BOTTOM}'
|
||||
}
|
||||
},
|
||||
// 全站取消联锁自动触发
|
||||
@ -1746,6 +1776,10 @@ export const OperationEvent = {
|
||||
menu: {
|
||||
operation: '602',
|
||||
domId: '_Tips-Station-CancelAutoTrigger-Menu'
|
||||
},
|
||||
menuButton: {
|
||||
operation: '6021',
|
||||
domId: '_Tips-Station-CancelAutoTrigger-Menu{BOTTOM}'
|
||||
}
|
||||
},
|
||||
// 上电解锁
|
||||
@ -1807,6 +1841,10 @@ export const OperationEvent = {
|
||||
menu: {
|
||||
operation: '605',
|
||||
domId: '_Tips-Station-HumanControlALL-Menu'
|
||||
},
|
||||
menuButton: {
|
||||
operation: '6051',
|
||||
domId: '_Tips-Station-HumanControlALL-Menu{BOTTOM}'
|
||||
}
|
||||
},
|
||||
// 所有进路自排开
|
||||
@ -1814,6 +1852,10 @@ export const OperationEvent = {
|
||||
menu: {
|
||||
operation: '606',
|
||||
domId: '_Tips-Station-AtsAutoControlALL-Menu'
|
||||
},
|
||||
menuButton: {
|
||||
operation: '6061',
|
||||
domId: '_Tips-Station-AtsAutoControlALL-Menu{BOTTOM}'
|
||||
}
|
||||
},
|
||||
split: {
|
||||
@ -1866,6 +1908,7 @@ export const OperationEvent = {
|
||||
domId: '_Tips-Station-setBackStrategy-confirm'
|
||||
}
|
||||
},
|
||||
// 关站信号
|
||||
closeAllSignal: {
|
||||
menu: {
|
||||
operation: '611',
|
||||
@ -1882,6 +1925,10 @@ export const OperationEvent = {
|
||||
confirm: {
|
||||
operation: '6113',
|
||||
domId: '_Tips-Station-closeAllSignal-confirm'
|
||||
},
|
||||
menuButton: {
|
||||
operation: '6114',
|
||||
domId: '_Tips-Station-closeAllSignal-menu{BOTTOM}'
|
||||
}
|
||||
},
|
||||
ciAreaCloseAllSignal: {
|
||||
@ -1900,6 +1947,10 @@ export const OperationEvent = {
|
||||
confirm: {
|
||||
operation: '6123',
|
||||
domId: '_Tips-Station-ciAreaCloseAllSignal-Confirm'
|
||||
},
|
||||
menuButton: {
|
||||
operation: '6124',
|
||||
domId: '_Tips-Station-ciAreaCloseAllSignal-menu{BOTTOM}'
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -2181,6 +2232,28 @@ export const OperationEvent = {
|
||||
operation: '70h',
|
||||
domId: '_Tip-Train_routeBlockRun-Menu'
|
||||
}
|
||||
},
|
||||
// 删除目的ID
|
||||
deleteDestinationTrainId: {
|
||||
menu: {
|
||||
operation: '70i',
|
||||
domId: '_Tips-Train-deleteDestinationTrainId-Menu'
|
||||
}
|
||||
},
|
||||
// 更改惰行模式
|
||||
updateIdleRunningMode: {
|
||||
menu: {
|
||||
operation: '70j',
|
||||
domId: '_Tips-Train-updateIdleRunningMode-Menu'
|
||||
},
|
||||
confirm: {
|
||||
operation: '70j1',
|
||||
domId: '_Tips-Train-updateIdleRunningMode-Confirm'
|
||||
},
|
||||
choose: {
|
||||
operation: '70j2',
|
||||
domId: '_Tips-Train-updateIdleRunningMode-Choose'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -288,7 +288,7 @@ export default {
|
||||
if (this.$route.query.subSystem) {
|
||||
this.$router.push({ path: `${UrlConfig.trainingPlatform.course}/${this.$route.query.subSystem}`, query: {lessonId: this.examDetails.lessonId}});
|
||||
} else {
|
||||
this.$router.push({ path: '/device/examDetail', query: {lessonId: this.examDetails.lessonId, noPreLogout: this.$route.query.noPreLogout}});
|
||||
this.$router.push({ path: '/device/course', query: {lessonId: this.examDetails.lessonId, noPreLogout: this.$route.query.noPreLogout}});
|
||||
}
|
||||
}, 100);
|
||||
}
|
||||
|
62
src/views/newMap/displayNew/changeMap.vue
Normal file
62
src/views/newMap/displayNew/changeMap.vue
Normal file
@ -0,0 +1,62 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag title="切换地图" :visible.sync="dialogVisible" width="20%" center>
|
||||
<el-select v-model="selectMapId" placeholder="请选择地图" style="width: 60%; position: relative; left: 20%;" @change="changeMap">
|
||||
<el-option
|
||||
v-for="item in projectMapList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="confirm">{{ $t('global.confirm') }}</el-button>
|
||||
<el-button @click="dialogVisible = false">{{ $t('global.cancel') }}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import { getMapListByProjectCode } from '@/api/jmap/map';
|
||||
export default {
|
||||
name:'ChangeMap',
|
||||
data() {
|
||||
return {
|
||||
projectMapList:[],
|
||||
dialogVisible: false,
|
||||
selectMapId:'',
|
||||
selectMapLineCode:''
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
const projectCode = 'DRTS';
|
||||
getMapListByProjectCode(projectCode).then(res =>{
|
||||
if (res.code === 200) {
|
||||
const projectMapList = res.data;
|
||||
projectMapList.forEach(element => {
|
||||
this.projectMapList.push({id:element.id, lineCode:element.lineCode, name:element.name});
|
||||
});
|
||||
this.selectMapId = this.$route.query.mapId;
|
||||
this.selectMapLineCode = this.$route.query.lineCode;
|
||||
}
|
||||
}).catch(error => { this.$message.error(error.msg); });
|
||||
},
|
||||
methods:{
|
||||
doShow(row) {
|
||||
this.dialogVisible = true;
|
||||
},
|
||||
confirm() {
|
||||
this.dialogVisible = false;
|
||||
const query = Object.assign({}, this.$route.query);
|
||||
query.lineCode = this.selectMapLineCode;
|
||||
query.mapId = this.selectMapId;
|
||||
this.$emit('changeMap', query);
|
||||
},
|
||||
changeMap(mapId) {
|
||||
const map = this.projectMapList.find(map=>{ return map.id == mapId; });
|
||||
if (map) {
|
||||
this.selectMapId = map.id;
|
||||
this.selectMapLineCode = map.lineCode;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
@ -7,11 +7,8 @@
|
||||
</transition>
|
||||
<status-icon v-if="$route.query.lineCode == '11' || $route.query.lineCode == '10'" ref="statusIcon" />
|
||||
<menu-demon v-if="isDemon" ref="menuDemon" :offset="offset" :offset-bottom="offsetBottom" :data-error="dataError" :text-status-height="textStatusHeight" />
|
||||
<!-- ok -->
|
||||
<menu-lesson v-if="isLesson" ref="lessonMenu" :offset="offset" :data-error="dataError" :offset-bottom="offsetBottom" :tip-bottom="tipBottom" />
|
||||
<!-- ok -->
|
||||
<menu-exam v-if="isExam" ref="menuExam" :offset="offset" :data-error="dataError" :offset-bottom="offsetBottom" />
|
||||
|
||||
<menu-script
|
||||
v-if="isScript"
|
||||
ref="menuScript"
|
||||
@ -21,7 +18,6 @@
|
||||
:text-status-height="textStatusHeight"
|
||||
:data-error="dataError"
|
||||
/>
|
||||
|
||||
<menu-practice
|
||||
v-if="isPractice"
|
||||
ref="menuPractice"
|
||||
@ -29,16 +25,7 @@
|
||||
:offset-bottom="offsetBottom"
|
||||
:data-error="dataError"
|
||||
/>
|
||||
|
||||
<!-- @showScheduling="showScheduling"
|
||||
@schedulingView="schedulingView"
|
||||
@hideScheduling="hideScheduling" -->
|
||||
<!-- @devicemodel="devicemodel" -->
|
||||
<!-- @jl3dstation="jl3dstation" -->
|
||||
<!-- @quitQuest="quitQuest" -->
|
||||
<!-- @passflow="passflow" -->
|
||||
<!-- @hidepanel="hidepanel" -->
|
||||
<!-- :is-script-run="isScriptRun" -->
|
||||
<menu-dispather-contest v-if="isContest" ref="menuDispatherContest" :offset="offset" :offset-bottom="offsetBottom" :data-error="dataError" :text-status-height="textStatusHeight" />
|
||||
</template>
|
||||
<menu-train-list v-if="isDemon" @setCenter="setCenter" />
|
||||
<menu-system-time ref="menuSystemTime" :offset="offset" :group="group" />
|
||||
@ -52,11 +39,12 @@ import { timeFormat } from '@/utils/date';
|
||||
import MapSystemDraft from '@/views/newMap/mapsystemNew/index';
|
||||
import StatusIcon from '@/views/components/StatusIcon/statusIcon';
|
||||
import MenuDemon from '@/views/newMap/displayNew/menuDemon';
|
||||
import MenuExam from '@/views/newMap/displayNew/menuExam';
|
||||
import MenuLesson from '@/views/newMap/displayNew/menuLesson';
|
||||
import MenuExam from './exam/index';
|
||||
import MenuLesson from './lesson/index';
|
||||
import MenuTrainList from '@/views/newMap/displayNew/menuTrainList';
|
||||
import MenuSystemTime from '@/views/newMap/displayNew/menuSystemTime';
|
||||
import MenuScript from '@/views/newMap/displayNew/menuScript';
|
||||
import MenuDispatherContest from './menuDispatherContest';
|
||||
import { clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
||||
import { loadNewMapDataByGroup } from '@/utils/loaddata';
|
||||
import { EventBus } from '@/scripts/event-bus';
|
||||
@ -70,6 +58,7 @@ export default {
|
||||
MenuLesson,
|
||||
MenuSystemTime,
|
||||
MenuTrainList,
|
||||
MenuDispatherContest,
|
||||
MenuScript
|
||||
},
|
||||
data() {
|
||||
@ -90,8 +79,14 @@ export default {
|
||||
mode() {
|
||||
return this.$route.params.mode;
|
||||
},
|
||||
project() {
|
||||
return getSessionStorage('project');
|
||||
},
|
||||
isDemon() {
|
||||
return this.mode === 'demon';
|
||||
return this.mode === 'demon' && this.project != 'drts';
|
||||
},
|
||||
isContest() {
|
||||
return this.mode === 'demon' && this.project == 'drts';
|
||||
},
|
||||
isExam() {
|
||||
return this.mode === 'exam';
|
||||
@ -113,9 +108,6 @@ export default {
|
||||
},
|
||||
height() {
|
||||
return this.$store.state.app.height;
|
||||
},
|
||||
project() {
|
||||
return getSessionStorage('project');
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
@ -183,6 +175,7 @@ export default {
|
||||
await this.$refs.menuScript.back();
|
||||
}
|
||||
},
|
||||
// 以某个设备居中显示
|
||||
setCenter(code) {
|
||||
this.$jlmap.setCenter(code);
|
||||
},
|
||||
|
@ -26,7 +26,7 @@
|
||||
<script>
|
||||
import { getTrainingDetailNew } from '@/api/jmap/training';
|
||||
import TipTrainingDetail from './tipTrainingDetail';
|
||||
import LeftSlider from '@/views/newMap/displayNew/LeftSlider';
|
||||
import LeftSlider from './LeftSlider';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { Notification } from 'element-ui';
|
||||
import { startTrainingNew, endTrainingNew } from '@/api/jmap/training';
|
||||
@ -156,15 +156,17 @@ export default {
|
||||
// 清空按钮操作
|
||||
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
||||
this.startLoading = true;
|
||||
console.log(2222222222222, this.startLoading, this.started, this.trainingObj);
|
||||
if (this.trainingObj && this.trainingObj.id) {
|
||||
this.isDisable = true;
|
||||
startTrainingNew(this.trainingObj, this.group).then(response => {
|
||||
this.isDisable = true;
|
||||
this.$store.dispatch('map/clearJlmapTrainView').then(() => {
|
||||
this.$store.dispatch('training/teachModeStart', this.demoMode);
|
||||
this.$store.dispatch('training/countTime', 'Lesson'); // 开始计时
|
||||
this.$store.dispatch('training/setMapDefaultState').then(() => {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.tipInfo({ color: 'green', message: this.$t('global.pleaseOpearte') });
|
||||
this.$store.dispatch('training/teachModeStart', this.demoMode).then(()=>{
|
||||
this.$store.dispatch('training/countTime', 'Lesson'); // 开始计时
|
||||
this.$store.dispatch('training/setMapDefaultState').then(() => {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
this.tipInfo({ color: 'green', message: this.$t('global.pleaseOpearte') });
|
||||
});
|
||||
});
|
||||
});
|
||||
this.startLoading = false;
|
||||
@ -213,10 +215,21 @@ export default {
|
||||
zIndex: 9999
|
||||
}).then(() => {
|
||||
this.backDisable = false;
|
||||
this.$store.dispatch('training/end', null);
|
||||
this.$store.dispatch('training/setStopCountTime');
|
||||
this.$store.dispatch('training/setScore', 0);
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
const mode = {
|
||||
mode: this.demoMode,
|
||||
id: this.trainingObj.id,
|
||||
lessonId: this.$route.query.lessonId,
|
||||
usedTime: this.usedTime
|
||||
};
|
||||
endTrainingNew(mode, this.group).then(response => {
|
||||
// const data = response.data;
|
||||
this.$store.dispatch('training/end', null);
|
||||
this.$store.dispatch('training/setStopCountTime');
|
||||
this.$store.dispatch('training/setScore', 0);
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('display.lesson.endTrainingError'));
|
||||
});
|
||||
}).catch(() => {
|
||||
this.isDisable = true;
|
||||
this.backDisable = false;
|
@ -377,7 +377,7 @@ export default {
|
||||
console.log(this.userRole, '11111111');
|
||||
this.$store.dispatch('training/setPrdType', this.$route.query.prdType);
|
||||
this.$store.dispatch('training/setRoles', userRole);
|
||||
this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
||||
// this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
||||
},
|
||||
clearAllData() {
|
||||
this.$refs.chatbox.clearAllData();
|
||||
|
494
src/views/newMap/displayNew/menuDispatherContest.vue
Normal file
494
src/views/newMap/displayNew/menuDispatherContest.vue
Normal file
@ -0,0 +1,494 @@
|
||||
<template>
|
||||
<div>
|
||||
<demon-chat ref="chatbox" :group="group" :user-role="userRole" :offset="offset" />
|
||||
<div class="display-card" :style="{top: offset+'px'}">
|
||||
<el-row>
|
||||
<span v-if="countTime" class="display-score">{{ $t('display.demon.trialTime') }} {{ countTime }}</span>
|
||||
</el-row>
|
||||
</div>
|
||||
<demon-menu
|
||||
ref="demonMenu"
|
||||
:is-all-show="!dataError"
|
||||
:jl3dmodel-show="isShow3dmodel && !isShowScheduling"
|
||||
:jl3dname-show="!isShowScheduling&&!isDrive"
|
||||
:cctv-show="!isShowScheduling"
|
||||
:schedule-load-show="isShowScheduling && !runing"
|
||||
:schedule-preview-show="isShowScheduling && runing"
|
||||
:jlmap3d-fault-show="false"
|
||||
:driver-show="isDrive"
|
||||
:all-style="'top:'+(offset+textStatusHeight)+'px'"
|
||||
/>
|
||||
|
||||
<div class="display-draft" :class="{'haerbin_btn_box': $route.query.lineCode == '07'}" :style="{bottom: offsetBottom + 'px'}">
|
||||
<el-button-group class="button-group-box">
|
||||
<el-button type="primary" size="small" @click="back">退出</el-button>
|
||||
<template v-if="!dataError">
|
||||
<template v-if="isScriptRun">
|
||||
<el-button type="danger" size="small" @click="handleQuitQuest">退出剧本</el-button>
|
||||
</template>
|
||||
<el-button type="danger" size="small" @click="end">{{ $t('display.demon.initialize') }}</el-button>
|
||||
<el-button type="success" :disabled="isDisable" size="small" @click="selectBeginTime">{{ $t('display.demon.drivingByPlan') }}</el-button>
|
||||
</template>
|
||||
</el-button-group>
|
||||
</div>
|
||||
|
||||
<menu-schema
|
||||
ref="menuSchema"
|
||||
:offset="offset"
|
||||
:data-error="dataError"
|
||||
:offset-bottom="offsetBottom"
|
||||
@selectQuest="selectQuest"
|
||||
@changeMap="changeMap"
|
||||
/>
|
||||
|
||||
<!-- :station-list="stationListMode"
|
||||
:show-select-station="showSelectStation"
|
||||
@selectQuest="selectQuest"
|
||||
@switchStationMode="switchStationMode"
|
||||
@switchMode="switchMode" -->
|
||||
|
||||
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<!-- 单人仿真 -->
|
||||
<script>
|
||||
import SetTime from './demon/setTime';
|
||||
import DemonMenu from './demonMenu';
|
||||
import DemonChat from './demonChat';
|
||||
import { Notification } from 'element-ui';
|
||||
import MenuSchema from '@/views/newMap/displayNew/menuSchema';
|
||||
import { getGoodsTryUse } from '@/api/management/goods';
|
||||
import { ranAsPlan, exitRunPlan, clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
||||
import { PermissionType } from '@/scripts/ConstDic';
|
||||
import { getCountTime } from '@/utils/index';
|
||||
import { prefixIntrger } from '@/utils/date';
|
||||
import { TrainingMode } from '@/scripts/ConstDic';
|
||||
import { quitScriptNew } from '@/api/simulation';
|
||||
import { setGoodsTryUse } from '@/api/management/goods';
|
||||
import {loadScriptNew } from '@/api/simulation';
|
||||
import { launchFullscreen } from '@/utils/screen';
|
||||
import { createSimulationNew } from '@/api/simulation';
|
||||
import Vue from 'vue';
|
||||
|
||||
export default {
|
||||
name: 'MenuDemon',
|
||||
components: {
|
||||
SetTime,
|
||||
DemonChat,
|
||||
MenuSchema,
|
||||
DemonMenu
|
||||
},
|
||||
props: {
|
||||
offset: {
|
||||
type: Number,
|
||||
required: true
|
||||
},
|
||||
offsetBottom: {
|
||||
type: Number,
|
||||
required: true
|
||||
},
|
||||
dataError: {
|
||||
type: Boolean,
|
||||
default() {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
textStatusHeight: {
|
||||
type: Number,
|
||||
default() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isDisable: false,
|
||||
tryTime: 0, // 进入页面多少秒
|
||||
timeNow: 0, // 进入页面 相对时间
|
||||
time: null, // 定时器
|
||||
countTime: 0, // 显示 倒计时
|
||||
remainingTime: 0,
|
||||
userRole:'AUDIENCE',
|
||||
goodsId: this.$route.query.goodsId,
|
||||
try: this.$route.query.try, // 是否是试用权限
|
||||
training: {
|
||||
id: '',
|
||||
name: '',
|
||||
remarks: ''
|
||||
},
|
||||
isScriptRun:false,
|
||||
jl3dpassflow:this.$t('display.demon.passengerflow'),
|
||||
jl3dname: this.$t('display.demon.threeDimensionalView'),
|
||||
jl3dstation: this.$t('display.demon.threeDimensionalStation'),
|
||||
jl3dmodel: this.$t('display.demon.deviceView'),
|
||||
isShow3dmodel :false,
|
||||
isGoback: false,
|
||||
runing:false,
|
||||
prdTypeMap: {
|
||||
'01': '01', // 现地 => 现地
|
||||
'02': '02', // 行调 => 行调
|
||||
'04': '02', // 司机 => 行调
|
||||
'05': '' // 派班 => null
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
isShowScheduling() {
|
||||
return this.$route.query.prdType == '05';
|
||||
},
|
||||
isDrive() {
|
||||
return this.$route.query.prdType == '04';
|
||||
},
|
||||
group() {
|
||||
return this.$route.query.group;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$store.state.training.subscribeCount': function () {
|
||||
this.group && this.initLoadPage();
|
||||
},
|
||||
'$store.state.socket.simulationRoleList':function(val) {
|
||||
(val || []).forEach(item => {
|
||||
if (item.messageType === 'KICK_OUT' && item.userId == this.$store.state.user.id) {
|
||||
!this.isGoback && this.back();
|
||||
}
|
||||
});
|
||||
},
|
||||
'$store.state.socket.simulationOver':function(val) {
|
||||
!this.isGoback && this.back();
|
||||
},
|
||||
// '$store.state.training.started': function (val) {
|
||||
// this.setRuning(val);
|
||||
// },
|
||||
'$store.state.socket.simulationStart':function(val) {
|
||||
if (val) {
|
||||
this.setRuning(true);
|
||||
}
|
||||
},
|
||||
'$store.state.socket.simulationReset':function(val) {
|
||||
this.setRuning(false);
|
||||
},
|
||||
'$store.state.map.mapViewLoadedCount': function (val) { // 地图视图加载完成标识 开始加载默认状态
|
||||
const initTime = new Date(this.$store.state.training.initTime || null);
|
||||
const model = {initTime:this.formatTime(initTime)};
|
||||
this.start(model);
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.$store.dispatch('training/setPrdType', this.$route.query.prdType);
|
||||
if (this.$store.state.training.prdType == '02') {
|
||||
this.userRole = 'DISPATCHER';
|
||||
} else if (this.$store.state.training.prdType == '01') {
|
||||
this.userRole = 'STATION_SUPERVISOR';
|
||||
} else if (this.$store.state.training.prdType == '04') {
|
||||
this.userRole = 'DRIVER';
|
||||
} else if (this.$store.state.training.prdType == '05') {
|
||||
this.userRole = 'DEPOT_DISPATCHER';
|
||||
} else {
|
||||
this.userRole = 'AUDIENCE';
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (this.time) {
|
||||
this.setTryTime();
|
||||
clearTimeout(this.time);
|
||||
}
|
||||
this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
||||
this.$store.dispatch('map/resetActiveTrainList', true);
|
||||
},
|
||||
mounted() {
|
||||
this.$store.dispatch('training/end', TrainingMode.NORMAL);
|
||||
this.$store.dispatch('training/setPrdType', this.prdTypeMap[this.$route.query.prdType]);
|
||||
this.$nextTick(() => {
|
||||
this.$refs.demonMenu.menuClick();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
async initLoadPage() {
|
||||
try {
|
||||
if (this.try != '0') {
|
||||
this.loadInitData();
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
},
|
||||
formatTime(initTime) {
|
||||
const hh = prefixIntrger(initTime.getHours(), 2);
|
||||
const mm = prefixIntrger(initTime.getMinutes(), 2);
|
||||
const ss = prefixIntrger(initTime.getSeconds(), 2);
|
||||
return `${hh}:${mm}:${ss}`;
|
||||
},
|
||||
initPlannedDriving(isDisable) {
|
||||
this.isDisable = isDisable;
|
||||
},
|
||||
loadInitData() {
|
||||
const data = {
|
||||
mapId: this.$route.query.mapId,
|
||||
prdType: this.$route.query.prdType,
|
||||
permissionType: PermissionType.SIMULATION
|
||||
};
|
||||
getGoodsTryUse(data).then(res => {
|
||||
this.remainingTime = res.data.tryTime;
|
||||
this.timeNow = Date.parse(new Date()) / 1000 + this.remainingTime;
|
||||
if (this.try) {
|
||||
this.time = setInterval(() => {
|
||||
this.tryTime += 1;
|
||||
this.countTime = getCountTime(this.timeNow);
|
||||
if (this.countTime == -1) {
|
||||
this.back();
|
||||
}
|
||||
}, 1000);
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('display.demon.getTimeFail'));
|
||||
});
|
||||
},
|
||||
selectBeginTime() {
|
||||
this.$refs.setTime.doShow();
|
||||
},
|
||||
changeMap(query) {
|
||||
clearSimulation(this.group).then(res=>{
|
||||
const data = { mapId: query.mapId, prdType: query.prdType };
|
||||
createSimulationNew(data).then(resp => {
|
||||
this.$store.dispatch('training/over');
|
||||
this.$store.dispatch('training/reset');
|
||||
this.$store.dispatch('map/mapClear');
|
||||
this.$store.dispatch('training/setPrdType', this.currentPrdType); // 改变prdType
|
||||
query.group = resp.data;
|
||||
this.$router.replace({query: query});
|
||||
launchFullscreen();
|
||||
}).catch(error => {
|
||||
this.$messageBox(this.$t('error.createSimulationFailed') + error.message);
|
||||
this.disabled = false;
|
||||
});
|
||||
});
|
||||
},
|
||||
start(model) { // 开始仿真
|
||||
this.isDisable = true;
|
||||
const data = {
|
||||
time: model.initTime
|
||||
};
|
||||
if (this.$route.query.prdType === '04') {
|
||||
data.loadNumber = model.loadNum;
|
||||
}
|
||||
ranAsPlan(data, this.group).then(res => {
|
||||
this.$store.dispatch('training/simulationStart').then(() => {
|
||||
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${model.initTime}`));
|
||||
this.$store.dispatch('map/setShowCentralizedStationNum');
|
||||
});
|
||||
}).catch(error => {
|
||||
this.isDisable = false;
|
||||
if (error.code == '5001') {
|
||||
this.$messageBox(this.$t('error.mapDataError') + ',' + this.$t('error.startSimulationFailed'));
|
||||
} else if (error.code == '5002') {
|
||||
this.$messageBox(this.$t('error.runningChartDataError') + ',' + this.$t('error.startSimulationFailed'));
|
||||
} else if (error.code == '5003') {
|
||||
this.$messageBox(this.$t('error.runningChartIsNotLoaded') + ',' + this.$t('error.startSimulationFailed'));
|
||||
} else if (error.code == '5004') {
|
||||
this.$messageBox(this.$t('error.runningDataError') + ',' + this.$t('error.startSimulationFailed'));
|
||||
} else if (error.code == '5000') {
|
||||
this.$messageBox(this.$t('error.systemError') + ',' + this.$t('error.startSimulationFailed'));
|
||||
} else if (error.code == '4000') {
|
||||
this.$messageBox(this.$t('error.simulationDoesNotExist') + ',' + this.$t('error.startSimulationFailed'));
|
||||
} else if (error.code == '4001') {
|
||||
this.$messageBox(this.$t('error.simulationOperationIsNotDefined') + ',' + this.$t('error.startSimulationFailed'));
|
||||
} else if (error.code == '4002') {
|
||||
this.$messageBox(this.$t('error.simulationOperationProcessingMethodNotFound') + ',' + this.$t('error.startSimulationFailed'));
|
||||
} else if (error.code == '4003') {
|
||||
this.$messageBox(this.$t('error.simulationOperationFailed') + ',' + this.$t('error.startSimulationFailed'));
|
||||
} else if (error.code == '4004') {
|
||||
this.$messageBox(this.$t('error.operationConflict') + ',' + this.$t('error.startSimulationFailed'));
|
||||
} else {
|
||||
this.$messageBox('按计划行车异常,请退出重试!');
|
||||
}
|
||||
});
|
||||
},
|
||||
setRuning(run) {
|
||||
this.runing = run;
|
||||
this.$refs.demonMenu.hideScheduling(run);
|
||||
},
|
||||
end() {
|
||||
this.isDisable = false;
|
||||
exitRunPlan(this.group).then(() => {
|
||||
this.$store.dispatch('training/over').then(() => {
|
||||
this.$store.dispatch('training/setMapDefaultState').then(() => {
|
||||
this.$store.dispatch('map/resetActiveTrainList', false);
|
||||
this.$store.dispatch('map/clearJlmapTrainView');
|
||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||
});
|
||||
});
|
||||
}).catch(() => {
|
||||
this.isDisable = true;
|
||||
this.$messageBox(this.$t('display.demon.endSimulationFail'));
|
||||
});
|
||||
},
|
||||
handleQuitQuest() {
|
||||
quitScriptNew(this.group).then(resp => {
|
||||
getSimulationInfoNew(this.group).then((res)=>{
|
||||
this.quitQuest();
|
||||
this.initLoadPage();
|
||||
this.clearAllData();
|
||||
this.$store.dispatch('scriptRecord/updateBgSet', false);
|
||||
}).catch(()=>{
|
||||
this.$messageBox(this.$t('display.demon.exitTaskFail'));
|
||||
});
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('display.demon.exitTaskFail'));
|
||||
});
|
||||
},
|
||||
// 选择脚本
|
||||
async selectQuest({row, id, mapLocation, roleName}) {
|
||||
try {
|
||||
let userRole = 'AUDIENCE';
|
||||
if (id) {
|
||||
this.$store.dispatch('training/setPrdType', this.$route.query.prdType);
|
||||
if (this.$route.query.prdType) {
|
||||
if (this.$route.query.prdType == '02') {
|
||||
userRole = 'DISPATCHER';
|
||||
} else if (this.$route.query.prdType == '01') {
|
||||
userRole = 'STATION_SUPERVISOR';
|
||||
} else if (this.$route.query.prdType == '04') {
|
||||
userRole = 'DRIVER';
|
||||
} else if (this.$route.query.prdType == '05') {
|
||||
userRole = 'DEPOT_DISPATCHER';
|
||||
} else {
|
||||
userRole = 'AUDIENCE';
|
||||
}
|
||||
}
|
||||
this.$store.dispatch('training/setRoles', userRole);
|
||||
} else {
|
||||
this.$store.dispatch('training/setRoles', 'AUDIENCE');
|
||||
this.$store.dispatch('training/setPrdType', '');
|
||||
}
|
||||
this.userRole = userRole;
|
||||
this.$store.dispatch('scriptRecord/updateBgSet', true);
|
||||
this.$refs.chatbox.setMembers(id);
|
||||
const res = await loadScriptNew(row.id, id, this.group);
|
||||
if (res && res.code == 200) {
|
||||
if (mapLocation) {
|
||||
const newMapLocation = {'offsetX': mapLocation.x, 'offsetY': mapLocation.y, 'scaleRate': mapLocation.scale};
|
||||
Vue.prototype.$jlmap.setOptions(newMapLocation);
|
||||
}
|
||||
this.isScriptRun = true;
|
||||
// this.initLoadPage();
|
||||
}
|
||||
} catch (error) {
|
||||
this.$messageBox(error.message);
|
||||
}
|
||||
// if (this.isScript) {
|
||||
// this.$refs.menuScript.initLoadPage();
|
||||
// }
|
||||
},
|
||||
quitQuest() {
|
||||
this.isScriptRun = false;
|
||||
let userRole = '';
|
||||
if (this.$route.query.prdType) {
|
||||
if (this.$route.query.prdType == '02') {
|
||||
userRole = 'DISPATCHER';
|
||||
} else if (this.$route.query.prdType == '01') {
|
||||
userRole = 'STATION_SUPERVISOR';
|
||||
} else if (this.$route.query.prdType == '04') {
|
||||
userRole = 'DRIVER';
|
||||
} else if (this.$route.query.prdType == '05') {
|
||||
userRole = 'DEPOT_DISPATCHER';
|
||||
} else {
|
||||
userRole = 'AUDIENCE';
|
||||
}
|
||||
}
|
||||
this.userRole = userRole;
|
||||
this.$refs.chatbox.setMembers(this.$store.state.training.orignalUserRoleId);
|
||||
this.$refs.chatbox.clearAllData();
|
||||
console.log(this.userRole, '11111111');
|
||||
this.$store.dispatch('training/setPrdType', this.$route.query.prdType);
|
||||
this.$store.dispatch('training/setRoles', userRole);
|
||||
// this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
||||
},
|
||||
clearAllData() {
|
||||
this.$refs.chatbox.clearAllData();
|
||||
},
|
||||
async back() {
|
||||
this.isGoback = true;
|
||||
this.$store.dispatch('training/over').then(() => {
|
||||
this.$store.dispatch('LogOut').then(() => {
|
||||
location.reload();
|
||||
});
|
||||
});
|
||||
|
||||
},
|
||||
setTryTime() {
|
||||
if (this.try) {
|
||||
const data = { time: this.tryTime, goodsId: this.goodsId };
|
||||
if (data.goodsId) {
|
||||
setGoodsTryUse(data);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
.display-card {
|
||||
z-index: 9;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 17px;
|
||||
left: 160px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.display-card .el-row {
|
||||
line-height: 32px !important;
|
||||
}
|
||||
|
||||
.display-score {
|
||||
background-color: black;
|
||||
display: -moz-inline-box;
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
height: 32px;
|
||||
line-height: 24px;
|
||||
border-radius: 4px;
|
||||
padding-left: 2px;
|
||||
margin-left: 10px;
|
||||
font-family: "Microsoft" !important;
|
||||
font-size: 18px !important;
|
||||
color: #fff;
|
||||
}
|
||||
.haerbin_btn_box{
|
||||
width: 450px;
|
||||
bottom: 15px!important;
|
||||
}
|
||||
</style>
|
||||
<style lang="scss">
|
||||
.display-draft {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
bottom: 15px;
|
||||
button {
|
||||
float: right!important;
|
||||
}
|
||||
.button-group-box{
|
||||
float: right;
|
||||
}
|
||||
/deep/ .el-button-group>.el-button:last-child {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
/deep/ .el-button-group>.el-button:first-child{
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
border-right-color: transparent;
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
@ -5,6 +5,7 @@
|
||||
<template v-if="!dataError">
|
||||
<el-button-group>
|
||||
<el-button v-if="isScheduling && isDepot" size="small" type="primary" @click="runPlanEditShow">运行图编辑</el-button>
|
||||
<el-button v-if="isContest && !isScheduling" size="small" :disabled="viewDisabled" type="primary" @click="viewChangeMap">切换地图</el-button>
|
||||
<!-- 加载剧本 -->
|
||||
<el-button v-if="isDemon && !isScheduling" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">{{ $t('display.schema.loadScript') }}</el-button>
|
||||
<!-- 运行图加载 -->
|
||||
@ -16,12 +17,13 @@
|
||||
<!-- <el-button v-if="!isLocalStation" size="small" :type="faultMode ? 'danger' : ''" @click="changeDirectiveMode()">指令模式</el-button> -->
|
||||
</template>
|
||||
</div>
|
||||
<fault-choose v-if="isDemon || isScript" ref="faultChoose" :group="group" :offset="offset" />
|
||||
<fault-choose ref="faultChoose" :group="group" :offset="offset" />
|
||||
<run-plan-Load ref="runPlanLoad" :group="group" />
|
||||
<run-plan-view ref="runPlanView" :group="group" />
|
||||
<!-- 加载剧本列表弹窗 -->
|
||||
<add-quest ref="addQuest" @selectQuest="selectQuest" />
|
||||
<run-plan-edit v-if="isScheduling && isDepot" ref="runPlanEdit" />
|
||||
<change-map v-if="isContest && !isScheduling" ref="changeMap" @changeMap="changeMap" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@ -30,6 +32,7 @@ import RunPlanLoad from './demon/runPlanLoad';
|
||||
import RunPlanView from './demon/runPlanView';
|
||||
import FaultChoose from './demon/faultChoose';
|
||||
import AddQuest from './demon/addQuest';
|
||||
import ChangeMap from './changeMap';
|
||||
import { OperateMode } from '@/scripts/ConstDic';
|
||||
import { getByGroupStationList } from '@/api/jmap/map';
|
||||
import RunPlanEdit from './demon/runPlanEdit';
|
||||
@ -44,7 +47,8 @@ export default {
|
||||
FaultChoose,
|
||||
AddQuest,
|
||||
RunPlanEdit,
|
||||
SelectStation
|
||||
SelectStation,
|
||||
ChangeMap
|
||||
},
|
||||
props: {
|
||||
offset: {
|
||||
@ -79,6 +83,9 @@ export default {
|
||||
isScript() {
|
||||
return this.$route.params.mode === 'script';
|
||||
},
|
||||
isContest() {
|
||||
return this.$route.params.mode === 'demon' && this.project == 'drts';
|
||||
},
|
||||
isDemon() {
|
||||
return this.$route.params.mode === 'demon';
|
||||
},
|
||||
@ -166,6 +173,9 @@ export default {
|
||||
// }
|
||||
// this.$store.dispatch('training/changeOperateMode', { mode: mode });
|
||||
// },
|
||||
viewChangeMap() {
|
||||
this.$refs.changeMap.doShow();
|
||||
},
|
||||
setFault() {
|
||||
this.$refs.faultChoose.doShow();
|
||||
},
|
||||
@ -181,6 +191,9 @@ export default {
|
||||
selectQuest(row, id, mapLocation, roleName) {
|
||||
this.$emit('selectQuest', {row, id, mapLocation, roleName});
|
||||
},
|
||||
changeMap(query) {
|
||||
this.$emit('changeMap', query);
|
||||
},
|
||||
switchModeInner(swch) {
|
||||
let showMode = '03';
|
||||
if (swch == '01') {
|
||||
|
@ -95,7 +95,7 @@ export default {
|
||||
const device = this.$store.getters['map/getDeviceByCode'](member.deviceCode);
|
||||
if (device) {
|
||||
if (device._type == 'Train') {
|
||||
member.deviceName = device.deviceCode;
|
||||
member.deviceName = device.groupNumber;
|
||||
member.label = member.type + device.groupNumber + name + userName;
|
||||
lastMemberList.push(member);
|
||||
if (this.activeTrainList.length > 0) {
|
||||
@ -216,7 +216,8 @@ export default {
|
||||
memberList.push(member);
|
||||
} else {
|
||||
const member = this.memberData.find(member=>{ return member.id == id; });
|
||||
member.connect = false;
|
||||
// member.connect = false;
|
||||
member.connect = true;
|
||||
member && memberList.push(member);
|
||||
}
|
||||
});
|
||||
|
@ -365,7 +365,6 @@ export default {
|
||||
scriptRePreview(this.group).then(resp=>{
|
||||
getSimulationInfoNew(this.group).then(()=>{
|
||||
this.isscriptRun = false;
|
||||
this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
||||
this.$store.dispatch('scriptRecord/updateBgSet', false);
|
||||
// this.userRole = '';
|
||||
this.$store.dispatch('training/setRoles', '');
|
||||
|
@ -224,7 +224,8 @@ export default {
|
||||
if (val.creatorId == id) {
|
||||
memberList.push({memberId:id, connect:true});
|
||||
} else {
|
||||
memberList.push({memberId:id, connect:false});
|
||||
// memberList.push({memberId:id, connect:false});
|
||||
memberList.push({memberId:id, connect:true});
|
||||
}
|
||||
});
|
||||
this.conversitionMemberList = memberList;
|
||||
@ -580,13 +581,13 @@ export default {
|
||||
}
|
||||
this.cancelCommonConversation();
|
||||
},
|
||||
connectMember(val) {
|
||||
this.conversitionMemberList.forEach(member => {
|
||||
if (member.memberId == val.memberId) {
|
||||
member.connect = true;
|
||||
}
|
||||
});
|
||||
},
|
||||
// connectMember(val) {
|
||||
// this.conversitionMemberList.forEach(member => {
|
||||
// if (member.memberId == val.memberId) {
|
||||
// member.connect = true;
|
||||
// }
|
||||
// });
|
||||
// },
|
||||
sortByMessageTime(message1, message2) {
|
||||
const time1 = new Date(message1.time).valueOf();
|
||||
const time2 = new Date(message2.time).valueOf();
|
||||
|
@ -42,7 +42,7 @@ export default {
|
||||
},
|
||||
watch:{
|
||||
'$store.state.socket.acceptConversionInvite':function(val) {
|
||||
this.$emit('connectMember', val);
|
||||
// this.$emit('connectMember', val);
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
@ -38,6 +38,7 @@ export default {
|
||||
methods: {
|
||||
tipInit() {
|
||||
this.$nextTick(() => {
|
||||
console.log('tipInit',);
|
||||
this.$store.dispatch('training/isTeachMode').then(() => {
|
||||
this.tipShow = true;
|
||||
const offset = this.$store.state.config.canvasOffset;
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div v-show="dialogVisible">
|
||||
<el-dialog v-dialogDrag title="请确认联锁配置项" :visible.sync="dialogVisible" fullscreen :before-close="handleClose" center :close-on-click-modal="false" :z-index="2000">
|
||||
<el-dialog v-dialogDrag title="请确认联锁配置项" :visible.sync="dialogVisible" fullscreen :before-close="handleClose" center :close-on-click-modal="false" :z-index="2000" append-to-body>
|
||||
<div style="overflow-y: scroll;" :style="{height: height+ 'px'}">
|
||||
<el-card style="margin-top: 10px">
|
||||
<div slot="header" style="font-weight: bold;text-align: center;">
|
||||
@ -85,8 +85,8 @@ export default {
|
||||
overlapOnlyOneSwitch: false,
|
||||
generateCycle: false,
|
||||
routeButton: false,
|
||||
likeHa1: false,
|
||||
getNearlySignal: false,
|
||||
likeHa1: false,
|
||||
getNearlySignal: false,
|
||||
overlapSettingByTrigger: false,
|
||||
overlapReleaseTime: 45,
|
||||
routeReleaseTime: 60
|
||||
@ -120,8 +120,8 @@ export default {
|
||||
routeReleaseTime: '默认进路解锁时间',
|
||||
generateCycle: '是否生成自动折返',
|
||||
routeButton: '是否生成进路结束按钮',
|
||||
likeHa1: '是否类似哈尔滨一号线,联锁分为ATP信号、地面信号、引导信号',
|
||||
getNearlySignal: '生成进路信号按钮,进路信号按钮是否取最近的一个信号机',
|
||||
likeHa1: '是否类似哈尔滨一号线,联锁分为ATP信号、地面信号、引导信号',
|
||||
getNearlySignal: '生成进路信号按钮,进路信号按钮是否取最近的一个信号机',
|
||||
overlapSettingByTrigger: '延续保护的建立方式:是-通过触发建立,否-随进路建立',
|
||||
generateFls: '是否生成侧防:是-生成侧防,不要联动道岔,否-不生成侧防,用联动道岔'
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag title="隐藏元素" :visible.sync="dialogTableVisible" class="view_box" width="460px" :before-close="doClose" :modal-append-to-body="false">
|
||||
<el-dialog v-dialogDrag title="隐藏元素" :visible.sync="dialogTableVisible" class="view_box" width="460px" :before-close="doClose" :modal-append-to-body="false" append-to-body :modal="false">
|
||||
<el-row type="flex" justify="center" class="content_box">
|
||||
<el-form label-width="80px" class="demo-ruleForm">
|
||||
<el-form-item :label="$t('map.contentShows')">
|
||||
|
@ -3,6 +3,7 @@
|
||||
title="提示"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%"
|
||||
append-to-body
|
||||
>
|
||||
<ul>
|
||||
<li v-for="(item,index) in tipInfoList" :key="index">{{ item }}</li>
|
||||
|
@ -5,6 +5,7 @@
|
||||
:visible.sync="visible"
|
||||
width="400px"
|
||||
:before-close="doClose"
|
||||
append-to-body
|
||||
>
|
||||
<el-radio-group v-model="mode" class="radio-mode">
|
||||
<el-radio label="01">{{ $t('map.create') }}</el-radio>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag :title="isNew? $t('map.trainmodelCreate'): $t('map.trainmodelUpdate')" :visible.sync="dialogShow" width="30%" :before-close="doClose">
|
||||
<el-dialog v-dialogDrag :title="isNew? $t('map.trainmodelCreate'): $t('map.trainmodelUpdate')" :visible.sync="dialogShow" width="30%" :before-close="doClose" append-to-body>
|
||||
<el-card shadow="never">
|
||||
<el-form
|
||||
ref="form"
|
||||
|
@ -171,8 +171,10 @@ export default {
|
||||
this.$store.dispatch('training/setRoles', 'DISPATCHER');
|
||||
} else if (role.type == '司机') {
|
||||
prdType = '04';
|
||||
this.$store.dispatch('training/setRoles', 'DRIVER');
|
||||
} else if (role.type == '通号') {
|
||||
prdType = '';
|
||||
this.$store.dispatch('training/setRoles', 'MAINTAINER');
|
||||
const routeData = this.$router.resolve({
|
||||
path:'/jlmap3d/maintainer',
|
||||
query:{
|
||||
|
Loading…
Reference in New Issue
Block a user