This commit is contained in:
fan 2022-09-05 17:55:52 +08:00
commit 9e22641b95
5 changed files with 313 additions and 29 deletions

View File

@ -123,6 +123,7 @@ export default {
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
this.$emit('clearOperate');
}
}).catch((error) => { this.doClose(); this.$refs.noticeInfo.doShow(); console.log(error); });
},

View File

@ -0,0 +1,253 @@
<template>
<el-dialog
v-dialogDrag
class="chengdou-03__systerm train-set-plan"
title="站存车管理"
:visible.sync="show"
width="800px"
:before-close="doClose"
:z-index="3000"
:append-to-body="true"
:modal="true"
:close-on-click-modal="false"
>
<div class="top">
<div class="send">
<div class="edittime">修改时间: 11月14日16时49分</div>
<div class="title">发送时间:</div>
<div class="table">
<el-table height="100%" :data="sendTableData">
<el-table-column prop="name" label="股道名称" />
<el-table-column prop="info" label="现在存车信息" width="240" />
<el-table-column prop="subtotal" label="小计" width="50" />
</el-table>
</div>
</div>
<div class="receive">
<div class="title">接收时间:</div>
<div class="table">
<el-table height="100%" :data="receiveTableData">
<el-table-column prop="type" label="车种" />
<el-table-column prop="emptyNum" label="空车" />
<el-table-column prop="duplicateNum" label="重车" />
</el-table>
</div>
</div>
</div>
<div class="bottom">
<div class="saveInfo">
<div class="title">存车信息</div>
<div class="table">
<el-table height="100%" :data="savedData">
<el-table-column prop="type" label="车厢类型" />
<el-table-column prop="count" label="辆数" width="50px" />
<el-table-column prop="desc" label="说明/去向" />
<el-table-column prop="flag" label="运用标记" />
</el-table>
</div>
</div>
<div class="edit">
<div class="title">编辑站存车</div>
<el-form class="form" inline>
<div class="row">
<el-form-item label="类别">
<el-select v-model="editFormData.type"></el-select>
</el-form-item>
<el-form-item label="车种">
<el-select v-model="editFormData.trainType"></el-select>
</el-form-item>
<el-form-item label="作业说明">
<el-select v-model="editFormData.description"></el-select>
</el-form-item>
</div>
<div class="row">
<el-form-item label="辆数">
<el-input-number style="width: 90px;" v-model="editFormData.count" :controls="false"></el-input-number>
</el-form-item>
<el-form-item label="运用标记">
<el-select style="width: 220px;" v-model="editFormData.flag"></el-select>
</el-form-item>
</div>
<div class="row">
<el-form-item label="说明/去向">
<el-input style="width: 366px;" v-model="editFormData.destination"></el-input>
</el-form-item>
</div>
<div class="row">
<el-button>插入</el-button>
<el-button>增加</el-button>
<el-button>修改</el-button>
<el-button>删除</el-button>
</div>
</el-form>
</div>
</div>
<div class="btn-area">
<div class="total">合计: 5</div>
<div class="btngroup">
<el-button>上报调度所</el-button>
<el-button @click="doClose">关闭</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
export default {
name: 'StationManage',
data() {
return {
show: false,
sendTableData: [
{
name: '7道',
info: '空保留P5',
subtotal: 5,
},
{
name: 'V道',
info: '',
subtotal: 0,
},
{
name: '3道',
info: '',
subtotal: 0,
},
{
name: 'I道',
info: '',
subtotal: 0,
},
{
name: 'II道',
info: '',
subtotal: 0,
},
{
name: '4道',
info: '',
subtotal: 0,
},
{
name: '3道',
info: '',
subtotal: 0,
},
],
receiveTableData: [
{
type: '棚车',
emptyNum: 5,
duplicateNum: 0,
},
{
type: '敞车',
emptyNum: 0,
duplicateNum: 0,
},
{
type: '平板车',
emptyNum: 0,
duplicateNum: 0,
},
],
savedData: [
{
type: '空保留棚车',
count: 5,
desc: '八盘峡',
flag: '运用',
},
],
editFormData: {
type: '',
trainType: '',
description: '',
count: 0,
flag: '',
destination: '',
},
}
},
methods: {
doShow(stationCode) {
this.show = true
},
doClose() {
this.show = false
},
},
}
</script>
<style lang="scss" scoped>
.top,
.bottom {
height: 200px;
}
.top {
display: flex;
position: relative;
.send {
width: 66.7%;
height: 100%;
.edittime {
position: absolute;
top: 0%;
left: 0%;
line-height: 40px;
}
}
.receive {
width: 33.3%;
height: 100%;
}
.send,
.receive {
.title {
width: 100%;
text-align: center;
}
.table {
height: calc(100% - 40px);
}
}
}
.bottom {
display: flex;
.saveInfo {
width: 40%;
height: 100%;
.table {
height: calc(100% - 40px);
}
}
.edit {
width: 60%;
height: 100%;
.row {
display: flex;
justify-content: space-between;
}
}
.saveInfo,
.edit {
.title {
width: 100%;
text-align: center;
float: none;
}
/deep/ .el-select {
width: 90px;
}
/deep/ .el-form-item {
margin-bottom: 0;
}
}
}
.btn-area {
display: flex;
justify-content: space-between;
}
</style>

View File

@ -1,6 +1,7 @@
<template>
<div v-if="isShowBtn" id="menuButtons_box" class="menu menuButton" style="height:40px;" :style="{left: point.x+'px', bottom: point.y+'px' }">
<button :id="Station.stationMasterLock.rightButton.domId" class="button_box" :style="{width: width+'px', backgroundColor: xGuideMasterLock? guideColorDown: guideColorUp}" @click="guideLockRightButtonDown()">
<!-- backgroundColor: xGuideMasterLock? guideColorDown: guideColorUp -->
<button :id="Station.stationMasterLock.rightButton.domId" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="guideLockRightButtonDown()">
<span style="color: #800000">
<center><b>X引导总锁</b></center>
</span>
@ -86,7 +87,8 @@
<center><b>S引导总锁</b></center>
</span>
</button>
<button :id="Station.powerUnLock.button.domId" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="powerOnUnlock()">
<!-- powerOnUnlock -->
<button :id="Station.powerUnLock.button.domId" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown(Station.powerUnLock.button.operation,['Station'])">
<!--<span style="color:black">-->
<span style="color:#800000">
<center><b>上电解锁</b></center>
@ -117,7 +119,7 @@
<!--</button>-->
<password-box ref="password" @checkOver="passWordCommit" @checkCancel="clearOperate" />
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
<defective-shunting ref="defectiveShunting" />
<defective-shunting ref="defectiveShunting" @clearOperate="clearOperate" />
</div>
</template>
@ -330,6 +332,9 @@ export default {
} else if (operate.operationPre === this.Switch.guideLock.rightButton.operation || operate.operation === this.Switch.guideLock.rightButton.operation) {
this.guideLockRightFlag = !this.guideLockRightFlag;
}
if (operate.operationPre == this.Station.powerUnLock.button.operation) {
this.clearOperate();
}
// debugger;
// this.$store.dispatch('menuOperation/setButtonOperation', operate.operation); //
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
@ -362,26 +367,38 @@ export default {
}
}
},
// 线
powerOnUnlock() {
const operate = {
over:true,
operation:this.Station.powerUnLock.button.operation,
cmdType:CMD.Station.CMD_STATION_POWER_ON_UNLOCK,
code:this.$store.state.map.showCentralizedStationCode,
param:{stationCode: this.$store.state.map.showCentralizedStationCode}
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.clearOperate();
} else {
this.$refs.noticeInfo.doShow();
}
}).catch((error) => {
console.error(error);
this.$refs.noticeInfo.doShow();
});
},
// // 线
// handelPowerUnLock(model) {
// debugger;
// const operate = {
// over: true,
// code: model.code,
// operation: this.$store.state.menuOperation.buttonOperation,
// userOperationType: 'leftClick',
// cmdType: CMD.Station.CMD_STATION_POWER_ON_UNLOCK,
// param:{stationCode: this.$store.state.map.showCentralizedStationCode}
// };
// this.sendCommand(operate);
// },
// powerOnUnlock() {
// const operate = {
// over:true,
// operation:this.Station.powerUnLock.button.operation,
// cmdType:CMD.Station.CMD_STATION_POWER_ON_UNLOCK,
// code:this.$store.state.map.showCentralizedStationCode,
// param:{stationCode: this.$store.state.map.showCentralizedStationCode}
// };
// this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
// if (valid) {
// this.clearOperate();
// } else {
// this.$refs.noticeInfo.doShow();
// }
// }).catch((error) => {
// console.error(error);
// this.$refs.noticeInfo.doShow();
// });
// },
//
handelDefectiveShunting(model) {
// CMD.Section.CMD_SECTION_DEFECTIVE_SHUNTING;
@ -440,13 +457,17 @@ export default {
userOperationType: 'leftClick'
};
//
const operationList = [this.Signal.humanTrainRoute.button.operation, this.Section.fault.button.operation, this.Section.defectiveShunting.button.operation,
const operationList = [this.Signal.humanTrainRoute.button.operation,
this.Section.fault.button.operation,
this.Section.defectiveShunting.button.operation,
this.Station.powerUnLock.button.operation,
this.Signal.signalTurnOff.menuButton.operation];
const operationMap = {
[this.Signal.humanTrainRoute.button.operation]:'总人解',
[this.Section.fault.button.operation]:'区故解',
[this.Section.defectiveShunting.button.operation]:'分路不良',
[this.Signal.signalTurnOff.menuButton.operation]:'灭灯'
[this.Signal.signalTurnOff.menuButton.operation]:'灭灯',
[this.Station.powerUnLock.button.operation]:'上电解锁'
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
@ -457,6 +478,10 @@ export default {
//
if (operationList.includes(operation)) {
operate['operateNext'] = this.Command.close.password.operation;
if (operation == this.Station.powerUnLock.button.operation) {
operate.nextCmdType = CMD.Station.CMD_STATION_POWER_ON_UNLOCK;
operate.param = {stationCode: this.$store.state.map.showCentralizedStationCode};
}
this.$refs.password.doShow(operate, operationMap[operation]);
}
this.timeNode = this.$store.state.socket.simulationTimeSync;

View File

@ -34,6 +34,7 @@
<PowerSupplyArmSetting ref="powerSupplyArmSetting" />
<BlockDevice ref="blockDevice" />
<RegionBatchOperation ref="regionBatchOperation" />
<StationTrainManage ref="stationTrainManage" />
</div>
</template>
@ -55,6 +56,7 @@ import RailViewSetting from './dialog/railViewSetting.vue'
import PowerSupplyArmSetting from './dialog/powerSupplyArmSetting.vue'
import BlockDevice from './dialog/blockDevice'
import RegionBatchOperation from './dialog/regionBatchOperation'
import StationTrainManage from './dialog/stationTrainManage'
export default {
name: 'MenuPanel',
@ -66,6 +68,7 @@ export default {
PowerSupplyArmSetting,
BlockDevice,
RegionBatchOperation,
StationTrainManage
},
data() {
return {
@ -134,7 +137,6 @@ export default {
{
label: '区域批量设备操作',
id: 'regionBatchOperation',
children: [{}],
ctc: true,
children: [
{ label: '标准站', id: 'Station58852' },
@ -145,7 +147,6 @@ export default {
{
label: '站存车管理',
id: 'stationTrainManage',
children: [{}],
ctc: true,
children: [
{ label: '标准站', id: 'Station58852' },
@ -156,7 +157,6 @@ export default {
{
label: '设备影响分析',
id: 'deviceAffectAnalyze',
children: [{}],
ctc: true,
children: [
{ label: '标准站', id: 'Station58852' },
@ -255,6 +255,11 @@ export default {
case 'regionBatchOperation':
if (!params[1]) return
this.$refs.regionBatchOperation.doShow(params[1])
break
case 'stationTrainManage':
if (!params[1]) return
this.$refs.stationTrainManage.doShow(params[1])
break
}
},
dragEvent() {

View File

@ -115,7 +115,7 @@ export default {
},
methods:{
doShow({row, stationCode}) {
this.model = row;
this.model = Object.assign({}, row);
this.stationCode = stationCode;
this.dialogShow = true;
this.$nextTick(function () {