This commit is contained in:
zyy 2020-06-24 15:44:14 +08:00
commit 74b5f8a291
16 changed files with 307 additions and 516 deletions

File diff suppressed because one or more lines are too long

View File

@ -150,7 +150,7 @@ export default {
}; };
mouseCancelState(this.selected); mouseCancelState(this.selected);
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else { } else {
@ -170,7 +170,7 @@ export default {
}; };
mouseCancelState(this.selected); mouseCancelState(this.selected);
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else { } else {

View File

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

View File

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

View File

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

View File

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

View File

@ -2,8 +2,8 @@
<div> <div>
<pop-menu ref="popMenu" :menu="menu" :tip-msg="topTip" :tip-subhead="tipSubhead" pop-class="xian-02__pop_tip_station" /> <pop-menu ref="popMenu" :menu="menu" :tip-msg="topTip" :tip-subhead="tipSubhead" pop-class="xian-02__pop_tip_station" />
<route-detail ref="routeDetail" /> <route-detail ref="routeDetail" />
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" /> <notice-info ref="noticeInfo" pop-class="xian-02__system" />
<set-fault ref="setFault" pop-class="xian-02__systerm" /> <set-fault ref="setFault" pop-class="xian-02__system" />
</div> </div>
</template> </template>

View File

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

View File

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

View File

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<pop-menu ref="popMenu" :menu="menu" :tip-msg="topTip" :tip-subhead="tipSubhead" pop-class="xian-02__pop_tip_station" /> <pop-menu ref="popMenu" :menu="menu" :tip-msg="topTip" :tip-subhead="tipSubhead" pop-class="xian-02__pop_tip_station" />
<notice-info ref="noticeInfo" pop-class="xian-02__systerm" /> <notice-info ref="noticeInfo" pop-class="xian-02__system" />
<train-delete ref="trainDelete" /> <train-delete ref="trainDelete" />
<train-define ref="trainDefine" /> <train-define ref="trainDefine" />
<train-move ref="trainMove" /> <train-move ref="trainMove" />

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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