This commit is contained in:
joylink_cuiweidong 2020-03-30 16:16:29 +08:00
commit 68f77a25b6
20 changed files with 545 additions and 104 deletions

View File

@ -9,6 +9,7 @@ export default class ELines extends Group {
this.model = model; this.model = model;
this.zlevel = model.zlevel; this.zlevel = model.zlevel;
this.z = model.z; this.z = model.z;
this.sections = [];
this.create(model); this.create(model);
} }
@ -48,7 +49,7 @@ export default class ELines extends Group {
this.add(this.section); this.add(this.section);
} else { } else {
for (let i = 0; i < (model.points.length - 1); i++) { for (let i = 0; i < (model.points.length - 1); i++) {
this.add(new Line({ this.section = new Line({
isLine: true, isLine: true,
zlevel: this.zlevel, zlevel: this.zlevel,
progressive: model.progressive, progressive: model.progressive,
@ -63,7 +64,9 @@ export default class ELines extends Group {
lineWidth: model.style.Section.line.width, lineWidth: model.style.Section.line.width,
stroke: stroke stroke: stroke
} }
})); });
this.sections.push(this.section);
this.add(this.section);
} }
} }
} }
@ -125,4 +128,16 @@ export default class ELines extends Group {
this.lineBorder && this.lineBorder.show(); this.lineBorder && this.lineBorder.show();
} }
} }
getBoundingRect() {
if (this.model.isCurve) {
return this.section.getBoundingRect().clone();
} else {
const rect = this.sections[0].getBoundingRect();
this.sections.forEach(section => {
rect.union(section.getBoundingRect().clone());
});
return rect;
}
}
} }

View File

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

View File

@ -204,16 +204,15 @@ export default {
} }
if (this.selection.length > 0) { if (this.selection.length > 0) {
this.commitDisabled = false; this.commitDisabled = false;
this.handleChooseChange();
} else { } else {
this.commitDisabled = true; this.commitDisabled = true;
} }
}, },
handleChooseChange(selection) { handleChooseChange() {
this.selection = selection; const codeList = this.selection.map(elem => { return elem.code; });
const codeList = selection.map(elem => { return elem.code; });
if (codeList && codeList.length) { if (codeList && codeList.length) {
const operate = { const operate = {
repeat: true,
operation: '', operation: '',
val: codeList.join('::') val: codeList.join('::')
}; };
@ -231,7 +230,7 @@ export default {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} }
}); });
} else if (!selection) { } else if (!this.selection) {
this.$messageBox(this.$t('tip.selectAPieceOfData')); this.$messageBox(this.$t('tip.selectAPieceOfData'));
} }
}, },

View File

@ -26,7 +26,7 @@
<el-form-item :label="this.$t('menu.speedLimitValue')" label-width="80px"> <el-form-item :label="this.$t('menu.speedLimitValue')" label-width="80px">
<el-select :id="domIdChoose" v-model="formData.speedLimitValue" size="small" :disabled="spdDisabled" @change="speedSelectChange"> <el-select :id="domIdChoose" v-model="formData.speedLimitValue" size="small" :disabled="spdDisabled" @change="speedSelectChange">
<!-- <el-option v-for="item in speedList" :key="item" :label="item" :value="item" /> --> <!-- <el-option v-for="item in speedList" :key="item" :label="item" :value="item" /> -->
<el-option v-for="item in speedList" :key="item.value" :label="item.name" :value="item.value"></el-option> <el-option v-for="item in speedList" :key="item.value" :label="item.name" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -327,6 +327,7 @@ export default {
this.operation = operate.operation; this.operation = operate.operation;
this.setMessage(this.$t('tip.selectSpeedLimitValueTip')); this.setMessage(this.$t('tip.selectSpeedLimitValueTip'));
if (this.isCancelSpeed) { if (this.isCancelSpeed) {
console.log(tempData, 'tempData');
this.formData.speedLimitValue = `${tempData}`; this.formData.speedLimitValue = `${tempData}`;
this.spdDisabled = true; this.spdDisabled = true;
this.cmdDisabled = [false, true, true]; this.cmdDisabled = [false, true, true];
@ -374,7 +375,8 @@ export default {
} else if (this.operation == OperationEvent.Section.cancelSpeed.menu.operation) { } else if (this.operation == OperationEvent.Section.cancelSpeed.menu.operation) {
/** 区段取消限速*/ /** 区段取消限速*/
operate.operation = OperationEvent.Section.cancelSpeed.order.operation; operate.operation = OperationEvent.Section.cancelSpeed.order.operation;
operate.message = this.$t('menu.in') + `${this.name}` + this.$t('menu.sectionCancelLimitPrefix') + `${this.formData.speedLimitValue}` + this.$t('menu.sectionLimitSuffix'); operate.message = `在【${this.name}】区段,区段取消限速,确认下达吗?`;
// operate.message = this.$t('menu.in') + `${this.name}` + this.$t('menu.sectionCancelLimitPrefix') + `${this.formData.speedLimitValue}` + this.$t('menu.sectionLimitSuffix');
} else if (this.operation == OperationEvent.Switch.setSpeed.menu.operation) { } else if (this.operation == OperationEvent.Switch.setSpeed.menu.operation) {
/** 道岔设置限速*/ /** 道岔设置限速*/
operate.operation = OperationEvent.Switch.setSpeed.order.operation; operate.operation = OperationEvent.Switch.setSpeed.order.operation;
@ -382,7 +384,8 @@ export default {
} else if (this.operation == OperationEvent.Switch.cancelSpeed.menu.operation) { } else if (this.operation == OperationEvent.Switch.cancelSpeed.menu.operation) {
/** 道岔取消限速*/ /** 道岔取消限速*/
operate.operation = OperationEvent.Switch.cancelSpeed.order.operation; operate.operation = OperationEvent.Switch.cancelSpeed.order.operation;
operate.message = this.$t('menu.in') + `${this.name}` + this.$t('menu.switchCancelLimitPrefix') + `${this.formData.speedLimitValue}` + this.$t('menu.sectionLimitSuffix'); operate.message = `在【${this.name}】道岔,道岔取消限速,确认下达吗?`;
// operate.message = this.$t('menu.in') + `${this.name}` + this.$t('menu.switchCancelLimitPrefix') + `${this.formData.speedLimitValue}` + this.$t('menu.sectionLimitSuffix');
} }
this.setMessage(this.$t('tip.firstConfirmTip')); this.setMessage(this.$t('tip.firstConfirmTip'));
@ -434,8 +437,10 @@ export default {
}, },
confirm2() { confirm2() {
const operate = { const operate = {
val: this.formData.speedLimitValue, over: true,
param: this.formData param: {
speedLimitValue: this.formData.speedLimitValue
}
}; };
if (this.operation == OperationEvent.Section.setSpeed.menu.operation) { if (this.operation == OperationEvent.Section.setSpeed.menu.operation) {
@ -446,6 +451,7 @@ export default {
/** 区段取消限速*/ /** 区段取消限速*/
operate.operation = OperationEvent.Section.cancelSpeed.confirm2.operation; operate.operation = OperationEvent.Section.cancelSpeed.confirm2.operation;
operate.cmdType = CMD.Section.CMD_SECTION_SET_LIMIT_SPEED; operate.cmdType = CMD.Section.CMD_SECTION_SET_LIMIT_SPEED;
operate.param.speedLimitValue = '0';
} else if (this.operation == OperationEvent.Switch.setSpeed.menu.operation) { } else if (this.operation == OperationEvent.Switch.setSpeed.menu.operation) {
/** 道岔设置限速*/ /** 道岔设置限速*/
operate.operation = OperationEvent.Switch.setSpeed.confirm2.operation; operate.operation = OperationEvent.Switch.setSpeed.confirm2.operation;
@ -454,6 +460,7 @@ export default {
/** 道岔取消限速*/ /** 道岔取消限速*/
operate.operation = OperationEvent.Switch.cancelSpeed.confirm2.operation; operate.operation = OperationEvent.Switch.cancelSpeed.confirm2.operation;
operate.cmdType = CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED; operate.cmdType = CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED;
operate.param.speedLimitValue = '0';
} }
this.setMessage(''); this.setMessage('');

View File

@ -1,5 +1,5 @@
<template> <template>
<div id="haerbin-01__menuButton"> <div id="menuButton">
<div class="haerbin-01__systerm button"> <div class="haerbin-01__systerm button">
<el-row> <el-row>
<el-col :span="11"> <el-col :span="11">
@ -7,7 +7,7 @@
<el-row class="nav-border-row"> <el-row class="nav-border-row">
<template v-for="(item, index) in centralizedStationList"> <template v-for="(item, index) in centralizedStationList">
<div :key="index" class="nav-border-row row-width-box flex-row"> <div :key="index" class="nav-border-row row-width-box flex-row">
<div v-if="item.name" class="fake-button-active" :class="{'active': item.show}" @click="clickCommand(item)">{{ item.name }}</div> <div v-if="item.name" :id="item.operate.domId" class="fake-button-active" :class="{'active': item.show}" @click="clickCommand(item)">{{ item.name }}</div>
<div v-else class="fake-button" /> <div v-else class="fake-button" />
</div> </div>
</template> </template>
@ -17,7 +17,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="nav-border"> <div class="nav-border">
<div class="nav-border-top"> <div class="nav-border-top">
<el-button 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}" style="line-height: 18px; margin-top: 4px;" plain :disabled="canCommand" @click="command">执行</el-button>
<el-button class="fr" style="line-height: 18px; margin-top: 4px;" plain>取消</el-button> <el-button class="fr" style="line-height: 18px; margin-top: 4px;" plain>取消</el-button>
</div> </div>
<div class="nav-border-bottom"> <div class="nav-border-bottom">
@ -87,79 +87,92 @@ export default {
route: null, // route: null, //
centralizedStationList: new Array(15).fill({}), centralizedStationList: new Array(15).fill({}),
swicthParamList: [ swicthParamList: [
{ name: '封锁道岔', cmdType: CMD.Switch.CMD_SWITCH_BLOCK, operate: OperationEvent.Switch.block.menu.operation, show: false }, { name: '封锁道岔', cmdType: CMD.Switch.CMD_SWITCH_BLOCK, operate: OperationEvent.Switch.block.menu, show: false },
{ name: '解封道岔', cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK, operate: OperationEvent.Switch.unblock.menu.operation, show: false }, { name: '解封道岔', cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK, operate: OperationEvent.Switch.unblock.menu, show: false },
{ name: '取消锁定', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK, operate: OperationEvent.Switch.unlock.menu.operation, show: false }, { name: '取消锁定', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK, operate: OperationEvent.Switch.unlock.menu, show: false },
{ name: '单锁道岔', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK, operate: OperationEvent.Switch.lock.menu.operation, show: false }, { name: '单锁道岔', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK, operate: OperationEvent.Switch.lock.menu, show: false },
{ name: '转换定位', cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION, operate: OperationEvent.Switch.locate.menu.operation, show: false }, { name: '转换定位', cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION, operate: OperationEvent.Switch.locate.menu, show: false },
{ name: '转换反位', cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION, operate: OperationEvent.Switch.reverse.menu.operation, show: false }, { name: '转换反位', cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION, operate: OperationEvent.Switch.reverse.menu, show: false },
{ name: '封锁区段', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu.operation, show: false }, { name: '封锁区段', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show: false },
{ name: '解封区段', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu.operation, show: false }, { name: '解封区段', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu, show: false },
{ name: '轨区消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menu.operation, show: false }, { name: '轨区消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menu, show: false },
{ name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menu.operation, show: false }, { name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menu, show: false },
{ name: '强解区段', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menu.operation, show: false } { name: '强解区段', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menu, show: false }
], ],
signalParamList: [ signalParamList: [
{ name: '追踪单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO, operate: OperationEvent.Signal.setAutoInterlock.menu.operation, show: false }, { name: '追踪单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO, operate: OperationEvent.Signal.setAutoInterlock.menu, show: false },
{ name: '追踪单关', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO, operate: OperationEvent.Signal.cancelAutoInterlock.menu.operation, show: false }, { name: '追踪单关', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO, operate: OperationEvent.Signal.cancelAutoInterlock.menu, show: false },
{ name: '自排单开', cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING, operate: OperationEvent.Signal.atsAutoControl.menu.operation, show: false }, { name: '自排单开', cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING, operate: OperationEvent.Signal.atsAutoControl.menu, show: false },
{ name: '自排单关', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING, operate: OperationEvent.Signal.humanControl.menu.operation, show: false }, { name: '自排单关', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING, operate: OperationEvent.Signal.humanControl.menu, show: false },
{ name: '重复开放', cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL, operate: OperationEvent.Signal.reopenSignal.menu.operation, show: false }, { name: '重复开放', cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL, operate: OperationEvent.Signal.reopenSignal.menu, show: false },
{ name: '封锁信号', cmdType: CMD.Signal.CMD_SIGNAL_BLOCK, operate: OperationEvent.Signal.lock.menu.operation, show: false }, { name: '封锁信号', cmdType: CMD.Signal.CMD_SIGNAL_BLOCK, operate: OperationEvent.Signal.lock.menu, show: false },
{ name: '解封信号', cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK, operate: OperationEvent.Signal.unlock.menu.operation, show: false }, { name: '解封信号', cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK, operate: OperationEvent.Signal.unlock.menu, show: false },
{ name: '关单信号', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL, operate: OperationEvent.Signal.cancelAutoTrigger.menu.operation, show: false } { name: '关单信号', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL, operate: OperationEvent.Signal.cancelAutoTrigger.menu, show: false }
], ],
routeParamList: [ routeParamList: [
{ name: 'ATP进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu.operation, show: false }, { name: 'ATP进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },
{ name: '取消ATP', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu.operation, show: false }, { name: '取消ATP', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false },
{ name: '联锁进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu.operation, show: false }, { name: '联锁进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },
{ name: '取消联锁', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu.operation, show: false }, { name: '取消联锁', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false },
{ name: '引导进路', cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE, operate: OperationEvent.Signal.guide.menu.operation, show: false }, { name: '引导进路', cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE, operate: OperationEvent.Signal.guide.menu, show: false },
{ name: '取消引导', cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE, operate: OperationEvent.Signal.humanTrainRoute.menu.operation, show: false } { name: '取消引导', cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE, operate: OperationEvent.Signal.humanTrainRoute.menu, show: false }
], ],
sectionParamList: [ sectionParamList: [
{ name: '封锁区段', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu.operation, show: false }, { name: '封锁区段', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show: false },
{ name: '解封区段', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu.operation, show: false }, { name: '解封区段', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu, show: false },
{ name: '轨区消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menu.operation, show: false }, { name: '轨区消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menu, show: false },
{ name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menu.operation, show: false }, { name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menu, show: false },
{ name: '强解区段', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menu.operation, show: false } { name: '强解区段', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menu, show: false }
], ],
stationParamList: [ stationParamList: [
{ name: '关站信号', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Signal.cancelTrainRoute.menu.operation, show: false } // { name: '关站信号', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false } //
] ]
}; };
}, },
computed: { computed: {
...mapGetters('map', [ ...mapGetters('map', [
'routeList' 'routeList'
]) ]),
commandId() {
return OperationEvent.Command.commandHaerbin.confirm.domId;
}
}, },
watch: { watch: {
'$store.state.menuOperation.setMenuChangeCount': function (val) { '$store.state.menuOperation.setMenuChangeCount': function (val) {
if (this.selected._type) { if (this.selected._type) {
this.canCommand = true; this.canCommand = true;
// console.log(this.selected, 'selected'); const step = {
switch (this.selected._type) { operation: 'click',
case 'Switch': code: this.selected.code
this.handleSwicthMenu(); };
break; this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
case 'Signal': if (valid) {
if (this.oldClickObj && this.oldClickObj.code != this.selected.code) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.checkSignal(); switch (this.selected._type) {
} else { case 'Switch':
this.handleSingalMenu(); this.handleSwicthMenu();
break;
case 'Signal':
if (this.oldClickObj && this.oldClickObj.code != this.selected.code) {
this.checkSignal();
} else {
this.handleSingalMenu();
}
break;
case 'Section':
this.handleSectionMenu();
break;
// case 'Station':
// this.handleStationMenu();
// this.deviceHighLight(this.oldDevice, false);
// this.deviceHighLight(this.selected, true);
// this.oldDevice = this.selected;
// break;
}
} }
break; }).catch((error) => {
case 'Section': this.$refs.noticeInfo.doShow({}, error.message);
this.handleSectionMenu(); });
break;
// case 'Station':
// this.handleStationMenu();
// this.deviceHighLight(this.oldDevice, false);
// this.deviceHighLight(this.selected, true);
// this.oldDevice = this.selected;
// break;
}
} }
} }
}, },
@ -191,9 +204,19 @@ export default {
this.clearAllMenuShow(); this.clearAllMenuShow();
if (this.tempData.length) { if (this.tempData.length) {
row.show = true; row.show = true;
this.operate = row.operate; this.operate = row.operate.operation;
this.cmdType = row.cmdType; this.cmdType = row.cmdType;
this.canCommand = false; this.canCommand = false;
const step = {
operation: this.operate
};
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
}
}).catch((error) => {
this.$refs.noticeInfo.doShow(step, error.message);
});
} }
}, },
clearAllMenuShow() { clearAllMenuShow() {
@ -313,7 +336,8 @@ export default {
const step = { const step = {
over: true, over: true,
cmdType: this.cmdType, cmdType: this.cmdType,
operation: this.operate, // operation: this.operate,
operation: OperationEvent.Command.commandHaerbin.confirm.operation,
param: this.param param: this.param
}; };
this.$store.dispatch('training/nextNew', step).then(({ valid }) => { this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
@ -342,7 +366,7 @@ export default {
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
#haerbin-01__menuButton{ #menuButton{
position: absolute; position: absolute;
bottom: 0; bottom: 0;
height: 90px; height: 90px;

View File

@ -15,7 +15,7 @@ import SectionCmdControl from './dialog/sectionCmdControl';
import SpeedCmdControl from './dialog/speedCmdControl'; import SpeedCmdControl from './dialog/speedCmdControl';
import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo'; import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum'; import CMD from '@/scripts/cmdPlugin/CommandEnum';
import Handler from '@/scripts/cmdPlugin/Handler'; // import Handler from '@/scripts/cmdPlugin/Handler';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler'; import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic'; import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
@ -284,7 +284,7 @@ export default {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// Handler.execute(CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, {}).then(resp => { // Handler.execute(CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, {}).then(resp => {
// const tempData = resp.data; // const tempData = resp.data;
this.$refs.speedCmdControl.doShow(step, this.selected); this.$refs.speedCmdControl.doShow(step, this.selected, -1);
// }); // });
} }
}); });

View File

@ -2783,6 +2783,367 @@ export const OperationList = {
} }
] ]
}, },
'07': { // 哈尔滨一号线
list: [
{
maxDuration: 15,
minDuration: 8,
operateType: '0405',
skinCode: '07',
trainingName: '区段封锁({8}{9})',
trainingRemark: '区段封锁功能',
trainingType: '04',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '403', tip: '鼠标右键菜单选择【区段封锁】' },
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0405',
skinCode: '07',
trainingName: '区段封锁({8}{9})',
trainingRemark: '区段封锁功能',
trainingType: '04',
productTypes: ['01'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该区段' },
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【封锁区段】' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0406',
skinCode: '07',
trainingName: '区段解封({8}{9})',
trainingRemark: '区段解封功能',
trainingType: '04',
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: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0407',
skinCode: '07',
trainingName: '区段设置限速({8}{9})',
trainingRemark: '区段设置限速功能限速值5',
trainingType: '04',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【区段设置限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值5】', val: '5' },
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0408',
skinCode: '07',
trainingName: '区段取消限速({8}{9})',
trainingRemark: '区段取消限速功能',
trainingType: '04',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '408', tip: '鼠标右键菜单选择【区段取消限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4081', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4082', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4083', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4084', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0312', // 0312 新增定位字典
skinCode: '07',
trainingName: '单操到定位({7})',
trainingRemark: '单操到定位({15})',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '101', tip: '鼠标右键菜单选择【单操到定位】' },
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0313', // 0313 新增定位字典
skinCode: '07',
trainingName: '单操到反位({7})',
trainingRemark: '单操到反位({7})',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '102', tip: '鼠标右键菜单选择【单操到反位】' },
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0301',
skinCode: '07',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0302',
skinCode: '07',
trainingName: '道岔单解({7})',
trainingRemark: '道岔单解功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔单解】' },
{ deviceType: '02', orderNum: 2, operateCode: '104', tip: '鼠标左键点击【下达】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0303',
skinCode: '07',
trainingName: '道岔封锁({7})',
trainingRemark: '道岔封锁功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔封锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0304',
skinCode: '07',
trainingName: '道岔解封({7})',
trainingRemark: '道岔解封功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔解封】' },
{ deviceType: '02', orderNum: 2, operateCode: '106', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0201',
skinCode: '07',
trainingName: '排列进路({3})',
trainingRemark: '选择排列进路',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【排列进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0202',
skinCode: '07',
trainingName: '进路取消({3})',
trainingRemark: '进路取消',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【进路取消】' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0203',
skinCode: '07',
trainingName: '封锁信号({5})',
trainingRemark: '封锁信号',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【封闭信号】' },
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0204',
skinCode: '07',
trainingName: '解封信号({5})',
trainingRemark: '解封信号',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【解封信号】' },
{ deviceType: '04', orderNum: 2, operateCode: '307', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0208',
skinCode: '07',
trainingName: '自排单开({5})',
trainingRemark: '自排单开',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【自排单开】' },
{ deviceType: '04', orderNum: 2, operateCode: '3151', tip: '鼠标左键选择控制状态为"人工"的进路', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '315', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0209',
skinCode: '07',
trainingName: '自排单关({5})',
trainingRemark: '自排单关',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【自排单关】' },
{ deviceType: '04', orderNum: 2, operateCode: '3141', tip: '鼠标左键选择一条进路', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '314', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0205',
skinCode: '07',
trainingName: '关单信号({3})',
trainingRemark: '关单信号',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '313', tip: '鼠标右键菜单选择【关单信号】' },
{ deviceType: '04', orderNum: 2, operateCode: '313', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0206',
skinCode: '07',
trainingName: '信号重开({3})',
trainingRemark: '信号重开',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0211',
skinCode: '07',
trainingName: '设置联锁自动进路({5})',
trainingRemark: '设置联锁自动进路',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【设置联锁自动进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0212',
skinCode: '07',
trainingName: '取消联锁自动进路({5})',
trainingRemark: '取消联锁自动进路',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【取消联锁自动进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0207',
skinCode: '07',
trainingName: '引导进路({3})',
trainingRemark: '引导进路办理',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【引导进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3081', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '3083', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '3084', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '04', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0213',
skinCode: '07',
trainingName: '追踪单开({5})',
trainingRemark: '追踪单开',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '311', tip: '鼠标右键菜单选择【追踪单开】' },
{ deviceType: '04', orderNum: 2, operateCode: '311', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0214',
skinCode: '07',
trainingName: '追踪单关({5})',
trainingRemark: '追踪单关',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '312', tip: '鼠标右键菜单选择【追踪单关】' },
{ deviceType: '04', orderNum: 2, operateCode: '312', tip: '鼠标左键点击【确定】按钮' }
]
}
]
},
'06': { // 宁波一号线 '06': { // 宁波一号线
list: [ list: [
{ {

View File

@ -207,6 +207,13 @@ export const OperationEvent = {
operation: '0071', operation: '0071',
domId: '_Tips-Order-Choose1' domId: '_Tips-Order-Choose1'
} }
},
// 哈尔滨执行命令
commandHaerbin: {
confirm: {
operation: '008',
domId: '_Tips-commandHaerbin-confirm{TOP}'
}
} }
}, },

View File

@ -209,7 +209,7 @@ export default {
this.$router.push({path: `${UrlConfig.design.taskManage}`, query: {mapId: this.$route.params.mapId}}); this.$router.push({path: `${UrlConfig.design.taskManage}`, query: {mapId: this.$route.params.mapId}});
}, },
trainingManage() { trainingManage() {
this.$router.push({path: `${UrlConfig.design.trainingManage}`, query: {mapId: this.$route.params.mapId, drawWay: this.$route.query.drawWay}}); this.$router.push({path: `${UrlConfig.design.trainingManage}`, query: {mapId: this.$route.params.mapId, drawWay: this.$route.query.drawWay, lineCode: this.$route.query.lineCode}});
}, },
operationManage() { operationManage() {
this.$router.push({path: `${UrlConfig.design.trainingRule}`, query: {mapId: this.$route.params.mapId, lineCode: this.$route.query.lineCode}}); this.$router.push({path: `${UrlConfig.design.trainingRule}`, query: {mapId: this.$route.params.mapId, lineCode: this.$route.query.lineCode}});

View File

@ -225,7 +225,7 @@ export default {
if (this.drawWay === 'true') { if (this.drawWay === 'true') {
trainingNotifyNew({ trainingId: node.id }).then(resp => { trainingNotifyNew({ trainingId: node.id }).then(resp => {
/** 区分演示和正式需要在演示时设置lessonId为0*/ /** 区分演示和正式需要在演示时设置lessonId为0*/
const query = { group: resp.data, trainingId: node.id, lessonId: 0, mapId: this.$route.query.mapId}; const query = { group: resp.data, trainingId: node.id, lessonId: 0, mapId: this.$route.query.mapId, lineCode: this.$route.query.lineCode };
this.$router.push({ path: `${UrlConfig.displayNew}/manage`, query: query }); this.$router.push({ path: `${UrlConfig.displayNew}/manage`, query: query });
launchFullscreen(); launchFullscreen();
}).catch(error => { }).catch(error => {
@ -234,7 +234,7 @@ export default {
} else { } else {
trainingNotify({ trainingId: node.id }).then(resp => { trainingNotify({ trainingId: node.id }).then(resp => {
/** 区分演示和正式需要在演示时设置lessonId为0*/ /** 区分演示和正式需要在演示时设置lessonId为0*/
const query = { group: resp.data, trainingId: node.id, lessonId: 0, mapId: this.$route.query.mapId}; const query = { group: resp.data, trainingId: node.id, lessonId: 0, mapId: this.$route.query.mapId };
this.$router.push({ path: `${UrlConfig.display}/manage`, query: query }); this.$router.push({ path: `${UrlConfig.display}/manage`, query: query });
launchFullscreen(); launchFullscreen();
}).catch(error => { }).catch(error => {

View File

@ -4,9 +4,9 @@
<transition name="el-zoom-in-bottom"> <transition name="el-zoom-in-bottom">
<map-system-draft ref="mapCanvas" @back="back" /> <map-system-draft ref="mapCanvas" @back="back" />
</transition> </transition>
<menu-exam v-if="isExam" ref="menuExam" :offset="offset" :group="group" /> <menu-exam v-if="isExam" ref="menuExam" :offset="offset" :offset-bottom="offsetBottom" :group="group" />
<menu-lesson v-if="isLesson" ref="lessonMenu" :offset="offset" :group="group" :training-obj="trainingObj" /> <menu-lesson v-if="isLesson" ref="lessonMenu" :offset="offset" :offset-bottom="offsetBottom" :group="group" :training-obj="trainingObj" />
<menu-demon <menu-demon
v-if="isDemon" v-if="isDemon"
@ -21,12 +21,13 @@
@showScheduling="showScheduling" @showScheduling="showScheduling"
/> />
<menu-script v-if="isScript" ref="menuScript" :offset="offset" :group="group" /> <menu-script v-if="isScript" ref="menuScript" :offset-bottom="offsetBottom" :group="group" />
<menu-schema <menu-schema
v-if="isDemon || isScript " v-if="isDemon || isScript "
ref="menuSchema" ref="menuSchema"
:offset="offset" :offset="offset"
:offset-bottom="offsetBottom"
:group="group" :group="group"
:show-station="showStation" :show-station="showStation"
:station-list="stationList" :station-list="stationList"
@ -106,6 +107,7 @@ export default {
timeDemonNum: 0, timeDemonNum: 0,
checkLine: null, checkLine: null,
offset: 15, offset: 15,
offsetBottom: 15,
mouseNum: 1, mouseNum: 1,
ierval: null, ierval: null,
mouseNumTime: 0, mouseNumTime: 0,
@ -301,18 +303,26 @@ export default {
setPosition() { setPosition() {
this.$nextTick(() => { this.$nextTick(() => {
let offset = 15; let offset = 15;
let offsetBottom = 15;
const menuBar = document.getElementById('menuBar'); const menuBar = document.getElementById('menuBar');
const menuTool = document.getElementById('menuTool'); const menuTool = document.getElementById('menuTool');
const menuBottom = document.getElementById('menuButton');
if (menuBar) { if (menuBar) {
offset += (menuBar.offsetHeight || 0); offset += (menuBar.offsetHeight || 0);
} }
if (menuTool) { if (menuTool) {
offset += (menuTool.offsetHeight || 0); offset += (menuTool.offsetHeight || 0);
} }
if (menuBottom) {
offsetBottom += (menuBottom.offsetHeight || 0);
}
if (this.offset != offset) { if (this.offset != offset) {
this.offset = offset; this.offset = offset;
} }
if (this.offsetBottom != offsetBottom) {
this.offsetBottom = offsetBottom;
}
}); });
}, },
// //

View File

@ -5,7 +5,7 @@
<span v-if="countTime" class="display-score">{{ $t('display.demon.trialTime') }} {{ countTime }}</span> <span v-if="countTime" class="display-score">{{ $t('display.demon.trialTime') }} {{ countTime }}</span>
</el-row> </el-row>
</div> </div>
<div class="display-draft" :class="{'display-type-hb': $route.query.lineCode == '07'&& $store.state.training.prdType=='01'}"> <div class="display-draft" :style="{bottom: offsetBottom + 'px'}">
<el-button-group> <el-button-group>
<el-button v-if="isShowScheduling" type="primary" @click="jumpScheduling">{{ $t('display.demon.dispatchingPlan') }}</el-button> <el-button v-if="isShowScheduling" type="primary" @click="jumpScheduling">{{ $t('display.demon.dispatchingPlan') }}</el-button>
<el-button type="jumpjlmap3d" @click="jumpjlmap3d">{{ jl3dname }}</el-button> <el-button type="jumpjlmap3d" @click="jumpjlmap3d">{{ jl3dname }}</el-button>
@ -51,6 +51,10 @@ export default {
type: Number, type: Number,
required: true required: true
}, },
offsetBottom: {
type: Number,
required: true
},
questId: { questId: {
type: Number, type: Number,
default() { default() {
@ -275,7 +279,4 @@ export default {
right: 20px; right: 20px;
bottom: 15px; bottom: 15px;
} }
.display-type-hb{
bottom: 105px;
}
</style> </style>

View File

@ -5,14 +5,14 @@
<span class="display-time">{{ formatUsedTime }}</span> <span class="display-time">{{ formatUsedTime }}</span>
</el-row> </el-row>
</div> </div>
<div class="display-draft"> <div class="display-draft" :style="{bottom: offsetBottom + 'px'}">
<el-button-group> <el-button-group>
<el-button type="success" :disabled="isDisable" :loading="startLoading" @click="start">{{ $t('display.startBtn') }}</el-button> <el-button type="success" :disabled="isDisable" :loading="startLoading" @click="start">{{ $t('display.startBtn') }}</el-button>
<el-button type="danger" :disabled="!isDisable" @click="end">{{ $t('display.endBtn') }}</el-button> <el-button type="danger" :disabled="!isDisable" @click="end">{{ $t('display.endBtn') }}</el-button>
<el-button type="primary" class="back" @click="back">{{ $t('display.backBtn') }}</el-button> <el-button type="primary" class="back" @click="back">{{ $t('display.backBtn') }}</el-button>
</el-button-group> </el-button-group>
</div> </div>
<tip-exam-list @refresh="refresh" /> <tip-exam-list :offset-bottom="offsetBottom" @refresh="refresh" />
</div> </div>
</template> </template>
@ -37,6 +37,10 @@ export default {
offset: { offset: {
type: Number, type: Number,
required: true required: true
},
offsetBottom: {
type: Number,
required: true
} }
}, },
data() { data() {

View File

@ -11,14 +11,14 @@
<span v-if="demoMode === TrainingMode.TEST" class="display-score">{{ $t('display.lesson.score') }}{{ formatScore }}</span> <span v-if="demoMode === TrainingMode.TEST" class="display-score">{{ $t('display.lesson.score') }}{{ formatScore }}</span>
</el-row> </el-row>
</div> </div>
<div id="teachGroupButton" class="display-draft"> <div id="teachGroupButton" class="display-draft" :style="{bottom: offsetBottom + 'px'}">
<el-button-group> <el-button-group>
<el-button type="success" :disabled="isDisable" :loading="startLoading" @click="start">{{ $t('display.startBtn') }}</el-button> <el-button type="success" :disabled="isDisable" :loading="startLoading" @click="start">{{ $t('display.startBtn') }}</el-button>
<el-button type="danger" class="end" :disabled="!isDisable" @click="end">{{ $t('display.endBtn') }}</el-button> <el-button type="danger" class="end" :disabled="!isDisable" @click="end">{{ $t('display.endBtn') }}</el-button>
<el-button type="primary" :disabled="backDisable" class="back" @click="back">{{ $t('display.backBtn') }}</el-button> <el-button type="primary" :disabled="backDisable" class="back" @click="back">{{ $t('display.backBtn') }}</el-button>
</el-button-group> </el-button-group>
</div> </div>
<tip-training-detail :training-obj="trainingObj" /> <tip-training-detail :training-obj="trainingObj" :offset-bottom="offsetBottom" />
</div> </div>
</template> </template>
@ -51,6 +51,10 @@ export default {
offset: { offset: {
type: Number, type: Number,
required: true required: true
},
offsetBottom: {
type: Number,
required: true
} }
}, },
data() { data() {

View File

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<div class="display-draft"> <div class="display-draft" :style="{bottom: offsetBottom + 'px'}">
<!-- <el-button-group> <!-- <el-button-group>
<el-button type="primary" @click="saveScenesStage" v-if="isSaveStage">保存背景</el-button> <el-button type="primary" @click="saveScenesStage" v-if="isSaveStage">保存背景</el-button>
<el-button type="success" @click="saveScenesData" v-else>保存数据</el-button> <el-button type="success" @click="saveScenesData" v-else>保存数据</el-button>
@ -34,7 +34,7 @@ export default {
type: String, type: String,
required: true required: true
}, },
offset: { offsetBottom: {
type: Number, type: Number,
required: true required: true
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<div v-drag class="reminder-drag"> <div v-drag class="reminder-drag">
<div ref="drapBox" class="reminder-box"> <div ref="drapBox" class="reminder-box" :style="{bottom: offsetBottom + 'px'}">
<div class="tip-title"> <div class="tip-title">
<i v-show="isShrink" class="icon el-icon-minus" @click="shrink" /> <i v-show="isShrink" class="icon el-icon-minus" @click="shrink" />
<i v-show="!isShrink" class="icon el-icon-plus" @click="shrink" /> <i v-show="!isShrink" class="icon el-icon-plus" @click="shrink" />
@ -86,6 +86,12 @@ export default {
name: 'TipExamList', name: 'TipExamList',
components: { components: {
}, },
props: {
offsetBottom: {
type: Number,
required: true
}
},
data() { data() {
return { return {
training: { training: {

View File

@ -1,7 +1,7 @@
<template> <template>
<!-- v-drag 拖拽 调整宽高 --> <!-- v-drag 拖拽 调整宽高 -->
<div v-quickMenuDrag class="reminder-drag"> <div v-quickMenuDrag class="reminder-drag">
<div ref="drapBox" class="reminder-box"> <div ref="drapBox" class="reminder-box" :style="{bottom: offsetBottom + 'px'}">
<div class="tip-title"> <div class="tip-title">
<i v-show="isShrink" class="icon el-icon-minus" @click="shrink" /> <i v-show="isShrink" class="icon el-icon-minus" @click="shrink" />
<i v-show="!isShrink" class="icon el-icon-plus" @click="shrink" /> <i v-show="!isShrink" class="icon el-icon-plus" @click="shrink" />
@ -52,6 +52,10 @@ export default {
default() { default() {
return null; return null;
} }
},
offsetBottom: {
type: Number,
required: true
} }
}, },
data() { data() {

View File

@ -9,7 +9,7 @@
<script> <script>
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { getDeviceMenuByDeviceType, OperationEvent } from '@/scripts/ConstDic'; import { getDeviceMenuByDeviceType, OperationEvent } from '@/scripts/ConstDic';
import { letfMouseSelectDevice } from '@/api/simulation'; // import { letfMouseSelectDevice } from '@/api/simulation';
import deviceType from '@/jmap/constant/deviceType'; import deviceType from '@/jmap/constant/deviceType';
import JlmapVisual from '@/views/newMap/jlmapNew/index'; import JlmapVisual from '@/views/newMap/jlmapNew/index';
import TrainingTips from '@/views/newMap/mapsystemNew/plugin/trainingtip'; import TrainingTips from '@/views/newMap/mapsystemNew/plugin/trainingtip';

View File

@ -67,24 +67,23 @@ export default {
}, },
methods: { methods: {
resetShowPosition() { resetShowPosition() {
const self = this;
this.$nextTick(() => { this.$nextTick(() => {
// //
const height = self.$el.clientHeight; const height = this.$el.clientHeight;
self.tPosition.align = self.position.align || 'bottom'; this.tPosition.align = this.position.align || 'bottom';
self.tPosition.x = self.position.x - (this.arrawLeft + this.offset); this.tPosition.x = this.position.x - (this.arrawLeft + this.offset);
if (self.tPosition.align == 'top') { if (this.tPosition.align == 'top') {
const distance = 47; const distance = 47;
self.tPosition.y = self.position.y + (distance); this.tPosition.y = this.position.y + (distance);
} else if (self.tPosition.align == 'bottom') { } else if (this.tPosition.align == 'bottom') {
const distance = 5; const distance = 5;
self.tPosition.y = self.position.y - (height + distance); this.tPosition.y = this.position.y - (height + distance);
} }
if (self.tPosition.x < 0) self.tPosition.x = 0; if (this.tPosition.x < 0) this.tPosition.x = 0;
if (self.tPosition.y < 0) self.tPosition.y = 0; if (this.tPosition.y < 0) this.tPosition.y = 0;
}); });
}, },
reset() { reset() {

View File

@ -6,7 +6,7 @@
<script> <script>
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import PopTip from '@/views/mapsystem/plugin/src/poptip'; import PopTip from './src/poptip';
import { getDeviceTypeByDic, getDomIdByOperation } from '@/scripts/ConstDic'; import { getDeviceTypeByDic, getDomIdByOperation } from '@/scripts/ConstDic';
import { getDomOffset } from '@/utils/index'; import { getDomOffset } from '@/utils/index';