Merge branch 'dev' into test
This commit is contained in:
commit
473d60ca0c
@ -596,7 +596,7 @@ export default {
|
||||
reentrySection2: '折返区段2',
|
||||
setPriority: '设置优先级',
|
||||
associatedStationList: '关联站台列表:',
|
||||
whetherAutoRoute: '是否自定进路',
|
||||
whetherAutoRoute: '是否自动进路',
|
||||
hostileData: '敌对数据',
|
||||
routeContinuesToProtectSectorData: '进路延续保护区段数据',
|
||||
physicalSectionID: '物理区段ID',
|
||||
|
@ -135,6 +135,33 @@ class Status {
|
||||
handleResource(device) {
|
||||
this.statusObj = { };
|
||||
}
|
||||
handleAtsControl(device) {
|
||||
this.statusObj = {};
|
||||
}
|
||||
handleCenterCommunication(device) {
|
||||
this.statusObj = {};
|
||||
}
|
||||
handleChainControl(device) {
|
||||
this.statusObj = {};
|
||||
}
|
||||
handleIntersiteControl(device) {
|
||||
this.statusObj = {};
|
||||
}
|
||||
handleLeuControl(device) {
|
||||
this.statusObj = {};
|
||||
}
|
||||
handleLocalControl(device) {
|
||||
this.statusObj = {};
|
||||
}
|
||||
handleMaintain(device) {
|
||||
this.statusObj = {};
|
||||
}
|
||||
handlePowerSupply(device) {
|
||||
this.statusObj = {};
|
||||
}
|
||||
handleNoOneReturn(device) {
|
||||
this.statusObj = {};
|
||||
}
|
||||
getStatus() {
|
||||
return this.statusObj;
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
/*
|
||||
* 信号机
|
||||
*/
|
||||
|
||||
import ESigPost from './ESigPost';
|
||||
import ESigLamp from './ESigLamp';
|
||||
import ESigAuto from './ESigAuto';
|
||||
|
@ -79,8 +79,10 @@ export default {
|
||||
},
|
||||
title() {
|
||||
if (this.operation == OperationEvent.Section.split.menu.operation) {
|
||||
this.radio = '2';
|
||||
return '区段控制';
|
||||
} else if (this.operation == OperationEvent.Section.active.menu.operation) {
|
||||
this.radio = '1';
|
||||
return '区段控制';
|
||||
} else if (this.operation == OperationEvent.Section.fault.menu.operation) {
|
||||
return '区故解';
|
||||
|
@ -1,78 +1,104 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog class="beijing-01__systerm section-cmd-speed" :title="title" :visible.sync="show" width="800px"
|
||||
:before-close="doClose" :zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag>
|
||||
<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="6">
|
||||
<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-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="车站名称" label-width="80px">
|
||||
<el-input v-model="stationName" size="small" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item :label="nameLabel" label-width="80px">
|
||||
<el-input v-model="name" size="small" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="限速值" label-width="80px">
|
||||
<el-select v-model="speed" :id="domIdChoose" size="small" :disabled="spdDisabled"
|
||||
@change="speedSelectChange">
|
||||
<el-option v-for="item in speedList" :key="item.value" :label="item.name"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table class="table" ref="table" :data="tableData" border style="width: 100%" size="mini"
|
||||
highlight-current-row height="200">
|
||||
<el-table-column prop="order" :width="50" label="序号">
|
||||
</el-table-column>
|
||||
<el-table-column prop="date" :width="160" label="时间">
|
||||
</el-table-column>
|
||||
<el-table-column prop="context" :width="180" label="执行过程">
|
||||
</el-table-column>
|
||||
<el-table-column prop="result" label="执行结果">
|
||||
</el-table-column>
|
||||
</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>
|
||||
<confirm-control-speed ref="confirmControlSpeed" @setOperate="getOperate"></confirm-control-speed>
|
||||
</div>
|
||||
<div>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="beijing-01__systerm section-cmd-speed"
|
||||
: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="6">
|
||||
<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="6">
|
||||
<el-form-item label="车站名称" label-width="80px">
|
||||
<el-input v-model="stationName" size="small" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item :label="nameLabel" label-width="80px">
|
||||
<el-input v-model="name" size="small" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="限速值" label-width="80px">
|
||||
<el-select
|
||||
:id="domIdChoose"
|
||||
v-model="speed"
|
||||
size="small"
|
||||
:disabled="spdDisabled"
|
||||
@change="speedSelectChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in speedList"
|
||||
:key="item.value"
|
||||
:label="item.name"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table
|
||||
ref="table"
|
||||
class="table"
|
||||
:data="tableData"
|
||||
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>
|
||||
<confirm-control-speed ref="confirmControlSpeed" @setOperate="getOperate" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
@ -107,7 +133,7 @@ export default {
|
||||
stationName: '',
|
||||
name: '',
|
||||
speed: ''
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
nameLabel() {
|
||||
@ -117,14 +143,14 @@ export default {
|
||||
} else if (this.operation == OperationEvent.Switch.setSpeed.menu.operation ||
|
||||
this.operation == OperationEvent.Switch.cancelSpeed.menu.operation) {
|
||||
return '道岔名称';
|
||||
}else{
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
speedList() {
|
||||
let list = [{ name: '不限速', value: '-1' }];
|
||||
const list = [{ name: '不限速', value: '-1' }];
|
||||
for (var i = 0; i * this.speedSpace <= this.maxSpeed; i++) {
|
||||
let speed = String(i * this.speedSpace);
|
||||
const speed = String(i * this.speedSpace);
|
||||
list.push({ name: speed, value: speed });
|
||||
}
|
||||
return list;
|
||||
@ -134,8 +160,8 @@ export default {
|
||||
{ code: OperationEvent.Section.setSpeed.menu.operation, name: '区段设置限速' },
|
||||
{ code: OperationEvent.Section.cancelSpeed.menu.operation, name: '区段取消限速' },
|
||||
{ code: OperationEvent.Switch.setSpeed.menu.operation, name: '区段设置限速' },
|
||||
{ code: OperationEvent.Switch.cancelSpeed.menu.operation, name: '区段取消限速' },
|
||||
]
|
||||
{ code: OperationEvent.Switch.cancelSpeed.menu.operation, name: '区段取消限速' }
|
||||
];
|
||||
},
|
||||
title() {
|
||||
if (this.dialogShow) {
|
||||
@ -264,9 +290,9 @@ export default {
|
||||
}
|
||||
},
|
||||
isCancelSpeed() {
|
||||
return this.operation == OperationEvent.Section.cancelSpeed.menu.operation
|
||||
|| this.operation == OperationEvent.Switch.cancelSpeed.menu.operation
|
||||
},
|
||||
return this.operation == OperationEvent.Section.cancelSpeed.menu.operation ||
|
||||
this.operation == OperationEvent.Switch.cancelSpeed.menu.operation;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
cmdDisabled: {
|
||||
@ -294,7 +320,7 @@ export default {
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/tipReload');
|
||||
})
|
||||
});
|
||||
this.timer = setInterval(() => {
|
||||
if (!this.$store.state.menuOperation.break) {
|
||||
if (this.timeCountCommand > 0) {
|
||||
@ -310,7 +336,7 @@ export default {
|
||||
this.timeCountConfirm = -1;
|
||||
}
|
||||
}
|
||||
}, 1000)
|
||||
}, 1000);
|
||||
},
|
||||
beforeDestroy() {
|
||||
clearInterval(this.timer);
|
||||
@ -326,20 +352,20 @@ export default {
|
||||
operate.operation == OperationEvent.Section.cancelSpeed.menu.operation) {
|
||||
if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
|
||||
if (selected.type === '02') {
|
||||
let section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
||||
const section = this.$store.getters['map/getDeviceByCode'](selected.parentCode);
|
||||
if (section) {
|
||||
this.name += section.name
|
||||
this.name += section.name;
|
||||
}
|
||||
}
|
||||
this.name += selected.name
|
||||
this.name += selected.name;
|
||||
}
|
||||
} else if (operate.operation == OperationEvent.Switch.setSpeed.menu.operation) {
|
||||
if (selected._type.toUpperCase() === 'Switch'.toUpperCase()) {
|
||||
this.name = selected.name
|
||||
this.name = selected.name;
|
||||
}
|
||||
}
|
||||
|
||||
let station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
|
||||
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
|
||||
if (station) {
|
||||
this.stationName = station.name;
|
||||
}
|
||||
@ -373,17 +399,17 @@ export default {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
speedSelectChange(val) {
|
||||
let operate = {
|
||||
const operate = {
|
||||
type: this.type,
|
||||
val: val,
|
||||
}
|
||||
val: val
|
||||
};
|
||||
|
||||
if (this.operation == OperationEvent.Section.setSpeed.menu.operation) {
|
||||
/** 区段设置限速*/
|
||||
operate.operation = OperationEvent.Section.setSpeed.choose.operation
|
||||
operate.operation = OperationEvent.Section.setSpeed.choose.operation;
|
||||
} else if (this.operation == OperationEvent.Switch.setSpeed.menu.operation) {
|
||||
/** 道岔设置限速*/
|
||||
operate.operation = OperationEvent.Switch.setSpeed.choose.operation
|
||||
operate.operation = OperationEvent.Switch.setSpeed.choose.operation;
|
||||
}
|
||||
|
||||
this.setMessage('请点击“下达”按钮,下达命令!');
|
||||
@ -392,12 +418,12 @@ export default {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.setButtonEnable({ step: 0 });
|
||||
}
|
||||
})
|
||||
});
|
||||
},
|
||||
command() {
|
||||
let operate = {
|
||||
type: this.type,
|
||||
}
|
||||
const operate = {
|
||||
type: this.type
|
||||
};
|
||||
|
||||
if (this.operation == OperationEvent.Section.setSpeed.menu.operation) {
|
||||
/** 区段设置限速*/
|
||||
@ -429,12 +455,12 @@ export default {
|
||||
}
|
||||
}).catch(() => {
|
||||
this.editRecord({ order: this.order, date: now(), context: '点击下达命令', result: '执行异常' });
|
||||
})
|
||||
});
|
||||
},
|
||||
confirm1() {
|
||||
let operate = {
|
||||
type: this.type,
|
||||
}
|
||||
const operate = {
|
||||
type: this.type
|
||||
};
|
||||
|
||||
if (this.operation == OperationEvent.Section.setSpeed.menu.operation) {
|
||||
/** 区段设置限速*/
|
||||
@ -464,17 +490,17 @@ export default {
|
||||
}
|
||||
}).catch(() => {
|
||||
this.editRecord({ order: this.order, date: now(), context: '点击确认1', result: '执行异常' });
|
||||
})
|
||||
});
|
||||
},
|
||||
confirm2() {
|
||||
let operate = {
|
||||
const operate = {
|
||||
over:true,
|
||||
type: this.type,
|
||||
val: this.speed,
|
||||
param: {
|
||||
speedLimitValue: `${this.speed}`
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (this.operation == OperationEvent.Section.setSpeed.menu.operation) {
|
||||
/** 区段设置限速*/
|
||||
@ -509,12 +535,12 @@ export default {
|
||||
this.timeCountConfirm = -1;
|
||||
this.setButtonEnable({ step: -1 });
|
||||
this.editRecord({ order: this.order, date: now(), context: '点击确认2', result: '执行异常' });
|
||||
})
|
||||
});
|
||||
},
|
||||
stop() {
|
||||
let operate = {
|
||||
type: this.type,
|
||||
}
|
||||
const operate = {
|
||||
type: this.type
|
||||
};
|
||||
|
||||
if (this.operation == OperationEvent.Section.setSpeed.menu.operation) {
|
||||
/** 区段设置限速*/
|
||||
@ -541,13 +567,13 @@ export default {
|
||||
}
|
||||
}).catch(() => {
|
||||
this.editRecord({ order: this.order, date: now(), context: '点击终止', result: '执行异常' });
|
||||
})
|
||||
});
|
||||
},
|
||||
close() {
|
||||
let operate = {
|
||||
const operate = {
|
||||
type: this.type,
|
||||
operation: OperationEvent.Command.close.menu.operation,
|
||||
}
|
||||
operation: OperationEvent.Command.close.menu.operation
|
||||
};
|
||||
this.writeRecord({ order: ++this.order, date: now(), context: '点击关闭', result: '' });
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -581,8 +607,8 @@ export default {
|
||||
elem[prop] = param[prop];
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
};
|
||||
</script>
|
||||
|
@ -20,7 +20,7 @@ import { DeviceMenu } from '@/scripts/ConstDic';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import {menuOperate} from './utils/menuOperate';
|
||||
import {menuOperate, commitOperate} from './utils/menuOperate';
|
||||
|
||||
export default {
|
||||
name: 'SectionMenu',
|
||||
@ -173,7 +173,7 @@ export default {
|
||||
// },
|
||||
// 故障解锁
|
||||
faultUnlock(selectType) {
|
||||
this.commitOperate(menuOperate.Section.fault, selectType, [selectType.code]).then((data)=>{
|
||||
commitOperate(menuOperate.Section.fault, selectType, [selectType.code]).then((data)=>{
|
||||
this.$refs.sectionControl.doShow(data.operate, data.selected);
|
||||
});
|
||||
},
|
||||
@ -187,56 +187,37 @@ export default {
|
||||
},
|
||||
// 切除
|
||||
split() {
|
||||
this.commitOperate(menuOperate.Section.split, this.selected, [this.selected.code]).then((data)=>{
|
||||
this.$refs.sectionControl.doShow(data.operate, data.selected);
|
||||
commitOperate(menuOperate.Section.split, {sectionCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.sectionControl.doShow(data.operate, this.selected);
|
||||
});
|
||||
},
|
||||
alxeEffective() {
|
||||
this.commitOperate(menuOperate.Section.alxeEffective, this.selected, [this.selected.code]).then((data)=>{
|
||||
this.$refs.alxeEffective.doShow(data.operate, data.selected);
|
||||
commitOperate(menuOperate.Section.alxeEffective, {sectionCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.alxeEffective.doShow(data.operate, this.selected);
|
||||
});
|
||||
},
|
||||
// 激活
|
||||
active() {
|
||||
this.commitOperate(menuOperate.Section.active, this.selected, [this.selected.code]).then((data)=>{
|
||||
this.$refs.sectionControl.doShow(data.operate, data.selected);
|
||||
commitOperate(menuOperate.Section.active, {sectionCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.sectionControl.doShow(data.operate, this.selected);
|
||||
});
|
||||
},
|
||||
// 区段计轴预复位
|
||||
axlePreReset(selectType) {
|
||||
this.commitOperate(menuOperate.Section.axlePreReset, selectType, [selectType.code]).then((data)=>{
|
||||
this.$refs.sectionControl.doShow(data.operate, data.selected);
|
||||
commitOperate(menuOperate.Section.axlePreReset, {sectionCode:selectType.code}, 0).then((data)=>{
|
||||
this.$refs.sectionControl.doShow(data.operate, selectType);
|
||||
});
|
||||
},
|
||||
// 区段计轴预复位
|
||||
// axlePreReset() {
|
||||
// this.commitOperate(menuOperate.Section.axlePreReset, this.selected, [this.selected.code]).then((data)=>{
|
||||
// this.$refs.sectionCmdControl.doShow(data.operate, data.selected);
|
||||
// this.commitOperate(menuOperate.Section.axlePreReset, {sectionCode:this.selected.code},0).then((data)=>{
|
||||
// this.$refs.sectionCmdControl.doShow(data.operate, this.selected);
|
||||
// });
|
||||
// },
|
||||
// 设置速度
|
||||
setSpeed() {
|
||||
this.commitOperate(menuOperate.Section.setSpeed, this.selected, [this.selected.code]).then((data)=>{
|
||||
this.$refs.speedLimitControl.doShow(data.operate, data.selected);
|
||||
});
|
||||
},
|
||||
commitOperate(operate, selected, paramList) {
|
||||
const step = {
|
||||
start: true,
|
||||
operation: operate.operation,
|
||||
param:{}
|
||||
};
|
||||
operate.param.forEach((each, index)=>{
|
||||
step.param[each] = paramList[index];
|
||||
});
|
||||
const obj = this;
|
||||
return new Promise(function(resolve, reject) {
|
||||
obj.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
obj.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
resolve({operate:step, selected:selected});
|
||||
}
|
||||
});
|
||||
commitOperate(menuOperate.Section.setSpeed, {sectionCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.speedLimitControl.doShow(data.operate, this.selected);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||
import { mouseCancelState } from './utils/menuItemStatus';
|
||||
import PasswordBox from './dialog/childDialog/passwordInputBox.vue';
|
||||
import {menuOperate, commitOperate} from './utils/menuOperate';
|
||||
|
||||
export default {
|
||||
name: 'SignalMenu',
|
||||
@ -294,7 +295,6 @@ export default {
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
mouseCancelState(this.selected);
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -332,279 +332,105 @@ export default {
|
||||
},
|
||||
// 设置进路
|
||||
arrangementRoute() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Signal.arrangementRoute.menu.operation
|
||||
// param: {
|
||||
// signalCode: `${this.selected.code}`
|
||||
// }
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
if (valid) {
|
||||
const routes = [];
|
||||
this.routeList.forEach(elem => {
|
||||
if (elem.startSignalCode === this.selected.code) {
|
||||
routes.push(elem);
|
||||
}
|
||||
});
|
||||
this.$refs.routeSelection.doShow(operate, this.selected, routes);
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
commitOperate(menuOperate.Signal.arrangementRoute, {signalCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.routeSelection.doShow(data.operate, this.selected, this.getRouteList(this.selected));
|
||||
});
|
||||
},
|
||||
// 现地设置进路
|
||||
setRoute(route) {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Signal.arrangementRoute.menu.operation,
|
||||
param: {
|
||||
routeCode: route.code
|
||||
},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}).catch((error) => {
|
||||
this.$refs.noticeInfo.doShow(operate, error.message);
|
||||
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode:route.code}, [], 3).then((data)=>{
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
// 取消进路
|
||||
cancelTrainRoute() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
|
||||
param: {
|
||||
signalCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
if (valid) {
|
||||
this.$refs.routeControl.doShow(operate, this.selected);
|
||||
}
|
||||
commitOperate(menuOperate.Signal.cancelTrainRoute, {signalCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.routeControl.doShow(data.operate, this.selected);
|
||||
});
|
||||
},
|
||||
// 现地取消进路
|
||||
cancelTrainRouteByLow(selectType) {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
|
||||
param: {
|
||||
signalCode: selectType.code
|
||||
},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
||||
};
|
||||
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);
|
||||
commitOperate(menuOperate.Signal.cancelTrainRoute, {signalCode:selectType.code}, 3).then((data)=>{
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
// 现地总人解
|
||||
humanTrainRoute(selectType) {
|
||||
const step = {
|
||||
start: true,
|
||||
code: `${this.selected.code}`,
|
||||
operation: OperationEvent.Signal.humanTrainRoute.menu.operation,
|
||||
param: {
|
||||
signalCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
if (valid) {
|
||||
step.cmdType = CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE;
|
||||
this.$refs.password.doShow(step);
|
||||
}
|
||||
commitOperate(menuOperate.Signal.humanTrainRoute, {signalCode:selectType.code}, 0).then((data)=>{
|
||||
data.operate.cmdType = CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE;
|
||||
this.$refs.password.doShow(data.operate);
|
||||
});
|
||||
},
|
||||
// 现地信号重开操作
|
||||
reopenSignalByRoute(selectType) {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Signal.reopenSignal.menu.operation,
|
||||
param: {
|
||||
signalCode: selectType.code
|
||||
},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
|
||||
};
|
||||
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);
|
||||
commitOperate(menuOperate.Signal.reopenSignal, {signalCode:selectType.code}, 3).then((data)=>{
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
|
||||
// 信号重开
|
||||
reopenSignal() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Signal.reopenSignal.menu.operation,
|
||||
param: {
|
||||
signalCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.routeControl.doShow(operate, this.selected);
|
||||
}
|
||||
commitOperate(menuOperate.Signal.reopenSignal, {signalCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.routeControl.doShow(data.operate, this.selected);
|
||||
});
|
||||
},
|
||||
// 信号关灯
|
||||
signalClose() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Signal.signalClose.menu.operation,
|
||||
param: {
|
||||
signalCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.routeControl.doShow(operate, this.selected);
|
||||
}
|
||||
commitOperate(menuOperate.Signal.signalClose, {signalCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.routeControl.doShow(data.operate, this.selected);
|
||||
});
|
||||
},
|
||||
// 现地信号关灯
|
||||
signalCloseByLow(selectType) {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Signal.signalClose.menu.operation,
|
||||
param: {
|
||||
signalCode: selectType.code
|
||||
},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
|
||||
};
|
||||
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);
|
||||
commitOperate(menuOperate.Signal.signalClose, {signalCode:selectType.code}, 3).then((data)=>{
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
// 进路交人工控
|
||||
humanControl() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Signal.humanControl.menu.operation,
|
||||
param: {
|
||||
signalCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
const routes = [];
|
||||
this.routeList.forEach(elem => {
|
||||
if (elem.startSignalCode === this.selected.code) {
|
||||
routes.push(elem);
|
||||
}
|
||||
});
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.routeHandControl.doShow(operate, this.selected, routes);
|
||||
}
|
||||
commitOperate(menuOperate.Signal.humanControl, {signalCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.routeHandControl.doShow(data.operate, this.selected, this.getRouteList(this.selected));
|
||||
});
|
||||
},
|
||||
// 进路交自动控
|
||||
atsAutoControl() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Signal.atsAutoControl.menu.operation,
|
||||
param: {
|
||||
signalCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
const routes = [];
|
||||
this.routeList.forEach(elem => {
|
||||
if (elem.startSignalCode === this.selected.code) {
|
||||
routes.push(elem);
|
||||
}
|
||||
});
|
||||
this.$refs.routeHandControl.doShow(operate, this.selected, routes);
|
||||
}
|
||||
commitOperate(menuOperate.Signal.atsAutoControl, {signalCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.routeHandControl.doShow(data.operate, this.selected, this.getRouteList(this.selected));
|
||||
});
|
||||
},
|
||||
// 设置通过模式
|
||||
singalPassModel(selectType) {
|
||||
const operate = {
|
||||
start: true,
|
||||
over: true,
|
||||
operation: OperationEvent.Signal.setAutoInterlock.menu.operation,
|
||||
param: {
|
||||
signalCode:selectType.code
|
||||
},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
||||
};
|
||||
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);
|
||||
commitOperate(menuOperate.Signal.setAutoInterlock, {signalCode:selectType.code}, 3).then((data)=>{
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
// 取消通过模式
|
||||
singalCancelPassModel(selectType) {
|
||||
const operate = {
|
||||
start: true,
|
||||
over: true,
|
||||
operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
|
||||
param: {
|
||||
signalCode:selectType.code
|
||||
},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
||||
};
|
||||
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);
|
||||
commitOperate(menuOperate.Signal.cancelAutoInterlock, {signalCode:selectType.code}, 3).then((data)=>{
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
// 查询进路状态
|
||||
detail() {
|
||||
const step = {
|
||||
start: true,
|
||||
code: `${this.selected.code}`,
|
||||
operation: OperationEvent.Signal.detail.menu.operation,
|
||||
param: {
|
||||
signalCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
const routes = [];
|
||||
this.routeList.forEach(elem => {
|
||||
if (elem.startSignalCode === this.selected.code) {
|
||||
routes.push(elem);
|
||||
}
|
||||
});
|
||||
this.$refs.routeDetail.doShow(step, this.selected, routes);
|
||||
commitOperate(menuOperate.Signal.detail, {signalCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.routeDetail.doShow(data.operate, this.selected, this.getRouteList(this.selected));
|
||||
});
|
||||
},
|
||||
// 获取进路列表
|
||||
getRouteList(selectType) {
|
||||
const routes = [];
|
||||
this.routeList.forEach(elem => {
|
||||
if (elem.startSignalCode === selectType.code) {
|
||||
routes.push(elem);
|
||||
}
|
||||
});
|
||||
return routes;
|
||||
},
|
||||
passWordCommit(data) {
|
||||
const operate = {
|
||||
|
@ -23,6 +23,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import { mouseCancelState } from './utils/menuItemStatus';
|
||||
import {menuOperate, commitOperate} from './utils/menuOperate';
|
||||
|
||||
export default {
|
||||
name: 'SwitchMenu',
|
||||
@ -237,167 +238,63 @@ export default {
|
||||
},
|
||||
// 道岔单锁
|
||||
lock(selectType) {
|
||||
const operate = {
|
||||
start: true,
|
||||
over: true,
|
||||
operation: OperationEvent.Switch.lock.menu.operation,
|
||||
param: {
|
||||
switchCode: selectType.code
|
||||
},
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
||||
};
|
||||
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);
|
||||
commitOperate(menuOperate.Switch.lock, {switchCode:selectType.code}, 3).then((data)=>{
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
// 道岔解锁
|
||||
unlock(selectType) {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Switch.unlock.menu.operation,
|
||||
param: {
|
||||
switchCode: selectType.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.switchControl.doShow(operate, selectType);
|
||||
}
|
||||
}).catch(error => {
|
||||
this.$refs.noticeInfo.doShow(operate, error.message);
|
||||
commitOperate(menuOperate.Switch.unlock, {switchCode:selectType.code}, 0).then((data)=>{
|
||||
this.$refs.switchControl.doShow(data.operate, selectType);
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
|
||||
// 现地道岔强扳
|
||||
switchTurnoutForce(selectType) {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Switch.turnoutForce.menu.operation,
|
||||
param:{
|
||||
switchCode:selectType.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
commitOperate(menuOperate.Switch.turnoutForce, {switchCode:selectType.code}, 0).then((data)=>{
|
||||
this.$refs.switchControl.doShow(data.operate, selectType);
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
|
||||
// 单操到定位
|
||||
locate(selectType) {
|
||||
const operate = {
|
||||
start: true,
|
||||
over: true,
|
||||
operation: OperationEvent.Switch.locate.menu.operation,
|
||||
param: {
|
||||
switchCode: selectType.code
|
||||
},
|
||||
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||
};
|
||||
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);
|
||||
commitOperate(menuOperate.Switch.locate, {switchCode:selectType.code}, 3).then((data)=>{
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
|
||||
// 单操到反位
|
||||
reverse(selectType) {
|
||||
const operate = {
|
||||
start: true,
|
||||
over: true,
|
||||
operation: OperationEvent.Switch.reverse.menu.operation,
|
||||
param: {
|
||||
switchCode: selectType.code
|
||||
},
|
||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||
};
|
||||
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);
|
||||
commitOperate(menuOperate.Switch.reverse, {switchCode:selectType.code}, 3).then((data)=>{
|
||||
}).catch(error=>{
|
||||
this.$refs.noticeInfo.doShow({}, error.message);
|
||||
});
|
||||
},
|
||||
|
||||
// 区段切除
|
||||
split() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Switch.split.menu.operation,
|
||||
param: {
|
||||
switchCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
commitOperate(menuOperate.Switch.split, {switchCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.switchControl.doShow(data.operate, this.selected);
|
||||
});
|
||||
},
|
||||
// 区段激活
|
||||
active() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Switch.active.menu.operation,
|
||||
param: {
|
||||
switchCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.switchControl.doShow(operate, this.selected);
|
||||
}
|
||||
commitOperate(menuOperate.Switch.active, {switchCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.switchControl.doShow(data.operate, this.selected);
|
||||
});
|
||||
},
|
||||
// 设置临时限速
|
||||
setSpeed() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Switch.setSpeed.menu.operation,
|
||||
param: {
|
||||
switchCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.speedLimitControl.doShow(operate, this.selected);
|
||||
}
|
||||
commitOperate(menuOperate.Switch.setSpeed, {switchCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.speedLimitControl.doShow(data.operate, this.selected);
|
||||
});
|
||||
},
|
||||
// 确认计轴有效
|
||||
alxeEffective() {
|
||||
const operate = {
|
||||
start: true,
|
||||
code: this.selected.code,
|
||||
operation: OperationEvent.Switch.alxeEffective.menu.operation,
|
||||
param: {
|
||||
switchCode: `${this.selected.code}`
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$refs.alxeEffective.doShow(operate, this.selected);
|
||||
}
|
||||
commitOperate(menuOperate.Switch.alxeEffective, {switchCode:this.selected.code}, 0).then((data)=>{
|
||||
this.$refs.alxeEffective.doShow(data.operate, this.selected);
|
||||
});
|
||||
},
|
||||
undeveloped() {
|
||||
|
@ -1,4 +1,3 @@
|
||||
import Vue from 'vue';
|
||||
import store from '@/store';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
@ -9,67 +8,160 @@ export const menuOperate = {
|
||||
active:{
|
||||
// 区段激活
|
||||
operation: OperationEvent.Section.active.menu.operation,
|
||||
param:['sectionCode'],
|
||||
cmdType: CMD.Section.CMD_SECTION_ACTIVE
|
||||
},
|
||||
alxeEffective:{
|
||||
// 确认计轴有效
|
||||
operation: OperationEvent.Section.alxeEffective.menu.operation,
|
||||
param:['sectionCode'],
|
||||
cmdType: CMD.Section.CMD_SECTION_COMFIRMATION_AXLE
|
||||
},
|
||||
split:{
|
||||
// 区段切除
|
||||
operation: OperationEvent.Section.split.menu.operation,
|
||||
param:['sectionCode'],
|
||||
cmdType: CMD.Section.CMD_SECTION_CUT_OFF
|
||||
},
|
||||
setSpeed:{
|
||||
// 设置速度
|
||||
operation: OperationEvent.Section.setSpeed.menu.operation,
|
||||
param:['sectionCode'],
|
||||
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
|
||||
},
|
||||
axlePreReset:{
|
||||
// 区段计轴预复位
|
||||
operation: OperationEvent.Section.axlePreReset.menu.operation,
|
||||
param:['sectionCode'],
|
||||
cmdType: CMD.Section.CMD_SECTION_AXIS_PRE_RESET
|
||||
},
|
||||
fault:{
|
||||
// 区段故障解锁
|
||||
operation: OperationEvent.Section.fault.menu.operation,
|
||||
param:['sectionCode'],
|
||||
cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
|
||||
}
|
||||
},
|
||||
Signal:{
|
||||
arrangementRoute:{
|
||||
// 排列进路
|
||||
operation: OperationEvent.Signal.arrangementRoute.menu.operation,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
},
|
||||
cancelTrainRoute:{
|
||||
// 取消进路
|
||||
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
||||
},
|
||||
humanTrainRoute:{
|
||||
// 总人解
|
||||
operation: OperationEvent.Signal.humanTrainRoute.menu.operation,
|
||||
cmdType:CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
|
||||
},
|
||||
reopenSignal:{
|
||||
// 信号重开
|
||||
operation: OperationEvent.Signal.reopenSignal.menu.operation,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
|
||||
},
|
||||
signalClose:{
|
||||
// 信号关灯
|
||||
operation: OperationEvent.Signal.signalClose.menu.operation,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
|
||||
},
|
||||
humanControl:{
|
||||
// 进路交人工控
|
||||
operation: OperationEvent.Signal.humanControl.menu.operation,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
|
||||
},
|
||||
atsAutoControl:{
|
||||
// 进路交自动控
|
||||
operation: OperationEvent.Signal.atsAutoControl.menu.operation,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
||||
},
|
||||
setAutoInterlock:{
|
||||
// 设置通过模式
|
||||
operation: OperationEvent.Signal.setAutoInterlock.menu.operation,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
||||
},
|
||||
cancelAutoInterlock:{
|
||||
// 取消通过模式
|
||||
operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
||||
},
|
||||
detail:{
|
||||
// 查询进路状态
|
||||
operation: OperationEvent.Signal.detail.menu.operation
|
||||
}
|
||||
},
|
||||
Switch:{
|
||||
lock:{
|
||||
// 道岔单锁
|
||||
operation: OperationEvent.Switch.lock.menu.operation,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
||||
},
|
||||
unlock:{
|
||||
// 道岔解锁
|
||||
operation: OperationEvent.Switch.unlock.menu.operation,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
||||
},
|
||||
turnoutForce:{
|
||||
// 道岔强扳
|
||||
operation: OperationEvent.Switch.turnoutForce.menu.operation
|
||||
},
|
||||
locate:{
|
||||
// 单操到定位
|
||||
operation: OperationEvent.Switch.locate.menu.operation,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||
},
|
||||
reverse:{
|
||||
// 单操到反位
|
||||
operation: OperationEvent.Switch.reverse.menu.operation,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||
},
|
||||
split:{
|
||||
// 区段切除
|
||||
operation: OperationEvent.Switch.split.menu.operation,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_CUT_OFF
|
||||
},
|
||||
active:{
|
||||
// 区段激活
|
||||
operation: OperationEvent.Switch.active.menu.operation,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_ACTIVE
|
||||
},
|
||||
setSpeed:{
|
||||
// 设置临时限速
|
||||
operation: OperationEvent.Switch.setSpeed.menu.operation,
|
||||
cmdType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
|
||||
},
|
||||
alxeEffective:{
|
||||
// 确认计轴有效
|
||||
operation: OperationEvent.Switch.alxeEffective.menu.operation,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_COMFIRMATION_AXLE
|
||||
}
|
||||
|
||||
},
|
||||
Stand:{
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
// export function commitOperate(menuoperate, paramList, selected, callback) {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// try {
|
||||
// const operate = {
|
||||
// start: true,
|
||||
// operation: OperationEvent.Section.split.menu.operation,
|
||||
// param: {
|
||||
// sectionCode: `${this.selected.code}`
|
||||
// }
|
||||
// };
|
||||
// this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
// if (valid) {
|
||||
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
// resolve(true);
|
||||
// // callback({operate:operate, selected:selected});
|
||||
// // this.$refs.sectionControl.doShow(operate, this.selected);
|
||||
// }
|
||||
// }).catch((error) => {
|
||||
// this.loading = false;
|
||||
// this.doClose();
|
||||
// this.$refs.noticeInfo.doShow(operate, error.message);
|
||||
// });
|
||||
// } catch (error) {
|
||||
// reject(error);
|
||||
// }
|
||||
// });
|
||||
|
||||
// }
|
||||
export function commitOperate(operate, paramList, over) {
|
||||
const step = {
|
||||
start: true,
|
||||
operation: operate.operation,
|
||||
param:{}
|
||||
};
|
||||
step.param = paramList;
|
||||
// over 0为首次操作,1为中间操作,2为最后操作,3为直接一次性操作
|
||||
if (over != 0 && over != 3) {
|
||||
delete step.start;
|
||||
}
|
||||
if (over == 2 || over == 3) {
|
||||
step.over = true;
|
||||
step.cmdType = operate.cmdType;
|
||||
}
|
||||
return new Promise(function(resolve, reject) {
|
||||
store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
resolve({operate:step});
|
||||
}
|
||||
}).catch(error=>{
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -331,16 +331,22 @@ export default {
|
||||
});
|
||||
}
|
||||
} else if (deviceList.length === 2) {
|
||||
let flag = false;
|
||||
this.routeList.forEach(item => {
|
||||
if (item.startSignalCode === deviceList[0].code && item.endSignalCode === deviceList[1].code) {
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_ROUTE;
|
||||
operate.param = {routeCode: item.code};
|
||||
this.deviceList = [];
|
||||
flag = true;
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid, response }) => {}).catch(() => {
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
});
|
||||
}
|
||||
});
|
||||
if (!flag) {
|
||||
this.deviceList = [];
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
}
|
||||
}
|
||||
},
|
||||
handelFunctionButton(model, subType) {
|
||||
@ -446,30 +452,30 @@ export default {
|
||||
cmdType: this.cmdType,
|
||||
param: ''
|
||||
};
|
||||
let flag = false;
|
||||
this.routeList.forEach(item => {
|
||||
if (item.startSignalCode === deviceList[0].code && item.endSignalCode === deviceList[1].code) {
|
||||
operate.param = {routeCode: item.code};
|
||||
this.deviceList = [];
|
||||
flag = true;
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid, response }) => {}).catch(() => {
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
});
|
||||
}
|
||||
});
|
||||
if (!flag) {
|
||||
this.deviceList = [];
|
||||
this.$refs.noticeInfo.doShow(operate);
|
||||
}
|
||||
}
|
||||
},
|
||||
handleTotalHumanSolution(model) {
|
||||
let route = '';
|
||||
this.routeList.forEach(item => {
|
||||
if (item.startSignalCode === model.code) {
|
||||
route = item;
|
||||
}
|
||||
});
|
||||
const operate = {
|
||||
send: true,
|
||||
operation: this.$store.state.menuOperation.buttonOperation
|
||||
};
|
||||
if (this.routeData[route.code].settingGuide) {
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE;
|
||||
if (model.yellowOpen && model.redOpen) {
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_CLOSE_GUIDE;
|
||||
operate.param = {signalCode: model.code};
|
||||
this.deviceList = [];
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid, response}) => {});
|
||||
|
@ -135,41 +135,38 @@ export function parser(data, skinCode, showConfig) {
|
||||
mapDevice[elem.code] = createDevice(deviceType.OutFrame, elem, propConvert, showConfig);
|
||||
}, this);
|
||||
|
||||
zrUtil.each(data.atsControlList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.AtsControl, elem, propConvert, showConfig);
|
||||
});
|
||||
zrUtil.each(data.indicatorLightList || [], elem => {
|
||||
switch (elem.type) {
|
||||
case 'AtsControl':
|
||||
mapDevice[elem.code] = createDevice(deviceType.AtsControl, elem, propConvert, showConfig);
|
||||
break;
|
||||
case 'CenterCommunication':
|
||||
mapDevice[elem.code] = createDevice(deviceType.CenterCommunication, elem, propConvert, showConfig);
|
||||
break;
|
||||
case 'ChainControl':
|
||||
mapDevice[elem.code] = createDevice(deviceType.ChainControl, elem, propConvert, showConfig);
|
||||
break;
|
||||
case 'IntersiteControl':
|
||||
mapDevice[elem.code] = createDevice(deviceType.IntersiteControl, elem, propConvert, showConfig);
|
||||
break;
|
||||
case 'LeuControl':
|
||||
mapDevice[elem.code] = createDevice(deviceType.LeuControl, elem, propConvert, showConfig);
|
||||
break;
|
||||
case 'LocalControl':
|
||||
mapDevice[elem.code] = createDevice(deviceType.LocalControl, elem, propConvert, showConfig);
|
||||
break;
|
||||
case 'Maintain':
|
||||
mapDevice[elem.code] = createDevice(deviceType.Maintain, elem, propConvert, showConfig);
|
||||
break;
|
||||
case 'PowerSupply':
|
||||
mapDevice[elem.code] = createDevice(deviceType.PowerSupply, elem, propConvert, showConfig);
|
||||
break;
|
||||
case 'NoOneReturn':
|
||||
mapDevice[elem.code] = createDevice(deviceType.NoOneReturn, elem, propConvert, showConfig);
|
||||
break;
|
||||
}
|
||||
}, this);
|
||||
|
||||
zrUtil.each(data.centerCommunicationList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.CenterCommunication, elem, propConvert, showConfig);
|
||||
});
|
||||
|
||||
zrUtil.each(data.chainControlList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.ChainControl, elem, propConvert, showConfig);
|
||||
});
|
||||
|
||||
zrUtil.each(data.intersiteControlList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.IntersiteControl, elem, propConvert, showConfig);
|
||||
});
|
||||
|
||||
zrUtil.each(data.leuControlList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.LeuControl, elem, propConvert, showConfig);
|
||||
});
|
||||
|
||||
zrUtil.each(data.localControlList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.LocalControl, elem, propConvert, showConfig);
|
||||
});
|
||||
|
||||
zrUtil.each(data.maintainList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.Maintain, elem, propConvert, showConfig);
|
||||
});
|
||||
|
||||
zrUtil.each(data.powerSupplyList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.PowerSupply, elem, propConvert, showConfig);
|
||||
});
|
||||
|
||||
zrUtil.each(data.noOneReturnList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.NoOneReturn, elem, propConvert, showConfig);
|
||||
});
|
||||
zrUtil.each(data.trainWindowList || [], elem => {
|
||||
mapDevice[elem.code] = createDevice(deviceType.TrainWindow, elem, propConvert, showConfig);
|
||||
if (elem.sectionCode) {
|
||||
@ -266,15 +263,15 @@ export function updateMapData(state, model) {
|
||||
case deviceType.GuideLock: updateForList(model, state, 'totalGuideLockButtonVOList'); break;
|
||||
case deviceType.OutFrame: updateForList(model, state, 'outerFrameList'); break;
|
||||
case deviceType.AutomaticRoute: updateForList(model, state, 'automaticRouteButtonList'); break;
|
||||
case deviceType.AtsControl: updateForList(model, state, 'atsControlList'); break;
|
||||
case deviceType.CenterCommunication: updateForList(model, state, 'centerCommunicationList'); break;
|
||||
case deviceType.ChainControl: updateForList(model, state, 'chainControlList'); break;
|
||||
case deviceType.IntersiteControl: updateForList(model, state, 'intersiteControlList'); break;
|
||||
case deviceType.LeuControl: updateForList(model, state, 'leuControlList'); break;
|
||||
case deviceType.LocalControl: updateForList(model, state, 'localControlList'); break;
|
||||
case deviceType.Maintain: updateForList(model, state, 'maintainList'); break;
|
||||
case deviceType.PowerSupply: updateForList(model, state, 'powerSupplyList'); break;
|
||||
case deviceType.NoOneReturn: updateForList(model, state, 'noOneReturnList'); break;
|
||||
case deviceType.AtsControl: updateForList(model, state, 'indicatorLightList'); break;
|
||||
case deviceType.CenterCommunication: updateForList(model, state, 'indicatorLightList'); break;
|
||||
case deviceType.ChainControl: updateForList(model, state, 'indicatorLightList'); break;
|
||||
case deviceType.IntersiteControl: updateForList(model, state, 'indicatorLightList'); break;
|
||||
case deviceType.LeuControl: updateForList(model, state, 'indicatorLightList'); break;
|
||||
case deviceType.LocalControl: updateForList(model, state, 'indicatorLightList'); break;
|
||||
case deviceType.Maintain: updateForList(model, state, 'indicatorLightList'); break;
|
||||
case deviceType.PowerSupply: updateForList(model, state, 'indicatorLightList'); break;
|
||||
case deviceType.NoOneReturn: updateForList(model, state, 'indicatorLightList'); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -78,8 +78,10 @@ export default {
|
||||
CMD_SIGNAL_REOPEN_SIGNAL: {value:'Signal_Reopen_Signal', label: '信号重开'},
|
||||
/** 办理引导 */
|
||||
CMD_SIGNAL_ROUTE_GUIDE: {value:'Signal_Set_Guide', label: '办理引导'},
|
||||
/** 取消引导同时取消进路 */
|
||||
CMD_SIGNAL_CANCEL_GUIDE: {value:'Signal_Cancel_Guide', label: '取消引导&进路'},
|
||||
/** 取消引导 */
|
||||
CMD_SIGNAL_CANCEL_GUIDE: {value:'Signal_Cancel_Guide', label: '取消引导'},
|
||||
CMD_SIGNAL_CLOSE_GUIDE: {value: 'Signal_Close_Guide', label: '取消引导'},
|
||||
/** 进路自排开 */
|
||||
CMD_SIGNAL_OPEN_AUTO_SETTING: {value:'Signal_Open_Auto_Setting', label: '进路自排开'},
|
||||
/** 进路自排关 */
|
||||
|
@ -361,65 +361,9 @@ const map = {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
atsControlList: (state) => {
|
||||
indicatorLightList: (state) => {
|
||||
if (state.map) {
|
||||
return state.map.atsControlList || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
centerCommunicationList: (state) => {
|
||||
if (state.map) {
|
||||
return state.map.centerCommunicationList || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
chainControlList: (state) => {
|
||||
if (state.map) {
|
||||
return state.map.chainControlList || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
intersiteControlList: (state) => {
|
||||
if (state.map) {
|
||||
return state.map.intersiteControlList || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
leuControlList: (state) => {
|
||||
if (state.map) {
|
||||
return state.map.leuControlList || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
powerSupplyList: (state) => {
|
||||
if (state.map) {
|
||||
return state.map.powerSupplyList || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
maintainList: (state) => {
|
||||
if (state.map) {
|
||||
return state.map.maintainList || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
localControlList: (state) => {
|
||||
if (state.map) {
|
||||
return state.map.localControlList || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
noOneReturnList: (state) => {
|
||||
if (state.map) {
|
||||
return state.map.noOneReturnList || [];
|
||||
return state.map.indicatorLightList || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
|
@ -39,7 +39,7 @@
|
||||
<div v-if="scope.$index == 9" class="table-9-top">状态比较</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="province" width="120">
|
||||
<el-table-column prop="code" width="120">
|
||||
<template slot="header">
|
||||
<div style="width: 100%">模式</div>
|
||||
<div style="width: 100%">编号</div>
|
||||
@ -47,31 +47,31 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="大系统模式表">
|
||||
<el-table-column label="新风机">
|
||||
<el-table-column prop="province" label="FAF-1" width="120" />
|
||||
<el-table-column prop="city" label="FAF-2" width="120" />
|
||||
<el-table-column prop="faf1" label="FAF-1" width="120" />
|
||||
<el-table-column prop="faf2" label="FAF-2" width="120" />
|
||||
</el-table-column>
|
||||
<el-table-column label="组合式空调器">
|
||||
<el-table-column prop="province" label="AHU-1" width="120" />
|
||||
<el-table-column prop="city" label="AHU-2" width="120" />
|
||||
<el-table-column prop="ahu1" label="AHU-1" width="120" />
|
||||
<el-table-column prop="ahu2" label="AHU-2" width="120" />
|
||||
</el-table-column>
|
||||
<el-table-column label="回排风机">
|
||||
<el-table-column prop="province" label="RAF/SEF-1" width="120" />
|
||||
<el-table-column prop="city" label="RAF/SEF-2" width="120" />
|
||||
<el-table-column prop="raf1" label="RAF/SEF-1" width="120" />
|
||||
<el-table-column prop="raf2" label="RAF/SEF-2" width="120" />
|
||||
</el-table-column>
|
||||
<el-table-column label="风机1">
|
||||
<el-table-column prop="province" label="MD-1" width="120" />
|
||||
<el-table-column prop="province" label="MD-2" width="120" />
|
||||
<el-table-column prop="province" label="MD-3" width="120" />
|
||||
<el-table-column prop="province" label="MD-4" width="120" />
|
||||
<el-table-column prop="province" label="MD-5" width="120" />
|
||||
<el-table-column prop="province" label="MD-6" width="120" />
|
||||
<el-table-column prop="province" label="MD-7" width="120" />
|
||||
<el-table-column prop="province" label="MD-8" width="120" />
|
||||
<el-table-column prop="province" label="MD-9" width="120" />
|
||||
<el-table-column prop="province" label="MD-10" width="120" />
|
||||
<el-table-column prop="province" label="MD-11" width="120" />
|
||||
<el-table-column prop="province" label="MD-12" width="120" />
|
||||
<el-table-column prop="province" label="MD-13" width="120" />
|
||||
<el-table-column prop="md1" label="MD-1" width="120" />
|
||||
<el-table-column prop="md1" label="MD-2" width="120" />
|
||||
<el-table-column prop="md1" label="MD-3" width="120" />
|
||||
<el-table-column prop="md1" label="MD-4" width="120" />
|
||||
<el-table-column prop="md1" label="MD-5" width="120" />
|
||||
<el-table-column prop="md1" label="MD-6" width="120" />
|
||||
<el-table-column prop="md1" label="MD-7" width="120" />
|
||||
<el-table-column prop="md1" label="MD-8" width="120" />
|
||||
<el-table-column prop="md1" label="MD-9" width="120" />
|
||||
<el-table-column prop="md1" label="MD-10" width="120" />
|
||||
<el-table-column prop="md1" label="MD-11" width="120" />
|
||||
<el-table-column prop="md1" label="MD-12" width="120" />
|
||||
<el-table-column prop="md1" label="MD-13" width="120" />
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -107,65 +107,95 @@ export default {
|
||||
tableTitleStyle: 'text-align: center; height: 28px; padding: 0;background: #45607B;',
|
||||
rowStyle: 'text-align: center;height: 28px; padding: 0; background: #45607B;',
|
||||
tableData: [{
|
||||
date: '2016-05-03',
|
||||
name: '王小虎',
|
||||
province: '上海',
|
||||
city: '普陀区',
|
||||
zip: 200333
|
||||
code: '101',
|
||||
faf1: '打开',
|
||||
faf2: '打开',
|
||||
ahu1: '打开',
|
||||
ahu2: '打开',
|
||||
raf1: '打开',
|
||||
raf2: '打开',
|
||||
md1: '关闭'
|
||||
}, {
|
||||
date: '2016-05-02',
|
||||
name: '王小虎',
|
||||
province: '上海',
|
||||
city: '普陀区',
|
||||
zip: 200333
|
||||
code: '102',
|
||||
faf1: '打开',
|
||||
faf2: '打开',
|
||||
ahu1: '打开',
|
||||
ahu2: '打开',
|
||||
raf1: '打开',
|
||||
raf2: '打开',
|
||||
md1: '打开'
|
||||
}, {
|
||||
date: '2016-05-04',
|
||||
name: '王小虎',
|
||||
province: '上海',
|
||||
city: '普陀区',
|
||||
zip: 200333
|
||||
code: '103',
|
||||
faf1: '打开',
|
||||
faf2: '打开',
|
||||
ahu1: '打开',
|
||||
ahu2: '打开',
|
||||
raf1: '打开',
|
||||
raf2: '打开',
|
||||
md1: '关闭'
|
||||
}, {
|
||||
date: '2016-05-01',
|
||||
name: '王小虎',
|
||||
province: '上海',
|
||||
city: '普陀区',
|
||||
zip: 200333
|
||||
code: '104',
|
||||
faf1: '打开',
|
||||
faf2: '关闭',
|
||||
ahu1: '打开',
|
||||
ahu2: '打开',
|
||||
raf1: '打开',
|
||||
raf2: '打开',
|
||||
md1: '打开'
|
||||
}, {
|
||||
date: '2016-05-08',
|
||||
name: '王小虎',
|
||||
province: '上海',
|
||||
city: '普陀区',
|
||||
zip: 200333
|
||||
code: '105',
|
||||
faf1: '打开',
|
||||
faf2: '打开',
|
||||
ahu1: '打开',
|
||||
ahu2: '打开',
|
||||
raf1: '打开',
|
||||
raf2: '打开',
|
||||
md1: '关闭'
|
||||
}, {
|
||||
date: '2016-05-06',
|
||||
name: '王小虎',
|
||||
province: '上海',
|
||||
city: '普陀区',
|
||||
zip: 200333
|
||||
code: '106',
|
||||
faf1: '打开',
|
||||
faf2: '关闭',
|
||||
ahu1: '打开',
|
||||
ahu2: '打开',
|
||||
raf1: '打开',
|
||||
raf2: '打开',
|
||||
md1: '打开'
|
||||
}, {
|
||||
date: '2016-05-07',
|
||||
name: '王小虎',
|
||||
province: '上海',
|
||||
city: '普陀区',
|
||||
zip: 200333
|
||||
code: '107',
|
||||
faf1: '打开',
|
||||
faf2: '打开',
|
||||
ahu1: '打开',
|
||||
ahu2: '打开',
|
||||
raf1: '打开',
|
||||
raf2: '打开',
|
||||
md1: '打开'
|
||||
}, {
|
||||
date: '2016-05-07',
|
||||
name: '王小虎',
|
||||
province: '上海',
|
||||
city: '普陀区',
|
||||
zip: 200333
|
||||
code: '108',
|
||||
faf1: '打开',
|
||||
faf2: '关闭',
|
||||
ahu1: '打开',
|
||||
ahu2: '打开',
|
||||
raf1: '打开',
|
||||
raf2: '打开',
|
||||
md1: '打开'
|
||||
}, {
|
||||
date: '2016-05-07',
|
||||
name: '王小虎',
|
||||
province: '上海',
|
||||
city: '普陀区',
|
||||
zip: 200333
|
||||
code: '',
|
||||
faf1: '打开',
|
||||
faf2: '打开',
|
||||
ahu1: '打开',
|
||||
ahu2: '打开',
|
||||
raf1: '打开',
|
||||
raf2: '打开',
|
||||
md1: '打开'
|
||||
}, {
|
||||
date: '',
|
||||
name: '',
|
||||
province: '',
|
||||
city: '',
|
||||
zip: ''
|
||||
code: '',
|
||||
faf1: '打开',
|
||||
faf2: '打开',
|
||||
ahu1: '打开',
|
||||
ahu2: '打开',
|
||||
raf1: '打开',
|
||||
raf2: '打开',
|
||||
md1: '打开'
|
||||
}]
|
||||
};
|
||||
},
|
||||
|
@ -1,82 +1,93 @@
|
||||
<template>
|
||||
<div>
|
||||
<div style="position: absolute; left: 48%; top: 15%;font-size: 20px;color: #9EEBEF;">语音广播</div>
|
||||
<div class="area-selection">
|
||||
<el-row><div style="margin-top: 10px;margin-bottom: 5px; color: #9EEBEF;">特定区域</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedAll">全线</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('站厅')">全站厅</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('上行站台')">全上行站台</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('下行站台')">全下行站台</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('办公区')">全办公区</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('出入口')">全出入口</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('换乘通道')">全换乘通道</div></el-row>
|
||||
</div>
|
||||
<div class="broadcast-form">
|
||||
<div :key="i" v-for="(item,i) in verticalHeader" :style="{width: tableWidth+'px'}" class="iscs-pa-table">
|
||||
<div class="left-header">{{ item.name }}</div>
|
||||
<div style="position: relative; left: 5%;">
|
||||
<div :key="j" v-for="(it, j) in stationList" class="table-grid">
|
||||
<div v-if="item.type==='header'" class="pa-table-header" @click="selectedStation(it)">
|
||||
<div style="cursor: default;">{{ it }}</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="pa-table-content" @click="clickArea(i,j)">
|
||||
<div class="pa-table-content-inside" :style="{background: selectedAreaList.includes(i + '-' + j)? '#2EFF74':'#CDCDCD'}" />
|
||||
<div style="margin: 20px auto 0;text-align: center;font-size: 20px;color: #9EEBEF;">语音广播</div>
|
||||
<div style="overflow: hidden;">
|
||||
<div class="area-selection">
|
||||
<el-row><div style="margin-top: 10px;margin-bottom: 5px; color: #9EEBEF;">特定区域</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedAll">全线</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('站厅')">全站厅</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('上行站台')">全上行站台</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('下行站台')">全下行站台</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('办公区')">全办公区</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('出入口')">全出入口</div></el-row>
|
||||
<el-row><div class="area-selection-button" @click="selectedBatch('换乘通道')">全换乘通道</div></el-row>
|
||||
</div>
|
||||
<div class="broadcast-form">
|
||||
<div style="width: 120px; height: 300px; float: left; position: absolute; top: 20px;">
|
||||
<div v-for="(item,i) in verticalHeader" :key="i" :style="{top: i * 31.5 +'px'}" class="left-header">{{ item.name }}</div>
|
||||
</div>
|
||||
<div style="float: left; overflow-x: auto; width: 100%; height: 314px;">
|
||||
<div v-for="(item,i) in verticalHeader" :key="i" :style="{width: tableWidth+'px'}" class="iscs-pa-table">
|
||||
<div style="position: relative; left: 80px;">
|
||||
<div v-for="(it, j) in stationList" :key="j" class="table-grid">
|
||||
<div v-if="item.type==='header'" class="pa-table-header" @click="selectedStation(it)">
|
||||
<div style="cursor: default;">{{ it }}</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="pa-table-content" @click="clickArea(i,j)">
|
||||
<div class="pa-table-content-inside" :style="{background: selectedAreaList.includes(i + '-' + j)? '#2EFF74':'#CDCDCD'}" />
|
||||
</div>
|
||||
<div style="display: inline-block;margin-left: 5px;height: 18px;line-height: 18px;transform: translateY(-25%);color: #192780;">0</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: inline-block;margin-left: 5px;height: 18px;line-height: 18px;transform: translateY(-25%);color: #192780;">0</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="float: right; width: 11%; margin-right: 1%;margin-top: 63px;">
|
||||
<div class="broadcast-mode">
|
||||
<el-row>
|
||||
<el-col :span="12"><div style="height: 40px;text-align: center; background: #000088;color: #fff;line-height: 40px">实时广播</div></el-col>
|
||||
<el-col :span="12"><div class="broadcast-mode-button">广播</div></el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="broadcast-operations">
|
||||
<el-row>
|
||||
<el-col :span="12"><div style="height: 80px;text-align: center; background: #000088;color: #fff;padding-top: 30px">预备<br>广播</div></el-col>
|
||||
<el-col :span="12">
|
||||
<div class="broadcast-mode-button" @click="selectedVideoMode('common')">
|
||||
<div class="pa-check-box" :style="{background: videoMode==='common'?'#2EFF74':'#CDCDCD'}" />
|
||||
<div style="position: relative; left: 5px;display: inline-block;">普通预录</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="broadcast-mode-button" @click="selectedVideoMode('emergency')">
|
||||
<div class="pa-check-box" :style="{background: videoMode==='emergency'?'#2EFF74':'#CDCDCD'}" />
|
||||
<div style="position: relative; left: 5px;display: inline-block; color: #f00;">紧急预录</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="padding-bottom: 10px">
|
||||
<el-col :span="12">
|
||||
<div class="broadcast-mode-button" @click="showBroadcastContent">广播内容</div>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<div class="broadcast-mode-button">广播停止</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="background-music">
|
||||
<el-row>
|
||||
<el-col :span="12"><div style="height: 40px;text-align: center; background: #000088;color: #fff;line-height: 40px">背景音乐</div></el-col>
|
||||
</el-row>
|
||||
<el-row style="padding-bottom: 10px">
|
||||
<el-col :span="12"><div class="broadcast-mode-button">播放音乐</div></el-col>
|
||||
<el-col :span="12"><div class="broadcast-mode-button">停止音乐</div></el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="broadcast-mode">
|
||||
<el-row>
|
||||
<el-col :span="12"><div style="height: 40px;text-align: center; background: #000088;color: #fff;line-height: 40px">实时广播</div></el-col>
|
||||
<el-col :span="12"><div class="broadcast-mode-button">广播</div></el-col>
|
||||
</el-row>
|
||||
<div>
|
||||
<div class="pa-grey-box" />
|
||||
<div class="pa-statements">
|
||||
<state-table />
|
||||
</div>
|
||||
</div>
|
||||
<div class="broadcast-operations">
|
||||
<el-row>
|
||||
<el-col :span="12"><div style="height: 80px;text-align: center; background: #000088;color: #fff;padding-top: 30px">预备<br>广播</div></el-col>
|
||||
<el-col :span="12">
|
||||
<div class="broadcast-mode-button" @click="selectedVideoMode('common')">
|
||||
<div class="pa-check-box" :style="{background: videoMode==='common'?'#2EFF74':'#CDCDCD'}" />
|
||||
<div style="position: relative; left: 5px;display: inline-block;">普通预录</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="broadcast-mode-button" @click="selectedVideoMode('emergency')">
|
||||
<div class="pa-check-box" :style="{background: videoMode==='emergency'?'#2EFF74':'#CDCDCD'}" />
|
||||
<div style="position: relative; left: 5px;display: inline-block; color: #f00;">紧急预录</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="padding-bottom: 10px">
|
||||
<el-col :span="12">
|
||||
<div class="broadcast-mode-button" @click="showBroadcastContent">广播内容</div>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<div class="broadcast-mode-button">广播停止</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="background-music">
|
||||
<el-row>
|
||||
<el-col :span="12"><div style="height: 40px;text-align: center; background: #000088;color: #fff;line-height: 40px">背景音乐</div></el-col>
|
||||
</el-row>
|
||||
<el-row style="padding-bottom: 10px">
|
||||
<el-col :span="12"><div class="broadcast-mode-button">播放音乐</div></el-col>
|
||||
<el-col :span="12"><div class="broadcast-mode-button">停止音乐</div></el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="pa-grey-box" />
|
||||
<div class="pa-statements">
|
||||
<state-table />
|
||||
</div>
|
||||
<voice-broadcast ref="voiceBroadcast" />
|
||||
<voice-broadcast ref="voiceBroadcast" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getByGroupStationList } from '@/api/jmap/map';
|
||||
import MusicIcon from '@/assets/iscs_icon/music_icon.png';
|
||||
import StateTable from './stateTable';
|
||||
import VoiceBroadcast from './voiceBroadcast';
|
||||
@ -100,7 +111,7 @@ export default {
|
||||
],
|
||||
musicIcon: MusicIcon,
|
||||
selectedAreaList: [],
|
||||
stationList: ['会展中心站', '世纪大道站', '交通大学站', '市图书馆站', '中心医院站', '未来路站', '火车站', '人民广场站', '体育中心站'],
|
||||
stationList: [],
|
||||
videoMode: 'common'
|
||||
};
|
||||
},
|
||||
@ -109,6 +120,18 @@ export default {
|
||||
return this.stationList.length * 120 + 80;
|
||||
}
|
||||
},
|
||||
async created () {
|
||||
// 请求当前线路车站列表
|
||||
const res = await getByGroupStationList(this.$route.query.group);
|
||||
if (res.code == 200) {
|
||||
this.stationList = [];
|
||||
res.data.forEach(station => {
|
||||
if (!station.depot) {
|
||||
this.stationList.push(station.name);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
clickArea(i, j) {
|
||||
if (this.selectedAreaList.includes(i + '-' + j)) {
|
||||
@ -210,9 +233,9 @@ export default {
|
||||
border-right: 3px solid #fff;
|
||||
border-bottom: 3px solid #fff;
|
||||
width: 5%;
|
||||
position: absolute;
|
||||
top: 200px;
|
||||
left: 1%;
|
||||
float: left;
|
||||
margin-top: 63px;
|
||||
margin-left: 1%;
|
||||
}
|
||||
.area-selection-button{
|
||||
width: 90%;
|
||||
@ -242,12 +265,13 @@ export default {
|
||||
border-right: 3px solid #fff;
|
||||
border-bottom: 3px solid #fff;
|
||||
width: 80%;
|
||||
height: 40%;
|
||||
top: 200px;
|
||||
position: absolute;
|
||||
left: 7%;
|
||||
height: 340px;
|
||||
margin-left: 10px;
|
||||
float: left;
|
||||
margin-top: 63px;
|
||||
overflow-x: auto;
|
||||
padding-top: 20px;
|
||||
position: relative;
|
||||
}
|
||||
.table-grid{
|
||||
width: 120px;
|
||||
@ -258,14 +282,15 @@ export default {
|
||||
}
|
||||
.left-header{
|
||||
width: 120px;
|
||||
height: 30px;
|
||||
height: 32px;
|
||||
display: inline-block;
|
||||
padding-left: 20px;
|
||||
font-size: 14px;
|
||||
text-align: left;
|
||||
color: #A2E8EB;
|
||||
position:fixed;
|
||||
left: 7.15%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: #45607B;
|
||||
z-index: 10;
|
||||
}
|
||||
@ -309,11 +334,12 @@ export default {
|
||||
border-bottom: 2px solid #898888;
|
||||
}
|
||||
.pa-grey-box{
|
||||
position: absolute;
|
||||
left: 4%;
|
||||
top: 64%;
|
||||
width: 81%;
|
||||
height: 30%;
|
||||
float: left;
|
||||
margin-left: 5%;
|
||||
margin-top: 10px;
|
||||
top: 500px;
|
||||
width: 78%;
|
||||
height: 240px;
|
||||
background: #DDDDDD;
|
||||
border-top: 3px solid #898888;
|
||||
border-left: 3px solid #898888;
|
||||
@ -321,24 +347,21 @@ export default {
|
||||
border-bottom: 3px solid #fff;
|
||||
}
|
||||
.pa-statements{
|
||||
position: absolute;
|
||||
left: 86%;
|
||||
top: 64%;
|
||||
width: 13%;
|
||||
float: right;
|
||||
margin-right: 1%;
|
||||
margin-top: 50px;
|
||||
width: 15%;
|
||||
height: 30%;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
}
|
||||
.broadcast-mode{
|
||||
position: absolute;
|
||||
left: 88%;
|
||||
top: 25%;
|
||||
border-top: 3px solid #898888;
|
||||
border-left: 3px solid #898888;
|
||||
border-right: 3px solid #fff;
|
||||
border-bottom: 3px solid #fff;
|
||||
width: 11%;
|
||||
font-size: 12px;
|
||||
margin-bottom: 13px;
|
||||
}
|
||||
.broadcast-mode-button{
|
||||
height: 30px;
|
||||
@ -364,16 +387,13 @@ export default {
|
||||
}
|
||||
}
|
||||
.broadcast-operations{
|
||||
position: absolute;
|
||||
left: 88%;
|
||||
top: 32%;
|
||||
border-top: 3px solid #898888;
|
||||
border-left: 3px solid #898888;
|
||||
border-right: 3px solid #fff;
|
||||
border-bottom: 3px solid #fff;
|
||||
width: 11%;
|
||||
font-size: 12px;
|
||||
background: #778899;
|
||||
margin-bottom: 13px;
|
||||
}
|
||||
.pa-check-box{
|
||||
position: relative;
|
||||
@ -388,14 +408,10 @@ export default {
|
||||
border-bottom: 2px solid #fff;
|
||||
}
|
||||
.background-music{
|
||||
position: absolute;
|
||||
left: 88%;
|
||||
top: 48%;
|
||||
border-top: 3px solid #898888;
|
||||
border-left: 3px solid #898888;
|
||||
border-right: 3px solid #fff;
|
||||
border-bottom: 3px solid #fff;
|
||||
width: 11%;
|
||||
font-size: 12px;
|
||||
background: #778899;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div>
|
||||
<div style="height: 100%; overflow-y: auto;">
|
||||
<center-home v-if="currentSystem === 'center'" />
|
||||
<station-home v-else-if="currentSystem === 'local'" />
|
||||
</div>
|
||||
|
@ -11,7 +11,7 @@
|
||||
<emergency-release v-else-if="mode === 'EmergencyRelease'" />
|
||||
<controlBAS v-else-if="mode === 'controlBAS'" />
|
||||
<controlPermissionBAS v-else-if="mode === 'controlPermissionBAS'" />
|
||||
<mainScreenPA v-else-if="mode === 'mainScreenPA'" />
|
||||
<!-- <mainScreenPA v-else-if="mode === 'mainScreenPA'" /> -->
|
||||
<radioListeningPA v-else-if="mode === 'radioListeningPA'" />
|
||||
<timePreviewPA v-else-if="mode === 'timePreviewPA'" />
|
||||
<controlCCTV v-else-if="mode === 'controlCCTV'" />
|
||||
@ -39,7 +39,7 @@ import StationNetwork from './pis/stationNetwork';
|
||||
import EmergencyRelease from './pis/emergencyRelease';
|
||||
import controlBAS from './bas/controlBAS';
|
||||
import controlPermissionBAS from './bas/controlPermissionBAS';
|
||||
import mainScreenPA from './pa/mainScreenPA';
|
||||
// import mainScreenPA from './pa/mainScreenPA';
|
||||
import radioListeningPA from './pa/radioListeningPA';
|
||||
import timePreviewPA from './pa/timePreviewPA';
|
||||
import controlCCTV from './cctv/controlCCTV';
|
||||
@ -66,7 +66,7 @@ export default {
|
||||
EmergencyRelease,
|
||||
controlBAS,
|
||||
controlPermissionBAS,
|
||||
mainScreenPA,
|
||||
// mainScreenPA,
|
||||
radioListeningPA,
|
||||
timePreviewPA,
|
||||
controlCCTV,
|
||||
|
@ -84,6 +84,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getByGroupStationList } from '@/api/jmap/map';
|
||||
import InfoBroadcast from './infoBroadcast';
|
||||
export default {
|
||||
name:'MainScreen',
|
||||
@ -92,92 +93,31 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
stationList:[
|
||||
{
|
||||
stationName:'会展中心站',
|
||||
children:[
|
||||
{status:'none'}, {status:'default'},
|
||||
{status:'default'}, {status:'default'},
|
||||
{status:'none'}, {status:'none'},
|
||||
{status:'none'}, {status:'default'}
|
||||
]
|
||||
},
|
||||
{
|
||||
stationName:'世纪大道站',
|
||||
children:[
|
||||
{status:'none'}, {status:'default'},
|
||||
{status:'default'}, {status:'default'},
|
||||
{status:'none'}, {status:'none'},
|
||||
{status:'none'}, {status:'default'}
|
||||
]
|
||||
},
|
||||
{
|
||||
stationName:'交通大学站',
|
||||
children:[
|
||||
{status:'none'}, {status:'default'},
|
||||
{status:'default'}, {status:'default'},
|
||||
{status:'none'}, {status:'none'},
|
||||
{status:'none'}, {status:'default'}
|
||||
]
|
||||
},
|
||||
{
|
||||
stationName:'市图书馆站',
|
||||
children:[
|
||||
{status:'none'}, {status:'default'},
|
||||
{status:'default'}, {status:'default'},
|
||||
{status:'none'}, {status:'none'},
|
||||
{status:'none'}, {status:'default'}
|
||||
]
|
||||
},
|
||||
{
|
||||
stationName:'中心医院站',
|
||||
children:[
|
||||
{status:'none'}, {status:'default'},
|
||||
{status:'default'}, {status:'default'},
|
||||
{status:'none'}, {status:'none'},
|
||||
{status:'none'}, {status:'default'}
|
||||
]
|
||||
},
|
||||
{
|
||||
stationName:'未来路站',
|
||||
children:[
|
||||
{status:'none'}, {status:'default'},
|
||||
{status:'default'}, {status:'default'},
|
||||
{status:'none'}, {status:'none'},
|
||||
{status:'none'}, {status:'default'}
|
||||
]
|
||||
},
|
||||
{
|
||||
stationName:'火车站',
|
||||
children:[
|
||||
{status:'none'}, {status:'default'},
|
||||
{status:'default'}, {status:'default'},
|
||||
{status:'none'}, {status:'none'},
|
||||
{status:'none'}, {status:'default'}
|
||||
]
|
||||
},
|
||||
{
|
||||
stationName:'人民广场站',
|
||||
children:[
|
||||
{status:'none'}, {status:'default'},
|
||||
{status:'default'}, {status:'default'},
|
||||
{status:'none'}, {status:'none'},
|
||||
{status:'none'}, {status:'default'}
|
||||
]
|
||||
},
|
||||
{
|
||||
stationName:'体育中心站',
|
||||
children:[
|
||||
{status:'none'}, {status:'default'},
|
||||
{status:'default'}, {status:'default'},
|
||||
{status:'none'}, {status:'none'},
|
||||
{status:'none'}, {status:'default'}
|
||||
]
|
||||
}
|
||||
],
|
||||
stationList:[],
|
||||
selectedAreaList: []
|
||||
};
|
||||
},
|
||||
async created () {
|
||||
// 请求当前线路车站列表
|
||||
const res = await getByGroupStationList(this.$route.query.group);
|
||||
if (res.code == 200) {
|
||||
this.stationList = [];
|
||||
res.data.forEach(station => {
|
||||
if (!station.depot) {
|
||||
const param = {
|
||||
stationName: station.name,
|
||||
children:[
|
||||
{status:'none'}, {status:'default'},
|
||||
{status:'default'}, {status:'default'},
|
||||
{status:'none'}, {status:'none'},
|
||||
{status:'none'}, {status:'default'}
|
||||
]
|
||||
};
|
||||
this.stationList.push(param);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
showInfoBrroadcast() {
|
||||
this.$refs.infoBroadcast.doShow();
|
||||
@ -318,7 +258,7 @@ border-top: 2px solid #8c8a89;border-left: 2px solid #8c8a89;border-right: 2px s
|
||||
vertical-align: top;
|
||||
}
|
||||
.screen_status_active::after{content:'';border-top: 2px solid #a6a2a6;border-left: 2px solid #a5aca5;border-right: 2px solid #ececec;border-bottom: 2px solid #e4e4e4;background: #00ff00;min-width: 10px;height: 10px;display: inline-block;vertical-align: top;}
|
||||
.screen_left_text_group{width:180px;padding: 0px 10px 10px 10px;font-size: 14px;color: #9de4e8;display: inline-block;}
|
||||
.screen_left_text_group{width:210px;padding: 0px 10px 10px 10px;font-size: 14px;color: #9de4e8;display: inline-block;}
|
||||
.each_data_info{margin-top:10px;height:20px;}
|
||||
.screen_right_group{display: inline-block;vertical-align: top;font-size:0;overflow-x: auto;min-height:100%;}
|
||||
.each_station_info{width:130px;display: inline-block;vertical-align:top;padding-right: 10px;}
|
||||
|
@ -53,6 +53,15 @@ export default {
|
||||
return {
|
||||
activeName: 'first',
|
||||
autoList: [],
|
||||
atsControlList: [],
|
||||
centerCommunicationList: [],
|
||||
chainControlList: [],
|
||||
intersiteControlList: [],
|
||||
leuControlList: [],
|
||||
localControlList: [],
|
||||
maintainList: [],
|
||||
powerSupplyList: [],
|
||||
noOneReturnList: [],
|
||||
typeList: [
|
||||
{ name: 'LEU通信', value: 'LeuControl' },
|
||||
{ name: '站间通信', value: 'IntersiteControl' },
|
||||
@ -96,6 +105,9 @@ export default {
|
||||
],
|
||||
'position.y': [
|
||||
{ required: true, message: this.$t('rules.trainPositionY'), trigger: 'blur' }
|
||||
],
|
||||
stationCode: [
|
||||
{ required: true, message: '请选择设备集中站', trigger: 'change'}
|
||||
]
|
||||
}
|
||||
};
|
||||
@ -103,15 +115,7 @@ export default {
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationList',
|
||||
'atsControlList',
|
||||
'centerCommunicationList',
|
||||
'chainControlList',
|
||||
'intersiteControlList',
|
||||
'leuControlList',
|
||||
'localControlList',
|
||||
'maintainList',
|
||||
'powerSupplyList',
|
||||
'noOneReturnList'
|
||||
'indicatorLightList'
|
||||
]),
|
||||
form() {
|
||||
const form = {
|
||||
@ -124,7 +128,7 @@ export default {
|
||||
draw: {
|
||||
name: this.$t('map.drawData'),
|
||||
item: [
|
||||
{ prop:'type', label: '表示灯类型:', type: 'select', optionLabel: 'name', optionValue: 'value', options: this.typeList, disabled: true },
|
||||
{ prop:'type', label: '表示灯类型:', type: 'select', optionLabel: 'name', optionValue: 'value', options: this.typeList, change: true, deviceChange: this.typeChange },
|
||||
{ prop: 'code', label: `${this.$t('map.code')}`, type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.selectLists, change: true, deviceChange: this.deviceChange },
|
||||
{ prop: 'name', label: '表示灯名称:', type: 'input' },
|
||||
{ prop: 'position', label: '坐标:', type: 'coordinate', width: '140px', children: [
|
||||
@ -166,6 +170,9 @@ export default {
|
||||
],
|
||||
'position.y': [
|
||||
{ required: true, message: this.$t('rules.trainPositionY'), trigger: 'blur' }
|
||||
],
|
||||
stationCode: [
|
||||
{ required: true, message: '请选择设备集中站', trigger: 'change'}
|
||||
]
|
||||
};
|
||||
}
|
||||
@ -173,17 +180,64 @@ export default {
|
||||
watch: {
|
||||
selected(val, oldVal) {
|
||||
this.deviceSelect(val);
|
||||
},
|
||||
indicatorLightList(val) {
|
||||
this.handleIndicatorLightList(val);
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.handleIndicatorLightList(this.indicatorLightList);
|
||||
},
|
||||
methods: {
|
||||
typeChange(type) {
|
||||
this.$refs.dataform.resetFields();
|
||||
this.$refs.make.resetFields();
|
||||
this.addModel.type = type;
|
||||
this.editModel.type = type;
|
||||
this.handleTypes(type);
|
||||
},
|
||||
handleIndicatorLightList(indicatorLightList) {
|
||||
this.atsControlList = [];
|
||||
this.centerCommunicationList = [];
|
||||
this.chainControlList = [];
|
||||
this.intersiteControlList = [];
|
||||
this.leuControlList = [];
|
||||
this.localControlList = [];
|
||||
this.maintainList = [];
|
||||
this.powerSupplyList = [];
|
||||
this.noOneReturnList = [];
|
||||
indicatorLightList.forEach(item => {
|
||||
switch (item._type) {
|
||||
case 'AtsControl':
|
||||
this.atsControlList.push(item);
|
||||
break;
|
||||
case 'CenterCommunication':
|
||||
this.centerCommunicationList.push(item);
|
||||
break;
|
||||
case 'ChainControl':
|
||||
this.chainControlList.push(item);
|
||||
break;
|
||||
case 'IntersiteControl':
|
||||
this.intersiteControlList.push(item);
|
||||
break;
|
||||
case 'LeuControl':
|
||||
this.leuControlList.push(item);
|
||||
break;
|
||||
case 'LocalControl':
|
||||
this.localControlList.push(item);
|
||||
break;
|
||||
case 'Maintain':
|
||||
this.maintainList.push(item);
|
||||
break;
|
||||
case 'PowerSupply':
|
||||
this.powerSupplyList.push(item);
|
||||
break;
|
||||
case 'NoOneReturn':
|
||||
this.noOneReturnList.push(item);
|
||||
break;
|
||||
}
|
||||
});
|
||||
},
|
||||
handleTypes(type) {
|
||||
switch (type) {
|
||||
case 'AtsControl':
|
||||
@ -214,6 +268,7 @@ export default {
|
||||
this.selectLists = this.noOneReturnList;
|
||||
break;
|
||||
}
|
||||
console.log(this.selectLists, '===============');
|
||||
},
|
||||
changeStation(code) { // 选择对应的所属设备集中站
|
||||
this.autoList.forEach(elem => {
|
||||
@ -253,6 +308,7 @@ export default {
|
||||
const models = [];
|
||||
const model = {
|
||||
_type: this.addModel.type,
|
||||
type: this.addModel.type,
|
||||
code: uid,
|
||||
name: this.addModel.name,
|
||||
position: {
|
||||
|
Loading…
Reference in New Issue
Block a user