Merge branch 'test'

This commit is contained in:
zyy 2020-06-24 16:04:47 +08:00
commit 6bba94355a
74 changed files with 1229 additions and 3233 deletions

View File

@ -1,9 +0,0 @@
import request from '@/utils/request';
export function getList(params) {
return request({
url: '/table/list',
method: 'get',
params
});
}

File diff suppressed because one or more lines are too long

View File

@ -38,6 +38,7 @@ class KeyboardController extends Eventful {
keydown(e) {
if (this._keyOnDownUp && !e.repeat) {
if (e.key) {
const currentEvent = keyboardEvents[e.key.toUpperCase()];
let str = '';
if (currentEvent && currentEvent.altKey === e.altKey && currentEvent.ctrlKey === e.ctrlKey && currentEvent.shiftKey === e.shiftKey) {
@ -46,6 +47,7 @@ class KeyboardController extends Eventful {
this.trigger(this.events.Keyboard, str);
}
}
}
}
export default KeyboardController;

View File

@ -43,8 +43,8 @@ export default class Station extends Group {
z: this.z,
x: model.position.x,
y: model.position.y,
fontWeight: model.fontWeight,
fontSize: model.nameFont || 18,
fontWeight: style.Station.text.fontWeight,
fontSize: isNaN(Number(model.nameFont)) ? 20 : Number(model.nameFont),
fontFamily: style.fontFamily,
text: model.number ? model.number + model.name : model.name,
textAlign: 'middle',

View File

@ -63,6 +63,8 @@ export default class TrainHead extends Group {
}
}
setArrowShow(isShow) {
if (this.arrow) {
isShow ? this.arrow.show() : this.arrow.hide();
}
}
}

View File

@ -40,6 +40,7 @@
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import { deviceFaultType, deviceType} from '@/scripts/cmdPlugin/Config';
import { menuOperate } from '@/jmapNew/theme/components/utils/menuOperate';
export default {
name: 'SwitchControl',
@ -80,9 +81,9 @@ export default {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
title() {
if (this.operation === OperationEvent.MixinCommand.stoppage.menu.operation) {
if (this.operation == OperationEvent.MixinCommand.stoppage.menu.operation) {
return '设置故障';
} else if (this.operation === OperationEvent.MixinCommand.cancelStoppage.menu.operation) {
} else if (this.operation == OperationEvent.MixinCommand.cancelStoppage.menu.operation) {
return '取消故障';
}
return '';
@ -118,20 +119,38 @@ export default {
commit() {
this.$refs.form.validate((valid) => {
if (valid) {
this.sendCommand();
if (this.operation == OperationEvent.MixinCommand.stoppage.menu.operation) {
this.sendInstructions();
} else if (this.operation == OperationEvent.MixinCommand.cancelStoppage.menu.operation) {
this.cancelCommand();
}
}
});
},
sendCommand() { //
this.loading = true;
cancelCommand() {
const setp = {
over: true,
operation: this.operation,
cmdType: this.cmdType,
operation: menuOperate.Common.cancelFault.operation,
cmdType: menuOperate.Common.cancelFault.cmdType,
param: {
faultType: this.form.faultType
}
};
this.sendCommand(setp);
},
sendInstructions() { //
const setp = {
over: true,
operation: menuOperate.Common.setFault.operation,
cmdType: menuOperate.Common.setFault.cmdType,
param: {
faultType: this.form.faultType
}
};
this.sendCommand(setp);
},
sendCommand(setp) {
this.loading = true;
this.$store.dispatch('training/nextNew', setp).then(({ valid }) => {
this.loading = false;
if (valid) {

View File

@ -2,7 +2,8 @@
<div>
<el-dialog
v-dialogDrag
class="xian-01__systerm station-cmd-control"
class="station-cmd-control"
:class="popClass"
:title="title"
:visible.sync="show"
width="840px"
@ -83,6 +84,12 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'StationCmdControl',
props: {
popClass: {
type: String,
default: ''
}
},
data() {
return {
dialogShow: false,

View File

@ -1,7 +1,8 @@
<template>
<el-dialog
v-dialogDrag
class="xian-01__systerm station-human-control-all"
class="station-human-control-all"
:class="popClass"
:title="title"
:visible.sync="show"
width="430px"
@ -22,7 +23,7 @@
<el-button :id="domIdCancel" @click="cancel">{{ $t('global.cancel') }}</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="xian-01__systerm" />
<notice-info ref="noticeInfo" :pop-class="popClass" />
</el-dialog>
</template>
@ -36,6 +37,12 @@ export default {
components: {
NoticeInfo
},
props: {
popClass: {
type: String,
default: ''
}
},
data() {
return {
dialogShow: false,

View File

@ -1,7 +1,8 @@
<template>
<el-dialog
v-dialogDrag
class="xian-01__systerm station-set-route-control-all"
class="station-set-route-control-all"
:class="popClass"
:title="title"
:visible.sync="show"
width="450px"
@ -34,7 +35,7 @@
<el-button :id="domIdCancel" @click="cancel">{{ $t('global.cancel') }}</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="xian-01__systerm" />
<notice-info ref="noticeInfo" :pop-class="popClass" />
</el-dialog>
</template>
@ -48,6 +49,12 @@ export default {
components: {
NoticeInfo
},
props: {
popClass: {
type: String,
default: ''
}
},
data() {
return {
dialogShow: false,

View File

@ -184,7 +184,8 @@ export default {
//
const operate = {
operation: OperationEvent.Signal.arrangementRoute.choose.operation
operation: OperationEvent.Signal.arrangementRoute.choose.operation,
val: this.row.code
};
if (this.row.settable) {

View File

@ -29,27 +29,6 @@
</div>
</div>
</el-tree>
<!-- <el-row class="header">
<el-col :span="10"><span>车站名称</span></el-col>
<el-col :span="10" :offset="2"><span>站台</span></el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-input v-model="stationName" size="small" disabled></el-input>
</el-col>
<el-col :span="10" :offset="2">
<el-input v-model="standName" size="small" disabled></el-input>
</el-col>
</el-row>
<div class="table">
<span>站台状态</span>
<el-table ref="tempData" :data="tempData" border style="width: 100%" size="mini" highlight-current-row>
<el-table-column prop="item" :width="140" label="项目">
</el-table-column>
<el-table-column prop="status" label="状态">
</el-table-column>
</el-table>
</div> -->
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
@ -64,7 +43,7 @@
<script>
import { mapGetters } from 'vuex';
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
import { OperationEvent } from '@/scripts/ConstDic';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
export default {
@ -77,8 +56,6 @@ export default {
dialogShow: false,
loading: false,
tempData: [],
stationName: '',
standName: '',
strategyMap: {
'01': '无折返',
'02': '无人折返',
@ -172,22 +149,6 @@ export default {
methods: {
loadInitData(selected) {
this.tempData = [];
// const index = this.stationList.findIndex(n => n.code == selected.stationCode);
// let stationStand, station;
// if (selected.direction == '01') { //
// //
// if (index != 0) {
// stationStand = this.$store.getters['map/getDeviceByCode'](this.stationList[index - 1].code);
// station = this.$store.getters['map/getDeviceByCode'](stationStand.stationCode);
// }
// } else {
// //
// if (index != this.stationList.length - 1) {
// stationStand = this.$store.getters['map/getDeviceByCode'](this.stationList[index + 1].code);
// station = this.$store.getters['map/getDeviceByCode'](stationStand.stationCode);
// }
// }
//
this.treeData[1].children[0].value = selected.centerHoldTrain ? '已设置' : '未设置';
//
@ -199,29 +160,16 @@ export default {
// if (selected.direction == '01') {
//
// }
// if (!stationStand || !station) {
// this.tempData.push({ item: '', status: `` });
// } else {
// this.tempData.push({ item: '', status: selected.runLevelTime > 0 ? `${station.name}${stationStand.name}:` : `${station.name}${stationStand.name}:` });
// }
// this.tempData.push({ item: '', status: opts.jumpStopStatus != '01' ? '' : '' });
//
// this.tempData.push({ item: '', status: this.strategyMap[selected.reentryStrategy] ? this.strategyMap[selected.reentryStrategy] : '' });
},
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
// this.standName = '';
// this.stationName = '';
this.treeData[0].children[0].value = '';
if (selected && selected._type.toUpperCase() === 'StationStand'.toUpperCase()) {
// this.standName = selected.name;
this.treeData[0].children[1].value = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
// this.stationName = station.name;
this.treeData[0].children[0].value = station.name;
// this.treeData[0].children[1].value = station.runPlanName
}
}
this.loadInitData(selected);
@ -239,7 +187,6 @@ export default {
},
commit() {
const operate = {
type: MapDeviceType.StationStand.type,
operation: OperationEvent.Command.close.confirm.operation
};
@ -256,7 +203,6 @@ export default {
},
cancel() {
const operate = {
type: MapDeviceType.StationStand.type,
operation: OperationEvent.Command.cancel.menu.operation
};

View File

@ -241,13 +241,9 @@
</template>
<script>
// import { MapDeviceType, OperationEvent, getDomIdByOperation } from '@/scripts/ConstDic';
// import OperateHandler from '@/scripts/plugin/OperateHandler';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import Handler from '@/scripts/cmdPlugin/Handler';
// import CMD from '@/scripts/cmdPlugin/CommandEnum';
// import { deepAssign } from '@/utils/index';
export default {
name: 'MapButtonMenu',
@ -325,10 +321,9 @@ export default {
},
buttonDown(operation) {
const operate = {
type: 'mbm',
operation: operation
};
this.$store.dispatch('training/next', operate).then(({ valid }) => {
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/setButtonOperation', operation); //
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
@ -338,38 +333,10 @@ export default {
},
selectedChange() {
const model = this.$store.state.menuOperation.selected;
if (model && model._type) {
} else {
if (!model._type) {
Handler.clear();
this.$store.dispatch('menuOperation/setButtonOperation', null);
}
//
// if (this.$store.state.menuOperation.buttonOperation) {
// const model = this.$store.state.menuOperation.selected;
// if (model) {
// const deviceType = MapDeviceType[model._type];
// const operate = {
// send: true,
// model: model,
// code: model.code,
// type: deviceType.type,
// operation: this.$store.state.menuOperation.buttonOperation,
// tempData: this.tempData
// };
// this.$store.dispatch('training/next', operate).then(({ valid, response }) => {
// if (valid) {
// if (response) {
// this.tempData = response.data;
// }
// }
// });
// } else {
// OperateHandler.cleanOperates();
// this.$store.dispatch('menuOperation/setButtonOperation', null);
// }
// }
}
}
};

View File

@ -156,7 +156,7 @@ export default {
cancelStoppage() {
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
});
},

View File

@ -0,0 +1,575 @@
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
list: [
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN.value,
skinCode: '08',
trainingName: '设置扣车({10}-{12} 站台)',
trainingRemark: '设置扣车功能',
trainingType:'Stand',
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【设置扣车】'},
{ deviceType: '06', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN.value,
skinCode: '08',
trainingName: '取消扣车({10}-{12} 站台)',
trainingRemark: '取消扣车功能',
trainingType:'Stand',
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】'},
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Stand.CMD_STAND_SET_JUMP_STOP.value,
skinCode: '08',
trainingName: '设置跳停({10}-{12} 站台)',
trainingRemark: '设置跳停功能',
trainingType:'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【设置跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Stand.CMD_STAND_SET_JUMP_STOP.value,
skinCode: '08',
trainingName: '设置跳停({10}-{12} 站台)',
trainingRemark: '设置指定001号列车跳停功能',
trainingType:'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【设置跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '5024', tip: '鼠标左键点击' },
{ deviceType: '06', orderNum: 2, operateCode: '5022', tip: '请选择001号车', val: '001' },
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP.value,
skinCode: '08',
trainingName: '取消跳停({10}-{12} 站台)',
trainingRemark: '取消跳停功能',
trainingType:'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Stand.CMD_STAND_WHOLE_LINE_CANCEL_HOLD_TRAIN.value,
skinCode: '08',
trainingName: '全线取消扣车({10}-{12} 站台)',
trainingRemark: '全线取消扣车功能',
trainingType:'Stand',
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '508', tip: '鼠标右键菜单选择【全线取消扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '508', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Stand.CMD_STAND_VIEW_STATUS.value,
skinCode: '08',
trainingName: '查询站台状态({10}-{12} 站台)',
trainingRemark: '查询站台状态功能',
trainingType:'Stand',
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【站台信息】' },
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Stand.CMD_STAND_SET_PARK_TIME.value,
skinCode: '08',
trainingName: '设置停站时间({10}-{12} 站台)',
trainingRemark: '停站时间控制(自动, 一直有效)',
trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Stand.CMD_STAND_SET_PARK_TIME.value,
skinCode: '08',
trainingName: '设置停站时间({10}-{12} 站台)',
trainingRemark: '停站时间控制(人工, 40秒, 一直有效)',
trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【全人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击调整为【40】', val: '40' },
{ deviceType: '06', orderNum: 4, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Stand.CMD_STAND_SET_PARK_TIME.value,
skinCode: '08',
trainingName: '设置停站时间({10}-{12} 站台)',
trainingRemark: '停站时间控制(人工, 20秒, 一次有效)',
trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【全人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击调整为【20】', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '5093', tip: '鼠标左键点击,选择【一次有效】', val: 'false' },
{ deviceType: '06', orderNum: 5, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Stand.CMD_STAND_SET_RUN_TIME.value,
skinCode: '08',
trainingName: '设置运行等级({10}-{12} 站台)',
trainingRemark: '设置运行等级(设置区间 运行等级1运行时间为115一直有效)',
trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' },
{ deviceType: '06', orderNum: 2, operateCode: '5104', tip: '鼠标左键点击选择【1】', val: '1' },
{ deviceType: '06', orderNum: 3, operateCode: '5101', tip: '鼠标左键点击选择【115】', val: '115' },
{ deviceType: '06', orderNum: 4, operateCode: '5103', tip: '鼠标左键点击,取消选择【一直有效】', val: 'true' },
{ deviceType: '06', orderNum: 5, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Stand.CMD_STAND_SET_RUN_TIME.value,
skinCode: '08',
trainingName: '设置运行等级({10}-{12} 站台)',
trainingRemark: '设置运行等级(设置区间 运行等级1运行时间为115一次有效)',
trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' },
{ deviceType: '06', orderNum: 2, operateCode: '5104', tip: '鼠标左键点击选择【1】', val: '1' },
{ deviceType: '06', orderNum: 3, operateCode: '5101', tip: '鼠标左键点击选择【115】', val: '115' },
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Stand.CMD_STAND_EARLY_DEPART.value,
skinCode: '08',
trainingName: '设置提前发车({10}-{12} 站台)',
trainingRemark: '提前发车功能',
trainingType:'Stand',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '501', tip: '鼠标右键菜单选择【设置提前发车】' },
{ deviceType: '06', orderNum: 2, operateCode: '501', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Section.CMD_SECTION_CUT_OFF.value,
skinCode: '08',
trainingName: '区段切除({8}{9} 区段)',
trainingRemark: '区段切除功能',
trainingType:'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【区段切除】' },
{ deviceType: '03', orderNum: 2, operateCode: '405', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Section.CMD_SECTION_ACTIVE.value,
skinCode: '08',
trainingName: '区段激活({8}{9} 区段)',
trainingRemark: '区段激活功能',
trainingType:'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段激活】' },
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Section.CMD_SECTION_SET_LIMIT_SPEED.value,
skinCode: '08',
trainingName: '设置临时限速({8}{9} 区段)',
trainingRemark: '设置临时限速功能限速值15',
trainingType:'Section',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值15】', val: '15' },
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_CUT_OFF.value,
skinCode: '08',
trainingName: '道岔封闭({7} 道岔)',
trainingRemark: '道岔封闭功能',
trainingType:'Switch',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔封闭】' },
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_ACTIVE.value,
skinCode: '08',
trainingName: '道岔解封({7} 道岔)',
trainingRemark: '道岔解封功能',
trainingType:'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔解封】' },
{ deviceType: '02', orderNum: 2, operateCode: '106', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_CUT_OFF.value,
skinCode: '08',
trainingName: '道岔封闭({7} 道岔)',
trainingRemark: '道岔封闭功能',
trainingType:'Switch',
productTypes: ['01'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1050', tip: '鼠标左键点击【道岔封闭】' },
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_ACTIVE.value,
skinCode: '08',
trainingName: '道岔解封({7} 道岔)',
trainingRemark: '道岔解封功能',
trainingType:'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1060', tip: '鼠标左键点击【道岔解封】' },
{ deviceType: '02', orderNum: 2, operateCode: '106', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_REVERSE_POSITION.value,
skinCode: '08',
trainingName: '道岔总反({7} 道岔)',
trainingRemark: '道岔反位功能',
trainingType:'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '102', tip: '鼠标右键菜单选择【道岔总反】' },
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_NORMAL_POSITION.value,
skinCode: '08',
trainingName: '道岔总定({7} 道岔)',
trainingRemark: '道岔定位功能',
trainingType:'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '101', tip: '鼠标右键菜单选择【道岔总定】' },
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_REVERSE_POSITION.value,
skinCode: '08',
trainingName: '道岔总反({7} 道岔)',
trainingRemark: '道岔反位功能',
trainingType:'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1020', tip: '鼠标左键点击【道岔总反】' },
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_NORMAL_POSITION.value,
skinCode: '08',
trainingName: '道岔总定({7} 道岔)',
trainingRemark: '道岔定位功能',
trainingType:'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1010', tip: '鼠标左键点击【道岔总定】' },
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_SINGLE_LOCK.value,
skinCode: '08',
trainingName: '道岔单锁({7} 道岔)',
trainingRemark: '道岔单锁功能',
trainingType:'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK.value,
skinCode: '08',
trainingName: '道岔解锁({7} 道岔)',
trainingRemark: '道岔单解功能',
trainingType:'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔解锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '104', tip: '鼠标左键点击【确定】'}
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_SINGLE_LOCK.value,
skinCode: '08',
trainingName: '道岔单锁({7} 道岔)',
trainingRemark: '道岔单锁功能',
trainingType:'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1030', tip: '鼠标左键点击【道岔单锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK.value,
skinCode: '08',
trainingName: '道岔解锁({7} 道岔)',
trainingRemark: '道岔单解功能',
trainingType:'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1040', tip: '鼠标左键点击【道岔解锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '104', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' },
{ deviceType: '02', orderNum: 3, operateCode: '104', tip: '鼠标左键点击【确定】'}
]
},
{
maxDuration: 15,
minDuration: 8,
operateType:CMD.Signal.CMD_SIGNAL_SET_ROUTE.value,
skinCode: '08',
trainingName: '排列进路({3} 进路)',
trainingRemark: '排列进路功能',
trainingType:'Signal',
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:CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE.value,
skinCode: '08',
trainingName: '取消进路({3} 进路)',
trainingRemark: '取消进路功能',
trainingType:'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【取消进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Signal.CMD_SIGNAL_DETAIL.value,
skinCode: '08',
trainingName: '查询进路控制状态({5} 信号机)',
trainingRemark: '查询进路控制状态功能',
trainingType:'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【查询进路控制状态】' },
{ deviceType: '04', orderNum: 2, operateCode: '316', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING.value,
skinCode: '08',
trainingName: '进路交自动控({5} 信号机)',
trainingRemark: '进路交自动控功能',
trainingType:'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【进路交自动控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3151', tip: '鼠标左键选择【{5}】', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '315', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING.value,
skinCode: '08',
trainingName: '进路交人工控({5} 信号机)',
trainingRemark: '进路交人工控功能',
trainingType:'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【进路交人工控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3141', tip: '鼠标左键选择【{5}】', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '314', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL.value,
skinCode: '08',
trainingName: '信号重开({3} 进路)',
trainingRemark: '信号重开功能',
trainingType:'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE.value,
skinCode: '08',
trainingName: '总人解({3} 进路)',
trainingRemark: '人解进路(总人解)',
trainingType:'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3050', tip: '鼠标左键点击【总人解】' },
{ deviceType: '04', orderNum: 2, operateCode: '305', tip: '鼠标左键点击选择该信号机', codeType:'SIGNAL'}
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE.value,
skinCode: '08',
trainingName: '进路引导({3} 进路)',
trainingRemark: '进路引导',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【进路引导】' },
{ deviceType: '04', orderNum: 2, operateCode: '308', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER.value,
skinCode: '08',
trainingName: '设置联锁自动触发({3} 进路)',
trainingRemark: '设置联锁自动触发',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '311', tip: '鼠标右键菜单选择【设置联锁自动触发】' },
{ deviceType: '04', orderNum: 2, operateCode: '311', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType:CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER.value,
skinCode: '08',
trainingName: '取消联锁自动触发({3} 进路)',
trainingRemark: '取消联锁自动触发',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '312', tip: '鼠标右键菜单选择【取消联锁自动触发】' },
{ deviceType: '04', orderNum: 2, operateCode: '312', tip: '鼠标左键点击【确定】按钮' }
]
}
// {
// maxDuration: 8,
// minDuration: 5,
// operateType:CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE.value,
// skinCode: '08',
// trainingName: '总取消({3} 进路)',
// trainingRemark: '总取消',
// trainingType:'Signal',
// productTypes: ['01'],
// stepVOList: [
// { deviceType: '04', orderNum: 1, operateCode: '2994', tip: '鼠标左键点击【总取消】' },
// { deviceType: '04', orderNum: 2, operateCode: '2294', tip: '鼠标左键点击选择该信号机', codeType:'SIGNAL'}
// ]
// }
]
};

View File

@ -1,407 +0,0 @@
<template>
<div>
<el-dialog
v-dialogDrag
class="fuzhou-01__systerm station-cmd-control"
:title="title"
:visible.sync="show"
width="840px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<div style="padding: 10px 20px; border: 1px solid lightgray;">
<span class="base-label">{{ $t('menu.commandInformation') }}</span>
<el-form label-position="center" size="mini">
<el-row>
<el-col :span="11">
<el-form-item :label="this.$t('menu.type')" label-width="40px">
<el-select v-model="operation" size="small" disabled style="width:230px">
<el-option
v-for="option in typeList"
:key="option.code"
:label="option.name"
:value="option.code"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item :label="this.$t('menu.stationName')" label-width="100px">
<el-input v-model="stationName" size="small" disabled />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-table
ref="tempData"
class="table"
:data="tempData"
border
style="width: 100%"
size="mini"
highlight-current-row
height="200"
>
<el-table-column prop="order" :width="110" :label="this.$t('menu.serialNumber2')" />
<el-table-column prop="date" :width="160" :label="this.$t('menu.time')" />
<el-table-column prop="context" :width="180" :label="this.$t('menu.implementationProcess')" />
<el-table-column prop="result" :label="this.$t('menu.executionResult')" />
</el-table>
<span class="notice">{{ message }}</span>
<el-row class="button-group">
<el-col :span="2" :offset="3">
<el-button :id="domIdCommand" type="primary" :disabled="cmdDisabled[0]" @click="command">{{ $t('menu.release') }}<span
v-show="timeCountCommand>0"
>({{ timeCountCommand }})</span></el-button>
</el-col>
<el-col :span="2" :offset="1">
<el-button :id="domIdConfirm1" type="primary" style="width:120px;" :disabled="cmdDisabled[1]" @click="confirm1">{{ $t('menu.firstConfirm') }}
</el-button>
</el-col>
<el-col :span="2" :offset="2">
<el-button :id="domIdConfirm2" type="primary" style="width:120px;" :disabled="cmdDisabled[2]" @click="confirm2">{{ $t('menu.secondConfirm') }}<span
v-show="timeCountConfirm>0"
>({{ timeCountConfirm }})</span></el-button>
</el-col>
<el-col :span="2" :offset="2">
<el-button :id="domIdStop" type="primary" :disabled="stpDisabled" @click="stop">{{ $t('menu.suspend') }}</el-button>
</el-col>
<el-col :span="2" :offset="1">
<el-button :id="domIdClose" @click="close">{{ $t('global.close') }}</el-button>
</el-col>
</el-row>
</el-dialog>
</div>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { now } from '@/utils/date';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'StationCmdControl',
data() {
return {
dialogShow: false,
backOperate: '',
order: 0,
row: null,
timer: null,
operation: '',
cmdDisabled: [true, true, true],
stpDisabled: true,
tempData: [],
message: '',
timeCountCommand: -1,
timeCountConfirm: -1,
stationName: ''
};
},
computed: {
typeList() {
return [
{ code: OperationEvent.Station.powerUnLock.menu.operation, name: this.$t('menu.menuStation.powerUnLock') },
{ code: OperationEvent.Station.execKeyOperationTest.menu.operation, name: this.$t('menu.menuStation.execKeyOperationTest') }
];
},
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCommand() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
return OperationEvent.Station.powerUnLock.order.domId;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
return OperationEvent.Station.execKeyOperationTest.order.domId;
}
}
return '';
},
domIdConfirm1() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
return OperationEvent.Station.powerUnLock.confirm1.domId;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
return OperationEvent.Station.execKeyOperationTest.confirm1.domId;
}
}
return '';
},
domIdConfirm2() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
return OperationEvent.Station.powerUnLock.confirm2.domId;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
return OperationEvent.Station.execKeyOperationTest.confirm2.domId;
}
}
return '';
},
domIdStop() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
return OperationEvent.Station.powerUnLock.stop.domId;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
return OperationEvent.Station.execKeyOperationTest.stop.domId;
}
}
return '';
},
domIdClose() {
if (this.dialogShow) {
return OperationEvent.Command.close.menu.domId;
}
return '';
},
title() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
return this.$t('menu.signalDeblocking');
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
return this.$t('menu.menuStation.execKeyOperationTest');
}
}
return '';
}
},
watch: {
cmdDisabled: {
handler(val, oldVal) {
this.stpDisabled = true;
val.forEach((elem, index) => {
// 1
if (elem == false && index >= 1 && index <= 2) {
this.stpDisabled = false;
}
});
},
deep: true
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
this.timer = setInterval(() => {
if (!this.$store.state.menuOperation.break) {
if (this.timeCountCommand > 0) {
this.timeCountCommand--;
} else if (this.timeCountCommand == 0) {
this.setButtonEnable({ step: 0 });
this.timeCountCommand = -1;
}
if (this.timeCountConfirm > 0) {
this.timeCountConfirm--;
} else if (this.timeCountConfirm == 0) {
this.setButtonEnable({ step: 0 });
this.timeCountConfirm = -1;
}
}
}, 1000);
},
beforeDestroy() {
clearInterval(this.timer);
this.timer = null;
},
methods: {
doShow(operate, selected) {
if (!this.dialogShow) {
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Station'.toUpperCase()) {
this.stationName = selected.name;
}
this.order = 0;
this.operation = operate.operation;
this.tempData = [];
this.timeCountCommand = -1;
this.timeCountConfirm = -1;
this.cmdDisabled = [false, true, true];
}
this.stpDisabled = true;
this.dialogShow = true;
this.setMessage(this.$t('tip.releaseTip'));
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
command() {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation ||
this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 第一步不带弹框处理*/
this.commandNoPopUp();
} else {
/** 第一步带弹框处理*/
this.commandHasPopUp();
}
},
commandHasPopUp() {
},
commandNoPopUp() {
const operate = {
};
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
operate.operation = OperationEvent.Station.powerUnLock.order.operation;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
operate.operation = OperationEvent.Station.execKeyOperationTest.order.operation;
}
this.setMessage(this.$t('tip.firstConfirmTip'));
this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: '' });
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.setButtonEnable({ step: 1 });
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: this.$t('tip.executionSucceed') });
} else {
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: this.$t('tip.executionFailed') });
}
}).catch(() => {
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickReleaseCommand'), result: this.$t('tip.executionException') });
});
},
confirm1() {
const operate = {
};
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
operate.operation = OperationEvent.Station.powerUnLock.confirm1.operation;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
operate.operation = OperationEvent.Station.execKeyOperationTest.confirm1.operation;
}
this.setMessage(this.$t('tip.secondConfirmTip'));
this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickFirstConfirm'), result: '' });
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.timeCountCommand = -1;
this.timeCountConfirm = 10;
this.setButtonEnable({ step: 2 });
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickFirstConfirm'), result: this.$t('tip.executionSucceed') });
} else {
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickFirstConfirm'), result: this.$t('tip.executionFailed') });
}
}).catch(() => {
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickFirstConfirm'), result: this.$t('tip.executionException') });
});
},
confirm2() {
const operate = {
over: true
};
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
operate.operation = OperationEvent.Station.powerUnLock.confirm2.operation;
operate.cmdType = CMD.Station.CMD_STATION_POWER_ON_UNLOCK;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
operate.operation = OperationEvent.Station.execKeyOperationTest.confirm2.operation;
operate.cmdType = CMD.Station.CMD_STATION_KEY_OPERATION_TEST;
}
this.setMessage('');
this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: '' });
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.timeCountCommand = -1;
this.timeCountConfirm = -1;
this.setButtonEnable({ step: -1 });
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: this.$t('tip.executionSucceed') });
} else {
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: this.$t('tip.executionFailed') });
}
}).catch(() => {
this.timeCountCommand = -1;
this.timeCountConfirm = -1;
this.setButtonEnable({ step: -1 });
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: this.$t('tip.executionException') });
});
},
stop() {
const operate = {
};
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
operate.operation = OperationEvent.Station.powerUnLock.stop.operation;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
operate.operation = OperationEvent.Station.execKeyOperationTest.stop.operation;
}
this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickSuspend'), result: '' });
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.setButtonEnable({ step: 0 });
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSuspend'), result: this.$t('tip.executionSucceed') });
} else {
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSuspend'), result: this.$t('tip.executionFailed') });
}
}).catch(() => {
this.editRecord({ order: this.order, date: now(), context: this.$t('menu.clickSuspend'), result: this.$t('tip.executionException') });
});
},
close() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
},
getOperate(operate) {
/** 弹框返回值处理*/
},
setButtonEnable(param) {
this.cmdDisabled = [true, true, true];
if (param && param.step >= 0) {
this.cmdDisabled[param.step] = false;
}
},
setMessage(message) {
this.message = message;
},
writeRecord(param) {
this.tempData.push(param);
},
editRecord(param) {
this.tempData.forEach(elem => {
if (elem.order == param.order) {
for (var prop in param) {
elem[prop] = param[prop];
}
}
});
}
}
};
</script>

View File

@ -1,123 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="fuzhou-01__systerm station-human-control-all"
:title="title"
:visible.sync="show"
width="430px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
append-to-body
>
<div class="context">
<span>{{ title }}</span>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">{{ $t('global.confirm') }}</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel">{{ $t('global.cancel') }}</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="fuzhou-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'StationHumanControlAll',
components: {
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
operation: null
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
return this.$t('menu.fullConcentrationStationAccessManualControl');
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Station.humanControlALL.menu.domId : '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate) {
if (!this.dialogShow) {
this.loading = false;
this.operation = operate.operation;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
const operate = {
over: true,
operation: OperationEvent.Station.humanControlALL.menu.operation,
cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style>
.station-human-control-all .context {
padding-bottom: 40px !important;
border: 1px solid lightgray;
}
</style>

View File

@ -1,145 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="fuzhou-01__systerm station-set-route-control-all"
:title="title"
:visible.sync="show"
width="450px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
append-to-body
>
<div style="padding: 0px 10px">
<el-form ref="form" size="small" label-width="110px" label-position="left">
<el-form-item :label="this.$t('menu.concentratedStationName')" prop="stationName">
<el-input v-model="stationName" size="small" disabled />
</el-form-item>
</el-form>
<el-radio-group v-model="mode">
<el-row>
<el-radio :label="true">{{ $t('menu.checkConflict') }}</el-radio>
</el-row>
<el-row style="margin-top: 20px">
<el-radio :label="false">{{ $t('menu.notCheckConflict') }}</el-radio>
</el-row>
</el-radio-group>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">{{ $t('global.confirm') }}</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel">{{ $t('global.cancel') }}</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="fuzhou-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'StationSetRouteControlAll',
components: {
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
operation: null,
stationName: '',
mode: true
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
return this.$t('menu.fullConcentrationStationSettingAccessControlMode');
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Station.atsAutoControlALL.menu.domId : '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
if (!this.dialogShow) {
this.loading = false;
this.operation = operate.operation;
this.stationName = '';
if (selected) {
this.stationName = selected.name;
}
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
const operate = {
over: true,
operation: OperationEvent.Station.atsAutoControlALL.menu.operation,
cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING,
val: this.mode,
param: {
CheckConflict: this.mode
}
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style>
.station-set-route-control-all .context {
padding-bottom: 40px !important;
border: 1px solid lightgray;
}
</style>

View File

@ -1,18 +1,18 @@
<template>
<div>
<pop-menu ref="popMenu" :menu="menu" />
<station-cmd-control ref="stationCmdControl" />
<station-human-control-all ref="stationHumanControlAll" />
<station-set-route-control-all ref="stationSetRouteControlAll" />
<station-cmd-control ref="stationCmdControl" pop-class="fuzhou-01__systerm" />
<station-human-control-all ref="stationHumanControlAll" pop-class="fuzhou-01__systerm" />
<station-set-route-control-all ref="stationSetRouteControlAll" pop-class="fuzhou-01__systerm" />
<notice-info ref="noticeInfo" pop-class="fuzhou-01__systerm" />
</div>
</template>
<script>
import PopMenu from '@/components/PopMenu';
import StationCmdControl from './dialog/stationCmdControl';
import StationHumanControlAll from './dialog/stationHumanControlAll';
import StationSetRouteControlAll from './dialog/stationSetRouteControlAll';
import StationCmdControl from '@/jmapNew/theme/components/menus/dialog/stationCmdControl';
import StationHumanControlAll from '@/jmapNew/theme/components/menus/dialog/stationHumanControlAll';
import StationSetRouteControlAll from '@/jmapNew/theme/components/menus/dialog/stationSetRouteControlAll';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';

View File

@ -25,9 +25,7 @@ import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
// import { querySignalStatus } from '@/api/simulation';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
export default {

View File

@ -1,401 +0,0 @@
<template>
<div>
<el-dialog
v-dialogDrag
class="ningbo-01__systerm station-cmd-control"
:title="title"
:visible.sync="show"
width="800px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<div style="padding: 10px 20px; border: 1px solid lightgray;">
<span class="base-label">命令信息</span>
<el-form label-position="center" size="mini">
<el-row>
<el-col :span="8">
<el-form-item label="类型" label-width="40px">
<el-select v-model="operation" size="small" disabled>
<el-option
v-for="option in typeList"
:key="option.code"
:label="option.name"
:value="option.code"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车站名称" label-width="100px">
<el-input v-model="stationName" size="small" disabled />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-table
ref="tempData"
class="table"
:data="tempData"
border
style="width: 100%"
size="mini"
highlight-current-row
height="200"
>
<el-table-column prop="order" :width="50" label="序号" />
<el-table-column prop="date" :width="160" label="时间" />
<el-table-column prop="context" :width="180" label="执行过程" />
<el-table-column prop="result" label="执行结果" />
</el-table>
<span class="notice">{{ message }}</span>
<el-row class="button-group">
<el-col :span="2" :offset="2">
<el-button :id="domIdCommand" type="primary" :disabled="cmdDisabled[0]" @click="command">下达<span
v-show="timeCountCommand>0"
>({{ timeCountCommand }})</span></el-button>
</el-col>
<el-col :span="2" :offset="2">
<el-button :id="domIdConfirm1" type="primary" :disabled="cmdDisabled[1]" @click="confirm1">确认1
</el-button>
</el-col>
<el-col :span="2" :offset="2">
<el-button :id="domIdConfirm2" type="primary" :disabled="cmdDisabled[2]" @click="confirm2">确认2<span
v-show="timeCountConfirm>0"
>({{ timeCountConfirm }})</span></el-button>
</el-col>
<el-col :span="2" :offset="2">
<el-button :id="domIdStop" type="primary" :disabled="stpDisabled" @click="stop">中止</el-button>
</el-col>
<el-col :span="2" :offset="2">
<el-button :id="domIdClose" @click="close">关闭</el-button>
</el-col>
</el-row>
</el-dialog>
</div>
</template>
<script>
import { OperationEvent } from '@/scripts/ConstDic';
import { now } from '@/utils/date';
import {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'StationCmdControl',
data() {
return {
dialogShow: false,
backOperate: '',
selected: null,
order: 0,
row: null,
timer: null,
operation: '',
cmdDisabled: [true, true, true],
stpDisabled: true,
tempData: [],
message: '',
timeCountCommand: -1,
timeCountConfirm: -1,
stationName: ''
};
},
computed: {
typeList() {
return [
{ code: OperationEvent.Station.powerUnLock.menu.operation, name: '上电解锁' },
{ code: OperationEvent.Station.execKeyOperationTest.menu.operation, name: '执行关键操作测试' }
];
},
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCommand() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
return OperationEvent.Station.powerUnLock.order.domId;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
return OperationEvent.Station.execKeyOperationTest.order.domId;
}
}
},
domIdConfirm1() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
return OperationEvent.Station.powerUnLock.confirm1.domId;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
return OperationEvent.Station.execKeyOperationTest.confirm1.domId;
}
}
},
domIdConfirm2() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
return OperationEvent.Station.powerUnLock.confirm2.domId;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
return OperationEvent.Station.execKeyOperationTest.confirm2.domId;
}
}
},
domIdStop() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
return OperationEvent.Station.powerUnLock.stop.domId;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
return OperationEvent.Station.execKeyOperationTest.stop.domId;
}
}
},
domIdClose() {
if (this.dialogShow) {
return OperationEvent.Command.close.menu.domId;
}
},
title() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
return '上电解锁';
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
return '执行关键操作测试';
}
}
}
},
watch: {
cmdDisabled: {
handler(val, oldVal) {
this.stpDisabled = true;
val.forEach((elem, index) => {
// 1
if (elem == false && index >= 1 && index <= 2) {
this.stpDisabled = false;
}
});
},
deep: true
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
this.timer = setInterval(() => {
if (!this.$store.state.menuOperation.break) {
if (this.timeCountCommand > 0) {
this.timeCountCommand--;
} else if (this.timeCountCommand == 0) {
this.setButtonEnable({ step: 0 });
this.timeCountCommand = -1;
}
if (this.timeCountConfirm > 0) {
this.timeCountConfirm--;
} else if (this.timeCountConfirm == 0) {
this.setButtonEnable({ step: 0 });
this.timeCountConfirm = -1;
}
}
}, 1000);
},
beforeDestroy() {
clearInterval(this.timer);
this.timer = null;
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Station'.toUpperCase()) {
this.stationName = selected.name;
}
this.order = 0;
this.operation = operate.operation;
this.tempData = [];
this.timeCountCommand = -1;
this.timeCountConfirm = -1;
this.cmdDisabled = [false, true, true];
}
this.stpDisabled = true;
this.dialogShow = true;
this.setMessage('请点击“下达”按钮,下达命令!');
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
mouseCancelState(this.selected);
},
command() {
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation ||
this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 第一步不带弹框处理*/
this.commandNoPopUp();
} else {
/** 第一步带弹框处理*/
this.commandHasPopUp();
}
},
commandHasPopUp() {
},
commandNoPopUp() {
const operate = {};
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
operate.operation = OperationEvent.Station.powerUnLock.order.operation;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
operate.operation = OperationEvent.Station.execKeyOperationTest.order.operation;
}
this.setMessage('请点击“确认1”按钮确认命令');
this.writeRecord({ order: ++this.order, date: now(), context: '点击下达命令', result: '' });
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.setButtonEnable({ step: 1 });
this.editRecord({ order: this.order, date: now(), context: '点击下达命令', result: '执行成功' });
} else {
this.editRecord({ order: this.order, date: now(), context: '点击下达命令', result: '执行失败' });
}
}).catch(() => {
this.editRecord({ order: this.order, date: now(), context: '点击下达命令', result: '执行异常' });
});
},
confirm1() {
const operate = {};
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
operate.operation = OperationEvent.Station.powerUnLock.confirm1.operation;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
operate.operation = OperationEvent.Station.execKeyOperationTest.confirm1.operation;
}
this.setMessage('请点击“确认2”按钮确认命令');
this.writeRecord({ order: ++this.order, date: now(), context: '点击确认1', result: '' });
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.timeCountCommand = -1;
this.timeCountConfirm = 10;
this.setButtonEnable({ step: 2 });
this.editRecord({ order: this.order, date: now(), context: '点击确认1', result: '执行成功' });
} else {
this.editRecord({ order: this.order, date: now(), context: '点击确认1', result: '执行失败' });
}
}).catch(() => {
this.editRecord({ order: this.order, date: now(), context: '点击确认1', result: '执行异常' });
});
},
confirm2() {
const operate = {
send: true
};
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
operate.operation = OperationEvent.Station.powerUnLock.confirm2.operation;
operate.cmdType = CMD.Station.CMD_STATION_POWER_ON_UNLOCK;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
operate.operation = OperationEvent.Station.execKeyOperationTest.confirm2.operation;
operate.cmdType = CMD.Station.CMD_STATION_KEY_OPERATION_TEST;
}
this.setMessage('');
this.writeRecord({ order: ++this.order, date: now(), context: '点击确认2', result: '' });
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.timeCountCommand = -1;
this.timeCountConfirm = -1;
this.setButtonEnable({ step: -1 });
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.editRecord({ order: this.order, date: now(), context: '点击确认2', result: '执行成功' });
} else {
this.editRecord({ order: this.order, date: now(), context: '点击确认2', result: '执行失败' });
}
}).catch(() => {
this.timeCountCommand = -1;
this.timeCountConfirm = -1;
this.setButtonEnable({ step: -1 });
this.editRecord({ order: this.order, date: now(), context: '点击确认2', result: '执行异常' });
});
},
stop() {
const operate = {};
if (this.operation == OperationEvent.Station.powerUnLock.menu.operation) {
/** 上电解锁*/
operate.operation = OperationEvent.Station.powerUnLock.stop.operation;
} else if (this.operation == OperationEvent.Station.execKeyOperationTest.menu.operation) {
/** 执行关键操作测试*/
operate.operation = OperationEvent.Station.execKeyOperationTest.stop.operation;
}
this.writeRecord({ order: ++this.order, date: now(), context: '点击终止', result: '' });
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.setButtonEnable({ step: 0 });
this.editRecord({ order: this.order, date: now(), context: '点击终止', result: '执行成功' });
} else {
this.editRecord({ order: this.order, date: now(), context: '点击终止', result: '执行失败' });
}
}).catch(() => {
this.editRecord({ order: this.order, date: now(), context: '点击终止', result: '执行异常' });
});
},
close() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
},
getOperate(operate) {
/** 弹框返回值处理*/
},
setButtonEnable(param) {
this.cmdDisabled = [true, true, true];
if (param && param.step >= 0) {
this.cmdDisabled[param.step] = false;
}
},
setMessage(message) {
this.message = message;
},
writeRecord(param) {
this.tempData.push(param);
},
editRecord(param) {
this.tempData.forEach(elem => {
if (elem.order == param.order) {
for (var prop in param) {
elem[prop] = param[prop];
}
}
});
}
}
};
</script>

View File

@ -1,118 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="ningbo-01__systerm station-human-control-all"
:title="title"
:visible.sync="show"
width="360px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
append-to-body
>
<div class="context">
<span>{{ title }}</span>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/ConstDic';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
export default {
name: 'StationHumanControlAll',
components: {
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
return '全集中站进路交人工控';
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Station.humanControlALL.menu.domId : '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
this.loading = false;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
mouseCancelState(this.selected);
},
commit() {
this.loading = true;
commitOperate(menuOperate.Station.humanControlALL, {}, 2).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(error=>{
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(error.message);
});
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style>
.station-human-control-all .context {
padding-bottom: 40px !important;
border: 1px solid lightgray;
}
</style>

View File

@ -1,136 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="ningbo-01__systerm station-set-route-control-all"
:title="title"
:visible.sync="show"
width="320px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
append-to-body
>
<div style="padding: 0px 10px">
<el-form ref="form" size="small" label-width="90px" label-position="left">
<el-form-item label="集中站名称:" prop="stationName">
<el-input v-model="stationName" size="small" disabled />
</el-form-item>
</el-form>
<el-radio-group v-model="mode">
<el-row>
<el-radio :label="true">检查冲突</el-radio>
</el-row>
<el-row style="margin-top: 20px">
<el-radio :label="false">不检查冲突</el-radio>
</el-row>
</el-radio-group>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/ConstDic';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
export default {
name: 'StationSetRouteControlAll',
components: {
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
stationName: '',
mode: true
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
return '全集中站设置进路控制模式';
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Station.atsAutoControlALL.menu.domId : '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
this.loading = false;
this.stationName = '';
if (selected) {
this.stationName = selected.name;
}
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
mouseCancelState(this.selected);
},
commit() {
this.loading = true;
commitOperate(menuOperate.Station.atsAutoControlALL, {CheckConflict: this.mode}, 2, this.mode).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(error=>{
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(error.message);
});
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style>
.station-set-route-control-all .context {
padding-bottom: 40px !important;
border: 1px solid lightgray;
}
</style>

View File

@ -1,18 +1,18 @@
<template>
<div>
<pop-menu ref="popMenu" :menu="menu" />
<station-cmd-control ref="stationCmdControl" />
<station-human-control-all ref="stationHumanControlAll" />
<station-set-route-control-all ref="stationSetRouteControlAll" />
<station-cmd-control ref="stationCmdControl" pop-class="ningbo-01__systerm" />
<station-human-control-all ref="stationHumanControlAll" pop-class="ningbo-01__systerm" />
<station-set-route-control-all ref="stationSetRouteControlAll" pop-class="ningbo-01__systerm" />
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</div>
</template>
<script>
import PopMenu from '@/components/PopMenu';
import StationCmdControl from './dialog/stationCmdControl';
import StationHumanControlAll from './dialog/stationHumanControlAll';
import StationSetRouteControlAll from './dialog/stationSetRouteControlAll';
import StationCmdControl from '@/jmapNew/theme/components/menus/dialog/stationCmdControl';
import StationHumanControlAll from '@/jmapNew/theme/components/menus/dialog/stationHumanControlAll';
import StationSetRouteControlAll from '@/jmapNew/theme/components/menus/dialog/stationSetRouteControlAll';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { mapGetters } from 'vuex';
@ -85,12 +85,12 @@ export default {
menuForce: [
{
label: '设置ZC故障',
handler: this.setStoppage,
handler: this.undeveloped,
cmdType: CMD.Station.CMD_STATION_ADD_FAULT
},
{
label: '取消ZC故障',
handler: this.cancelStoppage,
handler: this.undeveloped,
cmdType: CMD.Station.CMD_STATION_REMOVE_FAULT
}
]
@ -150,7 +150,7 @@ export default {
};
mouseCancelState(this.selected);
this.$store.dispatch('training/next', operate).then(({ valid }) => {
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else {
@ -170,7 +170,7 @@ export default {
};
mouseCancelState(this.selected);
this.$store.dispatch('training/next', operate).then(({ valid }) => {
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else {
@ -225,6 +225,14 @@ export default {
this.$refs.stationSetRouteControlAll.doShow(operate, this.selected);
}
});
},
undeveloped() {
this.doClose();
this.$alert('实现中......', '提示', {
confirmButtonText: '确定',
callback: action => {
}
});
}
}
};

View File

@ -198,12 +198,12 @@ export default {
},
menuForce: [
{
label: '设置通信故障',
handler: this.setStoppage
label: '设置故障',
handler: this.undeveloped
},
{
label: '取消通信故障',
handler: this.cancelStoppage
label: '取消故障',
handler: this.undeveloped
}
],
menuSpeed: [

View File

@ -281,7 +281,6 @@ export default {
});
},
doClose() {
debugger;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
mouseCancelState(this.selected);

View File

@ -423,7 +423,6 @@ export default {
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};

View File

@ -1,18 +1,18 @@
<template>
<div>
<pop-menu ref="popMenu" :menu="menu" pop-menu-class="xian-01__systerm" />
<station-cmd-control ref="stationCmdControl" />
<station-human-control-all ref="stationHumanControlAll" />
<station-set-route-control-all ref="stationSetRouteControlAll" />
<station-cmd-control ref="stationCmdControl" pop-class="xian-01__systerm" />
<station-human-control-all ref="stationHumanControlAll" pop-class="xian-01__systerm" />
<station-set-route-control-all ref="stationSetRouteControlAll" pop-class="xian-01__systerm" />
<notice-info ref="noticeInfo" pop-class="xian-01__systerm" />
</div>
</template>
<script>
import PopMenu from '@/components/PopMenu';
import StationCmdControl from './dialog/stationCmdControl';
import StationHumanControlAll from './dialog/stationHumanControlAll';
import StationSetRouteControlAll from './dialog/stationSetRouteControlAll';
import StationCmdControl from '@/jmapNew/theme/components/menus/dialog/stationCmdControl';
import StationHumanControlAll from '@/jmapNew/theme/components/menus/dialog/stationHumanControlAll';
import StationSetRouteControlAll from '@/jmapNew/theme/components/menus/dialog/stationSetRouteControlAll';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { mapGetters } from 'vuex';
import { OperateMode } from '@/scripts/ConstDic';
@ -95,13 +95,13 @@ export default {
},
menuForce: [
{
label: '设置ZC故障',
handler: this.setStoppage,
label: '设置故障',
handler: this.undeveloped,
cmdType: CMD.Station.CMD_STATION_ADD_FAULT
},
{
label: '取消ZC故障',
handler: this.cancelStoppage,
label: '取消故障',
handler: this.undeveloped,
cmdType: CMD.Station.CMD_STATION_REMOVE_FAULT
}
]
@ -238,6 +238,14 @@ export default {
this.$refs.stationSetRouteControlAll.doShow(operate, this.selected);
}
});
},
undeveloped() {
this.doClose();
this.$alert('实现中......', '提示', {
confirmButtonText: '确定',
callback: action => {
}
});
}
}
};

View File

@ -5,6 +5,7 @@
<switch-cmd-control ref="switchCmdControl" />
<speed-cmd-control ref="speedCmdControl" />
<notice-info ref="noticeInfo" pop-class="xian-01__systerm" />
<set-fault ref="setFault" pop-class="xian-01__systerm" />
</div>
</template>

View File

@ -101,13 +101,13 @@ export default {
},
menuForce: [
{
label: this.$t('menu.menuTrain.setCommunicationFault'),
handler: this.setStoppage,
label: '设置故障',
handler: this.undeveloped,
cmdType:CMD.Train.CMD_TRAIN_ADD_FAULT
},
{
label: this.$t('menu.menuTrain.cancelCommunicationFault'),
handler: this.cancelStoppage,
label: '取消故障',
handler: this.undeveloped,
cmdType:CMD.Train.CMD_TRAIN_REMOVE_FAULT
}
],

View File

@ -1,306 +0,0 @@
<template>
<div>
<el-dialog
v-dialogDrag
class="xian-02__system route-hand-control"
:title="title"
:visible.sync="show"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header">
<el-col :span="11"><span>集中站</span></el-col>
<el-col :span="11" :offset="2"><span>始端信号机</span></el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<div class="table">
<el-table
ref="tempTable"
:data="tempData"
border
style="width: 100%"
size="mini"
highlight-current-row
:height="140"
>
<el-table-column prop="name" label="选择" width="55" style="margin-left:50px; text-align: right;">
<template slot-scope="scope">
<el-checkbox
v-model="changeList[scope.$index]"
style="text-align: center; display: block;"
:disabled="scope.row.disabled"
@change="changeCheck(changeList[scope.$index], scope.row.code)"
/>
</template>
</el-table-column>
<el-table-column :id="domIdChoose" prop="name" label="进路" style="margin-left:30px">
<template slot-scope="scope">
<span :style="{color: scope.row.disabled ? '#CBCBCB':'unset'}">{{ scope.row.name }}</span>
</template>
</el-table-column>
</el-table>
</div>
<el-row>
<el-col :span="22" :offset="1">
<el-checkbox v-model="allSelect" size="small" @change="allSelectChange">全选</el-checkbox>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button
:id="domIdConfirm"
type="primary"
:disabled="commitDisabled"
:loading="loading"
@click="commit"
>确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<confirm-control ref="confirmControl" />
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import ConfirmControl from './childDialog/confirmControl';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
export default {
name: 'RouteHandControl',
components: {
ConfirmControl,
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
tempData: [],
operation: null,
selection: [],
stationName: '',
signalName: '',
allSelect: false,
changeList:[],
commitDisabled: true,
disabledLength: 0
};
},
computed: {
...mapGetters('map', [
'signalList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
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) : '';
},
title() {
if (this.operation == OperationEvent.Signal.humanControl.menu.operation) {
return '进路交人工控';
} else if (this.operation == OperationEvent.Signal.atsAutoControl.menu.operation) {
return '进路交自动控';
}
return '';
}
},
watch: {
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected, tempData) {
this.selected = selected;
this.allSelect = false;
this.changeList = [];
this.commitDisabled = true;
this.selection = [];
this.disabledLength = 0;
//
if (!this.dialogShow) {
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
if (tempData && tempData.length > 0) {
tempData.forEach(elem => {
this.changeList.push(false);
elem.disabled = false;
//
if (operate.operation == OperationEvent.Signal.humanControl.menu.operation && elem.atsControl == 0) {
elem.disabled = true;
this.disabledLength++;
} if (operate.operation == OperationEvent.Signal.atsAutoControl.menu.operation && elem.atsControl == 1) {
elem.disabled = true;
this.disabledLength++;
}
});
}
this.tempData = tempData || [];
this.operation = operate.operation;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$refs.tempTable.setCurrentRow();
this.$store.dispatch('training/emitTipFresh');
},
changeCheck(check, code) {
if (check) {
this.selection.push(code);
} else {
this.selection.splice(this.selection.indexOf(code), 1);
}
if (this.selection.length >= (this.tempData.length - this.disabledLength) ) {
this.allSelect = true;
} else {
this.allSelect = false;
}
if (this.selection.length > 0) {
this.commitDisabled = false;
this.handleChooseChange();
} else {
this.commitDisabled = true;
}
},
allSelectChange() {
this.changeList = [];
if (this.allSelect) {
this.tempData.forEach((item, index)=> {
if (!item.disabled) {
this.changeList.push(true);
this.selection.push(item.code);
} else {
this.changeList.push('');
}
});
this.allSelect = true;
if (this.selection.length > 0) {
this.commitDisabled = false;
}
} else {
this.tempData.forEach((item, index) => {
if (!item.disabled) {
this.changeList.push(false);
this.selection.splice(this.selection.indexOf(item.code), 1);
} else {
this.changeList = [];
}
});
this.allSelect = false;
this.commitDisabled = true;
}
},
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;
}
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) {
/** 进路交人工控*/
this.humanControl();
} else if (this.operation == OperationEvent.Signal.atsAutoControl.menu.operation) {
/** 进路交自动控*/
this.atsAutoControl();
}
},
//
humanControl() {
this.sendCommand(menuOperate.Signal.humanControl);
},
//
atsAutoControl() {
this.sendCommand(menuOperate.Signal.atsAutoControl);
},
sendCommand(operate) {
this.loading = true;
commitOperate(operate, {routeCodeList:this.selection}, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(error => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow({}, error.message);
});
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>

View File

@ -1,170 +0,0 @@
<template>
<div>
<el-dialog
v-dialogDrag
class="xian-02__system route-lock"
:title="title"
:visible.sync="show"
width="340px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header">
<el-col :span="10"><span>集中站</span></el-col>
<el-col :span="10" :offset="2"><span>信号设备</span></el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="10" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<!-- <div class="table">
<span>信号按钮列表</span>
<el-table
ref="table"
:data="tempData"
border
style="width: 100%"
size="mini"
highlight-current-row
:height="140"
>
<el-table-column prop="name" label="按钮名称" />
<el-table-column prop="status" label="按钮状态" />
</el-table>
</div> -->
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'RouteLock',
components: {
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
// tempData: [],
operate: null,
stationName: '',
signalName: ''
};
},
computed: {
...mapGetters('map', [
'signalList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.lock.menu.domId : '';
},
title() {
return '封锁信号';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
this.operate = operate.operation;
//
if (!this.dialogShow) {
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
/** status 04:封锁*/
// const signal = (selected || {}).state;
// this.tempData = [{ code: selected.code, name: selected.name, status: !selected.blockade ? '' : '' }];
// const timer = setInterval(() => {
// if (this.$refs.table) {
// this.$refs.table.setCurrentRow(this.tempData[0]);
// clearInterval(timer);
// }
// }, 300);
}
this.dialogShow = true;
this.$nextTick(() => {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
const operate = {
over: true,
operation: this.operate,
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate, error.message);
});
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>

View File

@ -1,212 +0,0 @@
<template>
<el-dialog v-dialogDrag class="xian-02__system route-setting" :title="title" :visible.sync="show" width="350px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row class="header">
<el-col :span="11"><span>集中站</span></el-col>
<el-col :span="11" :offset="2"><span>始端信号机</span></el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<el-row style="margin-top: 10px; line-height: 30px;">
<el-col :span="11"><span>进路列表</span></el-col>
<el-col :span="11" :offset="2">
<!-- <el-button class="expand" @click="expandPath">展开进路预览</el-button> -->
</el-col>
</el-row>
<el-table ref="table" :data="tempData" border :cell-style="tableStyle" style="width: 100%; height: 120px; margin-top:10px" size="mini" highlight-current-row :show-header="false" @row-click="clickEvent">
<el-table-column :id="domIdChoose" prop="name" style="margin-left:30px" />
</el-table>
<el-row justify="center" class="button-group">
<el-col :span="8" :offset="4">
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="commitDisabled" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import { deepAssign } from '@/utils/index';
export default {
name: 'RouteSelection',
components: {
NoticeInfo
},
data() {
return {
tempData: [],
beforeSectionList: [],
dialogShow: false,
loading: false,
selected: null,
row: null,
operation: '',
display: true,
stationName: '',
signalName: '',
tableStyle: {
'border-bottom': 'none'
}
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
},
title() {
return '进路设置';
},
commitDisabled() {
let disabled = true;
if (this.row) {
disabled = !this.row.canSetting;
}
return disabled;
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
expandPath() {
console.log('展开进路预览');
},
doShow(operate, selected, tempData) {
this.selected = selected;
//
if (!this.dialogShow) {
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
this.tempData = tempData || [];
this.operation = operate.operation;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.restoreBeforeDevices();
this.$refs.table.setCurrentRow();
this.$store.dispatch('training/emitTipFresh');
},
restoreBeforeDevices() {
//
if (this.beforeSectionList && this.beforeSectionList.length) {
this.beforeSectionList.forEach(elem => {
elem.cutOff = false;
});
}
this.$store.dispatch('training/updateMapState', [...this.beforeSectionList]);
this.beforeSectionList = [];
},
clickEvent(row, event, column) {
this.row = row;
if (row) {
//
this.row.canSetting = true;
this.restoreBeforeDevices();
const containSectionList = [];
if (!row.setting) {
//
if (row.routeSectionList && row.routeSectionList.length) {
//
row.routeSectionList.forEach(elem => {
const section = deepAssign({}, this.$store.getters['map/getDeviceByCode'](elem));
if (section.logicSectionCodeList && section.logicSectionCodeList.length) {
section.logicSectionCodeList.forEach(item => {
const sec = deepAssign({}, this.$store.getters['map/getDeviceByCode'](item));
sec.cutOff = true;
containSectionList.push(sec);
});
} else {
section.cutOff = true;
containSectionList.push(section);
}
});
}
this.$store.dispatch('training/updateMapState', [...containSectionList]);
this.beforeSectionList = containSectionList || [];
//
const operate = {
operation: OperationEvent.Signal.arrangementRoute.choose.operation,
val: row.code
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
}
});
} else {
this.$refs.noticeInfo.doShow('当前进路不允许排列, 与其他进路可能发生冲突');
}
}
},
commit() {
if (this.row && this.row.canSetting) {
this.loading = true;
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode:this.row.code}, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow({}, error.message);
});
}
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>

View File

@ -1,303 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="xian-02__system stand-detain-train"
:title="title"
:visible.sync="show"
width="380px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<div class="content cotnent_body">
<span class="base-label" style="left: 2px;">操作</span>
<div style="overflow: hidden;">
<div>操作设备</div>
<el-col :span="11">
<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-col>
</div>
</div>
<div class="content cotnent_body">
<span class="base-label" style="left: 2px;">确认</span>
<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.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-col>
</div>
</div>
<div class="body_cont">
<el-col :span="7">
<div class="text">操作倒计时</div>
</el-col>
<el-col :span="17">
<div style="border: 2px inset #E9E9E9; height: 30px; width: 100%;">
{{ timeCountConfirm == -1 ? '' : timeCountConfirm }}</div>
</el-col>
</div>
<div class="body_cont">
<div class="status_text">状态</div>
<div class="textarea_content">
{{ message }}
</div>
</div>
<el-button :id="domIdConfirm" class="close_btn" type="primary" @click="commit">关闭</el-button>
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
</el-dialog>
</template>
<script>
import { mapGetters } from 'vuex';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'StandDetainTrain',
components: {
NoticeInfo
},
data() {
return {
dialogShow: false,
selected: null,
operation: null,
message: '',
messageText1: '',
signalCode: '',
messageText2: '',
timeCountConfirm: -1,
disabledConfirm1: false,
disabledConfirm2: true
};
},
computed: {
...mapGetters('map', [
'signalList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.unlock.choose.domId : '';
},
confirmId1() {
return this.dialogShow ? OperationEvent.Signal.unlock.confirm1.domId : '';
},
confirmId2() {
return this.dialogShow ? OperationEvent.Signal.unlock.confirm2.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.unlock.confirm.domId : '';
},
title() {
return '解除封锁';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
this.timer = setInterval(() => {
if (this.timeCountConfirm > 0) {
this.timeCountConfirm--;
} else if (this.timeCountConfirm == 0) { //
this.timeCountConfirm = -1;
this.disabledConfirm2 = true;
}
}, 1000);
},
methods: {
doShow(operate, selected) {
this.selected = selected;
this.message = '';
if (!this.dialogShow) {
this.messageText1 = selected.name;
this.signalCode = selected.code;
this.operation = operate.operation;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
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');
},
SelectChange() {
const operate = {
operation: OperationEvent.Signal.unlock.choose.operation,
val: this.messageText2
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
}
}).catch((error) => {
this.$refs.noticeInfo.doShow(operate, error.message);
});
},
confirm1() {
const operate = {
operation: OperationEvent.Signal.unlock.confirm1.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.messageText1 = '*****';
this.messageText2 = '';
this.disabledConfirm1 = true;
this.disabledConfirm2 = false;
this.timeCountConfirm = 60; //
}
}).catch((error) => {
this.$refs.noticeInfo.doShow(operate, error.message);
});
},
confirm2() {
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);
});
} else {
this.message = '选择信号机错误';
}
},
commit() {
const operate = {
over: true,
operation: OperationEvent.Signal.unlock.confirm.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.doClose();
}).catch((error) => {
this.doClose();
this.$refs.noticeInfo.doShow(operate, error.message);
});
}
}
};
</script>
<style scoped lang="scss">
.stand-detain-train {
.content {
width: 100%;
border: 1px solid lightgray;
padding: 18px 5px;
position: relative;
height: 80px !important;
.base-label {
position: absolute;
top: -8px;
left: 20px;
background-color: #F0F0F0;
padding: 0 5px;
}
.el-button {
width: 100%;
line-height: 28px;
}
.status_btn {
width: 110px;
margin: 15px auto 0;
display: block;
}
}
.head_content {
height: 110px;
margin-bottom: 10px;
}
.cotnent_body {
margin-bottom: 10px;
.text {
line-height: 30px;
text-align: center;
font-size: 15px;
}
.status_btn {
width: 80px;
margin: 0 auto
}
}
.close_btn {
margin: 0 auto;
width: 80px;
display: block;
}
.body_cont {
margin-bottom: 10px;
padding: 0 3px;
overflow: hidden;
.text {
line-height: 30px;
text-align: center;
font-size: 15px;
}
.status_text {
margin-bottom: 3px;
font-size: 14px;
padding-left: 8px;
}
.textarea_content {
height: 85px;
width: 100%;
border: 2px solid #E9E9E9;
box-shadow: 2px 2px #959595 inset;
}
}
}
</style>

View File

@ -1,135 +0,0 @@
<template>
<div>
<el-dialog
v-dialogDrag
class="xian-02__system route-lock"
:title="title"
:visible.sync="show"
width="340px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header" style="line-height: 44px;">
{{ message }}
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
export default {
name: 'RouteLock',
components: {
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
message: '',
selected: null,
operate: null
};
},
computed: {
...mapGetters('map', [
'signalList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.cancelGuide.menu.domId : '';
},
title() {
if (this.operate == OperationEvent.Signal.cancelGuide.menu.operation) {
return '人解进路';
} else if (this.operate == OperationEvent.Signal.guide.menu.operation) {
return '办理引导进路';
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected, message) {
this.selected = selected;
this.operate = operate.operation;
this.message = message;
this.dialogShow = true;
this.$nextTick(() => {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
if (this.operate == OperationEvent.Signal.cancelGuide.menu.operation) {
this.cancelGuide();
} else if (this.operate == OperationEvent.Signal.guide.menu.operation) {
this.guide();
}
},
// /
cancelGuide() {
this.sendCommand(menuOperate.Signal.cancelGuide);
},
//
guide() {
this.sendCommand(menuOperate.Signal.guide);
},
sendCommand(operate) {
this.loading = true;
commitOperate(operate, {}, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(error => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow({}, error.message);
});
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>

View File

@ -1,126 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="xian-02__system station-human-control-all"
:title="title"
:visible.sync="show"
width="360px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
append-to-body
>
<div class="context">
<span>{{ title }}</span>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
</el-dialog>
</template>
<script>
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
export default {
name: 'StationHumanControlAll',
components: {
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
operation: null
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
return '全集中站进路交人工控';
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Station.humanControlALL.menu.domId : '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
this.loading = false;
this.operation = operate.operation;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
const operate = {
send: true,
type: MapDeviceType.Station.type,
label: MapDeviceType.Station.label,
operation: OperationEvent.Station.humanControlALL.menu.operation
};
this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
},
cancel() {
const operate = {
type: MapDeviceType.Station.type,
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style>
.station-human-control-all .context {
padding-bottom: 40px !important;
border: 1px solid lightgray;
}
</style>

View File

@ -1,145 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="xian-02__system station-set-route-control-all"
:title="title"
:visible.sync="show"
width="320px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
append-to-body
>
<div style="padding: 0px 10px">
<el-form ref="form" size="small" label-width="90px" label-position="left">
<el-form-item label="集中站名称:" prop="stationName">
<el-input v-model="stationName" size="small" disabled />
</el-form-item>
</el-form>
<el-radio-group v-model="mode">
<el-row>
<el-radio :label="true">检查冲突</el-radio>
</el-row>
<el-row style="margin-top: 20px">
<el-radio :label="false">不检查冲突</el-radio>
</el-row>
</el-radio-group>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
</el-dialog>
</template>
<script>
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
export default {
name: 'StationSetRouteControlAll',
components: {
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
operation: null,
stationName: '',
mode: true
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
return '全集中站设置进路控制模式';
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Station.atsAutoControlALL.menu.domId : '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
this.loading = false;
this.operation = operate.operation;
this.stationName = '';
if (selected) {
this.stationName = selected.name;
}
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
const operate = {
send: true,
type: MapDeviceType.Station.type,
label: MapDeviceType.Station.label,
operation: OperationEvent.Station.atsAutoControlALL.menu.operation,
val: this.mode
};
this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
},
cancel() {
const operate = {
type: MapDeviceType.Station.type,
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style>
.station-set-route-control-all .context {
padding-bottom: 40px !important;
border: 1px solid lightgray;
}
</style>

View File

@ -69,7 +69,12 @@ export default {
if (list && list.length) {
list.forEach(item => {
if (item.device && item.device.code) {
const station = this.$store.getters['map/getDeviceByCode'](item.device.stationCode);
let station;
if (item.device._type == 'Station') {
station = item.device;
} else {
station = this.$store.getters['map/getDeviceByCode'](item.device.stationCode);
}
const param = {
station: `CP ${station.name}`,
operation: `${item.device.name} ${item.operation.name}`,

View File

@ -1,12 +1,12 @@
<template>
<div>
<pop-menu ref="popMenu" :menu="menu" pop-class="xian-02__pop_tip_station" :tip-msg="topTip" :tip-subhead="tipSubhead" />
<section-control ref="sectionControl" pop-class="xian-02__systerm" />
<section-control ref="sectionControl" pop-class="xian-02__system" />
<section-un-lock ref="sectionUnLock" />
<speed-limit-control ref="speedLimitControl" />
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
<set-fault ref="setFault" pop-class="xian-02__systerm" />
<train-add-plan ref="trainAddPlan" pop-class="xian-02__systerm" />
<notice-info ref="noticeInfo" pop-class="xian-02__system" />
<set-fault ref="setFault" pop-class="xian-02__system" />
<train-add-plan ref="trainAddPlan" pop-class="xian-02__system" />
</div>
</template>

View File

@ -1,24 +1,14 @@
<template>
<div>
<pop-menu ref="popMenu" :menu="menu" :tip-msg="topTip" :tip-subhead="tipSubhead" pop-class="xian-02__pop_tip_station" />
<route-selection ref="routeSelection" />
<route-lock ref="routeLock" />
<route-un-lock ref="routeUnLock" />
<route-hand-control ref="routeHandControl" />
<route-detail ref="routeDetail" />
<router-command ref="routerCommand" />
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
<set-fault ref="setFault" pop-class="xian-02__systerm" />
<notice-info ref="noticeInfo" pop-class="xian-02__system" />
<set-fault ref="setFault" pop-class="xian-02__system" />
</div>
</template>
<script>
import PopMenu from '@/components/PopMenu/index';
import RouteSelection from './dialog/routeSelection';
import RouteLock from './dialog/routeLock';
import RouteUnLock from './dialog/routeUnLock';
import RouteHandControl from './dialog/routeHandControl';
import RouterCommand from './dialog/routerCommand';
import RouteDetail from './dialog/routeDetail';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
@ -33,12 +23,7 @@ export default {
name: 'SignalMenu',
components: {
PopMenu,
RouteSelection,
RouteLock,
RouteUnLock,
RouteHandControl,
RouteDetail,
RouterCommand,
NoticeInfo,
SetFault
},
@ -58,7 +43,7 @@ export default {
menuNormal: {
Local: [
{
label: '排列进路',
label: '始端/终端选择',
handler: this.arrangementRoute,
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
},
@ -68,42 +53,53 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
},
{
label: '信号机引导办理',
handler: this.guide,
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
},
{
label: '信号封锁',
handler: this.lock,
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
},
{
label: '信号解封',
handler: this.unlock,
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
},
{
label: 'Fleet进路办理',
handler: this.singalPassModel,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
},
{
label: 'Fleet进路取消',
handler: this.singalCancelPassModel,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
},
{
label: '进路交人工控',
handler: this.humanControl,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
},
{
label: '进路交自动控',
label: '开放自动进路',
handler: this.atsAutoControl,
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
},
{
label: '查询进路控制状态',
label: '关闭自动进路',
handler: this.humanControl,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
},
{
label: '终端信号封锁',
handler: this.lock,
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
},
{
label: '终端信号解封',
handler: this.unlock,
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
},
{
label: '引导信号',
handler: this.guideSignal,
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
},
{
label: '设备标签',
children: [
{
label: '创建设备标签',
handler: this.undeveloped
},
{
label: '查看设备标签',
handler: this.undeveloped
},
{
label: '更改设备标签',
handler: this.undeveloped
},
{
label: '删除设备标签',
handler: this.undeveloped
}
]
},
{
label: '帮助',
handler: this.detail,
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
}
@ -521,14 +517,6 @@ export default {
}
});
},
//
guide() {
commitOperate(menuOperate.Signal.guide, {signalCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.routerCommand.doShow(operate, this.selected, '是否执行引导命令?');
}
});
},
resetRouteSignal() {
const startSignalCode = this.$store.state.menuOperation.startSignalCode;
const endSignalRouteList = this.$store.state.menuOperation.endSignalRouteList;

View File

@ -2,8 +2,6 @@
<div class="xian-02__system">
<pop-menu ref="popMenu" :menu="menu" pop-class="xian-02__pop_tip_station" :tip-msg="topTip" :tip-subhead="tipSubhead" />
<station-cmd-control ref="stationCmdControl" />
<station-human-control-all ref="stationHumanControlAll" />
<station-set-route-control-all ref="stationSetRouteControlAll" />
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
</div>
</template>
@ -11,8 +9,6 @@
<script>
import PopMenu from '@/components/PopMenu/index';
import StationCmdControl from './dialog/stationCmdControl';
import StationHumanControlAll from './dialog/stationHumanControlAll';
import StationSetRouteControlAll from './dialog/stationSetRouteControlAll';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { mapGetters } from 'vuex';
@ -26,8 +22,6 @@ export default {
components: {
PopMenu,
StationCmdControl,
StationHumanControlAll,
StationSetRouteControlAll,
NoticeInfo
},
props: {
@ -148,12 +142,12 @@ export default {
},
menuForce: [
{
label: '设置ZC故障',
handler: this.setStoppage
label: '设置故障',
handler: this.undeveloped
},
{
label: '取消ZC故障',
handler: this.cancelStoppage
label: '取消故障',
handler: this.undeveloped
}
]
};
@ -241,37 +235,55 @@ export default {
},
//
humanControlALL() {
const operate = {
const step = {
start: true,
over: true,
code: `${this.selected.code}`,
operation: OperationEvent.Station.humanControlALL.menu.operation,
cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING,
param: {
stationCode: this.selected.code
}
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$store.dispatch('menuOperation/pushRequestList', {
device: this.selected,
operation: { code: OperationEvent.Station.humanControlALL.menu.operation, name: '所有进路自排关'},
cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING,
param: step.param
});
} else {
this.$refs.noticeInfo.doShow(step);
}
}).catch(() => this.doClose());
}).catch(() => {
this.$refs.noticeInfo.doShow(step);
});
},
//
atsAutoControlALL() {
const operate = {
const step = {
start: true,
over: true,
code: `${this.selected.code}`,
operation: OperationEvent.Station.atsAutoControlALL.menu.operation,
cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING,
param: {
stationCode: this.selected.code
}
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$store.dispatch('menuOperation/pushRequestList', {
device: this.selected,
operation: { code: OperationEvent.Station.atsAutoControlALL.menu.operation, name: '所有进路自排开'},
cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING,
param: step.param
});
} else {
this.$refs.noticeInfo.doShow(step);
}
}).catch(() => this.doClose());
}).catch(() => {
this.$refs.noticeInfo.doShow(step);
});
},
undeveloped() {
this.doClose();

View File

@ -1,11 +1,11 @@
<template>
<div>
<pop-menu ref="popMenu" :menu="menu" pop-class="xian-02__pop_tip_station" :tip-msg="topTip" :tip-subhead="tipSubhead" />
<switch-control ref="switchControl" pop-class="xian-02__systerm" />
<switch-control ref="switchControl" pop-class="xian-02__system" />
<switch-un-lock ref="switchUnLock" />
<speed-limit-control ref="speedLimitControl" />
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
<set-fault ref="setFault" pop-class="xian-02__systerm" />
<notice-info ref="noticeInfo" pop-class="xian-02__system" />
<set-fault ref="setFault" pop-class="xian-02__system" />
</div>
</template>

View File

@ -1,7 +1,7 @@
<template>
<div>
<pop-menu ref="popMenu" :menu="menu" :tip-msg="topTip" :tip-subhead="tipSubhead" pop-class="xian-02__pop_tip_station" />
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
<notice-info ref="noticeInfo" pop-class="xian-02__system" />
<train-delete ref="trainDelete" />
<train-define ref="trainDefine" />
<train-move ref="trainMove" />
@ -212,12 +212,12 @@ export default {
},
menuForce: [
{
label: '设置通信故障',
handler: this.setStoppage
label: '设置故障',
handler: this.undeveloped
},
{
label: '取消通信故障',
handler: this.cancelStoppage
label: '取消故障',
handler: this.undeveloped
}
],
menuSpeed: [

View File

@ -1,11 +1,11 @@
<template>
<div>
<pop-menu ref="popMenu" :menu="menu" trigger="click" :tip-msg="topTip" text-align="left" pop-class="xian-02__pop_tip_station" />
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" />
<notice-info ref="noticeInfo" pop-class="xian-02__system" />
<update-stand-plan ref="updateStandPlan" :selected="selected" />
<warning-confirm ref="warningConfirm" :selected="selected" />
<stop-profile ref="stopProfile" :selected="selected" />
<set-fault ref="setFault" pop-class="xian-02__systerm" />
<set-fault ref="setFault" pop-class="xian-02__system" />
</div>
</template>

View File

@ -254,7 +254,7 @@
<div v-if="bindSuccess"><span>绑定微信成功</span></div>
</div>
</div>
<div v-if="project.endsWith('design') && !wmOpenId " class="form_box">
<div v-if="project.endsWith('design') && !wmOpenId" class="form_box">
<div class="title">绑定微信:</div>
<div class="content_box_info">
<el-button v-if="!binding&&!bindSuccess" type="primary" size="small" style="position: absolute;" @click="generateBindQrCode">生成微信二维码</el-button>

View File

@ -866,7 +866,7 @@ export const asyncRouter = [
},
children: [
{
path: 'edit/:id/:mode',
path: 'edit',
component: IscsDraw,
hidden: true
}
@ -908,7 +908,7 @@ export const asyncRouter = [
},
children: [
{
path: 'edit/:id/:mode',
path: 'edit',
component: IscsDraw,
hidden: true
}

View File

@ -57,7 +57,9 @@ const scriptRecord = {
state.scriptCommand = scriptCommand;
},
updateRole:(state, userRole) => {
if (state.userRole == userRole) {
state.updateRoleStatus += 1;
}
state.userRole = userRole;
},
updateCoversitionInfo:(state) => {

View File

@ -73,213 +73,350 @@ export default {
async loadInitData() {
this.treeList = [];
this.treeList = [
{
name: 'iscs系统',
id: 0,
type: 'system',
children: [
{
name: 'FAS界面',
mode: 'fas',
id: '1',
id: 'fas',
type: 'system',
children: [
{
name: '站厅报警',
mode: 'fas',
id: '11',
id: 'stationHall',
type: 'system',
children: [
{
name: '站厅报警',
mode: 'fas',
id: 'stationHall',
type: 'interface'
}
]
},
{
name: '站台报警',
mode: 'fas',
id: '14',
id: 'stand',
type: 'system',
children: [
{
name: '站台报警',
mode: 'fas',
id: 'stand',
type: 'interface'
},
{
name: '站台报警-公共',
name: '公共区域',
mode: 'fas',
id: '12',
id: 'standPublicArea',
type: 'interface'
}
]
},
{
name: '系统状态',
mode: 'fas',
id: '13',
id: 'systemState',
type: 'system',
children: [
{
name: '系统状态',
mode: 'fas',
id: 'systemState',
type: 'interface'
}
]
}
]
},
{
name: 'BAS界面',
mode: 'bas',
id: '2',
id: 'bas',
type: 'system',
children: [
{
name: '大系统',
mode: 'bas',
id: '21',
id: 'bigSystem',
type: 'system',
children:[
{
name: '大系统',
mode: 'bas',
id: 'bigSystem',
type: 'interface'
}
]
},
{
name: '小系统',
mode: 'bas',
id: '22',
type: 'interface'
},
id: 'smallSystem',
type: 'system',
children: [
{
name: '小系统B端',
name: '小系统A端(一)',
mode: 'bas',
id: '22-1',
id: 'aSideOne',
type: 'interface'
},
{
name: '小系统A端(二)',
mode: 'bas',
id: '22-2',
id: 'aSideTwo',
type: 'interface'
},
{
name: '小系统B端',
mode: 'bas',
id: 'bSide',
type: 'interface'
}
]
},
{
name: '水系统',
mode: 'bas',
id: '23',
id: 'waterSystem',
type: 'system',
children: [
{
name: '水系统',
mode: 'bas',
id: 'waterSystem',
type: 'interface'
}
]
},
{
name: '照明',
mode: 'bas',
id: '24',
id: 'lightingSystem',
type: 'system',
children: [
{
name: '照明系统',
mode: 'bas',
id: 'lightingSystem',
type: 'interface'
},
{
name: 'EPS系统',
mode: 'bas',
id: '25',
id: 'epsSystem',
type: 'interface'
}
]
},
{
name: '电扶梯',
mode: 'bas',
id: '26',
id: 'electricEscalator',
type: 'system',
children: [
{
name: '电扶梯',
mode: 'bas',
id: 'electricEscalator',
type: 'interface'
}
]
},
{
name: '机电排水',
mode: 'bas',
id: '27',
id: 'waterSupply',
type: 'system',
children: [
{
name: '机电排水',
mode: 'bas',
id: 'waterSupply',
type: 'interface'
}
]
},
{
name: '隧道通风',
mode: 'bas',
id: '28',
id: 'tunnelVentilation',
type: 'system',
children: [
{
name: '隧道通风',
mode: 'bas',
id: 'tunnelVentilation',
type: 'interface'
},
{
name: '隧道通风-射流风机图',
name: '射流风机图',
mode: 'bas',
id: '29',
id: 'jetFan',
type: 'interface'
}
]
},
{
name: '车站网络',
mode: 'bas',
id: '210',
id: 'stationNet',
type: 'system',
children: [
{
name: '车站网络',
mode:'bas',
id: 'stationNet',
type: 'interface'
}
]
}
]
},
{
name: 'PSD界面',
mode: 'psd',
id: '3',
id: 'psd',
type: 'system',
children: [
{
name: '屏蔽门',
mode: 'psd',
id: '31',
id: 'psd',
type: 'system',
children: [
{
name: '屏蔽门',
mode: 'psd',
id: 'psd',
type: 'interface'
}
]
}
]
},
{
name: 'cctv界面',
mode: 'cctv',
id: '4',
id: 'cctv',
type: 'system',
children: [
{
name: '车站控制-站厅',
name: '车站控制',
mode: 'cctv',
id: '41',
id: 'cctv',
type: 'system',
children: [
{
name: '站厅',
mode: 'cctv',
id: 'stationHall',
type: 'interface'
},
{
name: '车站控制-站台',
name: '站台',
mode: 'cctv',
id: '42',
id: 'stand',
type: 'interface'
},
{
name: '云台',
mode: 'cctv',
id: 'holder',
type: 'interface'
}
]
},
{
name: '中心设备状态',
mode: 'cctv',
id: '43',
type: 'interface'
},
id: 'centralDeviceState',
type: 'system',
children: [
{
name: '车站控制-云台',
name: '中心设备状态',
mode: 'cctv',
id: '44',
id: 'centralDeviceState',
type: 'interface'
}
]
}
]
},
{
name: 'AFC界面',
mode: 'afc',
id: '5',
id: 'afc',
type: 'system',
children: [
{
name: '售检票',
mode: 'afc',
id: '51',
id: 'afc',
type: 'system',
children: [
{
name: '售检票',
mode: 'afc',
id: 'afc',
type: 'interface'
}
]
}
]
},
{
name: 'ACS界面',
mode: 'acs',
id: '6',
id: 'acs',
type: 'system',
children: [
{
name: '门禁-站台层',
mode: 'acs',
id: '61',
id: 'stand',
type: 'system',
children: [
{
name: '门禁-站台层',
mode: 'acs',
id: 'stand',
type: 'interface'
}
]
},
{
name: '门禁-站厅层',
mode: 'acs',
id: '62',
id: 'stationHall',
type: 'system',
children: [
{
name: '门禁-站厅层',
mode: 'acs',
id: 'stationHall',
type: 'interface'
}
]
}
]
},
{
name: '网络状态',
mode: 'netState',
id: '7',
id: 'netState',
type: 'system',
children: [
{
name: '网络状态',
mode: 'netState',
id: '71',
id: 'netState',
type: 'system',
children: [
{
name: '网络状态',
mode: 'netState',
id: 'netState',
type: 'interface'
}
]
@ -293,7 +430,7 @@ export default {
case 'system' :
break;
case 'interface':
this.$router.push({ path: `/iscs/design/edit/${obj.id}/${obj.mode}` });
this.$router.push({ path: `/iscs/design/edit`, query: {mode: obj.mode, system: data.parent.data.id, part: obj.id} });
break;
}
},

View File

@ -49,24 +49,24 @@ export default {
},
computed:{
iscsMode() {
return this.$route.params.mode;
return this.$route.query.mode;
}
},
watch: {
$route(val) {
this.iscsChange(this.$route.params.id);
this.iscsChange(this.$route.query.mode, this.$route.query.system, this.$route.query.part);
}
},
mounted() {
this.$refs.iscsPlate.show();
this.$refs.iscsPlate.show(this.$route.query.mode, this.$route.query.system, this.$route.query.part);
this.$refs.iscsPlate.drawIscsInit();
},
beforeDestroy() {
},
methods: {
iscsChange(id) {
this.$refs.iscsPlate.show(id);
iscsChange(mode, system, part) {
this.$refs.iscsPlate.show(mode, system, part);
this.$refs.iscsPlate.drawIscsInit();
}
}

View File

@ -18,7 +18,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('61');
this.$refs.iscsPlate.show('acs', 'acs', 'stand');
},
methods: {}
};

View File

@ -18,7 +18,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('62');
this.$refs.iscsPlate.show('acs', 'acs', 'stationHall');
},
methods: {}
};

View File

@ -18,7 +18,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('51');
this.$refs.iscsPlate.show('afc', 'afc', 'afc');
},
methods: {}
};

View File

@ -18,7 +18,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('21');
this.$refs.iscsPlate.show('bas', 'bigSystem', 'bigSystem');
},
methods: {

View File

@ -19,7 +19,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('26');
this.$refs.iscsPlate.show('bas', 'electricEscalator', 'electricEscalator');
},
methods: {

View File

@ -23,15 +23,15 @@ export default {
const device = this.$store.state.iscs.selected;
if (device && device._type === 'IscsButton' && device.function === 'GoEPS') {
this.width = 1520;
this.$refs.iscsPlate.iscsLoadData('25');
this.$refs.iscsPlate.iscsLoadData('bas', 'lightingSystem', 'epsSystem');
} else if (device && device._type === 'IscsButton' && device.function === 'GoBack') {
this.width = 1220;
this.$refs.iscsPlate.iscsLoadData('24');
this.$refs.iscsPlate.iscsLoadData('bas', 'lightingSystem', 'lightingSystem');
}
}
},
mounted() {
this.$refs.iscsPlate.show('24');
this.$refs.iscsPlate.show('bas', 'lightingSystem', 'lightingSystem');
},
methods: {

View File

@ -23,18 +23,18 @@ export default {
const device = this.$store.state.iscs.selected;
if (device && device._type === 'IscsButton' && device.function === 'GoBMiniSystem') { // B
this.width = 1400;
this.$refs.iscsPlate.iscsLoadData('22-1');
this.$refs.iscsPlate.iscsLoadData('bas', 'smallSystem', 'bSide');
} else if (device && device._type === 'IscsButton' && device.function === 'GoAMiniSystem1') { // A()
this.width = 1200;
this.$refs.iscsPlate.iscsLoadData('22');
this.$refs.iscsPlate.iscsLoadData('bas', 'smallSystem', 'aSideOne');
} else if (device && device._type === 'IscsButton' && device.function === 'GoAMiniSystem2') { // A()
this.width = 1200;
this.$refs.iscsPlate.iscsLoadData('22-2');
this.$refs.iscsPlate.iscsLoadData('bas', 'smallSystem', 'aSideTwo');
}
}
},
mounted() {
this.$refs.iscsPlate.show('22');
this.$refs.iscsPlate.show('bas', 'smallSystem', 'aSideOne');
},
methods: {

View File

@ -18,7 +18,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('210');
this.$refs.iscsPlate.show('bas', 'stationNet', 'stationNet');
},
methods: {

View File

@ -22,16 +22,15 @@ export default {
const device = this.$store.state.iscs.selected;
if (device && device._type === 'IscsButton' && device.function === 'GoJetFan') {
this.width = 1150;
this.$refs.iscsPlate.iscsLoadData('29');
this.$refs.iscsPlate.iscsLoadData('bas', 'tunnelVentilation', 'jetFan');
} else if (device && device._type === 'IscsButton' && device.function === 'GoBack') {
this.width = 1300;
this.$refs.iscsPlate.iscsLoadData('28');
this.$refs.iscsPlate.iscsLoadData('bas', 'tunnelVentilation', 'tunnelVentilation');
}
// console.log(this.width, '');
}
},
mounted() {
this.$refs.iscsPlate.show('28');
this.$refs.iscsPlate.show('bas', 'tunnelVentilation', 'tunnelVentilation');
},
methods: {

View File

@ -18,7 +18,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('27');
this.$refs.iscsPlate.show('bas', 'waterSupply', 'waterSupply');
},
methods: {

View File

@ -18,7 +18,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('23');
this.$refs.iscsPlate.show('bas', 'waterSystem', 'waterSystem');
},
methods: {

View File

@ -8,7 +8,7 @@
import Vue from 'vue';
import Iscs from '@/iscs/iscs';
import { parser } from '@/iscs/utils/parser';
import iscsData from '@/iscs/constant/iscsData';
import {getIscsData} from '@/iscs/constant/iscsData';
export default {
name: 'Iscs',
@ -78,8 +78,8 @@ export default {
this.iscsDestroy();
},
methods: {
show (deviceCode) {
if (!deviceCode) {
show (mode, system, part) {
if (!mode || !system || !part) {
return;
}
document.getElementById(this.iscsId).oncontextmenu = function (e) {
@ -87,7 +87,7 @@ export default {
};
this.iscsDestroy();
this.loading = true;
const data = parser(iscsData[deviceCode], {width: this.widthCanvas, height: this.canvasHeight});
const data = parser(getIscsData(mode, system, part), {width: this.widthCanvas, height: this.canvasHeight});
this.$iscs = new Iscs({
dom: document.getElementById(this.iscsId),
config: {
@ -109,8 +109,8 @@ export default {
if (this.$route.params.mode) {
this.$iscs.on('selected', this.onSelected, this);
}
this.setIscs(data, iscsData[deviceCode]);
this.$store.dispatch('iscs/setIscsData', iscsData[deviceCode]);
this.setIscs(data, getIscsData(mode, system, part));
this.$store.dispatch('iscs/setIscsData', getIscsData(mode, system, part));
window.document.oncontextmenu = function () {
return false;
};
@ -118,8 +118,8 @@ export default {
setIscs(data, oldData) {
this.$iscs.setIscs(oldData, data);
},
iscsLoadData(deviceCode) {
this.$iscs.loadData(parser(iscsData[deviceCode], {width: this.widthCanvas, height: this.canvasHeight}));
iscsLoadData(mode, system, part) {
this.$iscs.loadData(parser(getIscsData(mode, system, part), {width: this.widthCanvas, height: this.canvasHeight}));
},
//
onSelected(em) {

View File

@ -17,7 +17,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('43');
this.$refs.iscsPlate.show('cctv', 'centralDeviceState', 'centralDeviceState');
},
methods: {

View File

@ -102,9 +102,9 @@
</div>
<div class="cctv-box-content">
<div style="position: relative;width: 75px;left: 10px;">
<div id="cctv-41" class="cctv-box-content-btn" @click="changeCCTV('41')">站厅</div>
<div id="cctv-42" class="cctv-box-content-btn" @click="changeCCTV('42')">站台</div>
<div id="cctv-44" class="cctv-box-content-btn" @click="changeCCTV('44')">云台</div>
<div id="cctv-stationHall" class="cctv-box-content-btn" @click="changeCCTV('stationHall')">站厅</div>
<div id="cctv-stand" class="cctv-box-content-btn" @click="changeCCTV('stand')">站台</div>
<div id="cctv-holder" class="cctv-box-content-btn" @click="changeCCTV('holder')">云台</div>
</div>
<div class="cctv-box-content-draw" :style="{marginLeft: left, marginTop: top}">
<iscsSystem ref="iscsPlate" :width-canvas="width" :canvas-height="height" />
@ -132,7 +132,7 @@ export default {
},
data() {
return {
selectedCCTV: '41',
selectedCCTV: 'stationHall',
descriptionList: [],
textarea: '',
value: '',
@ -184,8 +184,8 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('41');
const cctvBtn = document.getElementById('cctv-41');
this.$refs.iscsPlate.show('cctv', 'cctv', 'stationHall');
const cctvBtn = document.getElementById('cctv-stationHall');
cctvBtn.setAttribute('class', 'cctv-box-content-btn active');
},
methods: {
@ -197,13 +197,13 @@ export default {
this.selectedCCTV = id;
this.left = '0px';
this.top = '0px';
if (id == '41') {
if (id == 'stationHall') {
this.width = 1490;
this.height = 330;
this.left = '-22px';
this.top = '-20px';
}
this.$refs.iscsPlate.iscsLoadData(id);
this.$refs.iscsPlate.iscsLoadData('cctv', 'cctv', id);
},
handleFrames(item) {
this.selectedFlag = item.value;

View File

@ -24,19 +24,19 @@ export default {
if (device && device._type === 'IscsButton' && device.function === 'PublicArea') {
this.width = 1520;
this.$nextTick(() => {
this.$refs.iscsPlate.iscsLoadData('12');
this.$refs.iscsPlate.iscsLoadData('fas', 'stand', 'standPublicArea');
});
console.log(this.width);
} else if (device && device._type === 'IscsButton' && device.function === 'GoBack') {
this.width = 1100;
this.$nextTick(() => {
this.$refs.iscsPlate.iscsLoadData('14');
this.$refs.iscsPlate.iscsLoadData('fas', 'stand', 'stand');
});
}
}
},
mounted() {
this.$refs.iscsPlate.show('14');
this.$refs.iscsPlate.show('fas', 'stand', 'stand');
},
methods: {

View File

@ -19,7 +19,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('11');
this.$refs.iscsPlate.show('fas', 'stationHall', 'stationHall');
},
methods: {

View File

@ -18,7 +18,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('13');
this.$refs.iscsPlate.show('fas', 'systemState', 'systemState');
},
methods: {

View File

@ -18,7 +18,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('71');
this.$refs.iscsPlate.show('netState', 'netState', 'netState');
},
methods: {}
};

View File

@ -18,7 +18,7 @@ export default {
};
},
mounted() {
this.$refs.iscsPlate.show('31');
this.$refs.iscsPlate.show('psd', 'psd', 'psd');
},
methods: {}
};

View File

@ -9,7 +9,7 @@
import Vue from 'vue';
import Iscs from '@/iscs/iscs';
import { parser, deviceFactory } from '@/iscs/utils/parser';
import iscsData from '@/iscs/constant/iscsData';
import {getIscsData} from '@/iscs/constant/iscsData';
import { mapGetters } from 'vuex';
import { exitFullscreen } from '@/utils/screen';
import { putJointTrainingSimulationUser } from '@/api/chat';
@ -92,8 +92,8 @@ export default {
this.iscsDestroy();
},
methods: {
show (deviceCode) {
if (!deviceCode) {
show (mode, system, part) {
if (!mode || !system || !part) {
return;
}
document.getElementById(this.iscsId).oncontextmenu = function (e) {
@ -101,7 +101,7 @@ export default {
};
this.iscsDestroy();
this.loading = true;
const data = parser(iscsData[deviceCode], {width: this.canvasWidth, height: this.canvasHeight});
const data = parser(getIscsData(mode, system, part), {width: this.canvasWidth, height: this.canvasHeight});
this.$iscs = new Iscs({
dom: document.getElementById(this.iscsId),
config: {
@ -123,8 +123,8 @@ export default {
if (this.$route.query.group) {
this.$iscs.on('selected', this.onSelected, this);
}
this.setIscs(data, iscsData[deviceCode]);
this.$store.dispatch('iscs/setIscsData', iscsData[deviceCode]);
this.setIscs(data, getIscsData(mode, system, part));
this.$store.dispatch('iscs/setIscsData', getIscsData(mode, system, part));
if (this.$route.path.startsWith('/iscs/design')) {
this.$iscs.on('keyboard', this.onKeyboard, this);
}

View File

@ -175,7 +175,7 @@ export default {
this.$refs.queryListPage.refresh(true);
},
lessonCreate() {
this.$router.push({ path: `${UrlConfig.design.lessonEdit}/lessonCreate`, query: {mapId: this.$route.params.mapId, cityCode: this.$route.query.cityCode, drawWay: this.$route.query.drawWay} });
this.$router.push({ path: `${UrlConfig.design.lessonEdit}/lessonCreate`, query: {mapId: this.$route.params.mapId, cityCode: this.$route.query.cityCode, drawWay: this.$route.query.drawWay, lineCode: this.$route.query.lineCode} });
},
lessonCreateByPublish() {
this.$nextTick(() => {

View File

@ -180,7 +180,6 @@ export default {
getPublishMapListOnline().then(response => {
this.mapIdList = response.data;
});
if (this.$route.query.drawWay + '' === 'true') {
this.trainingOperateTypeMap = {
Switch: [],

View File

@ -271,11 +271,6 @@ export default {
this.sessionId = response.data.sessionId;
this.loginUrl = response.data.url;
this.loadingCode = false;
// this.clearTimer(this.checkTimeout);
// this.checkTimeout = setTimeout(() => {
// this.loadingCode = true;
// this.loginUrl = '';
// }, 3 * 60 * 1000);
this.checkLoginStatus();
}).catch(() => {
this.loadingCode = false;
@ -446,7 +441,6 @@ export default {
}
.el-loading-spinner .el-loading-text {
font-size: 24px;
color: #FFF;
}
.login-code-box {
.el-loading-spinner i {
@ -454,7 +448,6 @@ export default {
}
.el-loading-spinner .el-loading-text {
font-size: 14px;
color: #409EFF;
}
}
}

View File

@ -134,8 +134,10 @@ export default {
},
'userRole':function(val) {
this.isHasCoversition = false;
},
'$store.state.scriptRecord.updateCoversitionStatus':function(val) {
this.isHasCoversition = false;
}
},
mounted() {
this.initPage();

View File

@ -30,10 +30,10 @@ export default {
watch:{
'userRole':function(val) {
this.initPage(true);
},
'$store.state.scriptRecord.updateRoleStatus':function(val) {
this.initPage(true);
}
// '$store.state.scriptRecord.updateRoleStatus':function(val) {
// this.initPage(true);
// }
},
mounted() {
},

View File

@ -96,7 +96,7 @@ export default {
}
},
beforeDestroy() {
this.clearAutoSave();
// this.clearAutoSave();
this.$store.dispatch('scriptRecord/updateBgSet', false);
this.$store.dispatch('scriptRecord/updateRole', null);
},
@ -192,14 +192,14 @@ export default {
saveScriptDataNew(this.group).then(resp => {
this.$message.success(this.$t('scriptRecord.saveDataSucess'));
this.isSavingScript = false;
this.initAutoSaveScript();
// this.initAutoSaveScript();
}).catch(error => {
this.$messageBox(`${this.$t('scriptRecord.saveDataFail')}: ${error.message}`);
this.isSavingScript = false;
if (error.code === 40004 || error.code === 40005 || error.code === 40003) {
this.clearAutoSave();
// this.clearAutoSave();
} else {
// this.initAutoSaveScript();
// // this.initAutoSaveScript();
}
});
},