车辆段调整=》区段增加parkingTrack&列车增加stationCode&联锁配置项增加handleDepot

This commit is contained in:
fan 2021-12-03 13:25:20 +08:00
parent 573a489fea
commit 5ca3ca93ab
6 changed files with 45 additions and 13 deletions

View File

@ -93,7 +93,7 @@ export default {
'routeNameUseEndOppositeSignalName', 'generateTbRoute', 'tbRouteNameUseEndOppositeSignalName', 'routeSignalAlwaysGreen',
'routeApartByOverlap', 'overlapOnlySwitch', 'overlapSwitchNpOnly', 'overlapSignalOppositeSwitchNpOnly',
'generateCycle', 'routeButton', 'likeHa1', 'getNearlySignal', 'overlapSettingByTrigger', 'generateFls', 'signalApproachNotPassPreSignal',
'generateDestination', 'ctcOverlapOnlyTurnBackStationLock', 'routeInterlockDoNotIncludeStandHoldTrain'
'generateDestination', 'ctcOverlapOnlyTurnBackStationLock', 'routeInterlockDoNotIncludeStandHoldTrain', 'handleDepot'
],
multipleList: ['sharingECStations'],
selectList: [],
@ -128,7 +128,8 @@ export default {
generateDestination: '是否生成目的地码定义(泰雷兹)',
sharingECStations: '共享紧急关闭效果的车站',
ctcOverlapOnlyTurnBackStationLock: 'CTC列车进路延续保护仅折返站处锁闭',
routeInterlockDoNotIncludeStandHoldTrain: '进路联锁不包含站台扣车'
routeInterlockDoNotIncludeStandHoldTrain: '进路联锁不包含站台扣车',
handleDepot: '是否处理停车场/车辆段逻辑'
}
};
},

View File

@ -274,7 +274,6 @@ export default {
loadInitPage() {
this.$store.dispatch('training/changeMode', { mode: TrainingMode.MAP_EDIT });
this.mapInfo = { name: this.$t('map.pleaseSelectMap'), id: this.$route.params.mapId };
console.log(this.mapInfo, '======================');
if (parseInt(this.mapInfo.id)) {
this.mapInfo.name = this.$route.query.name;
getMapDetail(this.$route.params.mapId)

View File

@ -29,6 +29,7 @@ class Model {
this.transferTrack = false; // 是否转换轨
this.transferTrackName = '';
this.transferTrackNamePosition = { x: 0, y: 0 };
this.parkingTrack = false; // 是否停车轨
this.switchSection = false; // 是否关联道岔
this.relSwitchCode = '';
this.stationCode = '';

View File

@ -181,7 +181,7 @@ export default {
{ prop: 'destinationCodePoint.x', firstLevel: 'destinationCodePoint', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' },
{ prop: 'destinationCodePoint.y', firstLevel: 'destinationCodePoint', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' }
] }, //
{ prop: 'parkingTrack', label: '是否停车轨:', type: 'checkbox' },
{ prop: 'switchSection', label: this.$t('map.isSwitchSection'), type: 'checkbox', disabled: true, isHidden: !this.isRelevanceSwitchShow }, //
{ prop: 'relSwitchCode', label: this.$t('map.relSwitchCode'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.switchList, isHidden: !this.isRelevanceSwitchShow, disabled: true }, //
{ prop: 'logicSectionNameSort', label: this.$t('map.logicSectionNameSort'), type: 'radio', optionLabel: 'label', optionValue: 'value', isHidden: !this.isLogicSectionNameSort, radioList: [

View File

@ -11,7 +11,7 @@
<el-radio label="01">{{ $t('map.create') }}</el-radio>
<el-radio label="02">{{ $t('map.createBatch') }}</el-radio>
</el-radio-group>
<el-form ref="form" :model="addModel" label-width="90px" size="mini" :rules="rules">
<el-form ref="form" :model="addModel" label-width="110px" size="mini" :rules="rules">
<el-form-item v-if="mode == '01'" :label="$t('map.groupNumber')" prop="groupNumber">
<el-input v-model="addModel.groupNumber" />
</el-form-item>
@ -28,6 +28,16 @@
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item label="车辆段/停车场:" prop="stationCode">
<el-select v-model="addModel.stationCode" filterable>
<el-option
v-for="item in depotStationList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
<el-button-group>
<el-button type="primary" size="small" @click="newTrainMode">{{ $t('map.add') }}</el-button>
<el-button type="primary" size="small" @click="uptTrainMode(addModel.modelCode)">{{ $t('map.updata') }}
@ -54,6 +64,10 @@ export default {
trainModelList: {
type: Array,
required: true
},
depotStationList: {
type: Array,
required: true
}
},
data() {
@ -65,6 +79,7 @@ export default {
beg: 1,
end: 1
},
stationCode: '',
groupNumber: '',
modelCode: ''
},
@ -125,6 +140,7 @@ export default {
_type: 'Train',
code: getUID('Train', [...this.trainList, ...list]),
modelCode: this.addModel.modelCode,
stationCode: this.addModel.stationCode,
groupNumber: this.addModel.groupNumber
});
break;
@ -134,6 +150,7 @@ export default {
_type: 'Train',
code: getUID('Train', [...this.trainList, ...list]),
modelCode: this.addModel.modelCode,
stationCode: this.addModel.stationCode,
groupNumber: ('000' + num).slice(-3)
});
}

View File

@ -2,14 +2,24 @@
<el-tabs v-model="activeName" class="card">
<el-tab-pane class="view-control" :label="$t('map.operation')" name="second">
<div class="view-control-content">
<el-input v-model="search" style="margin:10px 20px; width: 480px;" prefix-icon="el-icon-search" size="mini" placeholder="请输入内容" />
<el-scrollbar wrap-class="scrollbar-wrapper">
<el-table :data="trainList.filter(data => !search || data.groupNumber.toLowerCase().includes(search.toLowerCase()))" style="width: 100%">
<el-table-column :label="$t('map.trainNumber')" prop="groupNumber" />
<el-table-column :label="$t('map.codeC')" prop="code" />
<el-table-column align="right">
<template slot="header">
<el-input v-model="search" size="mini" :placeholder="$t('map.pleaseSelect')" />
<el-table-column :label="$t('map.trainNumber')" align="center" width="65px" prop="groupNumber" />
<el-table-column :label="$t('map.codeC')" align="center" width="110px" prop="code" />
<el-table-column label="所属车辆段/停车场" align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.stationCode" size="mini" clearable placeholder="请选择">
<el-option
v-for="item in depotStationList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</template>
</el-table-column>
<el-table-column label="操作" width="110px" align="center">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">{{ $t('map.deleteObj') }}</el-button>
</template>
@ -25,7 +35,7 @@
</div>
</el-tab-pane>
<train-model ref="trainMode" />
<create ref="create" :train-model-list="trainModelList" @dispatch="dispatch" />
<create ref="create" :train-model-list="trainModelList" :depot-station-list="depotStationList" @dispatch="dispatch" />
</el-tabs>
</template>
@ -75,8 +85,12 @@ export default {
...mapGetters('map', [
'trainList',
'trainModelList',
'lineCode'
])
'lineCode',
'stationList'
]),
depotStationList() {
return this.stationList.filter(station => station.depot);
}
},
methods: {
deviceChange(code) {