This commit is contained in:
joylink_cuiweidong 2020-04-02 16:16:56 +08:00
commit e273b1be18
32 changed files with 1091 additions and 475 deletions

1
.gitignore vendored
View File

@ -6,7 +6,6 @@ yarn-debug.log*
yarn-error.log*
package-lock.json
tests/**/coverage/
src/utils/baseUrl.js
# Editor directories and files
.idea

View File

@ -276,6 +276,7 @@ class SkinCode extends defaultStyle {
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
position: -1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
offset: { x: -8, y: 13 }, // 扣车偏移量
centerTrainColor: '#FFFFFF', // 中心扣车颜色
@ -285,7 +286,8 @@ class SkinCode extends defaultStyle {
fontWeight: 'normal'
},
stopTime: { // 停站时间
offset: { x: -40, y: 10 }, // 运行时间偏移量
position: 1, // 停站时间方向
offset: { x: -8, y: 25 }, // 运行时间偏移量
textColor: '#FFFFFF', // 停站时间字体颜色
textFontSize: 8
},

View File

@ -225,6 +225,7 @@ class SkinCode extends defaultStyle {
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
position: -1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
offset: {x: -8, y: 13}, // 扣车偏移量
centerTrainColor: 'white', // 中心扣车颜色
@ -234,11 +235,13 @@ class SkinCode extends defaultStyle {
fontWeight: 'normal'
},
stopTime: { // 停站时间
position: 1, // 停站时间方向
offset: {x: -8, y: -4}, // 运行时间偏移量
textColor: 'white', // 停站时间字体颜色
textFontSize: 12
},
jump: {
position: 1, // 停跳方向
text: '跳', // 停跳显示内容
offset: {x: -8, y: 10},
textColor: '#00ffcc', // 停跳文字颜色

View File

@ -231,8 +231,9 @@ class SkinCode extends defaultStyle {
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
position: -1, // 扣车标识在站台上显示方向
text: '扣', // 扣车显示内容
offset: {x: -8, y: 13}, // 扣车偏移量
offset: {x: -8, y: 20}, // 扣车偏移量
centerTrainColor: '#C0C0C0', // 中心扣车颜色
andCenterTrainColor: '#C0C0C0', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
@ -240,11 +241,13 @@ class SkinCode extends defaultStyle {
fontWeight: 'normal'
},
stopTime: { // 停站时间
offset: {x: -50, y: 10}, // 运行时间偏移量
position: -1, // 停站时间方向
offset: {x: -8, y: 10}, // 运行时间偏移量
textColor: '#FFFFFF', // 停站时间字体颜色
textFontSize: 10
},
jump: {
position: 1, // 停跳方向
text: '跳', // 停跳显示内容
offset: {x: -8, y: 10},
textColor: '#00ffcc', // 停跳文字颜色

View File

@ -220,6 +220,7 @@ class SkinCode extends defaultStyle {
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
position: 1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
offset: {x: -8, y: 13}, // 扣车偏移量
centerTrainColor: '#FFFFFF', // 中心扣车颜色
@ -229,11 +230,13 @@ class SkinCode extends defaultStyle {
fontWeight: 'normal'
},
stopTime: { // 停站时间
offset: {x: 37, y: 5}, // 停站时间偏移量
position: 1, // 停站时间方向
offset: {x: -8, y: 5}, // 停站时间偏移量
textColor: '#C0C0C0', // 停站时间字体颜色
textFontSize: 11
},
jump: {
position: 1, // 停跳方向
text: 'S', // 停跳显示内容
offset: {x: -8, y: -5},
textColor: '#5376B3', // 停跳文字颜色

View File

@ -211,7 +211,8 @@ class SkinCode extends defaultStyle {
},
standEmergent: { // 紧急关闭
mergentR: 4, // 站台紧急关闭半径
offset: {x: 0, y: 40}, // 站台紧急关闭偏移量
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
closeColor: '#F61107' // 站台紧急关闭颜色
},
reentry: { // 站台折返策略
@ -222,7 +223,7 @@ class SkinCode extends defaultStyle {
},
detainCar: { // 扣车
text: 'H', // 扣车显示内容
position: -1, // 扣车方向
position: 1, // 扣车方向
offset: {x: -8, y: -6}, // 扣车偏移量
trainColor: '#E4EF50', // 车站扣车颜色
centerTrainColor: '#FFFFFF', // 中心扣车颜色
@ -239,6 +240,8 @@ class SkinCode extends defaultStyle {
offset: {x: -8, y: 6}, // 运行等级偏移量
textColor: '#FFFFFF' // 停站等级字体颜色
},
trainStop: {}, // 停车标志
trainDepart: {}, // 停车计时
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
@ -394,8 +397,12 @@ class SkinCode extends defaultStyle {
core: {
length: 6 // 道岔单边长度
},
block: { // 道岔封锁配置
blockName: 'default' // 默认道岔封锁类型
jointImg: { // 道岔 A B C D四元素属性配置
trapezoidLength: 8, // 直角梯形元素默认长度
block: false, // 联合图形封锁状态
flashingColors: '#D600D5', // 联合图形封锁闪烁显示颜色
fork: false, // 挤岔专用(如有挤岔操作 变为true
forKColor: 'red' // 挤岔颜色 配合挤岔专用
},
arcBlcok: { // 圆形封锁图形
show: false, // 显示

View File

@ -227,6 +227,7 @@ class SkinCode extends defaultStyle {
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
position: 1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
fontSize: 18, // 扣车字体大小
offset: { x: 60, y: -20 }, // 扣车偏移量

View File

@ -329,8 +329,9 @@ class SkinCode extends defaultStyle {
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
text: 'H', // 扣车显示内容
offset: { x: -8, y: 0 }, // 扣车偏移量
position: 1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
offset: { x: -8, y: 10 }, // 扣车偏移量
centerTrainColor: 'white', // 中心扣车颜色
andCenterTrainColor: 'red', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
@ -338,7 +339,7 @@ class SkinCode extends defaultStyle {
fontWeight: 'normal'
},
stopTime: { // 停站时间
offset: { x: -40, y: -5 }, // 运行时间偏移量
offset: { x: -8, y: 4 }, // 运行时间偏移量
textColor: 'white', // 停站时间字体颜色
textFontSize: 10 // 停站时间字体大小
},

View File

@ -133,8 +133,8 @@ class StationStand extends Group {
/** 站台扣车*/
const detainD = model.right ? 1 : -1;
const detainX = model.position.x - (detainD) * (style.StationStand.detainCar.offset.x - model.width / 2);
const detainY = model.position.y + (detainD) * (style.StationStand.detainCar.offset.y - model.height / 2);
const detainX = model.position.x - style.StationStand.detainCar.position * detainD * (style.StationStand.detainCar.offset.x - model.width / 2);
const detainY = model.position.y + detainD * (style.StationStand.detainCar.offset.y - model.height / 2);
this.detain = new EDetain({
zlevel: this.zlevel,
z: this.z,
@ -150,8 +150,8 @@ class StationStand extends Group {
/** 停站时间*/
if (style.StationStand.stopTime.offset) {
const timeDrict = model.right ? 1 : -1;
const timeX = model.position.x + timeDrict * style.StationStand.stopTime.offset.x;
const timeY = model.position.y + timeDrict * style.StationStand.stopTime.offset.y;
const timeX = model.position.x + style.StationStand.stopTime.position * timeDrict * (style.StationStand.stopTime.offset.x - model.width / 2);
const timeY = model.position.y + timeDrict * (style.StationStand.stopTime.offset.y - model.height / 2);
this.time = new ETime({
zlevel: this.zlevel,
z: this.z + 1,
@ -180,9 +180,9 @@ class StationStand extends Group {
/** 列车停跳 */
if (style.StationStand.common.haveJumpShow) {
const jumpDirct = model.right ? -1 : 1;
const jumpX = model.position.x - jumpDirct * (style.StationStand.jump.offset.x - model.width / 2);
const jumpX = model.position.x - jumpDirct * style.StationStand.jump.position * (style.StationStand.jump.offset.x - model.width / 2);
const jumpY = model.position.y + jumpDirct * style.StationStand.jump.offset.y;
const jumpCX = model.position.x - jumpDirct * (style.StationStand.jump.offset.x - model.width / 2);
const jumpCX = model.position.x - jumpDirct * style.StationStand.jump.position * (style.StationStand.jump.offset.x - model.width / 2);
const jumpCY = model.position.y + jumpDirct * style.StationStand.jump.offset.y;
this.jump = new EJump({
zlevel: this.zlevel,

View File

@ -26,9 +26,8 @@
:data="tempData"
border
:cell-style="tableStyle"
style="width: 100%;background: #E0E0E0;border: none;outline: none;"
style="width: 100%;background: #E0E0E0;border: none;outline: none; height: 56px"
size="mini"
height="56"
class="haerbin_table"
highlight-current-row
:show-header="false"
@ -107,7 +106,7 @@ export default {
{ name: '重复开放', cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL, operate: OperationEvent.Signal.reopenSignal.menu, show: false },
{ name: '封锁信号', cmdType: CMD.Signal.CMD_SIGNAL_BLOCK, operate: OperationEvent.Signal.lock.menu, show: false },
{ name: '解封信号', cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK, operate: OperationEvent.Signal.unlock.menu, show: false },
{ name: '关单信号', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL, operate: OperationEvent.Signal.cancelAutoTrigger.menu, show: false }
{ name: '关单信号', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL, operate: OperationEvent.Signal.signalClose.menu, show: false }
],
routeParamList: [
{ name: 'ATP进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },

View File

@ -42,34 +42,7 @@ export default {
return {
menu: [],
menuNormal: {
Local: [
// {
// label: '',
// handler: this.fault,
// cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
// },
{
label: '区段封锁',
handler: this.lock,
cmdType: CMD.Section.CMD_SECTION_BLOCK
},
{
label: '区段解封',
handler: this.unlock,
cmdType: CMD.Section.CMD_SECTION_UNBLOCK
},
{
label: '区段设置限速',
handler: this.setSpeed,
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
},
{
label: '区段取消限速',
handler: this.cancelSpeed,
cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED
}
],
Local: [],
Center: [
// {
// label: '',

View File

@ -107,7 +107,6 @@ export default {
loading: false,
type: 'text',
timeout: 1000,
timenum: 30,
stepNum: 0,
task: null,
model: {
@ -189,18 +188,6 @@ export default {
}
},
watch: {
'model.stationCode': function(code) {
this.randomSectionList = [];
this.sectionList.forEach(section => {
if (section.stationCode == this.model.stationCode) {
let name = section.name;
if (section.type == '02') {
name = section.name;
}
this.randomSectionList.push({ name: `${name}(${section.code})`, code: section.code });
}
});
}
},
mounted() {
this.$nextTick(() => {
@ -231,30 +218,24 @@ export default {
this.model.sectionName = '';
this.model.confirmStationCode = '';
this.model.confirmSectionCode = '';
this.model.sectionCode = '';
this.model.stationCode = '';
if (selected) {
this.model.sectionCode = selected.code;
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
if (selected.isSwitchSection) {
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
if (section) {
this.model.sectionName = section.name;
}
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
if (section) {
this.model.sectionName = `${section.name}-${selected.name}(${selected.code})`;
} else {
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
if (section) {
this.model.sectionName = section.name;
this.model.sectionName = `${section.name}-${selected.name}`;
} else {
this.model.sectionName = `${selected.name}`;
}
this.model.sectionName = `${selected.name}(${selected.code})`;
}
} else if (selected._type.toUpperCase() === 'Switch'.toUpperCase()) {
const section = this.$store.getters['map/getDeviceByCode'](selected.switchSectionCode);
const section = this.$store.getters['map/getDeviceByCode'](selected.sectionParentCode);
if (section) {
this.model.sectionName = section.name;
this.model.sectionName = `${section.name}(${section.code})`;
this.model.sectionCode = section.code;
}
}
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.model.stationName = station.name;
@ -275,6 +256,19 @@ export default {
this.$store.dispatch('training/emitTipFresh');
this.mouseCancelState(this.selected);
},
getSectionList(code) {
this.randomSectionList = [];
this.sectionList.forEach(section => {
if (section.stationCode == code) {
let name = `${section.name}(${section.code})`;
if (section.type == '02') {
const sectionParent = this.$store.getters['map/getDeviceByCode'](section.parentCode);
name = `${sectionParent.name}-${section.name}(${section.code})`;
}
this.randomSectionList.push({ name: `${name}`, code: section.code });
}
});
},
waitSelectEvent() {
if (!this.$store.state.menuOperation.break) {
this.model.time -= 1;
@ -299,22 +293,17 @@ export default {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.type = 'password';
this.model.time = this.timenum;
this.model.time = 60;
this.task = setInterval(this.waitSelectEvent, this.timeout);
}
});
},
stationSelectChange(code) {
if (this.model.confirmStationCode === this.model.sectionCode) {
this.stepNum = 2;
} else {
this.model.time = 0;
}
console.log(code, 'code');
const operate = {
operation: '',
val: code
};
this.getSectionList(code);
if (this.operation == OperationEvent.Section.alxeEffective.menu.operation) {
operate.operation = OperationEvent.Section.alxeEffective.choose1.operation;
@ -327,12 +316,6 @@ export default {
});
},
sectionSelectChange(code) {
if (this.model.confirmSectionCode === this.model.sectionCode) {
this.stepNum = 2;
} else {
this.model.time = 0;
}
console.log(code, 'code');
const operate = {
operation: '',
val: code
@ -345,9 +328,7 @@ export default {
}
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', {
break: true
});
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
});
},
/** 确认计轴恢复工作*/
@ -375,13 +356,14 @@ export default {
if (valid) {
this.type = 'text';
this.stopTask();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.popupAlarm.doShow(
Object.assign(this.operate, {val: operate.val}), [`集中站 ${this.model.stationName} 区段 ${this.model.sectionName}报告恢复计轴有效`]
);
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// this.$refs.popupAlarm.doShow(
// Object.assign(this.operate, {val: operate.val}), [` ${this.model.stationName} ${this.model.sectionName}`]
// );
}
}).catch((error) => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate, error.message);
});
} else {

View File

@ -1,148 +1,156 @@
<template>
<el-dialog class="ningbo-01__systerm confirm-control-speed" :title="title" :visible.sync="show" width="540px"
:before-close="doClose" :zIndex="2000" :modal="false" :close-on-click-modal="false" append-to-body v-dialogDrag>
<div style="height: 60px; padding-left: 20px">
<span style="font-size: 18px">{{message}}</span>
</div>
<el-row justify="center" class="button-group">
<el-col :span="6" :offset="6">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="10" :offset="2">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
</el-dialog>
<el-dialog
v-dialogDrag
class="ningbo-01__systerm confirm-control-speed"
:title="title"
:visible.sync="show"
width="540px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
append-to-body
>
<div style="height: 60px; padding-left: 20px">
<span style="font-size: 18px">{{ message }}</span>
</div>
<el-row justify="center" class="button-group">
<el-col :span="6" :offset="6">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="10" :offset="2">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
</el-dialog>
</template>
<script>
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
export default {
name: 'ConfirmControlSpeed',
data() {
return {
dialogShow: false,
loading: false,
type: '',
operation: '',
message: '',
export default {
name: 'ConfirmControlSpeed',
data() {
return {
dialogShow: false,
loading: false,
type: '',
operation: '',
message: ''
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
if (this.operation === OperationEvent.Section.setSpeed.order.operation) {
return '区段设置限速';
} else if (this.operation === OperationEvent.Section.cancelSpeed.order.operation) {
return '区段取消限速';
} else if (this.operation === OperationEvent.Switch.setSpeed.order.operation) {
return '道岔设置限速';
} else if (this.operation === OperationEvent.Switch.cancelSpeed.order.operation) {
return '道岔取消限速';
}
return '';
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
if (this.dialogShow) {
if (this.operation === OperationEvent.Section.setSpeed.order.operation) {
return "区段设置限速";
} else if (this.operation === OperationEvent.Section.cancelSpeed.order.operation) {
return "区段取消限速";
} else if (this.operation === OperationEvent.Switch.setSpeed.order.operation) {
return "道岔设置限速";
} else if (this.operation === OperationEvent.Switch.cancelSpeed.order.operation) {
return "道岔取消限速";
}
}
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
if (this.dialogShow) {
if (this.operation === OperationEvent.Section.setSpeed.order.operation) {
/** 区段设置限速*/
return OperationEvent.Section.setSpeed.confirm.domId;
} else if (this.operation === OperationEvent.Section.cancelSpeed.order.operation) {
/** 区段取消限速*/
return OperationEvent.Section.cancelSpeed.confirm.domId;
} else if (this.operation === OperationEvent.Switch.setSpeed.order.operation) {
/** 道岔设置限速*/
return OperationEvent.Switch.setSpeed.confirm.domId;
} else if (this.operation === OperationEvent.Switch.cancelSpeed.order.operation) {
/** 道岔取消限速*/
return OperationEvent.Switch.cancelSpeed.confirm.domId;
}
}
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
if (this.operation === OperationEvent.Section.setSpeed.order.operation) {
/** 区段设置限速*/
return OperationEvent.Section.setSpeed.confirm.domId;
} else if (this.operation === OperationEvent.Section.cancelSpeed.order.operation) {
/** 区段取消限速*/
return OperationEvent.Section.cancelSpeed.confirm.domId;
} else if (this.operation === OperationEvent.Switch.setSpeed.order.operation) {
/** 道岔设置限速*/
return OperationEvent.Switch.setSpeed.confirm.domId;
} else if (this.operation === OperationEvent.Switch.cancelSpeed.order.operation) {
/** 道岔取消限速*/
return OperationEvent.Switch.cancelSpeed.confirm.domId;
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate) {
if (!this.dialogShow) {
this.type = operate.type;
this.operation = operate.operation;
this.message = operate.message;
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
})
},
methods: {
doShow(operate) {
if (!this.dialogShow) {
this.type = operate.type;
this.operation = operate.operation;
this.message = operate.message;
}
this.loading = false;
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.loading = false;
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
},
commit() {
let operate = {
type: this.type
}
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
const operate = {
operation: ''
};
if (this.operation === OperationEvent.Section.setSpeed.order.operation) {
/** 区段设置限速*/
operate.operation = OperationEvent.Section.setSpeed.confirm.operation;
} else if (this.operation === OperationEvent.Section.cancelSpeed.order.operation) {
/** 区段取消限速*/
operate.operation = OperationEvent.Section.cancelSpeed.confirm.operation;
} else if (this.operation === OperationEvent.Switch.setSpeed.order.operation) {
/** 道岔设置限速*/
operate.operation = OperationEvent.Switch.setSpeed.confirm.operation;
} else if (this.operation === OperationEvent.Switch.cancelSpeed.order.operation) {
/** 道岔取消限速*/
operate.operation = OperationEvent.Switch.cancelSpeed.confirm.operation;
}
this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => {
this.loading = false;
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) {
this.$emit('setOperate', { step: 1, success: true });
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.$emit('setOperate', { step: 0, success: false });
this.doClose();
})
},
cancel() {
let operate = {
type: this.type,
operation: OperationEvent.Command.cancel.menu.operation,
}
this.$store.dispatch('training/next', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) {
this.$emit('setOperate', { step: 0, success: false });
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.doClose();
}
}).catch(error => {
this.doClose();
});
if (this.operation === OperationEvent.Section.setSpeed.order.operation) {
/** 区段设置限速*/
operate.operation = OperationEvent.Section.setSpeed.confirm.operation;
} else if (this.operation === OperationEvent.Section.cancelSpeed.order.operation) {
/** 区段取消限速*/
operate.operation = OperationEvent.Section.cancelSpeed.confirm.operation;
} else if (this.operation === OperationEvent.Switch.setSpeed.order.operation) {
/** 道岔设置限速*/
operate.operation = OperationEvent.Switch.setSpeed.confirm.operation;
} else if (this.operation === OperationEvent.Switch.cancelSpeed.order.operation) {
/** 道岔取消限速*/
operate.operation = OperationEvent.Switch.cancelSpeed.confirm.operation;
}
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) {
this.$emit('setOperate', { step: 1, success: true });
this.doClose();
}
}).catch(() => {
this.loading = false;
this.$emit('setOperate', { step: 0, success: false });
this.doClose();
});
},
cancel() {
const operate = {
type: this.type,
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/next', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) {
this.$emit('setOperate', { step: 0, success: false });
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.doClose();
}
}).catch(error => {
this.doClose();
});
}
}
};
</script>
<style>
@ -150,4 +158,4 @@
padding-bottom: 40px !important;
border: 1px solid lightgray;
}
</style>
</style>

View File

@ -1,84 +1,93 @@
<template>
<el-dialog class="ningbo-01__systerm popup-alarm" :title="title" :visible.sync="show" width="500px"
:before-close="doClose" :zIndex="2000" :modal="false" :close-on-click-modal="false" append-to-body v-dialogDrag>
<el-row>
<el-col :offset="2">
<span v-for="(message, index) in messages" :key="index">{{message}}</span><br>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="8">
<el-button :id="domIdSure" type="primary" @click="commit">确定</el-button>
</el-col>
</el-row>
</el-dialog>
<el-dialog
v-dialogDrag
class="ningbo-01__systerm popup-alarm"
:title="title"
:visible.sync="show"
width="500px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
append-to-body
>
<el-row>
<el-col :offset="2">
<span v-for="(message, index) in messages" :key="index">{{ message }}</span><br>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="8">
<el-button :id="domIdSure" type="primary" @click="commit">确定</el-button>
</el-col>
</el-row>
</el-dialog>
</template>
<script>
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
import { OperationEvent } from '@/scripts/ConstDic';
export default {
name: 'Popup-Alarm',
data() {
return {
dialogShow: false,
messages: [],
operate: null,
operation: '',
}
export default {
name: 'PopupAlarm',
data() {
return {
dialogShow: false,
messages: [],
operate: null,
operation: ''
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
return '弹出式告警';
},
domIdSure() {
return this.dialogShow ? OperationEvent.Command.close.alarm.domId : '';
}
title() {
return '弹出式告警';
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
})
},
methods: {
doShow(operate, messages) {
this.operate = operate || {};
this.operation = operate.operation;
this.dialogShow = true;
this.messages = messages || [];
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.dialogShow = false;
domIdSure() {
return this.dialogShow ? OperationEvent.Command.close.alarm.domId : '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, messages) {
this.operate = operate || {};
this.operation = operate.operation;
this.dialogShow = true;
this.messages = messages || [];
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
},
commit() {
if (this.operation == OperationEvent.Section.alxeEffective.menu.operation) {
//
this.alxeEffective();
}
},
alxeEffective() {
let operate = {
type: this.operate.type,
operation: OperationEvent.Command.close.alarm.operation,
}
this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.doClose();
}
})
});
},
doClose() {
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
if (this.operation == OperationEvent.Section.alxeEffective.menu.operation) {
//
this.alxeEffective();
}
},
alxeEffective() {
const operate = {
operation: OperationEvent.Command.close.alarm.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.doClose();
}
});
}
}
};
</script>
<style>
@ -86,4 +95,4 @@
padding-bottom: 40px !important;
border: 1px solid lightgray;
}
</style>
</style>

View File

@ -41,8 +41,6 @@
</el-table-column>
<el-table-column prop="status" label="控制状态" width="180">
<template slot-scope="scope">
<!-- <span v-if="scope.row.controlType == '01'">自动不进行冲突检测</span>
<span v-else>人工</span> -->
{{ scope.row.atsControl == '0' ? '人工' : '自动' }}
</template>
</el-table-column>
@ -134,7 +132,7 @@ export default {
commit() {
const operate = {
over: true,
operation: OperationEvent.Signal.detail.menu.operation,
operation: OperationEvent.Signal.detail.menu.operation
};
this.loading = true;

View File

@ -39,7 +39,7 @@
v-model="changeList[scope.$index]"
style="text-align: center; display: block;"
:disabled="scope.row.disabled"
@change="changeCheck(changeList[scope.$index],scope.row.code)"
@change="changeCheck(changeList[scope.$index], scope.row.code)"
/>
</template>
</el-table-column>
@ -116,13 +116,12 @@ export default {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Signal.humanControl.menu.operation) {
return OperationEvent.Signal.humanControl.choose.domId;
} else if (this.operation == OperationEvent.Signal.atsAutoControl.menu.operation) {
return OperationEvent.Signal.atsAutoControl.choose.domId;
}
if (this.operation == OperationEvent.Signal.humanControl.menu.operation) {
return OperationEvent.Signal.humanControl.choose.domId;
} else if (this.operation == OperationEvent.Signal.atsAutoControl.menu.operation) {
return OperationEvent.Signal.atsAutoControl.choose.domId;
}
return '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
@ -133,6 +132,7 @@ export default {
} else if (this.operation == OperationEvent.Signal.atsAutoControl.menu.operation) {
return '进路交自动控';
}
return '';
}
},
watch: {
@ -205,6 +205,7 @@ export default {
}
if (this.selection.length > 0) {
this.commitDisabled = false;
this.handleChooseChange();
} else {
this.commitDisabled = true;
}
@ -237,43 +238,27 @@ export default {
this.commitDisabled = true;
}
},
// serializeCodeListWithSeparator(sep) {
// const codeList = [];
// if (this.selection && this.selection.length) {
// this.selection.forEach(elem => {
// codeList.push(elem.code);
// });
// }
// return codeList.join(sep);
// },
// handleChooseChange(selection) {
// this.selection = selection;
// if (selection && selection.length) {
// const operate = {
// repeat: true,
// type: MapDeviceType.Signal.type,
// operation: '',
// val: this.serializeCodeListWithSeparator('::'),
// selection: selection
// };
handleChooseChange() {
const codeList = this.selection.map(elem => { return elem; });
const operate = {
operation: '',
val: codeList.join('::')
};
// if (this.operation == OperationEvent.Signal.humanControl.menu.operation) {
// /** */
// operate.operation = OperationEvent.Signal.humanControl.choose.operation;
// } else if (this.operation == OperationEvent.Signal.atsAutoControl.menu.operation) {
// /** */
// operate.operation = OperationEvent.Signal.atsAutoControl.choose.operation;
// }
if (this.operation == OperationEvent.Signal.humanControl.menu.operation) {
/** 进路交人工控*/
operate.operation = OperationEvent.Signal.humanControl.choose.operation;
} else if (this.operation == OperationEvent.Signal.atsAutoControl.menu.operation) {
/** 进路交自动控*/
operate.operation = OperationEvent.Signal.atsAutoControl.choose.operation;
}
// this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
// if (valid) {
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// }
// });
// } else if (!selection) {
// this.$messageBox(``);
// }
// },
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
}
});
},
commit() {
if (this.operation == OperationEvent.Signal.humanControl.menu.operation) {
/** 进路交人工控*/

View File

@ -166,7 +166,8 @@ export default {
//
const operate = {
operation: OperationEvent.Signal.arrangementRoute.choose.operation
operation: OperationEvent.Signal.arrangementRoute.choose.operation,
val: row.code
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {

View File

@ -15,11 +15,11 @@
<div style="overflow: hidden;">
<div>操作设备</div>
<el-col :span="11">
<el-input :value="messageText1" placeholder="" size="mini" disabled />
<el-input :value="messageText1" placeholder="" size="mini" disabled />
</el-col>
<el-col :span="8" :offset="1">
<el-button :id="confirmId1" class="status_btn" :disabled="disabledConfirm1" @click="confirm1">确认
</el-button>
<el-button :id="confirmId1" class="status_btn" :disabled="disabledConfirm1" @click="confirm1">确认
</el-button>
</el-col>
</div>
</div>
@ -28,13 +28,13 @@
<div style="overflow: hidden;">
<div>操作设备</div>
<el-col :span="11">
<el-select :id="domIdChoose" v-model="messageText2" filterable size="mini" :disabled="disabledConfirm2" @change="SelectChange">
<el-option v-for="option in signalList" :key="option.code" :label="option.name" :value="option.name" />
</el-select>
<el-select :id="domIdChoose" v-model="messageText2" filterable size="mini" :disabled="disabledConfirm2" @change="SelectChange">
<el-option v-for="option in signalList" :key="option.code" :label="option.name" :value="option.code" />
</el-select>
</el-col>
<el-col :span="8" :offset="1">
<el-button :id="confirmId2" class="status_btn" :disabled="disabledConfirm2" @click="confirm2">确认
</el-button>
<el-button :id="confirmId2" class="status_btn" :disabled="disabledConfirm2" @click="confirm2">确认
</el-button>
</el-col>
</div>
</div>
@ -49,7 +49,9 @@
</div>
<div class="body_cont">
<div class="status_text">状态</div>
<div class="textarea_content" />
<div class="textarea_content">
{{ message }}
</div>
</div>
<el-button :id="domIdConfirm" class="close_btn" type="primary" @click="commit">关闭</el-button>
@ -73,8 +75,10 @@ export default {
dialogShow: false,
selected: null,
operation: null,
message: '',
messageText1: '',
signalCode: '',
messageText2: '',
timeCountConfirm: -1,
disabledConfirm1: false,
@ -120,8 +124,10 @@ export default {
methods: {
doShow(operate, selected) {
this.selected = selected;
this.message = '';
if (!this.dialogShow) {
this.messageText1 = selected.name;
this.signalCode = selected.code;
this.operation = operate.operation;
}
@ -132,6 +138,13 @@ export default {
},
doClose() {
this.dialogShow = false;
this.messageText1 = '';
this.messageText2 = '';
this.message = '';
this.signalCode = '';
this.timeCountConfirm = -1;
this.disabledConfirm1 = false;
this.disabledConfirm2 = true;
this.$store.dispatch('training/emitTipFresh');
this.mouseCancelState(this.selected);
},
@ -170,30 +183,34 @@ export default {
});
},
confirm2() {
const operate = {
operation: OperationEvent.Signal.unlock.confirm2.operation,
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
};
if (this.messageText2 == this.signalCode) {
const operate = {
operation: OperationEvent.Signal.unlock.confirm2.operation,
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.messageText2 = '*****';
this.disabledConfirm2 = true;
this.timeCountConfirm = -1;
}
}).catch((error) => {
this.$refs.noticeInfo.doShow(operate, error.message);
});
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.messageText2 = '*****';
this.disabledConfirm2 = true;
this.timeCountConfirm = -1;
}
}).catch((error) => {
this.$refs.noticeInfo.doShow(operate, error.message);
});
} else {
this.message = '选择信号机错误';
}
},
commit() {
const operate = {
over: true,
operation: OperationEvent.Signal.unlock.confirm.operation,
operation: OperationEvent.Signal.unlock.confirm.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.doClose();
}).catch((error) => {
this.doClose();

View File

@ -29,7 +29,7 @@
<div>操作设备</div>
<el-col :span="11">
<el-select :id="domIdChoose" v-model="messageText2" filterable size="mini" :disabled="disabledConfirm2" @change="SelectChange">
<el-option v-for="option in sectionList" :key="option.code" :label="option.name + '(' + option.code + ')'" :value="option.name" />
<el-option v-for="option in sectionLists" :key="option.code" :label="option.name" :value="option.code" />
</el-select>
</el-col>
<el-col :span="8" :offset="1">
@ -49,7 +49,9 @@
</div>
<div class="body_cont">
<div class="status_text">状态</div>
<div class="textarea_content" />
<div class="textarea_content">
{{ message }}
</div>
</div>
<el-button :id="domIdConfirm" class="close_btn" type="primary" @click="commit">关闭</el-button>
@ -73,8 +75,10 @@ export default {
dialogShow: false,
selected: null,
operation: null,
message: '',
messageText1: '',
sectionCode: '',
messageText2: '',
timeCountConfirm: -1,
disabledConfirm1: false,
@ -89,16 +93,36 @@ export default {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Section.unlock.choose.domId : '';
if (this.operation == OperationEvent.Section.unlock.menu.operation) {
return OperationEvent.Section.unlock.choose.domId;
} else if (this.operation == OperationEvent.Section.fault.menu.operation) {
return OperationEvent.Section.fault.choose.domId;
}
return '';
},
confirmId1() {
return this.dialogShow ? OperationEvent.Section.unlock.confirm1.domId : '';
if (this.operation == OperationEvent.Section.unlock.menu.operation) {
return OperationEvent.Section.unlock.confirm1.domId;
} else if (this.operation == OperationEvent.Section.fault.menu.operation) {
return OperationEvent.Section.fault.confirm1.domId;
}
return '';
},
confirmId2() {
return this.dialogShow ? OperationEvent.Section.unlock.confirm2.domId : '';
if (this.operation == OperationEvent.Section.unlock.menu.operation) {
return OperationEvent.Section.unlock.confirm2.domId;
} else if (this.operation == OperationEvent.Section.fault.menu.operation) {
return OperationEvent.Section.fault.confirm2.domId;
}
return '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Section.unlock.confirm.domId : '';
if (this.operation == OperationEvent.Section.unlock.menu.operation) {
return OperationEvent.Section.unlock.confirm.domId;
} else if (this.operation == OperationEvent.Section.fault.menu.operation) {
return OperationEvent.Section.fault.confirm.domId;
}
return '';
},
title() {
if (this.operation == OperationEvent.Section.unlock.menu.operation) {
@ -107,6 +131,18 @@ export default {
return '区故解';
}
return '';
},
sectionLists() {
const list = [];
this.sectionList.forEach(section => {
let name = section.name;
if (section.type == '02') {
const sectionParent = this.$store.getters['map/getDeviceByCode'](section.parentCode);
name = `${sectionParent.name}-${section.name}`;
}
list.push({ name: name, code: section.code });
});
return list;
}
},
mounted() {
@ -125,12 +161,14 @@ export default {
methods: {
doShow(operate, selected) {
this.selected = selected;
this.message = '';
if (!this.dialogShow) {
this.messageText1 = `${selected.name}(${selected.code})`;
// if (selected.parentCode) {
// const parentSection = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
// this.messageText1 = `${parentSection.name}${selected.name}`;
// }
this.messageText1 = selected.name;
this.sectionCode = selected.code;
if (selected.type == '02') {
const sectionParent = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
this.messageText1 = `${sectionParent.name}-${selected.name}`;
}
this.operation = operate.operation;
}
@ -145,6 +183,8 @@ export default {
this.disabledConfirm2 = true;
this.timeCountConfirm = -1;
this.messageText1 = '';
this.message = '';
this.sectionCode = '';
this.messageText2 = '';
this.$store.dispatch('training/emitTipFresh');
this.mouseCancelState(this.selected);
@ -196,33 +236,37 @@ export default {
});
},
confirm2() {
const operate = {
operation: '',
cmdType: ''
};
if (this.messageText2 == this.sectionCode) {
const operate = {
over: true,
operation: '',
cmdType: ''
};
if (this.operation == OperationEvent.Section.unlock.menu.operation) {
operate.operation = OperationEvent.Section.unlock.confirm2.operation;
operate.cmdType = CMD.Section.CMD_SECTION_UNBLOCK;
} else if (this.operation == OperationEvent.Section.fault.menu.operation) {
operate.operation = OperationEvent.Section.fault.confirm2.operation;
operate.cmdType = CMD.Section.CMD_SECTION_FAULT_UNLOCK;
}
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.messageText2 = '*****';
this.disabledConfirm2 = true;
this.timeCountConfirm = -1;
if (this.operation == OperationEvent.Section.unlock.menu.operation) {
operate.operation = OperationEvent.Section.unlock.confirm2.operation;
operate.cmdType = CMD.Section.CMD_SECTION_UNBLOCK;
} else if (this.operation == OperationEvent.Section.fault.menu.operation) {
operate.operation = OperationEvent.Section.fault.confirm2.operation;
operate.cmdType = CMD.Section.CMD_SECTION_FAULT_UNLOCK;
}
}).catch((error) => {
this.$refs.noticeInfo.doShow(operate, error.message);
});
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.messageText2 = '*****';
this.disabledConfirm2 = true;
this.timeCountConfirm = -1;
}
}).catch((error) => {
this.$refs.noticeInfo.doShow(operate, error.message);
});
} else {
this.message = '选择区段错误';
}
},
commit() {
const operate = {
over: true,
operation: ''
};

View File

@ -238,7 +238,7 @@ export default {
return '';
},
domIdClose() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
isCancelSpeed() {
return this.operation == OperationEvent.Section.cancelSpeed.menu.operation || this.operation == OperationEvent.Switch.cancelSpeed.menu.operation;
@ -350,7 +350,8 @@ export default {
},
speedSelectChange(val) {
const operate = {
operation: ''
operation: '',
val: val
};
if (this.operation == OperationEvent.Section.setSpeed.menu.operation) {
@ -378,18 +379,24 @@ export default {
/** 区段设置限速*/
operate.operation = OperationEvent.Section.setSpeed.order.operation;
operate.message = `在【${this.name}】区段,区段设置限速${this.speed}km/h确认下达吗`;
if (this.speed == 0) {
operate.message = `在【${this.name}】区段,区段取消限速,确认下达吗?`;
}
} else if (this.operation == OperationEvent.Section.cancelSpeed.menu.operation) {
/** 区段取消限速*/
operate.operation = OperationEvent.Section.cancelSpeed.order.operation;
operate.message = `在【${this.name}】区段,区段取消限速${this.speed}km/h,确认下达吗?`;
operate.message = `在【${this.name}】区段,区段取消限速,确认下达吗?`;
} else if (this.operation == OperationEvent.Switch.setSpeed.menu.operation) {
/** 道岔设置限速*/
operate.operation = OperationEvent.Switch.setSpeed.order.operation;
operate.message = `在【${this.name}】区段,道岔设置限速${this.speed}km/h确认下达吗`;
if (this.speed == 0) {
operate.message = `在【${this.name}】区段,道岔区段取消限速,确认下达吗?`;
}
} else if (this.operation == OperationEvent.Switch.cancelSpeed.menu.operation) {
/** 区段取消限速*/
operate.operation = OperationEvent.Switch.cancelSpeed.order.operation;
operate.message = `在【${this.name}】区段,道岔取消限速${this.speed}km/h,确认下达吗?`;
operate.message = `在【${this.name}】区段,道岔区段取消限速,确认下达吗?`;
}
this.setMessage('请点击“确认1”按钮确认命令');
@ -523,7 +530,6 @@ export default {
},
close() {
const operate = {
type: this.type,
operation: OperationEvent.Command.close.menu.operation
};
this.writeRecord({ order: ++this.order, date: now(), context: '点击关闭', result: '' });

View File

@ -76,7 +76,12 @@ export default {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
chooseId() {
return this.dialogShow ? OperationEvent.StationStand.setBulkBuckleTrain.choose.domId : '';
if (this.operation == OperationEvent.StationStand.setBulkBuckleTrain.menu.operation) {
return OperationEvent.StationStand.setBulkBuckleTrain.choose.domId;
} else if (this.operation == OperationEvent.StationStand.cancelBulkBuckleTrain.menu.operation) {
return OperationEvent.StationStand.cancelBulkBuckleTrain.choose.domId;
}
return '';
},
title() {
if (this.operation == OperationEvent.StationStand.setBulkBuckleTrain.menu.operation) {

View File

@ -29,7 +29,7 @@
<div>道岔</div>
<el-col :span="11">
<el-select :id="domIdChoose" v-model="messageText2" filterable size="mini" :disabled="disabledConfirm2" @change="SelectChange">
<el-option v-for="option in switchList" :key="option.code" :label="option.name" :value="option.name" />
<el-option v-for="option in switchList" :key="option.code" :label="option.name" :value="option.code" />
</el-select>
</el-col>
<el-col :span="8" :offset="1">
@ -49,7 +49,9 @@
</div>
<div class="body_cont">
<div class="status_text">状态</div>
<div class="textarea_content" />
<div class="textarea_content">
{{ message }}
</div>
</div>
<el-button :id="domIdConfirm" class="close_btn" type="primary" @click="commit">关闭</el-button>
@ -73,8 +75,10 @@ export default {
dialogShow: false,
selected: null,
operation: null,
message: '',
messageText1: '',
switchCode: '',
messageText2: '',
timeCountConfirm: -1,
disabledConfirm1: false,
@ -89,16 +93,36 @@ export default {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Switch.unlock.choose.domId : '';
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
return OperationEvent.Switch.unlock.choose.domId;
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
return OperationEvent.Switch.unblock.choose.domId;
}
return '';
},
confirmId1() {
return this.dialogShow ? OperationEvent.Switch.unlock.confirm1.domId : '';
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
return OperationEvent.Switch.unlock.confirm1.domId;
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
return OperationEvent.Switch.unblock.confirm1.domId;
}
return '';
},
confirmId2() {
return this.dialogShow ? OperationEvent.Switch.unlock.confirm2.domId : '';
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
return OperationEvent.Switch.unlock.confirm2.domId;
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
return OperationEvent.Switch.unblock.confirm2.domId;
}
return '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Switch.unlock.confirm.domId : '';
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
return OperationEvent.Switch.unlock.confirm.domId;
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
return OperationEvent.Switch.unblock.confirm.domId;
}
return '';
},
title() {
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
@ -125,8 +149,10 @@ export default {
methods: {
doShow(operate, selected) {
this.selected = selected;
this.message = '';
if (!this.dialogShow) {
this.messageText1 = selected.name;
this.switchCode = selected.code;
this.operation = operate.operation;
}
@ -139,6 +165,8 @@ export default {
this.dialogShow = false;
this.messageText1 = '';
this.messageText2 = '';
this.message = '';
this.switchCode = '';
this.timeCountConfirm = -1;
this.disabledConfirm1 = false;
this.disabledConfirm2 = true;
@ -192,28 +220,32 @@ export default {
});
},
confirm2() {
const operate = {
operation: '',
cmdType: ''
};
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
operate.operation = OperationEvent.Switch.unlock.confirm2.operation;
operate.cmdType = CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK;
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
operate.operation = OperationEvent.Switch.unblock.confirm2.operation;
operate.cmdType = CMD.Switch.CMD_SWITCH_UNBLOCK;
}
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.messageText2 = '*****';
this.disabledConfirm2 = true;
this.timeCountConfirm = -1;
if (this.messageText2 == this.switchCode) {
const operate = {
operation: '',
cmdType: ''
};
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
operate.operation = OperationEvent.Switch.unlock.confirm2.operation;
operate.cmdType = CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK;
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
operate.operation = OperationEvent.Switch.unblock.confirm2.operation;
operate.cmdType = CMD.Switch.CMD_SWITCH_UNBLOCK;
}
}).catch((error) => {
this.$refs.noticeInfo.doShow(operate, error.message);
});
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.messageText2 = '*****';
this.disabledConfirm2 = true;
this.timeCountConfirm = -1;
}
}).catch((error) => {
this.$refs.noticeInfo.doShow(operate, error.message);
});
} else {
this.message = '选择道岔错误';
}
},
commit() {
const operate = {

View File

@ -51,12 +51,12 @@ export default {
cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
},
{
label: '区段激活跟踪',
label: '区段跟踪激活',
handler: this.active,
cmdType: CMD.Section.CMD_SECTION_ACTIVE
},
{
label: '区段切除跟踪',
label: '区段跟踪切除',
handler: this.split,
cmdType: CMD.Section.CMD_SECTION_CUT_OFF
},

View File

@ -124,7 +124,7 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
},
{
label: '取消列车进路',
label: '取消进路',
handler: this.cancelTrainRoute,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
},

View File

@ -5,18 +5,29 @@
// {id: "4", trainingType: "02", name: "进路编号"}
// {id: "5", trainingType: "02", name: "信号机名称"}
// {id: "6", trainingType: "02", name: "信号机编号"}
// {id: "7", trainingType: "03", name: "道岔名称"}
// {id: "17", trainingType: "03", name: "道岔编码"}
// {id: "15", trainingType: "03", name: "道岔位置"}
// {id: "16", trainingType: "03", name: "道岔位置(反)"}
// {id: "21", trainingType: "03", name: "车站名称"}
// {id: "23", trainingType: "03", name: "车站编号"}
// {id: "24", trainingType: "03", name: "道岔计轴区段编号"}
// {id: "25", trainingType: "03", name: "道岔计轴区段名称"}
// {id: "8", trainingType: "04", name: "物理区段名称"}
// {id: "9", trainingType: "04", name: "逻辑区段名称"}
// {id: "18", trainingType: "04", name: "逻辑区段编码"}
// {id: "19", trainingType: "04", name: "区段编号"}
// {id: "20", trainingType: "04", name: "车站名称"}
// {id: "22", trainingType: "04", name: "车站编号"}
// {id: "10", trainingType: "05", name: "车站名称"}
// {id: "11", trainingType: "05", name: "站台行驶方向编号"}
// {id: "12", trainingType: "05", name: "站台行驶方向"}
// {id: "13", trainingType: "05", name: "站台行驶方向编号(反)"}
// {id: "14", trainingType: "05", name: "站台行驶方向(反)"}
// {id: "15", trainingType: "03", name: "道岔位置"}
// {id: "16", trainingType: "03", name: "道岔位置(反)"}
export const OperationList = {
'01': {
list: []
@ -3490,7 +3501,7 @@ export const OperationList = {
trainingName: '扣车({10}-{12} 站台)',
trainingRemark: '设置扣车功能',
trainingType: '05',
productTypes: ['02'], // 产品类型 01 现地 02 行调
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【确定】按钮' }
@ -3504,7 +3515,7 @@ export const OperationList = {
trainingName: '取消扣车({10}-{12} 站台)',
trainingRemark: '取消扣车功能',
trainingType: '05',
productTypes: ['02'], // 产品类型 01 现地 02 行调
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' }
@ -3546,7 +3557,7 @@ export const OperationList = {
trainingName: '提前发车({10}-{12}站台)',
trainingRemark: '提前发车功能',
trainingType: '05',
productTypes: ['02'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '501', tip: '鼠标右键菜单选择【提前发车】' },
{ deviceType: '06', orderNum: 2, operateCode: '501', tip: '鼠标左键点击【确定】按钮' }
@ -3697,13 +3708,30 @@ export const OperationList = {
trainingName: '查看站台信息({10}-{12}站台)',
trainingRemark: '查看站台信息功能',
trainingType: '05',
productTypes: ['02'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【查看站台信息】' },
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0402',
skinCode: '06',
trainingName: '区段故障解锁({8}{9})',
trainingRemark: '区段故障解锁',
trainingType: '04',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区段故障解锁】' },
{ deviceType: '03', orderNum: 2, operateCode: '4024', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4028', tip: '鼠标左键选择({8}{9})区段', val: '' },
{ deviceType: '03', orderNum: 4, operateCode: '4025', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4023', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
@ -3712,7 +3740,7 @@ export const OperationList = {
trainingName: '区段跟踪切除({8}{9})',
trainingRemark: '区段跟踪切除',
trainingType: '04',
productTypes: ['02'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【区段跟踪切除】' },
{ deviceType: '03', orderNum: 2, operateCode: '405', tip: '鼠标左键点击【确定】按钮' }
@ -3726,7 +3754,7 @@ export const OperationList = {
trainingName: '区段跟踪激活({8}{9})',
trainingRemark: '区段跟踪激活功能',
trainingType: '04',
productTypes: ['02'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段跟踪激活】' },
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' }
@ -3736,13 +3764,13 @@ export const OperationList = {
maxDuration: 15,
minDuration: 8,
operateType: '0407',
skinCode: '02',
skinCode: '06',
trainingName: '设置临时限速({8}{9})',
trainingRemark: '设置临时限速功能限速值5',
trainingType: '04',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【区段设置限速】' },
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值5】', val: '5' },
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' },
@ -3755,13 +3783,13 @@ export const OperationList = {
maxDuration: 15,
minDuration: 8,
operateType: '0407',
skinCode: '02',
skinCode: '06',
trainingName: '设置临时限速({8}{9})',
trainingRemark: '设置临时限速功能(限速值:自动)',
trainingType: '04',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【区段设置限速】' },
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值自动】', val: '0' },
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' },
@ -3769,25 +3797,463 @@ export const OperationList = {
{ deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0405',
skinCode: '06',
trainingName: '区段封锁({8}{9})',
trainingRemark: '区段封锁功能',
trainingType: '04',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '403', tip: '鼠标右键菜单选择【区段封锁】' },
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0406',
skinCode: '06',
trainingName: '区段解封({8}{9})',
trainingRemark: '区段解封功能',
trainingType: '04',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '404', tip: '鼠标右键菜单选择【区段解封】' },
{ deviceType: '03', orderNum: 2, operateCode: '4043', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4046', tip: '鼠标左键选择({8}{9})区段', val: '{19}' },
{ deviceType: '03', orderNum: 4, operateCode: '4044', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4042', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0409',
skinCode: '06',
trainingName: '确认计轴有效({8}{9})',
trainingRemark: '确认计轴有效功能',
trainingType: '04',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '412', tip: '鼠标右键菜单选择【确认计轴有效】' },
{ deviceType: '03', orderNum: 2, operateCode: '4123', tip: '鼠标左键选择【确认】' },
{ deviceType: '03', orderNum: 3, operateCode: '4121', tip: '鼠标左键选择{20}', val: '{22}' },
{ deviceType: '03', orderNum: 4, operateCode: '4122', tip: '鼠标左键选择({8}{9})', val: '{19}' },
{ deviceType: '03', orderNum: 5, operateCode: '4124', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0312',
skinCode: '06',
trainingName: '定操({7})',
trainingRemark: '定操({7})',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '101', tip: '鼠标左键菜单选择【定操】' },
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【{7}】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0313', // 0313 新增定位字典
skinCode: '06',
trainingName: '反操({7})',
trainingRemark: '反操({7})',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '102', tip: '鼠标右键菜单选择【反操】' },
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0308',
skinCode: '06',
trainingName: '区段切除({7})',
trainingRemark: '区段切除',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '111', tip: '鼠标右键菜单选择【区段切除】' },
{ deviceType: '02', orderNum: 2, operateCode: '111', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0309',
skinCode: '06',
trainingName: '区段激活({7})',
trainingRemark: '区段激活功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '112', tip: '鼠标右键菜单选择【区段激活】' },
{ deviceType: '02', orderNum: 2, operateCode: '112', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0314',
skinCode: '06',
trainingName: '确认计轴有效({8}{9})',
trainingRemark: '确认计轴有效功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '412', tip: '鼠标右键菜单选择【确认计轴有效】' },
{ deviceType: '03', orderNum: 2, operateCode: '4123', tip: '鼠标左键选择【确认】' },
{ deviceType: '03', orderNum: 3, operateCode: '4121', tip: '鼠标左键选择{21}', val: '{23}' },
{ deviceType: '03', orderNum: 4, operateCode: '4122', tip: '鼠标左键选择({25})', val: '{24}' },
{ deviceType: '03', orderNum: 5, operateCode: '4124', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0301',
skinCode: '06',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0302',
skinCode: '06',
trainingName: '道岔单解({7})',
trainingRemark: '道岔单解功能',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【区段解封】' },
{ deviceType: '03', orderNum: 2, operateCode: '1043', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '1046', tip: '鼠标左键选择({7})区段', val: '{17}' },
{ deviceType: '03', orderNum: 4, operateCode: '1044', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '1042', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0303',
skinCode: '06',
trainingName: '道岔封锁({7})',
trainingRemark: '道岔封锁功能',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔封锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0304',
skinCode: '06',
trainingName: '道岔解封({7})',
trainingRemark: '道岔解封功能',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【区段解封】' },
{ deviceType: '03', orderNum: 2, operateCode: '1063', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '1066', tip: '鼠标左键选择({7})区段', val: '{17}' },
{ deviceType: '03', orderNum: 4, operateCode: '1064', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '1062', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0310',
skinCode: '06',
trainingName: '设置临时限速({7})',
trainingRemark: '设置临时限速功能限速值10',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '02', orderNum: 2, operateCode: '1136', tip: '鼠标左键选择【限速值5】', val: '10' },
{ deviceType: '02', orderNum: 3, operateCode: '1131', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1132', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '1133', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 6, operateCode: '1134', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '02', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0310',
skinCode: '06',
trainingName: '设置临时限速({7})',
trainingRemark: '设置临时限速功能(限速值:不限)',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '02', orderNum: 2, operateCode: '1136', tip: '鼠标左键选择【限速值: 不限】', val: '0' },
{ deviceType: '02', orderNum: 3, operateCode: '1131', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1132', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '1133', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 6, operateCode: '1134', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '02', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0201',
skinCode: '06',
trainingName: '排列进路({3})',
trainingRemark: '排列进路',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【排列进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0202',
skinCode: '06',
trainingName: '取消进路({3})',
trainingRemark: '取消进路',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【取消进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0206',
skinCode: '06',
trainingName: '信号重开({3} 进路)',
trainingRemark: '信号重开功能',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0208',
skinCode: '06',
trainingName: '进路交自动控({5})',
trainingRemark: '进路交自动控',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【进路交自动控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3151', tip: '鼠标左键选择【{3}】进路', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '315', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0209',
skinCode: '06',
trainingName: '进路交人工控({5})',
trainingRemark: '进路交人工控',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【进路交人工控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3141', tip: '鼠标左键选择【{3}】进路', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '314', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0211',
skinCode: '06',
trainingName: '设置通过模式({5})',
trainingRemark: '设置通过模式',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【设置通过模式】' },
{ deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0211',
skinCode: '06',
trainingName: 'Fleet进路办理({5})',
trainingRemark: 'Fleet进路办理',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【Fleet进路办理】' },
{ deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0212',
skinCode: '06',
trainingName: '取消通过模式({5})',
trainingRemark: '取消通过模式',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【取消通过模式】' },
{ deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0212',
skinCode: '06',
trainingName: 'Fleet进路取消({5})',
trainingRemark: 'Fleet进路取消',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【Fleet进路取消】' },
{ deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0215',
skinCode: '06',
trainingName: '人工解锁进路({5})',
trainingRemark: '人工解锁进路',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '318', tip: '鼠标右键菜单选择【人工解锁进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '318', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0216',
skinCode: '06',
trainingName: '信号机引导办理({5})',
trainingRemark: '信号机引导办理',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【信号机引导办理】' },
{ deviceType: '04', orderNum: 2, operateCode: '308', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0203',
skinCode: '06',
trainingName: '信号封锁({5})',
trainingRemark: '信号封闭',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【信号封闭】' },
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0204',
skinCode: '06',
trainingName: '信号解封({5})',
trainingRemark: '信号解封功能',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【信号解封】' },
{ deviceType: '03', orderNum: 2, operateCode: '3073', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '3076', tip: '鼠标左键选择({5})区段', val: '{6}' },
{ deviceType: '03', orderNum: 4, operateCode: '3074', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '3072', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0210',
skinCode: '06',
trainingName: '查询进路控制状态({5})',
trainingRemark: '查询进路控制状态',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【查询进路控制模式】' },
{ deviceType: '04', orderNum: 2, operateCode: '316', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 20,
minDuration: 15,
operateType: '0103',
skinCode: '06',
trainingName: '请求遥控({1})',
trainingRemark: '控制权限转换,站控转中控',
trainingType: '01',
productTypes: ['02'], // 行调请求中控
stepVOList: [
{ deviceType: '05', orderNum: 1, operateCode: '202', tip: '鼠标左键点击顶部菜单栏【请求遥控】' },
{ deviceType: '05', orderNum: 2, operateCode: '202', tip: '鼠标左键点击【应用】' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0101',
skinCode: '06',
trainingName: '请求站控({1})',
trainingRemark: '控制权限转换,中控转站控',
trainingType: '01',
productTypes: ['01'], // 现地请求站控
stepVOList: [
{ deviceType: '05', orderNum: 1, operateCode: '204', tip: '鼠标左键点击顶部菜单栏【请求站控】' },
{ deviceType: '05', orderNum: 2, operateCode: '204', tip: '鼠标左键点击【应用】' }
]
}
// {
// maxDuration: 15,
// minDuration: 8,
// operateType: '0409',
// skinCode: '02',
// trainingName: '确认计轴有效({8}{9})',
// trainingRemark: '确认计轴有效功能',
// trainingType: '04',
// productTypes: ['02'],
// stepVOList: [
// { deviceType: '03', orderNum: 1, operateCode: '412', tip: '鼠标右键菜单选择【确认计轴有效】' },
// { deviceType: '03', orderNum: 2, operateCode: '4123', tip: '鼠标左键选择【确认】' },
// { deviceType: '03', orderNum: 3, operateCode: '4121', tip: '鼠标左键选择{10}', val: '' },
// { deviceType: '03', orderNum: 4, operateCode: '4122', tip: '鼠标左键选择({8}{9})', val: '' },
// { deviceType: '03', orderNum: 5, operateCode: '4124', tip: '鼠标左键点击【确认】按钮' },
// { deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【关闭】按钮' }
// ]
// }
]
}
};

View File

@ -1540,6 +1540,10 @@ export const OperationEvent = {
menu: {
operation: '516',
domId: '_Tips-Stand-cancelBulkBuckleTrain-Menu'
},
choose: {
operation: '5161',
domId: '_Tips-Stand-cancelBulkBuckleTrain-Choose'
}
},
// 区间列车数量限制

View File

@ -1,4 +1,3 @@
export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {

View File

@ -4,9 +4,30 @@
<transition name="el-zoom-in-bottom">
<map-system-draft ref="mapCanvas" @back="back" />
</transition>
<menu-exam v-if="isExam" ref="menuExam" :offset="offset" :offset-bottom="offsetBottom" :group="group" />
<menu-exam
v-if="isExam"
ref="menuExam"
:offset="offset"
:offset-bottom="offsetBottom"
:group="group"
:show-station="showStation"
:station-list="stationList"
:show-select-station="showSelectStation"
@switchStationMode="switchStationMode"
/>
<menu-lesson v-if="isLesson" ref="lessonMenu" :offset="offset" :offset-bottom="offsetBottom" :group="group" :training-obj="trainingObj" />
<menu-lesson
v-if="isLesson"
ref="lessonMenu"
:offset="offset"
:offset-bottom="offsetBottom"
:group="group"
:training-obj="trainingObj"
:show-station="showStation"
:station-list="stationList"
:show-select-station="showSelectStation"
@switchStationMode="switchStationMode"
/>
<menu-demon
v-if="isDemon"

View File

@ -3,6 +3,9 @@
<div class="display-card" :style="{top: offset + 'px'}">
<el-row style="vertical-align:middle; ">
<span class="display-time">{{ formatUsedTime }}</span>
<el-select v-if="showSelectStation" v-model="showStation" style="width: 100px;position: fixed; right: 10px;" size="small" @change="switchStationMode">
<el-option v-for="item in stationList" :key="item.value" :label="item.name" :value="item.value" />
</el-select>
</el-row>
</div>
<div class="display-draft" :style="{bottom: offsetBottom + 'px'}">
@ -41,6 +44,24 @@ export default {
offsetBottom: {
type: Number,
required: true
},
showSelectStation: {
type: Boolean,
default() {
return false;
}
},
stationList: {
type: Array,
default() {
return [];
}
},
showStation: {
type: String,
default() {
return '';
}
}
},
data() {
@ -152,6 +173,9 @@ export default {
refresh() {
this.isDisable = false;
this.$store.dispatch('training/end', null);
},
switchStationMode(val) {
this.$emit('switchStationMode', val);
}
}
};

View File

@ -9,6 +9,9 @@
</el-radio-group>
<span class="display-time">{{ formatUsedTime }}</span>
<span v-if="demoMode === TrainingMode.TEST" class="display-score">{{ $t('display.lesson.score') }}{{ formatScore }}</span>
<el-select v-if="showSelectStation" v-model="showStation" style="width: 100px; position: fixed; right: 10px;" size="small" @change="switchStationMode">
<el-option v-for="item in stationList" :key="item.value" :label="item.name" :value="item.value" />
</el-select>
</el-row>
</div>
<div id="teachGroupButton" class="display-draft" :style="{bottom: offsetBottom + 'px'}">
@ -55,6 +58,24 @@ export default {
offsetBottom: {
type: Number,
required: true
},
showSelectStation: {
type: Boolean,
default() {
return false;
}
},
stationList: {
type: Array,
default() {
return [];
}
},
showStation: {
type: String,
default() {
return '';
}
}
},
data() {
@ -201,6 +222,9 @@ export default {
} else {
buttons.setAttribute('style', '');
}
},
switchStationMode(val) {
this.$emit('switchStationMode', val);
}
}
};

View File

@ -133,7 +133,7 @@ export default {
const domId = OperationHandler.getDomIdByOperation(step.operation);
const btnDom = document.getElementById(domId);
if (btnDom) {
const offset = getDomOffset(btnDom, true);
const offset = getDomOffset(btnDom);
if (offset.x == 0 && offset.y == 0) {
return null;
}

View File

@ -126,7 +126,7 @@ export default {
methods:{
deviceChange(code) {
this.$emit('setCenter', code);
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
this.setModel(this.$store.getters['map/getDeviceByCode'](code));
},
setModel(data) {
this.$refs.dataform.resetFields();