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

View File

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

View File

@ -29,6 +29,7 @@ class Model {
this.transferTrack = false; // 是否转换轨 this.transferTrack = false; // 是否转换轨
this.transferTrackName = ''; this.transferTrackName = '';
this.transferTrackNamePosition = { x: 0, y: 0 }; this.transferTrackNamePosition = { x: 0, y: 0 };
this.parkingTrack = false; // 是否停车轨
this.switchSection = false; // 是否关联道岔 this.switchSection = false; // 是否关联道岔
this.relSwitchCode = ''; this.relSwitchCode = '';
this.stationCode = ''; 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.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: '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: '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: '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: [ { 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="01">{{ $t('map.create') }}</el-radio>
<el-radio label="02">{{ $t('map.createBatch') }}</el-radio> <el-radio label="02">{{ $t('map.createBatch') }}</el-radio>
</el-radio-group> </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-form-item v-if="mode == '01'" :label="$t('map.groupNumber')" prop="groupNumber">
<el-input v-model="addModel.groupNumber" /> <el-input v-model="addModel.groupNumber" />
</el-form-item> </el-form-item>
@ -28,6 +28,16 @@
:value="item.code" :value="item.code"
/> />
</el-select> </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-group>
<el-button type="primary" size="small" @click="newTrainMode">{{ $t('map.add') }}</el-button> <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') }} <el-button type="primary" size="small" @click="uptTrainMode(addModel.modelCode)">{{ $t('map.updata') }}
@ -54,6 +64,10 @@ export default {
trainModelList: { trainModelList: {
type: Array, type: Array,
required: true required: true
},
depotStationList: {
type: Array,
required: true
} }
}, },
data() { data() {
@ -65,6 +79,7 @@ export default {
beg: 1, beg: 1,
end: 1 end: 1
}, },
stationCode: '',
groupNumber: '', groupNumber: '',
modelCode: '' modelCode: ''
}, },
@ -125,6 +140,7 @@ export default {
_type: 'Train', _type: 'Train',
code: getUID('Train', [...this.trainList, ...list]), code: getUID('Train', [...this.trainList, ...list]),
modelCode: this.addModel.modelCode, modelCode: this.addModel.modelCode,
stationCode: this.addModel.stationCode,
groupNumber: this.addModel.groupNumber groupNumber: this.addModel.groupNumber
}); });
break; break;
@ -134,6 +150,7 @@ export default {
_type: 'Train', _type: 'Train',
code: getUID('Train', [...this.trainList, ...list]), code: getUID('Train', [...this.trainList, ...list]),
modelCode: this.addModel.modelCode, modelCode: this.addModel.modelCode,
stationCode: this.addModel.stationCode,
groupNumber: ('000' + num).slice(-3) groupNumber: ('000' + num).slice(-3)
}); });
} }

View File

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