标准一西安一强制站控转为站控调整

This commit is contained in:
fan 2022-12-27 17:16:56 +08:00
parent 36fddc3a12
commit 56bfd76ba6
12 changed files with 29 additions and 316 deletions

View File

@ -129,7 +129,7 @@ export default {
confirmRunToFrontStation: '确认运行至前方站'
},
passiveDialog: {
alarmDetailInformation: '级警详细信息',
alarmDetailInformation: '级警详细信息',
lineName: '线路名称',
unitName: '单位名称',
moduleName: '模块名称',

View File

@ -1,13 +1,12 @@
<template>
<div id="menuBarFuzhou">
<menu-bar ref="menuBar" :menu-normal="menuNormal" style="width:100%" />
<station-control-convert ref="stationControlConvert" pop-class="fuzhou-01__systerm" @warningInfoDoShow="warningInfoDoShow" />
<station-control-convert ref="stationControlConvert" pop-class="fuzhou-01__systerm" />
<password-box ref="passwordBox" @setLoginResult="getLoginResult" />
<view-train-id ref="viewTrainId" />
<view-name ref="viewName" />
<view-device ref="viewDevice" />
<manage-user ref="manageUser" />
<warning-info ref="warningInfo" />
<help-about ref="helpAbout" />
</div>
</template>
@ -22,7 +21,6 @@ import ViewDevice from './menuDialog/viewDevice';
import ManageUser from './menuDialog/manageUser';
import HelpAbout from './menuDialog/helpAbout';
import { EventBus } from '@/scripts/event-bus';
import WarningInfo from './menuDialog/warningInfo';
export default {
name: 'LocalWorkMenu',
@ -34,8 +32,7 @@ export default {
ViewName,
ViewDevice,
ManageUser,
HelpAbout,
WarningInfo
HelpAbout
},
data() {
return {
@ -271,9 +268,6 @@ export default {
}
});
},
warningInfoDoShow(info) {
this.$refs.warningInfo.doShow(info);
},
blankClickClose() {
this.$refs.menuBar.doClose();
}

View File

@ -155,11 +155,6 @@ export default {
this.updateTableValue(controlTransfer);
});
},
'$store.state.socket.controlTransfer': function(val) {
if (val && val.applicantId == this.$store.state.training.myMemberId && this.$store.state.map.picture === 'localWork') {
this.$emit('warningInfoDoShow', val);
}
},
//
tableData: {
handler(val, oldVal) {

View File

@ -1,121 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="fuzhou-01__systerm station-control-convert"
title="0级报警详细信息"
:visible.sync="show"
width="900px"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<div style="font-size: 14px;color: #000;">
<el-row>
<el-col :span="8" style="display: flex;">
<div>线路名称</div>
<div style="width: 180px;" class="border-style">{{ $store.state.map.mapName }}</div>
</el-col>
<el-col :span="8" style="display: flex;">
<div>单位名称</div>
<div style="width: 180px;" class="border-style">{{ stationName }}</div>
</el-col>
<el-col :span="8" style="display: flex;">
<div>模块名称</div>
<div style="width: 180px;" class="border-style">CMM控制模式转换模块</div>
</el-col>
</el-row>
<el-row style="margin-top: 10px;">
<el-col :span="8" style="display: flex;">
<div>报警时间</div>
<div style="width: 180px;" class="border-style">{{ time }}</div>
</el-col>
<el-col :span="8" style="display: flex;">
<div>&#12288&#12288</div>
<div style="width: 180px;" class="border-style">0级告警</div>
</el-col>
<el-col :span="8" style="display: flex;">
<div>确认状态</div>
<div style="width: 180px;" class="border-style">未确认</div>
</el-col>
</el-row>
<el-row style="margin-top: 10px;">
<el-col :span="12" style="display: flex;">
<div>&#12288&#12288</div>
<div style="width: 325px;" class="border-style">系统事件</div>
</el-col>
<el-col :span="12" style="display: flex;">
<div>&#8194&#8194</div>
<div style="width: 325px;" class="border-style">依据信号设备操作命令设置控制模式</div>
</el-col>
</el-row>
<el-row style="display: flex;margin-top: 10px;">
<div>事件摘要</div>
<div style="width: 760px;" class="border-style">控制模式转换</div>
</el-row>
<el-row style="display: flex;margin-top: 10px;">
<div>推荐操作</div>
<div style="width: 760px;" class="border-style" />
</el-row>
<el-row style="margin-top: 10px;">
<span>报警详细描述</span>
<div style="width: 825px;margin-left: 0;height: 80px;" class="border-style">{{ `控制模式转换:${stationName}由中控模式转为站控模式!` }}</div>
</el-row>
<div style="text-align: center;margin-top: 10px;">
<el-button :id="closeAlarm.domId" @click="doClose">确认</el-button>
<span>未确认0级报警数目1</span>
</div>
</div>
</el-dialog>
</template>
<script>
import { parseTime } from '@/utils/index';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { UserOperationType } from '@/scripts/ConstDic';
export default {
name: 'WarningInfo',
data() {
return {
show: false,
stationName: '',
time: ''
};
},
computed: {
closeAlarm() {
return OperationEvent.StationControl.requestStationControl.awaitAlarm;
}
},
methods: {
doClose() {
const operate = {
cancel: true,
userOperationType: UserOperationType.LEFTCLICK,
operation: this.closeAlarm.operation
};
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
if (valid) {
this.show = false;
}
});
},
doShow(info) {
const station = this.$store.getters['map/getDeviceByCode'](info.stationCode);
this.stationName = station.name;
this.time = parseTime(this.$store.state.training.initTime);
this.show = true;
}
}
};
</script>
<style scoped>
.border-style {
border-top: 2px solid #858585;
border-left: 2px solid #858585;
border-right: 2px solid #F2F2F2;
border-bottom: 2px solid #F2F2F2;
padding: 0 10px;
margin-left: 10px;
}
</style>

View File

@ -31,7 +31,7 @@
<el-row>
<el-col :span="9">
<el-form-item :label="$t('menu.passiveDialog.alarmDate')">
<el-date-picker v-model="model.alarmDate" type="datetime" :placeholder="$t('menu.passiveDialog.selectDate')" disabled />
<el-input v-model="model.alarmDate" disabled />
</el-form-item>
</el-col>
<el-col :span="7">
@ -83,8 +83,9 @@
<script>
import { mapGetters } from 'vuex';
import { UserOperationType } from '@/scripts/ConstDic';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { parseTime } from '@/utils/index';
export default {
name: 'AlarmDetail',
data() {
@ -124,14 +125,13 @@ export default {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.alarm.domId : '';
return this.dialogShow ? OperationEvent.StationControl.requestStationControl.awaitAlarm.domId : '';
}
},
watch: {
'$store.state.socket.msgHead': function (elem) {
if (elem && elem.success) {
const operate = this.$store.state.training.operate;
// const control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
const station = this.$store.getters['map/getDeviceByCode'](elem.stationCodes[0]);
const newOperate = {
type: operate.type,
@ -151,7 +151,7 @@ export default {
moduleName: this.$t('menu.passiveDialog.cmmControlModeConversionMode'),
level: this.$t('menu.passiveDialog.zeroLevelAlarm'),
confirm: this.$t('menu.passiveDialog.confirmStatus'),
alarmDate: new Date(),
alarmDate: parseTime(this.$store.state.training.initTime),
type: this.$t('menu.passiveDialog.systemEvent'),
childType: this.$t('menu.passiveDialog.childTypeTips'),
timeSummary: this.$t('menu.passiveDialog.controlModeSummary'),
@ -170,21 +170,11 @@ export default {
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
cancel() {
const operate = {
operation: OperationEvent.Command.close.alarm.operation
};
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) {
this.doClose();
}
});
},
commit() {
const operate = {
operation: OperationEvent.StationControl.requestStationControl.awaitAlarm.operation
cancel: true,
userOperationType: UserOperationType.LEFTCLICK,
operation:OperationEvent.StationControl.requestStationControl.awaitAlarm.operation
};
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });

View File

@ -6,7 +6,7 @@
<!--<div class="jumpStopStatus">S</div>-->
<!--</div>-->
<menu-system-time ref="menuSystemTime" />
<station-control-convert ref="stationControlConvert" :work="work" @warningInfoDoShow="warningInfoDoShow" />
<station-control-convert ref="stationControlConvert" :work="work"/>
<password-box ref="passwordBox" @setLoginResult="getLoginResult" />
<view-train-id ref="viewTrainId" />
<view-name ref="viewName" />
@ -16,7 +16,6 @@
<train-delete ref="trainDelete" />
<manage-user ref="manageUser" />
<help-about ref="helpAbout" />
<warning-info ref="warningInfo" />
<!-- <delete-runplan-line ref="deleteRunplanLine" /> -->
<!-- <add-runplan-line ref="addRunplanLine" /> -->
</div>
@ -25,7 +24,6 @@
import MenuBar from '@/jmapNew/theme/components/menus/menuBarNew';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler.js';
import StationControlConvert from './menuDialog/stationControlConvert';
import WarningInfo from './menuDialog/warningInfo';
import TrainAdd from './menuDialog/trainAdd';
// import AddRunplanLine from './menuDialog/addRunplanLine';
import TrainTranstalet from './menuDialog/trainTranstalet';
@ -55,7 +53,6 @@ export default {
TrainDelete,
ManageUser,
HelpAbout,
WarningInfo,
MenuSystemTime
// DeleteRunplanLine
},
@ -385,9 +382,6 @@ export default {
blankClickClose() {
this.$refs.menuBar.doClose();
},
warningInfoDoShow(info) {
this.$refs.warningInfo.doShow(info);
},
undeveloped() {
this.$refs.menuBar.doClose();
this.$alert(this.$t('menu.menuBar.implemented'), this.$t('global.tips'), {

View File

@ -6,7 +6,7 @@
<!--<div class="jumpStopStatus">S</div>-->
<!--</div>-->
<menu-system-time ref="menuSystemTime" />
<station-control-convert ref="stationControlConvert" :work="work" @warningInfoDoShow="warningInfoDoShow" />
<station-control-convert ref="stationControlConvert" :work="work"/>
<password-box ref="passwordBox" @setLoginResult="getLoginResult" />
<view-train-id ref="viewTrainId" />
<view-name ref="viewName" />
@ -16,7 +16,6 @@
<train-delete ref="trainDelete" /> -->
<manage-user ref="manageUser" />
<help-about ref="helpAbout" />
<warning-info ref="warningInfo" />
<!-- <delete-runplan-line ref="deleteRunplanLine" /> -->
<!-- <add-runplan-line ref="addRunplanLine" /> -->
</div>
@ -25,7 +24,6 @@
import MenuBar from '@/jmapNew/theme/components/menus/menuBarNew';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler.js';
import StationControlConvert from './menuDialog/stationControlConvert';
import WarningInfo from './menuDialog/warningInfo';
// import TrainAdd from './menuDialog/trainAdd';
// import AddRunplanLine from './menuDialog/addRunplanLine';
// import TrainTranstalet from './menuDialog/trainTranstalet';
@ -55,7 +53,6 @@ export default {
// TrainDelete,
ManageUser,
HelpAbout,
WarningInfo,
MenuSystemTime
// DeleteRunplanLine
},
@ -342,9 +339,6 @@ export default {
blankClickClose() {
this.$refs.menuBar.doClose();
},
warningInfoDoShow(info) {
this.$refs.warningInfo.doShow(info);
},
undeveloped() {
this.$refs.menuBar.doClose();
this.$alert(this.$t('menu.menuBar.implemented'), this.$t('global.tips'), {

View File

@ -163,11 +163,6 @@ export default {
this.updateTableValue(controlTransfer);
});
},
'$store.state.socket.controlTransfer': function(val) {
if (val && val.applicantId == this.$store.state.training.myMemberId && this.$store.state.map.picture === 'localWork') {
this.$emit('warningInfoDoShow', val);
}
},
//
tableData: {
handler(val, oldVal) {

View File

@ -1,121 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="xian-01__systerm station-control-convert"
title="0级报警详细信息"
:visible.sync="show"
width="900px"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<div style="font-size: 14px;color: #000;">
<el-row>
<el-col :span="8" style="display: flex;">
<div>线路名称</div>
<div style="width: 180px;" class="border-style">{{ $store.state.map.mapName }}</div>
</el-col>
<el-col :span="8" style="display: flex;">
<div>单位名称</div>
<div style="width: 180px;" class="border-style">{{ stationName }}</div>
</el-col>
<el-col :span="8" style="display: flex;">
<div>模块名称</div>
<div style="width: 180px;" class="border-style">CMM控制模式转换模块</div>
</el-col>
</el-row>
<el-row style="margin-top: 10px;">
<el-col :span="8" style="display: flex;">
<div>报警时间</div>
<div style="width: 180px;" class="border-style">{{ time }}</div>
</el-col>
<el-col :span="8" style="display: flex;">
<div>&#12288&#12288</div>
<div style="width: 180px;" class="border-style">0级告警</div>
</el-col>
<el-col :span="8" style="display: flex;">
<div>确认状态</div>
<div style="width: 180px;" class="border-style">未确认</div>
</el-col>
</el-row>
<el-row style="margin-top: 10px;">
<el-col :span="12" style="display: flex;">
<div>&#12288&#12288</div>
<div style="width: 325px;" class="border-style">系统事件</div>
</el-col>
<el-col :span="12" style="display: flex;">
<div>&#8194&#8194</div>
<div style="width: 325px;" class="border-style">依据信号设备操作命令设置控制模式</div>
</el-col>
</el-row>
<el-row style="display: flex;margin-top: 10px;">
<div>事件摘要</div>
<div style="width: 760px;" class="border-style">控制模式转换</div>
</el-row>
<el-row style="display: flex;margin-top: 10px;">
<div>推荐操作</div>
<div style="width: 760px;" class="border-style" />
</el-row>
<el-row style="margin-top: 10px;">
<span>报警详细描述</span>
<div style="width: 825px;margin-left: 0;height: 80px;" class="border-style">{{ `控制模式转换:${stationName}由中控模式转为站控模式!` }}</div>
</el-row>
<div style="text-align: center;margin-top: 10px;">
<el-button :id="closeAlarm.domId" @click="doClose">确认</el-button>
<span>未确认0级报警数目1</span>
</div>
</div>
</el-dialog>
</template>
<script>
import { parseTime } from '@/utils/index';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { UserOperationType } from '@/scripts/ConstDic';
export default {
name: 'WarningInfo',
data() {
return {
show: false,
stationName: '',
time: ''
};
},
computed: {
closeAlarm() {
return OperationEvent.StationControl.requestStationControl.awaitAlarm;
}
},
methods: {
doClose() {
const operate = {
cancel: true,
userOperationType: UserOperationType.LEFTCLICK,
operation: this.closeAlarm.operation
};
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
if (valid) {
this.show = false;
}
});
},
doShow(info) {
const station = this.$store.getters['map/getDeviceByCode'](info.stationCode);
this.stationName = station.name;
this.time = parseTime(this.$store.state.training.initTime);
this.show = true;
}
}
};
</script>
<style scoped>
.border-style {
border-top: 2px solid #858585;
border-left: 2px solid #858585;
border-right: 2px solid #F2F2F2;
border-bottom: 2px solid #F2F2F2;
padding: 0 10px;
margin-left: 10px;
}
</style>

View File

@ -84,6 +84,7 @@
<script>
import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { UserOperationType } from '@/scripts/ConstDic';
export default {
name: 'AlarmDetail',
@ -120,7 +121,7 @@ export default {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.alarm.domId : '';
return this.dialogShow ? OperationEvent.StationControl.requestStationControl.awaitAlarm.domId : '';
}
},
watch: {
@ -169,21 +170,11 @@ export default {
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
cancel() {
const operate = {
operation: OperationEvent.Command.close.alarm.operation
};
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) {
this.doClose();
}
});
},
commit() {
const operate = {
operation: OperationEvent.StationControl.requestStationControl.awaitAlarm.operation
cancel: true,
userOperationType: UserOperationType.LEFTCLICK,
operation:OperationEvent.StationControl.requestStationControl.awaitAlarm.operation
};
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });

View File

@ -111,9 +111,6 @@ export default {
}
this.$jlmap.updateShowStation(list);
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
// this.$jlmap.updatePicture(deviceList);
// this.$jlmap.updateTransform(picture.scaling, picture.origin);
// this.$store.dispatch('map/setShowCentralizedStationCode', this.centralizedStationMap[this.roleDeviceCode]);
setTimeout(() => {
this.$jlmap.updatePicture(deviceList);
const trainingDetail = this.$store.state.trainingNew.trainingDetail;

View File

@ -42,7 +42,10 @@ export default {
},
watch: {
'$store.state.trainingNew.stepInfo': function(val) {
const awaitOperateFlag = val && val.tipPosition && val.tipPosition.domId === OperationEvent.StationControl.requestStationControl.awaitAlarm.operation;
let awaitOperateFlag = false;
if (val && val.tipPosition && val.tipPosition.domId === OperationEvent.StationControl.requestStationControl.awaitAlarm.operation) {
awaitOperateFlag = !document.getElementById(OperationEvent.StationControl.requestStationControl.awaitAlarm.domId);
}
if (val && this.trainingDetail && this.trainingDetail.type === 'SINGLE' && val.memberId == this.myMemberId && !awaitOperateFlag) {
this.tipInit();
} else {
@ -79,11 +82,13 @@ export default {
}
}, 10);
},
'$store.state.socket.controlTransfer': function(val) {
const stepInfo = this.$store.state.trainingNew.stepInfo;
const domId = OperationEvent.StationControl.requestStationControl.awaitAlarm.operation;
if (val && val.applicantId == this.$store.state.training.myMemberId && stepInfo && stepInfo.tipPosition && stepInfo.tipPosition.domId === domId) {
setTimeout(() => { this.tipInit(); }, 10);
'$store.state.socket.msgHead': function (val) {
if (val && val.success) {
const stepInfo = this.$store.state.trainingNew.stepInfo;
const domId = OperationEvent.StationControl.requestStationControl.awaitAlarm.operation;
if (val && val.sourceMemberId == this.$store.state.training.myMemberId && stepInfo && stepInfo.tipPosition && stepInfo.tipPosition.domId === domId) {
setTimeout(() => { this.tipInit(); }, 10);
}
}
}
},