Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
walker-sheng 2021-05-25 18:09:38 +08:00
commit c392f41b28
12 changed files with 85 additions and 117 deletions

View File

@ -226,7 +226,7 @@ export default class TrainBody extends Group {
z: model.z + 1,
x: parseInt(model.point.x + style.Train.crewNum.trainCrewNumOffset.x),
y: parseInt(model.point.y + style.Train.crewNum.trainCrewNumOffset.y),
text: 'BBB',
text: model.model.crewNumber ? model.model.crewNumber : 'BBB',
textFill: style.trainTextColor,
textStroke: style.trainTextColor,
textStrokeWidth: 0,

View File

@ -60,7 +60,7 @@
</el-table-column>
<el-table-column prop="tripNumber" label="车次号">
<template slot-scope="scope">
<span>{{ scope.row.destinationCode+scope.row.serviceNumber+(scope.row.tripNumber.substring(1)) }}</span>
<span>{{ scope.row.destinationCode+scope.row.serviceNumber+(scope.row.tripNumber.substring(2)) }}</span>
</template>
</el-table-column>
</el-table>
@ -98,7 +98,7 @@
</div>
<div v-if="controlMode === 'edit' || controlMode === 'create'" style="margin-top: 10px;">
<div style="display: inline-block;width: 150px;">新的车次号</div>
<el-input v-model="newTripNum" maxlength="7" style="display: inline-block;width: 200px;" size="mini" />
<el-input v-model="newTripNum" maxlength="8" style="display: inline-block;width: 200px;" size="mini" />
<div v-if="newTripNumError" style="font-size: 10px;color: #F00;margin-left: 160px;height: 10px;line-height: 10px;"> 请输入正确的车次号</div>
</div>
<div v-if="controlMode === 'edit' || controlMode === 'create'" style="margin-top: 10px;">
@ -109,7 +109,9 @@
<div v-if="controlMode === 'edit' || controlMode === 'create'" style="margin-top: 10px;">
<div style="display: inline-block;width: 150px;">车组号</div>
<el-input v-if="controlMode === 'edit'" v-model="groupNum" style="display: inline-block;width: 200px;" :disabled="true" size="mini" />
<el-input v-if="controlMode === 'create'" v-model="newGroupNum" style="display: inline-block;width: 200px;" maxlength="6" size="mini" />
<el-input v-if="controlMode === 'create'" v-model="newGroupNum" style="display: inline-block;width: 80px;" maxlength="3" size="mini" />
<span v-if="controlMode === 'create'">--</span>
<el-input v-if="controlMode === 'create'" v-model="newGrewNum" style="display: inline-block;width: 80px;" maxlength="3" size="mini" />
</div>
</el-col>
</el-row>
@ -159,6 +161,7 @@ export default {
tripNum: '',
groupNum: '',
newGroupNum: '',
newGrewNum: '',
newTripNum: '',
newTripNumError: false
};
@ -171,8 +174,8 @@ export default {
return '列车监控和追踪';
},
commitDisabled() {
return (this.controlMode === 'edit' && this.newTripNum.length === 7 ) || (this.controlMode === 'delete') ||
(this.controlMode === 'create' && this.newTripNum.length === 7 && this.newSectionCode && this.newGroupNum.length === 6) ||
return (this.controlMode === 'edit' && this.newTripNum.length === 8 ) || (this.controlMode === 'delete') ||
(this.controlMode === 'create' && this.newTripNum.length === 8 && this.newSectionCode && this.newGroupNum.length === 3 && this.newGrewNum.length === 3) ||
(this.controlMode === 'move' && this.newSectionCode);
},
selectSectionList() {
@ -189,11 +192,18 @@ export default {
'$store.state.menuOperation.selectedCount':function(em) {
const device = this.$store.state.menuOperation.selected;
if (device && device.code && device.deviceType === 'TRAIN') {
if (!this.dialogShow) {
this.controlMode = 'edit';
this.dialogShow = true;
}
this.tempTableData = [device];
this.sectionCode = device.sectionModel.name;
this.tripNum = device.destinationCode + (device.serviceNumber.substring(1)) + (device.tripNumber.substring(2));
this.groupNum = device.groupNumber;
}
if (this.dialogShow && device && device.code && device.deviceType === 'SECTION') {
this.newSectionCode = device.code;
}
}
},
mounted() {
@ -207,6 +217,7 @@ export default {
this.tripNum = '';
this.groupNum = '';
this.newGroupNum = '';
this.newGrewNum = '';
this.newSectionCode = '';
this.newTripNum = '';
this.newTripNumError = false;
@ -218,6 +229,7 @@ export default {
this.dialogShow = false;
},
changeMode(val) {
this.newSectionCode = '';
this.controlMode = val;
},
commit() {
@ -228,8 +240,8 @@ export default {
};
if (this.controlMode === 'edit') {
params.groupNumber = this.groupNum;
params.serviceNumber = '0' + this.newTripNum.slice(3, 5);
params.tripNumber = '0' + this.newTripNum.slice(5, 7);
params.serviceNumber = this.newTripNum.slice(3, 6);
params.tripNumber = '0' + this.newTripNum.slice(6, 8);
step.cmdType = CMD.TrainWindow.CMD_TRAIN_SET_PLAN;
step.operation = OperationEvent.Train.setPlanTrainId.menu.operation;
step.param = params;
@ -237,8 +249,9 @@ export default {
params.sectionCode = this.newSectionCode;
params.groupNumber = this.newGroupNum;
params.dn = this.newTripNum.slice(0, 3);
params.sn = '0' + this.newTripNum.slice(3, 5);
params.tn = '00' + this.newTripNum.slice(5, 7);
params.sn = this.newTripNum.slice(3, 6);
params.tn = '0' + this.newTripNum.slice(6, 8);
params.cn = this.newGrewNum;
step.cmdType = CMD.TrainWindow.CMD_TRAIN_ADD_TRAIN_TRACE;
step.operation = OperationEvent.Train.addTrainId.menu.operation;
step.param = params;
@ -263,12 +276,13 @@ export default {
this.groupNum = '';
this.newTripNum = '';
this.newGroupNum = '';
this.newGrewNum = '';
this.newSectionCode = '';
this.newTripNumError = false;
}
}).catch((error) => {
console.error(error);
this.$refs.noticeInfo.doShow();
this.$refs.noticeInfo.doShow(error.msg);
});
},

View File

@ -101,8 +101,8 @@
<el-row style="display: flex;align-items: center;">
<el-col :span="7" style="height: 25px;line-height: 25px;">车次号</el-col>
<el-col :span="17">
<el-input v-if="trainOperateType!=='create'" v-model="formModelTripNum" :maxlength="7" size="mini" style="height: 20px;" :disabled="true" />
<el-input v-if="trainOperateType==='create'" v-model="formModelNewTrip" :maxlength="7" size="mini" style="height: 20px;" />
<el-input v-if="trainOperateType!=='create'" v-model="formModelTripNum" :maxlength="8" size="mini" style="height: 20px;" :disabled="true" />
<el-input v-if="trainOperateType==='create'" v-model="formModelNewTrip" :maxlength="8" size="mini" style="height: 20px;" />
</el-col>
</el-row>
<el-row style="display: flex;align-items: center;">
@ -250,8 +250,8 @@ export default {
return (this.cmdType == CMD.Section.CMD_SECTION_SET_LIMIT_SPEED || this.cmdType == CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED) && this.speedShowCon;
},
trainCommitDisabled() {
return (this.trainOperateType === 'create' && this.formModelNewTrip && this.formModelNewTrip.length === 7 && this.formModelNewGroup && this.formModelNewGroup.length === 6) ||
(this.trainOperateType === 'update' && this.formModelNewTrip && this.formModelNewTrip.length === 7) || (this.trainOperateType === 'delete') ||
return (this.trainOperateType === 'create' && this.formModelNewTrip && this.formModelNewTrip.length === 8 && this.formModelNewGroup && this.formModelNewGroup.length === 6) ||
(this.trainOperateType === 'update' && this.formModelNewTrip && this.formModelNewTrip.length === 8) || (this.trainOperateType === 'delete') ||
(this.trainOperateType === 'move' && this.formModelNewSection);
},
handleSectionList() {
@ -787,7 +787,7 @@ export default {
this.$store.state.map.activeTrainList.forEach(trainCode => {
const trainModel = this.$store.getters['map/getDeviceByCode'](trainCode);
if (trainModel && trainModel.sectionCode === this.selectedObj.code) {
this.formModelTripNum = trainModel.destinationCode + (trainModel.serviceNumber.substring(1)) + (trainModel.tripNumber.substring(1));
this.formModelTripNum = trainModel.destinationCode + trainModel.serviceNumber + (trainModel.tripNumber.substring(1));
this.trainModel = trainModel;
this.formModelNewTrip = '';
}
@ -815,17 +815,18 @@ export default {
};
if (this.trainOperateType === 'update') {
params.groupNumber = this.trainModel.groupNumber;
params.serviceNumber = '0' + this.formModelNewTrip.slice(3, 5);
params.tripNumber = '0' + this.formModelNewTrip.slice(5, 7);
params.serviceNumber = '0' + this.formModelNewTrip.slice(3, 6);
params.tripNumber = '0' + this.formModelNewTrip.slice(6, 8);
step.cmdType = CMD.TrainWindow.CMD_TRAIN_SET_PLAN;
step.operation = OperationEvent.Train.setPlanTrainId.menu.operation;
step.param = params;
} else if (this.trainOperateType === 'create') {
params.sectionCode = this.selectedObj.code;
params.groupNumber = this.formModelNewGroup;
params.groupNumber = this.formModelNewGroup.slice(0, 3);
params.dn = this.formModelNewTrip.slice(0, 3);
params.sn = '0' + this.formModelNewTrip.slice(3, 5);
params.tn = '0' + this.formModelNewTrip.slice(5, 7);
params.sn = this.formModelNewTrip.slice(3, 6);
params.tn = '0' + this.formModelNewTrip.slice(6, 8);
params.cn = this.formModelNewGroup.slice(3, 6);
step.cmdType = CMD.TrainWindow.CMD_TRAIN_ADD_TRAIN_TRACE;
step.operation = OperationEvent.Train.addTrainId.menu.operation;
step.param = params;

View File

@ -9,9 +9,8 @@
</template>
<script>
import Vue from 'vue';
import Jlmap from '@/jmapNew/map';
import { parser } from '@/jmapNew/utils/parser';
import { parserFactory, ParserType } from '@/jmapNew/parser';
import { deepAssign } from '@/utils/index';
import deviceType from '@/jmapNew/constant/deviceType';
@ -113,7 +112,8 @@ export default {
};
if (this.mapData.skinVO) {
this.mapDevice = parser(this.mapData, this.mapData.skinVO.code, this.map.getShowConfig());
const parser = parserFactory(ParserType.Graph.value);
this.mapDevice = parser.parser(this.mapData, this.mapData.skinVO.code, this.map.getShowConfig());
}
},
loadData() {
@ -199,22 +199,11 @@ export default {
// this.map.updatePrdType(list, showMode, val);
// },
setShowStation(stationCode, setCenter) {
const nameList = Object.keys(this.$store.state.map.map);
let list = [];
nameList.forEach((item) => {
if (
this.$store.state.map.map[item] &&
this.$store.state.map.map[item].constructor === Array
) {
if (item === 'trainList') {
this.$store.state.map.map[item].forEach((elem) => {
elem && list.push(elem);
});
} else {
list = [...list, ...this.$store.state.map.map[item]];
}
}
});
const list = [];
const mapDevice = this.$store.state.map.mapDevice;
for (const key in mapDevice) {
list.push(mapDevice[key]);
}
this.map.updateShowStation(list, stationCode);
!setCenter && this.setCenter(stationCode);
}

View File

@ -162,9 +162,10 @@ export default {
this.tableData.forEach(item => {
const centralizedStationCode = this.stationCentralizedMap[item.code];
const centralizedStation = this.$store.getters['map/getDeviceByCode'](centralizedStationCode);
const station = this.$store.getters['map/getDeviceByCode'](item.code);
if (this.$store.state.training.prdType === '01' && centralizedStation.controlMode === 'Center') {
item.apply = false;
} else if (item.controller !== this.memberId) {
} else if (station.controller !== this.memberId) {
item.apply = true;
}
});
@ -178,9 +179,10 @@ export default {
this.tableData.forEach(item => {
const centralizedStationCode = this.stationCentralizedMap[item.code];
const centralizedStation = this.$store.getters['map/getDeviceByCode'](centralizedStationCode);
const station = this.$store.getters['map/getDeviceByCode'](item.code);
if (this.$store.state.training.prdType === '01' && centralizedStation.controlMode === 'Center') {
item.apply = false;
} else if (item.controller === this.memberId) {
} else if (station.controller === this.memberId) {
item.release = true;
}
});

View File

@ -215,16 +215,11 @@ export default {
showMode = '02';
}
const nameList = Object.keys(this.$store.state.map.map || {});
let list = [];
nameList.forEach(item => {
if (item !== 'skinVO') {
const data = this.$store.state.map.map[item];
if (data && data.constructor === Array) {
list = [...list, ...data];
}
}
});
const list = [];
const mapDevice = this.$store.state.map.mapDevice;
for (const key in mapDevice) {
list.push(mapDevice[key]);
}
if (swch == '01') {
this.$jlmap.updateShowStation(list, this.$store.state.training.centerStationCode); //

View File

@ -195,19 +195,11 @@ export default {
});
const deviceId = member ? member.deviceId : '';
if (deviceId) {
const nameList = Object.keys(this.$store.state.map.map || {});
let list = [];
nameList.forEach(item => {
if (this.$store.state.map.map[item] && this.$store.state.map.map[item].constructor === Array) {
if (item === 'trainList') {
this.$store.state.map.map[item].forEach(elem => {
elem && list.push(elem);
});
} else {
list = [...list, ...this.$store.state.map.map[item]];
}
}
});
const list = [];
const mapDevice = this.$store.state.map.mapDevice;
for (const key in mapDevice[key]) {
list.push(mapDevice[key]);
}
this.$jlmap.updateShowStation(list, deviceId);
}
this.$jlmap.setCenter(deviceId);

View File

@ -226,16 +226,11 @@ export default {
showMode = '02';
}
const nameList = Object.keys(this.$store.state.map.map || {});
let list = [];
nameList.forEach(item => {
if (item !== 'skinVO') {
const data = this.$store.state.map.map[item];
if (data && data.constructor === Array) {
list = [...list, ...data];
}
}
});
const list = [];
const mapDevice = this.$store.state.map.mapDevice;
for (const key in mapDevice) {
list.push(mapDevice[key]);
}
if (swch == '01') {
this.$jlmap.updateShowStation(list, this.$store.state.training.centerStationCode); //

View File

@ -55,8 +55,6 @@ export default {
switchStationMode(val) {
assignUsersPlayRoles([{ userId: this.$store.state.user.id, memberId: val}], this.$route.query.group).then(resp => {
this.showMemberId = val;
const nameList = Object.keys(this.$store.state.map.map || {});
let list = [];
const member = this.$store.state.training.memberData[val];
const station = this.$store.getters['map/getDeviceByCode'](member.deviceCode);
const lineCode = this.$store.getters['map/lineCode'];
@ -67,17 +65,11 @@ export default {
} else if (station) {
this.showStation = station.code;
const showStationCode = this.stationCentralizedMap[station.code];
nameList.forEach(item => {
if (this.$store.state.map.map[item] && this.$store.state.map.map[item].constructor === Array) {
if (item === 'trainList') {
this.$store.state.map.map[item].forEach(elem => {
elem && list.push(elem);
});
} else {
list = [...list, ...this.$store.state.map.map[item]];
}
}
});
const mapDevice = this.$store.state.map.mapDevice;
const list = [];
for (const key in mapDevice) {
list.push(mapDevice[key]);
}
this.$jlmap.updateShowStation(list, showStationCode);
this.setCenter(showStationCode);

View File

@ -503,19 +503,11 @@ export default {
if (lineCode === '02' || lineCode === '05') {
!setCenter && this.setCenter(stationCode);
} else {
const nameList = Object.keys(this.$store.state.map.map);
let list = [];
nameList.forEach(item => {
if (this.$store.state.map.map[item] && this.$store.state.map.map[item].constructor === Array) {
if (item === 'trainList') {
this.$store.state.map.map[item].forEach(elem => {
elem && list.push(elem);
});
} else {
list = [...list, ...this.$store.state.map.map[item]];
}
}
});
const list = [];
const mapDevice = this.$store.state.map.mapDevice;
for (const key in mapDevice) {
list.push(mapDevice[key]);
}
this.$jlmap.updateShowStation(list, stationCode);
!setCenter && this.setCenter(stationCode);

View File

@ -556,19 +556,11 @@ export default {
if (lineCode === '02' || lineCode === '05') {
this.$jlmap.setCenter(showStation);
} else {
const nameList = Object.keys(this.$store.state.map.map);
let list = [];
nameList.forEach(item => {
if (this.$store.state.map.map[item] && this.$store.state.map.map[item].constructor === Array) {
if (item === 'trainList') {
this.$store.state.map.map[item].forEach(elem => {
elem && list.push(elem);
});
} else {
list = [...list, ...this.$store.state.map.map[item]];
}
}
});
const list = [];
const mapDevice = this.$store.state.map.mapDevice;
for (const key in mapDevice) {
list.push(mapDevice[key]);
}
this.$jlmap.updateShowStation(list, showStation);
this.$jlmap.setCenter(showStation);
}

View File

@ -147,11 +147,13 @@ export default {
'generateDestination',
'switchTurnOperationCanRecoverSplitFault',
'holdCommandIgnoreControlMode',
'delayWhenCancelRouteWithAbnormalInterlock'
'delayWhenCancelRouteWithAbnormalInterlock',
'figuresOfTripNumber',
'figuresOfServiceNumber'
],
rangeList: ['noParkingSM', 'parkingSM'],
speedList: ['rmAtpSpeed', 'urmAtpSpeed'],
numberList: [],
numberList: ['figuresOfTripNumber', 'figuresOfServiceNumber'],
optionsMap: {
runMode:[{label: 'CBTC级别', value: 'CBTC'}, {label: '点式通信', value: 'ITC'}, {label: '联锁级', value: 'IL'}]
},
@ -191,7 +193,9 @@ export default {
generateDestination: '是否生成目的地码定义(泰雷兹)',
switchTurnOperationCanRecoverSplitFault: '道岔转动操作可以使失表故障恢复',
holdCommandIgnoreControlMode: '扣车命令不区分控制模式',
delayWhenCancelRouteWithAbnormalInterlock: '取消联锁条件不满足的进路时需要延时解锁'
delayWhenCancelRouteWithAbnormalInterlock: '取消联锁条件不满足的进路时需要延时解锁',
figuresOfTripNumber: '车次号的位数',
figuresOfServiceNumber: '服务号的位数'
}
};
},