综合演练非管理员同步计时&综合演练切大屏&iscs机电时间表管理

This commit is contained in:
fan 2020-06-10 16:56:52 +08:00
parent 5c65653ef7
commit 139066d66f
11 changed files with 437 additions and 115 deletions

View File

@ -155,7 +155,9 @@ class Jlmap {
this.setOptions(dcenter);
}
}
setRevoverBigScreen() {
this.$painter.updateTransform({ scaleRate: this.$options.scaleRate, offsetX: this.$options.offsetX, offsetY: this.$options.offsetY });
}
setRecover(opts) {
this.$painter.updateTransform({ scaleRate: opts.scaleRate, offsetX: opts.offsetX, offsetY: opts.offsetY });
}
@ -193,7 +195,7 @@ class Jlmap {
const dx = (opts.width - (splitList[i] - splitList[i - 1]) * scale) / 2; // 居中计算偏移值
offsetX = splitList[i - 1] * scale - dx;
}
const param = { scaleRate: scale, offsetX: offsetX, offsetY: -100 - (offsetY * i) };
const param = { scaleRate: scale, offsetX: offsetX, offsetY: -100 - (offsetY * i) - (opts.offsetY || 0) };
arr.push(param);
const rect = {x: 0, y: 0, width: Number(splitList[i]) + 5, height: opts.height};
rectList.push(rect);

View File

@ -195,6 +195,7 @@ class Painter {
* @param {*} opt
*/
updateTransform(opt) {
this.screenFlag = false;
this.$transformHandle.updateTransform(opt);
}

View File

@ -312,8 +312,11 @@ export default class Station extends Group {
recover() {
this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor);
this.emergencyControl && this.emergencyControl.setTextColor(this.style.Station.StationControl.text.fontColor);
this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.grayColor);
this.substationControl && this.substationControl.setTextColor(this.style.Station.StationControl.text.fontColor);
this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.grayColor);
this.centerControl && this.centerControl.setTextColor(this.style.Station.StationControl.text.fontColor);
}
// 设置状态

View File

@ -1,83 +1,34 @@
<template>
<div class="schedules-box">
<div class="title-name">车站运行时间表</div>
<div class="top-box">
<el-row style="background: #43388A;font-size: 12px;height: 20px;line-height: 20px;">
<el-col :span="8" style="text-align: center;color: #FFF;">车站</el-col>
<el-col :span="8" style="text-align: center;color: #FFF;">时间表</el-col>
<el-col :span="8" style="text-align: center;color: #FFF;">版本</el-col>
</el-row>
<el-row>
<el-col :span="8" style="padding: 10px;">
<el-select v-model="station" size="mini" placeholder="请选择">
<el-option
v-for="item in stations"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
<el-col :span="8" style="padding: 10px;">
<div style="width: 100%;height: 28px;background: #FFF" />
</el-col>
<el-col :span="8" style="padding: 10px;">
<div style="width: 100%;height: 28px;background: #FFF" />
</el-col>
</el-row>
</div>
<div class="top-box" style="border: 0; height: 50%;background: #FFF;">
<el-row style="background: #43388A;font-size: 12px;height: 20px;line-height: 20px;">
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">时间表</el-col>
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">时间</el-col>
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">模式</el-col>
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">模式描述</el-col>
<el-col :span="8" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">系统</el-col>
</el-row>
</div>
<div class="top-box" style="border: 0; display: flex;justify-content: space-between;">
<div class="button-box">上一页</div>
<div class="button-box">更新时间表</div>
<div class="button-box">下一页</div>
</div>
<div style="width: 240px;position: absolute;left: calc(25% + 600px);font-size: 12px;height: 20px;line-height: 20px;">
<el-row style="background: #43388A;">
<el-col :span="9" style="text-align: center;color: #FFF;">系统</el-col>
<el-col :span="9" style="text-align: center;color: #FFF;">允许/禁止操作</el-col>
<el-col :span="6" style="text-align: center;color: #FFF;">状态</el-col>
</el-row>
<el-row>
<el-col :span="9" style="text-align: center;background: #FFF;">空调大系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 2px 10px;height: 16px;line-height: 16px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;">允许</el-col>
</el-row>
<el-row>
<el-col :span="9" style="text-align: center;background: #FFF;">隧道通风系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 2px 10px;height: 16px;line-height: 16px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;">允许</el-col>
</el-row>
<el-row>
<el-col :span="9" style="text-align: center;background: #FFF;">空调小系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 2px 10px;height: 16px;line-height: 16px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;">允许</el-col>
</el-row>
<el-row>
<el-col :span="9" style="text-align: center;background: #FFF;">照明系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 2px 10px;height: 16px;line-height: 16px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;">允许</el-col>
</el-row>
</div>
<station-running-schedule v-if="showMode === 'stationRunningSchedule'" @changeShowMode="changeShowMode" />
<weekly-status v-else-if="showMode==='weeklyStatus'" @changeShowMode="changeShowMode" />
<schedules-manage v-else-if="showMode === 'schedulesManage'" @changeShowMode="changeShowMode" />
</div>
</template>
<script>
import StationRunningSchedule from './schedulesChild/stationRunningSchedule';
import WeeklyStatus from './schedulesChild/weeklyStatus';
import SchedulesManage from './schedulesChild/schedulesManage';
export default {
name: 'Schedules',
components: {
StationRunningSchedule,
WeeklyStatus,
SchedulesManage
},
data() {
return {
station: '',
stations: []
stations: [],
showMode: 'stationRunningSchedule'
};
},
methods: {
changeShowMode(mode) {
this.showMode = mode;
}
}
};
</script>
@ -87,32 +38,6 @@ export default {
width: 100%;
height: calc(100% - 30px);
}
.top-box {
width:550px;
position: relative;
left: 25%;
margin-top: 20px;
border-top: 2px solid #A4A3A0;
border-left: 2px solid #A4A3A0;
border-bottom: 2px solid #E5F1FE;
border-right: 2px solid #E5F1FE
}
.button-box {
background: #BABABB;
padding: 5px 10px;
border-top: 2px solid #FFFFFE;
border-right: 2px solid #797977;
border-bottom: 2px solid #797977;
border-left: 2px solid #FFFFFE;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
.title-name{
width: 100%;
text-align: center;

View File

@ -0,0 +1,96 @@
<template>
<div style="width: 100%;display: flex;justify-content: center;">
<div>
<div class="top-content-box">
<div style="width: 950px;font-size: 18px;color: #56E5DE;margin: 10px;">全线车站时间表</div>
<div style="width: 100%;display: flex;justify-content: center;">
<div style="width: 240px;height: 300px;background: #FFF;">
<el-row>
<div style="background: #43388A;font-size: 14px;height: 30px;line-height: 30px;color: #FFF;text-align: center;">公用时间列表</div>
</el-row>
</div>
<div style="width: 120px;margin-left: 10px;">
<div style="font-size: 18px;color: #56E5DE;width: 100%;text-align: center;margin: 85px 0;">增加时间表名</div>
<el-input v-model="tableName" size="mini" />
<div class="button-box" style="text-align: center;padding: 5px 0;margin: 10px 0;">增加</div>
<div class="button-box" style="text-align: center;padding: 5px 0">删除</div>
</div>
<div style="width: 110px;height: 300px;padding: 0 15px;border-right: 2px solid #2B5932;margin-left: 40px;">
<div style="font-size: 18px;color: #56E5DE;width: 100%;text-align: center;">下载选择</div>
<div class="button-box" style="background: #3F8B66;text-align: center;margin-top: 256px;">立即下发</div>
</div>
<div style="width: 110px;height: 300px;margin-left: 15px;">
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期一</div>
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期二</div>
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期三</div>
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期四</div>
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期五</div>
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期六</div>
<div style="color: #56E5DE;font-size: 13px;"><div class="check-box" />星期日</div>
<div class="button-box" style="background: #3F8B66;text-align: center;margin-top: 100px;">排定下发</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'SchedulesManage',
data() {
return {
tableName: ''
};
}
};
</script>
<style scoped>
.top-content-box {
width: 950px;
margin-top: 10px;
border-top: 2px solid #A4A3A0;
border-left: 2px solid #A4A3A0;
border-bottom: 2px solid #E5F1FE;
border-right: 2px solid #E5F1FE;
padding-bottom: 10px;
}
.check-box {
display: inline-block;
height: 10px;
width: 10px;
background: #BFC1C1;
border-top: 2px solid #FFFFFE;
border-right: 2px solid #797977;
border-bottom: 2px solid #797977;
border-left: 2px solid #FFFFFE;
}
.button-box {
background: #BABABB;
border-top: 2px solid #FFFFFE;
border-right: 2px solid #797977;
border-bottom: 2px solid #797977;
border-left: 2px solid #FFFFFE;
cursor: pointer;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
/deep/
.el-input__inner{
background: #11437A;
border-radius: 0;
border-top: 1px solid #A4A3A0;
border-left: 1px solid #A4A3A0;
border-bottom: 1px solid #E5F1FE;
border-right: 1px solid #E5F1FE;
color: #FFF;
}
</style>

View File

@ -0,0 +1,124 @@
<template>
<div style="width: 100%;height: 100%;">
<div class="top-box">
<el-row style="background: #43388A;font-size: 12px;height: 20px;line-height: 20px;">
<el-col :span="8" style="text-align: center;color: #FFF;">车站</el-col>
<el-col :span="8" style="text-align: center;color: #FFF;">时间表</el-col>
<el-col :span="8" style="text-align: center;color: #FFF;">版本</el-col>
</el-row>
<el-row>
<el-col :span="8" style="padding: 10px;">
<el-select v-model="station" size="mini" placeholder="请选择">
<el-option
v-for="item in stations"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
<el-col :span="8" style="padding: 10px;">
<div style="width: 100%;height: 28px;background: #FFF" />
</el-col>
<el-col :span="8" style="padding: 10px;">
<div style="width: 100%;height: 28px;background: #FFF" />
</el-col>
</el-row>
</div>
<div style="width: 100px;height: 20px;background: #FFF;position: relative;left: calc(25% + 450px);margin-top: 20px;" />
<div class="top-box" style="border: 0; height: 50%;background: #FFF;">
<el-row style="background: #43388A;font-size: 12px;height: 20px;line-height: 20px;">
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">时间表</el-col>
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">时间</el-col>
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">模式</el-col>
<el-col :span="4" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">模式描述</el-col>
<el-col :span="8" style="text-align: center;color: #FFF;border-right: 1px solid #000;border-bottom: 1px solid #000;">系统</el-col>
</el-row>
</div>
<div class="top-box" style="border: 0; display: flex;justify-content: space-between;">
<div class="button-box">上一页</div>
<div class="button-box">更新时间表</div>
<div class="button-box">下一页</div>
</div>
<div style="width: 240px;position: absolute;left: calc(25% + 650px);font-size: 12px;top: calc(100% - 300px);">
<el-row style="background: #43388A;height: 25px;line-height: 25px;">
<el-col :span="9" style="text-align: center;color: #FFF;border: 1px solid #000;">系统</el-col>
<el-col :span="9" style="text-align: center;color: #FFF;border-top: 1px solid #000;border-bottom: 1px solid #000;">允许/禁止操作</el-col>
<el-col :span="6" style="text-align: center;color: #FFF;border: 1px solid #000;">状态</el-col>
</el-row>
<el-row style="height: 25px;line-height: 25px;">
<el-col :span="9" style="text-align: center;background: #FFF;border: 1px solid #D2D2D2;border-top: 0;">空调大系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 3px 10px;height: 25px;line-height: 19px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;border: 1px solid #D2D2D2;border-top: 0;">允许</el-col>
</el-row>
<el-row style="height: 25px;line-height: 25px;">
<el-col :span="9" style="text-align: center;background: #FFF;border: 1px solid #D2D2D2;border-top: 0;">隧道通风系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 3px 10px;height: 25px;line-height: 19px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;border: 1px solid #D2D2D2;border-top: 0;">允许</el-col>
</el-row>
<el-row style="height: 25px;line-height: 25px;">
<el-col :span="9" style="text-align: center;background: #FFF;border: 1px solid #D2D2D2;border-top: 0;">空调小系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 3px 10px;height: 25px;line-height: 19px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;border: 1px solid #D2D2D2;border-top: 0;">允许</el-col>
</el-row>
<el-row style="height: 25px;line-height: 25px;">
<el-col :span="9" style="text-align: center;background: #FFF;border: 1px solid #D2D2D2;border-top: 0;">照明系统</el-col>
<el-col :span="9" style="text-align: center;background: #FFF;"><div class="button-box" style="padding: 3px 10px;height: 25px;line-height: 19px;">允许/禁止</div></el-col>
<el-col :span="6" style="background: #0F0;text-align: center;border: 1px solid #D2D2D2;border-top: 0;">允许</el-col>
</el-row>
</div>
<div style="position: absolute;left: calc(25% + 600px);font-size: 12px;top: calc(100% - 150px);display: flex;text-align: center;">
<div class="button-box" style="height: 40px;line-height: 40px;margin: 10px;padding: 0 5px;" @click="changeShowMode('schedulesManage')">时间表管理</div>
<div class="button-box" style="height: 40px;margin: 10px;" @click="changeShowMode('stationRunningSchedule')">全线运行<br>时间表总览</div>
<div class="button-box" style="height: 40px;line-height: 40px;margin: 10px;padding: 0 5px;" @click="changeShowMode('weeklyStatus')">每周下发一览</div>
<div class="button-box" style="height: 40px;margin: 10px;" @click="changeShowMode('saveScheduleView')">车站保存<br>时间表查看</div>
</div>
</div>
</template>
<script>
export default {
name: 'StationRunningSchedule',
data() {
return {
station: '',
stations: []
};
},
methods: {
changeShowMode(mode) {
this.$emit('changeShowMode', mode);
}
}
};
</script>
<style scoped>
.top-box {
width:550px;
position: relative;
left: 25%;
margin-top: 20px;
border-top: 2px solid #A4A3A0;
border-left: 2px solid #A4A3A0;
border-bottom: 2px solid #E5F1FE;
border-right: 2px solid #E5F1FE
}
.button-box {
background: #BABABB;
padding: 5px 10px;
border-top: 2px solid #FFFFFE;
border-right: 2px solid #797977;
border-bottom: 2px solid #797977;
border-left: 2px solid #FFFFFE;
cursor: pointer;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
</style>

View File

@ -0,0 +1,140 @@
<template>
<div style="width: 100%;display: flex;justify-content: center;">
<div>
<el-row style="margin-top: 120px;width: 560px;height: 28px;line-height: 28px;margin-bottom: 5px;">
<el-col :span="2" style="color: #56E5DE;">车站:</el-col>
<el-col :span="6">
<el-select v-model="station" size="mini" placeholder="请选择">
<el-option
v-for="item in stations"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
<div class="content-box">
<el-row style="margin-top: 10px;margin-bottom: 10px;">
<div style="color: #56E5DE;">车站控制时间表</div>
</el-row>
<el-row>
<el-col :span="20" :offset="2"><div style="width: 100%;background: #1120F6;color: #FFF;text-align: center;">下载</div></el-col>
</el-row>
<div style="width: 455px;margin-left: 45px;border: 2px solid #FFF;margin-top: 5px;padding: 5px;">
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
<el-col :span="3" style="color: #56E5DE;">星期一</el-col>
<el-col :span="19"><div class="white-block" /></el-col>
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
</el-row>
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
<el-col :span="3" style="color: #56E5DE;">星期二</el-col>
<el-col :span="19"><div class="white-block" /></el-col>
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
</el-row>
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
<el-col :span="3" style="color: #56E5DE;">星期三</el-col>
<el-col :span="19"><div class="white-block" /></el-col>
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
</el-row>
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
<el-col :span="3" style="color: #56E5DE;">星期四</el-col>
<el-col :span="19"><div class="white-block" /></el-col>
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
</el-row>
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
<el-col :span="3" style="color: #56E5DE;">星期五</el-col>
<el-col :span="19"><div class="white-block" /></el-col>
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
</el-row>
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
<el-col :span="3" style="color: #56E5DE;">星期六</el-col>
<el-col :span="19"><div class="white-block" /></el-col>
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
</el-row>
<el-row style="height: 20px;line-height: 20px;margin-bottom: 5px;">
<el-col :span="3" style="color: #56E5DE;">星期日</el-col>
<el-col :span="19"><div class="white-block" /></el-col>
<el-col :span="1" style="margin-left: 10px"><div class="button-box" style="width: 20px;height: 20px;" /></el-col>
</el-row>
</div>
</div>
<div class="content-box" style="padding: 10px 20px">
<el-row>
<el-col :span="6" style="height: 40px;line-height: 40px;color: #56E5DE;">直接下载时间表</el-col>
<el-col :span="14"><div class="white-block" style="width: 95%;margin-top: 10px;" /></el-col>
<el-col :span="4"><div class="button-box" style="text-align: center;padding: 5px 0;margin-top: 4px;background: #3F8B66;">立即下发</div></el-col>
</el-row>
<el-row>
<el-col :span="6" style="color: #56E5DE;height: 40px;line-height: 40px;">时间表:</el-col>
<el-col :span="14">
<el-select v-model="station" size="mini" style="width: 95%;margin-top: 6px;" placeholder="请选择">
<el-option
v-for="item in stations"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select></el-col>
<el-col :span="4"><div class="button-box" style="text-align: center;padding: 5px 0;margin-top: 4px;">查看</div></el-col>
</el-row>
</div>
<div style="position: absolute;left: calc(50% + 320px);bottom: calc(100% - 735px);font-size: 12px;text-align: center;">
<div class="button-box" style="height: 40px;line-height: 40px;margin: 10px;padding: 0 5px;" @click="changeShowMode('schedulesManage')">时间表管理</div>
<div class="button-box" style="height: 40px;margin: 10px;padding: 5px 10px;" @click="changeShowMode('')">全线运行<br>时间表管理</div>
<div class="button-box" style="height: 40px;margin: 10px;padding: 5px 10px;" @click="changeShowMode('')">车站运行<br>时间表查看</div>
<div class="button-box" style="height: 40px;margin: 10px;padding: 5px 10px;" @click="changeShowMode('saveScheduleView')">车站保存<br>时间表查看</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'WeeklyStatus',
data() {
return {
station: '',
stations: []
};
},
methods: {
changeShowMode(mode) {
this.$emit('changeShowMode', mode);
}
}
};
</script>
<style scoped>
.content-box {
width: 560px;
border-top: 2px solid #A5A7A9;
border-left: 2px solid #A5A7A9;
border-bottom: 2px solid #FFF;
border-right: 2px solid #FFF;
padding: 5px;
margin-bottom: 10px;
}
.button-box {
background: #BABABB;
border-top: 2px solid #FFFFFE;
border-right: 2px solid #797977;
border-bottom: 2px solid #797977;
border-left: 2px solid #FFFFFE;
cursor: pointer;
}
.button-box.active,
.button-box:hover{
background: #EBB570;
border-top: 2px solid #795B31;
border-left: 2px solid #795B31;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
}
.white-block{
width: 100%;
height: 20px;
background: #FFF
}
</style>

View File

@ -96,7 +96,7 @@ export default {
return false;
},
isScreen() {
return this.$route.path.includes('displayBigScreen') || this.$route.path.includes('bigScreen');
return this.$route.path.includes('displayBigScreen') || this.$route.path.includes('bigScreen') || this.$store.state.training.prdType === '07';
},
maskOpen() {
return this.$store.state.config.maskOpen;

View File

@ -129,7 +129,9 @@ export default {
'canvasHeight'
]),
...mapGetters('map', [
'map'
'map',
'bigScreenSplitConfig'
]),
...mapGetters('training', [
'offsetStationCode'
@ -165,9 +167,15 @@ export default {
if (val === '01' && this.$route.query.lineCode === '06') {
this.showSelectStation = true;
this.mapViewLoadedOver && this.setShowStation(this.showStation);
this.cancelBigScreenMode();
} else if (val === '02' && this.$route.query.lineCode === '06') {
this.showSelectStation = false;
this.mapViewLoadedOver && this.setShowStation('');
this.cancelBigScreenMode();
} else if (val === '07') { //
this.setBigScreenMode();
} else {
this.cancelBigScreenMode();
}
},
'$store.state.map.mapViewLoadedCount': function (val) {
@ -304,14 +312,15 @@ export default {
let offset = 10;
const menuBar = document.getElementById('menuBar');
const menuTool = document.getElementById('menuTool');
if (menuBar) {
offset += (menuBar.offsetHeight || 0);
}
if (menuTool) {
offset += (menuTool.offsetHeight || 0);
}
if (this.$store.state.training.prdType === '07') {
offset = 10;
}
if (this.offset != offset) {
this.offset = offset;
}
@ -520,16 +529,16 @@ export default {
this.$refs.ibpPlate.show(deviceCode, this.ibpPart);
}
},
hidejl3dcctv(){
const routeData = this.$router.resolve({
path:'/jlmap3d/passengerflow',
query:{
mapid:this.mapId,
group:this.group,
project: this.project
}
});
window.open(routeData.href, '_blank', 'noopener noreferrer');
hidejl3dcctv() {
const routeData = this.$router.resolve({
path:'/jlmap3d/passengerflow',
query:{
mapid:this.mapId,
group:this.group,
project: this.project
}
});
window.open(routeData.href, '_blank', 'noopener noreferrer');
},
hidepanel() {
this.panelShow = false;
@ -538,7 +547,6 @@ export default {
this.$refs.Jl3dDrive.show(this.mapId, this.group);
},
hideIbp() {
Message.closeAll();
this.drivingShow = false;
@ -586,6 +594,24 @@ export default {
if (this.stationList.length) {
this.showStation = this.stationList[0].value;
}
},
setBigScreenMode() {
if (this.bigScreenSplitConfig.length) {
const size = {
width: this.$store.state.app.width - 2,
height: this.$store.state.app.height - 60,
offsetY: 60,
list: this.bigScreenSplitConfig.map(ele => ele.position)
};
this.$jlmap.off('zoom');
this.$jlmap.off('pan');
this.$jlmap.setUpdateScreen(size);
}
},
cancelBigScreenMode() {
this.$jlmap.on('zoom');
this.$jlmap.on('pan');
this.$jlmap.setRevoverBigScreen();
}
}
};

View File

@ -95,7 +95,7 @@ export default {
isSpeaking() {
return this.userRole != 'DRIVER' && this.userRole != '';
},
isStationSupervisor(){
isStationSupervisor() {
console.log(this.userRole);
return this.userRole == 'STATION_SUPERVISOR';
},
@ -132,7 +132,8 @@ export default {
},
'$store.state.socket.simulationStart': async function (val) {
if (val) {
this.$store.dispatch('training/simulationStart', { start: true });
this.$store.dispatch('training/setInitTime', +new Date(val));
this.$store.dispatch('training/simulationStart', { start: true});
}
},
'$store.state.map.runPlanStatus': function (val) {
@ -311,7 +312,7 @@ export default {
jumpjlmap3d() {
this.$emit('hidepanel');
},
jlmap3dcctv(){
jlmap3dcctv() {
this.$emit('hidejl3dcctv');
},
setRelDevice() {

View File

@ -27,7 +27,7 @@
</el-button-group>
<el-radio-group
v-if="(userRole == 'INSTRUCTOR' || userRole == 'ADMIN') && !dataError"
v-if="(userRole == 'INSTRUCTOR' || userRole == 'ADMIN') && !dataError && !isScreen"
v-model="mode"
size="small"
@change="changeOperateMode(mode)"
@ -97,7 +97,8 @@ export default {
swch: '02',
swchList: [
{ value: '01', name: this.$t('joinTraining.local') },
{ value: '02', name: this.$t('joinTraining.lineAdjustment') }
{ value: '02', name: this.$t('joinTraining.lineAdjustment') },
{ value: '07', name: '大屏'}
],
runing: false,
userId: ''
@ -109,6 +110,9 @@ export default {
]),
isShowMenuBar() {
return this.$store.state.map.roles == 'Admin';
},
isScreen() {
return this.$store.state.training.prdType === '07';
}
},
watch: {