Merge branch 'dev' into test

This commit is contained in:
zyy 2020-03-20 13:08:35 +08:00
commit 473d60ca0c
19 changed files with 752 additions and 911 deletions

View File

@ -596,7 +596,7 @@ export default {
reentrySection2: '折返区段2',
setPriority: '设置优先级',
associatedStationList: '关联站台列表:',
whetherAutoRoute: '是否自进路',
whetherAutoRoute: '是否自进路',
hostileData: '敌对数据',
routeContinuesToProtectSectorData: '进路延续保护区段数据',
physicalSectionID: '物理区段ID',

View File

@ -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;
}

View File

@ -1,7 +1,6 @@
/*
* 信号机
*/
import ESigPost from './ESigPost';
import ESigLamp from './ESigLamp';
import ESigAuto from './ESigAuto';

View File

@ -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 '区故解';

View File

@ -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>

View File

@ -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);
});
}
}

View File

@ -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 = {

View File

@ -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() {

View File

@ -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);
});
});
}

View File

@ -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}) => {});

View File

@ -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;
}
}
}

View File

@ -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: '进路自排开'},
/** 进路自排关 */

View File

@ -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 [];
}

View File

@ -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: '打开'
}]
};
},

View File

@ -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;
}

View File

@ -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>

View File

@ -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,

View File

@ -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;}

View File

@ -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: {