大铁菜单调整
This commit is contained in:
parent
32409d4baf
commit
18f1c6231b
1026
src/jmapNew/theme/datie_02/menus/ctcWorkMenu.vue
Normal file
1026
src/jmapNew/theme/datie_02/menus/ctcWorkMenu.vue
Normal file
File diff suppressed because it is too large
Load Diff
278
src/jmapNew/theme/datie_02/menus/ctcWorkMenuBar.vue
Normal file
278
src/jmapNew/theme/datie_02/menus/ctcWorkMenuBar.vue
Normal file
@ -0,0 +1,278 @@
|
|||||||
|
<template>
|
||||||
|
<div id="menuBarDatie">
|
||||||
|
<menu-bar ref="menuBar" :menu-normal="menuNormal" style="width:100%;top: 30px;"/>
|
||||||
|
<station-control-convert ref="stationControlConvert" />
|
||||||
|
<password-box ref="passwordBox" @setLoginResult="getLoginResult" />
|
||||||
|
<view-name ref="viewName" />
|
||||||
|
<train-add ref="trainAdd" />
|
||||||
|
<train-transtalet ref="trainTranstalet" />
|
||||||
|
<train-delete ref="trainDelete" />
|
||||||
|
<manage-user ref="manageUser" />
|
||||||
|
<train-fixed-path-pane ref="trainFixedPathPane" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { mapGetters } from 'vuex';
|
||||||
|
import MenuBar from '@/jmapNew/theme/components/menus/menuBarNew';
|
||||||
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
import StationControlConvert from './menuDialog/stationControlConvert';
|
||||||
|
import TrainAdd from './menuDialog/trainAdd';
|
||||||
|
import TrainTranstalet from './menuDialog/trainTranstalet';
|
||||||
|
import TrainDelete from './menuDialog/trainDelete';
|
||||||
|
import PasswordBox from './menuDialog/passwordBox';
|
||||||
|
import ViewName from './menuDialog/viewName';
|
||||||
|
import ManageUser from './menuDialog/manageUser';
|
||||||
|
import TrainFixedPathPane from './menuDialog/trainFixedPathPane';
|
||||||
|
import { EventBus } from '@/scripts/event-bus';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'CtcWorkMenuBar',
|
||||||
|
components: {
|
||||||
|
MenuBar,
|
||||||
|
StationControlConvert,
|
||||||
|
PasswordBox,
|
||||||
|
ViewName,
|
||||||
|
TrainAdd,
|
||||||
|
TrainTranstalet,
|
||||||
|
TrainDelete,
|
||||||
|
ManageUser,
|
||||||
|
TrainFixedPathPane
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
menuNormal: [
|
||||||
|
{
|
||||||
|
title: '登录',
|
||||||
|
operate: '',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '登录',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '注销',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '退出',
|
||||||
|
click: this.undeveloped
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '显示',
|
||||||
|
operate: '',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '工具栏',
|
||||||
|
operate: '',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '标准按钮',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '签收栏',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '显示系统信息窗口',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '显示进路序列管理窗口',
|
||||||
|
click: this.bottomTableShowOrHidden
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '显示信号员计划表',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '显示信号员注意事项',
|
||||||
|
click: this.undeveloped
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '站场图',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '行车日志',
|
||||||
|
click: this.undeveloped
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '工具',
|
||||||
|
operate: '',
|
||||||
|
hide: true,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: '调度命令管理',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '甩挂车作业',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '列车编组(速报表)',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '站存车(现存车)',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '列控命令',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '车站直接限速',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '运统46',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '站场图回放',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '列控区间占用逻辑检查',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'separator'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '更新数据',
|
||||||
|
click: this.updateTrainFixedPath
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '列车固定径路',
|
||||||
|
click: this.trainFixedPathPane
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'separator'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '用户管理',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '选项',
|
||||||
|
click: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'separator'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: '时钟显示',
|
||||||
|
click: this.undeveloped
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '调试',
|
||||||
|
operate: '',
|
||||||
|
children: []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '窗口',
|
||||||
|
operate: '',
|
||||||
|
children: []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '帮助',
|
||||||
|
operate: '',
|
||||||
|
children: []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'stationList'
|
||||||
|
])
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
initStationList() {
|
||||||
|
const list = [];
|
||||||
|
this.stationList.forEach(station => {
|
||||||
|
if (station.visible) {
|
||||||
|
const node = {
|
||||||
|
title: station.name,
|
||||||
|
operate: station.code,
|
||||||
|
show: true,
|
||||||
|
click: this.mapLocation,
|
||||||
|
code: station.code
|
||||||
|
};
|
||||||
|
|
||||||
|
list.push(node);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return list;
|
||||||
|
},
|
||||||
|
// 设置地图定位
|
||||||
|
mapLocation(code) {
|
||||||
|
if (code) {
|
||||||
|
this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: code });
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getLoginResult(operate) {
|
||||||
|
/** 密码校验*/
|
||||||
|
if (operate.operation == OperationEvent.StationControl.forcedStationControl.passwordConfirm.operation) {
|
||||||
|
if (operate.success) {
|
||||||
|
/** 校验成功*/
|
||||||
|
this.$refs.stationControlConvert.doShow({ operation: OperationEvent.StationControl.forcedStationControl.mbar.operation });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
blankClickClose() {
|
||||||
|
this.$refs.menuBar.doClose();
|
||||||
|
},
|
||||||
|
updateTrainFixedPath() {
|
||||||
|
const stationCode = this.$store.state.training.roleDeviceCode;
|
||||||
|
commitOperate(menuOperate.CTC.updateTrainFixedPath2Station, { stationCode: stationCode }, 3).then(({valid, response}) => {
|
||||||
|
if (valid) {
|
||||||
|
this.$nextTick(function () {
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
trainFixedPathPane() {
|
||||||
|
const stationCode = this.$store.state.training.roleDeviceCode;
|
||||||
|
this.$refs.trainFixedPathPane.doShow(stationCode);
|
||||||
|
},
|
||||||
|
bottomTableShowOrHidden() {
|
||||||
|
EventBus.$emit('bottomTableShowOrHidden');
|
||||||
|
},
|
||||||
|
undeveloped() {
|
||||||
|
this.$refs.menuBar.doClose();
|
||||||
|
this.$alert('实现中......', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
callback: action => {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style rel="stylesheet/scss" lang="scss">
|
||||||
|
#menuBarDatie{
|
||||||
|
line-height:30px;
|
||||||
|
}
|
||||||
|
#menuBarDatie #menuBar .menu-li-block .label{
|
||||||
|
padding: 0px 30px 0px 5px !important;
|
||||||
|
}
|
||||||
|
.img-box{
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
</style>
|
@ -11,7 +11,7 @@
|
|||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
>
|
>
|
||||||
<!-- 密码校验 -->
|
<!-- 密码校验 -->
|
||||||
<el-row>
|
<el-row style="display: flex;justify-content: space-around;align-items: center;">
|
||||||
<el-input v-model="encryptionPassword" placeholder="" size="medium" :disabled="true" style="width: 180px;display: inline-block;float: left;" />
|
<el-input v-model="encryptionPassword" placeholder="" size="medium" :disabled="true" style="width: 180px;display: inline-block;float: left;" />
|
||||||
<el-button @click="backSpace">退格</el-button>
|
<el-button @click="backSpace">退格</el-button>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -130,7 +130,7 @@ export default {
|
|||||||
this.title = title;
|
this.title = title;
|
||||||
this.operate = operate || {};
|
this.operate = operate || {};
|
||||||
if (operate.operateNext) {
|
if (operate.operateNext) {
|
||||||
console.log(this.operation , operate.operation)
|
console.log(this.operation, operate.operation);
|
||||||
this.operation = operate.operateNext;
|
this.operation = operate.operateNext;
|
||||||
} else {
|
} else {
|
||||||
this.operation = operate.operation;
|
this.operation = operate.operation;
|
||||||
@ -289,6 +289,8 @@ export default {
|
|||||||
.datie-02__systerm .el-dialog .button-group {
|
.datie-02__systerm .el-dialog .button-group {
|
||||||
font-size:0;
|
font-size:0;
|
||||||
margin-top:2px;
|
margin-top:2px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
|
||||||
|
@ -1,13 +1,885 @@
|
|||||||
<template>
|
<template>
|
||||||
<div />
|
<div class="menus" :style="{width: width + 'px'}">
|
||||||
|
<menu-bar ref="menuBar" :date-strin="dateString1" :selected="selected" />
|
||||||
|
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'dispatchWork'" />
|
||||||
|
<menu-switch ref="menuSwitch" :selected="selected" :work="'dispatchWork'" />
|
||||||
|
<menu-signal ref="menuSignal" :selected="selected" :work="'dispatchWork'" />
|
||||||
|
<menu-section ref="menuSection" :selected="selected" :work="'dispatchWork'" />
|
||||||
|
<menu-train ref="menuTrain" :selected="selected" :work="'dispatchWork'" />
|
||||||
|
<menu-station ref="menuStation" :selected="selected" :work="'dispatchWork'" />
|
||||||
|
<passive-alarm ref="passiveAlarm" />
|
||||||
|
<passive-contorl ref="passiveControl" pop-class="chengdou-03__systerm" />
|
||||||
|
<passive-Timeout ref="passiveTimeout" />
|
||||||
|
<bottom-table ref="bottomTable" />
|
||||||
|
<div id="playBtn" />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { mapGetters, mapState } from 'vuex';
|
||||||
|
import { btts } from '@/utils/baidu_tts_cors';
|
||||||
|
import { getBaiduToken } from '@/api/voice';
|
||||||
|
import MenuSignal from './menuSignal';
|
||||||
|
import MenuStationStand from './menuStationStand';
|
||||||
|
import MenuSwitch from './menuSwitch';
|
||||||
|
import MenuSection from './menuSection';
|
||||||
|
import MenuTrain from './menuTrain';
|
||||||
|
import MenuStation from './menuStation';
|
||||||
|
import MenuBar from './dispatchWorkMenuBar';
|
||||||
|
import PassiveAlarm from './passiveDialog/alarm';
|
||||||
|
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||||
|
import PassiveTimeout from './passiveDialog/timeout';
|
||||||
|
import { timestampFormat } from '@/utils/date';
|
||||||
|
import BottomTable from './bottomTable';
|
||||||
|
import { deviceFaultType, deviceType} from '@/scripts/cmdPlugin/Config';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DispatchWorkMenu'
|
name: 'DispatchWorkMenu',
|
||||||
|
components: {
|
||||||
|
MenuBar,
|
||||||
|
MenuSignal,
|
||||||
|
MenuSwitch,
|
||||||
|
MenuSection,
|
||||||
|
MenuStationStand,
|
||||||
|
MenuStation,
|
||||||
|
MenuTrain,
|
||||||
|
PassiveAlarm,
|
||||||
|
PassiveContorl,
|
||||||
|
PassiveTimeout,
|
||||||
|
BottomTable
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
selected: {
|
||||||
|
type: Object,
|
||||||
|
default() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
showCentralizedStationCode: '',
|
||||||
|
tipContentList:[],
|
||||||
|
time: '00:00:00',
|
||||||
|
dateString: '',
|
||||||
|
dateString1: '',
|
||||||
|
audio: null,
|
||||||
|
voiceBroadcastToken: ''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('config', [
|
||||||
|
'width'
|
||||||
|
]),
|
||||||
|
...mapState('socket', [
|
||||||
|
'dispatchCommandMsg'
|
||||||
|
]),
|
||||||
|
hasCommandMsg() {
|
||||||
|
let status = false;
|
||||||
|
if (this.dispatchCommandMsg) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
},
|
||||||
|
isCtc() {
|
||||||
|
return this.$route.query.ctc;
|
||||||
|
},
|
||||||
|
isDispStation() {
|
||||||
|
return this.$route.query.dispatcherStation;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
isShowBar(val) {
|
||||||
|
val && this.$store.dispatch('config/updateMenuBar');
|
||||||
|
},
|
||||||
|
'$store.state.socket.simulationTimeSync': function (time) { // 仿真时间更新
|
||||||
|
this.$store.dispatch('training/setInitTime', time);
|
||||||
|
this.initDate(time);
|
||||||
|
},
|
||||||
|
'$store.state.socket.voiceBroadcastChange': function() {
|
||||||
|
this.$store.state.socket.voiceBroadcastMsgs.forEach(msgCode => {
|
||||||
|
const msg = this.$store.state.socket.railCtcRunplanInitMsg[msgCode];
|
||||||
|
const station = this.$store.getters['map/getDeviceByCode'](msg.arriveRunPlan.stationCode);
|
||||||
|
const text = station.name + msg.arriveRunPlan.tripNumber + '次发车预告';
|
||||||
|
this.speechSynthesis(text);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
'$store.state.socket.simulationAlarmInfo': function(val) {
|
||||||
|
(val || []).forEach(item => {
|
||||||
|
if (!item.confirmed) {
|
||||||
|
const device = this.$store.getters['map/getDeviceByCode'](item.deviceCode);
|
||||||
|
let fault = '';
|
||||||
|
deviceFaultType[device._type].forEach(deviceFault=>{
|
||||||
|
if (deviceFault.value == item.description) {
|
||||||
|
fault = deviceFault.label;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if ( item.description == 'FAULT_LOCK' ) { fault = '故障锁闭'; }
|
||||||
|
this.tipContentList.push({time:item.time, message:deviceType[device._type] + (device.name || device.groupNumber) + fault});
|
||||||
|
if (this.tipContentList.length > 15) {
|
||||||
|
this.tipContentList.shift();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
'$store.state.socket.simulationReset':function(val) {
|
||||||
|
this.tipContentList = [];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
console.log('---------------------dis');
|
||||||
|
this.group = this.$route.query.group;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$store.dispatch('config/updateMenuBar');
|
||||||
|
const _that = this;
|
||||||
|
window.onclick = function (e) {
|
||||||
|
if (!_that.$store.state.training.trainingStart) {
|
||||||
|
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
|
||||||
|
}
|
||||||
|
_that.$refs.menuStationStand.doClose();
|
||||||
|
_that.$refs.menuSwitch.doClose();
|
||||||
|
_that.$refs.menuSignal.doClose();
|
||||||
|
_that.$refs.menuSection.doClose();
|
||||||
|
_that.$refs.menuTrain.doClose();
|
||||||
|
_that.$refs.menuStation.doClose();
|
||||||
|
};
|
||||||
|
});
|
||||||
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
window.onclick = function (e) {};
|
||||||
|
this.$store.dispatch('map/setPictureDeviceMap', {});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async speechSynthesis(text) {
|
||||||
|
if (!this.voiceBroadcastToken) {
|
||||||
|
const resp = await getBaiduToken();
|
||||||
|
this.voiceBroadcastToken = resp.data;
|
||||||
|
}
|
||||||
|
const that = this;
|
||||||
|
// 调用语音合成接口
|
||||||
|
// 参数含义请参考 https://ai.baidu.com/docs#/TTS-API/41ac79a6
|
||||||
|
this.audio = btts({
|
||||||
|
tex: text,
|
||||||
|
tok: that.voiceBroadcastToken,
|
||||||
|
spd: 5,
|
||||||
|
pit: 5,
|
||||||
|
vol: 15,
|
||||||
|
per: 4
|
||||||
|
}, {
|
||||||
|
volume: 0.3,
|
||||||
|
autoDestory: true,
|
||||||
|
timeout: 10000,
|
||||||
|
hidden: false,
|
||||||
|
onInit: function (htmlAudioElement) {},
|
||||||
|
onSuccess: function(htmlAudioElement) {
|
||||||
|
this.audio = htmlAudioElement;
|
||||||
|
this.audio.play();
|
||||||
|
// playBtn.innerText = '播放';
|
||||||
|
},
|
||||||
|
onError: function(text) { that.$message.error(text); that.voiceBroadcastToken = ''; },
|
||||||
|
onTimeout: function () { that.$message.error('合成语音超时!'); }
|
||||||
|
});
|
||||||
|
},
|
||||||
|
zhanjiantouming() {
|
||||||
|
this.$store.dispatch('map/setPictureDeviceMap', {});
|
||||||
|
this.showCentralizedStationCode = this.$store.state.map.showCentralizedStationCode || this.showCentralizedStationCode;
|
||||||
|
const mapDevice = this.$store.state.map.mapDevice;
|
||||||
|
const list = [];
|
||||||
|
for (const key in mapDevice) {
|
||||||
|
list.push(mapDevice[key]);
|
||||||
|
}
|
||||||
|
if (this.$store.state.map.map && this.$store.state.map.map.pictureList) {
|
||||||
|
const picture = this.$store.state.map.map.pictureList.find(picture => picture.stationCode === this.showCentralizedStationCode && picture.type === 'lucency');
|
||||||
|
if (picture) {
|
||||||
|
this.$jlmap.updateShowStation(list, '');
|
||||||
|
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||||
|
const deviceList = [];
|
||||||
|
const mapDevice = this.$store.state.map.mapDevice;
|
||||||
|
for (const deviceCode in mapDevice) {
|
||||||
|
deviceList.push(deviceCode);
|
||||||
|
}
|
||||||
|
this.$jlmap.updatePicture(deviceList);
|
||||||
|
this.$jlmap.updateTransform(picture.scaling, picture.origin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
danzhanxianshi() {
|
||||||
|
this.$store.dispatch('map/setPictureDeviceMap', {});
|
||||||
|
const mapDevice = this.$store.state.map.mapDevice;
|
||||||
|
const map = this.$store.state.map.map;
|
||||||
|
const list = [];
|
||||||
|
for (const key in mapDevice) {
|
||||||
|
list.push(mapDevice[key]);
|
||||||
|
}
|
||||||
|
if (this.$store.state.map.map && this.$store.state.map.map.pictureList) {
|
||||||
|
const picture = this.$store.state.map.map.pictureList.find(picture => picture.stationCode === this.showCentralizedStationCode && picture.type === 'chainStation');
|
||||||
|
if (picture) {
|
||||||
|
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||||
|
const deviceList = [];
|
||||||
|
const mapDevice = this.$store.state.map.mapDevice;
|
||||||
|
for (const deviceCode in mapDevice) {
|
||||||
|
deviceList.push(deviceCode);
|
||||||
|
}
|
||||||
|
this.$jlmap.updatePicture(deviceList);
|
||||||
|
this.$jlmap.updateTransform(picture.scaling, picture.origin);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$jlmap.updateShowStation(list, this.$store.state.map.showCentralizedStationCode || this.showCentralizedStationCode);
|
||||||
|
this.$jlmap.setCenter(this.$store.state.map.showCentralizedStationCode || this.showCentralizedStationCode);
|
||||||
|
this.$jlmap.updateTransform(map.scaling, map.origin);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
initDate(date) {
|
||||||
|
this.time = timestampFormat('HH:mm:ss', date);
|
||||||
|
this.dateString = timestampFormat('YYYYMMDD', date);
|
||||||
|
this.dateString1 = timestampFormat('YYYY年MM月DD日', date);
|
||||||
|
},
|
||||||
|
|
||||||
|
noticeInfo() {
|
||||||
|
this.$refs.noticeInfo.doShow();
|
||||||
|
},
|
||||||
|
closeStageFlash() {
|
||||||
|
const sendRunplan = document.getElementById('stageRunplanOut').className;
|
||||||
|
document.getElementById('stageRunplanOut').className = sendRunplan.replace('active', '');
|
||||||
|
const stationCode = this.$store.state.training.roleDeviceCode;
|
||||||
|
this.$store.dispatch('socket/deleteRailwaySimulationRunplan', stationCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
<style scoped>
|
.redFlick {
|
||||||
|
background: red;
|
||||||
|
}
|
||||||
|
@keyframes fade {
|
||||||
|
from {
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.flicker {
|
||||||
|
animation: fade 600ms infinite;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
.menus .pop-menu {
|
||||||
|
background: #F0F0F0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menus .pop-menu span {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menus .pop-menu .is-disabled span {
|
||||||
|
color: #B4B3B8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm {
|
||||||
|
overflow: hidden !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog {
|
||||||
|
background: #0055E8;
|
||||||
|
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||||
|
border: 1px solid rgb(69, 134, 247);
|
||||||
|
border-radius: 6px;
|
||||||
|
font-size: 13px !important;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog span {
|
||||||
|
font-size: 13px !important;
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog span .el-icon-arrow-up{
|
||||||
|
line-height: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__footer {
|
||||||
|
background: #ECE9D8;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__body {
|
||||||
|
padding: 20px;
|
||||||
|
margin: 0px 3px 3px;
|
||||||
|
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||||
|
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||||
|
background: #ECE9D8;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__title {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #fff;
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
left: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn {
|
||||||
|
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||||
|
border: 1px solid #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
top: 6px;
|
||||||
|
right: 3px;
|
||||||
|
line-height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-button {
|
||||||
|
height: 24px;
|
||||||
|
line-height: 22px;
|
||||||
|
padding: 0px;
|
||||||
|
width: 80px;
|
||||||
|
border: 2px outset #E2E2E2;
|
||||||
|
border-radius: 4px !important;
|
||||||
|
color: #000;
|
||||||
|
background: #F0F0F0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .expand {
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-button:focus span {
|
||||||
|
border: 1px dashed gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-button:active {
|
||||||
|
border: 2px inset #E2E2E2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-button:disabled {
|
||||||
|
border: 2px inset #E2E2E2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-button:disabled span {
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-input {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
height: 22px !important;
|
||||||
|
line-height: 22px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-input__inner {
|
||||||
|
color: #000;
|
||||||
|
background: #fff !important;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: 22px !important;
|
||||||
|
line-height: 22px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-textarea {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||||
|
color: #000;
|
||||||
|
background: #fff !important;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table--border th.gutter {
|
||||||
|
background: #EBEADB !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table .cell {
|
||||||
|
height: 22px;
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table th.is-leaf {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
border-right: 1px solid #BDBDBD !important;
|
||||||
|
border-bottom: 1px solid #BDBDBD !important;
|
||||||
|
color: #000 !important;
|
||||||
|
height: 20px !important;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table tr td {
|
||||||
|
height: 20px !important;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table .el-table__empty-text {
|
||||||
|
top: 15px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .current-row>td {
|
||||||
|
background: #3399FF !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox__inner {
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox__label {
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||||
|
background: #E6E6E6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||||
|
color: #C5C9CC !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||||
|
background: #fff !important;
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
|
||||||
|
position: absolute;
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
content: "";
|
||||||
|
border: 1px solid #000;
|
||||||
|
border-left: 0;
|
||||||
|
border-top: 0;
|
||||||
|
height: 7px;
|
||||||
|
left: 4px;
|
||||||
|
top: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio__inner {
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio__label {
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||||
|
background: #fff !important;
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
|
||||||
|
width: 4px;
|
||||||
|
height: 4px;
|
||||||
|
border-radius: 100%;
|
||||||
|
background-color: #000 !important;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||||
|
background: #E6E6E6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||||
|
color: #C5C9CC !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .base-label {
|
||||||
|
background: rgba(0, 0, 0, x);
|
||||||
|
position: relative;
|
||||||
|
left: -15px;
|
||||||
|
top: -18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-form-item label {
|
||||||
|
font-weight: normal !important;
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
.fuzhou-01__systerm .el-dialog {
|
||||||
|
background: rgba(100, 100, 100, 0.3);
|
||||||
|
border: 2px solid rgb(144, 144, 144, 0.8);
|
||||||
|
border-radius: 6px;
|
||||||
|
color: #000;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__header {
|
||||||
|
padding: 5px;
|
||||||
|
height: 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__footer {
|
||||||
|
background: #F0F0F0;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__body {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right: 5px;
|
||||||
|
margin: 0px 5px 5px;
|
||||||
|
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||||
|
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||||
|
background: #F0F0F0;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__title {
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
color: #000;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 0px 2px;
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__title::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
-webkit-filter: blur(10px);
|
||||||
|
filter: blur(10px);
|
||||||
|
height: 20px;
|
||||||
|
width: -webkit-fill-available;
|
||||||
|
background: rgba(128, 128, 128, 0.8);
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__headerbtn {
|
||||||
|
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||||
|
border: 1px solid #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
top: 4px;
|
||||||
|
right: 5px;
|
||||||
|
line-height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-button {
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
padding: 0px;
|
||||||
|
width: 80px;
|
||||||
|
border: 2px outset #E2E2E2;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
color: #000;
|
||||||
|
background: #F0F0F0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-button:focus span {
|
||||||
|
border: 1px dashed gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-button:active {
|
||||||
|
border: 2px inset #E2E2E2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-button:disabled {
|
||||||
|
border: 2px inset #E2E2E2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-button:disabled span {
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-input {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-input .el-input__inner {
|
||||||
|
color: #000;
|
||||||
|
background: #fff !important;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-textarea {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||||
|
color: #000;
|
||||||
|
background: #fff !important;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-table {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-table .cell {
|
||||||
|
line-height: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-table th.is-leaf {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
border-right: 1px solid #BDBDBD !important;
|
||||||
|
border-bottom: 1px solid #BDBDBD !important;
|
||||||
|
color: #000 !important;
|
||||||
|
height: 20px !important;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-table tr td {
|
||||||
|
height: 20px !important;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-table .el-table__empty-text {
|
||||||
|
top: 15px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .current-row>td {
|
||||||
|
background: #3399FF !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox__inner {
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox__label {
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||||
|
background: #E6E6E6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||||
|
color: #C5C9CC !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||||
|
background: #fff !important;
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
|
||||||
|
position: absolute;
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
content: "";
|
||||||
|
border: 1px solid #000;
|
||||||
|
border-left: 0;
|
||||||
|
border-top: 0;
|
||||||
|
height: 7px;
|
||||||
|
left: 4px;
|
||||||
|
top: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio__inner {
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio__label {
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||||
|
background: #fff !important;
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
|
||||||
|
width: 4px;
|
||||||
|
height: 4px;
|
||||||
|
border-radius: 100%;
|
||||||
|
background-color: #000 !important;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||||
|
background: #E6E6E6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||||
|
color: #C5C9CC !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .base-label {
|
||||||
|
background: rgb(240 240 240);
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-form-item label {
|
||||||
|
font-weight: normal !important;
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .context {
|
||||||
|
height: 100px;
|
||||||
|
border: 2px inset #E2E2E2;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .table {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .notice {
|
||||||
|
margin-left: 62px;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .button-group {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
.img-box{
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
border: 2px #ccc outset;
|
||||||
|
margin-top: 0;
|
||||||
|
background: #fff;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.img-box:active{
|
||||||
|
border: 2px #ccc inset;
|
||||||
|
}
|
||||||
|
.img-box:hover{
|
||||||
|
border: 2px #ccc inset;
|
||||||
|
}
|
||||||
|
#stageRunplanOut{
|
||||||
|
width: 100px;height: 25px;line-height: 21px;text-align: center;margin-left: 100px;
|
||||||
|
}
|
||||||
|
#stageRunplanOut.active{
|
||||||
|
animation:changeColor 1s infinite;
|
||||||
|
-moz-animation:changeColor 1s infinite; /* Firefox */
|
||||||
|
-webkit-animation:changeColor 1s infinite; /* Safari and Chrome */
|
||||||
|
}
|
||||||
|
@keyframes changeColor
|
||||||
|
{
|
||||||
|
0% {background:#f0f0f0;}
|
||||||
|
50% {background:#ff1900;}
|
||||||
|
100% {background:#f0f0f0;}
|
||||||
|
}
|
||||||
|
@-moz-keyframes changeColor /* Firefox */
|
||||||
|
{
|
||||||
|
0% {background:#f0f0f0;}
|
||||||
|
50% {background:#ff1900;}
|
||||||
|
100% {background:#f0f0f0;}
|
||||||
|
}
|
||||||
|
@-webkit-keyframes changeColor /* Safari and Chrome */
|
||||||
|
{
|
||||||
|
0% {background:#f0f0f0;}
|
||||||
|
50% {background:#ff1900;}
|
||||||
|
100% {background:#f0f0f0;}
|
||||||
|
}
|
||||||
|
.simulationAlarmInfo{
|
||||||
|
position: absolute;
|
||||||
|
width: 320px;
|
||||||
|
background: #cb204d;
|
||||||
|
height: 100px;
|
||||||
|
z-index: 2;
|
||||||
|
top: 0px;
|
||||||
|
left: 0px;
|
||||||
|
padding: 5px;
|
||||||
|
overflow:auto;
|
||||||
|
}
|
||||||
|
.eachTipContent{margin-top:5px;font-size:14px;}
|
||||||
|
|
||||||
|
.simulationAlarmInfo::-webkit-scrollbar {
|
||||||
|
width: 5px;
|
||||||
|
}
|
||||||
|
.simulationAlarmInfo::-webkit-scrollbar-thumb {
|
||||||
|
border-radius: 10px;
|
||||||
|
background: #c3c3c3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.simulationAlarmInfo::-webkit-scrollbar-track {
|
||||||
|
border-radius: 0;
|
||||||
|
background: #cb204d;
|
||||||
|
}
|
||||||
|
.simulationTellInfo{
|
||||||
|
position: absolute;
|
||||||
|
width: 328px;
|
||||||
|
top: 0px;
|
||||||
|
right: 0px;
|
||||||
|
padding: 0px 0px 0px 0px;
|
||||||
|
overflow: auto;
|
||||||
|
background: #c3c3c3;
|
||||||
|
z-index: 2;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 0;
|
||||||
|
}
|
||||||
|
.simulationDeviceInfo{
|
||||||
|
position: absolute;
|
||||||
|
width: 328px;
|
||||||
|
height: 100px;
|
||||||
|
top: 33px;
|
||||||
|
right:0px;
|
||||||
|
padding: 5px;
|
||||||
|
overflow:auto;
|
||||||
|
background: #c3c3c3;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
.simulationTellInfoTop{
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 0;
|
||||||
|
}
|
||||||
|
.simulationTellInfoTopEach{
|
||||||
|
padding: 6px 11px;
|
||||||
|
display: inline-block;
|
||||||
|
background: #dedede;
|
||||||
|
font-size: 15px;
|
||||||
|
border-top:2px #9c868b solid;
|
||||||
|
border-left:2px #9c868b solid;
|
||||||
|
border-right:2px #ecfbe2 solid ;
|
||||||
|
border-bottom:2px #ecfbe2 solid;
|
||||||
|
|
||||||
|
}
|
||||||
|
.backRed{background: #ff0000;}
|
||||||
|
.backYellow{background: #ffff00;}
|
||||||
|
.backGreen{background: #00ff00;}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,57 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="menuBarChengdu3">
|
<div id="menuBarDatie">
|
||||||
<menu-bar ref="menuBar" :menu-normal="menuNormal" style="width:100%;" />
|
<menu-bar ref="menuBar" :menu-normal="menuNormal" style="width:100%;" />
|
||||||
<station-control-convert ref="stationControlConvert" />
|
|
||||||
<password-box ref="passwordBox" @setLoginResult="getLoginResult" />
|
|
||||||
<view-name ref="viewName" />
|
|
||||||
<train-add ref="trainAdd" />
|
|
||||||
<train-transtalet ref="trainTranstalet" />
|
|
||||||
<train-delete ref="trainDelete" />
|
|
||||||
<manage-user ref="manageUser" />
|
|
||||||
<help-about ref="helpAbout" />
|
|
||||||
<set-limit-speed ref="setLimitSpeed" />
|
|
||||||
<train-fixed-path-pane ref="trainFixedPathPane" />
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex';
|
|
||||||
import MenuBar from '@/jmapNew/theme/components/menus/menuBarNew';
|
import MenuBar from '@/jmapNew/theme/components/menus/menuBarNew';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
|
||||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
|
||||||
import StationControlConvert from './menuDialog/stationControlConvert';
|
|
||||||
import TrainAdd from './menuDialog/trainAdd';
|
|
||||||
import TrainTranstalet from './menuDialog/trainTranstalet';
|
|
||||||
import TrainDelete from './menuDialog/trainDelete';
|
|
||||||
import PasswordBox from './menuDialog/passwordBox';
|
|
||||||
import ViewName from './menuDialog/viewName';
|
|
||||||
import ManageUser from './menuDialog/manageUser';
|
|
||||||
import HelpAbout from './menuDialog/helpAbout';
|
|
||||||
import SetLimitSpeed from './menuDialog/setLimitSpeed';
|
|
||||||
import TrainFixedPathPane from './menuDialog/trainFixedPathPane';
|
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DispatchWorkMenuBar',
|
name: 'DispatchWorkMenuBar',
|
||||||
components: {
|
components: {
|
||||||
MenuBar,
|
MenuBar
|
||||||
StationControlConvert,
|
|
||||||
PasswordBox,
|
|
||||||
ViewName,
|
|
||||||
TrainAdd,
|
|
||||||
TrainTranstalet,
|
|
||||||
TrainDelete,
|
|
||||||
ManageUser,
|
|
||||||
HelpAbout,
|
|
||||||
SetLimitSpeed,
|
|
||||||
TrainFixedPathPane
|
|
||||||
},
|
|
||||||
props: {
|
|
||||||
dateString: {
|
|
||||||
type: String,
|
|
||||||
default: () => {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -69,116 +27,19 @@ export default {
|
|||||||
]
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
created() {},
|
||||||
...mapGetters('map', [
|
|
||||||
'stationList'
|
|
||||||
])
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
initStationList() {
|
|
||||||
const list = [];
|
|
||||||
this.stationList.forEach(station => {
|
|
||||||
if (station.visible) {
|
|
||||||
const node = {
|
|
||||||
title: station.name,
|
|
||||||
operate: station.code,
|
|
||||||
show: true,
|
|
||||||
click: this.mapLocation,
|
|
||||||
code: station.code
|
|
||||||
};
|
|
||||||
|
|
||||||
list.push(node);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return list;
|
|
||||||
},
|
|
||||||
// 设置地图定位
|
|
||||||
mapLocation(code) {
|
|
||||||
if (code) {
|
|
||||||
this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: code });
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 关于
|
|
||||||
about(order) {
|
|
||||||
const operate = {
|
|
||||||
operation: order.operate
|
|
||||||
};
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
this.$refs.helpAbout.doShow(operate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
getLoginResult(operate) {
|
|
||||||
/** 密码校验*/
|
|
||||||
if (operate.operation == OperationEvent.StationControl.forcedStationControl.passwordConfirm.operation) {
|
|
||||||
if (operate.success) {
|
|
||||||
/** 校验成功*/
|
|
||||||
this.$refs.stationControlConvert.doShow({ operation: OperationEvent.StationControl.forcedStationControl.mbar.operation });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
setLimitSpeed(order) {
|
|
||||||
const operate = {
|
|
||||||
operation: order.operate
|
|
||||||
};
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
this.$refs.setLimitSpeed.doShow(operate, true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
blankClickClose() {
|
blankClickClose() {
|
||||||
this.$refs.menuBar.doClose();
|
this.$refs.menuBar.doClose();
|
||||||
},
|
|
||||||
cancleLimitSpeed(order) {
|
|
||||||
const operate = {
|
|
||||||
operation: order.operate
|
|
||||||
};
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
this.$refs.setLimitSpeed.doShow(operate, false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
updateTrainFixedPath() {
|
|
||||||
const stationCode = this.$store.state.training.roleDeviceCode;
|
|
||||||
commitOperate(menuOperate.CTC.updateTrainFixedPath2Station, { stationCode: stationCode }, 3).then(({valid, response}) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$nextTick(function () {
|
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
trainFixedPathPane() {
|
|
||||||
const stationCode = this.$store.state.training.roleDeviceCode;
|
|
||||||
this.$refs.trainFixedPathPane.doShow(stationCode);
|
|
||||||
},
|
|
||||||
bottomTableShowOrHidden() {
|
|
||||||
EventBus.$emit('bottomTableShowOrHidden');
|
|
||||||
},
|
|
||||||
undeveloped() {
|
|
||||||
this.$refs.menuBar.doClose();
|
|
||||||
this.$alert('实现中......', '提示', {
|
|
||||||
confirmButtonText: '确定',
|
|
||||||
callback: action => {
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style rel="stylesheet/scss" lang="scss">
|
<style rel="stylesheet/scss" lang="scss">
|
||||||
#menuBarChengdu3{
|
#menuBarDatie{
|
||||||
line-height:30px;
|
line-height:30px;
|
||||||
}
|
}
|
||||||
#menuBarChengdu3 #menuBar .menu-li-block .label{
|
#menuBarDatie #menuBar .menu-li-block .label{
|
||||||
padding: 0px 30px 0px 5px !important;
|
padding: 0px 30px 0px 5px !important;
|
||||||
}
|
}
|
||||||
.img-box{
|
.img-box{
|
||||||
|
868
src/jmapNew/theme/datie_02/menus/localWorkMenu.vue
Normal file
868
src/jmapNew/theme/datie_02/menus/localWorkMenu.vue
Normal file
@ -0,0 +1,868 @@
|
|||||||
|
<template>
|
||||||
|
<div class="menus" :style="{width: width + 'px'}">
|
||||||
|
<div id="tipInfoBox" style="width: 1560px;position: fixed;height: 30px;background: #808080;z-index: 9;bottom: 0;left: 0;display: flex;">
|
||||||
|
<div style="width: 60%;height: 30px;line-height: 30px;text-align: center;">提示信息窗</div>
|
||||||
|
<div style="width: 40%;height: 30px;line-height: 30px;text-align: center;border-left: 2px #ccc solid;">{{ '操控A:主机' + ' ' + dateString + ' ' + time }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="simulationAlarmInfo">
|
||||||
|
<div v-for="(tipContent,index) in tipContentList" :key="index" class="eachTipContent">{{ tipContent.time+": "+tipContent.message }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="simulationTellInfo">
|
||||||
|
<div class="simulationTellInfoTop">
|
||||||
|
<div class="simulationTellInfoTopEach backGreen">联锁I</div>
|
||||||
|
<div class="simulationTellInfoTopEach backRed">联锁II</div>
|
||||||
|
<div class="simulationTellInfoTopEach backGreen">操作A</div>
|
||||||
|
<div class="simulationTellInfoTopEach backYellow">操作B</div>
|
||||||
|
<div class="simulationTellInfoTopEach backGreen">维修机</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="simulationDeviceInfo" />
|
||||||
|
<menu-button ref="menuButton" :selected="selected" />
|
||||||
|
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'localWork'" />
|
||||||
|
<menu-switch ref="menuSwitch" :selected="selected" :work="'localWork'" />
|
||||||
|
<menu-signal ref="menuSignal" :selected="selected" :work="'localWork'" />
|
||||||
|
<menu-section ref="menuSection" :selected="selected" :work="'localWork'" />
|
||||||
|
<menu-train ref="menuTrain" :selected="selected" :work="'localWork'" />
|
||||||
|
<menu-station ref="menuStation" :selected="selected" :work="'localWork'" />
|
||||||
|
<passive-alarm ref="passiveAlarm" />
|
||||||
|
<passive-contorl ref="passiveControl" pop-class="chengdou-03__systerm" />
|
||||||
|
<passive-Timeout ref="passiveTimeout" />
|
||||||
|
<bottom-table ref="bottomTable" />
|
||||||
|
<div id="playBtn" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { mapGetters, mapState } from 'vuex';
|
||||||
|
import { btts } from '@/utils/baidu_tts_cors';
|
||||||
|
import { getBaiduToken } from '@/api/voice';
|
||||||
|
import MenuSignal from './menuSignal';
|
||||||
|
import MenuButton from './menuButton';
|
||||||
|
import MenuStationStand from './menuStationStand';
|
||||||
|
import MenuSwitch from './menuSwitch';
|
||||||
|
import MenuSection from './menuSection';
|
||||||
|
import MenuTrain from './menuTrain';
|
||||||
|
import MenuStation from './menuStation';
|
||||||
|
import PassiveAlarm from './passiveDialog/alarm';
|
||||||
|
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||||
|
import PassiveTimeout from './passiveDialog/timeout';
|
||||||
|
import { timestampFormat } from '@/utils/date';
|
||||||
|
import BottomTable from './bottomTable';
|
||||||
|
import { deviceFaultType, deviceType} from '@/scripts/cmdPlugin/Config';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'LocalWorkMenu',
|
||||||
|
components: {
|
||||||
|
MenuButton,
|
||||||
|
MenuSignal,
|
||||||
|
MenuSwitch,
|
||||||
|
MenuSection,
|
||||||
|
MenuStationStand,
|
||||||
|
MenuStation,
|
||||||
|
MenuTrain,
|
||||||
|
PassiveAlarm,
|
||||||
|
PassiveContorl,
|
||||||
|
PassiveTimeout,
|
||||||
|
BottomTable
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
selected: {
|
||||||
|
type: Object,
|
||||||
|
default() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
showCentralizedStationCode: '',
|
||||||
|
tipContentList:[],
|
||||||
|
time: '00:00:00',
|
||||||
|
dateString: '',
|
||||||
|
audio: null,
|
||||||
|
voiceBroadcastToken: ''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('config', [
|
||||||
|
'width'
|
||||||
|
]),
|
||||||
|
...mapState('socket', [
|
||||||
|
'dispatchCommandMsg'
|
||||||
|
]),
|
||||||
|
hasCommandMsg() {
|
||||||
|
let status = false;
|
||||||
|
if (this.dispatchCommandMsg) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
'$store.state.socket.simulationTimeSync': function (time) { // 仿真时间更新
|
||||||
|
this.$store.dispatch('training/setInitTime', time);
|
||||||
|
this.initDate(time);
|
||||||
|
},
|
||||||
|
'$store.state.socket.voiceBroadcastChange': function() {
|
||||||
|
this.$store.state.socket.voiceBroadcastMsgs.forEach(msgCode => {
|
||||||
|
const msg = this.$store.state.socket.railCtcRunplanInitMsg[msgCode];
|
||||||
|
const station = this.$store.getters['map/getDeviceByCode'](msg.arriveRunPlan.stationCode);
|
||||||
|
const text = station.name + msg.arriveRunPlan.tripNumber + '次发车预告';
|
||||||
|
this.speechSynthesis(text);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
'$store.state.socket.simulationAlarmInfo': function(val) {
|
||||||
|
(val || []).forEach(item => {
|
||||||
|
if (!item.confirmed) {
|
||||||
|
const device = this.$store.getters['map/getDeviceByCode'](item.deviceCode);
|
||||||
|
let fault = '';
|
||||||
|
deviceFaultType[device._type].forEach(deviceFault=>{
|
||||||
|
if (deviceFault.value == item.description) {
|
||||||
|
fault = deviceFault.label;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if ( item.description == 'FAULT_LOCK' ) { fault = '故障锁闭'; }
|
||||||
|
this.tipContentList.push({time:item.time, message:deviceType[device._type] + (device.name || device.groupNumber) + fault});
|
||||||
|
if (this.tipContentList.length > 15) {
|
||||||
|
this.tipContentList.shift();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
'$store.state.socket.simulationReset':function(val) {
|
||||||
|
this.tipContentList = [];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.group = this.$route.query.group;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
// this.$store.dispatch('config/updateMenuBar');
|
||||||
|
const _that = this;
|
||||||
|
window.onclick = function (e) {
|
||||||
|
_that.$refs.menuStationStand.doClose();
|
||||||
|
_that.$refs.menuSwitch.doClose();
|
||||||
|
_that.$refs.menuSignal.doClose();
|
||||||
|
_that.$refs.menuSection.doClose();
|
||||||
|
_that.$refs.menuTrain.doClose();
|
||||||
|
_that.$refs.menuStation.doClose();
|
||||||
|
};
|
||||||
|
});
|
||||||
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
window.onclick = function (e) {};
|
||||||
|
this.$store.dispatch('map/setPictureDeviceMap', {});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async speechSynthesis(text) {
|
||||||
|
if (!this.voiceBroadcastToken) {
|
||||||
|
const resp = await getBaiduToken();
|
||||||
|
this.voiceBroadcastToken = resp.data;
|
||||||
|
}
|
||||||
|
const that = this;
|
||||||
|
// 调用语音合成接口
|
||||||
|
// 参数含义请参考 https://ai.baidu.com/docs#/TTS-API/41ac79a6
|
||||||
|
this.audio = btts({
|
||||||
|
tex: text,
|
||||||
|
tok: that.voiceBroadcastToken,
|
||||||
|
spd: 5,
|
||||||
|
pit: 5,
|
||||||
|
vol: 15,
|
||||||
|
per: 4
|
||||||
|
}, {
|
||||||
|
volume: 0.3,
|
||||||
|
autoDestory: true,
|
||||||
|
timeout: 10000,
|
||||||
|
hidden: false,
|
||||||
|
onInit: function (htmlAudioElement) {},
|
||||||
|
onSuccess: function(htmlAudioElement) {
|
||||||
|
this.audio = htmlAudioElement;
|
||||||
|
this.audio.play();
|
||||||
|
// playBtn.innerText = '播放';
|
||||||
|
},
|
||||||
|
onError: function(text) { that.$message.error(text); that.voiceBroadcastToken = ''; },
|
||||||
|
onTimeout: function () { that.$message.error('合成语音超时!'); }
|
||||||
|
});
|
||||||
|
},
|
||||||
|
showCmdManage() {
|
||||||
|
if (this.hasCommandMsg) {
|
||||||
|
this.$refs.signedCmd.doShow();
|
||||||
|
} else {
|
||||||
|
this.$refs.cmdManage.doShow();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
zhanjiantouming() {
|
||||||
|
this.$store.dispatch('map/setPictureDeviceMap', {});
|
||||||
|
this.showCentralizedStationCode = this.$store.state.map.showCentralizedStationCode || this.showCentralizedStationCode;
|
||||||
|
const mapDevice = this.$store.state.map.mapDevice;
|
||||||
|
const list = [];
|
||||||
|
for (const key in mapDevice) {
|
||||||
|
list.push(mapDevice[key]);
|
||||||
|
}
|
||||||
|
if (this.$store.state.map.map && this.$store.state.map.map.pictureList) {
|
||||||
|
const picture = this.$store.state.map.map.pictureList.find(picture => picture.stationCode === this.showCentralizedStationCode && picture.type === 'lucency');
|
||||||
|
if (picture) {
|
||||||
|
this.$jlmap.updateShowStation(list, '');
|
||||||
|
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||||
|
const deviceList = [];
|
||||||
|
const mapDevice = this.$store.state.map.mapDevice;
|
||||||
|
for (const deviceCode in mapDevice) {
|
||||||
|
deviceList.push(deviceCode);
|
||||||
|
}
|
||||||
|
this.$jlmap.updatePicture(deviceList);
|
||||||
|
this.$jlmap.updateTransform(picture.scaling, picture.origin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
danzhanxianshi() {
|
||||||
|
this.$store.dispatch('map/setPictureDeviceMap', {});
|
||||||
|
const mapDevice = this.$store.state.map.mapDevice;
|
||||||
|
const map = this.$store.state.map.map;
|
||||||
|
const list = [];
|
||||||
|
for (const key in mapDevice) {
|
||||||
|
list.push(mapDevice[key]);
|
||||||
|
}
|
||||||
|
if (this.$store.state.map.map && this.$store.state.map.map.pictureList) {
|
||||||
|
const picture = this.$store.state.map.map.pictureList.find(picture => picture.stationCode === this.showCentralizedStationCode && picture.type === 'chainStation');
|
||||||
|
if (picture) {
|
||||||
|
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||||
|
const deviceList = [];
|
||||||
|
const mapDevice = this.$store.state.map.mapDevice;
|
||||||
|
for (const deviceCode in mapDevice) {
|
||||||
|
deviceList.push(deviceCode);
|
||||||
|
}
|
||||||
|
this.$jlmap.updatePicture(deviceList);
|
||||||
|
this.$jlmap.updateTransform(picture.scaling, picture.origin);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$jlmap.updateShowStation(list, this.$store.state.map.showCentralizedStationCode || this.showCentralizedStationCode);
|
||||||
|
this.$jlmap.setCenter(this.$store.state.map.showCentralizedStationCode || this.showCentralizedStationCode);
|
||||||
|
this.$jlmap.updateTransform(map.scaling, map.origin);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
initDate(date) {
|
||||||
|
this.time = timestampFormat('HH:mm:ss', date);
|
||||||
|
this.dateString = timestampFormat('YYYYMMDD', date);
|
||||||
|
},
|
||||||
|
handleRunplan() {
|
||||||
|
this.$refs.runplanPane.doShow();
|
||||||
|
},
|
||||||
|
noticeInfo() {
|
||||||
|
this.$refs.noticeInfo.doShow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.redFlick {
|
||||||
|
background: red;
|
||||||
|
}
|
||||||
|
@keyframes fade {
|
||||||
|
from {
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.flicker {
|
||||||
|
animation: fade 600ms infinite;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
.menus .pop-menu {
|
||||||
|
background: #F0F0F0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menus .pop-menu span {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menus .pop-menu .is-disabled span {
|
||||||
|
color: #B4B3B8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm {
|
||||||
|
overflow: hidden !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog {
|
||||||
|
background: #0055E8;
|
||||||
|
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||||
|
border: 1px solid rgb(69, 134, 247);
|
||||||
|
border-radius: 6px;
|
||||||
|
font-size: 13px !important;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog span {
|
||||||
|
font-size: 13px !important;
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog span .el-icon-arrow-up{
|
||||||
|
line-height: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__footer {
|
||||||
|
background: #ECE9D8;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__body {
|
||||||
|
padding: 20px;
|
||||||
|
margin: 0px 3px 3px;
|
||||||
|
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||||
|
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||||
|
background: #ECE9D8;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__title {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #fff;
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
left: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn {
|
||||||
|
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||||
|
border: 1px solid #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
top: 6px;
|
||||||
|
right: 3px;
|
||||||
|
line-height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-button {
|
||||||
|
height: 24px;
|
||||||
|
line-height: 22px;
|
||||||
|
padding: 0px;
|
||||||
|
width: 80px;
|
||||||
|
border: 2px outset #E2E2E2;
|
||||||
|
border-radius: 4px !important;
|
||||||
|
color: #000;
|
||||||
|
background: #F0F0F0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .expand {
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-button:focus span {
|
||||||
|
border: 1px dashed gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-button:active {
|
||||||
|
border: 2px inset #E2E2E2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-button:disabled {
|
||||||
|
border: 2px inset #E2E2E2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-button:disabled span {
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-input {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
height: 22px !important;
|
||||||
|
line-height: 22px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-input__inner {
|
||||||
|
color: #000;
|
||||||
|
background: #fff !important;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: 22px !important;
|
||||||
|
line-height: 22px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-textarea {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||||
|
color: #000;
|
||||||
|
background: #fff !important;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table--border th.gutter {
|
||||||
|
background: #EBEADB !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table .cell {
|
||||||
|
height: 22px;
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table th.is-leaf {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
border-right: 1px solid #BDBDBD !important;
|
||||||
|
border-bottom: 1px solid #BDBDBD !important;
|
||||||
|
color: #000 !important;
|
||||||
|
height: 20px !important;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table tr td {
|
||||||
|
height: 20px !important;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-table .el-table__empty-text {
|
||||||
|
top: 15px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .current-row>td {
|
||||||
|
background: #3399FF !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox__inner {
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox__label {
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||||
|
background: #E6E6E6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||||
|
color: #C5C9CC !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||||
|
background: #fff !important;
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
|
||||||
|
position: absolute;
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
content: "";
|
||||||
|
border: 1px solid #000;
|
||||||
|
border-left: 0;
|
||||||
|
border-top: 0;
|
||||||
|
height: 7px;
|
||||||
|
left: 4px;
|
||||||
|
top: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio__inner {
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio__label {
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||||
|
background: #fff !important;
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
|
||||||
|
width: 4px;
|
||||||
|
height: 4px;
|
||||||
|
border-radius: 100%;
|
||||||
|
background-color: #000 !important;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||||
|
background: #E6E6E6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||||
|
color: #C5C9CC !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .base-label {
|
||||||
|
background: rgba(0, 0, 0, x);
|
||||||
|
position: relative;
|
||||||
|
left: -15px;
|
||||||
|
top: -18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chengdou-03__systerm .el-dialog .el-form-item label {
|
||||||
|
font-weight: normal !important;
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
.fuzhou-01__systerm .el-dialog {
|
||||||
|
background: rgba(100, 100, 100, 0.3);
|
||||||
|
border: 2px solid rgb(144, 144, 144, 0.8);
|
||||||
|
border-radius: 6px;
|
||||||
|
color: #000;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__header {
|
||||||
|
padding: 5px;
|
||||||
|
height: 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__footer {
|
||||||
|
background: #F0F0F0;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__body {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right: 5px;
|
||||||
|
margin: 0px 5px 5px;
|
||||||
|
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||||
|
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||||
|
background: #F0F0F0;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__title {
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
color: #000;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 0px 2px;
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__title::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
-webkit-filter: blur(10px);
|
||||||
|
filter: blur(10px);
|
||||||
|
height: 20px;
|
||||||
|
width: -webkit-fill-available;
|
||||||
|
background: rgba(128, 128, 128, 0.8);
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__headerbtn {
|
||||||
|
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||||
|
border: 1px solid #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
top: 4px;
|
||||||
|
right: 5px;
|
||||||
|
line-height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-button {
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
padding: 0px;
|
||||||
|
width: 80px;
|
||||||
|
border: 2px outset #E2E2E2;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
color: #000;
|
||||||
|
background: #F0F0F0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-button:focus span {
|
||||||
|
border: 1px dashed gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-button:active {
|
||||||
|
border: 2px inset #E2E2E2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-button:disabled {
|
||||||
|
border: 2px inset #E2E2E2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-button:disabled span {
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-input {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-input .el-input__inner {
|
||||||
|
color: #000;
|
||||||
|
background: #fff !important;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-textarea {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||||
|
color: #000;
|
||||||
|
background: #fff !important;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-table {
|
||||||
|
border: 2px inset #E9E9E9;
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-table .cell {
|
||||||
|
line-height: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-table th.is-leaf {
|
||||||
|
background: #F0F0F0 !important;
|
||||||
|
border-right: 1px solid #BDBDBD !important;
|
||||||
|
border-bottom: 1px solid #BDBDBD !important;
|
||||||
|
color: #000 !important;
|
||||||
|
height: 20px !important;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-table tr td {
|
||||||
|
height: 20px !important;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-table .el-table__empty-text {
|
||||||
|
top: 15px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .current-row>td {
|
||||||
|
background: #3399FF !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox__inner {
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox__label {
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||||
|
background: #E6E6E6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||||
|
color: #C5C9CC !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||||
|
background: #fff !important;
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
|
||||||
|
position: absolute;
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
content: "";
|
||||||
|
border: 1px solid #000;
|
||||||
|
border-left: 0;
|
||||||
|
border-top: 0;
|
||||||
|
height: 7px;
|
||||||
|
left: 4px;
|
||||||
|
top: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio__inner {
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio__label {
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||||
|
background: #fff !important;
|
||||||
|
border: 1px inset #dcdfe6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
|
||||||
|
width: 4px;
|
||||||
|
height: 4px;
|
||||||
|
border-radius: 100%;
|
||||||
|
background-color: #000 !important;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||||
|
background: #E6E6E6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||||
|
color: #C5C9CC !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .base-label {
|
||||||
|
background: rgb(240 240 240);
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .el-form-item label {
|
||||||
|
font-weight: normal !important;
|
||||||
|
color: #000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .context {
|
||||||
|
height: 100px;
|
||||||
|
border: 2px inset #E2E2E2;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .table {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .notice {
|
||||||
|
margin-left: 62px;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fuzhou-01__systerm .el-dialog .button-group {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
@keyframes changeColor
|
||||||
|
{
|
||||||
|
0% {background:#f0f0f0;}
|
||||||
|
50% {background:#ff1900;}
|
||||||
|
100% {background:#f0f0f0;}
|
||||||
|
}
|
||||||
|
@-moz-keyframes changeColor /* Firefox */
|
||||||
|
{
|
||||||
|
0% {background:#f0f0f0;}
|
||||||
|
50% {background:#ff1900;}
|
||||||
|
100% {background:#f0f0f0;}
|
||||||
|
}
|
||||||
|
@-webkit-keyframes changeColor /* Safari and Chrome */
|
||||||
|
{
|
||||||
|
0% {background:#f0f0f0;}
|
||||||
|
50% {background:#ff1900;}
|
||||||
|
100% {background:#f0f0f0;}
|
||||||
|
}
|
||||||
|
.simulationAlarmInfo{
|
||||||
|
position: absolute;
|
||||||
|
width: 320px;
|
||||||
|
background: #cb204d;
|
||||||
|
height: 100px;
|
||||||
|
z-index: 2;
|
||||||
|
top: 0px;
|
||||||
|
left: 0px;
|
||||||
|
padding: 5px;
|
||||||
|
overflow:auto;
|
||||||
|
}
|
||||||
|
.eachTipContent{margin-top:5px;font-size:14px;}
|
||||||
|
|
||||||
|
.simulationAlarmInfo::-webkit-scrollbar {
|
||||||
|
width: 5px;
|
||||||
|
}
|
||||||
|
.simulationAlarmInfo::-webkit-scrollbar-thumb {
|
||||||
|
border-radius: 10px;
|
||||||
|
background: #c3c3c3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.simulationAlarmInfo::-webkit-scrollbar-track {
|
||||||
|
border-radius: 0;
|
||||||
|
background: #cb204d;
|
||||||
|
}
|
||||||
|
.simulationTellInfo{
|
||||||
|
position: absolute;
|
||||||
|
width: 328px;
|
||||||
|
top: 0px;
|
||||||
|
right: 0px;
|
||||||
|
padding: 0px 0px 0px 0px;
|
||||||
|
overflow: auto;
|
||||||
|
background: #c3c3c3;
|
||||||
|
z-index: 2;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 0;
|
||||||
|
}
|
||||||
|
.simulationDeviceInfo{
|
||||||
|
position: absolute;
|
||||||
|
width: 328px;
|
||||||
|
height: 100px;
|
||||||
|
top: 33px;
|
||||||
|
right:0px;
|
||||||
|
padding: 5px;
|
||||||
|
overflow:auto;
|
||||||
|
background: #c3c3c3;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
.simulationTellInfoTop{
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 0;
|
||||||
|
}
|
||||||
|
.simulationTellInfoTopEach{
|
||||||
|
padding: 6px 11px;
|
||||||
|
display: inline-block;
|
||||||
|
background: #dedede;
|
||||||
|
font-size: 15px;
|
||||||
|
border-top:2px #9c868b solid;
|
||||||
|
border-left:2px #9c868b solid;
|
||||||
|
border-right:2px #ecfbe2 solid ;
|
||||||
|
border-bottom:2px #ecfbe2 solid;
|
||||||
|
|
||||||
|
}
|
||||||
|
.backRed{background: #ff0000;}
|
||||||
|
.backYellow{background: #ffff00;}
|
||||||
|
.backGreen{background: #00ff00;}
|
||||||
|
</style>
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="isShowBtn" id="menuButtons_box" class="menu menuButton" style="height:40px;" :style="{left: point.x+'px', bottom: point.y+'px' }">
|
<div id="menuButtons_box" class="menu menuButton" style="height:40px;" :style="{left: point.x+'px', bottom: point.y+'px' }">
|
||||||
<!-- backgroundColor: xGuideMasterLock? guideColorDown: guideColorUp -->
|
<!-- backgroundColor: xGuideMasterLock? guideColorDown: guideColorUp -->
|
||||||
<button :id="Station.stationMasterLock.rightButton.domId" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="guideLockRightButtonDown()">
|
<button :id="Station.stationMasterLock.rightButton.domId" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="guideLockRightButtonDown()">
|
||||||
<span style="color: #800000">
|
<span style="color: #800000">
|
||||||
@ -183,7 +183,7 @@ export default {
|
|||||||
'autoReentryData'
|
'autoReentryData'
|
||||||
]),
|
]),
|
||||||
point() {
|
point() {
|
||||||
return this.$store.state.training.prdType == '01' ? {x:0, y:30} : {x:0, y:0};
|
return {x:0, y:30};
|
||||||
},
|
},
|
||||||
Switch() {
|
Switch() {
|
||||||
return OperationEvent.Switch;
|
return OperationEvent.Switch;
|
||||||
@ -212,9 +212,6 @@ export default {
|
|||||||
xGuideMasterLock() {
|
xGuideMasterLock() {
|
||||||
return this.$store.state.map.stationXGuideMasterLock;
|
return this.$store.state.map.stationXGuideMasterLock;
|
||||||
},
|
},
|
||||||
isShowBtn() {
|
|
||||||
return this.$store.state.training.prdType == '01' || this.$store.state.training.prdType == '10';
|
|
||||||
},
|
|
||||||
CMD() {
|
CMD() {
|
||||||
return CMD;
|
return CMD;
|
||||||
},
|
},
|
||||||
@ -769,7 +766,7 @@ export default {
|
|||||||
selectedChange() {
|
selectedChange() {
|
||||||
// 按钮按下时
|
// 按钮按下时
|
||||||
const model = this.selected; // 选择设备
|
const model = this.selected; // 选择设备
|
||||||
if ((this.$store.state.training.prdType != '01' && this.$store.state.training.prdType != '10') || this.selected._event !== MouseEvent.Left || (!model._type && !model._code)) {
|
if (this.selected._event !== MouseEvent.Left || (!model._type && !model._code)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const buttonOperation = this.$store.state.menuOperation.buttonOperation;
|
const buttonOperation = this.$store.state.menuOperation.buttonOperation;
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" />
|
<pop-menu ref="popMenu" :menu="menu" />
|
||||||
<section-control ref="sectionControl" pop-class="chengdou-03__systerm" />
|
|
||||||
<section-detail ref="sectionDetail" />
|
|
||||||
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
||||||
<train-add-plan ref="trainAddPlan" pop-class="chengdou-03__systerm" />
|
<train-add-plan ref="trainAddPlan" pop-class="chengdou-03__systerm" />
|
||||||
<set-fault ref="setFault" pop-class="datie-02__systerm" />
|
<set-fault ref="setFault" pop-class="datie-02__systerm" />
|
||||||
<!-- <load-spare-train ref="loadSpareTrain" pop-class="chengdou-03__systerm" /> -->
|
|
||||||
<add-spare-train ref="addSpareTrain" />
|
<add-spare-train ref="addSpareTrain" />
|
||||||
<draw-select ref="drawSelect" />
|
<draw-select ref="drawSelect" />
|
||||||
</div>
|
</div>
|
||||||
@ -14,30 +11,23 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import SectionControl from '@/jmapNew/theme/components/menus/dialog/sectionControl';
|
|
||||||
import TrainAddPlan from '@/jmapNew/theme/components/menus/dialog/trainAddPlan';
|
import TrainAddPlan from '@/jmapNew/theme/components/menus/dialog/trainAddPlan';
|
||||||
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import SectionDetail from './dialog/sectionDetail';
|
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
import AddSpareTrain from './dialog/addSpareTrain';
|
import AddSpareTrain from './dialog/addSpareTrain';
|
||||||
|
|
||||||
import DrawSelect from './dialog/drawSelect';
|
import DrawSelect from './dialog/drawSelect';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SectionMenu',
|
name: 'SectionMenu',
|
||||||
components: {
|
components: {
|
||||||
PopMenu,
|
PopMenu,
|
||||||
SectionControl,
|
|
||||||
SectionDetail,
|
|
||||||
NoticeInfo,
|
NoticeInfo,
|
||||||
TrainAddPlan,
|
TrainAddPlan,
|
||||||
SetFault,
|
SetFault,
|
||||||
// LoadSpareTrain,
|
|
||||||
AddSpareTrain,
|
AddSpareTrain,
|
||||||
DrawSelect
|
DrawSelect
|
||||||
},
|
},
|
||||||
@ -47,45 +37,26 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [
|
|
||||||
// {
|
|
||||||
// label: '图纸调用',
|
|
||||||
// handler: this.drawingCall
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '基础设备培训',
|
|
||||||
// handler: this.baDeTrCall
|
|
||||||
// }
|
|
||||||
{
|
{
|
||||||
label: ' 增加车次',
|
label: ' 增加车次',
|
||||||
handler: this.addSpare,
|
handler: this.addSpare,
|
||||||
cmdType: CMD.Section.CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN
|
cmdType: CMD.Section.CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork',
|
||||||
|
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
Center: [
|
|
||||||
// {
|
|
||||||
// label: '区故解',
|
|
||||||
// handler: this.fault,
|
|
||||||
// cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '属性',
|
|
||||||
// handler: this.detail,
|
|
||||||
// cmdType: CMD.Section.CMD_SECTION_DETAILS
|
|
||||||
// }
|
|
||||||
// {
|
|
||||||
// label: ' 增加车次',
|
|
||||||
// handler: this.addSpare,
|
|
||||||
// cmdType: CMD.Section.CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN
|
|
||||||
// }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
@ -102,11 +73,6 @@ export default {
|
|||||||
handler: this.triggerFaultManagement,
|
handler: this.triggerFaultManagement,
|
||||||
cmdType: CMD.Fault.CMD_TRIGGER_FAULT
|
cmdType: CMD.Fault.CMD_TRIGGER_FAULT
|
||||||
}
|
}
|
||||||
// {
|
|
||||||
// label: '设置备用车',
|
|
||||||
// handler: this.loadSpare,
|
|
||||||
// cmdType: CMD.Section.CMD_TRAIN_LOAD_SPARE_TRAIN
|
|
||||||
// }
|
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -121,7 +87,7 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'$store.state.menuOperation.menuCount': function (val) {
|
'$store.state.menuOperation.menuCount': function (val) {
|
||||||
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Section) && (!this.buttonOperation || this.$route.query.ctc)) {
|
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Section) && (!this.buttonOperation || this.work === 'ctcWork')) {
|
||||||
this.doShow(this.$store.state.menuOperation.menuPosition);
|
this.doShow(this.$store.state.menuOperation.menuPosition);
|
||||||
} else {
|
} else {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
@ -131,7 +97,7 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
const isDev = process.env.NODE_ENV === 'development';
|
const isDev = process.env.NODE_ENV === 'development';
|
||||||
if (isDev) {
|
if (isDev) {
|
||||||
this.menuNormal.Center.push( {
|
this.menuNormal.push( {
|
||||||
label: '新建计划列车',
|
label: '新建计划列车',
|
||||||
handler: this.createPlanTrain,
|
handler: this.createPlanTrain,
|
||||||
cmdType: CMD.Section.CMD_Train_Init_Plan
|
cmdType: CMD.Section.CMD_Train_Init_Plan
|
||||||
@ -141,16 +107,13 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
if (this.selected.type != '04') {
|
|
||||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
|
||||||
this.menu = this.menuNormal.Local;
|
|
||||||
const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode);
|
|
||||||
if (station && station.controlMode === 'Interlock' && this.$route.query.ctc) {
|
|
||||||
this.menu.forEach(item => { item.disabled = true; });
|
|
||||||
} else { this.menu.forEach(item => { item.disabled = false; }); }
|
|
||||||
} else {
|
|
||||||
this.menu = [];
|
this.menu = [];
|
||||||
}
|
const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode);
|
||||||
|
this.menuNormal.forEach(menuItem => {
|
||||||
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, station || {}, this.work) : false;
|
||||||
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
if (this.operatemode === OperateMode.FAULT && this.selected.type != '04') {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
@ -173,13 +136,6 @@ export default {
|
|||||||
this.$refs.popMenu.close();
|
this.$refs.popMenu.close();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// loadSpare() {
|
|
||||||
// commitOperate(menuOperate.Section.loadSpareTrain, {sectionCode:this.selected.code}).then(({valid, operate})=>{
|
|
||||||
// if (valid) {
|
|
||||||
// this.$refs.loadSpareTrain.doShow(operate, this.selected);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
addSpare() {
|
addSpare() {
|
||||||
commitOperate(menuOperate.Section.addSpareTrain, {sectionCode:this.selected.code}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Section.addSpareTrain, {sectionCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
@ -187,42 +143,6 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 设置计轴失效
|
|
||||||
alxeFailure() {
|
|
||||||
const step = {
|
|
||||||
start: true,
|
|
||||||
code: `${this.selected.code}`,
|
|
||||||
operation: OperationEvent.Section.alxeFailure.menu.operation,
|
|
||||||
cmdType: '',
|
|
||||||
param: {
|
|
||||||
sectionCode: `${this.selected.code}`
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 故障解锁
|
|
||||||
fault() {
|
|
||||||
commitOperate(menuOperate.Section.fault, {sectionCode:this.selected.code}, 0).then(({valid, operate})=>{
|
|
||||||
if (valid) {
|
|
||||||
this.$refs.sectionControl.doShow(operate, this.selected);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
detail() {
|
|
||||||
commitOperate(menuOperate.Section.detail, {sectionCode:this.selected.code}, 0).then(({valid, operate})=>{
|
|
||||||
if (valid) {
|
|
||||||
this.$refs.sectionDetail.doShow(operate, this.selected);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 设置故障
|
// 设置故障
|
||||||
setStoppage() {
|
setStoppage() {
|
||||||
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
|
@ -54,17 +54,23 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [
|
|
||||||
{
|
{
|
||||||
label: '办理 通过进路',
|
label: '办理 通过进路',
|
||||||
handler: this.arrangementRoute,
|
handler: this.arrangementRoute,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'separator'
|
type: 'separator'
|
||||||
@ -72,33 +78,34 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '列车 办理进路',
|
label: '列车 办理进路',
|
||||||
handler: this.arrangementRoute,
|
handler: this.arrangementRoute,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '取消进路',
|
label: '取消进路',
|
||||||
handler: this.cancelTrainRoute,
|
handler: this.cancelTrainRoute,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '信号重开',
|
label: '信号重开',
|
||||||
handler: this.reopenSignal,
|
handler: this.reopenSignal,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
|
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '封锁/解封',
|
label: '封锁/解封',
|
||||||
handler: this.lockOrUnlock
|
handler: this.lockOrUnlock,
|
||||||
|
cmdType: '',
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
|
// cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
|
||||||
|
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// label: '解封',
|
|
||||||
// handler: '',
|
|
||||||
// cmdType: ''
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
label: '总人解',
|
label: '总人解',
|
||||||
handler: this.humanTrainRoute,
|
handler: this.humanTrainRoute,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
|
cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'separator'
|
type: 'separator'
|
||||||
@ -106,67 +113,16 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '引导',
|
label: '引导',
|
||||||
handler: this.guide,
|
handler: this.guide,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
|
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '坡道解锁',
|
label: '坡道解锁',
|
||||||
handler: '',
|
handler: '',
|
||||||
cmdType: ''
|
cmdType: '',
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
Center: [
|
|
||||||
// {
|
|
||||||
// label: '办理进路',
|
|
||||||
// handler: this.arrangementRoute,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '办理引导进路',
|
|
||||||
// handler: this.guide,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '取消进路',
|
|
||||||
// handler: this.cancelTrainRoute,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '总人解',
|
|
||||||
// handler: this.humanTrainRoute,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '信号重开',
|
|
||||||
// handler: this.reopenSignal,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '信号封锁',
|
|
||||||
// handler: this.lock,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '信号解封',
|
|
||||||
// handler: this.unlock,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '进路收人工控',
|
|
||||||
// handler: this.humanControl,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '进路交自动控',
|
|
||||||
// handler: this.atsAutoControl,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '进路信息',
|
|
||||||
// handler: this.detail,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
|
||||||
// }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
@ -203,7 +159,7 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'$store.state.menuOperation.menuCount': function (val) {
|
'$store.state.menuOperation.menuCount': function (val) {
|
||||||
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Signal) && (!this.buttonOperation || this.$route.query.ctc)) {
|
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Signal) && (!this.buttonOperation || this.work === 'ctcWork')) {
|
||||||
this.doShow(this.$store.state.menuOperation.menuPosition);
|
this.doShow(this.$store.state.menuOperation.menuPosition);
|
||||||
} else {
|
} else {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
@ -213,12 +169,13 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = [];
|
||||||
this.menu = this.menuNormal.Local;
|
|
||||||
const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode);
|
const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode);
|
||||||
if (station && station.controlMode === 'Interlock' && this.$route.query.ctc) {
|
this.menuNormal.forEach(menuItem => {
|
||||||
this.menu.forEach(item => { item.disabled = true; });
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, station || {}, this.work) : false;
|
||||||
} else { this.menu.forEach(item => { item.disabled = false; }); }
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
|
@ -19,7 +19,6 @@ import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
|||||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
// import Handler from '@/scripts/cmdPlugin/Handler';
|
|
||||||
import PasswordBox from './dialog/childDialog/passwordInputBox.vue';
|
import PasswordBox from './dialog/childDialog/passwordInputBox.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -40,25 +39,18 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [],
|
||||||
Local: [
|
|
||||||
// {
|
|
||||||
// label: '图纸调用',
|
|
||||||
// handler: this.drawingCall
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '基础设备培训',
|
|
||||||
// handler: this.baDeTrCall
|
|
||||||
// }
|
|
||||||
],
|
|
||||||
Center: [
|
|
||||||
]
|
|
||||||
},
|
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置ZC故障',
|
label: '设置ZC故障',
|
||||||
@ -109,8 +101,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = [];
|
||||||
this.menu = this.menuNormal.Local;
|
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
@ -165,10 +156,6 @@ export default {
|
|||||||
triggerFaultManagement() {
|
triggerFaultManagement() {
|
||||||
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
|
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
|
||||||
},
|
},
|
||||||
handlerOpenPdf(elem) {
|
|
||||||
const url = `https://joylink.club/oss/projects/wjls/${this.selected.jp}/${elem.file}`;
|
|
||||||
window.open(url, '_blank');
|
|
||||||
},
|
|
||||||
// 非常站控
|
// 非常站控
|
||||||
veryControlClick(selected) {
|
veryControlClick(selected) {
|
||||||
// stationCode车站编号、pressDown:1按下、0抬起
|
// stationCode车站编号、pressDown:1按下、0抬起
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" />
|
<pop-menu ref="popMenu" :menu="menu" />
|
||||||
<stand-control ref="standControl" />
|
|
||||||
<stand-detail ref="standDetail" />
|
|
||||||
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
||||||
<set-fault ref="setFault" pop-class="chengdou-03__systerm" />
|
<set-fault ref="setFault" pop-class="chengdou-03__systerm" />
|
||||||
</div>
|
</div>
|
||||||
@ -10,22 +8,17 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import StandControl from './dialog/standControl';
|
|
||||||
import StandDetail from './dialog/standDetail';
|
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
|
||||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'StationStandMenu',
|
name: 'StationStandMenu',
|
||||||
components: {
|
components: {
|
||||||
PopMenu,
|
PopMenu,
|
||||||
StandControl,
|
|
||||||
StandDetail,
|
|
||||||
NoticeInfo,
|
NoticeInfo,
|
||||||
SetFault
|
SetFault
|
||||||
},
|
},
|
||||||
@ -35,52 +28,18 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [],
|
||||||
Local: [
|
|
||||||
],
|
|
||||||
Center: [
|
|
||||||
// {
|
|
||||||
// label: '设置扣车',
|
|
||||||
// handler: this.setDetainTrain,
|
|
||||||
// cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '取消扣车',
|
|
||||||
// handler: this.cancelDetainTrain,
|
|
||||||
// cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '设置跳停',
|
|
||||||
// handler: this.setJumpStop,
|
|
||||||
// cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '取消跳停',
|
|
||||||
// handler: this.cancelJumpStop,
|
|
||||||
// cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '设置停站时间',
|
|
||||||
// handler: this.setStopTime,
|
|
||||||
// cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '设置站间运行等级',
|
|
||||||
// handler: this.setRunLevel,
|
|
||||||
// cmdType: CMD.Stand.CMD_STAND_SET_RUN_TIME
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '显示站台信息',
|
|
||||||
// handler: this.detail,
|
|
||||||
// cmdType: CMD.Stand.CMD_STAND_VIEW_STATUS
|
|
||||||
// }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
@ -121,8 +80,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = [];
|
||||||
|
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
@ -156,62 +114,6 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 设置扣车
|
|
||||||
setDetainTrain() {
|
|
||||||
commitOperate(menuOperate.StationStand.setDetainTrain, { standCode: this.selected.code }, 0).then(({valid, operate})=>{
|
|
||||||
if (valid) {
|
|
||||||
this.$refs.standControl.doShow(operate, this.selected);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 取消扣车
|
|
||||||
cancelDetainTrain() {
|
|
||||||
commitOperate(menuOperate.StationStand.cancelDetainTrain, { standCode: this.selected.code }, 0).then(({valid, operate})=>{
|
|
||||||
if (valid) {
|
|
||||||
this.$refs.standControl.doShow(operate, this.selected);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 设置跳停
|
|
||||||
setJumpStop() {
|
|
||||||
commitOperate(menuOperate.StationStand.setJumpStop, { standCode: this.selected.code }, 0).then(({valid, operate})=>{
|
|
||||||
if (valid) {
|
|
||||||
this.$refs.standControl.doShow(operate, this.selected);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 取消跳停
|
|
||||||
cancelJumpStop() {
|
|
||||||
commitOperate(menuOperate.StationStand.cancelJumpStop, { standCode: this.selected.code }, 0).then(({valid, operate})=>{
|
|
||||||
if (valid) {
|
|
||||||
this.$refs.standControl.doShow(operate, this.selected);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 停站时间控制
|
|
||||||
setStopTime() {
|
|
||||||
commitOperate(menuOperate.StationStand.setStopTime, { standCode: this.selected.code }, 0).then(({valid, operate})=>{
|
|
||||||
if (valid) {
|
|
||||||
this.$refs.standControl.doShow(operate, this.selected, []);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 设置运行等级
|
|
||||||
setRunLevel() {
|
|
||||||
commitOperate(menuOperate.StationStand.setRunLevel, { standCode: this.selected.code }, 0).then(({valid, operate})=>{
|
|
||||||
if (valid) {
|
|
||||||
this.$refs.standControl.doShow(operate, this.selected, []);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 查询站台状态
|
|
||||||
detail() {
|
|
||||||
commitOperate(menuOperate.StationStand.detail, { standCode: this.selected.code }, 0).then(({valid, operate})=>{
|
|
||||||
if (valid) {
|
|
||||||
this.$refs.standDetail.doShow(operate, this.selected, []);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
triggerFaultManagement() {
|
triggerFaultManagement() {
|
||||||
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
|
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
|
||||||
}
|
}
|
||||||
|
@ -47,37 +47,47 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [
|
|
||||||
{
|
{
|
||||||
label: '定操',
|
label: '定操',
|
||||||
handler: this.locate,
|
handler: this.locate,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '反操',
|
label: '反操',
|
||||||
handler: this.reverse,
|
handler: this.reverse,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '单锁',
|
label: '单锁',
|
||||||
handler: this.lock,
|
handler: this.lock,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '单解',
|
label: '单解',
|
||||||
handler: this.unlock,
|
handler: this.unlock,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '道岔钩锁',
|
label: '道岔钩锁',
|
||||||
handler: this.hookLock,
|
handler: this.hookLock,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_HOOK_LOCK
|
cmdType: CMD.Switch.CMD_SWITCH_HOOK_LOCK,
|
||||||
|
isDisabled: (section, station, work) => station.controlMode === 'Interlock' && work === 'ctcWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '封锁/解封',
|
label: '封锁/解封',
|
||||||
@ -120,50 +130,6 @@ export default {
|
|||||||
handle: ''
|
handle: ''
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
Center: [
|
|
||||||
// {
|
|
||||||
// label: '单操到定位',
|
|
||||||
// handler: this.locate,
|
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '单操到反位',
|
|
||||||
// handler: this.reverse,
|
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '道岔单锁',
|
|
||||||
// handler: this.lock,
|
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '道岔解锁',
|
|
||||||
// handler: this.unlock,
|
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '道岔封锁',
|
|
||||||
// handler: this.block,
|
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_BLOCK
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '道岔解封',
|
|
||||||
// handler: this.unblock,
|
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '区故解',
|
|
||||||
// handler: this.fault,
|
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK
|
|
||||||
// }
|
|
||||||
// {
|
|
||||||
// label: '属性',
|
|
||||||
// handler: this.undeveloped,
|
|
||||||
// auth: { station: true, center: true },
|
|
||||||
// cmdType: CMD.Switch.
|
|
||||||
// }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
@ -192,7 +158,7 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'$store.state.menuOperation.menuCount': function (val) {
|
'$store.state.menuOperation.menuCount': function (val) {
|
||||||
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Switch) && (!this.buttonOperation || this.$route.query.ctc)) {
|
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Switch) && (!this.buttonOperation || this.work === 'ctcWork')) {
|
||||||
this.doShow(this.$store.state.menuOperation.menuPosition);
|
this.doShow(this.$store.state.menuOperation.menuPosition);
|
||||||
} else {
|
} else {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
@ -202,12 +168,13 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = [];
|
||||||
this.menu = this.menuNormal.Local;
|
|
||||||
const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode);
|
const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode);
|
||||||
if (station && station.controlMode === 'Interlock' && this.$route.query.ctc) {
|
this.menuNormal.forEach(menuItem => {
|
||||||
this.menu.forEach(item => { item.disabled = true; });
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, station || {}, this.work) : false;
|
||||||
} else { this.menu.forEach(item => { item.disabled = false; }); }
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
if (!this.$store.state.scriptRecord.bgSet || this.$store.state.scriptRecord.userRole == 'STATION_SWITCH_MAN') {
|
if (!this.$store.state.scriptRecord.bgSet || this.$store.state.scriptRecord.userRole == 'STATION_SWITCH_MAN') {
|
||||||
|
@ -135,7 +135,7 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'$store.state.training.initTime': function (initTime) {
|
'$store.state.training.initTime': function (initTime) {
|
||||||
this.time = timestampFormat('HH:mmss', initTime)
|
this.time = timestampFormat('HH:mmss', initTime);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
<set-fault ref="setFault" pop-class="chengdou-03__systerm" />
|
<set-fault ref="setFault" pop-class="chengdou-03__systerm" />
|
||||||
<speed-limit ref="speedLimit" pop-class="chengdou-03__systerm" />
|
<speed-limit ref="speedLimit" pop-class="chengdou-03__systerm" />
|
||||||
<train-stop ref="trainStop" pop-class="chengdou-03__systerm" />
|
<train-stop ref="trainStop" pop-class="chengdou-03__systerm" />
|
||||||
<!-- <train-set-plan ref="trainSetPlan" /> -->
|
|
||||||
<update-trip ref="updateTrip" />
|
<update-trip ref="updateTrip" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -28,12 +27,10 @@ import TrainMoveNumber from './dialog/trainMoveNumber';
|
|||||||
import TrainCreateNumber from './dialog/trainCreateNumber';
|
import TrainCreateNumber from './dialog/trainCreateNumber';
|
||||||
import TrainDeleteNumber from './dialog/trainDeleteNumber';
|
import TrainDeleteNumber from './dialog/trainDeleteNumber';
|
||||||
import TrainDetailInfo from './dialog/trainDetailInfo';
|
import TrainDetailInfo from './dialog/trainDetailInfo';
|
||||||
// import TrainSetPlan from './dialog/trainSetPlan';
|
|
||||||
import UpdateTrip from './dialog/updateTrip';
|
import UpdateTrip from './dialog/updateTrip';
|
||||||
import CancelMouseState from '@/mixin/CancelMouseState';
|
import CancelMouseState from '@/mixin/CancelMouseState';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
|
||||||
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
import SpeedLimit from '@/jmapNew/theme/components/menus/dialog/trainSpeedLimit';
|
import SpeedLimit from '@/jmapNew/theme/components/menus/dialog/trainSpeedLimit';
|
||||||
import TrainStop from '@/jmapNew/theme/components/menus/dialog/trainStop';
|
import TrainStop from '@/jmapNew/theme/components/menus/dialog/trainStop';
|
||||||
@ -53,7 +50,6 @@ export default {
|
|||||||
UpdateTrip,
|
UpdateTrip,
|
||||||
SpeedLimit,
|
SpeedLimit,
|
||||||
TrainStop
|
TrainStop
|
||||||
// TrainSetPlan
|
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
CancelMouseState
|
CancelMouseState
|
||||||
@ -64,6 +60,12 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -71,11 +73,6 @@ export default {
|
|||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: {
|
||||||
Local: [
|
Local: [
|
||||||
// {
|
|
||||||
// label: '设置计划车',
|
|
||||||
// handler: this.setPlanTrain,
|
|
||||||
// cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
label: '变更车次号',
|
label: '变更车次号',
|
||||||
handler: this.modifyTripNumber,
|
handler: this.modifyTripNumber,
|
||||||
@ -98,51 +95,6 @@ export default {
|
|||||||
handler: this.modifyTripNumber,
|
handler: this.modifyTripNumber,
|
||||||
cmdType: CMD.Train.CMD_TRAIN_UPDATE_TRIP_NUMBER_TRAIN
|
cmdType: CMD.Train.CMD_TRAIN_UPDATE_TRIP_NUMBER_TRAIN
|
||||||
}
|
}
|
||||||
// {
|
|
||||||
// label: '设置计划车',
|
|
||||||
// handler: this.setPlanTrain,
|
|
||||||
// cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN
|
|
||||||
// }
|
|
||||||
// {
|
|
||||||
// label: '新建车组号',
|
|
||||||
// handler: this.createTrainNo
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '移动车组号',
|
|
||||||
// handler: this.moveTrainNo
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '删除车组号',
|
|
||||||
// handler: this.deleteTrainNo
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '修改车组号',
|
|
||||||
// handler: this.editTrainNo
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '设计划车',
|
|
||||||
// handler: this.setPlanTrainId
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '设目的地',
|
|
||||||
// handler: this.destinationTrainId
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '设人工车',
|
|
||||||
// handler: this.artificialTrainId
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '设特殊人工车',
|
|
||||||
// handler: this.undeveloped
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '详细列车信息',
|
|
||||||
// handler: this.detailTrainInfo
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '属性',
|
|
||||||
// handler: this.undeveloped
|
|
||||||
// }
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
menuForce: [
|
menuForce: [
|
||||||
@ -252,11 +204,13 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = [];
|
||||||
const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode);
|
const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode);
|
||||||
if (station && station.controlMode === 'Interlock' && this.$route.query.ctc) {
|
this.menuNormal.forEach(menuItem => {
|
||||||
this.menu.forEach(item => { item.disabled = true; });
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, station || {}, this.work) : false;
|
||||||
} else { this.menu.forEach(item => { item.disabled = false; }); }
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
if (!this.$store.state.scriptRecord.bgSet || this.$store.state.scriptRecord.userRole == 'DRIVER') {
|
if (!this.$store.state.scriptRecord.bgSet || this.$store.state.scriptRecord.userRole == 'DRIVER') {
|
||||||
|
@ -109,15 +109,20 @@ class Theme {
|
|||||||
}
|
}
|
||||||
// 加载行调菜单组件
|
// 加载行调菜单组件
|
||||||
loadDispatchWorkMenuComponent(code) {
|
loadDispatchWorkMenuComponent(code) {
|
||||||
if (code == '02') {
|
if (code == '02' || code == '16') {
|
||||||
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/dispatchWorkMenu`).default);
|
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/dispatchWorkMenu`).default);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
loadLocalWorkMenuComponent(code) {
|
loadLocalWorkMenuComponent(code) {
|
||||||
if (code == '02') {
|
if (code == '02' || code == '16') {
|
||||||
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/localWorkMenu`).default);
|
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/localWorkMenu`).default);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
loadCtcWorkMenuComponent(code) {
|
||||||
|
if (code == '16') {
|
||||||
|
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/ctcWorkMenu`).default);
|
||||||
|
}
|
||||||
|
}
|
||||||
// 新版本
|
// 新版本
|
||||||
loadPlanParser(code) {
|
loadPlanParser(code) {
|
||||||
return PlanParser.load(require(`./${this._runplan[code || this._code]}/planConfig`).default);
|
return PlanParser.load(require(`./${this._runplan[code || this._code]}/planConfig`).default);
|
||||||
|
@ -49,7 +49,7 @@ export default {
|
|||||||
'$store.state.map.mapDataLoadedCount': function () {
|
'$store.state.map.mapDataLoadedCount': function () {
|
||||||
const lineCode = this.$jlmap.lineCode;
|
const lineCode = this.$jlmap.lineCode;
|
||||||
if (lineCode) {
|
if (lineCode) {
|
||||||
this.menus = this.$theme.loadDispatchWorkMenuComponent(lineCode);
|
this.menus = this.$theme.loadLocalWorkMenuComponent(lineCode);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'$store.state.map.initJlmapLoadedCount': function (val) {
|
'$store.state.map.initJlmapLoadedCount': function (val) {
|
||||||
|
@ -80,7 +80,7 @@ export default {
|
|||||||
{
|
{
|
||||||
name: 'ISCS',
|
name: 'ISCS',
|
||||||
code: 'iscsView',
|
code: 'iscsView',
|
||||||
roleList: ['STATION_SUPERVISOR'],
|
roleList: ['DISPATCHER', 'STATION_SUPERVISOR'],
|
||||||
click: this.changePictureShow
|
click: this.changePictureShow
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
@ -178,7 +178,12 @@ export default {
|
|||||||
if (localWorkRoleList.includes(this.roles)) {
|
if (localWorkRoleList.includes(this.roles)) {
|
||||||
this.changePictureShow('localWork');
|
this.changePictureShow('localWork');
|
||||||
} else if (this.roles === 'DISPATCHER') {
|
} else if (this.roles === 'DISPATCHER') {
|
||||||
|
if (this.$route.query.lineCode === '16') {
|
||||||
|
this.changePictureShow('dispatcherManage');
|
||||||
|
this.$store.dispatch('app/animationsClose');
|
||||||
|
} else {
|
||||||
this.changePictureShow('dispatchWork');
|
this.changePictureShow('dispatchWork');
|
||||||
|
}
|
||||||
} else if (this.roles === 'MAINTAINER') {
|
} else if (this.roles === 'MAINTAINER') {
|
||||||
// 通号
|
// 通号
|
||||||
}
|
}
|
||||||
|
@ -49,16 +49,13 @@ export default {
|
|||||||
'$store.state.map.mapDataLoadedCount': function () {
|
'$store.state.map.mapDataLoadedCount': function () {
|
||||||
const lineCode = this.$jlmap.lineCode;
|
const lineCode = this.$jlmap.lineCode;
|
||||||
if (lineCode) {
|
if (lineCode) {
|
||||||
this.menus = this.$theme.loadMenuComponent(lineCode);
|
this.menus = this.$theme.loadCtcWorkMenuComponent(lineCode);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'$store.state.map.initJlmapLoadedCount': function (val) {
|
'$store.state.map.initJlmapLoadedCount': function (val) {
|
||||||
this.handleTrafficTerminalWorkData();
|
this.handleTrafficTerminalWorkData();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
console.log('trafficTerminalWork');
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
setSelected(val) {
|
setSelected(val) {
|
||||||
this.selected = val;
|
this.selected = val;
|
||||||
|
Loading…
Reference in New Issue
Block a user