佛山有轨电车 宁波一号线 全线扣车代码调整

This commit is contained in:
joylink_cuiweidong 2020-06-09 17:53:54 +08:00
parent 3628ad2d6e
commit cc3fe9353f
4 changed files with 207 additions and 168 deletions

View File

@ -11,9 +11,9 @@
:modal="false" :modal="false"
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<el-radio-group v-model="control" :disabled="true"> <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-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px;padding-top:10px">
<el-radio :label="item" disabled="false">{{ controlProps[item] }}</el-radio> <el-radio :label="item" :disabled="controlPropDisabled[item]">{{ controlProps[item] }}</el-radio>
</el-row> </el-row>
</el-radio-group> </el-radio-group>
<el-row type="flex" justify="center" class="button-group"> <el-row type="flex" justify="center" class="button-group">
@ -31,155 +31,161 @@ import { MapDeviceType, TrainingMode, OperationEvent, getDomIdByOperation, check
import NoticeInfo from '../dialog/childDialog/childDialog/noticeInfo'; import NoticeInfo from '../dialog/childDialog/childDialog/noticeInfo';
export default { export default {
name: 'StationStand', name: 'StationStand',
components: { components: {
NoticeInfo NoticeInfo
}, },
data() { data() {
return { return {
operate: null, operate: null,
dialogShow: false, dialogShow: false,
disabledClose: false, disabledClose: false,
disabledCommit: false, disabledCommit: false,
control: '01', control: '01',
controlProps: { controlProps: {
'01': '全线扣车', '01': '全线扣车',
'02': '取消全线扣车' '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 '取消全线扣车';
}
}
},
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;
}
}
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
}
},
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');
computed: { },
...mapGetters('map', [ doClose() {
'stationList' this.dialogShow = false;
]), this.$store.dispatch('training/emitTipFresh');
...mapGetters('training', [ },
'mode', cancel() {
'started' const operate = {
]), type: 'bar',
show() { operation: OperationEvent.Command.cancel.menu.operation
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 '取消全线扣车';
}
}
},
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;
}
}
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
}
},
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.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
// 线 if (valid) {
this.control = '01'; this.doClose();
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) { }
// 线 });
this.control = '02'; },
}
this.dialogShow = true; //
this.$store.dispatch('training/emitTipFresh'); handleCommit() {
}, if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
doClose() { // 线
this.dialogShow = false; this.setDetainTrainAll();
this.$store.dispatch('training/emitTipFresh'); } else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
}, // 线
cancel() { this.cancelDetainTrainAll();
const operate = { }
type: 'bar', },
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/next', operate).then(({ valid }) => { // 线
if (valid) { setDetainTrainAll() {
this.doClose(); 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 }) => {
handleCommit() { if (valid) {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// 线 } else {
this.setDetainTrainAll(); this.disabledSure = false;
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) { }
// 线 }).catch(() => {
this.cancelDetainTrainAll(); this.loading = false;
} this.doClose();
}, this.$refs.noticeInfo.doShow(operate);
// 线 });
setDetainTrainAll() { },
const operate = {
send: true,
type: MapDeviceType.StationStand.type,
operation: OperationEvent.StationStand.setDetainTrainAll.menu.operation,
val: this.control,
messages: ['确认设置全线扣车!']
};
this.$store.dispatch('training/next', operate).then(({ valid }) => { // 线
if (valid) { cancelDetainTrainAll() {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); const operate = {
} else { send: true,
this.disabledSure = false; type: MapDeviceType.StationStand.type,
} operation: OperationEvent.StationStand.cancelDetainTrainAll.menu.operation,
}).catch(() => { val: this.control,
this.loading = false; messages: ['确认取消全线扣车!']
this.doClose(); };
this.$refs.noticeInfo.doShow(operate);
}); this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
}, if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// 线 } else {
cancelDetainTrainAll() { this.disabledSure = false;
const operate = { }
send: true, }).catch(() => {
type: MapDeviceType.StationStand.type, this.loading = false;
operation: OperationEvent.StationStand.cancelDetainTrainAll.menu.operation, this.doClose();
val: this.control, this.$refs.noticeInfo.doShow(operate);
messages: ['确认取消全线扣车!'] });
}; }
}
this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else {
this.disabledSure = false;
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
}
}
}; };
</script> </script>
<style scoped rel="stylesheet/scss" lang="scss" scoped> <style scoped rel="stylesheet/scss" lang="scss" scoped>

View File

@ -11,9 +11,9 @@
:modal="false" :modal="false"
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<el-radio-group v-model="control" :disabled="true"> <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-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px;padding-top:10px">
<el-radio :label="item">{{ controlProps[item] }}</el-radio> <el-radio :label="item" :disabled="controlPropDisabled[item]">{{ controlProps[item] }}</el-radio>
</el-row> </el-row>
</el-radio-group> </el-radio-group>
<el-row type="flex" justify="center" class="button-group"> <el-row type="flex" justify="center" class="button-group">
@ -45,8 +45,11 @@ export default {
controlProps: { controlProps: {
'01': '取消上行全线扣车', '01': '取消上行全线扣车',
'02': '取消下行全线扣车' '02': '取消下行全线扣车'
},
controlPropDisabled:{
'01':false,
'02':false
} }
}; };
}, },
computed: { computed: {
@ -97,9 +100,13 @@ export default {
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) { if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
// 线 // 线
this.control = '01'; this.control = '01';
this.controlPropDisabled['01'] = false;
this.controlPropDisabled['02'] = true;
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) { } else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
// 线 // 线
this.control = '02'; this.control = '02';
this.controlPropDisabled['01'] = true;
this.controlPropDisabled['02'] = false;
} }
this.dialogShow = true; this.dialogShow = true;

View File

@ -11,9 +11,9 @@
:modal="false" :modal="false"
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<el-radio-group v-model="control" :disabled="true"> <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-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px;padding-top:10px">
<el-radio :label="item" disabled="false">{{ controlProps[item] }}</el-radio> <el-radio :label="item" :disabled="controlPropDisabled[item]">{{ controlProps[item] }}</el-radio>
</el-row> </el-row>
</el-radio-group> </el-radio-group>
<el-row type="flex" justify="center" class="button-group"> <el-row type="flex" justify="center" class="button-group">
@ -45,6 +45,10 @@ export default {
controlProps: { controlProps: {
'01': '全线扣车', '01': '全线扣车',
'02': '取消全线扣车' '02': '取消全线扣车'
},
controlPropDisabled:{
'01':false,
'02':false
} }
}; };
@ -61,18 +65,25 @@ export default {
return this.dialogShow && !this.$store.state.menuOperation.break; return this.dialogShow && !this.$store.state.menuOperation.break;
}, },
title() { title() {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) { if (this.dialogShow) {
return '全线扣车'; if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) { return '全线扣车';
return '取消全线扣车'; } else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
return '取消全线扣车';
} else {
return '';
}
} else {
return '';
} }
return '';
}, },
domIdCommit() { domIdCommit() {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) { if (this.dialogShow) {
return OperationEvent.StationStand.setDetainTrainAll.menu.domId; if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) { return OperationEvent.StationStand.setDetainTrainAll.menu.domId;
return OperationEvent.StationStand.cancelDetainTrainAll.menu.domId; } else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.cancelDetainTrainAll.menu.domId;
}
} }
return ''; return '';
}, },
@ -95,9 +106,13 @@ export default {
if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) { if (this.operation == OperationEvent.StationStand.setDetainTrainAll.mbar.operation) {
// 线 // 线
this.control = '01'; this.control = '01';
this.controlPropDisabled['01'] = false;
this.controlPropDisabled['02'] = true;
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) { } else if (this.operation == OperationEvent.StationStand.cancelDetainTrainAll.mbar.operation) {
// 线 // 线
this.control = '02'; this.control = '02';
this.controlPropDisabled['01'] = true;
this.controlPropDisabled['02'] = false;
} }
this.dialogShow = true; this.dialogShow = true;

View File

@ -11,9 +11,9 @@
:modal="false" :modal="false"
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<el-radio-group v-model="control" :disabled="true"> <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-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px;padding-top:10px">
<el-radio :label="item">{{ controlProps[item] }}</el-radio> <el-radio :label="item" :disabled="controlPropDisabled[item]">{{ controlProps[item] }}</el-radio>
</el-row> </el-row>
</el-radio-group> </el-radio-group>
<el-row type="flex" justify="center" class="button-group"> <el-row type="flex" justify="center" class="button-group">
@ -45,8 +45,11 @@ export default {
controlProps: { controlProps: {
'01': '取消上行扣车', '01': '取消上行扣车',
'02': '取消下行扣车' '02': '取消下行扣车'
},
controlPropDisabled:{
'01':false,
'02':false
} }
}; };
}, },
computed: { computed: {
@ -61,18 +64,22 @@ export default {
return this.dialogShow && !this.$store.state.menuOperation.break; return this.dialogShow && !this.$store.state.menuOperation.break;
}, },
title() { title() {
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) { if (this.dialogShow) {
return '取消上行扣车'; if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) { return '取消上行扣车';
return '取消下行扣车'; } else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
return '取消下行扣车';
}
} }
return ''; return '';
}, },
domIdCommit() { domIdCommit() {
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) { if (this.dialogShow) {
return OperationEvent.StationStand.cancelUpDetainTrainAll.menu.domId; if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) { return OperationEvent.StationStand.cancelUpDetainTrainAll.menu.domId;
return OperationEvent.StationStand.cancelDownDetainTrainAll.menu.domId; } else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
return OperationEvent.StationStand.cancelDownDetainTrainAll.menu.domId;
}
} }
return ''; return '';
}, },
@ -95,9 +102,13 @@ export default {
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) { if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
// 线 // 线
this.control = '01'; this.control = '01';
this.controlPropDisabled['01'] = false;
this.controlPropDisabled['02'] = true;
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) { } else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
// 线 // 线
this.control = '02'; this.control = '02';
this.controlPropDisabled['01'] = true;
this.controlPropDisabled['02'] = false;
} }
this.dialogShow = true; this.dialogShow = true;