增加西安二号线列车右键菜单

This commit is contained in:
zyy 2020-08-25 13:51:27 +08:00
parent 54720bc848
commit 13160dfc91
7 changed files with 858 additions and 107 deletions

View File

@ -0,0 +1,201 @@
<template>
<el-dialog
v-dialogDrag
class="xian-02__system train-alertor"
:title="title"
:visible.sync="show"
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="8">外部名</el-col>
<el-col :span="10"><el-input v-model="addModel.groupNumber" style="width: 120px;" /></el-col>
</el-row>
<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="5" :offset="2">
<el-button type="primary" @click="commit">确认</el-button>
</el-col>
</el-row>
<el-row>
<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="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="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
};
},
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 '报警确认';
}
},
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);
},
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;
}
</style>

View File

@ -22,8 +22,7 @@
<el-input v-model="addModel.groupNumber" style="width: 80px;" disabled /> <el-input v-model="addModel.groupNumber" style="width: 80px;" disabled />
</el-col> </el-col>
</el-row> </el-row>
<el-row class="option_result_box"> <el-row class="option_result_box" />
</el-row>
<el-row justify="center" class="button-group"> <el-row justify="center" class="button-group">
<el-col :span="3" :offset="1"> <el-col :span="3" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button> <el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
@ -48,11 +47,11 @@ export default {
data() { data() {
return { return {
trainNoList: [], trainNoList: [],
selected: null, selected: null,
addModel: { addModel: {
stationName: '', stationName: '',
trainWindowCode: '', trainWindowCode: '',
groupNumber: '' groupNumber: ''
}, },
dialogShow: false, dialogShow: false,
loading: false loading: false
@ -105,8 +104,8 @@ export default {
commit() { commit() {
const operate = { const operate = {
send: true, send: true,
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation, operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
cmdType: '', cmdType: '',
val: this.addModel.groupNumber val: this.addModel.groupNumber
}; };
@ -155,7 +154,9 @@ export default {
background-color: #F0F0F0; background-color: #F0F0F0;
} }
.option_box{ .option_box{
box-shadow: 1px 1px 3px #3a3a3a inset; border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
border-width: 2px;
border-style: solid;
padding: 4px; padding: 4px;
color: #191919; color: #191919;
height: 155px; height: 155px;
@ -170,7 +171,9 @@ export default {
} }
} }
.option_result_box{ .option_result_box{
box-shadow: 1px 1px 3px #3a3a3a inset; border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
border-width: 2px;
border-style: solid;
padding: 4px; padding: 4px;
color: #191919; color: #191919;
height: 90px; height: 90px;

View File

@ -22,38 +22,37 @@
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 80px;" @change="inputGroupNumber" /> <el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 80px;" @change="inputGroupNumber" />
</el-col> </el-col>
</el-row> </el-row>
<el-row style="border-top: 1px solid #3C6C68; border-bottom: 1px solid #3C6C68"> <el-row style="border-top: 1px solid #3C6C68; border-bottom: 1px solid #3C6C68">
<el-row> <el-row>
<el-col :span="12" style="text-align: right;padding-right: 20px;">实际的DID</el-col> <el-col :span="12" style="text-align: right;padding-right: 20px;">实际的DID</el-col>
<el-col :span="12"> <el-col :span="12">
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" /> <el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" style="text-align: right;padding-right: 20px;">被请求的DID</el-col> <el-col :span="12" style="text-align: right;padding-right: 20px;">被请求的DID</el-col>
<el-col :span="12"> <el-col :span="12">
<el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" /> <el-input :id="domIdInput" v-model="addModel.groupNumber" style="width: 100px;" @change="inputGroupNumber" />
</el-col> </el-col>
</el-row> </el-row>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" style="text-align: right;padding-right: 20px;">DID浏览选项</el-col> <el-col :span="12" style="text-align: right;padding-right: 20px;">DID浏览选项</el-col>
<el-col :span="12"> <el-col :span="12">
<el-select v-model="addModel.operation" placeholder="请选择" @change="inputGroupNumber"> <el-select v-model="addModel.operation" placeholder="请选择" @change="inputGroupNumber">
<el-option <el-option
v-for="item in options" v-for="item in options"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"> :value="item.value"
</el-option> />
</el-select> </el-select>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="option_box"> <el-row class="option_box">
<div v-for="(item, index) in optionObject[addModel.operation]" :key="index" class="content_list">{{ item.name }}</div> <div v-for="(item, index) in optionObject[addModel.operation]" :key="index" class="content_list">{{ item.name }}</div>
</el-row> </el-row>
<el-row class="option_result_box"> <el-row class="option_result_box" />
</el-row>
<el-row justify="center" class="button-group"> <el-row justify="center" class="button-group">
<el-col :span="10"> <el-col :span="10">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button> <el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
@ -79,66 +78,66 @@ export default {
data() { data() {
return { return {
trainNoList: [], trainNoList: [],
selected: null, selected: null,
optionObject: { optionObject: {
normal: [ normal: [
{ name: '0001 北客站一韦曲南站 往返运营', id: 1 }, { name: '0001 北客站一韦曲南站 往返运营', id: 1 },
{ name: '0002 北客站一韦曲南站 北客站站前折返 往返运营', id: 2 }, { name: '0002 北客站一韦曲南站 北客站站前折返 往返运营', id: 2 },
{ name: '0003 北客站一韦曲南站 韦曲南站站前折返 往返运营', id: 3 }, { name: '0003 北客站一韦曲南站 韦曲南站站前折返 往返运营', id: 3 },
{ name: '0004 北客站一韦曲南站 北客站和韦曲南站均站前折返 往返运营', id: 4 }, { name: '0004 北客站一韦曲南站 北客站和韦曲南站均站前折返 往返运营', id: 4 },
{ name: '0005 北客站一会展中心 往返运营', id: 5 }, { name: '0005 北客站一会展中心 往返运营', id: 5 },
{ name: '0006 北客站一会展中心 北客站站前折返 往返运营', id: 6 }, { name: '0006 北客站一会展中心 北客站站前折返 往返运营', id: 6 },
{ name: '0007 北客站一南稍门站 往返运营', id: 6 }, { name: '0007 北客站一南稍门站 往返运营', id: 7 },
{ name: '0008 北客站一南稍门站 北客站站前折返 往返运营', id: 6 }, { name: '0008 北客站一南稍门站 北客站站前折返 往返运营', id: 8 },
{ name: '0009 韦曲南一市图书馆 往返运营', id: 6 }, { name: '0009 韦曲南一市图书馆 往返运营', id: 9 },
{ name: '0010 韦曲南一市图书馆 韦曲南站前折返 往返运营', id: 6 }, { name: '0010 韦曲南一市图书馆 韦曲南站前折返 往返运营', id: 10 },
{ name: '0011 市图书馆站一会展中心站 往返运营', id: 1 }, { name: '0011 市图书馆站一会展中心站 往返运营', id: 11 },
{ name: '0030 运行至韦曲南站 末班运营', id: 6 }, { name: '0030 运行至韦曲南站 末班运营', id: 30 },
{ name: '0031 下行方向运行至韦曲南站转上行方向 末班运营', id: 2 }, { name: '0031 下行方向运行至韦曲南站转上行方向 末班运营', id: 31 },
{ name: '0032 运行至北客站 末班运营', id: 1 }, { name: '0032 运行至北客站 末班运营', id: 32 },
{ name: '0033 下行方向运行至北客站站转上行方向 末班运营', id: 2 }, { name: '0033 下行方向运行至北客站站转上行方向 末班运营', id: 33 },
{ name: '0034 北客站一凤城五路站 末班运营', id: 4 }, { name: '0034 北客站一凤城五路站 末班运营', id: 34 },
{ name: '0035 韦曲南一市图书馆 末班运营', id: 5 }, { name: '0035 韦曲南一市图书馆 末班运营', id: 35 },
{ name: '0036 北客站一南稍门站 末班运营', id: 6 }, { name: '0036 北客站一南稍门站 末班运营', id: 36 },
{ name: '0037 韦曲南一体育场站 末班运营', id: 6 }, { name: '0037 韦曲南一体育场站 末班运营', id: 37 },
{ name: '0038 北客站一会展中心站 末班运营', id: 6 }, { name: '0038 北客站一会展中心站 末班运营', id: 38 },
{ name: '0039 韦曲南一三爻站 末班运营', id: 6 } { name: '0039 韦曲南一三爻站 末班运营', id: 39 }
], ],
improper: [ improper: [
{ name: '0050 北客站下行折1收车 非运营', id: 6 }, { name: '0050 北客站下行折1收车 非运营', id: 50 },
{ name: '0051 北客站下行折2收车 非运营', id: 1 }, { name: '0051 北客站下行折2收车 非运营', id: 51 },
{ name: '0052 北客站上行折2收车 非运营', id: 2 }, { name: '0052 北客站上行折2收车 非运营', id: 52 },
{ name: '0053 北客站上行折1收车 非运营', id: 3 }, { name: '0053 北客站上行折1收车 非运营', id: 53 },
{ name: '0054 韦曲南上行折2收车 非运营', id: 4 }, { name: '0054 韦曲南上行折2收车 非运营', id: 54 },
{ name: '0055 韦曲南上行折1收车 非运营', id: 5 }, { name: '0055 韦曲南上行折1收车 非运营', id: 55 },
{ name: '0056 韦曲南下行折1收车 非运营', id: 6 }, { name: '0056 韦曲南下行折1收车 非运营', id: 56 },
{ name: '0057 韦曲南下行折2收车 非运营', id: 6 }, { name: '0057 韦曲南下行折2收车 非运营', id: 57 },
{ name: '0058 凤城五路一市图书馆站 非运营', id: 6 }, { name: '0058 凤城五路一市图书馆站 非运营', id: 58 },
{ name: '0059 运行至市图书馆站存车线 非运营', id: 6 }, { name: '0059 运行至市图书馆站存车线 非运营', id: 59 },
{ name: '0060 运行至南稍门站存车线 非运营', id: 6 }, { name: '0060 运行至南稍门站存车线 非运营', id: 60 },
{ name: '0061 体育场一南稍门站 非运营', id: 1 }, { name: '0061 体育场一南稍门站 非运营', id: 61 },
{ name: '0062 运行至会展中心站存车线 非运营', id: 2 }, { name: '0062 运行至会展中心站存车线 非运营', id: 62 },
{ name: '0063 三爻一会展中心站 非运营', id: 3 }, { name: '0063 三爻一会展中心站 非运营', id: 63 },
{ name: '0064 运行至市图书馆存车线 非运营', id: 4 }, { name: '0064 运行至市图书馆存车线 非运营', id: 64 },
{ name: '0065 运行至南稍门站存车线 非运营', id: 5 }, { name: '0065 运行至南稍门站存车线 非运营', id: 65 },
{ name: '0070 运行至韦曲南站 非运营', id: 6 }, { name: '0070 运行至韦曲南站 非运营', id: 70 },
{ name: '0071 运行至北客站 非运营', id: 1 }, { name: '0071 运行至北客站 非运营', id: 71 },
{ name: '0072 运行至会展中心站 非运营', id: 2 }, { name: '0072 运行至会展中心站 非运营', id: 72 },
{ name: '0073 运行至橘河停车场入段线 非运营', id: 3 }, { name: '0073 运行至橘河停车场入段线 非运营', id: 73 },
{ name: '0074 运行至橘河停车场出段线 非运营', id: 4 }, { name: '0074 运行至橘河停车场出段线 非运营', id: 74 },
{ name: '0075 运行至渭河停车场入段线 非运营', id: 5 }, { name: '0075 运行至渭河停车场入段线 非运营', id: 75 },
{ name: '0076 运行至渭河停车场出段线 非运营', id: 6 } { name: '0076 运行至渭河停车场出段线 非运营', id: 76 }
] ]
}, },
options: [ options: [
{ label: '日常运营', value: 'normal' }, { label: '日常运营', value: 'normal' },
{ label: '非运营', value: 'improper' } { label: '非运营', value: 'improper' }
], ],
addModel: { addModel: {
stationName: '', stationName: '',
trainWindowCode: '', trainWindowCode: '',
groupNumber: '', groupNumber: '',
operation: 'normal' operation: 'normal'
}, },
dialogShow: false, dialogShow: false,
loading: false loading: false
@ -261,7 +260,9 @@ export default {
background-color: #F0F0F0; background-color: #F0F0F0;
} }
.option_box{ .option_box{
box-shadow: 1px 1px 3px #3a3a3a inset; border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
border-width: 2px;
border-style: solid;
padding: 4px; padding: 4px;
color: #191919; color: #191919;
height: 155px; height: 155px;
@ -276,7 +277,9 @@ export default {
} }
} }
.option_result_box{ .option_result_box{
box-shadow: 1px 1px 3px #3a3a3a inset; border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
border-width: 2px;
border-style: solid;
padding: 4px; padding: 4px;
color: #191919; color: #191919;
height: 90px; height: 90px;

View File

@ -0,0 +1,180 @@
<template>
<el-dialog
v-dialogDrag
class="xian-02__system train-runLevel"
:title="title"
:visible.sync="show"
width="760px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<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="7" :offset="3">实际的运行等级 <el-input v-model="addModel.groupNumber" style="width: 80px;" /></el-col>
</el-row>
<el-row>
<el-col :span="15" :offset="2">请求运行等级</el-col>
</el-row>
<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="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: '',
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: {
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 '更改运行等级';
}
},
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);
},
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();
});
},
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_result_box{
padding: 4px;
color: #191919;
height: 90px;
overflow: hidden;
border-color: #3e6d67 #9ABFB2 #9ABFB2 #3e6d67;
border-width: 2px;
border-style: solid;
}
</style>

View 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>

View File

@ -473,4 +473,82 @@ export default {
border-color: #335658 #99C1C3 #99C1C3 #335658; border-color: #335658 #99C1C3 #99C1C3 #335658;
background: #518E86; 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> </style>

View File

@ -3,7 +3,10 @@
<pop-menu ref="popMenu" :menu="menu" :tip-msg="topTip" :tip-subhead="tipSubhead" pop-class="xian-02__pop_tip_station" /> <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" /> <notice-info ref="noticeInfo" pop-class="xian-02__system" />
<train-destination ref="trainDestination" /> <train-destination ref="trainDestination" />
<train-del-destination ref="trainDelDestination" /> <train-del-destination ref="trainDelDestination" />
<train-run-level ref="trainRunLevel" />
<train-alertor ref="trainAlertor" />
<train-update-plan ref="trainUpdatePlan" />
<change-tid ref="changeTid" /> <change-tid ref="changeTid" />
<set-fault ref="setFault" pop-class="xian-02__system" /> <set-fault ref="setFault" pop-class="xian-02__system" />
</div> </div>
@ -16,6 +19,9 @@ import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
import TrainDestination from './dialog/trainDestination'; import TrainDestination from './dialog/trainDestination';
import ChangeTid from './dialog/changeTID'; import ChangeTid from './dialog/changeTID';
import TrainDelDestination from './dialog/trainDelDestination'; import TrainDelDestination from './dialog/trainDelDestination';
import TrainRunLevel from './dialog/trainRunLevel';
import TrainAlertor from './dialog/trainAlertor';
import TrainUpdatePlan from './dialog/trainUpdatePlan';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler'; import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
@ -28,10 +34,13 @@ export default {
components: { components: {
PopMenu, PopMenu,
NoticeInfo, NoticeInfo,
TrainDestination, TrainDestination,
TrainDelDestination, TrainDelDestination,
ChangeTid, ChangeTid,
SetFault SetFault,
TrainRunLevel,
TrainAlertor,
TrainUpdatePlan
}, },
props: { props: {
selected: { selected: {
@ -75,7 +84,7 @@ export default {
}, },
{ {
label: '运行等级', label: '运行等级',
handler: this.undeveloped, handler: this.handleRunLevel,
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
}, },
{ {
@ -180,14 +189,14 @@ export default {
children: [ children: [
{ {
label: '完整性报警确认', label: '完整性报警确认',
handler: this.undeveloped, handler: this.trainAlertor,
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
} }
] ]
}, },
{ {
label: '更新列车计划', label: '更新列车计划',
handler: this.undeveloped, handler: this.updateTrainPlan,
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
}, },
{ {
@ -400,8 +409,8 @@ export default {
this.doClose(); this.doClose();
} }
}); });
}, },
updateTid() { updateTid() {
const operate = { const operate = {
start: true, start: true,
code: this.selected.code, code: this.selected.code,
@ -414,7 +423,7 @@ export default {
} }
}); });
}, },
switchTid() { switchTid() {
const operate = { const operate = {
start: true, start: true,
code: this.selected.code, code: this.selected.code,
@ -427,8 +436,8 @@ export default {
} }
}); });
}, },
deletDestionation() { deletDestionation() {
const operate = { const operate = {
start: true, start: true,
code: this.selected.code, code: this.selected.code,
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation, operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
@ -443,7 +452,60 @@ export default {
this.doClose(); 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();
}
});
}
} }
}; };
</script> </script>