增加列车托管、连挂流程
This commit is contained in:
parent
8f89c9b678
commit
c6b03fa4ee
@ -1,39 +1,79 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag :class="popClass" :title="title" :visible.sync="show" width="350px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||
<el-row class="header">
|
||||
<el-col :span="11"><span>设备:</span></el-col>
|
||||
<el-col :span="11" :offset="2"><span>故障类型:</span></el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-col :span="11">
|
||||
<el-form-item>
|
||||
<el-input v-model="deviceName" size="small" style="height: 32px;line-height: 32px;" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="11" :offset="2">
|
||||
<el-form-item prop="faultType">
|
||||
<el-select v-model="form.faultType" size="small" style="height: 32px;line-height: 32px;" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in faultList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<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>
|
||||
<div v-dialogDrag>
|
||||
<!-- <el-dialog v-dialogDrag :class="popClass" :title="title" :visible.sync="show" width="350px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false"> -->
|
||||
<div
|
||||
v-show="show"
|
||||
class="iscs_fuzhou-01__systerm route-detail el-dialog"
|
||||
>
|
||||
<div class="el-dialog__header">
|
||||
<span class="el-dialog__title">{{ title }}</span>
|
||||
<button type="button" aria-label="Close" class="el-dialog__headerbtn" @click="doClose">
|
||||
<i class="el-dialog__close el-icon el-icon-close" />
|
||||
</button>
|
||||
</div>
|
||||
<div class="el-dialog__body">
|
||||
<template v-if="judge">
|
||||
<el-row>
|
||||
<el-form ref="form" :model="formModel" :rules="rules">
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="targetDeviceCode" label="托管元素:">
|
||||
<el-select v-model="formModel.targetDeviceCode" size="small" style="width: 165px;height: 32px;line-height: 32px;" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in selectedList"
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
<el-button
|
||||
:type="field == 'selectedCode' ? 'danger' : 'primary'"
|
||||
size="small"
|
||||
@click="hover('selectedCode')"
|
||||
>激活</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
</el-row>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-row class="header">
|
||||
<el-col :span="11"><span>设备:</span></el-col>
|
||||
<el-col :span="11" :offset="2"><span>故障类型:</span></el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-col :span="11">
|
||||
<el-form-item>
|
||||
<el-input v-model="deviceName" size="small" style="height: 32px;line-height: 32px;" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="11" :offset="2">
|
||||
<el-form-item prop="faultType">
|
||||
<el-select v-model="form.faultType" size="small" style="height: 32px;line-height: 32px;" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in faultList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
</el-row>
|
||||
</template>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </el-dialog> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -41,6 +81,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import { deviceFaultType, deviceType} from '@/scripts/cmdPlugin/Config';
|
||||
import { menuOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
name: 'SwitchControl',
|
||||
@ -60,9 +101,15 @@ export default {
|
||||
stationName: '',
|
||||
switchName: '',
|
||||
activeShow: false,
|
||||
judge: false,
|
||||
deviceName: '',
|
||||
faultList: [],
|
||||
form: { faultType: ''},
|
||||
formModel: {
|
||||
targetDeviceCode: ''
|
||||
},
|
||||
groupNumber: '',
|
||||
field: '',
|
||||
rules: {
|
||||
faultType: [
|
||||
{ required: true, message: '请选择故障类型', trigger: 'change'}
|
||||
@ -71,6 +118,19 @@ export default {
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'sectionList',
|
||||
'trainList'
|
||||
]),
|
||||
selectedList() {
|
||||
let list = [];
|
||||
let sectionList = [];
|
||||
if (this.sectionList && this.sectionList.length) {
|
||||
sectionList = this.sectionList.filter(elem => { return (elem.standTrack || elem.reentryTrack || elem.transferTrack); });
|
||||
}
|
||||
list = [...sectionList, ...this.trainList];
|
||||
return list;
|
||||
},
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
@ -85,6 +145,8 @@ export default {
|
||||
return '设置故障';
|
||||
} else if (this.operation == OperationEvent.MixinCommand.cancelStoppage.menu.operation) {
|
||||
return '取消故障';
|
||||
} else if (this.operation == OperationEvent.MixinCommand.collocation.menu.operation) {
|
||||
return '设置托管';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
@ -94,6 +156,14 @@ export default {
|
||||
if (this.dialogShow && this.popClass === 'ningbo-01__systerm') {
|
||||
this.commit();
|
||||
}
|
||||
},
|
||||
'$store.state.menuOperation.selectedCount':function(em) {
|
||||
const device = this.$store.state.menuOperation.selected;
|
||||
if (device.code && this.judge && this.field) {
|
||||
if (device._type == 'Section' || device._type == 'Train') {
|
||||
this.deviceSelect(device);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -102,7 +172,10 @@ export default {
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
doShow(operate, selected) {
|
||||
hover(field) {
|
||||
this.field = field == this.field ? '' : field;
|
||||
},
|
||||
doShow(operate, selected, judge) {
|
||||
if (!this.dialogShow) {
|
||||
this.switchName = '';
|
||||
this.stationName = '';
|
||||
@ -128,6 +201,11 @@ export default {
|
||||
if (this.faultList && this.faultList.length) {
|
||||
this.form.faultType = this.faultList[0].value;
|
||||
}
|
||||
this.judge = false;
|
||||
if (judge) {
|
||||
this.judge = judge;
|
||||
this.groupNumber = selected.groupNumber;
|
||||
}
|
||||
}
|
||||
if (selected._type) {
|
||||
this.dialogShow = true;
|
||||
@ -150,6 +228,8 @@ export default {
|
||||
this.sendInstructions();
|
||||
} else if (this.operation == OperationEvent.MixinCommand.cancelStoppage.menu.operation) {
|
||||
this.cancelCommand();
|
||||
} else if (this.operation == OperationEvent.MixinCommand.collocation.menu.operation) {
|
||||
this.handleCollocation();
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -176,6 +256,18 @@ export default {
|
||||
};
|
||||
this.sendCommand(setp);
|
||||
},
|
||||
handleCollocation() { // 设置托管
|
||||
const setp = {
|
||||
over: true,
|
||||
operation: menuOperate.Common.collocation.operation,
|
||||
cmdType: menuOperate.Common.collocation.cmdType,
|
||||
param: {
|
||||
groupNumber: this.groupNumber,
|
||||
targetDeviceCode: this.formModel.targetDeviceCode
|
||||
}
|
||||
};
|
||||
this.sendCommand(setp);
|
||||
},
|
||||
sendCommand(setp) {
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/nextNew', setp).then(({ valid }) => {
|
||||
@ -206,6 +298,15 @@ export default {
|
||||
}).catch(() => {
|
||||
this.doClose();
|
||||
});
|
||||
},
|
||||
deviceSelect(em) {
|
||||
if (this.field == 'selectedCode' && em._type == 'Section') {
|
||||
this.formModel.targetDeviceCode = em.code;
|
||||
this.field = '';
|
||||
} else if (this.field == 'selectedCode' && em._type == 'Train') {
|
||||
this.formModel.targetDeviceCode = em.code;
|
||||
this.field = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -216,3 +317,44 @@ export default {
|
||||
margin-top: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.route-detail{
|
||||
position: absolute;
|
||||
left: calc(50% - 175px);
|
||||
margin-top: 15vh;
|
||||
width: 350px;
|
||||
z-index: 2000;
|
||||
box-sizing: border-box;
|
||||
background: rgba(100, 100, 100, 0.3);
|
||||
border: 2px solid rgba(144, 144, 144, 0.8);
|
||||
border-radius: 6px;
|
||||
color: #000;
|
||||
font-size: 14px;
|
||||
.el-dialog__header{
|
||||
padding: 0px 8px;
|
||||
height: 26px;
|
||||
.el-dialog__title{
|
||||
color: #fff;
|
||||
}
|
||||
.el-dialog__headerbtn{
|
||||
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||
border: 1px solid #fff;
|
||||
border-radius: 4px;
|
||||
top: 4px;
|
||||
right: 12px;
|
||||
line-height: 16px;
|
||||
color: #fff;
|
||||
.el-icon{
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-dialog__body{
|
||||
background: #fff;
|
||||
margin: 5px;
|
||||
margin-top: 0;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
279
src/jmapNew/theme/components/menus/dialog/setTrainOperation.vue
Normal file
279
src/jmapNew/theme/components/menus/dialog/setTrainOperation.vue
Normal file
@ -0,0 +1,279 @@
|
||||
<template>
|
||||
<div v-dialogDrag>
|
||||
<!-- <el-dialog v-dialogDrag :class="popClass" :title="title" :visible.sync="show" width="350px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false"> -->
|
||||
<div
|
||||
v-show="show"
|
||||
class="iscs_fuzhou-01__systerm route-detail el-dialog"
|
||||
>
|
||||
<div class="el-dialog__header">
|
||||
<span class="el-dialog__title">{{ title }}</span>
|
||||
<button type="button" aria-label="Close" class="el-dialog__headerbtn" @click="doClose">
|
||||
<i class="el-dialog__close el-icon el-icon-close" />
|
||||
</button>
|
||||
</div>
|
||||
<div class="el-dialog__body">
|
||||
<el-row>
|
||||
<el-form ref="form" :model="formModel" :rules="rules">
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="groupNumber1" label="车组号1:">
|
||||
<el-select v-model="formModel.groupNumber1" size="small" style="width: 165px;height: 32px;line-height: 32px;" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in selectedList"
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
<el-button
|
||||
:type="field == 'selectedCode1' ? 'danger' : 'primary'"
|
||||
size="small"
|
||||
@click="hover('selectedCode1')"
|
||||
>激活</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="groupNumber2" label="车组号2:">
|
||||
<el-select v-model="formModel.groupNumber2" size="small" style="width: 165px;height: 32px;line-height: 32px;" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in selectedList"
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
<el-button
|
||||
:type="field == 'selectedCode2' ? 'danger' : 'primary'"
|
||||
size="small"
|
||||
@click="hover('selectedCode2')"
|
||||
>激活</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </el-dialog> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
|
||||
// import { deviceFaultType, deviceType} from '@/scripts/cmdPlugin/Config';
|
||||
import { menuOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
name: 'SwitchControl',
|
||||
props: {
|
||||
popClass: {
|
||||
type: String,
|
||||
default() {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
operation: '',
|
||||
formModel: {
|
||||
groupNumber1: '',
|
||||
groupNumber2: ''
|
||||
},
|
||||
groupNumber: '',
|
||||
field: '',
|
||||
rules: {
|
||||
faultType: [
|
||||
{ required: true, message: '请选择故障类型', trigger: 'change'}
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'trainList'
|
||||
]),
|
||||
selectedList() {
|
||||
let list = [];
|
||||
list = [...this.trainList];
|
||||
return list;
|
||||
},
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
|
||||
},
|
||||
title() {
|
||||
if (this.operation == OperationEvent.MixinCommand.setLink.menu.operation) {
|
||||
return '设置连挂';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
'$store.state.map.keyboardEnterCount': function (val) {
|
||||
if (this.dialogShow && this.popClass === 'ningbo-01__systerm') {
|
||||
this.commit();
|
||||
}
|
||||
},
|
||||
'$store.state.menuOperation.selectedCount':function(em) {
|
||||
const device = this.$store.state.menuOperation.selected;
|
||||
if (device.code && this.field) {
|
||||
if (device._type == 'Train') {
|
||||
this.deviceSelect(device);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
hover(field) {
|
||||
this.field = field == this.field ? '' : field;
|
||||
},
|
||||
doShow(operate, selected) {
|
||||
if (!this.dialogShow) {
|
||||
this.operation = operate.operation;
|
||||
this.cmdType = operate.cmdType;
|
||||
}
|
||||
if (selected._type) {
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
}
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$refs.form.resetFields();
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
commit() {
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.operation == OperationEvent.MixinCommand.setLink.menu.operation) {
|
||||
this.handleLink();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
handleLink() { // 设置连挂
|
||||
const setp = {
|
||||
over: true,
|
||||
operation: menuOperate.Common.setLink.operation,
|
||||
cmdType: menuOperate.Common.setLink.cmdType,
|
||||
param: {
|
||||
groupNumber1: this.formModel.groupNumber1,
|
||||
groupNumber2: this.formModel.groupNumber2
|
||||
}
|
||||
};
|
||||
this.sendCommand(setp);
|
||||
},
|
||||
sendCommand(setp) {
|
||||
this.loading = true;
|
||||
this.$store.dispatch('training/nextNew', setp).then(({ valid }) => {
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.doClose();
|
||||
} else {
|
||||
this.doClose();
|
||||
this.$messageBox('设置或取消故障操作失败!');
|
||||
}
|
||||
}).catch((error) => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$messageBox(error.message || '设置或取消故障操作失败!');
|
||||
});
|
||||
},
|
||||
|
||||
cancel() {
|
||||
const operate = {
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.doClose();
|
||||
});
|
||||
},
|
||||
deviceSelect(em) {
|
||||
if (this.field == 'selectedCode1' && em._type == 'Train') {
|
||||
this.formModel.groupNumber1 = em.code;
|
||||
this.field = '';
|
||||
} else if (this.field == 'selectedCode2' && em._type == 'Train') {
|
||||
this.formModel.groupNumber2 = em.code;
|
||||
this.field = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.el-select-dropdown.el-popper{
|
||||
margin-top: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.route-detail{
|
||||
position: absolute;
|
||||
left: calc(50% - 175px);
|
||||
margin-top: 15vh;
|
||||
width: 350px;
|
||||
z-index: 2000;
|
||||
box-sizing: border-box;
|
||||
background: rgba(100, 100, 100, 0.3);
|
||||
border: 2px solid rgba(144, 144, 144, 0.8);
|
||||
border-radius: 6px;
|
||||
color: #000;
|
||||
font-size: 14px;
|
||||
.el-dialog__header{
|
||||
padding: 0px 8px;
|
||||
height: 26px;
|
||||
.el-dialog__title{
|
||||
color: #fff;
|
||||
}
|
||||
.el-dialog__headerbtn{
|
||||
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||
border: 1px solid #fff;
|
||||
border-radius: 4px;
|
||||
top: 4px;
|
||||
right: 12px;
|
||||
line-height: 16px;
|
||||
color: #fff;
|
||||
.el-icon{
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-dialog__body{
|
||||
background: #fff;
|
||||
margin: 5px;
|
||||
margin-top: 0;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -66,7 +66,7 @@ export const menuOperate = {
|
||||
cmdType: CMD.Section.CMD_SECTION_DETAILS
|
||||
},
|
||||
loadSpareTrain: {
|
||||
// 添加备用车
|
||||
// 添加备用车
|
||||
operation: OperationEvent.Section.loadSpareTrain.menu.operation,
|
||||
cmdType: CMD.Section.CMD_TRAIN_LOAD_SPARE_TRAIN
|
||||
}
|
||||
@ -370,6 +370,16 @@ export const menuOperate = {
|
||||
cancelFault: {
|
||||
operation: OperationEvent.MixinCommand.cancelStoppage.menu.operation,
|
||||
cmdType: CMD.Fault.CMD_CANCEL_FAULT
|
||||
},
|
||||
// 设置托管
|
||||
collocation: {
|
||||
operation: OperationEvent.MixinCommand.collocation.menu.operation,
|
||||
cmdType: CMD.Train.CMD_TRAIN_TRUST
|
||||
},
|
||||
// 设置连挂
|
||||
setLink: {
|
||||
operation: OperationEvent.MixinCommand.setLink.menu.operation,
|
||||
cmdType: CMD.Train.CMD_TRAIN_LINK
|
||||
}
|
||||
},
|
||||
Station:{
|
||||
|
@ -11,6 +11,7 @@
|
||||
<trainSetWorkATP ref="trainSetWorkATP" />
|
||||
<SpeedLimit ref="speedLimit" pop-class="ningbo-01__systerm" />
|
||||
<set-fault ref="setFault" pop-class="ningbo-01__systerm" />
|
||||
<set-train-operation ref="setTrainOperation" pop-class="ningbo-01__systerm" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -26,6 +27,7 @@ import TrainSetHead from './dialog/trainSetHead';
|
||||
import TrainSetWork from './dialog/trainSetWork';
|
||||
import trainSetWorkATP from './dialog/trainSetWorkATP';
|
||||
import SpeedLimit from '@/jmapNew/theme/components/menus/dialog/trainSpeedLimit';
|
||||
import SetTrainOperation from '@/jmapNew/theme/components/menus/dialog/setTrainOperation';
|
||||
|
||||
import { mapGetters } from 'vuex';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
@ -47,7 +49,8 @@ export default {
|
||||
TrainSetWork,
|
||||
trainSetWorkATP,
|
||||
SetFault,
|
||||
SpeedLimit
|
||||
SpeedLimit,
|
||||
SetTrainOperation
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
@ -207,6 +210,14 @@ export default {
|
||||
{
|
||||
label: '取消故障',
|
||||
handler: this.cancelStoppage
|
||||
},
|
||||
{
|
||||
label: '托管',
|
||||
handler: this.setCollocation
|
||||
},
|
||||
{
|
||||
label: '连挂',
|
||||
handler: this.setLink
|
||||
}
|
||||
],
|
||||
menuDirective: [
|
||||
@ -321,6 +332,22 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
// 设置托管
|
||||
setCollocation() {
|
||||
commitOperate(menuOperate.Common.collocation, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$refs.setFault.doShow(menuOperate.Common.collocation, this.selected, true);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 设置连挂
|
||||
setLink() {
|
||||
commitOperate(menuOperate.Common.setLink, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$refs.setTrainOperation.doShow(menuOperate.Common.setLink, this.selected, true);
|
||||
}
|
||||
});
|
||||
},
|
||||
nextStation() {
|
||||
// commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||
// }).catch((error) => {
|
||||
|
@ -229,7 +229,9 @@ export default {
|
||||
CMD_TRAIN_CANCEL_HOLD: {value:'Train_Cancel_Hold', label: '列车发车'},
|
||||
CMD_TRAIN_CHANGE_TRIP_NUMBER: {value:'Train_Change_Trip_Number', label: '更改列车车次'},
|
||||
CMD_TRAIN_DELETE_SERVICE_NUMBER: {value:'Train_Delete_Service_Number', label: '删除车次号'},
|
||||
CMD_TRAIN_CHANGE_DESTINATION_CODE: {value:'Train_Change_Destination_Code', label: '更改目的地码'}
|
||||
CMD_TRAIN_CHANGE_DESTINATION_CODE: {value:'Train_Change_Destination_Code', label: '更改目的地码'},
|
||||
CMD_TRAIN_TRUST: {value: 'Train_Trust', label: '设置托管'},
|
||||
CMD_TRAIN_LINK: {value: 'Train_Link', label: '设置连挂'}
|
||||
},
|
||||
TrainWindow: {
|
||||
/** 修改列车识别号 */
|
||||
|
@ -32,6 +32,20 @@ class CommandHandle {
|
||||
simulationRole: 'Center',
|
||||
controlMode: ['OperateCenterControl'],
|
||||
conditionList: []
|
||||
},
|
||||
Train_Trust: {
|
||||
operate: 'Train_Trust',
|
||||
paramList:[{name: 'groupNumber'}, {name: 'targetDeviceCode'}],
|
||||
simulationRole: 'Center',
|
||||
controlMode: ['OperateCenterControl'],
|
||||
conditionList: []
|
||||
},
|
||||
Train_Link: {
|
||||
operate: 'Train_Link',
|
||||
paramList:[{name: 'groupNumber1'}, {name: 'groupNumber2'}],
|
||||
simulationRole: 'Center',
|
||||
controlMode: ['OperateCenterControl'],
|
||||
conditionList: []
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -57,6 +57,7 @@ class Handler {
|
||||
if (operation.cmdType) {
|
||||
const cmdType = operation.cmdType;
|
||||
const wholeParam = this.getWholeParam();
|
||||
debugger;
|
||||
command = CommandHandler.getCommand(cmdType, wholeParam);
|
||||
if (command && command.isError) {
|
||||
this.operations.pop();
|
||||
|
@ -2442,6 +2442,18 @@ export const OperationEvent = {
|
||||
menu: {
|
||||
operation: '2996'
|
||||
}
|
||||
},
|
||||
// 设置托管
|
||||
collocation: {
|
||||
menu: {
|
||||
operation: '2997'
|
||||
}
|
||||
},
|
||||
// 设置连挂
|
||||
setLink: {
|
||||
menu: {
|
||||
operation: '2999'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4,17 +4,6 @@
|
||||
v-show="show"
|
||||
class="iscs_fuzhou-01__systerm route-detail el-dialog"
|
||||
>
|
||||
<!-- <el-dialog
|
||||
v-dialogDrag
|
||||
class="iscs_fuzhou-01__systerm route-detail"
|
||||
title="报警浏览"
|
||||
:visible.sync="show"
|
||||
width="500px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
> -->
|
||||
<div class="el-dialog__header">
|
||||
<span class="el-dialog__title">报警浏览</span>
|
||||
<button type="button" aria-label="Close" class="el-dialog__headerbtn" @click="doClose">
|
||||
@ -34,7 +23,6 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<!-- </el-dialog> -->
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -80,7 +68,6 @@ export default {
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.route-detail{
|
||||
position: absolute;
|
||||
// top: 300px;
|
||||
left: calc(50% - 250px);
|
||||
margin-top: 15vh;
|
||||
width: 500px;
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag :title="title" :visible.sync="show" width="550px" :before-close="doClose" modal-append-to-body>
|
||||
<el-dialog v-dialogDrag :title="title" :visible.sync="show" width="550px" :before-close="doClose">
|
||||
<el-form ref="form" label-width="120px" :model="formModel" :rules="rules">
|
||||
<el-form-item :label="$t('display.setTime.systemTime')" prop="initTime">
|
||||
<el-time-picker
|
||||
|
Loading…
Reference in New Issue
Block a user