# Conflicts:
#	src/scripts/cmdPlugin/OperationHandler.js
This commit is contained in:
joylink_cuiweidong 2022-06-16 10:20:33 +08:00
commit 52e4b911b4
8 changed files with 166 additions and 96 deletions

View File

@ -519,15 +519,45 @@ export const menuOperate = {
}
},
CTC: {
// 接预
// 完成接预
receivingNotice: {
operation: OperationEvent.CTCCommand.receivingNotice.menu.operation,
cmdType: CMD.CTC.CTC_RECEIVING_NOTICE
cmdType: CMD.CTC.CTC_FINISH_RECEIVING_NOTICE
},
// 发预
// 取消接预
cancelReceivingNotice: {
operation: OperationEvent.CTCCommand.cancelReceivingNotice.menu.operation,
cmdType: CMD.CTC.CTC_CANCEL_RECEIVING_NOTICE
},
// 完成到点
finishArrive: {
operation: OperationEvent.CTCCommand.finishArrive.menu.operation,
cmdType: CMD.CTC.CTC_FINISH_ARRIVE
},
// 取消到点
cancelArrive: {
operation: OperationEvent.CTCCommand.cancelArrive.menu.operation,
cmdType: CMD.CTC.CTC_CANCEL_ARRIVE
},
// 完成发预
departureNotice: {
operation: OperationEvent.CTCCommand.departureNotice.menu.operation,
cmdType: CMD.CTC.CTC_DEPARTURE_NOTICE
cmdType: CMD.CTC.CTC_FINISH_DEPARTURE_NOTICE
},
// 取消发预
cancelDepartureNotice: {
operation: OperationEvent.CTCCommand.cancelDepartureNotice.menu.operation,
cmdType: CMD.CTC.CTC_CANCEL_DEPARTURE_NOTICE
},
// 完成发点
finishDeparture: {
operation: OperationEvent.CTCCommand.finishDeparture.menu.operation,
cmdType: CMD.CTC.CTC_FINISH_DEPARTURE
},
// 取消发点
cancelDeparture: {
operation: OperationEvent.CTCCommand.cancelDeparture.menu.operation,
cmdType: CMD.CTC.CTC_CANCEL_DEPARTURE
},
// 自动触发
autoTrigger: {

View File

@ -13,20 +13,24 @@
<div>
<el-form :model="form" class="demo-form-inline">
<el-form-item label="作业任务:">
<el-input v-model="form.work" type="textarea" :rows="2" :disabled="true"/>
<el-input v-model="form.work" type="textarea" :rows="2" :disabled="true" />
</el-form-item>
<el-form-item label="操作时间:">
<el-input v-model="form.time" type="textarea" :rows="1" :disabled="true"/>
<el-input v-model="form.time" type="textarea" :rows="1" :disabled="true" />
</el-form-item>
<el-form-item label="操作信息:">
<el-input v-model="form.info" type="textarea" :rows="2" :disabled="true" />
</el-form-item>
<el-form-item label="操作信息:">
<el-input v-model="form.info" type="textarea" :rows="2" :disabled="true"/>
</el-form-item>
</el-form>
<div style="text-align: center;"><el-button v-if="type === 'rec'" style="width: 200px;" @click="commit(menuOperate.CTC.receivingNotice)">完成接预</el-button></div>
<div style="text-align: center;margin-top: 10px;"><el-button v-if="type === 'dep'" style="width: 200px;" @click="commit(menuOperate.CTC.departureNotice)">完成发预</el-button></div>
<div style="text-align: center;margin-top: 10px;"><el-button v-if="type === 'rec'" style="width: 200px;" disabled>取消接预</el-button></div>
<div style="text-align: center;margin-top: 10px;"><el-button v-if="type === 'dep'" style="width: 200px;" disabled>取消接预</el-button></div>
<el-button @click="doClose" style="height: 50px;width: 50px;position: relative;left: 370px;">关闭</el-button>
<div style="text-align: center;"><el-button v-if="type === 'rec'" style="width: 200px;" @click="commit(menuOperate.CTC.receivingNotice)">完成接预</el-button></div>
<div style="text-align: center;margin-top: 10px;"><el-button v-if="type === 'dep'" style="width: 200px;" @click="commit(menuOperate.CTC.departureNotice)">完成发预</el-button></div>
<div style="text-align: center;margin-top: 10px;"><el-button v-if="type === 'rec'" style="width: 200px;" @click="commit(menuOperate.CTC.cancelReceivingNotice)">取消接预</el-button></div>
<div style="text-align: center;margin-top: 10px;"><el-button v-if="type === 'dep'" style="width: 200px;" @click="commit(menuOperate.CTC.cancelDepartureNotice)">取消发预</el-button></div>
<div style="text-align: center;margin-top: 10px;"><el-button v-if="type === 'arrive'" style="width: 200px;" @click="commit(menuOperate.CTC.finishArrive)">完成到点</el-button></div>
<div style="text-align: center;margin-top: 10px;"><el-button v-if="type === 'arrive'" style="width: 200px;" @click="commit(menuOperate.CTC.cancelArrive)">取消到点</el-button></div>
<div style="text-align: center;margin-top: 10px;"><el-button v-if="type === 'departure'" style="width: 200px;" @click="commit(menuOperate.CTC.finishDeparture)">完成发点</el-button></div>
<div style="text-align: center;margin-top: 10px;"><el-button v-if="type === 'departure'" style="width: 200px;" @click="commit(menuOperate.CTC.cancelDeparture)">取消发点</el-button></div>
<el-button style="height: 50px;width: 50px;position: relative;left: 370px;" @click="doClose">关闭</el-button>
</div>
</el-dialog>
</template>
@ -34,8 +38,6 @@
<script>
import { mapGetters } from 'vuex';
import CancelMouseState from '@/mixin/CancelMouseState';
import { getUploadFile } from '@/api/pdf';
import { DrawingType } from '@/scripts/ConstDic';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
export default {
@ -48,10 +50,10 @@ export default {
selected: null,
selectedType: '',
dialogShow: false,
menuOperate: menuOperate,
type: '',
stationCode: '',
tripNumber: '',
menuOperate: menuOperate,
type: '',
stationCode: '',
tripNumber: '',
loading: false,
tableData: [],
deviceTypeList: [
@ -62,9 +64,9 @@ export default {
],
deviceIdList: [],
form: {
work: '',
time: '',
info: ''
work: '',
time: '',
info: ''
}
};
},
@ -74,22 +76,11 @@ export default {
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
if (this.selectedType === 'normStudy') {
return '规范学习';
} else if (this.selectedType === 'clCaAn') {
return '经典案例分析';
} else if (this.selectedType === 'baDeTr') {
return '基础设备培训';
} else {
return '图纸检索';
}
}
},
methods: {
doShow(row, type, stationCode) {
this.type = type;
this.type = type;
this.loading = true;
this.stationCode = stationCode;
this.tripNumber = row.tripNumber;
@ -103,22 +94,21 @@ export default {
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit(type) {
this.loading = true;
//menuOperate.CTC.receivingNotice
commitOperate(type, {stationCode: this.stationCode, tripNumber: this.tripNumber}, 3).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
console.error(error);
this.$refs.noticeInfo.doShow();
});
}
commit(type) {
this.loading = true;
commitOperate(type, {stationCode: this.stationCode, tripNumber: this.tripNumber}, 3).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
console.error(error);
// this.$refs.noticeInfo.doShow();
this.$message.error('操作失败!');
});
}
}
};
</script>

View File

@ -379,8 +379,14 @@ export default {
CMD_DIRECTION_CHANGE: {value: 'Direction_Change', label: '切换方向'}
},
CTC: {
CTC_RECEIVING_NOTICE: {value: 'CTC_RECEIVING_NOTICE', label: '接预'},
CTC_DEPARTURE_NOTICE: {value: 'CTC_DEPARTURE_NOTICE', label: '发预'},
CTC_FINISH_RECEIVING_NOTICE: {value: 'CTC_FINISH_RECEIVING_NOTICE', label: '完成接预'},
CTC_CANCEL_RECEIVING_NOTICE: {value: 'CTC_CANCEL_RECEIVING_NOTICE', label: '取消接预'},
CTC_FINISH_ARRIVE: {value: 'CTC_FINISH_ARRIVE', label: '完成到点'},
CTC_CANCEL_ARRIVE: {value: 'CTC_CANCEL_ARRIVE', label: '取消到点'},
CTC_FINISH_DEPARTURE_NOTICE: {value: 'CTC_FINISH_DEPARTURE_NOTICE', label: '完成发预'},
CTC_CANCEL_DEPARTURE_NOTICE: {value: 'CTC_CANCEL_DEPARTURE_NOTICE', label: '取消发预'},
CTC_FINISH_DEPARTURE: {value: 'CTC_FINISH_DEPARTURE', label: '完成发点'},
CTC_CANCEL_DEPARTURE: {value: 'CTC_CANCEL_DEPARTURE', label: '取消发点'},
CTC_ASSIST_PRESS_DOWN_TURN_DIRECTION:{value:'ASSIST_PRESS_DOWN_TURN_DIRECTION', label:'改方'},
CTC_AUTO_TRIGGER: {value: 'CTC_AUTO_TRIGGER', label: '自动触发'},
CTC_ASSIST_PRESS_MAIN_ASSIST:{value: 'ASSIST_PRESS_MAIN_ASSIST', label: '总辅助'},

View File

@ -3607,15 +3607,15 @@ export const OperationEvent = {
}
},
CTCCommand: {
receivingNotice: {
menu: {
operation: '1100',
receivingNotice: {
menu: {
operation: '1100',
domId: '_Tips-CTC-ReceivingNotice-Menu{TOP}'
}
},
departureNotice: {
menu: {
operation: '1101',
menu: {
operation: '1101',
domId: '_Tips-CTC-DepartureNotice-Menu{TOP}'
}
},
@ -3626,65 +3626,65 @@ export const OperationEvent = {
}
},
autoTrigger: {
menu: {
operation: '1103',
menu: {
operation: '1103',
domId: '_Tips-CTC-AutoTrigger-Menu{TOP}'
}
},
assistPressMainAssist:{
menu: {
operation: '1104',
operation: '1104',
domId: '_Tips-CTC-AssistPressMainAssist-Menu{TOP}'
}
},
assistPressReceiveAssist:{
menu: {
operation: '1105',
operation: '1105',
domId: '_Tips-CTC-AssistPressReceiveAssist-Menu{TOP}'
}
},
assistPressDeliverAssist:{
menu: {
operation: '1106',
operation: '1106',
domId: '_Tips-CTC-AssistPressDeliverAssist-Menu{TOP}'
}
},
assistPressBlock:{
menu: {
operation: '1107',
operation: '1107',
domId: '_Tips-CTC-AssistPressBlock-Menu{TOP}'
}
},
assistPressRestore:{
menu: {
operation: '1108',
operation: '1108',
domId: '_Tips-CTC-AssistPressRestore-Menu{TOP}'
}
},
assistPressAccident:{
menu: {
operation: '1109',
operation: '1109',
domId: '_Tips-CTC-AssistPressAccident-Menu{TOP}'
}
},
// 批量修改股道
batchModifyTrackSection:{
menu: {
operation: '1111',
operation: '1111',
domId: '_Tips-CTC-batchModifyTrackSection-Menu{TOP}'
}
},
// 移除行车日志
deleteRunplan:{
menu: {
operation: '1112',
operation: '1112',
domId: '_Tips-CTC-deleteRunplan-Menu{TOP}'
}
},
// 修改行车计划的邻站信息
modifyAdjacentStation:{
menu: {
operation: '1113',
operation: '1113',
domId: '_Tips-CTC-modifyAdjacentStation-Menu{TOP}'
}
},
@ -3709,31 +3709,73 @@ export const OperationEvent = {
domId: '_Tips-CTC-agreeNotcie-Menu{TOP}'
}
},
// 取消接预
cancelReceivingNotice: {
menu: {
operation: '1117',
domId: '_Tips-CTC-CancelReceivingNotice-Menu{TOP}'
}
},
// 取消发预
cancelDepartureNotice: {
menu: {
operation: '1118',
domId: '_Tips-CTC-CancelDepartureNotice-Menu{TOP}'
}
},
// 完成到点 FINISH_ARRIVE
finishArrive: {
menu: {
operation: '1119',
domId: '_Tips-CTC-FinishArrive-Menu{TOP}'
}
},
// 取消到点
cancelArrive: {
menu: {
operation: '1120',
domId: '_Tips-CTC-CancelArrive-Menu{TOP}'
}
},
// 完成发点 CTC_FINISH_DEPARTURE
finishDeparture: {
menu: {
operation: '1121',
domId: '_Tips-CTC_FinishDeparture-Menu{TOP}'
}
},
// 取消发点
cancelDeparture: {
menu: {
operation: '1122',
domId: '_Tips-CTC_CancelDeparture-Menu{TOP}'
}
},
// 增加列车固定径路
addTrainFixedPath:{
menu: {
operation: '1117',
operation: '1123',
domId: '_Tips-CTC-addTrainFixedPath-Menu{TOP}'
}
},
// 导入列车固定径路
importTrainFixedPath:{
menu: {
operation: '1118',
operation: '1124',
domId: '_Tips-CTC-importTrainFixedPath-Menu{TOP}'
}
},
// 删除列车固定径路
deleteTrainFixedPath:{
menu: {
operation: '1119',
operation: '1125',
domId: '_Tips-CTC-deleteTrainFixedPath-Menu{TOP}'
}
},
// 运行计划发布至CTC
releaseTrainFixedPath:{
menu: {
operation: '1120',
operation: '1126 ',
domId: '_Tips-CTC-releaseTrainFixedPath-Menu{TOP}'
}
}

View File

@ -77,6 +77,7 @@
// import { mapGetters } from 'vuex';
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: 'TrainSetPlan',
components: {
@ -108,7 +109,7 @@ export default {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Train.editTrainId.menu.domId : '';
return this.dialogShow ? OperationEvent.CTCCommand.addTrainFixedPath.menu.domId : '';
},
title() {
return '列车固定径路';
@ -141,24 +142,19 @@ export default {
},
commit() {
this.loading = true;
// commitOperate(menuOperate.CTC.modifyTripNumber, this.model, 2).then(({valid})=>{
// this.loading = false;
// this.$emit('clearRpRow');
// if (valid) {
// this.doClose();
// }
// }).catch(() => {
// this.loading = false;
// this.$emit('clearRpRow');
// this.doClose();
// this.$emit('noticeInfo');
// });
commitOperate(menuOperate.CTC.addTrainFixedPath, this.model, 3).then(({valid})=>{
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$emit('noticeInfo');
});
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$emit('clearRpRow');
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();

View File

@ -25,10 +25,12 @@
<component
:is="item.component"
:ref="item.name"
@noticeInfo="noticeInfo"
/>
</el-tab-pane>
</el-tabs>
</div>
<notice-info ref="noticeInfo" pop-class="datie-02__systerm" />
</div>
</template>
<script>
@ -37,8 +39,12 @@ import StationTrack from './stationTrack';
import TrainFixedPath from './trainFixedPath';
import { loadMapDataById } from '@/utils/loaddata';
import { creatSubscribe, clearSubscribe, getTopic } from '@/utils/stomp';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
export default {
name:'BigTrainRunplanManage',
components: {
NoticeInfo
},
data() {
return {
activeTab:'StationTrack',
@ -116,6 +122,9 @@ export default {
},
clearSubscribe() {
clearSubscribe(getTopic('CTC_MANAGE', this.groupModel));
},
noticeInfo() {
this.$refs.noticeInfo.doShow();
}
// ''
//

View File

@ -228,7 +228,7 @@
</el-table>
</div>
</div>
<add-runplan ref="addRunplan" />
<add-runplan ref="addRunplan" @noticeInfo="noticeInfo" />
</div>
</template>
<script>
@ -264,6 +264,9 @@ export default {
addRunplan() {
this.$refs.addRunplan.doShow();
},
noticeInfo() {
this.$emit('noticeInfo');
},
handleData() {
this.tableData = [];
const railCtcStationManageRpMsg = copyAssign({}, this.$store.state.socket.railCtcStationManageRpMsg);

View File

@ -48,7 +48,7 @@
>
{{ '接路' + (item.receivingRouteLock ? '':getRouteName(item.receivingRouteCode)) }}
</div>
<div :style="{ background: item.arrive ? '#29CA42': '#ccc' }" class="button-box-fir" style="margin-left: 10px;cursor: default;">到点</div>
<div :style="{ background: item.arrive ? '#29CA42': '#ccc' }" class="button-box-fir" style="margin-left: 10px;cursor: default;" @click="doShowRecDep(item, 'arrive')">到点</div>
</div>
<div v-show="!item.noData">
<div>{{ item.arriveTime }}</div>
@ -69,7 +69,7 @@
>
{{ '发路' + (item.departureRouteLock ? '':getRouteName(item.departureRouteCode)) }}
</div>
<div :style="{ background: item.departure ? '#29CA42': '#ccc' }" class="button-box-fir" style="margin-left: 10px;cursor: default;">发点</div>
<div :style="{ background: item.departure ? '#29CA42': '#ccc' }" class="button-box-fir" style="margin-left: 10px;cursor: default;" @click="doShowRecDep(item, 'departure')">发点</div>
</div>
<div v-show="!item.noData">{{ item.tripNumber }}</div>
<div style="width: 120px" :style="{fontWeight: item.occupied? 'bold': 'normal', color:item.occupied? '#f00': '#1e2024' }">{{ item.trackName }}</div>
@ -303,9 +303,7 @@ export default {
});
this.readOnlyMap[item.stationCode] = item.readOnly;
}
console.log(item.trackView, '******************');
if (item && item.trackView && item.trackView.trackLineMap) {
console.log(item.trackView.trackLineMap, '******************');
for (const key in item.trackView.trackLineMap) {
this.standTrackSectionMap[key].lines = item.trackView.trackLineMap[key];
}
@ -338,11 +336,9 @@ export default {
}
}
}
console.log(this.trackList, 'trackList', this.standTrackSectionMap);
}
},
'$store.state.map.mapDataLoadedCount': function (val) { //
console.log(this.sectionList, 'sectionList');
this.sectionList.forEach(item => {
if (item.standTrack) {
this.standTrackSectionMap[item.code] = { trackName: item.name, occupied: false, belongStation:item.belongStation, lines: [] };
@ -438,7 +434,6 @@ export default {
},
setTrigger() {
const param = { ...this.triggerParam, trigger: true };
commitOperate(menuOperate.CTC.autoTrigger, param, 3).then(({valid, operate})=>{
this.loading = false;
this.triggerParam = {};
@ -456,7 +451,6 @@ export default {
},
cancelTrigger() {
const param = { ...this.triggerParam, trigger: false };
console.log(menuOperate.CTC.autoTrigger, 'trigger');
commitOperate(menuOperate.CTC.autoTrigger, param, 3).then(({valid, operate})=>{
this.triggerParam = {};
if (valid) {