This commit is contained in:
joylink_cuiweidong 2020-11-26 14:39:15 +08:00
commit 17e5f13202
6 changed files with 698 additions and 464 deletions

BIN
src/assets/ban-heb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -1,473 +1,394 @@
<template>
<el-dialog v-dialogDrag class="haerbin-01__systerm train-control" :title="title" :visible.sync="show" width="370px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-form ref="form" size="small" label-width="120px" :model="formModel" :rules="rules">
<el-form-item :label="this.$t('menu.groupNumber')+this.$t('global.colon')" prop="groupNumber">
<el-select
:id="domIdTrainNumber"
v-model="formModel.groupNumber"
filterable
:disabled="trainNumberIsDisabled"
@change="trainNumberChange"
>
<el-option
v-for="train in trainList"
:key="train.groupNumber"
:label="train.groupNumber"
:value="train.groupNumber"
/>
</el-select>
</el-form-item>
<el-form-item prop="trainType" label-width="0px">
<el-radio-group
:id="domIdTrainType"
v-model="formModel.trainType"
style="margin-left: 15px;"
@change="trainTypeChange"
>
<el-radio :label="'01'">{{ $t('menu.planTrain') }}</el-radio>
<el-radio :label="'02'">{{ $t('menu.headCodeTrain') }}</el-radio>
<el-radio :label="'03'" style="margin-top:5px;">{{ $t('menu.artificialTrain') }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="formModel.trainType == '01'" prop="serviceNumber">
<span slot="label">{{ $t('menu.serviceNumber') }}</span>
<el-input
:id="domIdServerNo"
v-model="formModel.serviceNumber"
:disabled="serverNoIsDisabled"
/>
</el-form-item>
<el-form-item v-if="formModel.trainType == '01'" :label="this.$t('menu.tripNumber')+this.$t('global.colon')" prop="tripNumber">
<el-input
:id="domIdTrainNo"
v-model="formModel.tripNumber"
:disabled="trainNoIsDisabled"
maxlength="4"
/>
</el-form-item>
<el-form-item v-if="formModel.trainType == '01'" :label="this.$t('menu.targetCode')+this.$t('global.colon')" prop="targetCode">
<el-input
:id="domIdTargetCode"
v-model="formModel.targetCode"
:disabled="targetCodeIsDisabled"
/>
</el-form-item>
<el-form-item v-if="formModel.trainType == '03'" :label="this.$t('menu.category')+this.$t('global.colon')" prop="category">
<el-select
:id="domIdTrainNumber"
v-model="formModel.category"
filterable
:disabled="true"
>
<el-option
v-for="item in categoryList"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="istargetCode" @click="commit">{{ $t('global.confirm') }}</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel">{{ $t('global.cancel') }}</el-button>
</el-col>
</el-row>
<confirm-train ref="confirmTrain" />
<div v-if="dialogShow" id="faultChoose">
<div class="falutChooseTitle">{{ title }}</div>
<div class="closeFalutChoose" @click="doClose">
<span class="el-icon-close closeFalutChooseIn" />
</div>
<div class="card" style="padding: 20px;">
<el-row>
<div style="padding: 0 10px;">
<span>所选区段</span>
<el-input v-model="sectionCode" style="display: inline-block;width: 200px;" :disabled="true" size="small" />
</div>
</el-row>
<el-row>
<div style="display: flex;justify-content: space-between;padding: 10px 20px;border: 1px solid #DCDAC9;border-radius: 6px;">
<el-button size="small" @click="changeMode('show')">显示列车</el-button>
<el-button size="small" @click="changeMode('edit')">编辑列车</el-button>
<el-button size="small" :disabled="true">创建列车</el-button>
<el-button size="small" :disabled="true">删除列车</el-button>
<el-button size="small" :disabled="true">步进列车</el-button>
</div>
</el-row>
<el-row v-if="controlMode === 'show'" style="padding: 10px;">
<el-table :data="tempTableData" style="width: 100%" border height="300">
<el-table-column prop="date" label="方向">
<template slot-scope="scope">
<span>{{ scope.row.right? '右行':'左行' }}</span>
</template>
</el-table-column>
<el-table-column prop="tripNumber" label="车次号">
<template slot-scope="scope">
<span>{{ scope.row.serviceNumber+scope.row.tripNumber+scope.row.destinationCode }}</span>
</template>
</el-table-column>
<el-table-column prop="groupNumber" label="车组号" />
<el-table-column prop="sectionModel.name" label="位置" />
<el-table-column prop="date" label="自排状态">
<template slot-scope="scope">
<span></span>
</template>
</el-table-column>
<el-table-column prop="dt" label="晚点(秒)" />
</el-table>
</el-row>
<el-row v-if="controlMode === 'edit'">
<el-col :span="6">
<el-table :data="tempTableData" style="width: 100%" height="300">
<el-table-column prop="date" label="方向">
<template slot-scope="scope">
<span>{{ scope.row.right? '>':'<' }}</span>
</template>
</el-table-column>
<el-table-column prop="tripNumber" label="车次号">
<template slot-scope="scope">
<span>{{ scope.row.destinationCode+scope.row.serviceNumber+scope.row.tripNumber }}</span>
</template>
</el-table-column>
</el-table>
</el-col>
<el-col :span="17" :offset="1">
<div style="margin-top: 30px;">
<div style="display: inline-block;width: 150px;">选择的车次号</div>
<el-input v-model="tripNum" style="display: inline-block;width: 200px;" :disabled="true" size="small" />
</div>
<div>
<div style="display: inline-block;width: 150px;">新的车次号</div>
<el-input v-model="newTripNum" style="display: inline-block;width: 200px;" size="small" />
<div v-if="newTripNumError" style="font-size: 10px;color: #F00;margin-left: 160px;height: 10px;line-height: 10px"> 请输入正确的车次号</div>
</div>
<div>
<div style="display: inline-block;width: 150px;">自动排列</div>
<el-radio v-model="autoArrange" style="display: inline-block;" :label="true" :disabled="true"></el-radio>
<el-radio v-model="autoArrange" style="display: inline-block;" :label="false" :disabled="true"></el-radio>
</div>
<div>
<div style="display: inline-block;width: 150px;">车组号</div>
<el-input v-model="groupNum" style="display: inline-block;width: 200px;" :disabled="true" size="small" />
</div>
</el-col>
</el-row>
<div style="text-align: right;">
<el-button v-if="controlMode==='edit'" size="small" @click="commit">执行</el-button>
<el-button size="small" @click="doClose">关闭</el-button>
</div>
</div>
<notice-info ref="noticeInfo" pop-class="haerbin-01__systerm" />
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex';
//
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import ConfirmTrain from './childDialog/confirmTrain';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import Handler from '@/scripts/cmdPlugin/Handler';
export default {
name: 'TrainControl',
name: 'FaultChoose',
components: {
ConfirmTrain,
NoticeInfo
},
props: {
offset: {
type: Number,
required: true
}
},
data() {
return {
trainList: [],
categoryList: [
{ name: 'MM', value: '01' }
],
formModel: {
tripNumber: '',
groupNumber: '',
trainType: '01',
serviceNumber: '',
targetCode: '',
category: 'MM'
},
rules: {
groupNumber: [
{ required: true, message: this.$t('rules.selectGroupNumber'), trigger: 'change' }
],
trainType: [
{ required: true, message: this.$t('rules.selectATrainType'), trigger: 'change' }
],
serviceNumber: [
{ required: true, message: this.$t('rules.enterTheServiceNumber'), trigger: 'blur' }
],
tripNumber: [
{ required: true, message: this.$t('rules.enterTheTripNumber'), trigger: 'blur' }
],
targetCode: [
{ required: true, message: this.$t('rules.enterTheTargetCode'), trigger: 'blur' }
]
},
operation: null,
dialogShow: false,
loading: false,
direction: 0
isAdd:false,
controlMode: 'show',
autoArrange: true,
deviceMap: {},
sectionCode: '',
simulationFault:{},
faultList: [],
faultRule:{
targetDeviceCode:'',
targetDeviceType:'',
faultType:'',
condition:{
triggerDeviceCode:'',
triggerDeviceStatus:'',
triggerDeviceType :'',
type:'DEVICE',
triggerTime: '',
triggerAssociatedDeviceCode: ''
}
},
triggerDevice:'',
triggerAssociatedDevice: '',
triggerMode: 'DEVICE',
triggerModeList: [
{label: '设备触发', value: 'DEVICE'},
{label: '时间触发', value: 'TIME'}
],
field:'',
triggerStatusList:[],
faultTypeList:[],
targetDeviceName: '',
tempTableData: [],
tripNum: '',
groupNum: '',
newTripNum: '',
newTripNumError: false
};
},
computed: {
...mapGetters('map', [
'map'
]),
trainNoIsDisabled() {
return false;
},
serverNoIsDisabled() {
return true;
},
targetCodeIsDisabled() {
return true;
},
trainNumberIsDisabled() {
if (this.operation != OperationEvent.Train.addTrainId.menu.operation) {
return true;
}
return '';
},
// trainTypeIsDisabled() {
// if (this.operation != OperationEvent.Train.addTrainId.menu.operation) {
// return true;
// }
// return '';
// },
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdTrainNumber() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
/** 添加列车识别号*/
return OperationEvent.Train.addTrainId.trainNumberChange.domId;
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
/** 修改列车识别号*/
return OperationEvent.Train.editTrainId.trainNumberChange.domId;
}
}
return '';
},
domIdTrainNo() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
/** 添加列车识别号*/
return OperationEvent.Train.addTrainId.trainNoChange.domId;
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
/** 修改列车识别号*/
return OperationEvent.Train.editTrainId.trainNoChange.domId;
}
}
return '';
},
domIdTrainType() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
/** 添加列车识别号*/
return OperationEvent.Train.addTrainId.trainTypeChange.domId;
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
/** 修改列车识别号*/
return OperationEvent.Train.editTrainId.trainTypeChange.domId;
}
}
return '';
},
domIdServerNo() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
/** 添加列车识别号*/
return OperationEvent.Train.addTrainId.serverNoChange.domId;
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
/** 修改列车识别号*/
return OperationEvent.Train.editTrainId.serverNoChange.domId;
}
}
return '';
},
domIdTargetCode() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
/** 添加列车识别号*/
return OperationEvent.Train.addTrainId.targetCodeChange.domId;
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
/** 修改列车识别号*/
return OperationEvent.Train.editTrainId.targetCodeChange.domId;
}
}
return '';
},
domIdConfirm() {
if (this.dialogShow) {
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
/** 添加列车识别号*/
return OperationEvent.Train.addTrainId.menu.domId;
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
/** 修改列车识别号*/
return OperationEvent.Train.editTrainId.menu.domId;
}
}
return '';
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
title() {
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
return this.$t('menu.menuTrain.addTrainId');
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
return this.$t('menu.menuTrain.editTrainId');
}
return '';
},
istargetCode() {
if (this.formModel.serviceNumber && this.formModel.targetCode) {
return false;
}
return true;
return '列车监控和追踪';
}
},
watch: {
'formModel.tripNumber': function(val) {
if (val.length == 4) {
this.trainNoChange(val);
} else {
this.formModel = {
groupNumber: this.formModel.groupNumber,
tripNumber: val,
trainType: this.formModel.trainType,
serviceNumber: '',
targetCode: '',
category: 'MM'
};
watch:{
'$store.state.menuOperation.selectedCount':function(em) {
const device = this.$store.state.menuOperation.selected;
if (device && device.code && device.deviceType === 'TRAIN') {
this.tempTableData = [device];
this.sectionCode = device.sectionModel.name;
this.tripNum = device.destinationCode + device.serviceNumber + device.tripNumber;
this.groupNum = device.groupNumber;
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
loadInitData(map) {},
doShow(operate, selected) {
//
if (!this.dialogShow) {
this.operation = operate.operation;
}
const model = this.$store.getters['map/getDeviceByCode'](selected.code);
this.formModel = {
groupNumber: model.groupNumber,
// ${model.directionCode}
tripNumber: `${model.tripNumber}`,
trainType: model.type,
serviceNumber: model.serviceNumber,
targetCode: model.targetCode,
category: 'MM'
};
/** 加载列车数据*/
this.loadInitData(this.map);
doShow() {
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
this.tempTableData = [];
this.sectionCode = '';
this.controlMode = 'show';
this.tripNum = '';
this.groupNum = '';
this.newTripNum = '';
this.newTripNumError = false;
this.$nextTick(()=>{
this.dragEvent();
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
this.$store.dispatch('map/setTrainWindowShow', false);
},
trainNumberChange(groupNumber) {
const operate = {
val: `${groupNumber}`,
operation: ''
};
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
operate.operation = OperationEvent.Train.addTrainId.trainNumberChange.operation;
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
operate.operation = OperationEvent.Train.editTrainId.trainNumberChange.operation;
}
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
}
});
},
trainTypeChange(trainType) {
const operate = {
val: `${trainType}`,
operation: ''
};
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
operate.operation = OperationEvent.Train.addTrainId.trainTypeChange.operation;
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
operate.operation = OperationEvent.Train.editTrainId.trainTypeChange.operation;
}
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
}
});
},
trainNoChange(tripNumber) {
const operate = {
send: true,
val: tripNumber,
operation: ''
};
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
operate.operation = OperationEvent.Train.addTrainId.trainNoChange.operation;
operate.cmdType = CMD.Train.addTrainId;
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
operate.operation = OperationEvent.Train.editTrainId.trainNoChange.operation;
operate.cmdType = CMD.Train.editTrainId;
}
Handler.undo(1);
this.$store.dispatch('training/nextNew', operate).then(({ valid, response }) => {
if (valid) {
if (response.data) {
this.formModel = {
groupNumber: this.formModel.groupNumber,
tripNumber: tripNumber,
trainType: this.formModel.trainType,
serviceNumber: response.data.serviceNumber,
targetCode: response.data.targetCode,
category: 'MM'
};
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else {
this.formModel = {
groupNumber: this.formModel.groupNumber,
tripNumber: tripNumber,
trainType: this.formModel.trainType,
serviceNumber: '',
targetCode: '',
category: 'MM'
};
}
}
});
changeMode(val) {
this.controlMode = val;
},
commit() {
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
/** 增加列车识别号*/
this.addTrainId();
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
/** 修改列车识别号*/
this.editTrainId();
this.newTripNumError = false;
if (this.newTripNum && this.newTripNum.length === 9) {
const params = {
groupNumber: this.groupNumber,
tripNumber: this.newTripNum.slice(6, 9),
serviceNumber: this.newTripNum.slice(3, 6)
};
const step = {
over: true,
cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN,
operation: OperationEvent.Train.setPlanTrainId.menu.operation,
param: params
};
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
}
}).catch((error) => {
console.error(error);
this.$refs.noticeInfo.doShow();
});
} else {
this.newTripNumError = true;
}
},
//
addTrainId() {
this.$refs['form'].validate((valid) => {
if (valid) {
const model = this.formModel;
const operate = {
send: true,
dragEvent() {
const offset = this.offset;
const dialogHeaderEl = document.querySelector('.falutChooseTitle');
const dragDom = document.querySelector('#faultChoose');
dialogHeaderEl.style.cursor = 'move';
operation: OperationEvent.Train.addTrainId.menu.operation,
cmdType: CMD.Train.CMD_ADD_TRAIN_ID,
messages: [this.$t('tip.addTrainIdTip')],
val: `${model.groupNumber}::${model.trainType}::${model.serviceNumber}::${model.tripNumber}::${model.targetCode}`
};
/** 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);*/
const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.confirmTrain.doShow(operate);
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
dialogHeaderEl.onmousedown = (e) => {
/** 鼠标按下,计算当前元素距离可视区的距离*/
const disX = e.clientX - dialogHeaderEl.offsetLeft;
const disY = e.clientY - dialogHeaderEl.offsetTop;
/** 获取到的值带px 正则匹配替换*/
let styL, styT;
/** 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px*/
if (sty.left.includes('%')) {
// eslint-disable-next-line no-useless-escape
styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100);
styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100);
} else {
return false;
// eslint-disable-next-line no-useless-escape
styL = +sty.left.replace(/\px/g, '');
// eslint-disable-next-line no-useless-escape
styT = +sty.top.replace(/\px/g, '');
}
});
},
//
editTrainId() {
this.$refs['form'].validate((valid) => {
if (valid) {
const operate = {
send: true,
operation: OperationEvent.Train.editTrainId.menu.operation,
cmdType: CMD.Train.CMD_EDIT_TRAIN_ID,
messages: [this.$t('tip.editTrainIdTip')],
val: `${this.formModel.trainType}::${this.formModel.tripNumber}`
};
document.onmousemove = function (e) {
/** 通过事件委托,计算移动的距离*/
const l = e.clientX - disX;
const t = e.clientY - disY;
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.confirmTrain.doShow(operate);
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
} else {
return false;
}
});
},
cancel() {
const operate = {
/** 移动当前元素*/
// dragDom.style.left = `${l + styL}px`;
// dragDom.style.top = `${t + styT}px`;
operation: OperationEvent.Command.cancel.menu.operation
/** 移动当前元素*/
if (l + styL < 0) {
dragDom.style.left = `0px`;
} else if (l + styL > document.body.clientWidth - dragDom.clientWidth - 10) {
dragDom.style.left = `${document.body.clientWidth - dragDom.clientWidth - 10}px`;
} else {
dragDom.style.left = `${l + styL}px`;
}
if (t + styT <= offset) {
dragDom.style.top = offset + `px`;
} else if (t + styT > document.body.clientHeight - dragDom.clientHeight - 10) {
dragDom.style.top = `${document.body.clientHeight - dragDom.clientHeight - 10}px`;
} else {
dragDom.style.top = `${t + styT}px`;
}
/** 将此时的位置传出去*/
// binding.value({ x: e.pageX, y: e.pageY });
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
};
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style lang="scss">
#faultChoose .card .queryList .el-card .el-card__body .el-table--border .el-table__body-wrapper{
height: 135px !important;
overflow-y: auto !important;
}
#faultChoose .el-button--mini {
margin-left: 5px;
}
.triggerFaultListLeft{
display: inline-block;
float: left;
width: 730px;
}
// safariqq360
//
#faultChoose .el-table__body-wrapper::-webkit-scrollbar {
width: 6px;
height: 6px;
// height: 110px;
background-color: #FFFFFF;
}
/*定义滚动条轨道 内阴影+圆角*/
#faultChoose .el-table__body-wrapper::-webkit-scrollbar-track {
// box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
background-color: #FFFFFF;;
}
/*定义滑块 内阴影+圆角*/
#faultChoose .el-table__body-wrapper::-webkit-scrollbar-thumb {
border-radius: 10px;
// box-shadow: inset 0 0 6px rgba(0,0,0,.3);
background-color: #eaeaea;
}
/*滑块效果*/
#faultChoose .el-table__body-wrapper::-webkit-scrollbar-thumb:hover {
border-radius: 5px;
// box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
background: rgba(0,0,0,0.4);
}
/*IE滚动条颜色*/
html {
scrollbar-face-color:#bfbfbf;/*滚动条颜色*/
scrollbar-highlight-color:#000;
scrollbar-3dlight-color:#000;
scrollbar-darkshadow-color:#000;
scrollbar-Shadow-color:#adadad;/*滑块边色*/
scrollbar-arrow-color:rgba(0,0,0,0.4);/*箭头颜色*/
scrollbar-track-color:#eeeeee;/*背景颜色*/
}
</style>
<style scoped rel="stylesheet/scss" lang="scss">
.triggerFaultInfo{
margin-bottom:10px;
padding: 10px 0px 10px 15px;
}
.triggerFaultList{
font-size: 14px;
margin-top: 10px;
line-height: 20px;
}
.triggerFaultTitle{
font-size: 15px;
font-weight: bold;
}
.falutChooseTitle{
cursor: all-scroll;
background-color: #0054E5;
height: 30px;
line-height: 30px;
color: #fff;
padding-left: 10px;
border-radius: 6px 6px 0 0;
}
#faultChoose{
width: 1000px;
position: absolute;
left: 30%;
top: 20%;
padding:0px 0px 15px 0px;
// transform: translate3d(-50%,-50%,0);
border-radius: 6px;
z-index:999;
background-color: #ECE9D8;
}
.faultChooseFoot{
display: inline-block;
float: right;
margin-right: 20px;
margin-top: 20px;
}
.closeFalutChoose{
position: absolute;
right: 0px;
top: 0px;
width: 30px;
height: 30px;
cursor: pointer;
line-height: 30px;
}
.closeFalutChooseIn{
font-size: 20px;
margin-left: 5px;
background-color: #f00;
color: #FFF;
border: 1px solid #fff;
border-radius: 5px;
}
/deep/ .el-table th{
background-color: #ECE9D8;
padding: 0;
}
/deep/.el-table td{
padding: 0;
}
</style>

View File

@ -87,7 +87,7 @@
<el-row class="button-row">
<div class="div-simulate-button" @click="undeveloped">系统</div>
<div class="div-simulate-button" @click="undeveloped">联锁</div>
<div class="div-simulate-button" @click="undeveloped">列监</div>
<div class="div-simulate-button" @click="trainControlShow">列监</div>
<div class="div-simulate-button" @click="undeveloped">站控</div>
<div class="div-simulate-button" @click="undeveloped">车场</div>
<div class="div-simulate-button" @click="undeveloped">编表</div>
@ -138,6 +138,7 @@
<notice-info ref="noticeInfo" pop-class="haerbin-01__systerm" />
<alarm-table-low ref="alarmTableLow" />
<alarm-table-hmi ref="alarmTableHmi" />
<train-control ref="trainControl" :offset="10" />
<audio id="buzzer" controls loop="loop" style="width: 0;height: 0">
<source :src="buzzerAudio" type="audio/mpeg">
</audio>
@ -152,13 +153,15 @@ import voiceClose from '@/assets/voiceClose.png';
import BuzzerAudio from '@/assets/buzzer.mp3';
import AlarmTableHmi from './menuDialog/alarmTableHmi';
import AlarmTableLow from './menuDialog/alarmTableLow';
import TrainControl from './dialog/trainControl';
export default {
name: 'MenuBar',
components: {
NoticeInfo,
AlarmTableLow,
AlarmTableHmi
AlarmTableHmi,
TrainControl
},
props: {
selected: {
@ -418,6 +421,9 @@ export default {
showLowAlarm(level) {
this.$refs.alarmTableLow.doShow(level);
},
trainControlShow() {
this.$refs.trainControl.doShow();
},
controlAudio(val) {
const audio = document.getElementById('buzzer');
this.sound = val;

View File

@ -2,8 +2,33 @@
<div id="menuButton" class="menuButton">
<div class="haerbin-01__systerm button">
<el-row>
<el-col :span="11">
<div class="nav-border">
<el-col v-if="!trainOperationShow" :span="11">
<div v-if="secondConfirm" class="nav-border">
<el-row>
<div class="nav-border-top-cr">
<el-button :id="cr1ConfrimId" class="fl" :class="{'disabled': cr1Confrim}" style="line-height: 18px; margin-top: 4px;" :disabled="cr1Confrim" plain @click="clickCr1Confirm">CR1</el-button>
<el-button :id="cr2ConfirmId" class="fr" :class="{'disabled': !cr1Confrim}" style="line-height: 18px; margin-top: 4px;" :disabled="!cr1Confrim" plain @click="clickCr2Confirm">CR2</el-button>
</div>
</el-row>
<el-row>
<el-col :span="5">
<img :src="banIcon" class="ban-img">
</el-col>
<el-col :span="19">
<div style="display: flex;justify-content: flex-start;margin-top: 10px;">
<div style="height: 10px;width: 70px;background-color: #F00;" />
<div style="height: 10px;width: 70px;background-color: #0F0;margin-left: 40px;" />
<div style="height: 10px;width: 70px;background-color: #00F;margin-left: 40px;" />
</div>
<div class="color-strip-container" style="">
<div style="height: 10px;width: 70px;background-color: #F00;" />
<div style="height: 10px;width: 70px;background-color: #0F0;margin-left: 40px;" />
<div style="height: 10px;width: 70px;background-color: #00F;margin-left: 40px;" />
</div>
</el-col>
</el-row>
</div>
<div v-else class="nav-border">
<el-row class="nav-border-row">
<template v-for="(item, index) in centralizedStationList">
<div :key="index" class="nav-border-row row-width-box flex-row">
@ -16,10 +41,10 @@
</el-row>
</div>
</el-col>
<el-col :span="10">
<el-col v-if="!trainOperationShow" :span="10">
<div class="nav-border">
<div class="nav-border-top">
<el-button :id="commandId" class="fl" :class="{'disabled': canCommand}" style="line-height: 18px; margin-top: 4px;" plain :disabled="canCommand" @click="command">执行</el-button>
<el-button :id="commandId" class="fl" :class="{'disabled': canCommand || secondConfirm}" style="line-height: 18px; margin-top: 4px;" plain :disabled="canCommand || secondConfirm" @click="command">执行</el-button>
<el-button class="fr" style="line-height: 18px; margin-top: 4px;" plain @click="cancle">取消</el-button>
</div>
<div class="nav-border-bottom">
@ -39,11 +64,59 @@
</div>
</div>
</el-col>
<el-col v-if="trainOperationShow" :span="10" style="padding: 1px;">
<div class="nav-border" style="padding: 5px;">
<el-row style="height: 25px;">
<div style="display: flex;justify-content: space-between">
<el-button size="mini" plain>车次号修改</el-button>
<el-button size="mini" plain :disabled="true">车次号删除</el-button>
<el-button size="mini" plain :disabled="true">车次号创建</el-button>
<el-button size="mini" plain :disabled="true">车次号步进</el-button>
</div>
</el-row>
<el-row style="height: 25px;line-height: 25px;border-top: 2px solid #7E8076;border-left: 2px solid #6A6B64;border-right: 2px solid #FBFBFA;">
<el-col :span="6" style="border-right: 1px solid #808080;">轨道号</el-col>
<el-col :span="6" style="border-right: 1px solid #808080;border-left: 1px solid #FBFBFB;">车次号</el-col>
<el-col :span="6" style="border-right: 1px solid #808080;border-left: 1px solid #FBFBFB;">车底号1</el-col>
<el-col :span="6" style="border-left: 1px solid #FBFBFB;">车底号2</el-col>
</el-row>
<el-row style="height: 25px;line-height: 25px;border-left: 2px solid #6A6B64;border-right: 2px solid #FBFBFA;color: #FFF;">
<el-col :span="6" style="background-color: #0A246A;border-right: 1px solid #475475;height: 25px;">{{ (trainModel.sectionModel || {}).name }}</el-col>
<el-col :span="6" style="background-color: #0A246A;border-right: 1px solid #475475;border-left: 1px solid #7F7F7F;height: 25px;">{{ trainModel.serviceNumber?trainModel.destinationCode + trainModel.serviceNumber + trainModel.tripNumber:'' }}</el-col>
<el-col :span="6" style="background-color: #0A246A;border-right: 1px solid #475475;border-left: 1px solid #7F7F7F;height: 25px;" />
<el-col :span="6" style="background-color: #0A246A;border-left: 1px solid #7F7F7F;height: 25px;" />
</el-row>
</div>
</el-col>
<el-col v-if="trainOperationShow" :span="5" style="padding: 1px;">
<div class="nav-border" style="padding: 5px;">
<el-row style="display: flex;align-items: center;">
<el-col :span="7" style="height: 25px;line-height: 25px;">车次号</el-col>
<el-col :span="17"><el-input v-model="formModelTripNum" size="mini" style="height: 20px;" :disabled="true" /></el-col>
</el-row>
<el-row style="display: flex;align-items: center;">
<el-col :span="7" style="height: 25px;line-height: 25px;">轨道号</el-col>
<el-col :span="17"><el-input v-model="formModelSectionName" size="mini" style="height: 20px;" :disabled="true" /></el-col>
</el-row>
<el-row style="display: flex;align-items: center;">
<el-col :span="7" style="height: 25px;line-height: 25px;">新车次号</el-col>
<el-col :span="17"><el-input v-model="formModelNewTrip" size="mini" style="height: 20px;" /></el-col>
</el-row>
</div>
</el-col>
<el-col v-if="trainOperationShow" :span="6" style="padding: 1px;">
<div class="nav-border">
<div style="display: flex;justify-content: space-around;width: 100%;height: 45px;align-items: center;border-bottom: 2px solid #FBFBFA;">
<el-button style="line-height: 18px; width: 100px; margin: 0;" plain @click="trainCommit">执行</el-button>
<el-button style="line-height: 18px; width: 100px; margin: 0;" plain @click="doClose">退出</el-button>
</div>
</div>
</el-col>
<el-col :span="3">
<div class="nav-border flex-box">
<el-button style="line-height: 18px; width: 100px; margin: 0;" plain>联锁</el-button>
<el-button style="line-height: 18px; width: 100px; margin: 0;" plain @click="changeShowMode(false)">联锁</el-button>
<el-button style="line-height: 18px; width: 100px; margin: 0;" plain>时刻表</el-button>
<el-button style="line-height: 18px; width: 100px; margin: 0;" plain>ATS</el-button>
<el-button style="line-height: 18px; width: 100px; margin: 0;" plain @click="changeShowMode(true)">ATS</el-button>
</div>
</el-col>
</el-row>
@ -58,6 +131,7 @@ import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo'
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { TrainingMode } from '@/scripts/ConstDic';
import BanIcon from '@/assets/ban-heb.png';
export default {
components: {
NoticeInfo
@ -75,8 +149,10 @@ export default {
tempData: [],
oldDevice: null, //
canCommand: true,
cr1Confrim: false,
operate: '',
cmdType: '',
securityCommand: '',
switchRelevanceSectionList: [], //
param: {},
tableStyle: {
@ -104,7 +180,15 @@ export default {
stationParamList: [],
standParamList: [],
routeParamList: [],
directionRodParamList: []
directionRodParamList: [],
secondConfirm: false,
banIcon: BanIcon,
timer: null,
trainOperationShow: false,
trainModel: {},
formModelTripNum: '',
formModelSectionName: '',
formModelNewTrip: ''
};
},
computed: {
@ -114,6 +198,12 @@ export default {
]),
commandId() {
return OperationEvent.Command.commandHaerbin.confirm.domId;
},
cr1ConfrimId() {
return OperationEvent.Command.commandHaerbin.confrimCr1.domId;
},
cr2ConfirmId() {
return OperationEvent.Command.commandHaerbin.confrimCr2.domId;
}
},
watch: {
@ -160,6 +250,9 @@ export default {
case 'DirectionRod':
this.handleDirectionRodMenu();
break;
case 'Train':
this.handleTrainParam();
break;
}
}
}).catch((error) => {
@ -173,6 +266,7 @@ export default {
}
},
'$store.state.training.prdType': function (val) {
this.trainOperationShow = false;
this.initMenus();
this.initRouteMenus();
},
@ -237,6 +331,7 @@ export default {
this.operate = row.operate.operation;
this.cmdType = row.cmdType;
this.canCommand = false;
this.securityCommand = row.securityCommand;
step.operation = this.operate;
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
@ -486,30 +581,79 @@ export default {
command() {
this.handleParam();
const step = {
over: true,
cmdType: this.cmdType,
operation: OperationEvent.Command.commandHaerbin.confirm.operation,
param: this.param
};
if (!this.securityCommand) {
step.over = true;
step.cmdType = this.cmdType;
}
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid && this.securityCommand) {
this.secondConfirm = true;
const that = this;
this.timer = setTimeout(() => {
that.cancle();
}, 15000);
} else if (valid) {
this.doClose();
}
}).catch((error) => {
console.error(error);
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
clickCr1Confirm() {
clearTimeout(this.timer);
const step = {
operation: OperationEvent.Command.commandHaerbin.confrimCr1.operation
};
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.cr1Confrim = true;
const that = this;
this.timer = setTimeout(() => {
that.cancle();
}, 10000);
}
}).catch((error) => {
console.error(error);
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
clickCr2Confirm() {
clearTimeout(this.timer);
const step = {
over: true,
cmdType: this.cmdType,
operation: OperationEvent.Command.commandHaerbin.confrimCr2.operation
};
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch((error) => {
this.doClose();
console.error(error);
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
cancle() {
if (this.$store.state.training.mode != TrainingMode.TEACH) {
clearTimeout(this.timer);
this.doClose();
}
},
doClose() {
this.deviceHighLight(this.oldDevice, false); //
this.changeShowMode(false);
this.operate = ''; //
this.cmdType = '';
this.securityCommand = '';
this.secondConfirm = false;
this.cr1Confrim = false;
if (this.oldClickObj) {
this.deviceHighLight(this.oldClickObj, false);
}
@ -520,6 +664,46 @@ export default {
this.oldClickObj = null; //
this.clearAllMenuShow();
},
handleTrainParam() {
this.trainModel = this.selectedObj;
this.formModelTripNum = this.trainModel.destinationCode + this.trainModel.serviceNumber + this.trainModel.tripNumber;
this.formModelSectionName = this.trainModel.sectionModel.name;
this.formModelNewTrip = '';
},
changeShowMode(flag) {
if (this.$store.state.training.prdType === '01') {
this.trainModel = {};
this.formModelTripNum = '';
this.formModelSectionName = '';
this.trainOperationShow = flag;
}
},
trainCommit() {
if (this.formModelNewTrip && this.formModelNewTrip.length === 9) {
const params = {
groupNumber: this.trainModel.groupNumber,
tripNumber: this.formModelNewTrip.slice(6, 9),
serviceNumber: this.formModelNewTrip.slice(3, 6)
};
const step = {
over: true,
cmdType: CMD.TrainWindow.CMD_TRAIN_SET_PLAN,
operation: OperationEvent.Train.setPlanTrainId.menu.operation,
param: params
};
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.changeShowMode(true);
}
}).catch((error) => {
console.error(error);
this.$refs.noticeInfo.doShow();
});
} else {
this.$refs.noticeInfo.doShow('请输入正确的车次号');
}
},
initMenus() {
this.basicParamList = [
{ name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' },
@ -614,6 +798,12 @@ export default {
}
};
</script>
<style lang="scss" scoped>
/deep/ .el-input--mini .el-input__inner{
height: 20px;
line-height: 20px;
}
</style>
<style lang="scss">
#menuButton{
position: absolute;
@ -654,6 +844,30 @@ export default {
width: 100px;
}
}
.nav-border-top-cr{
height: 30px;
padding: 0 20px;
width: 100%;
font-size: 12px;
color: #000;
border-bottom: 2px solid #FBFBFA;
.fl {
float: left;
width: 100px;
&.disabled{
border: none!important;
color: #ccc!important;
}
}
.fr{
float: right;
width: 100px;
&.disabled{
border: none!important;
color: #ccc!important;
}
}
}
.nav-border-bottom{
height: 56px;
width: 100%;
@ -727,4 +941,61 @@ export default {
background-color: #2b68c3!important;
color: #fff;
}
.color-strip-container{
display: flex;
justify-content: flex-start;
margin-top: 10px;
animation: colorStrip 2s ease-in-out infinite;
-moz-animation: colorStrip 2s ease-in-out infinite;
-webkit-animation: colorStrip 2s ease-in-out infinite;
-o-animation: colorStrip 2s ease-in-out infinite;
}
@keyframes colorStrip
{
from {opacity: 1;}
to {opacity: 0;}
}
@-moz-keyframes colorStrip /* Firefox */
{
from {opacity: 1;}
to {opacity: 0;}
}
@-webkit-keyframes colorStrip /* Safari 和 Chrome */
{
from {opacity: 1;}
to {opacity: 0;}
}
@-o-keyframes colorStrip /* Opera */
{
from {opacity: 1;}
to {opacity: 0;}
}
.ban-img{
height: 48px;
width: 48px;
animation: imageRotation 2s linear infinite;
-moz-animation: imageRotation 2s linear infinite;
-webkit-animation: imageRotation 2s linear infinite;
-o-animation: imageRotation 2s linear infinite;
}
@keyframes imageRotation
{
from {transform: rotate(0);}
to {transform: rotate(360deg);}
}
@-moz-keyframes imageRotation /* Firefox */
{
from {transform: rotate(0);}
to {transform: rotate(360deg);}
}
@-webkit-keyframes imageRotation /* Safari 和 Chrome */
{
from {transform: rotate(0);}
to {transform: rotate(360deg);}
}
@-o-keyframes imageRotation /* Opera */
{
from {transform: rotate(0);}
to {transform: rotate(360deg);}
}
</style>

View File

@ -69,11 +69,11 @@ export default {
// trainingType: 'Section',
// productTypes: ['02'],
// stepVOList: [
// { deviceType: '03', orderNum: 1, operateCode: '404', tip: '鼠标右键菜单选择【区段解封】' },
// { deviceType: '03', orderNum: 2, operateCode: '4041', tip: '鼠标左键点击【下达】按钮' },
// { deviceType: '03', orderNum: 3, operateCode: '4043', tip: '鼠标左键点击【确认1】按钮' },
// { deviceType: '03', orderNum: 4, operateCode: '4044', tip: '鼠标左键点击【确认2】按钮' },
// { deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
// { deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标右键菜单选择【区段解封】' },
// { deviceType: '03', orderNum: 2, operateCode: '4047', tip: '鼠标左键点击【下达】按钮' },
// { deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【确认1】按钮' },
// { deviceType: '03', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【确认2】按钮' },
// { deviceType: '03', orderNum: 5, operateCode: '0081', tip: '鼠标左键点击【关闭】按钮' }
// ]
// },
{
@ -84,11 +84,13 @@ export default {
trainingName: '区段解封({8}{9})',
trainingRemark: '区段解封功能',
trainingType: 'Section',
productTypes: ['01'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该区段' },
{ deviceType: '03', orderNum: 2, operateCode: '4047', tip: '鼠标左键点击【解封区段】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
// {
@ -118,11 +120,13 @@ export default {
trainingName: '轨区设限({8}{9})',
trainingRemark: '区段设置限速功能限速值5',
trainingType: 'Section',
productTypes: ['01'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该区段' },
{ deviceType: '03', orderNum: 2, operateCode: '4077', tip: '鼠标左键点击【轨区设限】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
// {
@ -151,11 +155,13 @@ export default {
trainingName: '轨区消限({8}{9})',
trainingRemark: '区段取消限速功能',
trainingType: 'Section',
productTypes: ['01'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该区段' },
{ deviceType: '03', orderNum: 2, operateCode: '4086', tip: '鼠标左键点击【轨区消限】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -166,11 +172,13 @@ export default {
trainingName: '强解区段({8}{9})',
trainingRemark: '强解区段功能',
trainingType: 'Section',
productTypes: ['01'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该区段' },
{ deviceType: '03', orderNum: 2, operateCode: '4029', tip: '鼠标左键点击【强解区段】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -285,11 +293,13 @@ export default {
trainingName: '道岔单解({7})',
trainingRemark: '道岔单解功能',
trainingType: 'Switch',
productTypes: ['01'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '02', orderNum: 2, operateCode: '1047', tip: '鼠标左键点击【取消锁定】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '02', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -344,11 +354,13 @@ export default {
trainingName: '道岔解封({7})',
trainingRemark: '道岔解封功能',
trainingType: 'Switch',
productTypes: ['01'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '02', orderNum: 2, operateCode: '1067', tip: '鼠标左键点击【解封道岔】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '02', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -374,11 +386,13 @@ export default {
trainingName: '道岔区段解封({7})',
trainingRemark: '区段解封功能',
trainingType: 'Switch',
productTypes: ['01'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '03', orderNum: 2, operateCode: '4047', tip: '鼠标左键点击【解封区段】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -389,11 +403,13 @@ export default {
trainingName: '强解区段({7})',
trainingRemark: '强解区段',
trainingType: 'Switch',
productTypes: ['01'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '03', orderNum: 2, operateCode: '4029', tip: '鼠标左键点击【强解区段】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -404,11 +420,13 @@ export default {
trainingName: '道岔轨区设限({7})',
trainingRemark: '轨区设限功能',
trainingType: 'Switch',
productTypes: ['01'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '03', orderNum: 2, operateCode: '1137', tip: '鼠标左键点击【轨区设限】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -419,11 +437,13 @@ export default {
trainingName: '道岔轨区消限({7})',
trainingRemark: '轨区消限功能',
trainingType: 'Switch',
productTypes: ['01'],
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '03', orderNum: 2, operateCode: '1146', tip: '鼠标左键点击【轨区消限】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -536,7 +556,9 @@ export default {
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: '3077', tip: '鼠标左键点击【解封信号】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '04', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -551,7 +573,9 @@ export default {
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: '3077', tip: '鼠标左键点击【解封信号】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '04', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -911,7 +935,9 @@ export default {
// { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台' },
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台', subType:'trainSetButton'},
{ deviceType: '04', orderNum: 2, operateCode: '5025', tip: '鼠标左键点击【越站】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '04', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{
@ -927,7 +953,9 @@ export default {
// { deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台' },
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该站台', subType:'trainSetButton'},
{ deviceType: '04', orderNum: 2, operateCode: '5035', tip: '鼠标左键点击【取消越站】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '0081', tip: '鼠标左键点击【CR1】按钮' },
{ deviceType: '04', orderNum: 5, operateCode: '0082', tip: '鼠标左键点击【CR2】按钮' }
]
},
{

View File

@ -225,6 +225,14 @@ export const OperationEvent = {
confirm: {
operation: '008',
domId: '_Tips-commandHaerbin-confirm{BOTTOM}'
},
confrimCr1: {
operation: '0081',
domId: '_Tips-commandHaerbin-confrimCr1{BOTTOM}'
},
confrimCr2: {
operation: '0082',
domId: '_Tips-commandHaerbin-confirmCr2{BOTTOM}'
}
}
},