Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
9b4039daab
@ -151,10 +151,13 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -132,10 +132,13 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -129,10 +129,13 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1,5 +1,41 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-dialogDrag :class="popClass" :title="title" :visible.sync="show" width="350px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
<div v-dialogDrag>
|
||||||
|
<!-- <el-dialog v-dialogDrag :class="popClass" :title="title" :visible.sync="show" width="350px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false"> -->
|
||||||
|
<div
|
||||||
|
v-show="show"
|
||||||
|
class="iscs_fuzhou-01__systerm route-detail el-dialog"
|
||||||
|
>
|
||||||
|
<div class="el-dialog__header">
|
||||||
|
<span class="el-dialog__title">{{ title }}</span>
|
||||||
|
<button type="button" aria-label="Close" class="el-dialog__headerbtn" @click="doClose">
|
||||||
|
<i class="el-dialog__close el-icon el-icon-close" />
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="el-dialog__body">
|
||||||
|
<template v-if="judge">
|
||||||
|
<el-row>
|
||||||
|
<el-form ref="form" :model="formModel" :rules="rules">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item prop="targetDeviceCode" label="目的地:">
|
||||||
|
<el-select v-model="formModel.targetDeviceCode" size="small" style="width: 165px;height: 32px;line-height: 32px;" placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in selectedList"
|
||||||
|
:key="item.code"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.code"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
<el-button
|
||||||
|
:type="field == 'selectedCode' ? 'danger' : 'primary'"
|
||||||
|
size="small"
|
||||||
|
@click="hover('selectedCode')"
|
||||||
|
>激活</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
<el-row class="header">
|
<el-row class="header">
|
||||||
<el-col :span="11"><span>设备:</span></el-col>
|
<el-col :span="11"><span>设备:</span></el-col>
|
||||||
<el-col :span="11" :offset="2"><span>故障类型:</span></el-col>
|
<el-col :span="11" :offset="2"><span>故障类型:</span></el-col>
|
||||||
@ -25,6 +61,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
</template>
|
||||||
<el-row justify="center" class="button-group">
|
<el-row justify="center" class="button-group">
|
||||||
<el-col :span="10" :offset="2">
|
<el-col :span="10" :offset="2">
|
||||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||||
@ -33,7 +70,10 @@
|
|||||||
<el-button :id="domIdCancel" @click="cancel">取消</el-button>
|
<el-button :id="domIdCancel" @click="cancel">取消</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-dialog>
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- </el-dialog> -->
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -41,6 +81,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
|||||||
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
|
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import { deviceFaultType, deviceType} from '@/scripts/cmdPlugin/Config';
|
import { deviceFaultType, deviceType} from '@/scripts/cmdPlugin/Config';
|
||||||
import { menuOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
import { menuOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
import { mapGetters } from 'vuex';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SwitchControl',
|
name: 'SwitchControl',
|
||||||
@ -60,9 +101,15 @@ export default {
|
|||||||
stationName: '',
|
stationName: '',
|
||||||
switchName: '',
|
switchName: '',
|
||||||
activeShow: false,
|
activeShow: false,
|
||||||
|
judge: false,
|
||||||
deviceName: '',
|
deviceName: '',
|
||||||
faultList: [],
|
faultList: [],
|
||||||
form: { faultType: ''},
|
form: { faultType: ''},
|
||||||
|
formModel: {
|
||||||
|
targetDeviceCode: ''
|
||||||
|
},
|
||||||
|
groupNumber: '',
|
||||||
|
field: '',
|
||||||
rules: {
|
rules: {
|
||||||
faultType: [
|
faultType: [
|
||||||
{ required: true, message: '请选择故障类型', trigger: 'change'}
|
{ required: true, message: '请选择故障类型', trigger: 'change'}
|
||||||
@ -71,6 +118,19 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'sectionList',
|
||||||
|
'trainList'
|
||||||
|
]),
|
||||||
|
selectedList() {
|
||||||
|
let list = [];
|
||||||
|
let sectionList = [];
|
||||||
|
if (this.sectionList && this.sectionList.length) {
|
||||||
|
sectionList = this.sectionList.filter(elem => { return (elem.standTrack || elem.reentryTrack || elem.transferTrack); });
|
||||||
|
}
|
||||||
|
list = [...sectionList, ...this.trainList];
|
||||||
|
return list;
|
||||||
|
},
|
||||||
show() {
|
show() {
|
||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
@ -85,6 +145,8 @@ export default {
|
|||||||
return '设置故障';
|
return '设置故障';
|
||||||
} else if (this.operation == OperationEvent.MixinCommand.cancelStoppage.menu.operation) {
|
} else if (this.operation == OperationEvent.MixinCommand.cancelStoppage.menu.operation) {
|
||||||
return '取消故障';
|
return '取消故障';
|
||||||
|
} else if (this.operation == OperationEvent.MixinCommand.collocation.menu.operation) {
|
||||||
|
return '设置托管';
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@ -94,6 +156,14 @@ export default {
|
|||||||
if (this.dialogShow && this.popClass === 'ningbo-01__systerm') {
|
if (this.dialogShow && this.popClass === 'ningbo-01__systerm') {
|
||||||
this.commit();
|
this.commit();
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
'$store.state.menuOperation.selectedCount':function(em) {
|
||||||
|
const device = this.$store.state.menuOperation.selected;
|
||||||
|
if (device && device.code && this.judge && this.field) {
|
||||||
|
if (device._type == 'Section' || device._type == 'Train') {
|
||||||
|
this.deviceSelect(device);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -102,7 +172,10 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doShow(operate, selected) {
|
hover(field) {
|
||||||
|
this.field = field == this.field ? '' : field;
|
||||||
|
},
|
||||||
|
doShow(operate, selected, judge) {
|
||||||
if (!this.dialogShow) {
|
if (!this.dialogShow) {
|
||||||
this.switchName = '';
|
this.switchName = '';
|
||||||
this.stationName = '';
|
this.stationName = '';
|
||||||
@ -128,6 +201,11 @@ export default {
|
|||||||
if (this.faultList && this.faultList.length) {
|
if (this.faultList && this.faultList.length) {
|
||||||
this.form.faultType = this.faultList[0].value;
|
this.form.faultType = this.faultList[0].value;
|
||||||
}
|
}
|
||||||
|
this.judge = false;
|
||||||
|
if (judge) {
|
||||||
|
this.judge = judge;
|
||||||
|
this.groupNumber = selected.groupNumber;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (selected._type) {
|
if (selected._type) {
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
@ -150,6 +228,8 @@ export default {
|
|||||||
this.sendInstructions();
|
this.sendInstructions();
|
||||||
} else if (this.operation == OperationEvent.MixinCommand.cancelStoppage.menu.operation) {
|
} else if (this.operation == OperationEvent.MixinCommand.cancelStoppage.menu.operation) {
|
||||||
this.cancelCommand();
|
this.cancelCommand();
|
||||||
|
} else if (this.operation == OperationEvent.MixinCommand.collocation.menu.operation) {
|
||||||
|
this.handleCollocation();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -176,6 +256,18 @@ export default {
|
|||||||
};
|
};
|
||||||
this.sendCommand(setp);
|
this.sendCommand(setp);
|
||||||
},
|
},
|
||||||
|
handleCollocation() { // 设置托管
|
||||||
|
const setp = {
|
||||||
|
over: true,
|
||||||
|
operation: menuOperate.Common.collocation.operation,
|
||||||
|
cmdType: menuOperate.Common.collocation.cmdType,
|
||||||
|
param: {
|
||||||
|
groupNumber: this.groupNumber,
|
||||||
|
targetDeviceCode: this.formModel.targetDeviceCode
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.sendCommand(setp);
|
||||||
|
},
|
||||||
sendCommand(setp) {
|
sendCommand(setp) {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
this.$store.dispatch('training/nextNew', setp).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', setp).then(({ valid }) => {
|
||||||
@ -206,6 +298,15 @@ export default {
|
|||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
deviceSelect(em) {
|
||||||
|
if (this.field == 'selectedCode' && em._type == 'Section') {
|
||||||
|
this.formModel.targetDeviceCode = em.code;
|
||||||
|
this.field = '';
|
||||||
|
} else if (this.field == 'selectedCode' && em._type == 'Train') {
|
||||||
|
this.formModel.targetDeviceCode = em.code;
|
||||||
|
this.field = '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -216,3 +317,44 @@ export default {
|
|||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
|
.route-detail{
|
||||||
|
position: absolute;
|
||||||
|
left: calc(50% - 175px);
|
||||||
|
margin-top: 15vh;
|
||||||
|
width: 350px;
|
||||||
|
z-index: 2000;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: rgba(100, 100, 100, 0.3);
|
||||||
|
border: 2px solid rgba(144, 144, 144, 0.8);
|
||||||
|
border-radius: 6px;
|
||||||
|
color: #000;
|
||||||
|
font-size: 14px;
|
||||||
|
.el-dialog__header{
|
||||||
|
padding: 0px 8px;
|
||||||
|
height: 26px;
|
||||||
|
.el-dialog__title{
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.el-dialog__headerbtn{
|
||||||
|
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||||
|
border: 1px solid #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
top: 4px;
|
||||||
|
right: 12px;
|
||||||
|
line-height: 16px;
|
||||||
|
color: #fff;
|
||||||
|
.el-icon{
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.el-dialog__body{
|
||||||
|
background: #fff;
|
||||||
|
margin: 5px;
|
||||||
|
margin-top: 0;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
279
src/jmapNew/theme/components/menus/dialog/setTrainOperation.vue
Normal file
279
src/jmapNew/theme/components/menus/dialog/setTrainOperation.vue
Normal file
@ -0,0 +1,279 @@
|
|||||||
|
<template>
|
||||||
|
<div v-dialogDrag>
|
||||||
|
<!-- <el-dialog v-dialogDrag :class="popClass" :title="title" :visible.sync="show" width="350px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false"> -->
|
||||||
|
<div
|
||||||
|
v-show="show"
|
||||||
|
class="iscs_fuzhou-01__systerm route-detail el-dialog"
|
||||||
|
>
|
||||||
|
<div class="el-dialog__header">
|
||||||
|
<span class="el-dialog__title">{{ title }}</span>
|
||||||
|
<button type="button" aria-label="Close" class="el-dialog__headerbtn" @click="doClose">
|
||||||
|
<i class="el-dialog__close el-icon el-icon-close" />
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="el-dialog__body">
|
||||||
|
<el-row>
|
||||||
|
<el-form ref="form" :model="formModel" :rules="rules">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item prop="groupNumber1" label="主动车:">
|
||||||
|
<el-select v-model="formModel.groupNumber1" size="small" style="width: 165px;height: 32px;line-height: 32px;" placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in selectedList"
|
||||||
|
:key="item.code"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.code"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
<el-button
|
||||||
|
:type="field == 'selectedCode1' ? 'danger' : 'primary'"
|
||||||
|
size="small"
|
||||||
|
@click="hover('selectedCode1')"
|
||||||
|
>激活</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item prop="groupNumber2" label="被动车:">
|
||||||
|
<el-select v-model="formModel.groupNumber2" size="small" style="width: 165px;height: 32px;line-height: 32px;" placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in selectedList"
|
||||||
|
:key="item.code"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.code"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
<el-button
|
||||||
|
:type="field == 'selectedCode2' ? 'danger' : 'primary'"
|
||||||
|
size="small"
|
||||||
|
@click="hover('selectedCode2')"
|
||||||
|
>激活</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<el-row justify="center" class="button-group">
|
||||||
|
<el-col :span="10" :offset="2">
|
||||||
|
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" :offset="4">
|
||||||
|
<el-button :id="domIdCancel" @click="cancel">取消</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- </el-dialog> -->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
// import { deviceFaultType, deviceType} from '@/scripts/cmdPlugin/Config';
|
||||||
|
import { menuOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
import { mapGetters } from 'vuex';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'SwitchControl',
|
||||||
|
props: {
|
||||||
|
popClass: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogShow: false,
|
||||||
|
loading: false,
|
||||||
|
operation: '',
|
||||||
|
formModel: {
|
||||||
|
groupNumber1: '',
|
||||||
|
groupNumber2: ''
|
||||||
|
},
|
||||||
|
groupNumber: '',
|
||||||
|
field: '',
|
||||||
|
rules: {
|
||||||
|
faultType: [
|
||||||
|
{ required: true, message: '请选择故障类型', trigger: 'change'}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'trainList'
|
||||||
|
]),
|
||||||
|
selectedList() {
|
||||||
|
let list = [];
|
||||||
|
list = [...this.trainList];
|
||||||
|
return list;
|
||||||
|
},
|
||||||
|
show() {
|
||||||
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
|
},
|
||||||
|
domIdCancel() {
|
||||||
|
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||||
|
},
|
||||||
|
domIdConfirm() {
|
||||||
|
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
|
||||||
|
},
|
||||||
|
title() {
|
||||||
|
if (this.operation == OperationEvent.MixinCommand.setLink.menu.operation) {
|
||||||
|
return '设置连挂';
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
'$store.state.map.keyboardEnterCount': function (val) {
|
||||||
|
if (this.dialogShow && this.popClass === 'ningbo-01__systerm') {
|
||||||
|
this.commit();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'$store.state.menuOperation.selectedCount':function(em) {
|
||||||
|
const device = this.$store.state.menuOperation.selected;
|
||||||
|
if (device && device.code && this.field) {
|
||||||
|
if (device._type == 'Train') {
|
||||||
|
this.deviceSelect(device);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$store.dispatch('training/tipReload');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
hover(field) {
|
||||||
|
this.field = field == this.field ? '' : field;
|
||||||
|
},
|
||||||
|
doShow(operate, selected) {
|
||||||
|
if (!this.dialogShow) {
|
||||||
|
this.operation = operate.operation;
|
||||||
|
this.cmdType = operate.cmdType;
|
||||||
|
}
|
||||||
|
if (selected._type) {
|
||||||
|
this.dialogShow = true;
|
||||||
|
this.$nextTick(function () {
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
this.loading = false;
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.$refs.form.resetFields();
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
},
|
||||||
|
commit() {
|
||||||
|
this.$refs.form.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.operation == OperationEvent.MixinCommand.setLink.menu.operation) {
|
||||||
|
this.handleLink();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleLink() { // 设置连挂
|
||||||
|
const setp = {
|
||||||
|
over: true,
|
||||||
|
operation: menuOperate.Common.setLink.operation,
|
||||||
|
cmdType: menuOperate.Common.setLink.cmdType,
|
||||||
|
param: {
|
||||||
|
groupNumber1: this.formModel.groupNumber1,
|
||||||
|
groupNumber2: this.formModel.groupNumber2
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.sendCommand(setp);
|
||||||
|
},
|
||||||
|
sendCommand(setp) {
|
||||||
|
this.loading = true;
|
||||||
|
this.$store.dispatch('training/nextNew', setp).then(({ valid }) => {
|
||||||
|
this.loading = false;
|
||||||
|
if (valid) {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
this.doClose();
|
||||||
|
} else {
|
||||||
|
this.doClose();
|
||||||
|
this.$messageBox('设置或取消故障操作失败!');
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.doClose();
|
||||||
|
this.$messageBox(error.message || '设置或取消故障操作失败!');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
cancel() {
|
||||||
|
const operate = {
|
||||||
|
operation: OperationEvent.Command.cancel.menu.operation
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.doClose();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
deviceSelect(em) {
|
||||||
|
if (this.field == 'selectedCode1' && em._type == 'Train') {
|
||||||
|
this.formModel.groupNumber1 = em.code;
|
||||||
|
this.field = '';
|
||||||
|
} else if (this.field == 'selectedCode2' && em._type == 'Train') {
|
||||||
|
this.formModel.groupNumber2 = em.code;
|
||||||
|
this.field = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.el-select-dropdown.el-popper{
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
|
.route-detail{
|
||||||
|
position: absolute;
|
||||||
|
left: calc(50% - 175px);
|
||||||
|
margin-top: 15vh;
|
||||||
|
width: 350px;
|
||||||
|
z-index: 2000;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: rgba(100, 100, 100, 0.3);
|
||||||
|
border: 2px solid rgba(144, 144, 144, 0.8);
|
||||||
|
border-radius: 6px;
|
||||||
|
color: #000;
|
||||||
|
font-size: 14px;
|
||||||
|
.el-dialog__header{
|
||||||
|
padding: 0px 8px;
|
||||||
|
height: 26px;
|
||||||
|
.el-dialog__title{
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.el-dialog__headerbtn{
|
||||||
|
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||||
|
border: 1px solid #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
top: 4px;
|
||||||
|
right: 12px;
|
||||||
|
line-height: 16px;
|
||||||
|
color: #fff;
|
||||||
|
.el-icon{
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.el-dialog__body{
|
||||||
|
background: #fff;
|
||||||
|
margin: 5px;
|
||||||
|
margin-top: 0;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -370,6 +370,16 @@ export const menuOperate = {
|
|||||||
cancelFault: {
|
cancelFault: {
|
||||||
operation: OperationEvent.MixinCommand.cancelStoppage.menu.operation,
|
operation: OperationEvent.MixinCommand.cancelStoppage.menu.operation,
|
||||||
cmdType: CMD.Fault.CMD_CANCEL_FAULT
|
cmdType: CMD.Fault.CMD_CANCEL_FAULT
|
||||||
|
},
|
||||||
|
// 设置托管
|
||||||
|
collocation: {
|
||||||
|
operation: OperationEvent.MixinCommand.collocation.menu.operation,
|
||||||
|
cmdType: CMD.Train.CMD_TRAIN_TRUST
|
||||||
|
},
|
||||||
|
// 设置连挂
|
||||||
|
setLink: {
|
||||||
|
operation: OperationEvent.MixinCommand.setLink.menu.operation,
|
||||||
|
cmdType: CMD.Train.CMD_TRAIN_LINK
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Station:{
|
Station:{
|
||||||
|
@ -164,9 +164,13 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -199,10 +199,13 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -107,10 +107,13 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -169,9 +169,13 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -151,9 +151,13 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -129,6 +129,18 @@ export default {
|
|||||||
handler: this.loadSpare,
|
handler: this.loadSpare,
|
||||||
cmdType: CMD.Section.CMD_TRAIN_LOAD_SPARE_TRAIN
|
cmdType: CMD.Section.CMD_TRAIN_LOAD_SPARE_TRAIN
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
faultList: [
|
||||||
|
{
|
||||||
|
label: '设置故障',
|
||||||
|
handler: this.setStoppage,
|
||||||
|
cmdType: CMD.Fault.CMD_SET_FAULT
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '取消故障',
|
||||||
|
handler: this.cancelStoppage,
|
||||||
|
cmdType: CMD.Fault.CMD_CANCEL_FAULT
|
||||||
|
}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -169,11 +181,18 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode == OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
|
if (this.operatemode == OperateMode.FAULT && this.selected.type == '04') {
|
||||||
|
this.menu = this.faultList;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
doShow(point) {
|
doShow(point) {
|
||||||
this.clickEvent();
|
this.clickEvent();
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
<trainSetWorkATP ref="trainSetWorkATP" />
|
<trainSetWorkATP ref="trainSetWorkATP" />
|
||||||
<SpeedLimit ref="speedLimit" pop-class="ningbo-01__systerm" />
|
<SpeedLimit ref="speedLimit" pop-class="ningbo-01__systerm" />
|
||||||
<set-fault ref="setFault" pop-class="ningbo-01__systerm" />
|
<set-fault ref="setFault" pop-class="ningbo-01__systerm" />
|
||||||
|
<set-train-operation ref="setTrainOperation" pop-class="ningbo-01__systerm" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -26,6 +27,7 @@ import TrainSetHead from './dialog/trainSetHead';
|
|||||||
import TrainSetWork from './dialog/trainSetWork';
|
import TrainSetWork from './dialog/trainSetWork';
|
||||||
import trainSetWorkATP from './dialog/trainSetWorkATP';
|
import trainSetWorkATP from './dialog/trainSetWorkATP';
|
||||||
import SpeedLimit from '@/jmapNew/theme/components/menus/dialog/trainSpeedLimit';
|
import SpeedLimit from '@/jmapNew/theme/components/menus/dialog/trainSpeedLimit';
|
||||||
|
import SetTrainOperation from '@/jmapNew/theme/components/menus/dialog/setTrainOperation';
|
||||||
|
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
@ -47,7 +49,8 @@ export default {
|
|||||||
TrainSetWork,
|
TrainSetWork,
|
||||||
trainSetWorkATP,
|
trainSetWorkATP,
|
||||||
SetFault,
|
SetFault,
|
||||||
SpeedLimit
|
SpeedLimit,
|
||||||
|
SetTrainOperation
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -207,6 +210,14 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '取消故障',
|
label: '取消故障',
|
||||||
handler: this.cancelStoppage
|
handler: this.cancelStoppage
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '托管',
|
||||||
|
handler: this.setCollocation
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '连挂',
|
||||||
|
handler: this.setLink
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuDirective: [
|
menuDirective: [
|
||||||
@ -321,6 +332,22 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// 设置托管
|
||||||
|
setCollocation() {
|
||||||
|
commitOperate(menuOperate.Common.collocation, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
|
if (valid) {
|
||||||
|
this.$refs.setFault.doShow(menuOperate.Common.collocation, this.selected, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 设置连挂
|
||||||
|
setLink() {
|
||||||
|
commitOperate(menuOperate.Common.setLink, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
|
if (valid) {
|
||||||
|
this.$refs.setTrainOperation.doShow(menuOperate.Common.setLink, this.selected, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
nextStation() {
|
nextStation() {
|
||||||
// commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
// commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
// }).catch((error) => {
|
// }).catch((error) => {
|
||||||
|
@ -177,11 +177,13 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -182,9 +182,13 @@ export default {
|
|||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
if (this.selected.type != '04') {
|
||||||
this.menu = this.menuNormal.Center;
|
this.menu = this.menuNormal.Center;
|
||||||
|
} else {
|
||||||
|
this.menu = [];
|
||||||
|
}
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -94,12 +94,11 @@ export default {
|
|||||||
{label: '观众', value: 'AUDIENCE', enLabel: 'Audience '},
|
{label: '观众', value: 'AUDIENCE', enLabel: 'Audience '},
|
||||||
{label: '司机', value: 'DRIVER', enLabel: 'Driver '},
|
{label: '司机', value: 'DRIVER', enLabel: 'Driver '},
|
||||||
{label: '通号', value: 'MAINTAINER', enLabel: 'Repairman '},
|
{label: '通号', value: 'MAINTAINER', enLabel: 'Repairman '},
|
||||||
{label: '车辆段调度', value: 'DEPOT_DISPATCHER', enLabel: 'Depot dispatcher '},
|
{label: '车辆段信号楼', value: 'DEPOT_DISPATCHER', enLabel: 'Depot dispatcher '},
|
||||||
{label: '电力调度', value: 'ELECTRIC_DISPATCHER', enLabel: 'Electric dispatcher'},
|
{label: '电力调度', value: 'ELECTRIC_DISPATCHER', enLabel: 'Electric dispatcher'},
|
||||||
{label: '行调', value: 'DISPATCHER', enLabel: 'Dispatcher '},
|
{label: '行调', value: 'DISPATCHER', enLabel: 'Dispatcher '},
|
||||||
{label: '上级部门', value: 'PARENT_DEPARTMENT', enLabel: 'Parent department'},
|
{label: '上级部门', value: 'PARENT_DEPARTMENT', enLabel: 'Parent department'},
|
||||||
{label: '停车场信号楼', value: 'PARKING_LOT_SIGNAL_BUILDING', enLabel: 'Parking Signal Building'}
|
{label: '停车场信号楼', value: 'PARKING_LOT_SIGNAL_BUILDING', enLabel: 'Parking Signal Building'}
|
||||||
|
|
||||||
],
|
],
|
||||||
SimulationType: [
|
SimulationType: [
|
||||||
{ label: '实训', value: 'Training'},
|
{ label: '实训', value: 'Training'},
|
||||||
|
@ -229,7 +229,9 @@ export default {
|
|||||||
CMD_TRAIN_CANCEL_HOLD: {value:'Train_Cancel_Hold', label: '列车发车'},
|
CMD_TRAIN_CANCEL_HOLD: {value:'Train_Cancel_Hold', label: '列车发车'},
|
||||||
CMD_TRAIN_CHANGE_TRIP_NUMBER: {value:'Train_Change_Trip_Number', label: '更改列车车次'},
|
CMD_TRAIN_CHANGE_TRIP_NUMBER: {value:'Train_Change_Trip_Number', label: '更改列车车次'},
|
||||||
CMD_TRAIN_DELETE_SERVICE_NUMBER: {value:'Train_Delete_Service_Number', label: '删除车次号'},
|
CMD_TRAIN_DELETE_SERVICE_NUMBER: {value:'Train_Delete_Service_Number', label: '删除车次号'},
|
||||||
CMD_TRAIN_CHANGE_DESTINATION_CODE: {value:'Train_Change_Destination_Code', label: '更改目的地码'}
|
CMD_TRAIN_CHANGE_DESTINATION_CODE: {value:'Train_Change_Destination_Code', label: '更改目的地码'},
|
||||||
|
CMD_TRAIN_TRUST: {value: 'Train_Trust', label: '设置托管'},
|
||||||
|
CMD_TRAIN_LINK: {value: 'Train_Link', label: '设置连挂'}
|
||||||
},
|
},
|
||||||
TrainWindow: {
|
TrainWindow: {
|
||||||
/** 修改列车识别号 */
|
/** 修改列车识别号 */
|
||||||
|
@ -32,6 +32,20 @@ class CommandHandle {
|
|||||||
simulationRole: 'Center',
|
simulationRole: 'Center',
|
||||||
controlMode: ['OperateCenterControl'],
|
controlMode: ['OperateCenterControl'],
|
||||||
conditionList: []
|
conditionList: []
|
||||||
|
},
|
||||||
|
Train_Trust: {
|
||||||
|
operate: 'Train_Trust',
|
||||||
|
paramList:[{name: 'groupNumber'}, {name: 'targetDeviceCode'}],
|
||||||
|
simulationRole: 'Center',
|
||||||
|
controlMode: ['OperateCenterControl'],
|
||||||
|
conditionList: []
|
||||||
|
},
|
||||||
|
Train_Link: {
|
||||||
|
operate: 'Train_Link',
|
||||||
|
paramList:[{name: 'groupNumber1'}, {name: 'groupNumber2'}],
|
||||||
|
simulationRole: 'Center',
|
||||||
|
controlMode: ['OperateCenterControl'],
|
||||||
|
conditionList: []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -38,8 +38,8 @@ export const deviceFaultType = {
|
|||||||
Switch: [
|
Switch: [
|
||||||
{label: '失表', value: 'SPLIT'},
|
{label: '失表', value: 'SPLIT'},
|
||||||
{label: '定位失表', value: 'NORMAL_SPLIT'},
|
{label: '定位失表', value: 'NORMAL_SPLIT'},
|
||||||
{label: '反位失表', value: 'REVERSE_SPLIT'},
|
{label: '反位失表', value: 'REVERSE_SPLIT'}
|
||||||
{label: '道岔区段计轴故障', value: 'AXLE_FAULT'}
|
// {label: '道岔区段计轴故障', value: 'AXLE_FAULT'}
|
||||||
],
|
],
|
||||||
StationStand: [
|
StationStand: [
|
||||||
{label: '屏蔽门无法关闭', value: 'PSD_CANNOT_BE_CLOSED'},
|
{label: '屏蔽门无法关闭', value: 'PSD_CANNOT_BE_CLOSED'},
|
||||||
@ -49,7 +49,8 @@ export const deviceFaultType = {
|
|||||||
{label: 'zc故障', value: 'FAULT'}
|
{label: 'zc故障', value: 'FAULT'}
|
||||||
],
|
],
|
||||||
Train: [
|
Train: [
|
||||||
{label: '通信异常', value: 'COMMUNICATION_ABNORMAL'}
|
{label: '通信异常', value: 'COMMUNICATION_ABNORMAL'},
|
||||||
|
{label: '驾驶故障', value: 'DRIVE_FAULT'}
|
||||||
],
|
],
|
||||||
Power:[
|
Power:[
|
||||||
{label: '供电故障', value: 'FAULT'}
|
{label: '供电故障', value: 'FAULT'}
|
||||||
|
@ -2442,6 +2442,18 @@ export const OperationEvent = {
|
|||||||
menu: {
|
menu: {
|
||||||
operation: '2996'
|
operation: '2996'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 设置托管
|
||||||
|
collocation: {
|
||||||
|
menu: {
|
||||||
|
operation: '2997'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 设置连挂
|
||||||
|
setLink: {
|
||||||
|
menu: {
|
||||||
|
operation: '2999'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -874,11 +874,10 @@ const map = {
|
|||||||
let isExist = false;
|
let isExist = false;
|
||||||
state.activeTrainList.forEach(elem => {
|
state.activeTrainList.forEach(elem => {
|
||||||
if (elem == data.code) {
|
if (elem == data.code) {
|
||||||
|
isExist = true;
|
||||||
if (data.dispose) {
|
if (data.dispose) {
|
||||||
state.activeTrainList.splice(state.activeTrainList.indexOf(data.code), 1);
|
state.activeTrainList.splice(state.activeTrainList.indexOf(data.code), 1);
|
||||||
state.activeTrainListChange += 1;
|
state.activeTrainListChange += 1;
|
||||||
} else {
|
|
||||||
isExist = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -22,36 +22,6 @@ const runPlan = {
|
|||||||
},
|
},
|
||||||
draftStations: (state) => {
|
draftStations: (state) => {
|
||||||
return state.draftStations || [];
|
return state.draftStations || [];
|
||||||
},
|
|
||||||
convertPlanData: (state) => () => {
|
|
||||||
const data = { serviceNumberDataList: [] };
|
|
||||||
const serviceNumberList = Object.keys(state.editData).sort((a, b) => {
|
|
||||||
return state.editData[a].oldIndex - state.editData[b].oldIndex;
|
|
||||||
});
|
|
||||||
|
|
||||||
serviceNumberList.forEach(serviceNumber => {
|
|
||||||
const serviceObj = {
|
|
||||||
serviceNumber: serviceNumber,
|
|
||||||
tripNumberDataList: []
|
|
||||||
};
|
|
||||||
|
|
||||||
if (state.editData[serviceNumber].backup) {
|
|
||||||
serviceObj['backup'] = state.editData[serviceNumber].backup;
|
|
||||||
}
|
|
||||||
|
|
||||||
const trainMap = state.editData[serviceNumber].trainMap;
|
|
||||||
const tripNumberList = Object.keys(trainMap).sort((a, b) => {
|
|
||||||
return trainMap[a].oldIndex - trainMap[b].oldIndex;
|
|
||||||
});
|
|
||||||
|
|
||||||
tripNumberList.forEach(tripNumber => {
|
|
||||||
serviceObj.tripNumberDataList.push(trainMap[tripNumber]);
|
|
||||||
});
|
|
||||||
|
|
||||||
data.serviceNumberDataList.push(serviceObj);
|
|
||||||
});
|
|
||||||
|
|
||||||
return data;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
@ -77,7 +47,6 @@ const runPlan = {
|
|||||||
const trainList = service.tripNumberDataList;
|
const trainList = service.tripNumberDataList;
|
||||||
state.initialPlanData[service.serviceNumber] = { oldIndex: i, serviceNumber: service.serviceNumber, backup: service.backup, trainMap: {} };
|
state.initialPlanData[service.serviceNumber] = { oldIndex: i, serviceNumber: service.serviceNumber, backup: service.backup, trainMap: {} };
|
||||||
trainList.forEach((train, j) => {
|
trainList.forEach((train, j) => {
|
||||||
// ${train.directionCode}
|
|
||||||
state.initialPlanData[service.serviceNumber].trainMap[`${train.tripNumber}`] = { oldIndex: j, tripNumber: train.tripNumber, directionCode: train.directionCode, reentry: train.reentry, stationTimeList: train.stationTimeList };
|
state.initialPlanData[service.serviceNumber].trainMap[`${train.tripNumber}`] = { oldIndex: j, tripNumber: train.tripNumber, directionCode: train.directionCode, reentry: train.reentry, stationTimeList: train.stationTimeList };
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -103,7 +103,7 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
getScriptPageListOnlineNew().then(response=>{
|
getScriptPageListOnlineNew({pageSize:999, pageNum:1}).then(response=>{
|
||||||
this.scriptList = response.data.list.map(elem => { return { value: parseInt(elem.id), label: elem.name }; });
|
this.scriptList = response.data.list.map(elem => { return { value: parseInt(elem.id), label: elem.name }; });
|
||||||
// this.queryForm.queryObject.scriptId.config.data = this.scriptList;
|
// this.queryForm.queryObject.scriptId.config.data = this.scriptList;
|
||||||
});
|
});
|
||||||
|
@ -4,17 +4,6 @@
|
|||||||
v-show="show"
|
v-show="show"
|
||||||
class="iscs_fuzhou-01__systerm route-detail el-dialog"
|
class="iscs_fuzhou-01__systerm route-detail el-dialog"
|
||||||
>
|
>
|
||||||
<!-- <el-dialog
|
|
||||||
v-dialogDrag
|
|
||||||
class="iscs_fuzhou-01__systerm route-detail"
|
|
||||||
title="报警浏览"
|
|
||||||
:visible.sync="show"
|
|
||||||
width="500px"
|
|
||||||
:before-close="doClose"
|
|
||||||
:z-index="2000"
|
|
||||||
:modal="false"
|
|
||||||
:close-on-click-modal="false"
|
|
||||||
> -->
|
|
||||||
<div class="el-dialog__header">
|
<div class="el-dialog__header">
|
||||||
<span class="el-dialog__title">报警浏览</span>
|
<span class="el-dialog__title">报警浏览</span>
|
||||||
<button type="button" aria-label="Close" class="el-dialog__headerbtn" @click="doClose">
|
<button type="button" aria-label="Close" class="el-dialog__headerbtn" @click="doClose">
|
||||||
@ -34,7 +23,6 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
<!-- </el-dialog> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -80,7 +68,6 @@ export default {
|
|||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
.route-detail{
|
.route-detail{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
// top: 300px;
|
|
||||||
left: calc(50% - 250px);
|
left: calc(50% - 250px);
|
||||||
margin-top: 15vh;
|
margin-top: 15vh;
|
||||||
width: 500px;
|
width: 500px;
|
||||||
|
@ -394,8 +394,8 @@ export default {
|
|||||||
electricDispatcherList[item.id] = this.memberData[item.id];
|
electricDispatcherList[item.id] = this.memberData[item.id];
|
||||||
break;
|
break;
|
||||||
case 'DEPOT_DISPATCHER':
|
case 'DEPOT_DISPATCHER':
|
||||||
this.memberData[item.id].label = '车辆段';
|
this.memberData[item.id].label = '车辆段信号楼';
|
||||||
this.memberData[item.id].labelName = '车辆段' + (item.name || '');
|
this.memberData[item.id].labelName = '车辆段信号楼' + (item.name || '');
|
||||||
depotDispatcherList[item.id] = this.memberData[item.id];
|
depotDispatcherList[item.id] = this.memberData[item.id];
|
||||||
break;
|
break;
|
||||||
case 'STATION_SUPERVISOR':
|
case 'STATION_SUPERVISOR':
|
||||||
@ -451,7 +451,7 @@ export default {
|
|||||||
type: 'role',
|
type: 'role',
|
||||||
children: maintainerList
|
children: maintainerList
|
||||||
}, {
|
}, {
|
||||||
label: '车辆段',
|
label: '车辆段信号楼',
|
||||||
id: 'depotDispatcher',
|
id: 'depotDispatcher',
|
||||||
type: 'role',
|
type: 'role',
|
||||||
children: depotDispatcherList
|
children: depotDispatcherList
|
||||||
|
@ -188,7 +188,7 @@ export default {
|
|||||||
},
|
},
|
||||||
'$store.state.menuOperation.selectedCount':function(em) {
|
'$store.state.menuOperation.selectedCount':function(em) {
|
||||||
const device = this.$store.state.menuOperation.selected;
|
const device = this.$store.state.menuOperation.selected;
|
||||||
if (device.code) {
|
if (device && device.code) {
|
||||||
this.deviceSelect(device);
|
this.deviceSelect(device);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -248,7 +248,7 @@ export default {
|
|||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
cancelFailureModeNew(row.id, this.$route.query.group).then(resp => {
|
cancelFailureModeNew(row.id, this.$route.query.group).then(resp => {
|
||||||
this.getSimulationFaultRules();
|
this.getSimulationFaultRules();
|
||||||
}).catch(error => {
|
}).catch(() => {
|
||||||
this.$message.error('取消故障失败!');
|
this.$message.error('取消故障失败!');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-dialogDrag :title="title" :visible.sync="show" width="550px" :before-close="doClose" modal-append-to-body>
|
<el-dialog v-dialogDrag :title="title" :visible.sync="show" width="550px" :before-close="doClose">
|
||||||
<el-form ref="form" label-width="120px" :model="formModel" :rules="rules">
|
<el-form ref="form" label-width="120px" :model="formModel" :rules="rules">
|
||||||
<el-form-item :label="$t('display.setTime.systemTime')" prop="initTime">
|
<el-form-item :label="$t('display.setTime.systemTime')" prop="initTime">
|
||||||
<el-time-picker
|
<el-time-picker
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- {} -->
|
|
||||||
<div>
|
<div>
|
||||||
<div v-if="isAllShow" class="display_top_draft" :style="allStyle">
|
<div v-if="isAllShow" class="display_top_draft" :style="allStyle">
|
||||||
<div class="btn_hover" @click="menuClick">菜单</div>
|
<div class="btn_hover" @click="menuClick">菜单</div>
|
||||||
|
@ -1,15 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<demon-chat ref="chatbox" :group="group" :user-role="userRole" :offset="offset" />
|
<demon-chat ref="chatbox" :group="group" :user-role="userRole" :offset="offset" />
|
||||||
<div class="display-card" :style="{top: offset+'px'}">
|
|
||||||
<el-row>
|
|
||||||
<span v-if="countTime" class="display-score">{{ $t('display.demon.trialTime') }} {{ countTime }}</span>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
<demon-menu
|
<demon-menu
|
||||||
ref="demonMenu"
|
ref="demonMenu"
|
||||||
:is-all-show="!dataError"
|
:is-all-show="!dataError"
|
||||||
:jl3dmodel-show="isShow3dmodel && !isShowScheduling"
|
:jl3dmodel-show="false"
|
||||||
:jl3dname-show="!isShowScheduling&&!isDrive"
|
:jl3dname-show="!isShowScheduling&&!isDrive"
|
||||||
:cctv-show="!isShowScheduling"
|
:cctv-show="!isShowScheduling"
|
||||||
:schedule-load-show="isShowScheduling && !runing"
|
:schedule-load-show="isShowScheduling && !runing"
|
||||||
@ -92,14 +87,14 @@ import TheoryExamSelect from './theoryExamSelect';
|
|||||||
import TheoryExam from './theoryExam';
|
import TheoryExam from './theoryExam';
|
||||||
// import TheoryQuiz from './quiz';
|
// import TheoryQuiz from './quiz';
|
||||||
// import ThroryResult from './result';
|
// import ThroryResult from './result';
|
||||||
import { getGoodsTryUse } from '@/api/management/goods';
|
// import { getGoodsTryUse } from '@/api/management/goods';
|
||||||
import { ranAsPlan, exitRunPlan, clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
import { ranAsPlan, exitRunPlan, clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
||||||
import { PermissionType } from '@/scripts/ConstDic';
|
// import { PermissionType } from '@/scripts/ConstDic';
|
||||||
import { getCountTime } from '@/utils/index';
|
// import { getCountTime } from '@/utils/index';
|
||||||
import { prefixIntrger } from '@/utils/date';
|
import { prefixIntrger } from '@/utils/date';
|
||||||
import { ScriptMode, TrainingMode } from '@/scripts/ConstDic';
|
import { ScriptMode, TrainingMode } from '@/scripts/ConstDic';
|
||||||
import SelectRole from '@/views/newMap/displayNew/scriptDisplay/component/selectRole';
|
import SelectRole from '@/views/newMap/displayNew/scriptDisplay/component/selectRole';
|
||||||
import { setGoodsTryUse } from '@/api/management/goods';
|
// import { setGoodsTryUse } from '@/api/management/goods';
|
||||||
|
|
||||||
import {competitionPracticalSceneStart, competitionPracticalSceneExit, competitionPracticalSceneFinish, getEmptyOperationalStatistics} from '@/api/competition';
|
import {competitionPracticalSceneStart, competitionPracticalSceneExit, competitionPracticalSceneFinish, getEmptyOperationalStatistics} from '@/api/competition';
|
||||||
import { launchFullscreen } from '@/utils/screen';
|
import { launchFullscreen } from '@/utils/screen';
|
||||||
@ -149,34 +144,34 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tryTime: 0, // 进入页面多少秒
|
// tryTime: 0, // 进入页面多少秒
|
||||||
timeNow: 0, // 进入页面 相对时间
|
// timeNow: 0, // 进入页面 相对时间
|
||||||
time: null, // 定时器
|
// time: null, // 定时器
|
||||||
countTime: 0, // 显示 倒计时
|
// countTime: 0, // 显示 倒计时
|
||||||
remainingTime: 0,
|
// remainingTime: 0,
|
||||||
userRole:'AUDIENCE',
|
userRole: 'AUDIENCE',
|
||||||
goodsId: this.$route.query.goodsId,
|
// goodsId: this.$route.query.goodsId,
|
||||||
try: this.$route.query.try, // 是否是试用权限
|
// try: this.$route.query.try, // 是否是试用权限
|
||||||
training: {
|
// training: {
|
||||||
id: '',
|
// id: '',
|
||||||
name: '',
|
// name: '',
|
||||||
remarks: ''
|
// remarks: ''
|
||||||
},
|
// },
|
||||||
isScriptLoad:false,
|
isScriptLoad: false,
|
||||||
isScriptRun:false,
|
isScriptRun: false,
|
||||||
scriptMode: ScriptMode.TEACH,
|
scriptMode: ScriptMode.TEACH,
|
||||||
mapLocation:{},
|
mapLocation: {},
|
||||||
playerList:[],
|
playerList: [],
|
||||||
currentPlayList:[],
|
currentPlayList: [],
|
||||||
// formatUsedTime:'',
|
// formatUsedTime:'',
|
||||||
formatScore:0,
|
// formatScore: 0,
|
||||||
jl3dpassflow:this.$t('display.demon.passengerflow'),
|
// jl3dpassflow: this.$t('display.demon.passengerflow'),
|
||||||
jl3dname: this.$t('display.demon.threeDimensionalView'),
|
// jl3dname: this.$t('display.demon.threeDimensionalView'),
|
||||||
jl3dstation: this.$t('display.demon.threeDimensionalStation'),
|
// jl3dstation: this.$t('display.demon.threeDimensionalStation'),
|
||||||
jl3dmodel: this.$t('display.demon.deviceView'),
|
// jl3dmodel: this.$t('display.demon.deviceView'),
|
||||||
isShow3dmodel :false,
|
// isShow3dmodel: false,
|
||||||
isGoback: false,
|
isGoback: false,
|
||||||
runing:false,
|
runing: false,
|
||||||
prdTypeMap: {
|
prdTypeMap: {
|
||||||
'01': '01', // 现地 => 现地
|
'01': '01', // 现地 => 现地
|
||||||
'02': '02', // 行调 => 行调
|
'02': '02', // 行调 => 行调
|
||||||
@ -262,10 +257,10 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
if (this.time) {
|
// if (this.time) {
|
||||||
this.setTryTime();
|
// this.setTryTime();
|
||||||
clearTimeout(this.time);
|
// clearTimeout(this.time);
|
||||||
}
|
// }
|
||||||
this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
||||||
this.$store.dispatch('map/resetActiveTrainList', true);
|
this.$store.dispatch('map/resetActiveTrainList', true);
|
||||||
},
|
},
|
||||||
@ -292,28 +287,28 @@ export default {
|
|||||||
const ss = prefixIntrger(initTime.getSeconds(), 2);
|
const ss = prefixIntrger(initTime.getSeconds(), 2);
|
||||||
return `${hh}:${mm}:${ss}`;
|
return `${hh}:${mm}:${ss}`;
|
||||||
},
|
},
|
||||||
loadInitData() {
|
// loadInitData() {
|
||||||
const data = {
|
// const data = {
|
||||||
mapId: this.$route.query.mapId,
|
// mapId: this.$route.query.mapId,
|
||||||
prdType: this.$route.query.prdType,
|
// prdType: this.$route.query.prdType,
|
||||||
permissionType: PermissionType.SIMULATION
|
// permissionType: PermissionType.SIMULATION
|
||||||
};
|
// };
|
||||||
getGoodsTryUse(data).then(res => {
|
// getGoodsTryUse(data).then(res => {
|
||||||
this.remainingTime = res.data.tryTime;
|
// this.remainingTime = res.data.tryTime;
|
||||||
this.timeNow = Date.parse(new Date()) / 1000 + this.remainingTime;
|
// this.timeNow = Date.parse(new Date()) / 1000 + this.remainingTime;
|
||||||
if (this.try) {
|
// if (this.try) {
|
||||||
this.time = setInterval(() => {
|
// this.time = setInterval(() => {
|
||||||
this.tryTime += 1;
|
// this.tryTime += 1;
|
||||||
this.countTime = getCountTime(this.timeNow);
|
// this.countTime = getCountTime(this.timeNow);
|
||||||
if (this.countTime == -1) {
|
// if (this.countTime == -1) {
|
||||||
this.back();
|
// this.back();
|
||||||
}
|
// }
|
||||||
}, 1000);
|
// }, 1000);
|
||||||
}
|
// }
|
||||||
}).catch(() => {
|
// }).catch(() => {
|
||||||
this.$messageBox(this.$t('display.demon.getTimeFail'));
|
// this.$messageBox(this.$t('display.demon.getTimeFail'));
|
||||||
});
|
// });
|
||||||
},
|
// },
|
||||||
selectBeginTime() {
|
selectBeginTime() {
|
||||||
this.$refs.setTime.doShow();
|
this.$refs.setTime.doShow();
|
||||||
},
|
},
|
||||||
@ -595,15 +590,15 @@ export default {
|
|||||||
this.$message.error('结束仿真失败!');
|
this.$message.error('结束仿真失败!');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
setTryTime() {
|
// setTryTime() {
|
||||||
if (this.try) {
|
// if (this.try) {
|
||||||
const data = { time: this.tryTime, goodsId: this.goodsId };
|
// const data = { time: this.tryTime, goodsId: this.goodsId };
|
||||||
if (data.goodsId) {
|
// if (data.goodsId) {
|
||||||
setGoodsTryUse(data);
|
// setGoodsTryUse(data);
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
fieldPractice() {
|
fieldPractice() {
|
||||||
this.$refs.sceneList.doShow();
|
this.$refs.sceneList.doShow();
|
||||||
},
|
},
|
||||||
@ -630,18 +625,6 @@ export default {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
left: 5px;
|
left: 5px;
|
||||||
}
|
}
|
||||||
.display-card {
|
|
||||||
z-index: 9;
|
|
||||||
display: inline-block;
|
|
||||||
position: absolute;
|
|
||||||
top: 17px;
|
|
||||||
left: 160px;
|
|
||||||
height: 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.display-card .el-row {
|
|
||||||
line-height: 32px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.display-score {
|
.display-score {
|
||||||
background-color: black;
|
background-color: black;
|
||||||
|
@ -185,6 +185,10 @@ export default {
|
|||||||
member.label = '通号' + (member.name ? member.name : '');
|
member.label = '通号' + (member.name ? member.name : '');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 'DEPOT_DISPATCHER': {
|
||||||
|
member.label = '车辆段信号楼' + (member.name ? member.name : '');
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 'PARENT_DEPARTMENT': {
|
case 'PARENT_DEPARTMENT': {
|
||||||
member.label = '上级部门' + (member.name ? member.name : '');
|
member.label = '上级部门' + (member.name ? member.name : '');
|
||||||
break;
|
break;
|
||||||
|
@ -146,7 +146,6 @@ export default {
|
|||||||
cancelButtonText: this.$t('global.cancel'),
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$emit('quit');
|
|
||||||
if (this.$route.query.noPreLogout) {
|
if (this.$route.query.noPreLogout) {
|
||||||
this.$router.replace({path: `/device/exam/${this.$route.query.examId}`, query: {mapId: this.$route.query.mapId, noPreLogout: this.$route.query.noPreLogout}});
|
this.$router.replace({path: `/device/exam/${this.$route.query.examId}`, query: {mapId: this.$route.query.mapId, noPreLogout: this.$route.query.noPreLogout}});
|
||||||
} else {
|
} else {
|
||||||
|
@ -4,26 +4,10 @@
|
|||||||
<transition name="el-zoom-in-bottom">
|
<transition name="el-zoom-in-bottom">
|
||||||
<map-system-draft ref="mapCanvas" @back="back" />
|
<map-system-draft ref="mapCanvas" @back="back" />
|
||||||
</transition>
|
</transition>
|
||||||
<status-icon v-if="($route.query.lineCode == '11' || $route.query.lineCode == '10') && isDemon" ref="statusIcon" />
|
|
||||||
<menu-demon v-if="isDemon" ref="menuDemon" :offset="offset" :offset-bottom="offsetBottom" :data-error="dataError" :text-status-height="textStatusHeight" />
|
<menu-demon v-if="isDemon" ref="menuDemon" :offset="offset" :offset-bottom="offsetBottom" :data-error="dataError" :text-status-height="textStatusHeight" />
|
||||||
<menu-lesson v-if="isLesson" ref="lessonMenu" :offset="offset" :data-error="dataError" :offset-bottom="offsetBottom" :tip-bottom="tipBottom" />
|
<menu-lesson v-if="isLesson" ref="lessonMenu" :offset="offset" :data-error="dataError" :offset-bottom="offsetBottom" :tip-bottom="tipBottom" />
|
||||||
<menu-exam v-if="isExam" ref="menuExam" :offset="offset" :data-error="dataError" :offset-bottom="offsetBottom" />
|
<menu-exam v-if="isExam" ref="menuExam" :offset="offset" :data-error="dataError" :offset-bottom="offsetBottom" />
|
||||||
<menu-script
|
<menu-script v-if="isScript" ref="menuScript" :offset-bottom="offsetBottom" :offset="offset" :text-status-height="textStatusHeight" :data-error="dataError" />
|
||||||
v-if="isScript"
|
|
||||||
ref="menuScript"
|
|
||||||
:offset-bottom="offsetBottom"
|
|
||||||
:offset="offset"
|
|
||||||
:project="project"
|
|
||||||
:text-status-height="textStatusHeight"
|
|
||||||
:data-error="dataError"
|
|
||||||
/>
|
|
||||||
<menu-practice
|
|
||||||
v-if="isPractice"
|
|
||||||
ref="menuPractice"
|
|
||||||
:offset="offset"
|
|
||||||
:offset-bottom="offsetBottom"
|
|
||||||
:data-error="dataError"
|
|
||||||
/>
|
|
||||||
<menu-dispather-contest v-if="isContest" ref="menuDispatherContest" :offset="offset" :offset-bottom="offsetBottom" :data-error="dataError" :text-status-height="textStatusHeight" />
|
<menu-dispather-contest v-if="isContest" ref="menuDispatherContest" :offset="offset" :offset-bottom="offsetBottom" :data-error="dataError" :text-status-height="textStatusHeight" />
|
||||||
</template>
|
</template>
|
||||||
<menu-train-list v-if="isDemon||isContest||isScript" @setCenter="setCenter" />
|
<menu-train-list v-if="isDemon||isContest||isScript" @setCenter="setCenter" />
|
||||||
@ -35,12 +19,11 @@ import { getSessionStorage } from '@/utils/auth';
|
|||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { OperateMode } from '@/scripts/ConstDic';
|
import { OperateMode } from '@/scripts/ConstDic';
|
||||||
import { timeFormat } from '@/utils/date';
|
import { timeFormat } from '@/utils/date';
|
||||||
import MapSystemDraft from '@/views/newMap/mapsystemNew/index';
|
|
||||||
import StatusIcon from '@/views/components/StatusIcon/statusIcon';
|
|
||||||
import MenuDemon from '@/views/newMap/displayNew/menuDemon';
|
|
||||||
|
|
||||||
import MenuExam from './exam/index';
|
import MapSystemDraft from '@/views/newMap/mapsystemNew/index';
|
||||||
import MenuLesson from './lesson/index';
|
import MenuLesson from './lesson/index';
|
||||||
|
import MenuDemon from './menuDemon';
|
||||||
|
import MenuExam from './exam/index';
|
||||||
import MenuScript from './scriptDisplay/scriptRecord/index';
|
import MenuScript from './scriptDisplay/scriptRecord/index';
|
||||||
import MenuDispatherContest from './dispatherContest/index';
|
import MenuDispatherContest from './dispatherContest/index';
|
||||||
|
|
||||||
@ -50,11 +33,11 @@ import MenuSystemTime from '@/views/newMap/displayNew/menuSystemTime';
|
|||||||
import { clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
import { clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
||||||
import { loadNewMapDataByGroup } from '@/utils/loaddata';
|
import { loadNewMapDataByGroup } from '@/utils/loaddata';
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
import { EventBus } from '@/scripts/event-bus';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DisplayDraft',
|
name: 'DisplayDraft',
|
||||||
components: {
|
components: {
|
||||||
MapSystemDraft,
|
MapSystemDraft,
|
||||||
StatusIcon,
|
|
||||||
MenuDemon,
|
MenuDemon,
|
||||||
MenuExam,
|
MenuExam,
|
||||||
MenuLesson,
|
MenuLesson,
|
||||||
@ -99,9 +82,6 @@ export default {
|
|||||||
isScript() {
|
isScript() {
|
||||||
return this.mode === 'script';
|
return this.mode === 'script';
|
||||||
},
|
},
|
||||||
isPractice() {
|
|
||||||
return this.mode === 'practice';
|
|
||||||
},
|
|
||||||
mapId() {
|
mapId() {
|
||||||
return this.$route.query.mapId;
|
return this.$route.query.mapId;
|
||||||
},
|
},
|
||||||
@ -140,12 +120,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.quit(this.group);
|
clearSimulation(this.group);
|
||||||
this.$store.dispatch('training/reset');
|
this.$store.dispatch('training/reset');
|
||||||
this.$store.dispatch('map/mapClear');
|
this.$store.dispatch('map/mapClear');
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
this.setWindowSize();
|
|
||||||
this.initLoadData();
|
this.initLoadData();
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
@ -158,11 +137,6 @@ export default {
|
|||||||
EventBus.$emit('viewLoading', false);
|
EventBus.$emit('viewLoading', false);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 销毁仿真
|
|
||||||
quit(group) {
|
|
||||||
clearSimulation(group);
|
|
||||||
this.$store.dispatch('training/over');
|
|
||||||
},
|
|
||||||
// 仿真错误时,被动退出时调用
|
// 仿真错误时,被动退出时调用
|
||||||
async back() {
|
async back() {
|
||||||
if (this.isExam) {
|
if (this.isExam) {
|
||||||
@ -227,8 +201,8 @@ export default {
|
|||||||
// 新版地图根据仿真group获取仿真基础信息
|
// 新版地图根据仿真group获取仿真基础信息
|
||||||
async loadSimulationInfo() {
|
async loadSimulationInfo() {
|
||||||
const resp = await getSimulationInfoNew(this.group);
|
const resp = await getSimulationInfoNew(this.group);
|
||||||
if (resp && resp.code == 200 && resp.data && !resp.data.dataError) {
|
if (resp && resp.code == 200 && resp.data) {
|
||||||
this.dataError = false;
|
if (!resp.data.dataError) {
|
||||||
this.$store.dispatch('scriptRecord/updateSimulationPause', resp.data.pause); // 是否暂停判断
|
this.$store.dispatch('scriptRecord/updateSimulationPause', resp.data.pause); // 是否暂停判断
|
||||||
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${timeFormat(resp.data.systemTime)}`));
|
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${timeFormat(resp.data.systemTime)}`));
|
||||||
this.$store.dispatch('training/countTime');
|
this.$store.dispatch('training/countTime');
|
||||||
@ -236,10 +210,11 @@ export default {
|
|||||||
if (resp.data.planRunning) {
|
if (resp.data.planRunning) {
|
||||||
this.$store.commit('training/start');
|
this.$store.commit('training/start');
|
||||||
}
|
}
|
||||||
} else if (resp && resp.code == 200 && resp.data && resp.data.dataError) {
|
} else {
|
||||||
this.dataError = true;
|
|
||||||
this.$messageBox('此地图数据正在维护中,无法运行!');
|
this.$messageBox('此地图数据正在维护中,无法运行!');
|
||||||
}
|
}
|
||||||
|
this.dataError = resp.data.dataError;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// 加载地图数据
|
// 加载地图数据
|
||||||
loadMapData() {
|
loadMapData() {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<status-icon v-if="$route.query.lineCode == '11' || $route.query.lineCode == '10'" ref="statusIcon" />
|
||||||
<demon-chat ref="chatbox" :group="group" :user-role="userRole" :offset="offset" />
|
<demon-chat ref="chatbox" :group="group" :user-role="userRole" :offset="offset" />
|
||||||
<div class="display-card" :style="{top: offset+'px'}">
|
<div class="display-card" :style="{top: offset+'px'}">
|
||||||
<el-row>
|
<el-row>
|
||||||
@ -56,13 +57,14 @@ import DemonChat from './demonChat';
|
|||||||
import { Notification } from 'element-ui';
|
import { Notification } from 'element-ui';
|
||||||
import MenuSchema from '@/views/newMap/displayNew/menuSchema';
|
import MenuSchema from '@/views/newMap/displayNew/menuSchema';
|
||||||
import { getGoodsTryUse } from '@/api/management/goods';
|
import { getGoodsTryUse } from '@/api/management/goods';
|
||||||
import { ranAsPlan, exitRunPlan, clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
import { ranAsPlan, exitRunPlan, getSimulationInfoNew } from '@/api/simulation';
|
||||||
import { PermissionType } from '@/scripts/ConstDic';
|
import { PermissionType } from '@/scripts/ConstDic';
|
||||||
import { getCountTime } from '@/utils/index';
|
import { getCountTime } from '@/utils/index';
|
||||||
import { TrainingMode } from '@/scripts/ConstDic';
|
import { TrainingMode } from '@/scripts/ConstDic';
|
||||||
import { quitScriptNew } from '@/api/simulation';
|
import { quitScriptNew } from '@/api/simulation';
|
||||||
import { setGoodsTryUse } from '@/api/management/goods';
|
import { setGoodsTryUse } from '@/api/management/goods';
|
||||||
import {loadScriptNew } from '@/api/simulation';
|
import {loadScriptNew } from '@/api/simulation';
|
||||||
|
import StatusIcon from '@/views/components/StatusIcon/statusIcon';
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
import { EventBus } from '@/scripts/event-bus';
|
||||||
|
|
||||||
@ -72,7 +74,8 @@ export default {
|
|||||||
SetTime,
|
SetTime,
|
||||||
DemonChat,
|
DemonChat,
|
||||||
MenuSchema,
|
MenuSchema,
|
||||||
DemonMenu
|
DemonMenu,
|
||||||
|
StatusIcon
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
offset: {
|
offset: {
|
||||||
@ -383,14 +386,10 @@ export default {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
await clearSimulation(this.group);
|
|
||||||
this.$store.dispatch('training/over').then(() => {
|
|
||||||
this.$store.dispatch('map/setShowCentralizedStationCode', '');
|
this.$store.dispatch('map/setShowCentralizedStationCode', '');
|
||||||
history.go(-1);
|
history.go(-1);
|
||||||
Notification.closeAll();
|
Notification.closeAll();
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
setTryTime() {
|
setTryTime() {
|
||||||
if (this.try) {
|
if (this.try) {
|
||||||
|
@ -1,178 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="menuPractice">
|
|
||||||
<div class="practice-schema" :style="{top: offset+'px'}">
|
|
||||||
<el-select v-model="swch" size="small" :placeholder="$t('display.schema.selectProduct')" @change="switchMode">
|
|
||||||
<el-option v-for="item in swchList" :key="item.value" :label="item.name" :value="item.value" />
|
|
||||||
</el-select>
|
|
||||||
<select-station ref="selectStation" :style-css="'width: 100px;'" />
|
|
||||||
</div>
|
|
||||||
<div class="practice-bottom" :style="{bottom: offsetBottom + 'px'}">
|
|
||||||
<el-button-group>
|
|
||||||
<el-button type="success" :disabled="isDisable || dataError" @click="selectBeginTime">按计划行车</el-button>
|
|
||||||
<el-button type="danger" :disabled="dataError" @click="end">初始化</el-button>
|
|
||||||
<el-button type="primary" @click="back">返回</el-button>
|
|
||||||
</el-button-group>
|
|
||||||
</div>
|
|
||||||
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
import SelectStation from './selectStation';
|
|
||||||
import { TrainingMode } from '@/scripts/ConstDic';
|
|
||||||
import SetTime from '@/views/newMap/displayNew/demon/setTime';
|
|
||||||
import { ranAsPlan, exitRunPlan } from '@/api/simulation';
|
|
||||||
import { Notification } from 'element-ui';
|
|
||||||
export default {
|
|
||||||
name: 'MenuPractice',
|
|
||||||
components:{
|
|
||||||
SetTime,
|
|
||||||
SelectStation
|
|
||||||
},
|
|
||||||
props: {
|
|
||||||
offset: {
|
|
||||||
type: Number,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
offsetBottom: {
|
|
||||||
type: Number,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
dataError: {
|
|
||||||
type: Boolean,
|
|
||||||
default() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
isDisable: false,
|
|
||||||
swch: '01',
|
|
||||||
showStationContent:'',
|
|
||||||
swchList: [
|
|
||||||
{ value: '01', name: '现地' },
|
|
||||||
{ value: '02', name: '行调' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
},
|
|
||||||
computed:{
|
|
||||||
group() {
|
|
||||||
return this.$route.query.group;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
watch:{
|
|
||||||
'showStation':function(val) {
|
|
||||||
this.showStationContent = this.showStation;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods:{
|
|
||||||
back() {
|
|
||||||
this.$store.dispatch('training/over').then(() => {
|
|
||||||
history.go(-1);
|
|
||||||
Notification.closeAll();
|
|
||||||
});
|
|
||||||
},
|
|
||||||
selectBeginTime() {
|
|
||||||
this.$refs.setTime.doShow();
|
|
||||||
},
|
|
||||||
start(model) {
|
|
||||||
this.isDisable = true;
|
|
||||||
const data = {
|
|
||||||
time: model.initTime
|
|
||||||
};
|
|
||||||
ranAsPlan(data, this.group).then(res => {
|
|
||||||
this.$store.dispatch('training/simulationStart').then(() => {
|
|
||||||
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${model.initTime}`));
|
|
||||||
this.$store.dispatch('map/setShowCentralizedStationNum');
|
|
||||||
});
|
|
||||||
}).catch((error) => {
|
|
||||||
this.isDisable = false;
|
|
||||||
if (error.code == '5001') {
|
|
||||||
this.$messageBox(this.$t('error.mapDataError') + ',' + this.$t('error.startSimulationFailed'));
|
|
||||||
} else if (error.code == '5002') {
|
|
||||||
this.$messageBox(this.$t('error.runningChartDataError') + ',' + this.$t('error.startSimulationFailed'));
|
|
||||||
} else if (error.code == '5003') {
|
|
||||||
this.$messageBox(this.$t('error.runningChartIsNotLoaded') + ',' + this.$t('error.startSimulationFailed'));
|
|
||||||
} else if (error.code == '5004') {
|
|
||||||
this.$messageBox(this.$t('error.runningDataError') + ',' + this.$t('error.startSimulationFailed'));
|
|
||||||
} else if (error.code == '5000') {
|
|
||||||
this.$messageBox(this.$t('error.systemError') + ',' + this.$t('error.startSimulationFailed'));
|
|
||||||
} else if (error.code == '4000') {
|
|
||||||
this.$messageBox(this.$t('error.simulationDoesNotExist') + ',' + this.$t('error.startSimulationFailed'));
|
|
||||||
} else if (error.code == '4001') {
|
|
||||||
this.$messageBox(this.$t('error.simulationOperationIsNotDefined') + ',' + this.$t('error.startSimulationFailed'));
|
|
||||||
} else if (error.code == '4002') {
|
|
||||||
this.$messageBox(this.$t('error.simulationOperationProcessingMethodNotFound') + ',' + this.$t('error.startSimulationFailed'));
|
|
||||||
} else if (error.code == '4003') {
|
|
||||||
this.$messageBox(this.$t('error.simulationOperationFailed') + ',' + this.$t('error.startSimulationFailed'));
|
|
||||||
} else if (error.code == '4004') {
|
|
||||||
this.$messageBox(this.$t('error.operationConflict') + ',' + this.$t('error.startSimulationFailed'));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
switchMode(swch) {
|
|
||||||
this.$store.dispatch('training/setPrdType', swch); // 改变prdType
|
|
||||||
this.switchModeInner(swch);
|
|
||||||
},
|
|
||||||
switchModeInner(swch) {
|
|
||||||
let showMode = '03';
|
|
||||||
if (swch == '01') {
|
|
||||||
showMode = '03';
|
|
||||||
} else if (swch == '02') {
|
|
||||||
showMode = '02';
|
|
||||||
}
|
|
||||||
const nameList = Object.keys(this.$store.state.map.map || {});
|
|
||||||
let list = [];
|
|
||||||
nameList.forEach(item => {
|
|
||||||
if (item !== 'skinVO') {
|
|
||||||
const data = this.$store.state.map.map[item];
|
|
||||||
if (data && data.constructor === Array) {
|
|
||||||
list = [...list, ...data];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.$jlmap.updateShowMode(list, showMode);
|
|
||||||
},
|
|
||||||
end() {
|
|
||||||
this.isDisable = false;
|
|
||||||
exitRunPlan(this.group).then(() => {
|
|
||||||
this.$store.dispatch('training/over').then(() => {
|
|
||||||
this.$store.dispatch('training/setMapDefaultState').then(() => {
|
|
||||||
this.$store.dispatch('map/clearJlmapTrainView');
|
|
||||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}).catch(() => {
|
|
||||||
this.isDisable = true;
|
|
||||||
this.$messageBox(this.$t('display.demon.endSimulationFail'));
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 加载实操地图数据
|
|
||||||
async initData() {
|
|
||||||
this.$store.dispatch('training/end', TrainingMode.NORMAL);
|
|
||||||
this.$store.dispatch('training/setPrdType', '01'); // 改变prdType
|
|
||||||
},
|
|
||||||
// 结束加载状态
|
|
||||||
endViewLoading(isSuccess) {
|
|
||||||
if (!isSuccess) {
|
|
||||||
this.$store.dispatch('map/mapClear');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.practice-schema {
|
|
||||||
z-index: 9;
|
|
||||||
display: inline;
|
|
||||||
position: absolute;
|
|
||||||
right: 15px;
|
|
||||||
}
|
|
||||||
.practice-bottom {
|
|
||||||
position: absolute;
|
|
||||||
float: right;
|
|
||||||
right: 15px;
|
|
||||||
bottom: 15px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -67,8 +67,8 @@ export default {
|
|||||||
viewDisabled: true,
|
viewDisabled: true,
|
||||||
swch: '02',
|
swch: '02',
|
||||||
isScriptCommand:false,
|
isScriptCommand:false,
|
||||||
faultMode: false,
|
faultMode: false
|
||||||
firstLoad: true
|
// firstLoad: true
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -233,7 +233,7 @@ export default {
|
|||||||
type: 'role',
|
type: 'role',
|
||||||
children: result.deviceListData[1]
|
children: result.deviceListData[1]
|
||||||
}, {
|
}, {
|
||||||
label: '车辆段',
|
label: '车辆段信号楼',
|
||||||
id: 'depotDispatcher',
|
id: 'depotDispatcher',
|
||||||
type: 'role',
|
type: 'role',
|
||||||
children: result.deviceListData[4]
|
children: result.deviceListData[4]
|
||||||
|
@ -88,12 +88,6 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
},
|
|
||||||
project:{
|
|
||||||
type: String,
|
|
||||||
default() {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -228,10 +222,8 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
back() {
|
back() {
|
||||||
this.$store.dispatch('training/over').then(() => {
|
|
||||||
history.go(-1);
|
history.go(-1);
|
||||||
Notification.closeAll();
|
Notification.closeAll();
|
||||||
});
|
|
||||||
},
|
},
|
||||||
resetChat() {
|
resetChat() {
|
||||||
// this.$refs.chatbox.resetCoversition();
|
// this.$refs.chatbox.resetCoversition();
|
||||||
|
@ -37,7 +37,7 @@ export function covertMemberData (activeTrainList, resp) {
|
|||||||
member.label = member.type + name + userName;
|
member.label = member.type + name + userName;
|
||||||
member.normalName = member.type + name;
|
member.normalName = member.type + name;
|
||||||
}
|
}
|
||||||
const deviceType = ['行调', '通号', '行值', '司机', '车辆段调度', '上级部门', '电力调度', '停车场信号楼'];
|
const deviceType = ['行调', '通号', '行值', '司机', '车辆段信号楼', '上级部门', '电力调度', '停车场信号楼'];
|
||||||
const deviceTypeIndex = deviceType.indexOf(member.type);
|
const deviceTypeIndex = deviceType.indexOf(member.type);
|
||||||
if (deviceTypeIndex >= 0) {
|
if (deviceTypeIndex >= 0) {
|
||||||
if (deviceTypeIndex == 3) {
|
if (deviceTypeIndex == 3) {
|
||||||
|
@ -158,7 +158,7 @@ export default {
|
|||||||
electricDispatcherList.push(this.memberData[item.id]);
|
electricDispatcherList.push(this.memberData[item.id]);
|
||||||
break;
|
break;
|
||||||
case 'DEPOT_DISPATCHER':
|
case 'DEPOT_DISPATCHER':
|
||||||
this.memberData[item.id].labelName = '车辆段调度' + (item.name || '');
|
this.memberData[item.id].labelName = '车辆段信号楼' + (item.name || '');
|
||||||
depotDispatcherList.push(this.memberData[item.id]);
|
depotDispatcherList.push(this.memberData[item.id]);
|
||||||
break;
|
break;
|
||||||
case 'STATION_SUPERVISOR':
|
case 'STATION_SUPERVISOR':
|
||||||
@ -192,7 +192,7 @@ export default {
|
|||||||
id: 'maintainer',
|
id: 'maintainer',
|
||||||
children: maintainerList
|
children: maintainerList
|
||||||
}, {
|
}, {
|
||||||
labelName: '车辆段',
|
labelName: '车辆段信号楼',
|
||||||
id: 'depotDispatcher',
|
id: 'depotDispatcher',
|
||||||
children: depotDispatcherList
|
children: depotDispatcherList
|
||||||
}, {
|
}, {
|
||||||
|
@ -83,9 +83,9 @@ export default {
|
|||||||
if (device._type == 'Section' && device.type == '03') { // 过滤道岔相关区段变成道岔model
|
if (device._type == 'Section' && device.type == '03') { // 过滤道岔相关区段变成道岔model
|
||||||
device = this.$store.getters['map/getDeviceByCode'](device.switch.code);
|
device = this.$store.getters['map/getDeviceByCode'](device.switch.code);
|
||||||
}
|
}
|
||||||
if (device._type == 'Section' && device.type == '04') {
|
// if (device._type == 'Section' && device.type == '04') {
|
||||||
device = null;
|
// device = null;
|
||||||
}
|
// }
|
||||||
return device;
|
return device;
|
||||||
},
|
},
|
||||||
clickEvent(em) {
|
clickEvent(em) {
|
||||||
@ -180,6 +180,7 @@ export default {
|
|||||||
},
|
},
|
||||||
checkShouldPop(device) {
|
checkShouldPop(device) {
|
||||||
const lineCode = this.$store.getters['map/lineCode'];
|
const lineCode = this.$store.getters['map/lineCode'];
|
||||||
|
if (device) {
|
||||||
if (device._type === 'Signal') {
|
if (device._type === 'Signal') {
|
||||||
return device._viewVal === '3';
|
return device._viewVal === '3';
|
||||||
} else if (device._type === 'StationControl' && lineCode == '01') { // 中控模式显示范围
|
} else if (device._type === 'StationControl' && lineCode == '01') { // 中控模式显示范围
|
||||||
@ -187,6 +188,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mapViewLoaded(loading) {
|
mapViewLoaded(loading) {
|
||||||
this.$refs.jlmapVisual && this.$refs.jlmapVisual.mapViewLoaded(loading);
|
this.$refs.jlmapVisual && this.$refs.jlmapVisual.mapViewLoaded(loading);
|
||||||
|
@ -136,7 +136,7 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
'$store.state.menuOperation.selectedCount':function(em) {
|
'$store.state.menuOperation.selectedCount':function(em) {
|
||||||
const device = this.$store.state.menuOperation.selected;
|
const device = this.$store.state.menuOperation.selected;
|
||||||
if (device.code) {
|
if (device && device.code) {
|
||||||
this.deviceSelect(device);
|
this.deviceSelect(device);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -195,7 +195,7 @@ export default {
|
|||||||
type: 'role',
|
type: 'role',
|
||||||
children: result.deviceListData[1]
|
children: result.deviceListData[1]
|
||||||
}, {
|
}, {
|
||||||
label: '车辆段',
|
label: '车辆段信号楼',
|
||||||
id: 'depotDispatcher',
|
id: 'depotDispatcher',
|
||||||
type: 'role',
|
type: 'role',
|
||||||
children: result.deviceListData[4]
|
children: result.deviceListData[4]
|
||||||
@ -273,7 +273,7 @@ export default {
|
|||||||
const covertmember = this.covert(lastData, ConstConfig.ConstSelect.roleTypeNew);
|
const covertmember = this.covert(lastData, ConstConfig.ConstSelect.roleTypeNew);
|
||||||
const newMember = covertmember[0];
|
const newMember = covertmember[0];
|
||||||
this.memberList.push(newMember);
|
this.memberList.push(newMember);
|
||||||
const deviceTypeList = ['行调', '行值', '司机', '通号', '车辆段调度', '上级部门', '电力调度', '停车场信号楼'];
|
const deviceTypeList = ['行调', '行值', '司机', '通号', '车辆段信号楼', '上级部门', '电力调度', '停车场信号楼'];
|
||||||
const index = deviceTypeList.indexOf(newMember.type);
|
const index = deviceTypeList.indexOf(newMember.type);
|
||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
const treeDataIn = this.treeData[index];
|
const treeDataIn = this.treeData[index];
|
||||||
@ -479,7 +479,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.openWindow = window.open(routeData.href);
|
this.openWindow = window.open(routeData.href);
|
||||||
} else if (role.type == '车辆段调度') {
|
} else if (role.type == '车辆段信号楼') {
|
||||||
prdType = '05';
|
prdType = '05';
|
||||||
role.type = 'DEPOT_DISPATCHER';
|
role.type = 'DEPOT_DISPATCHER';
|
||||||
this.$store.dispatch('training/setRoles', 'DEPOT_DISPATCHER');
|
this.$store.dispatch('training/setRoles', 'DEPOT_DISPATCHER');
|
||||||
@ -520,7 +520,7 @@ export default {
|
|||||||
'DISPATCHER':'行调',
|
'DISPATCHER':'行调',
|
||||||
'DRIVER':'司机',
|
'DRIVER':'司机',
|
||||||
'MAINTAINER':'通号',
|
'MAINTAINER':'通号',
|
||||||
'DEPOT_DISPATCHER':'车辆段调度',
|
'DEPOT_DISPATCHER':'车辆段信号楼',
|
||||||
'PARENT_DEPARTMENT':'上级部门',
|
'PARENT_DEPARTMENT':'上级部门',
|
||||||
'ELECTRIC_DISPATCHER':'电力调度',
|
'ELECTRIC_DISPATCHER':'电力调度',
|
||||||
'PARKING_LOT_SIGNAL_BUILDING':'停车场信号楼'
|
'PARKING_LOT_SIGNAL_BUILDING':'停车场信号楼'
|
||||||
|
@ -19,6 +19,12 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
deviceTypeList:{
|
||||||
|
type: Array,
|
||||||
|
default() {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -30,9 +36,7 @@ export default {
|
|||||||
targetIds: '',
|
targetIds: '',
|
||||||
deviceType: []
|
deviceType: []
|
||||||
},
|
},
|
||||||
deviceTypeList: [],
|
targetList: []
|
||||||
targetList: [],
|
|
||||||
lineCode: ''
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -58,36 +62,17 @@ export default {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
|
||||||
taskStatusList(list) {
|
|
||||||
this.targetList = [];
|
|
||||||
list.forEach(item => {
|
|
||||||
if (item.value != this.lineCode) {
|
|
||||||
this.targetList.push(item);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.deviceTypeList = [];
|
|
||||||
this.$ConstSelect.deviceTypeList.forEach(item => {
|
|
||||||
this.deviceTypeList.push(item);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
doShow(lineCode) {
|
doShow(lineCode) {
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
if (lineCode) {
|
if (lineCode) {
|
||||||
this.lineCode = lineCode;
|
|
||||||
this.targetList = [];
|
this.targetList = [];
|
||||||
this.taskStatusList.forEach(item => {
|
this.taskStatusList.forEach(item => {
|
||||||
item.value = item.code;
|
if (item.value != lineCode) {
|
||||||
item.label = item.name;
|
|
||||||
if (item.code != lineCode) {
|
|
||||||
this.targetList.push(item);
|
this.targetList.push(item);
|
||||||
} else {
|
} else {
|
||||||
this.formModel.fromCode = item.code;
|
this.formModel.fromCode = item.value;
|
||||||
this.formModel.fromName = item.name;
|
this.formModel.fromName = item.label;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -27,10 +27,14 @@
|
|||||||
<div style="overflow: hidden;">
|
<div style="overflow: hidden;">
|
||||||
<div class="param-title">指令参数:</div>
|
<div class="param-title">指令参数:</div>
|
||||||
<el-table :data="formModel.paramList" border class="param-table">
|
<el-table :data="formModel.paramList" border class="param-table">
|
||||||
<el-table-column prop="name" label="参数名" />
|
<el-table-column prop="name" label="参数名">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<input :id="'param'+scope.$index" v-model="scope.row.name" type="text" class="paramCode">
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column :label="this.$t('global.operate')" width="180">
|
<el-table-column :label="this.$t('global.operate')" width="180">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" size="small" @click="editParam(scope.$index, scope.row)">修改</el-button>
|
<el-button type="text" size="small" @click="editParam(scope.$index)">修改</el-button>
|
||||||
<el-button type="text" size="small" @click="delParam(scope.$index)">删除</el-button>
|
<el-button type="text" size="small" @click="delParam(scope.$index)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -44,9 +48,6 @@
|
|||||||
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
|
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
|
||||||
<el-button @click="handleBack">返回</el-button>
|
<el-button @click="handleBack">返回</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<command-edit ref="create" type="ADD" @addData="addData" />
|
|
||||||
<command-edit ref="edit" type="EDIT" @editData="editData" />
|
|
||||||
<edit-condition ref="addCondition" type="ADD" @addData="addCondition" />
|
<edit-condition ref="addCondition" type="ADD" @addData="addCondition" />
|
||||||
<edit-condition ref="editCondition" type="EDIT" @editData="editCondition" />
|
<edit-condition ref="editCondition" type="EDIT" @editData="editCondition" />
|
||||||
</div>
|
</div>
|
||||||
@ -56,7 +57,6 @@
|
|||||||
import ConstConfig from '@/scripts/ConstConfig';
|
import ConstConfig from '@/scripts/ConstConfig';
|
||||||
import Cookies from 'js-cookie';
|
import Cookies from 'js-cookie';
|
||||||
import { createCommand, editCommand, getCommandDetail } from '@/api/management/dictionary';
|
import { createCommand, editCommand, getCommandDetail } from '@/api/management/dictionary';
|
||||||
import CommandEdit from './editParam';
|
|
||||||
import { getLineCodeList } from '@/api/management/mapline';
|
import { getLineCodeList } from '@/api/management/mapline';
|
||||||
import EditCondition from './editCondition';
|
import EditCondition from './editCondition';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
@ -64,7 +64,6 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
|||||||
export default {
|
export default {
|
||||||
name: 'DictionaryEdit',
|
name: 'DictionaryEdit',
|
||||||
components: {
|
components: {
|
||||||
CommandEdit,
|
|
||||||
EditCondition
|
EditCondition
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -165,6 +164,9 @@ export default {
|
|||||||
},
|
},
|
||||||
doSave() {
|
doSave() {
|
||||||
this.$refs.dataform.validateForm(() => {
|
this.$refs.dataform.validateForm(() => {
|
||||||
|
this.formModel.paramList = this.formModel.paramList.filter(param=>{
|
||||||
|
return param.name != '';
|
||||||
|
});
|
||||||
if (this.type == 'add') {
|
if (this.type == 'add') {
|
||||||
this.create();
|
this.create();
|
||||||
} else {
|
} else {
|
||||||
@ -191,21 +193,16 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleBack() {
|
handleBack() {
|
||||||
this.$router.push({ path: `/system/commands`, query: { } });
|
this.$router.go(-1);
|
||||||
},
|
|
||||||
|
|
||||||
editData(data) {
|
|
||||||
this.formModel.paramList.splice(this.editIndex, 1, data);
|
|
||||||
},
|
|
||||||
addData(data) {
|
|
||||||
this.formModel.paramList.push(data);
|
|
||||||
},
|
},
|
||||||
addParam() {
|
addParam() {
|
||||||
this.$refs.create.doShow();
|
this.formModel.paramList.push({name:''});
|
||||||
|
this.$nextTick(()=>{
|
||||||
|
document.querySelector('#param' + (this.formModel.paramList.length - 1)).focus();
|
||||||
|
});
|
||||||
},
|
},
|
||||||
editParam(index, row) {
|
editParam(index) {
|
||||||
this.$refs.edit.doShow(row);
|
document.querySelector('#param' + index).focus();
|
||||||
this.editIndex = index;
|
|
||||||
},
|
},
|
||||||
delParam(index) {
|
delParam(index) {
|
||||||
this.formModel.paramList.splice(index, 1);
|
this.formModel.paramList.splice(index, 1);
|
||||||
@ -274,4 +271,15 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.paramCode{
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border: none;
|
||||||
|
text-indent: 10px;
|
||||||
|
outline: none;
|
||||||
|
color: #606266;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,96 +0,0 @@
|
|||||||
<template>
|
|
||||||
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogVisible" width="400px" :before-close="handleClose" center :close-on-click-modal="false">
|
|
||||||
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
|
|
||||||
<span slot="footer" class="dialog-footer">
|
|
||||||
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
|
|
||||||
<el-button @click="dialogVisible = false">{{ $t('global.cancel') }}</el-button>
|
|
||||||
</span>
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'DictionaryEdit',
|
|
||||||
props: {
|
|
||||||
type: {
|
|
||||||
type: String,
|
|
||||||
required: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
dialogVisible: false,
|
|
||||||
formModel: {
|
|
||||||
id: '',
|
|
||||||
name: ''
|
|
||||||
}
|
|
||||||
};
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
form() {
|
|
||||||
const form = {
|
|
||||||
labelWidth: '100px',
|
|
||||||
items: [
|
|
||||||
{ prop: 'name', label: '参数名', type: 'text' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
return form;
|
|
||||||
},
|
|
||||||
rules() {
|
|
||||||
return {
|
|
||||||
name: [
|
|
||||||
{ required: true, message: '请输入内容', trigger: 'blur' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
},
|
|
||||||
title() {
|
|
||||||
if (this.type === 'ADD') {
|
|
||||||
return this.$t('system.createDirectory');
|
|
||||||
} else {
|
|
||||||
return this.$t('system.editDictionary');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
doShow(data) {
|
|
||||||
this.dialogVisible = true;
|
|
||||||
if (data) {
|
|
||||||
this.formModel = {
|
|
||||||
name: data.name,
|
|
||||||
pattern: data.pattern,
|
|
||||||
val: data.val
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
doSave() {
|
|
||||||
const self = this;
|
|
||||||
this.$refs.dataform.validateForm(() => {
|
|
||||||
if (self.type === 'ADD') {
|
|
||||||
self.create();
|
|
||||||
} else {
|
|
||||||
self.update();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
getData() {
|
|
||||||
return {
|
|
||||||
id: this.formModel.id,
|
|
||||||
name: this.formModel.name
|
|
||||||
};
|
|
||||||
},
|
|
||||||
create() {
|
|
||||||
this.$emit('addData', this.getData());
|
|
||||||
this.handleClose();
|
|
||||||
},
|
|
||||||
update() {
|
|
||||||
this.$emit('editData', this.getData());
|
|
||||||
this.handleClose();
|
|
||||||
},
|
|
||||||
handleClose() {
|
|
||||||
this.$refs.dataform.resetForm();
|
|
||||||
this.dialogVisible = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -2,7 +2,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
||||||
<show-condition ref="showCondition" />
|
<show-condition ref="showCondition" />
|
||||||
<copy-param ref="copyParam" :task-status-list="taskStatusList" />
|
<copy-param ref="copyParam" :task-status-list="taskStatusList" :device-type-list="deviceTypeList" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -22,6 +22,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
taskStatusList: [],
|
taskStatusList: [],
|
||||||
|
deviceTypeList:[],
|
||||||
operateList: [],
|
operateList: [],
|
||||||
pagerConfig: {
|
pagerConfig: {
|
||||||
pageSize: 'pageSize',
|
pageSize: 'pageSize',
|
||||||
@ -57,14 +58,14 @@ export default {
|
|||||||
title: this.$t('system.lineCode'), // 线路编号
|
title: this.$t('system.lineCode'), // 线路编号
|
||||||
prop: 'lineCode',
|
prop: 'lineCode',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.lineCode, this.taskStatusList, ['code', 'name']); },
|
columnValue: (row) => { return this.convertField(this.taskStatusList, row.lineCode); },
|
||||||
tagType: (row) => { return 'success'; }
|
tagType: (row) => { return 'success'; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('system.simulationRole'), // 仿真角色
|
title: this.$t('system.simulationRole'), // 仿真角色
|
||||||
prop: 'simulationRole',
|
prop: 'simulationRole',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.simulationRole, this.$ConstSelect.simulationRole, ['value', 'label']); },
|
columnValue: (row) => { return this.convertField(this.$ConstSelect.simulationRole, row.simulationRole); },
|
||||||
tagType: (row) => { return 'success'; }
|
tagType: (row) => { return 'success'; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -78,7 +79,7 @@ export default {
|
|||||||
title: this.$t('system.deviceType'), // 操作对象
|
title: this.$t('system.deviceType'), // 操作对象
|
||||||
prop: 'operateObject',
|
prop: 'operateObject',
|
||||||
type: 'tag',
|
type: 'tag',
|
||||||
columnValue: (row) => { return this.$convertField(row.operateObject, this.$ConstSelect.deviceTypeList, ['value', 'label']); },
|
columnValue: (row) => { return this.convertField( this.deviceTypeList, row.operateObject); },
|
||||||
tagType: (row) => { return ''; }
|
tagType: (row) => { return ''; }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -130,7 +131,6 @@ export default {
|
|||||||
currentModel: {}
|
currentModel: {}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted () {
|
mounted () {
|
||||||
this.loadInitData();
|
this.loadInitData();
|
||||||
},
|
},
|
||||||
@ -140,13 +140,14 @@ export default {
|
|||||||
this.taskStatusList = [];
|
this.taskStatusList = [];
|
||||||
this.mapList = [];
|
this.mapList = [];
|
||||||
const list = await getLineCodeList();
|
const list = await getLineCodeList();
|
||||||
this.taskStatusList = list.data;
|
|
||||||
list.data.forEach(elem => {
|
list.data.forEach(elem => {
|
||||||
this.queryForm.queryObject.lineCode.config.data.push({ value: elem.code, label: elem.name });
|
this.taskStatusList.push({ value: elem.code, label: elem.name });
|
||||||
});
|
});
|
||||||
|
this.queryForm.queryObject.lineCode.config.data = this.taskStatusList;
|
||||||
this.$ConstSelect.deviceTypeList.forEach(elem => {
|
this.$ConstSelect.deviceTypeList.forEach(elem => {
|
||||||
this.queryForm.queryObject.operateObject.config.data.push(elem);
|
this.deviceTypeList.push(elem);
|
||||||
});
|
});
|
||||||
|
this.queryForm.queryObject.operateObject.config.data = this.deviceTypeList;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
}
|
}
|
||||||
@ -161,13 +162,11 @@ export default {
|
|||||||
},
|
},
|
||||||
replace(fieldValue) {
|
replace(fieldValue) {
|
||||||
const arr = [];
|
const arr = [];
|
||||||
if (fieldValue && fieldValue.length) {
|
|
||||||
fieldValue.forEach((v, j) => {
|
fieldValue.forEach((v, j) => {
|
||||||
if (v.name) {
|
if (v.name) {
|
||||||
arr.push(v.name);
|
arr.push(v.name);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
return arr;
|
return arr;
|
||||||
},
|
},
|
||||||
// 显示条件参数
|
// 显示条件参数
|
||||||
@ -192,7 +191,6 @@ export default {
|
|||||||
this.$message.success(this.$t('system.deleteSuccess'));
|
this.$message.success(this.$t('system.deleteSuccess'));
|
||||||
this.reloadTable();
|
this.reloadTable();
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.reloadTable();
|
|
||||||
this.$messageBox(this.$t('error.deleteFailed'));
|
this.$messageBox(this.$t('error.deleteFailed'));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -218,6 +216,10 @@ export default {
|
|||||||
},
|
},
|
||||||
reloadTable() {
|
reloadTable() {
|
||||||
this.queryList.reload();
|
this.queryList.reload();
|
||||||
|
},
|
||||||
|
convertField(list, status) {
|
||||||
|
console.log(list, typeof list, status);
|
||||||
|
if (list && list.length > 0) { return list.find(each=>{ return status == each.value; }).label; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user