Merge remote-tracking branch 'origin/test'

# Conflicts:
#	src/jmapNew/theme/datie_02/menus/menuTrain.vue
This commit is contained in:
fan 2022-05-30 17:44:09 +08:00
commit 215dab7074
46 changed files with 847 additions and 289 deletions

View File

@ -17,7 +17,7 @@ export function queryAssistById(mapId){
method: 'get' method: 'get'
}) })
} }
// 保存指示灯关联信息 // 保存或更新指示灯关联信息
export function saveAssist(data, mapId) { export function saveAssist(data, mapId) {
return request({ return request({
// url: `/api/assist/indicator/section/save/${mapId}`, // url: `/api/assist/indicator/section/save/${mapId}`,

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -530,8 +530,8 @@ export default class Section extends Group {
} }
} }
// 分路不良 // 分路不良
// model.badShunt && // model.shuntingTypeList.length > 0 &&
model.shuntingTypeList && model.shuntingTypeList.length > 0 && this.badShuntStatus(); model.badShunt&& this.badShuntStatus();
} }
} }

View File

@ -226,7 +226,7 @@ export default class Train extends Group {
this.trainR && this.trainR.setLineShow(false); this.trainR && this.trainR.setLineShow(false);
this.trainL && this.trainL.setArrowShow(false); this.trainL && this.trainL.setArrowShow(false);
this.trainR && this.trainR.setArrowShow(false); this.trainR && this.trainR.setArrowShow(false);
this.trainB && this.trainB.setTrainBorderColor(this.style.Train.trainBody.trainSidelineColor || this.style.trainSidelineColor); this.trainB && this.trainB.setTrainBorderColor(this.style.Train.trainBody.trainSidelineColor || this.style.trainSidelineColor);
} }
// 设置运行方向状态类型 // 设置运行方向状态类型
@ -267,20 +267,20 @@ export default class Train extends Group {
this.trainL && this.trainL.setArrowShow(item.arrowLShow); this.trainL && this.trainL.setArrowShow(item.arrowLShow);
this.trainR && this.trainR.setArrowShow(item.arrowRShow); this.trainR && this.trainR.setArrowShow(item.arrowRShow);
} }
} else if(this.style.Train.trainHead.directionStopType == 'specialAll'){ } else if (this.style.Train.trainHead.directionStopType == 'specialAll') {
if (flag) { if (flag) {
this.trainL && this.trainL.setArrowShow(!item.arrowLShow); this.trainL && this.trainL.setArrowShow(!item.arrowLShow);
this.trainR && this.trainR.setArrowShow(!item.arrowRShow); this.trainR && this.trainR.setArrowShow(!item.arrowRShow);
this.trainL && this.trainL.setLineShow(!item.lineLShow); this.trainL && this.trainL.setLineShow(!item.lineLShow);
this.trainR && this.trainR.setLineShow(!item.lineRShow); this.trainR && this.trainR.setLineShow(!item.lineRShow);
} else { } else {
this.trainL && this.trainL.setArrowShow(item.arrowLShow); this.trainL && this.trainL.setArrowShow(item.arrowLShow);
this.trainR && this.trainR.setArrowShow(item.arrowRShow); this.trainR && this.trainR.setArrowShow(item.arrowRShow);
this.trainL && this.trainL.setLineShow(item.lineLShow); this.trainL && this.trainL.setLineShow(item.lineLShow);
this.trainR && this.trainR.setLineShow(item.lineRShow); this.trainR && this.trainR.setLineShow(item.lineRShow);
} }
this.trainB && this.trainB.setTrainBorderColor(this.style.Train.trainBody.trainSidelineStopColor); this.trainB && this.trainB.setTrainBorderColor(this.style.Train.trainBody.trainSidelineStopColor);
} else { } else {
if (flag) { if (flag) {
this.trainL && this.trainL.setLineShow(!item.lineLShow); this.trainL && this.trainL.setLineShow(!item.lineLShow);
this.trainR && this.trainR.setLineShow(!item.lineRShow); this.trainR && this.trainR.setLineShow(!item.lineRShow);

View File

@ -200,7 +200,7 @@ export default {
}); });
}, },
loadSpare() { loadSpare() {
commitOperate(menuOperate.Section.loadSpareTrain, {sectionCode:this.selected.code}).then(({valid, operate})=>{ commitOperate(menuOperate.Section.loadSpareTrain, {sectionCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) { if (valid) {
this.$refs.loadSpareTrain.doShow(operate, this.selected); this.$refs.loadSpareTrain.doShow(operate, this.selected);
} }

View File

@ -201,7 +201,12 @@ export default {
{label: '计轴故障', value: 'FAULT'}, {label: '计轴故障', value: 'FAULT'},
{label: '通信车占用', value: 'CBTC_OCCUPIED_FAULT'} {label: '通信车占用', value: 'CBTC_OCCUPIED_FAULT'}
]; ];
} else if (selected._type === 'Switch' && this.popClass === 'haerbin-01__systerm') { } else if (selected._type === 'Section' && this.popClass === 'datie-02__systerm'){
this.faultList = [
{label: '计轴故障', value: 'FAULT'},
{label: '通信车占用', value: 'CBTC_OCCUPIED_FAULT'}
];
} else if (selected._type === 'Switch' && this.popClass === 'haerbin-01__systerm') {
this.faultList = [ this.faultList = [
{label: '失表', value: 'SPLIT'}, {label: '失表', value: 'SPLIT'},
{label: '定位失表', value: 'NORMAL_SPLIT'}, {label: '定位失表', value: 'NORMAL_SPLIT'},
@ -210,7 +215,16 @@ export default {
{label: '通信车占用', value: 'CBTC_OCCUPIED_FAULT'}, {label: '通信车占用', value: 'CBTC_OCCUPIED_FAULT'},
{label: '计轴故障', value: 'AXLE_FAULT'} {label: '计轴故障', value: 'AXLE_FAULT'}
]; ];
} else if (selected._type === 'Section' && this.popClass === 'xian-01__systerm') { } else if(selected._type === 'Switch' && this.popClass === 'datie-02__systerm') {
this.faultList = [
{label: '失表', value: 'SPLIT'},
{label: '定位失表', value: 'NORMAL_SPLIT'},
{label: '反位失表', value: 'REVERSE_SPLIT'},
{label: '挤岔', value: 'SQUEEZE'},
{label: '通信车占用', value: 'CBTC_OCCUPIED_FAULT'},
{label: '红光带故障', value: 'AXLE_FAULT'}
];
} else if (selected._type === 'Section' && this.popClass === 'xian-01__systerm') {
this.faultList = [ this.faultList = [
{label: '红光带故障', value: 'FAULT'}, {label: '红光带故障', value: 'FAULT'},
{label: '粉光带故障', value: 'CBTC_OCCUPIED_FAULT'}, {label: '粉光带故障', value: 'CBTC_OCCUPIED_FAULT'},

View File

@ -501,25 +501,40 @@ export const menuOperate = {
deletDestionation: { deletDestionation: {
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation, operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
cmdType: CMD.TrainWindow.CMD_TRAIN_SET_MANUAL cmdType: CMD.TrainWindow.CMD_TRAIN_SET_MANUAL
},
updateTrip:{
// 修改车次号 (大铁线路 车次号 车组号)
operation: OperationEvent.Train.updateTrip.menu.operation,
cmdType: CMD.Train.CMD_TRAIN_UPDATE_TRIP_NUMBER_TRAIN
},
updateTripCommit:{
// 修改车次号 (大铁线路 车次号 车组号)
operation: OperationEvent.Train.updateTrip.confirm.operation,
cmdType: CMD.Train.CMD_TRAIN_UPDATE_TRIP_NUMBER_TRAIN
},
removeTrip:{
// 删车次号 (大铁线路 车组号)
operation: OperationEvent.Train.removeTrip.menu.operation,
cmdType: CMD.Train.CMD_TRAIN_REMOVE_TRAIN_TRACE
} }
}, },
CTC: { CTC: {
// 接预 // 接预
receivingNotice: { receivingNotice: {
operation: OperationEvent.CTCCommand.receivingNotice.menu.operation, operation: OperationEvent.CTCCommand.receivingNotice.menu.operation,
cmdType: CMD.CTC.CTC_RECEIVING_NOTICE cmdType: CMD.CTC.CTC_RECEIVING_NOTICE
}, },
// 发预 // 发预
departureNotice: { departureNotice: {
operation: OperationEvent.CTCCommand.departureNotice.menu.operation, operation: OperationEvent.CTCCommand.departureNotice.menu.operation,
cmdType: CMD.CTC.CTC_DEPARTURE_NOTICE cmdType: CMD.CTC.CTC_DEPARTURE_NOTICE
}, },
// 自动触发 // 自动触发
autoTrigger: { autoTrigger: {
operation: OperationEvent.CTCCommand.autoTrigger.menu.operation, operation: OperationEvent.CTCCommand.autoTrigger.menu.operation,
cmdType: CMD.CTC.CTC_AUTO_TRIGGER cmdType: CMD.CTC.CTC_AUTO_TRIGGER
} }
} }
}; };

View File

@ -15,12 +15,12 @@
<el-col :span="11" :offset="1">上下行</el-col> <el-col :span="11" :offset="1">上下行</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="11"> <el-col :span="11">
<el-input v-model="addModel.tripNumber" size="mini" @blur="handleTripNumber" /> <el-input v-model="addModel.tripNumber" size="mini" @blur="handleTripNumber" />
<div class="tripNumberTips">{{ messageTip1 }}</div> <div class="tripNumberTips">{{ messageTip1 }}</div>
</el-col> </el-col>
<el-col :span="11" :offset="1"> <el-col :span="11" :offset="1">
<el-select v-model="addModel.right" size="mini"> <el-select v-model="addModel.right" size="mini" disabled>
<el-option :value="true" :label="rightTrueLabel" /> <el-option :value="true" :label="rightTrueLabel" />
<el-option :value="false" :label="rightFalseLabel" /> <el-option :value="false" :label="rightFalseLabel" />
</el-select> </el-select>
@ -118,18 +118,22 @@ export default {
const figuresOfServiceMaxNumber = 6; const figuresOfServiceMaxNumber = 6;
// this.$store.state.map.mapConfig.figuresOfServiceNumber; // this.$store.state.map.mapConfig.figuresOfServiceNumber;
const tripNumber = this.addModel.tripNumber; const tripNumber = this.addModel.tripNumber;
const judge = /^[a-zA-Z0-9]{1,}$/.test(this.addModel.tripNumber); const judge = /^[a-zA-Z0-9]*[\d]$/.test(this.addModel.tripNumber);
if (judge) { if (judge) {
if (tripNumber.toString().length > figuresOfServiceMaxNumber || tripNumber.toString().length < figuresOfServiceMinNumber) { if (tripNumber.toString().length > figuresOfServiceMaxNumber || tripNumber.toString().length < figuresOfServiceMinNumber) {
this.messageTip1 = '车次号长度' + figuresOfServiceMinNumber + '-' + figuresOfServiceMaxNumber + '位'; this.messageTip1 = '车次号长度' + figuresOfServiceMinNumber + '-' + figuresOfServiceMaxNumber + '位';
} else { } else {
this.addModel.tripNumber = tripNumber; this.addModel.tripNumber = tripNumber;
this.messageTip1 = ''; this.messageTip1 = '';
const result = this.addModel.tripNumber.match(/[\d]$(?=[a-zA-Z0-9]*)/);
if (result) {
const is_even = result[0] % 2 == 0;
this.addModel.right = is_even;
}
} }
} else { } else {
// debugger;
this.addModel.tripNumber = ''; this.addModel.tripNumber = '';
this.messageTip1 = '请输入车次号'; this.messageTip1 = '请输入车次号(最后一位必须是数字)';
} }
}, },
commit() { commit() {
@ -143,10 +147,10 @@ export default {
result = true; result = true;
} }
if (this.addModel.tripNumber && result) { if (this.addModel.tripNumber && result) {
if (this.addModel.right === '') { // if (this.addModel.right === '') {
this.messageTip2 = '请选择上下行'; // this.messageTip2 = '';
return; // return;
} // }
const params = { const params = {
tripNumber: this.addModel.tripNumber, tripNumber: this.addModel.tripNumber,
sectionCode: this.addModel.sectionCode, sectionCode: this.addModel.sectionCode,
@ -170,7 +174,6 @@ export default {
} else { } else {
this.messageTip1 = '请输入车次号'; this.messageTip1 = '请输入车次号';
} }
} }
}, },
cancel() { cancel() {

View File

@ -0,0 +1,165 @@
<template>
<el-dialog
v-dialogDrag
class="chengdou-03__systerm updateTrip"
:title="title"
:visible.sync="show"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<div style="display: inline-block;margin-left:22px;">
<span class="tripNumberName">车次号:</span>
<div class="tripNumberClass">
<el-input v-model="tripNumber" size="mini" @blur="handleTripNumber" />
<div class="tripNumberTips">{{ messageTip1 }}</div>
</div>
</div>
<el-row justify="center" class="button-group">
<el-col :span="8" :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>
<notice-info ref="noticeInfo" pop-class="chengdou-03__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: 'UpdateTrip',
components: {
NoticeInfo
},
data() {
return {
dialogShow:false,
tripNumber: '',
messageTip1:'',
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.updateTrip.confirm.domId : '';
},
domIdChangeTripNumber() {
return this.dialogShow ? OperationEvent.Train.updateTrip.changeTripNumber.domId : '';
},
title() {
return '修改车次号';
}
},
methods: {
doShow(operate, tripNumber) {
this.tripNumber = tripNumber;
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
handleTripNumber() {
const figuresOfServiceMinNumber = 2;
const figuresOfServiceMaxNumber = 6;
// this.$store.state.map.mapConfig.figuresOfServiceNumber;
const tripNumber = this.tripNumber;
const judge = /^[a-zA-Z0-9]*[\d]$/.test(this.tripNumber);
if (judge) {
if (tripNumber.toString().length > figuresOfServiceMaxNumber || tripNumber.toString().length < figuresOfServiceMinNumber) {
this.messageTip1 = '车次号长度' + figuresOfServiceMinNumber + '-' + figuresOfServiceMaxNumber + '位';
} else {
// this.tripNumber = tripNumber;
this.messageTip1 = '';
}
} else {
this.tripNumber = '';
this.messageTip1 = '请输入车次号(最后一位数字)';
}
},
commit() {
const figuresOfServiceMinNumber = 2;
const figuresOfServiceMaxNumber = 6;
let result = false;
const tripNumber = this.tripNumber;
if (tripNumber.toString().length > figuresOfServiceMaxNumber || tripNumber.toString().length < figuresOfServiceMinNumber) {
result = false;
} else {
result = true;
}
if (this.tripNumber && result) {
const params = {
tripNumber: this.tripNumber
};
this.messageTip1 = '';
this.loading = true;
commitOperate(menuOperate.Train.updateTripCommit, params, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
} else {
if (this.tripNumber) {
this.messageTip1 = '该车次号长度' + figuresOfServiceMinNumber + '-' + figuresOfServiceMaxNumber + '位';
} else {
this.messageTip1 = '请输入车次号(最后一位数字)';
}
}
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => { this.doClose(); });
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.tripNumber = '';
this.$store.dispatch('training/emitTipFresh');
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.tripNumberClass{
display: inline-block;
width:140px
}
.tripNumberName{
margin-left: 5px;
height: 22px;
vertical-align: top;
margin-right:10px;
display: inline-block;
}
.tripNumberTips{
margin-top: 10px;
color: #f00;
font-size: 13px;
text-align: left;
}
</style>

View File

@ -1,6 +1,26 @@
<template> <template>
<div class="menus" :style="{width: width + 'px'}"> <div class="menus" :style="{width: width + 'px'}">
<!--<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />--> <menu-bar v-if="isCtc" ref="menuBar" :selected="selected" />
<div v-if="isCtc" style="display: flex;position: absolute; top: 6px;z-index: 13;left: 50px;">
<img :src="ctcBarIcon1" class="img-box" />
<img :src="ctcBarIcon2" class="img-box" />
<img :src="ctcBarIcon3" class="img-box" />
<img :src="ctcBarIcon4" class="img-box" />
<img :src="ctcBarIcon5" class="img-box" />
<img :src="ctcBarIcon6" class="img-box" />
<img :src="ctcBarIcon7" class="img-box" />
<img :src="ctcBarIcon8" class="img-box" />
<img :src="ctcBarIcon9" class="img-box" />
<img :src="ctcBarIcon10" class="img-box" />
<img :src="ctcBarIcon11" class="img-box" />
<img :src="ctcBarIcon12" class="img-box" />
<img :src="ctcBarIcon13" class="img-box" />
<img :src="ctcBarIcon14" class="img-box" />
<img :src="ctcBarIcon15" class="img-box" />
<img :src="ctcBarIcon16" class="img-box" />
<img :src="ctcBarIcon17" class="img-box" />
<img :src="ctcBarIcon18" class="img-box" />
</div>
<!--<div v-if="$store.state.training.prdType == '01'" class="alarm-window">--> <!--<div v-if="$store.state.training.prdType == '01'" class="alarm-window">-->
<!--<div v-for="elem in alarmMessages" :key="elem.id" style="font-size: 14px;">--> <!--<div v-for="elem in alarmMessages" :key="elem.id" style="font-size: 14px;">-->
<!--{{ elem.message }}--> <!--{{ elem.message }}-->
@ -23,7 +43,8 @@
<div style="width: 60%;height: 30px;line-height: 30px;text-align: center;">提示信息窗</div> <div style="width: 60%;height: 30px;line-height: 30px;text-align: center;">提示信息窗</div>
<div style="width: 40%;height: 30px;line-height: 30px;text-align: center;border-left: 2px #ccc solid;">{{ '操控A:主机' + ' ' + dateString + ' ' + time }}</div> <div style="width: 40%;height: 30px;line-height: 30px;text-align: center;border-left: 2px #ccc solid;">{{ '操控A:主机' + ' ' + dateString + ' ' + time }}</div>
</div> </div>
<menu-button ref="menuButton" :selected="selected" /> <menu-button v-if="!isCtc" ref="menuButton" :selected="selected" />
<menu-button-ctc v-if="isCtc" ref="menuButtonCtc" :selected="selected" />
<menu-station-stand ref="menuStationStand" :selected="selected" /> <menu-station-stand ref="menuStationStand" :selected="selected" />
<menu-switch ref="menuSwitch" :selected="selected" /> <menu-switch ref="menuSwitch" :selected="selected" />
<menu-signal ref="menuSignal" :selected="selected" /> <menu-signal ref="menuSignal" :selected="selected" />
@ -46,11 +67,31 @@ import MenuSection from './menuSection';
import MenuTrain from './menuTrain'; import MenuTrain from './menuTrain';
import MenuStation from './menuStation'; import MenuStation from './menuStation';
import MenuBar from './menuBar'; import MenuBar from './menuBar';
import MenuButtonCtc from './menuButtonCtc';
import PassiveAlarm from './passiveDialog/alarm'; import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control'; import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout'; import PassiveTimeout from './passiveDialog/timeout';
import { timeFormat } from '@/utils/date'; import { timeFormat } from '@/utils/date';
import { prefixIntrger } from '@/utils/date'; import { prefixIntrger } from '@/utils/date';
import CtcBarIcon1 from '@/assets/ctc_icon/pic1.png';
import CtcBarIcon2 from '@/assets/ctc_icon/pic2.png';
import CtcBarIcon3 from '@/assets/ctc_icon/pic3.png';
import CtcBarIcon4 from '@/assets/ctc_icon/pic4.png';
import CtcBarIcon5 from '@/assets/ctc_icon/pic5.png';
import CtcBarIcon6 from '@/assets/ctc_icon/pic6.png';
import CtcBarIcon7 from '@/assets/ctc_icon/pic7.png';
import CtcBarIcon8 from '@/assets/ctc_icon/pic8.png';
import CtcBarIcon9 from '@/assets/ctc_icon/pic9.png';
import CtcBarIcon10 from '@/assets/ctc_icon/pic10.png';
import CtcBarIcon11 from '@/assets/ctc_icon/pic11.png';
import CtcBarIcon12 from '@/assets/ctc_icon/pic12.png';
import CtcBarIcon13 from '@/assets/ctc_icon/pic13.png';
import CtcBarIcon14 from '@/assets/ctc_icon/pic14.png';
import CtcBarIcon15 from '@/assets/ctc_icon/pic15.png';
import CtcBarIcon16 from '@/assets/ctc_icon/pic16.png';
import CtcBarIcon17 from '@/assets/ctc_icon/pic17.png';
import CtcBarIcon18 from '@/assets/ctc_icon/pic18.png';
export default { export default {
name: 'Menus', name: 'Menus',
components: { components: {
@ -64,7 +105,8 @@ export default {
MenuTrain, MenuTrain,
PassiveAlarm, PassiveAlarm,
PassiveContorl, PassiveContorl,
PassiveTimeout PassiveTimeout,
MenuButtonCtc
}, },
props: { props: {
selected: { selected: {
@ -96,6 +138,24 @@ export default {
], ],
time: '00:00:00', time: '00:00:00',
dateString: '', dateString: '',
ctcBarIcon1: CtcBarIcon1,
ctcBarIcon2: CtcBarIcon2,
ctcBarIcon3: CtcBarIcon3,
ctcBarIcon4: CtcBarIcon4,
ctcBarIcon5: CtcBarIcon5,
ctcBarIcon6: CtcBarIcon6,
ctcBarIcon7: CtcBarIcon7,
ctcBarIcon8: CtcBarIcon8,
ctcBarIcon9: CtcBarIcon9,
ctcBarIcon10: CtcBarIcon10,
ctcBarIcon11: CtcBarIcon11,
ctcBarIcon12: CtcBarIcon12,
ctcBarIcon13: CtcBarIcon13,
ctcBarIcon14: CtcBarIcon14,
ctcBarIcon15: CtcBarIcon15,
ctcBarIcon16: CtcBarIcon16,
ctcBarIcon17: CtcBarIcon17,
ctcBarIcon18: CtcBarIcon18,
} }
}, },
computed: { computed: {
@ -104,7 +164,10 @@ export default {
]), ]),
isShowBar() { isShowBar() {
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07'; return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
} },
isCtc() {
return this.$route.query.ctc
}
}, },
watch: { watch: {
isShowBar(val) { isShowBar(val) {
@ -477,4 +540,17 @@ export default {
border-left: 3px #ccc solid; border-left: 3px #ccc solid;
padding: 5px; padding: 5px;
} }
.img-box{
width: 28px;
height: 28px;
border: 3px #ccc inset;
background: #fff;
cursor: pointer;
}
.img-box:active{
border: 3px #ccc outset;
}
.img-box:hover{
border: 3px #ccc outset;
}
</style> </style>

View File

@ -1,6 +1,26 @@
<template> <template>
<div id="menuBarChengdu3"> <div id="menuBarChengdu3">
<menu-bar ref="menuBar" :menu-normal="menuNormal" style="width:100%" /> <menu-bar ref="menuBar" :menu-normal="menuNormal" style="width:100%" />
<!--<div style="display: flex;">-->
<!--<img :src="ctcBarIcon1" class="img-box" />-->
<!--<img :src="ctcBarIcon2" class="img-box" />-->
<!--<img :src="ctcBarIcon3" class="img-box" />-->
<!--<img :src="ctcBarIcon4" class="img-box" />-->
<!--<img :src="ctcBarIcon5" class="img-box" />-->
<!--<img :src="ctcBarIcon6" class="img-box" />-->
<!--<img :src="ctcBarIcon7" class="img-box" />-->
<!--<img :src="ctcBarIcon8" class="img-box" />-->
<!--<img :src="ctcBarIcon9" class="img-box" />-->
<!--<img :src="ctcBarIcon10" class="img-box" />-->
<!--<img :src="ctcBarIcon11" class="img-box" />-->
<!--<img :src="ctcBarIcon12" class="img-box" />-->
<!--<img :src="ctcBarIcon13" class="img-box" />-->
<!--<img :src="ctcBarIcon14" class="img-box" />-->
<!--<img :src="ctcBarIcon15" class="img-box" />-->
<!--<img :src="ctcBarIcon16" class="img-box" />-->
<!--<img :src="ctcBarIcon17" class="img-box" />-->
<!--<img :src="ctcBarIcon18" class="img-box" />-->
<!--</div>-->
<station-control-convert ref="stationControlConvert" /> <station-control-convert ref="stationControlConvert" />
<password-box ref="passwordBox" @setLoginResult="getLoginResult" /> <password-box ref="passwordBox" @setLoginResult="getLoginResult" />
<view-name ref="viewName" /> <view-name ref="viewName" />
@ -25,6 +45,24 @@ import ViewName from './menuDialog/viewName';
import ManageUser from './menuDialog/manageUser'; import ManageUser from './menuDialog/manageUser';
import HelpAbout from './menuDialog/helpAbout'; import HelpAbout from './menuDialog/helpAbout';
import SetLimitSpeed from './menuDialog/setLimitSpeed'; import SetLimitSpeed from './menuDialog/setLimitSpeed';
import CtcBarIcon1 from '@/assets/ctc_icon/pic1.png';
import CtcBarIcon2 from '@/assets/ctc_icon/pic2.png';
import CtcBarIcon3 from '@/assets/ctc_icon/pic3.png';
import CtcBarIcon4 from '@/assets/ctc_icon/pic4.png';
import CtcBarIcon5 from '@/assets/ctc_icon/pic5.png';
import CtcBarIcon6 from '@/assets/ctc_icon/pic6.png';
import CtcBarIcon7 from '@/assets/ctc_icon/pic7.png';
import CtcBarIcon8 from '@/assets/ctc_icon/pic8.png';
import CtcBarIcon9 from '@/assets/ctc_icon/pic9.png';
import CtcBarIcon10 from '@/assets/ctc_icon/pic10.png';
import CtcBarIcon11 from '@/assets/ctc_icon/pic11.png';
import CtcBarIcon12 from '@/assets/ctc_icon/pic12.png';
import CtcBarIcon13 from '@/assets/ctc_icon/pic13.png';
import CtcBarIcon14 from '@/assets/ctc_icon/pic14.png';
import CtcBarIcon15 from '@/assets/ctc_icon/pic15.png';
import CtcBarIcon16 from '@/assets/ctc_icon/pic16.png';
import CtcBarIcon17 from '@/assets/ctc_icon/pic17.png';
import CtcBarIcon18 from '@/assets/ctc_icon/pic18.png';
export default { export default {
name: 'MenuBarChengdu03', name: 'MenuBarChengdu03',
@ -42,6 +80,24 @@ export default {
}, },
data() { data() {
return { return {
ctcBarIcon1: CtcBarIcon1,
ctcBarIcon2: CtcBarIcon2,
ctcBarIcon3: CtcBarIcon3,
ctcBarIcon4: CtcBarIcon4,
ctcBarIcon5: CtcBarIcon5,
ctcBarIcon6: CtcBarIcon6,
ctcBarIcon7: CtcBarIcon7,
ctcBarIcon8: CtcBarIcon8,
ctcBarIcon9: CtcBarIcon9,
ctcBarIcon10: CtcBarIcon10,
ctcBarIcon11: CtcBarIcon11,
ctcBarIcon12: CtcBarIcon12,
ctcBarIcon13: CtcBarIcon13,
ctcBarIcon14: CtcBarIcon14,
ctcBarIcon15: CtcBarIcon15,
ctcBarIcon16: CtcBarIcon16,
ctcBarIcon17: CtcBarIcon17,
ctcBarIcon18: CtcBarIcon18,
menuNormal: { menuNormal: {
Local: [ Local: [
{ {
@ -682,4 +738,9 @@ export default {
#menuBarChengdu3 #menuBar .menu-li-block .label{ #menuBarChengdu3 #menuBar .menu-li-block .label{
padding: 0px 30px 0px 5px !important; padding: 0px 30px 0px 5px !important;
} }
.img-box{
width: 20px;
height: 20px;
margin-top: 30px;
}
</style> </style>

View File

@ -66,13 +66,13 @@
<center><b></b><b></b></center> <center><b></b><b></b></center>
</span> </span>
</button> </button>
<button :id="" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown()"> <button :id="111" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown()">
<span style="color: black;"> <span style="color: black;">
<center><b></b><b></b></center> <center><b></b><b></b></center>
<center><b></b><b></b></center> <center><b></b><b></b></center>
</span> </span>
</button> </button>
<button :disabled="true" :id="" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown()"> <button :disabled="true" :id="222" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown()">
<span style="color: black;"> <span style="color: black;">
<center><b></b><b></b></center> <center><b></b><b></b></center>
<center><b></b><b></b></center> <center><b></b><b></b></center>
@ -84,19 +84,19 @@
<center><b></b><b></b></center> <center><b></b><b></b></center>
</span> </span>
</button> </button>
<button :id="" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown()"> <button :id="333" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown()">
<span style="color: black;"> <span style="color: black;">
<center><b></b><b></b></center> <center><b></b><b></b></center>
<center><b></b><b></b></center> <center><b></b><b></b></center>
</span> </span>
</button> </button>
<button :id="" class="button_box" :style="{width: width+'px', backgroundColor: buttonUpColor}" @click="buttonDown()"> <button :id="444" class="button_box" :style="{width: width+'px', backgroundColor: buttonUpColor}" @click="buttonDown()">
<span style="color: black;"> <span style="color: black;">
<center><b></b><b></b></center> <center><b></b><b></b></center>
<center><b></b><b></b></center> <center><b></b><b></b></center>
</span> </span>
</button> </button>
<button :id="" class="button_box" :style="{width: width+'px', backgroundColor: buttonUpColor}" @click="buttonDown()"> <button :id="555" class="button_box" :style="{width: width+'px', backgroundColor: buttonUpColor}" @click="buttonDown()">
<span style="color: black;"> <span style="color: black;">
<center><b></b><b></b></center> <center><b></b><b></b></center>
<center><b></b><b></b></center> <center><b></b><b></b></center>
@ -117,7 +117,6 @@
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo'; import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { MouseEvent } from '@/scripts/ConstDic'; import { MouseEvent } from '@/scripts/ConstDic';
import CenterConfig from '../../../../views/newMap/newMapdraft/mapoperate/displayConfig/centerConfig'; import CenterConfig from '../../../../views/newMap/newMapdraft/mapoperate/displayConfig/centerConfig';
// import { OperateMode } from '@/scripts/ConstDic';48
export default { export default {
name: 'MapButtonMenu', name: 'MapButtonMenu',
@ -138,7 +137,7 @@
return { return {
point: { point: {
x: 0, x: 0,
y: 0 y: 30
}, },
operation: '0', operation: '0',
buttonName: '', buttonName: '',
@ -146,7 +145,7 @@
guideColorUp: '#DCDCDC', guideColorUp: '#DCDCDC',
buttonDownColor: '#FEEE1A', buttonDownColor: '#FEEE1A',
buttonUpColor: '#DCDCDC', buttonUpColor: '#DCDCDC',
width: 78, width: 60,
tempData: null, tempData: null,
offset: {}, offset: {},
commandTypeList: [], commandTypeList: [],

View File

@ -5,7 +5,7 @@
<section-detail ref="sectionDetail" /> <section-detail ref="sectionDetail" />
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" /> <notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
<train-add-plan ref="trainAddPlan" pop-class="chengdou-03__systerm" /> <train-add-plan ref="trainAddPlan" pop-class="chengdou-03__systerm" />
<set-fault ref="setFault" pop-class="chengdou-03__systerm" /> <set-fault ref="setFault" pop-class="datie-02__systerm" />
<!-- <load-spare-train ref="loadSpareTrain" pop-class="chengdou-03__systerm" /> --> <!-- <load-spare-train ref="loadSpareTrain" pop-class="chengdou-03__systerm" /> -->
<add-spare-train ref="addSpareTrain" /> <add-spare-train ref="addSpareTrain" />
<draw-select ref="drawSelect" /> <draw-select ref="drawSelect" />
@ -63,6 +63,11 @@ export default {
// label: '', // label: '',
// handler: this.baDeTrCall // handler: this.baDeTrCall
// } // }
{
label: ' 增加车次',
handler: this.addSpare,
cmdType: CMD.Section.CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN
}
], ],
Center: [ Center: [
// { // {
@ -75,6 +80,11 @@ export default {
// handler: this.detail, // handler: this.detail,
// cmdType: CMD.Section.CMD_SECTION_DETAILS // cmdType: CMD.Section.CMD_SECTION_DETAILS
// } // }
// {
// label: ' ',
// handler: this.addSpare,
// cmdType: CMD.Section.CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN
// }
] ]
}, },
menuForce: [ menuForce: [
@ -92,17 +102,12 @@ export default {
label: '触发故障管理', label: '触发故障管理',
handler: this.triggerFaultManagement, handler: this.triggerFaultManagement,
cmdType: CMD.Fault.CMD_TRIGGER_FAULT cmdType: CMD.Fault.CMD_TRIGGER_FAULT
}, }
// { // {
// label: '', // label: '',
// handler: this.loadSpare, // handler: this.loadSpare,
// cmdType: CMD.Section.CMD_TRAIN_LOAD_SPARE_TRAIN // cmdType: CMD.Section.CMD_TRAIN_LOAD_SPARE_TRAIN
// } // }
{
label: '增加备用车',
handler: this.addSpare,
cmdType: CMD.Section.CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN
}
] ]
}; };
}, },
@ -173,7 +178,7 @@ export default {
// }); // });
// }, // },
addSpare() { addSpare() {
commitOperate(menuOperate.Section.addSpareTrain, {sectionCode:this.selected.code}).then(({valid, operate})=>{ commitOperate(menuOperate.Section.addSpareTrain, {sectionCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) { if (valid) {
this.$refs.addSpareTrain.doShow(operate, this.selected); this.$refs.addSpareTrain.doShow(operate, this.selected);
} }

View File

@ -5,7 +5,7 @@
<switch-control ref="switchControl" pop-class="chengdou-03__systerm" /> <switch-control ref="switchControl" pop-class="chengdou-03__systerm" />
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" /> <notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
<switch-hook-lock ref="switchHookLock" pop-class="chengdou-03__systerm" /> <switch-hook-lock ref="switchHookLock" pop-class="chengdou-03__systerm" />
<set-fault ref="setFault" pop-class="chengdou-03__systerm" /> <set-fault ref="setFault" pop-class="datie-02__systerm" />
<draw-select ref="drawSelect" /> <draw-select ref="drawSelect" />
</div> </div>
</template> </template>

View File

@ -9,7 +9,8 @@
<train-delete-number ref="trainDeleteNumber" /> <train-delete-number ref="trainDeleteNumber" />
<train-detail-info ref="trainDetailInfo" /> <train-detail-info ref="trainDetailInfo" />
<set-fault ref="setFault" pop-class="chengdou-03__systerm" /> <set-fault ref="setFault" pop-class="chengdou-03__systerm" />
<train-set-plan ref="trainSetPlan" /> <!-- <train-set-plan ref="trainSetPlan" /> -->
<update-trip ref="updateTrip" />
</div> </div>
</template> </template>
@ -25,7 +26,8 @@ import TrainMoveNumber from './dialog/trainMoveNumber';
import TrainCreateNumber from './dialog/trainCreateNumber'; import TrainCreateNumber from './dialog/trainCreateNumber';
import TrainDeleteNumber from './dialog/trainDeleteNumber'; import TrainDeleteNumber from './dialog/trainDeleteNumber';
import TrainDetailInfo from './dialog/trainDetailInfo'; import TrainDetailInfo from './dialog/trainDetailInfo';
import TrainSetPlan from './dialog/trainSetPlan'; // import TrainSetPlan from './dialog/trainSetPlan';
import UpdateTrip from './dialog/updateTrip';
import CancelMouseState from '@/mixin/CancelMouseState'; import CancelMouseState from '@/mixin/CancelMouseState';
import CMD from '@/scripts/cmdPlugin/CommandEnum'; import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler'; import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
@ -44,7 +46,8 @@ export default {
TrainDeleteNumber, TrainDeleteNumber,
TrainDetailInfo, TrainDetailInfo,
SetFault, SetFault,
TrainSetPlan UpdateTrip
// TrainSetPlan
}, },
mixins: [ mixins: [
CancelMouseState CancelMouseState
@ -62,18 +65,33 @@ export default {
menu: [], menu: [],
menuNormal: { menuNormal: {
Local: [ Local: [
{ // {
label: '设置计划车', // label: '',
handler: this.setPlanTrain, // handler: this.setPlanTrain,
cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN // cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN
}, // },
{
label: '变更车次号',
handler: this.modifyTripNumber,
cmdType: CMD.Train.CMD_TRAIN_UPDATE_TRIP_NUMBER_TRAIN
},
{
label: '删车次号',
handler: this.removeTripNumber,
cmdType: CMD.Train.CMD_TRAIN_REMOVE_TRAIN_TRACE
}
], ],
Center: [ Center: [
{ {
label: '设置计划车', label: '变更车次号',
handler: this.setPlanTrain, handler: this.modifyTripNumber,
cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN cmdType: CMD.Train.CMD_TRAIN_UPDATE_TRIP_NUMBER_TRAIN
} }
// {
// label: '',
// handler: this.setPlanTrain,
// cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN
// }
// { // {
// label: '', // label: '',
// handler: this.createTrainNo // handler: this.createTrainNo
@ -131,31 +149,31 @@ export default {
} }
], ],
menuDirective: [ menuDirective: [
{ {
label: '切换驾驶模式', label: '切换驾驶模式',
children: [ children: [
{ {
label: '转AM-C模式', label: '转AM-C模式',
handler: this.handlerApplyAmcMode handler: this.handlerApplyAmcMode
}, },
{ {
label: '转SM-C模式', label: '转SM-C模式',
handler: this.handlerApplySmcMode handler: this.handlerApplySmcMode
}, },
{ {
label: '转AM-I模式', label: '转AM-I模式',
handler: this.handlerApplyAmiMode handler: this.handlerApplyAmiMode
}, },
{ {
label: '转SM-I模式', label: '转SM-I模式',
handler: this.handlerApplySmiMode handler: this.handlerApplySmiMode
}, },
{ {
label: '转RM模式', label: '转RM模式',
handler: this.handlerApplyRmMode handler: this.handlerApplyRmMode
} }
] ]
}, },
{ {
label: '确认运行至前方站', label: '确认运行至前方站',
handler: this.nextStation handler: this.nextStation
@ -172,14 +190,22 @@ export default {
label: '越红灯行驶', label: '越红灯行驶',
handler: this.handleOverEedLight handler: this.handleOverEedLight
}, },
{ // {
label: '驾驶至', // label: '',
handler: this.handleDriveTo // handler: this.handleDriveTo
}, // },
{ {
label: '换端', label: '换端',
handler: this.handleTurnDirection handler: this.handleTurnDirection
} },
{
label: '发车',
handler: this.handleDepartTrain
},
{
label: '停车',
handler: this.handleParkingTrain
}
], ],
menuSpeed: [ menuSpeed: [
{ {
@ -259,48 +285,21 @@ export default {
this.$store.dispatch('training/setTriggerFaultCount', this.selected); this.$store.dispatch('training/setTriggerFaultCount', this.selected);
}, },
nextStation() { nextStation() {
const group = this.$route.query.group; this.trainSend('Drive_Ahead');
const param = {
commandType: 'Drive_Ahead',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: {}
};
commitTrainSend(group, param).then(({valid, operate})=>{
}).catch((error) => {
console.error(error);
this.$refs.noticeInfo.doShow();
});
}, },
routeBlockRun() { routeBlockRun() {
const group = this.$route.query.group; this.trainSend('Route_Block_Drive');
const param = {
commandType: 'Route_Block_Drive',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: {}
};
commitTrainSend(group, param).then(({valid, operate})=>{
}).catch((error) => {
console.error(error);
this.$refs.noticeInfo.doShow();
});
}, },
handleOverFuideSignal() { handleOverFuideSignal() {
const group = this.$route.query.group; this.trainSend('Drive_Through_The_Guide_Signal');
const param = {
commandType: 'Drive_Through_The_Guide_Signal',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: {}
};
commitTrainSend(group, param).then(({valid, operate})=>{
}).catch((error) => {
console.error(error);
this.$refs.noticeInfo.doShow();
});
}, },
handleOverEedLight() { handleOverEedLight() {
this.trainSend('Drive_Through_The_Red_Light');
},
trainSend(type) {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {
commandType: 'Drive_Through_The_Red_Light', commandType: type,
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id, targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: {} params: {}
}; };
@ -329,21 +328,21 @@ export default {
this.$refs.noticeInfo.doShow(); this.$refs.noticeInfo.doShow();
}); });
}, },
// //
setPlanTrain() { // setPlanTrain() {
const operate = { // const operate = {
start: true, // start: true,
code: this.selected.code, // code: this.selected.code,
operation: OperationEvent.Train.editTrainId.menu.operation, // operation: OperationEvent.Train.editTrainId.menu.operation,
param: {} // param: {}
}; // };
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { // this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) { // if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); // this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.trainSetPlan.doShow(operate, this.selected); // this.$refs.trainSetPlan.doShow(operate, this.selected);
} // }
}); // });
}, // },
// //
setPlanTrainId() { setPlanTrainId() {
const operate = { const operate = {
@ -472,93 +471,136 @@ export default {
} }
}); });
}, },
handlerApplyAmcMode() { handlerApplyAmcMode() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {
commandType: 'Change_Preselection_Mode', commandType: 'Change_Preselection_Mode',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id, targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: { preselectionMode: 'AM_C' } params: { preselectionMode: 'AM_C' }
}; };
commitTrainSend(group, param).then(({ valid, operate }) => { commitTrainSend(group, param).then(({ valid, operate }) => {
}).catch((error) => { }).catch((error) => {
console.error(error); console.error(error);
this.$refs.noticeInfo.doShow(); this.$refs.noticeInfo.doShow();
}); });
}, },
handlerApplySmcMode() { handlerApplySmcMode() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {
commandType: 'Change_Preselection_Mode', commandType: 'Change_Preselection_Mode',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id, targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: { preselectionMode: 'SM_C' } params: { preselectionMode: 'SM_C' }
}; };
commitTrainSend(group, param).then(({ valid, operate }) => { commitTrainSend(group, param).then(({ valid, operate }) => {
}).catch((error) => { }).catch((error) => {
console.error(error); console.error(error);
this.$refs.noticeInfo.doShow(); this.$refs.noticeInfo.doShow();
}); });
}, },
handlerApplyAmiMode() { handlerApplyAmiMode() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {
commandType: 'Change_Preselection_Mode', commandType: 'Change_Preselection_Mode',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id, targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: { preselectionMode: 'AM_I' } params: { preselectionMode: 'AM_I' }
}; };
commitTrainSend(group, param).then(({ valid, operate }) => { commitTrainSend(group, param).then(({ valid, operate }) => {
}).catch((error) => { }).catch((error) => {
console.error(error); console.error(error);
this.$refs.noticeInfo.doShow(); this.$refs.noticeInfo.doShow();
}); });
}, },
handlerApplySmiMode() { handlerApplySmiMode() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {
commandType: 'Change_Preselection_Mode', commandType: 'Change_Preselection_Mode',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id, targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: { preselectionMode: 'SM_I' } params: { preselectionMode: 'SM_I' }
}; };
commitTrainSend(group, param).then(({ valid, operate }) => { commitTrainSend(group, param).then(({ valid, operate }) => {
}).catch((error) => { }).catch((error) => {
console.error(error); console.error(error);
this.$refs.noticeInfo.doShow(); this.$refs.noticeInfo.doShow();
}); });
}, },
handlerApplyRmMode() { handlerApplyRmMode() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {
commandType: 'Change_Preselection_Mode', commandType: 'Change_Preselection_Mode',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id, targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: { preselectionMode: 'RM' } params: { preselectionMode: 'RM' }
}; };
commitTrainSend(group, param).then(({ valid, operate }) => { commitTrainSend(group, param).then(({ valid, operate }) => {
}).catch((error) => { }).catch((error) => {
console.error(error); console.error(error);
this.$refs.noticeInfo.doShow(); this.$refs.noticeInfo.doShow();
}); });
}, },
// //
handleDriveTo() { handleDriveTo() {
commitOperate(menuOperate.Common.collocation, { code: this.selected.code }, 0).then(({valid, operate})=>{ commitOperate(menuOperate.Common.collocation, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) { if (valid) {
this.$refs.setFault.doShow(menuOperate.Common.collocation, this.selected, true); this.$refs.setFault.doShow(menuOperate.Common.collocation, this.selected, true);
} }
}); });
}, },
// //
handleTurnDirection() { handleTurnDirection() {
const group = this.$route.query.group; const group = this.$route.query.group;
const param = { const param = {
commandType: 'Turn_Direction', commandType: 'Turn_Direction',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id, targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: {} params: {}
}; };
commitTrainSend(group, param).then(({valid, operate}) => { commitTrainSend(group, param).then(({valid, operate}) => {
}).catch((error)=> { }).catch((error)=> {
console.error(error); console.error(error);
this.$refs.noticeInfo.doShow(); this.$refs.noticeInfo.doShow();
}); });
}, },
handleDepartTrain() {
const group = this.$route.query.group;
const param = {
commandType: 'Depart_Train',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: {}
};
commitTrainSend(group, param).then(({valid, operate}) => {
}).catch((error)=> {
console.error(error);
this.$refs.noticeInfo.doShow();
});
},
handleParkingTrain() {
const group = this.$route.query.group;
const param = {
commandType: 'Parking_Train',
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: {}
};
commitTrainSend(group, param).then(({valid, operate}) => {
}).catch((error)=> {
console.error(error);
this.$refs.noticeInfo.doShow();
});
},
modifyTripNumber() {
commitOperate(menuOperate.Train.updateTrip, {groupNumber:this.selected.groupNumber}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.updateTrip.doShow(operate, this.selected.tripNumber);
}
});
},
removeTripNumber() {
commitOperate(menuOperate.Train.removeTrip, {groupNumber:this.selected.groupNumber}, 3).then(({valid, operate})=>{
if (valid) {
}
}).catch((error)=> {
console.error(error);
this.$refs.noticeInfo.doShow();
});
},
undeveloped() { undeveloped() {
this.doClose(); this.doClose();
this.$alert('实现中......', '提示', { this.$alert('实现中......', '提示', {

View File

@ -180,7 +180,6 @@ export default {
CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN: {value: 'Train_Load_Trip_Number_Train', label: '增加备用车'}, CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN: {value: 'Train_Load_Trip_Number_Train', label: '增加备用车'},
/** 分路不良 大铁线路使用*/ /** 分路不良 大铁线路使用*/
CMD_SECTION_DEFECTIVE_SHUNTING: {value: 'Section_Defective_Shunting', label: '分路不良'} CMD_SECTION_DEFECTIVE_SHUNTING: {value: 'Section_Defective_Shunting', label: '分路不良'}
}, },
// 站台 // 站台
@ -335,7 +334,11 @@ export default {
/** 选择调度模式 */ /** 选择调度模式 */
CMD_TRAIN_REGULATION : { value:'Train_Regulation', label:'选择调度模式' }, CMD_TRAIN_REGULATION : { value:'Train_Regulation', label:'选择调度模式' },
/** 计算列车间隔 */ /** 计算列车间隔 */
CMD_TRAIN_CALCULATE_INTERVAL : {value: 'Train_Calculate_Interval', label: '计算列车间隔'} CMD_TRAIN_CALCULATE_INTERVAL : {value: 'Train_Calculate_Interval', label: '计算列车间隔'},
/** 修改车次号 大铁线路使用*/
CMD_TRAIN_UPDATE_TRIP_NUMBER_TRAIN: {value: 'Train_Update_Trip_Number_Train', label: '变更车次号'},
/** 删除车次号 大铁线路使用*/
CMD_TRAIN_REMOVE_TRAIN_TRACE:{value: 'Train_Remove_Train_Trace', label: '删车次号'}
}, },
TrainWindow: { TrainWindow: {
/** 修改列车识别号 */ /** 修改列车识别号 */

View File

@ -40,6 +40,10 @@ class CommandHandle {
operate: 'Train_Load_Trip_Number_Train', operate: 'Train_Load_Trip_Number_Train',
paramList:[{name: 'tripNumber'}, {name: 'sectionCode'}, {name: 'right'}] paramList:[{name: 'tripNumber'}, {name: 'sectionCode'}, {name: 'right'}]
}, },
// Train_Update_Trip_Number_Train:{
// operate: 'Train_Update_Trip_Number_Train',
// paramList:[{name: 'tripNumber'}, {name: 'groupNumber'}]
// },
Train_Trust: { Train_Trust: {
operate: 'Train_Trust', operate: 'Train_Trust',
paramList:[{name: 'groupNumber'}, {name: 'targetDeviceCode'}], paramList:[{name: 'groupNumber'}, {name: 'targetDeviceCode'}],

View File

@ -3397,6 +3397,26 @@ export const OperationEvent = {
operation: '70t3', operation: '70t3',
domId: '_Tips-Train-trainSetRunType-Confirm' domId: '_Tips-Train-trainSetRunType-Confirm'
} }
},
updateTrip: {
menu: {
operation: '70u',
domId: '_Tips-Train-updateTrip-Menu'
},
changeTripNumber: {
operation: '70u1',
domId: '_Tips-Train-updateTrip-ChangeTripNumber'
},
confirm: {
operation: '70u2',
domId: '_Tips-Train-updateTrip-Confirm'
}
},
removeTrip:{
menu: {
operation: '70v',
domId: '_Tips-Train-removeTrip-Menu'
}
} }
}, },

View File

@ -30,7 +30,7 @@ export function handlerUrl(data) {
// BASE_API = 'http://192.168.8.172:9200'; // 旭强 // BASE_API = 'http://192.168.8.172:9200'; // 旭强
// BASE_API = 'http://192.168.3.15:9000'; // 张赛 // BASE_API = 'http://192.168.3.15:9000'; // 张赛
// BASE_API = 'http://192.168.8.140:9000'; // 杜康 // BASE_API = 'http://192.168.8.140:9000'; // 杜康
// BASE_API = 'http://192.168.3.37:9000'; // 卫志宏 // BASE_API = 'http://192.168.3.37:9000'; // 卫志宏
// BASE_API = 'http://b29z135112.zicp.vip'; // BASE_API = 'http://b29z135112.zicp.vip';
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康 // BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
// BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛 // BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛

View File

@ -8,7 +8,7 @@
<!-- <el-button v-if="$route.query.lineCode === '15'" size="small" type="jumpjlmap3d" @click="jumpjlmap3dDriver">司机视角</el-button> --> <!-- <el-button v-if="$route.query.lineCode === '15'" size="small" type="jumpjlmap3d" @click="jumpjlmap3dDriver">司机视角</el-button> -->
<el-button v-if="$route.query.lineCode === '15'" size="small" @click="clCaAnCall">经典案例分析</el-button> <el-button v-if="$route.query.lineCode === '15'" size="small" @click="clCaAnCall">经典案例分析</el-button>
<el-button v-if="$route.query.lineCode === '15'" size="small" @click="normStudy">规范学习</el-button> <el-button v-if="$route.query.lineCode === '15'" size="small" @click="normStudy">规范学习</el-button>
<el-button v-if="$route.query.lineCode === '15'|| $route.query.lineCode === '16'" size="small" @click="showLineBoard">占线板</el-button> <el-button v-if="$route.query.lineCode === '16'" size="small" @click="showLineBoard">占线板</el-button>
</el-button-group> </el-button-group>
</div> </div>
<Jl3dRailway-Device <Jl3dRailway-Device

View File

@ -11,7 +11,7 @@
<menu-dispather-contest v-if="isContest" ref="menuDispatherContest" :offset="offset" :offset-bottom="offsetBottom" :data-error="dataError" :text-status-height="textStatusHeight" @start="start" @end="end" /> <menu-dispather-contest v-if="isContest" ref="menuDispatherContest" :offset="offset" :offset-bottom="offsetBottom" :data-error="dataError" :text-status-height="textStatusHeight" @start="start" @end="end" />
</template> </template>
<menu-train-list v-if="isDemon||isContest||isScript" /> <menu-train-list v-if="isDemon||isContest||isScript" />
<menu-system-time ref="menuSystemTime" :offset="offset" :group="group" /> <menu-system-time v-if="$route.query.lineCode !== '16'" ref="menuSystemTime" :offset="offset" :group="group" />
</div> </div>
</template> </template>
<script> <script>

View File

@ -13,18 +13,18 @@
<template v-if="!dataError"> <template v-if="!dataError">
<el-button-group v-if="project !== 'bjd'"> <el-button-group v-if="project !== 'bjd'">
<el-button v-if="$route.query.lineCode === '16'" size="small" @click="showLineBoard">占线板</el-button> <el-button v-if="$route.query.lineCode === '16'" size="small" @click="showLineBoard">占线板</el-button>
<el-button v-if="isLocalStation && $route.query.lineCode!='08' && $route.query.lineCode!='16'" size="small" @click="goIbp">IBP盘</el-button> <el-button v-if="$route.query.lineCode === '16'" size="small" @click="goCtc">CTC</el-button>
<el-button v-if="isScheduling && isDepot" size="small" type="primary" @click="runPlanEditShow">运行图编辑</el-button> <el-button v-if="isLocalStation && $route.query.lineCode!='08' && $route.query.lineCode!='16'" size="small" @click="goIbp">IBP盘</el-button>
<!-- 加载剧本 --> <el-button v-if="isScheduling && isDepot" size="small" type="primary" @click="runPlanEditShow">运行图编辑</el-button>
<el-button v-if="isDemon && !isScheduling && !isContest && !isDepoltSim && $route.query.lineCode!='16'" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">{{ $t('display.schema.loadScript') }}</el-button> <!-- 加载剧本 -->
<!-- 运行图加载 --> <el-button v-if="isDemon && !isScheduling && !isContest && !isDepoltSim && $route.query.lineCode!='16'" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">{{ $t('display.schema.loadScript') }}</el-button>
<!-- notScript && --> <!-- 运行图加载 -->
<el-button v-if="running" size="small" :disabled="viewDisabled" @click="viewRunPlan">{{ $t('display.schema.previewRunDiagram') }}</el-button> <!-- notScript && -->
<!-- notScript && --> <el-button v-if="running" size="small" :disabled="viewDisabled" @click="viewRunPlan">{{ $t('display.schema.previewRunDiagram') }}</el-button>
<el-button v-if="!running && $route.query.lineCode!='16'" size="small" type="warning" @click="loadRunPlan">{{ $t('display.schema.loadRunDiagram') }}</el-button> <!-- notScript && -->
<el-button v-if="!running && $route.query.lineCode!='16'" size="small" type="warning" @click="loadRunPlan">{{ $t('display.schema.loadRunDiagram') }}</el-button>
</el-button-group> </el-button-group>
<el-button v-if="!isScheduling && project !== 'bjd'" size="small" :type="faultMode ? '':'primary' " @click="changeOperateMode()">{{ faultMode?'切换到普通模式[Tab]':'切换到故障模式[Tab]' }}</el-button> <el-button v-if="!isScheduling && project !== 'bjd'" size="small" :type="faultMode ? '':'primary' " @click="changeOperateMode()">{{ faultMode?'切换到普通模式[Tab]':'切换到故障模式[Tab]' }}</el-button>
<el-button v-if="running&&project == 'bjd'" size="small" :disabled="viewDisabled" @click="viewRunPlan">{{ $t('display.schema.previewRunDiagram') }}</el-button> <el-button v-if="running&&project == 'bjd'" size="small" :disabled="viewDisabled" @click="viewRunPlan">{{ $t('display.schema.previewRunDiagram') }}</el-button>
<!-- <el-button v-if="!isLocalStation" size="small" :type="faultMode ? 'danger' : ''" @click="changeDirectiveMode()">指令模式</el-button> --> <!-- <el-button v-if="!isLocalStation" size="small" :type="faultMode ? 'danger' : ''" @click="changeDirectiveMode()">指令模式</el-button> -->
</template> </template>
@ -99,6 +99,9 @@ export default {
notScript() { notScript() {
return this.$route.params.mode !== 'script'; return this.$route.params.mode !== 'script';
}, },
isCtc() {
return !!this.$route.query.ctc;
},
isScript() { isScript() {
return this.$route.params.mode === 'script'; return this.$route.params.mode === 'script';
}, },
@ -213,6 +216,24 @@ export default {
showLineBoard() { showLineBoard() {
this.$refs.lineBoard.doShow(); this.$refs.lineBoard.doShow();
}, },
goCtc() {
const routeData = this.$router.resolve({
path:'/displayNew/demon',
query:{
lineCode:this.$route.query.lineCode,
group: this.$route.query.group,
prdType: this.$route.query.prdType,
mapId:this.$route.query.mapId,
project: this.project,
newApi: this.$route.query.newApi,
ctc: true,
try: this.$route.query.try,
token:getToken(),
noPreLogout: true
}
});
window.open(routeData.href, '_blank');
},
changeOperateMode() { changeOperateMode() {
this.faultMode = !this.faultMode; this.faultMode = !this.faultMode;
let mode = OperateMode.NORMAL; let mode = OperateMode.NORMAL;

View File

@ -499,7 +499,6 @@ export default {
for (const key in mapDevice) { for (const key in mapDevice) {
list.push(mapDevice[key]); list.push(mapDevice[key]);
} }
console.log(list, stationCode, '=============');
this.$jlmap.updateShowStation(list, stationCode); this.$jlmap.updateShowStation(list, stationCode);
!setCenter && stationCode && this.setCenter(stationCode); !setCenter && stationCode && this.setCenter(stationCode);
}, },

View File

@ -13,7 +13,7 @@
/> />
</el-select> </el-select>
<el-button-group> <el-button-group>
<el-button v-if="datie" size="small" @click="showLineBoard">占线板</el-button> <el-button v-if="isCtc" size="small" @click="showLineBoard">占线板</el-button>
<el-button v-if="userRole=== 'STATION_SUPERVISOR' && !$route.query.projectDevice && $route.query.lineCode!='08'" size="small" @click="goIbp">IBP盘</el-button> <el-button v-if="userRole=== 'STATION_SUPERVISOR' && !$route.query.projectDevice && $route.query.lineCode!='08'" size="small" @click="goIbp">IBP盘</el-button>
<el-button v-if="userRole=== 'DISPATCHER' && !$route.query.projectDevice && hasBigScreen" size="small" @click="goBigScreen">大屏</el-button> <el-button v-if="userRole=== 'DISPATCHER' && !$route.query.projectDevice && hasBigScreen" size="small" @click="goBigScreen">大屏</el-button>
<el-button v-if="(userRole==='DISPATCHER' || userRole=== 'STATION_SUPERVISOR') && !$route.query.projectDevice && iscsShow" size="small" @click="goIscs">ISCS</el-button> <el-button v-if="(userRole==='DISPATCHER' || userRole=== 'STATION_SUPERVISOR') && !$route.query.projectDevice && iscsShow" size="small" @click="goIscs">ISCS</el-button>
@ -141,6 +141,9 @@ export default {
datie(){ datie(){
return this.$route.query.lineCode == '16' return this.$route.query.lineCode == '16'
}, },
isCtc() {
return !!this.$route.query.ctc
},
isScreen() { isScreen() {
return this.$store.state.training.prdType === '07'; return this.$store.state.training.prdType === '07';
}, },

View File

@ -11,8 +11,8 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { getBigRouteList } from '@/api/jmap/mapdraft'; // import { getBigRouteList } from '@/api/jmap/mapdraft';
import { queryAssistListPaged, deleteAssist } from '@/api/assist'; import { queryAssistListPaged, deleteAssist, saveAssist } from '@/api/assist';
export default { export default {
name:'BigRouteDetail', name:'BigRouteDetail',
props: { props: {
@ -21,6 +21,12 @@
default() { default() {
return null; return null;
} }
},
relativeList: {
type: Array,
default() {
return [];
}
} }
}, },
data() { data() {
@ -30,7 +36,6 @@
pageSize: 'pageSize', pageSize: 'pageSize',
pageIndex: 'pageNum' pageIndex: 'pageNum'
}, },
filterRouteMap:{},
queryForm: { queryForm: {
show:false show:false
}, },
@ -40,6 +45,10 @@
selectCheckShow: false, selectCheckShow: false,
indexShow: true, indexShow: true,
columns: [ columns: [
{
title: 'code',
prop: 'code'
},
{ {
title: '关联车站', title: '关联车站',
prop: 'stationCode', prop: 'stationCode',
@ -65,6 +74,25 @@
columnValue: (row) => { return this.getDeviceName(row.signalCode); }, columnValue: (row) => { return this.getDeviceName(row.signalCode); },
tagType: (row) => { return ''; } tagType: (row) => { return ''; }
}, },
{
title: '闭塞类型',
prop: 'runModel'
},
{
title: '默认状态',
prop: 'runStatus'
},
{
title: '相对运行车站',
prop: 'relativeStationCode',
type: 'tag',
columnValue: (row) => { return this.getDeviceName(row.relativeStationCode); },
tagType: (row) => { return ''; }
},
{
title: '相对运行方向',
prop: 'relativeLabelEnum'
},
{ {
type: 'button', type: 'button',
title: this.$t('global.operate'), title: this.$t('global.operate'),
@ -74,7 +102,11 @@
name: '删除', name: '删除',
handleClick: this.deleteRoute, handleClick: this.deleteRoute,
type: 'danger' type: 'danger'
} },
// {
// name: '',
// handleClick: this.handleUpdate,
// }
] ]
} }
] ]
@ -84,14 +116,7 @@
methods:{ methods:{
doShow() { doShow() {
this.show = true; this.show = true;
if (this.mapInfo && this.mapInfo.id) { this.reloadTable();
getBigRouteList(this.mapInfo.id).then(response => {
response.data.forEach(route=>{
this.filterRouteMap[route.code] = route.name;
});
this.reloadTable();
}).catch(()=>{});
}
}, },
doClose() { doClose() {
this.show = false; this.show = false;
@ -127,8 +152,14 @@
}).catch(error=>{ }).catch(error=>{
this.$messageBox('删除指示灯关联信息失败:' + error.meessage); this.$messageBox('删除指示灯关联信息失败:' + error.meessage);
}); });
},
} handleUpdate(index, row) {
saveAssist(row, this.$route.params.mapId).then(res => {
this.$message.success('更新成功');
}).catch(() => {
this.$messageBox('操作异常');
});
},
} }
}; };
</script> </script>

View File

@ -12,7 +12,6 @@
<script> <script>
import IndicatorAssociatedInfoDraft from './route'; import IndicatorAssociatedInfoDraft from './route';
import IndicatorAssociatedInfoDetail from './detail'; import IndicatorAssociatedInfoDetail from './detail';
export default { export default {
name: 'IndicatorAssociatedInfoOperate', name: 'IndicatorAssociatedInfoOperate',
components: { components: {

View File

@ -53,6 +53,50 @@
</el-select> </el-select>
<el-button :type="field === 'signalCode'? 'danger':'primary'" @click="hover('signalCode')">{{$t('map.activate')}}</el-button> <el-button :type="field === 'signalCode'? 'danger':'primary'" @click="hover('signalCode')">{{$t('map.activate')}}</el-button>
</el-form-item> </el-form-item>
<el-form-item label="闭塞类型:" prop="runModel">
<el-select v-model="addModel.runModel" :placeholder="$t('map.pleaseSelect')">
<el-option
v-for="item in runModelList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="默认状态:" prop="runStatus">
<el-select v-model="addModel.runStatus" :placeholder="$t('map.pleaseSelect')">
<el-option
v-for="item in runStatusList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="相对运行车站:" prop="relativeStationCode">
<el-select v-model="addModel.relativeStationCode" clearable filterable>
<el-option
v-for="item in stationList"
:key="item.code"
:label="`${item.name}(${item.code})`"
:value="item.code"
/>
</el-select>
<el-button
:type=" field === 'relativeStationCode' ? 'danger' : 'primary'"
@click="hover('relativeStationCode')"
>{{ $t('map.activate') }}</el-button>
</el-form-item>
<el-form-item label="相对运行方向:" prop="relativeLabelEnum">
<el-select v-model="addModel.relativeLabelEnum">
<el-option
v-for="item in directionLabelList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form> </el-form>
<div class="bigDraft"> <div class="bigDraft">
<el-button-group class="bigDraftBtn"> <el-button-group class="bigDraftBtn">
@ -68,6 +112,7 @@
import { saveAssist } from '@/api/assist'; import { saveAssist } from '@/api/assist';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import ConstConfig from '@/scripts/ConstConfig'; import ConstConfig from '@/scripts/ConstConfig';
import { queryAssistListPaged } from '@/api/assist';
export default { export default {
name:'BigRouteInfo', name:'BigRouteInfo',
props: { props: {
@ -103,7 +148,11 @@
stationCode: '', stationCode: '',
labelEnum:'', labelEnum:'',
sectionList: [], sectionList: [],
signalCode: '' signalCode: '',
runModel: '',
runStatus: '',
relativeStationCode: '',
relativeLabelEnum: ''
}, },
rules: { rules: {
'stationCode':[ 'stationCode':[
@ -119,8 +168,31 @@
'sectionList': [ 'sectionList': [
{ validator: checkSectionList, trigger: 'change' }, { validator: checkSectionList, trigger: 'change' },
{ required: true, message: '请选择关联区段', trigger: 'blur' } { required: true, message: '请选择关联区段', trigger: 'blur' }
],
'runModel': [
{ required: true, message: '请选择闭塞类型', trigger: 'change' }
],
'runStatus': [
{ required: true, message: '请选择默认状态', trigger: 'change' }
],
'relativeStationCode': [
{ required: true, message: '请选择相对运行车站', trigger: 'blur' },
{ required: true, message: '请选择相对运行车站', trigger: 'change' }
],
'relativeLabelEnum': [
{ required: true, message: '请选择相对运行方向', trigger: 'change' }
] ]
} },
runModelList: [
{ label: '自动闭塞', value: 'A' },
{ label: '半自动闭塞', value: 'S' }
],
runStatusList: [
{ label: '接车口', value: 'R' },
{ label: '发车口', value: 'D' },
{ label: '无状态', value: 'NO' }
],
relativeList: []
}; };
}, },
computed: { computed: {
@ -132,9 +204,16 @@
]) ])
}, },
mounted() { mounted() {
this.initPage();
}, },
methods:{ methods:{
initPage() {}, initPage() {
if (this.mapInfo) {
queryAssistListPaged({pageNum: 1, pageSize: 999},this.mapInfo.id).then(resp => {
this.relativeList = resp.data.list;
});
}
},
hover(field) { hover(field) {
this.field = field === this.field ? '' : field; this.field = field === this.field ? '' : field;
}, },
@ -151,7 +230,10 @@
} else if (selected._type.toUpperCase() === 'Signal'.toUpperCase() && this.field.toUpperCase() === 'signalCode'.toUpperCase()){ } else if (selected._type.toUpperCase() === 'Signal'.toUpperCase() && this.field.toUpperCase() === 'signalCode'.toUpperCase()){
this.addModel.signalCode = selected.code; this.addModel.signalCode = selected.code;
this.field = ''; this.field = '';
} ; } else if (selected._type.toUpperCase() === 'Station'.toUpperCase() && this.field.toUpperCase() === 'relativeStationCode'.toUpperCase()) {
this.addModel.relativeStationCode = selected.code;
this.field = '';
}
} }
}, },
save() { save() {
@ -164,6 +246,7 @@
saveAssist(newModel, that.mapInfo.id).then(res=>{ saveAssist(newModel, that.mapInfo.id).then(res=>{
that.$message.success(that.$t('tip.creatingSuccessful')); that.$message.success(that.$t('tip.creatingSuccessful'));
that.loading = false; that.loading = false;
this.initPage();
that.clear(); that.clear();
}).catch(() => { }).catch(() => {
that.$messageBox(that.$t('tip.operationAbnormal')); that.$messageBox(that.$t('tip.operationAbnormal'));
@ -180,7 +263,10 @@
stationCode: '', stationCode: '',
labelEnum:'', labelEnum:'',
sectionList: [], sectionList: [],
signalCode: '' signalCode: '',
runModel: '',
runStatus: '',
relativeCode: ''
}; };
} }
} }

View File

@ -57,6 +57,7 @@ class Model {
this.logicLengthList = []; this.logicLengthList = [];
this.relCrossSection = ''; this.relCrossSection = '';
this.srCode = ''; this.srCode = '';
this.endForFlipRunDir = 'NON';
} }
SignalModel() { SignalModel() {
this._type = 'Signal'; this._type = 'Signal';

View File

@ -107,6 +107,11 @@ export default {
{ code: 'DEPOT', name: '联段线' }, { code: 'DEPOT', name: '联段线' },
{ code: 'PARKING', name: '库线' } { code: 'PARKING', name: '库线' }
], ],
endForFlipRunDirList: [
{ value: 'LEFT', label: '左' },
{ value: 'RIGHT', label: '右' },
{ value: 'NON', label: '无' }
],
editModel: getModel('Section'), editModel: getModel('Section'),
oldPoint: [], // oldPoint: [], //
field: '', field: '',
@ -148,7 +153,8 @@ export default {
{ prop: 'roadType', label: '线路类型:', type: 'select', optionLabel: 'name', optionValue: 'code', options: this.sectionRoadTypeList, clearable: true, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType, deviceChange: this.roadTypeChange }, { prop: 'roadType', label: '线路类型:', type: 'select', optionLabel: 'name', optionValue: 'code', options: this.sectionRoadTypeList, clearable: true, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType, deviceChange: this.roadTypeChange },
{ prop: 'leftSectionCode', label: this.$t('map.leftAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'leftSection', buttonShowType: this.isLeftSectionButtonShow, isHidden: !this.hasAssociatedSection }, // { prop: 'leftSectionCode', label: this.$t('map.leftAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'leftSection', buttonShowType: this.isLeftSectionButtonShow, isHidden: !this.hasAssociatedSection }, //
{ prop: 'rightSectionCode', label: this.$t('map.rightAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'rightSection', buttonShowType: this.isRightSectionButtonShow, isHidden: !this.hasAssociatedSection }, // { prop: 'rightSectionCode', label: this.$t('map.rightAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'rightSection', buttonShowType: this.isRightSectionButtonShow, isHidden: !this.hasAssociatedSection }, //
{ prop: 'parentCode', label: this.$t('map.associatedSection'), type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: this.isCrossSectionType, options: this.sectionList, isHidden: !this.isParentCode }, // /code { prop: 'endForFlipRunDir', label: '方向运行端点:', type: 'select', optionLabel: 'label', optionValue: 'value', options: this.endForFlipRunDirList, isHidden: !this.hasAssociatedSection },
{ prop: 'parentCode', label: this.$t('map.associatedSection'), type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: this.isCrossSectionType, options: this.sectionList, isHidden: !this.isParentCode }, // /code
{ prop: 'sepTypeLeft', label: this.$t('map.sepTypeLeft'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType }, { prop: 'sepTypeLeft', label: this.$t('map.sepTypeLeft'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType },
{ prop: 'sepTypeRight', label: this.$t('map.sepTypeRight'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType }, { prop: 'sepTypeRight', label: this.$t('map.sepTypeRight'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType },
{ prop: 'points', label: this.$t('map.segmentCoordinates'), type: 'points', width: '100px', isHidden: !this.isPointsShow, addPoint: this.addPoint, delPoint: this.delPoint, lastDisabled: true }, { prop: 'points', label: this.$t('map.segmentCoordinates'), type: 'points', width: '100px', isHidden: !this.isPointsShow, addPoint: this.addPoint, delPoint: this.delPoint, lastDisabled: true },
@ -409,6 +415,7 @@ export default {
}, },
deviceSelect(selected) { deviceSelect(selected) {
// //
console.log(selected, '****************---');
if (selected && selected._type === 'Section') { if (selected && selected._type === 'Section') {
if (this.field == 'relatedSection' ) { if (this.field == 'relatedSection' ) {
if (selected.type === '01') { if (selected.type === '01') {
@ -544,7 +551,10 @@ export default {
model.leftStopPointOffset = model.leftStopPointOffset || 5; model.leftStopPointOffset = model.leftStopPointOffset || 5;
model.rightStopPointOffset = model.rightStopPointOffset || model.lengthFact - 5; model.rightStopPointOffset = model.rightStopPointOffset || model.lengthFact - 5;
} }
const changeSectionList = this.handleOtherSectionChange(model); let changeSectionList = [model];
if(model.endForFlipRunDir === 'NON') {
changeSectionList = this.handleOtherSectionChange(model);
}
const changeStandList = this.handleRelevanceStand(model); const changeStandList = this.handleRelevanceStand(model);
if (model.relCrossSection) { if (model.relCrossSection) {
this.crossSectionList.forEach(item => { this.crossSectionList.forEach(item => {
@ -556,6 +566,7 @@ export default {
} }
models = [...models, ...changeSectionList, ...changeStandList]; models = [...models, ...changeSectionList, ...changeStandList];
console.log(models, 'mmmmmmmmmmmmmmmmmm');
this.$emit('updateMapModel', models); this.$emit('updateMapModel', models);
this.oldPoint = JSON.parse(JSON.stringify(model.points)); this.oldPoint = JSON.parse(JSON.stringify(model.points));
this.oldLeftSectionCode = model.leftSectionCode; this.oldLeftSectionCode = model.leftSectionCode;