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'
})
}
// 保存指示灯关联信息
// 保存或更新指示灯关联信息
export function saveAssist(data, mapId) {
return request({
// 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 && model.shuntingTypeList.length > 0 && this.badShuntStatus();
// model.shuntingTypeList.length > 0 &&
model.badShunt&& this.badShuntStatus();
}
}

View File

@ -200,7 +200,7 @@ export default {
});
},
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) {
this.$refs.loadSpareTrain.doShow(operate, this.selected);
}

View File

@ -201,6 +201,11 @@ export default {
{label: '计轴故障', value: 'FAULT'},
{label: '通信车占用', value: 'CBTC_OCCUPIED_FAULT'}
];
} 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 = [
{label: '失表', value: 'SPLIT'},
@ -210,6 +215,15 @@ export default {
{label: '通信车占用', value: 'CBTC_OCCUPIED_FAULT'},
{label: '计轴故障', value: 'AXLE_FAULT'}
];
} 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 = [
{label: '红光带故障', value: 'FAULT'},

View File

@ -501,6 +501,21 @@ export const menuOperate = {
deletDestionation: {
operation: OperationEvent.Train.deleteDestinationTrainId.menu.operation,
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: {

View File

@ -20,7 +20,7 @@
<div class="tripNumberTips">{{ messageTip1 }}</div>
</el-col>
<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="false" :label="rightFalseLabel" />
</el-select>
@ -118,18 +118,22 @@ export default {
const figuresOfServiceMaxNumber = 6;
// this.$store.state.map.mapConfig.figuresOfServiceNumber;
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 (tripNumber.toString().length > figuresOfServiceMaxNumber || tripNumber.toString().length < figuresOfServiceMinNumber) {
this.messageTip1 = '车次号长度' + figuresOfServiceMinNumber + '-' + figuresOfServiceMaxNumber + '位';
} else {
this.addModel.tripNumber = tripNumber;
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 {
// debugger;
this.addModel.tripNumber = '';
this.messageTip1 = '请输入车次号';
this.messageTip1 = '请输入车次号(最后一位必须是数字)';
}
},
commit() {
@ -143,10 +147,10 @@ export default {
result = true;
}
if (this.addModel.tripNumber && result) {
if (this.addModel.right === '') {
this.messageTip2 = '请选择上下行';
return;
}
// if (this.addModel.right === '') {
// this.messageTip2 = '';
// return;
// }
const params = {
tripNumber: this.addModel.tripNumber,
sectionCode: this.addModel.sectionCode,
@ -170,7 +174,6 @@ export default {
} else {
this.messageTip1 = '请输入车次号';
}
}
},
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>
<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-for="elem in alarmMessages" :key="elem.id" style="font-size: 14px;">-->
<!--{{ elem.message }}-->
@ -23,7 +43,8 @@
<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>
<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-switch ref="menuSwitch" :selected="selected" />
<menu-signal ref="menuSignal" :selected="selected" />
@ -46,11 +67,31 @@ import MenuSection from './menuSection';
import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
import MenuBar from './menuBar';
import MenuButtonCtc from './menuButtonCtc';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
import { timeFormat } 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 {
name: 'Menus',
components: {
@ -64,7 +105,8 @@ export default {
MenuTrain,
PassiveAlarm,
PassiveContorl,
PassiveTimeout
PassiveTimeout,
MenuButtonCtc
},
props: {
selected: {
@ -96,6 +138,24 @@ export default {
],
time: '00:00:00',
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: {
@ -104,6 +164,9 @@ export default {
]),
isShowBar() {
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
},
isCtc() {
return this.$route.query.ctc
}
},
watch: {
@ -477,4 +540,17 @@ export default {
border-left: 3px #ccc solid;
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>

View File

@ -1,6 +1,26 @@
<template>
<div id="menuBarChengdu3">
<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" />
<password-box ref="passwordBox" @setLoginResult="getLoginResult" />
<view-name ref="viewName" />
@ -25,6 +45,24 @@ import ViewName from './menuDialog/viewName';
import ManageUser from './menuDialog/manageUser';
import HelpAbout from './menuDialog/helpAbout';
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 {
name: 'MenuBarChengdu03',
@ -42,6 +80,24 @@ export default {
},
data() {
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: {
Local: [
{
@ -682,4 +738,9 @@ export default {
#menuBarChengdu3 #menuBar .menu-li-block .label{
padding: 0px 30px 0px 5px !important;
}
.img-box{
width: 20px;
height: 20px;
margin-top: 30px;
}
</style>

View File

@ -66,13 +66,13 @@
<center><b></b><b></b></center>
</span>
</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;">
<center><b></b><b></b></center>
<center><b></b><b></b></center>
</span>
</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;">
<center><b></b><b></b></center>
<center><b></b><b></b></center>
@ -84,19 +84,19 @@
<center><b></b><b></b></center>
</span>
</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;">
<center><b></b><b></b></center>
<center><b></b><b></b></center>
</span>
</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;">
<center><b></b><b></b></center>
<center><b></b><b></b></center>
</span>
</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;">
<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 { MouseEvent } from '@/scripts/ConstDic';
import CenterConfig from '../../../../views/newMap/newMapdraft/mapoperate/displayConfig/centerConfig';
// import { OperateMode } from '@/scripts/ConstDic';48
export default {
name: 'MapButtonMenu',
@ -138,7 +137,7 @@
return {
point: {
x: 0,
y: 0
y: 30
},
operation: '0',
buttonName: '',
@ -146,7 +145,7 @@
guideColorUp: '#DCDCDC',
buttonDownColor: '#FEEE1A',
buttonUpColor: '#DCDCDC',
width: 78,
width: 60,
tempData: null,
offset: {},
commandTypeList: [],

View File

@ -5,7 +5,7 @@
<section-detail ref="sectionDetail" />
<notice-info ref="noticeInfo" 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" /> -->
<add-spare-train ref="addSpareTrain" />
<draw-select ref="drawSelect" />
@ -63,6 +63,11 @@ export default {
// label: '',
// handler: this.baDeTrCall
// }
{
label: ' 增加车次',
handler: this.addSpare,
cmdType: CMD.Section.CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN
}
],
Center: [
// {
@ -75,6 +80,11 @@ export default {
// handler: this.detail,
// cmdType: CMD.Section.CMD_SECTION_DETAILS
// }
// {
// label: ' ',
// handler: this.addSpare,
// cmdType: CMD.Section.CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN
// }
]
},
menuForce: [
@ -92,17 +102,12 @@ export default {
label: '触发故障管理',
handler: this.triggerFaultManagement,
cmdType: CMD.Fault.CMD_TRIGGER_FAULT
},
}
// {
// label: '',
// handler: this.loadSpare,
// 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() {
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) {
this.$refs.addSpareTrain.doShow(operate, this.selected);
}

View File

@ -5,7 +5,7 @@
<switch-control ref="switchControl" pop-class="chengdou-03__systerm" />
<notice-info ref="noticeInfo" 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" />
</div>
</template>

View File

@ -9,7 +9,8 @@
<train-delete-number ref="trainDeleteNumber" />
<train-detail-info ref="trainDetailInfo" />
<set-fault ref="setFault" pop-class="chengdou-03__systerm" />
<train-set-plan ref="trainSetPlan" />
<!-- <train-set-plan ref="trainSetPlan" /> -->
<update-trip ref="updateTrip" />
</div>
</template>
@ -25,7 +26,8 @@ import TrainMoveNumber from './dialog/trainMoveNumber';
import TrainCreateNumber from './dialog/trainCreateNumber';
import TrainDeleteNumber from './dialog/trainDeleteNumber';
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 CMD from '@/scripts/cmdPlugin/CommandEnum';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
@ -44,7 +46,8 @@ export default {
TrainDeleteNumber,
TrainDetailInfo,
SetFault,
TrainSetPlan
UpdateTrip
// TrainSetPlan
},
mixins: [
CancelMouseState
@ -62,19 +65,34 @@ export default {
menu: [],
menuNormal: {
Local: [
// {
// label: '',
// handler: this.setPlanTrain,
// cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN
// },
{
label: '设置计划车',
handler: this.setPlanTrain,
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: [
{
label: '设置计划车',
handler: this.setPlanTrain,
cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN
label: '变更车次号',
handler: this.modifyTripNumber,
cmdType: CMD.Train.CMD_TRAIN_UPDATE_TRIP_NUMBER_TRAIN
}
// {
// label: '',
// handler: this.setPlanTrain,
// cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN
// }
// {
// label: '',
// handler: this.createTrainNo
// },
@ -172,13 +190,21 @@ export default {
label: '越红灯行驶',
handler: this.handleOverEedLight
},
{
label: '驾驶至',
handler: this.handleDriveTo
},
// {
// label: '',
// handler: this.handleDriveTo
// },
{
label: '换端',
handler: this.handleTurnDirection
},
{
label: '发车',
handler: this.handleDepartTrain
},
{
label: '停车',
handler: this.handleParkingTrain
}
],
menuSpeed: [
@ -259,48 +285,21 @@ export default {
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
},
nextStation() {
const group = this.$route.query.group;
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();
});
this.trainSend('Drive_Ahead');
},
routeBlockRun() {
const group = this.$route.query.group;
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();
});
this.trainSend('Route_Block_Drive');
},
handleOverFuideSignal() {
const group = this.$route.query.group;
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();
});
this.trainSend('Drive_Through_The_Guide_Signal');
},
handleOverEedLight() {
this.trainSend('Drive_Through_The_Red_Light');
},
trainSend(type) {
const group = this.$route.query.group;
const param = {
commandType: 'Drive_Through_The_Red_Light',
commandType: type,
targetMemberId: this.memberList.find(ele => ele.deviceCode == this.selected.code).id,
params: {}
};
@ -330,20 +329,20 @@ export default {
});
},
//
setPlanTrain() {
const operate = {
start: true,
code: this.selected.code,
operation: OperationEvent.Train.editTrainId.menu.operation,
param: {}
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.trainSetPlan.doShow(operate, this.selected);
}
});
},
// setPlanTrain() {
// const operate = {
// start: true,
// code: this.selected.code,
// operation: OperationEvent.Train.editTrainId.menu.operation,
// param: {}
// };
// this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
// if (valid) {
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// this.$refs.trainSetPlan.doShow(operate, this.selected);
// }
// });
// },
//
setPlanTrainId() {
const operate = {
@ -559,6 +558,49 @@ export default {
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() {
this.doClose();
this.$alert('实现中......', '提示', {

View File

@ -180,7 +180,6 @@ export default {
CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN: {value: 'Train_Load_Trip_Number_Train', 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_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: {
/** 修改列车识别号 */

View File

@ -40,6 +40,10 @@ class CommandHandle {
operate: 'Train_Load_Trip_Number_Train',
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: {
operate: 'Train_Trust',
paramList:[{name: 'groupNumber'}, {name: 'targetDeviceCode'}],

View File

@ -3397,6 +3397,26 @@ export const OperationEvent = {
operation: '70t3',
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

@ -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" @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'|| $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>
</div>
<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" />
</template>
<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>
</template>
<script>

View File

@ -13,6 +13,7 @@
<template v-if="!dataError">
<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="goCtc">CTC</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>
<!-- 加载剧本 -->
@ -24,7 +25,6 @@
<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 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="!isLocalStation" size="small" :type="faultMode ? 'danger' : ''" @click="changeDirectiveMode()">指令模式</el-button> -->
</template>
@ -99,6 +99,9 @@ export default {
notScript() {
return this.$route.params.mode !== 'script';
},
isCtc() {
return !!this.$route.query.ctc;
},
isScript() {
return this.$route.params.mode === 'script';
},
@ -213,6 +216,24 @@ export default {
showLineBoard() {
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() {
this.faultMode = !this.faultMode;
let mode = OperateMode.NORMAL;

View File

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

View File

@ -13,7 +13,7 @@
/>
</el-select>
<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=== '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>
@ -141,6 +141,9 @@ export default {
datie(){
return this.$route.query.lineCode == '16'
},
isCtc() {
return !!this.$route.query.ctc
},
isScreen() {
return this.$store.state.training.prdType === '07';
},

View File

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

View File

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

View File

@ -53,6 +53,50 @@
</el-select>
<el-button :type="field === 'signalCode'? 'danger':'primary'" @click="hover('signalCode')">{{$t('map.activate')}}</el-button>
</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>
<div class="bigDraft">
<el-button-group class="bigDraftBtn">
@ -68,6 +112,7 @@
import { saveAssist } from '@/api/assist';
import { mapGetters } from 'vuex';
import ConstConfig from '@/scripts/ConstConfig';
import { queryAssistListPaged } from '@/api/assist';
export default {
name:'BigRouteInfo',
props: {
@ -103,7 +148,11 @@
stationCode: '',
labelEnum:'',
sectionList: [],
signalCode: ''
signalCode: '',
runModel: '',
runStatus: '',
relativeStationCode: '',
relativeLabelEnum: ''
},
rules: {
'stationCode':[
@ -119,8 +168,31 @@
'sectionList': [
{ validator: checkSectionList, trigger: 'change' },
{ 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: {
@ -132,9 +204,16 @@
])
},
mounted() {
this.initPage();
},
methods:{
initPage() {},
initPage() {
if (this.mapInfo) {
queryAssistListPaged({pageNum: 1, pageSize: 999},this.mapInfo.id).then(resp => {
this.relativeList = resp.data.list;
});
}
},
hover(field) {
this.field = field === this.field ? '' : field;
},
@ -151,7 +230,10 @@
} else if (selected._type.toUpperCase() === 'Signal'.toUpperCase() && this.field.toUpperCase() === 'signalCode'.toUpperCase()){
this.addModel.signalCode = selected.code;
this.field = '';
} ;
} else if (selected._type.toUpperCase() === 'Station'.toUpperCase() && this.field.toUpperCase() === 'relativeStationCode'.toUpperCase()) {
this.addModel.relativeStationCode = selected.code;
this.field = '';
}
}
},
save() {
@ -164,6 +246,7 @@
saveAssist(newModel, that.mapInfo.id).then(res=>{
that.$message.success(that.$t('tip.creatingSuccessful'));
that.loading = false;
this.initPage();
that.clear();
}).catch(() => {
that.$messageBox(that.$t('tip.operationAbnormal'));
@ -180,7 +263,10 @@
stationCode: '',
labelEnum:'',
sectionList: [],
signalCode: ''
signalCode: '',
runModel: '',
runStatus: '',
relativeCode: ''
};
}
}

View File

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

View File

@ -107,6 +107,11 @@ export default {
{ code: 'DEPOT', name: '联段线' },
{ code: 'PARKING', name: '库线' }
],
endForFlipRunDirList: [
{ value: 'LEFT', label: '左' },
{ value: 'RIGHT', label: '右' },
{ value: 'NON', label: '无' }
],
editModel: getModel('Section'),
oldPoint: [], //
field: '',
@ -148,6 +153,7 @@ 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: '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: '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: 'sepTypeRight', label: this.$t('map.sepTypeRight'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType },
@ -409,6 +415,7 @@ export default {
},
deviceSelect(selected) {
//
console.log(selected, '****************---');
if (selected && selected._type === 'Section') {
if (this.field == 'relatedSection' ) {
if (selected.type === '01') {
@ -544,7 +551,10 @@ export default {
model.leftStopPointOffset = model.leftStopPointOffset || 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);
if (model.relCrossSection) {
this.crossSectionList.forEach(item => {
@ -556,6 +566,7 @@ export default {
}
models = [...models, ...changeSectionList, ...changeStandList];
console.log(models, 'mmmmmmmmmmmmmmmmmm');
this.$emit('updateMapModel', models);
this.oldPoint = JSON.parse(JSON.stringify(model.points));
this.oldLeftSectionCode = model.leftSectionCode;