综合演练问题调整
This commit is contained in:
parent
ad1ba2efd4
commit
797afc7258
@ -377,3 +377,7 @@ export const UserOperationType = {
|
|||||||
CHOOSEVALUE: '选择',
|
CHOOSEVALUE: '选择',
|
||||||
FILLVALUE: '填写'
|
FILLVALUE: '填写'
|
||||||
};
|
};
|
||||||
|
export const SimulationUserType = {
|
||||||
|
TEACHER: 'TEACHER',
|
||||||
|
STUDENT: 'STUDENT'
|
||||||
|
};
|
||||||
|
@ -3,6 +3,7 @@ import { TrainingMode } from '@/scripts/ConstDic';
|
|||||||
import deviceType from '../../jmapNew/constant/deviceType';
|
import deviceType from '../../jmapNew/constant/deviceType';
|
||||||
import LangStorage from '@/utils/lang';
|
import LangStorage from '@/utils/lang';
|
||||||
import { deepAssign } from '@/utils/index';
|
import { deepAssign } from '@/utils/index';
|
||||||
|
import store from '@/store/index';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实训状态数据
|
* 实训状态数据
|
||||||
@ -47,7 +48,8 @@ const training = {
|
|||||||
trainingStart: false, // 实训开始状态
|
trainingStart: false, // 实训开始状态
|
||||||
notifySelected: null, // 场景弹窗内容
|
notifySelected: null, // 场景弹窗内容
|
||||||
runPathList:[], // 运行线 (宁波三号线)
|
runPathList:[], // 运行线 (宁波三号线)
|
||||||
domConfig: {} // 线路功能前端配置项
|
domConfig: {}, // 线路功能前端配置项
|
||||||
|
simulationUserType: '' // 仿真用户角色
|
||||||
},
|
},
|
||||||
|
|
||||||
getters: {
|
getters: {
|
||||||
@ -211,6 +213,12 @@ const training = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
setSimulationUserList: (state, simulationUserList) => {
|
setSimulationUserList: (state, simulationUserList) => {
|
||||||
|
state.simulationUserType = '';
|
||||||
|
simulationUserList.forEach(item => {
|
||||||
|
if (item.userId == store.state.user.id ) {
|
||||||
|
state.simulationUserType = item.userType;
|
||||||
|
}
|
||||||
|
});
|
||||||
state.simulationUserList = simulationUserList;
|
state.simulationUserList = simulationUserList;
|
||||||
},
|
},
|
||||||
updateMemberTrust:(state, {deviceCode, trust}) => {
|
updateMemberTrust:(state, {deviceCode, trust}) => {
|
||||||
@ -244,7 +252,7 @@ const training = {
|
|||||||
user.online = item.online;
|
user.online = item.online;
|
||||||
user.memberId = item.memberId;
|
user.memberId = item.memberId;
|
||||||
user.role = item.role;
|
user.role = item.role;
|
||||||
user.type = item.type;
|
user.memberType = item.memberType;
|
||||||
user.deviceCode = item.deviceCode;
|
user.deviceCode = item.deviceCode;
|
||||||
memberIndex = index;
|
memberIndex = index;
|
||||||
}
|
}
|
||||||
|
@ -23,13 +23,13 @@ export function handlerUrl() {
|
|||||||
let OSS_URL;
|
let OSS_URL;
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === 'development') {
|
||||||
// 开发分支
|
// 开发分支
|
||||||
BASE_API = 'http://192.168.3.233/rtss-server';
|
// BASE_API = 'http://192.168.3.233/rtss-server';
|
||||||
// BASE_API = 'https://joylink.club/jlcloud';
|
// BASE_API = 'https://joylink.club/jlcloud';
|
||||||
// BASE_API = 'https://test.joylink.club/jlcloud';
|
// BASE_API = 'https://test.joylink.club/jlcloud';
|
||||||
// BASE_API = 'http://114.116.51.125/jlcloud';
|
// BASE_API = 'http://114.116.51.125/jlcloud';
|
||||||
// BASE_API = 'http://192.168.3.90:9000'; // 周寅
|
// BASE_API = 'http://192.168.3.90:9000'; // 周寅
|
||||||
// BASE_API = 'http://192.168.3.94:9000'; // 旭强
|
// BASE_API = 'http://192.168.3.94:9000'; // 旭强
|
||||||
// BASE_API = 'http://192.168.3.15:9000'; // 张赛
|
BASE_API = 'http://192.168.3.15:9000'; // 张赛
|
||||||
// BASE_API = 'http://192.168.3.5:9000'; // 夏增彬
|
// BASE_API = 'http://192.168.3.5:9000'; // 夏增彬
|
||||||
// BASE_API = 'http://192.168.3.37:9000'; // 卫志宏
|
// BASE_API = 'http://192.168.3.37:9000'; // 卫志宏
|
||||||
// BASE_API = 'http://b29z135112.zicp.vip';
|
// BASE_API = 'http://b29z135112.zicp.vip';
|
||||||
|
@ -62,6 +62,9 @@ export function getTopic(type, group, param) {
|
|||||||
case 'YJDDZH':
|
case 'YJDDZH':
|
||||||
topic = `/topic/yjddzh/trainPosition`;
|
topic = `/topic/yjddzh/trainPosition`;
|
||||||
break;
|
break;
|
||||||
|
case 'RUNFACT':
|
||||||
|
topic = `/user/queue/simulation/${group}/runFact`;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return topic;
|
return topic;
|
||||||
|
@ -29,6 +29,7 @@ import TrainingMenu from './trainingList/trainingMenu';
|
|||||||
import TrainingDesign from './trainingDesign/designPane.vue';
|
import TrainingDesign from './trainingDesign/designPane.vue';
|
||||||
import VoiceChatBox from './voiceChatBox';
|
import VoiceChatBox from './voiceChatBox';
|
||||||
import DesignTrainingMenu from './trainingList/designTrainingMenu';
|
import DesignTrainingMenu from './trainingList/designTrainingMenu';
|
||||||
|
import { SimulationUserType } from '@/scripts/ConstDic';
|
||||||
export default {
|
export default {
|
||||||
name: 'DisplayDraft',
|
name: 'DisplayDraft',
|
||||||
components: {
|
components: {
|
||||||
@ -99,7 +100,9 @@ export default {
|
|||||||
this.$store.dispatch('trainingNew/clearStepOverCount');
|
this.$store.dispatch('trainingNew/clearStepOverCount');
|
||||||
this.$store.dispatch('trainingNew/trainingEnd');
|
this.$store.dispatch('trainingNew/trainingEnd');
|
||||||
this.$store.dispatch('trainingNew/changeTeachMode', '');
|
this.$store.dispatch('trainingNew/changeTeachMode', '');
|
||||||
|
if (this.$store.state.training.simulationUserType === SimulationUserType.TEACHER) {
|
||||||
clearSimulation(this.group);
|
clearSimulation(this.group);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
// 缩放设置
|
// 缩放设置
|
||||||
@ -141,9 +144,6 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
EventBus.$emit('viewLoading', false);
|
EventBus.$emit('viewLoading', false);
|
||||||
});
|
});
|
||||||
},
|
|
||||||
// 仿真错误时,被动退出时调用
|
|
||||||
async back() {
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
:title="title"
|
:title="title"
|
||||||
:visible.sync="dialogVisible"
|
:visible.sync="dialogVisible"
|
||||||
width="500px"
|
width="500px"
|
||||||
|
append-to-body
|
||||||
:before-close="handleClose"
|
:before-close="handleClose"
|
||||||
center
|
center
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
@ -100,7 +101,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initData(row) {
|
initData() {
|
||||||
this.filterStationList = [];
|
this.filterStationList = [];
|
||||||
this.stationList.forEach(item => {
|
this.stationList.forEach(item => {
|
||||||
if (!item.depot) {
|
if (!item.depot) {
|
||||||
@ -108,8 +109,8 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
doShow(row) {
|
doShow() {
|
||||||
this.initData(row);
|
this.initData();
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
},
|
},
|
||||||
doSave() {
|
doSave() {
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
@node-contextmenu="handleShowContextMenu"
|
@node-contextmenu="handleShowContextMenu"
|
||||||
>
|
>
|
||||||
<span slot-scope="{ node, data }">
|
<span slot-scope="{ node, data }">
|
||||||
<span v-if="node.data.online" style="color: green;">{{ data.nickName + (data.admin? '【管理员】':'') + (data.referee? '【裁判员】':'') + (data.deviceVO? ` -- (${data.deviceVO.code})`:'') }}</span>
|
<span v-if="node.data.online" style="color: green;">{{ data.nickName + (data.userType === 'TEACHER'? '【教员】':'') + (data.referee? '【裁判员】':'') + (data.deviceVO? ` -- (${data.deviceVO.code})`:'') }}</span>
|
||||||
<span v-else style="color: #ccc;">{{ data.nickName + (data.admin? '【管理员】':'') + (data.referee? '【裁判员】':'') + (data.deviceVO? ` -- (${data.deviceVO.code})`:'') }}</span>
|
<span v-else style="color: #ccc;">{{ data.nickName + (data.userType === 'TEACHER'? '【教员】':'') + (data.referee? '【裁判员】':'') + (data.deviceVO? ` -- (${data.deviceVO.code})`:'') }}</span>
|
||||||
</span>
|
</span>
|
||||||
</el-tree>
|
</el-tree>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
@ -29,6 +29,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||||
import ContentMenu from './content-menu';
|
import ContentMenu from './content-menu';
|
||||||
|
import { SimulationUserType } from '@/scripts/ConstDic';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@ -42,12 +43,6 @@ export default {
|
|||||||
members: {
|
members: {
|
||||||
type: Array,
|
type: Array,
|
||||||
required: true
|
required: true
|
||||||
},
|
|
||||||
isAdmin: {
|
|
||||||
type: Boolean,
|
|
||||||
default() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -97,7 +92,7 @@ export default {
|
|||||||
x: e.clientX,
|
x: e.clientX,
|
||||||
y: e.clientY
|
y: e.clientY
|
||||||
};
|
};
|
||||||
if (this.isAdmin) {
|
if (this.$store.state.training.simulationUserType === SimulationUserType.TEACHER) {
|
||||||
this.clickUserId = `${obj.userId || ''}`;
|
this.clickUserId = `${obj.userId || ''}`;
|
||||||
this.menuDisabled = !!obj.deviceVO;
|
this.menuDisabled = !!obj.deviceVO;
|
||||||
this.$store.dispatch('menuOperation/setPopMenu', { position, menu: DeviceMenu.JointRoom });
|
this.$store.dispatch('menuOperation/setPopMenu', { position, menu: DeviceMenu.JointRoom });
|
||||||
|
@ -43,13 +43,13 @@
|
|||||||
class="room__container--members"
|
class="room__container--members"
|
||||||
:room="room"
|
:room="room"
|
||||||
:members="simulationUserList"
|
:members="simulationUserList"
|
||||||
:is-admin="isAdmin"
|
|
||||||
style="height: 100%"
|
style="height: 100%"
|
||||||
@message="messageInfo"
|
@message="messageInfo"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="room__footer" />
|
<div class="room__footer" />
|
||||||
</div>
|
</div>
|
||||||
|
<add-member ref="addMember" :station-list="stationList" />
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -57,18 +57,12 @@
|
|||||||
import eMembers from './e-members';
|
import eMembers from './e-members';
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
import { EventBus } from '@/scripts/event-bus';
|
||||||
import { assignUsersPlayRoles } from '@/api/jointSimulation';
|
import { assignUsersPlayRoles } from '@/api/jointSimulation';
|
||||||
|
import AddMember from './addMember';
|
||||||
export default {
|
export default {
|
||||||
name: 'MembersManage',
|
name: 'MembersManage',
|
||||||
components: {
|
components: {
|
||||||
eMembers
|
eMembers,
|
||||||
},
|
AddMember
|
||||||
props: {
|
|
||||||
isAdmin: {
|
|
||||||
type: Boolean,
|
|
||||||
default() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -166,7 +160,6 @@ export default {
|
|||||||
return this.$store.state.user.nickname;
|
return this.$store.state.user.nickname;
|
||||||
},
|
},
|
||||||
roles() {
|
roles() {
|
||||||
console.log(this.$store.state.training.userRole, '-----------------');
|
|
||||||
return this.$store.state.training.roles;
|
return this.$store.state.training.roles;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -404,7 +397,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
addMember() {
|
addMember() {
|
||||||
this.$emit('addSimulationMember');
|
this.$refs.addMember.doShow();
|
||||||
},
|
},
|
||||||
filterNode(value, data) {
|
filterNode(value, data) {
|
||||||
let flag = false;
|
let flag = false;
|
||||||
@ -427,6 +420,8 @@ export default {
|
|||||||
this.$store.dispatch('training/setUserRole', userRole);
|
this.$store.dispatch('training/setUserRole', userRole);
|
||||||
this.$store.dispatch('training/setRoles', userRole);
|
this.$store.dispatch('training/setRoles', userRole);
|
||||||
this.$store.dispatch('training/updateMemberAndUser', { simulationUserList: [item], userId: this.userId });
|
this.$store.dispatch('training/updateMemberAndUser', { simulationUserList: [item], userId: this.userId });
|
||||||
|
} else {
|
||||||
|
this.$store.dispatch('training/updateMemberAndUser', { simulationUserList: [item], userId: this.userId });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,18 @@
|
|||||||
<span style="margin-left: 10px;font-size: 14px;">{{ dateString }}</span>
|
<span style="margin-left: 10px;font-size: 14px;">{{ dateString }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex;">
|
<div style="display: flex;">
|
||||||
<el-button class="controlButton" type="info" style="background: #000;" :loading="pauseLoading" circle :class="simulationPaused?'el-icon-video-play':'el-icon-video-pause'" @click="startOrPause" />
|
<el-button
|
||||||
|
class="controlButton"
|
||||||
|
type="info"
|
||||||
|
style="background: #000;"
|
||||||
|
:disabled="isDisabled"
|
||||||
|
:loading="pauseLoading"
|
||||||
|
circle
|
||||||
|
:class="simulationPaused?'el-icon-video-play':'el-icon-video-pause'"
|
||||||
|
@click="startOrPause"
|
||||||
|
/>
|
||||||
<div>
|
<div>
|
||||||
<div class="simulationMenu" @click="showMenuSpeedList">{{ `x${speed}` }}</div>
|
<div class="simulationMenu" :style="{cursor: isDisabled ? 'not-allowed':'pointer'}" @click="showMenuSpeedList">{{ `x${speed}` }}</div>
|
||||||
<div v-show="isShowSpeedMenuList" class="simulationMenuList" style="right: 85px;">
|
<div v-show="isShowSpeedMenuList" class="simulationMenuList" style="right: 85px;">
|
||||||
<div v-for="(each, index) in speedList" :key="index">
|
<div v-for="(each, index) in speedList" :key="index">
|
||||||
<div class="eachSimulationMenu" :class="{'active' :speed === each.value}" @click="speedChange(each.value)">{{ each.label }}</div>
|
<div class="eachSimulationMenu" :class="{'active' :speed === each.value}" @click="speedChange(each.value)">{{ each.label }}</div>
|
||||||
@ -15,7 +24,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="simulationMenu" style="width: 70px;" :style="{background: nowMode === '正常操作' ? '#0fb20b' :'#efc007'}" @click="changeOperateMode">{{ nowMode }}</div>
|
<div class="simulationMenu" style="width: 70px;" :style="{background: nowMode === '正常操作' ? '#0fb20b' :'#efc007',cursor: isDisabled ? 'not-allowed':'pointer'}" @click="changeOperateMode">{{ nowMode }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -25,6 +34,7 @@ import { simulationPause, simulationStart, timesSpeedPlayback } from '@/api/rtSi
|
|||||||
import { OperateMode } from '@/scripts/ConstDic';
|
import { OperateMode } from '@/scripts/ConstDic';
|
||||||
import { getSessionStorage } from '@/utils/auth';
|
import { getSessionStorage } from '@/utils/auth';
|
||||||
import { timestampFormat } from '@/utils/date';
|
import { timestampFormat } from '@/utils/date';
|
||||||
|
import { SimulationUserType } from '@/scripts/ConstDic';
|
||||||
export default {
|
export default {
|
||||||
name:'SimulationControl',
|
name:'SimulationControl',
|
||||||
data() {
|
data() {
|
||||||
@ -76,6 +86,9 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
return '正常操作';
|
return '正常操作';
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
isDisabled() {
|
||||||
|
return this.$store.state.training.simulationUserType !== SimulationUserType.TEACHER;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -96,6 +109,7 @@ export default {
|
|||||||
this.dateString = timestampFormat('YYYYMMDD', date);
|
this.dateString = timestampFormat('YYYYMMDD', date);
|
||||||
},
|
},
|
||||||
changeOperateMode() {
|
changeOperateMode() {
|
||||||
|
if (this.$store.state.training.simulationUserType === SimulationUserType.TEACHER) {
|
||||||
let val = '';
|
let val = '';
|
||||||
if (this.nowMode === '正常操作') {
|
if (this.nowMode === '正常操作') {
|
||||||
val = OperateMode.FAULT;
|
val = OperateMode.FAULT;
|
||||||
@ -103,14 +117,17 @@ export default {
|
|||||||
val = OperateMode.NORMAL;
|
val = OperateMode.NORMAL;
|
||||||
}
|
}
|
||||||
this.$store.dispatch('training/changeOperateMode', { mode: val });
|
this.$store.dispatch('training/changeOperateMode', { mode: val });
|
||||||
|
}
|
||||||
},
|
},
|
||||||
showMenuModeList() {
|
showMenuModeList() {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
this.isShowModeMenuList = !this.isShowModeMenuList;
|
this.isShowModeMenuList = !this.isShowModeMenuList;
|
||||||
},
|
},
|
||||||
showMenuSpeedList(event) {
|
showMenuSpeedList(event) {
|
||||||
|
if (this.$store.state.training.simulationUserType === SimulationUserType.TEACHER) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
this.isShowSpeedMenuList = !this.isShowSpeedMenuList;
|
this.isShowSpeedMenuList = !this.isShowSpeedMenuList;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
startOrPause() {
|
startOrPause() {
|
||||||
this.pauseLoading = true;
|
this.pauseLoading = true;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -16,8 +16,6 @@
|
|||||||
<select-exam ref="selectExam" @examStart="examStart" />
|
<select-exam ref="selectExam" @examStart="examStart" />
|
||||||
<exam-panel ref="examPanel" />
|
<exam-panel ref="examPanel" />
|
||||||
<device-manage ref="deviceManage" />
|
<device-manage ref="deviceManage" />
|
||||||
<diagram-load ref="diagramLoad" :group="group" />
|
|
||||||
<diagram-preview ref="diagramPreview" />
|
|
||||||
<qr-code ref="qrCode" />
|
<qr-code ref="qrCode" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -35,8 +33,7 @@ import ExamPanel from '../exam/examPanel';
|
|||||||
import getErrorTip from '@/scripts/errorTip';
|
import getErrorTip from '@/scripts/errorTip';
|
||||||
import DeviceManage from './deviceManage';
|
import DeviceManage from './deviceManage';
|
||||||
import QrCode from '@/components/QrCode';
|
import QrCode from '@/components/QrCode';
|
||||||
import DiagramLoad from './diagramLoad';
|
import { SimulationUserType } from '@/scripts/ConstDic';
|
||||||
import DiagramPreview from './diagramPreview';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SimulationMenu',
|
name: 'SimulationMenu',
|
||||||
@ -49,9 +46,7 @@ export default {
|
|||||||
Jl3dDevice,
|
Jl3dDevice,
|
||||||
MemberManage,
|
MemberManage,
|
||||||
DeviceManage,
|
DeviceManage,
|
||||||
QrCode,
|
QrCode
|
||||||
DiagramPreview,
|
|
||||||
DiagramLoad
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -62,16 +57,14 @@ export default {
|
|||||||
deviceShow: true,
|
deviceShow: true,
|
||||||
allMenuList: [
|
allMenuList: [
|
||||||
{ label: '设备视图', name: 'jlmap3dmodel', click: this.jlmap3dmodel, isDisabled: () => { return false; }, isShow: () => { return true; } },
|
{ label: '设备视图', name: 'jlmap3dmodel', click: this.jlmap3dmodel, isDisabled: () => { return false; }, isShow: () => { return true; } },
|
||||||
{ label: '设备管理', name: 'deviceManage', click: this.deviceManage, isDisabled: () => { return false; }, isShow: () => { return this.$store.state.training.domConfig.hasDeviceManage; } },
|
{ label: '设备管理', name: 'deviceManage', click: this.deviceManage, isDisabled: () => { return false; }, isShow: () => { return this.$store.state.training.domConfig.hasDeviceManage && this.$store.state.training.simulationUserType === SimulationUserType.TEACHER; } },
|
||||||
{ label: '联系方式', name: 'contectUs', click: this.contectUs, isDisabled: () => { return false; }, isShow: () => { return true; } },
|
{ label: '联系方式', name: 'contectUs', click: this.contectUs, isDisabled: () => { return false; }, isShow: () => { return true; } },
|
||||||
{ label: '生成二维码', name: 'generateQrCode', click: this.generateQrCode, isDisabled: () => { return false; }, isShow: () => { return this.$store.state.training.domConfig.isJoint; } },
|
{ label: '生成二维码', name: 'generateQrCode', click: this.generateQrCode, isDisabled: () => { return false; }, isShow: () => { return this.$store.state.training.domConfig.isJoint && this.$store.state.training.simulationUserType === SimulationUserType.TEACHER; } },
|
||||||
{ label: '切换客流数据', name: 'changeFlowData', click: this.changeFlowData, isDisabled: () => { return false; }, isShow: () => { return this.$store.state.training.domConfig.hasLpf; } },
|
{ label: '切换客流数据', name: 'changeFlowData', click: this.changeFlowData, isDisabled: () => { return false; }, isShow: () => { return this.$store.state.training.domConfig.hasLpf && this.$store.state.training.simulationUserType === SimulationUserType.TEACHER; } },
|
||||||
{ label: '运行图加载', name: 'diagramLoad', click: this.diagramLoad, isDisabled: () => { return false; }, isShow: ()=>{ return this.$route.query.simType === 'METRO'; } },
|
{ label: '成员管理', name: 'memberManage', click: this.memberManage, isDisabled: () => { return false; }, isShow: () => { return !this.$store.state.training.domConfig.hasMemberManage && this.$store.state.training.simulationUserType === SimulationUserType.TEACHER; } },
|
||||||
{ label: '运行图预览', name: 'diagramPreview', click: this.diagramPreview, isDisabled: () => { return false; }, isShow: ()=>{ return this.$route.query.simType === 'METRO'; } },
|
{ label: '考试', name: 'exam', click: this.goExam, isDisabled: () => { return false; }, isShow: () => { return this.$store.state.training.domConfig.hasExam && this.$store.state.training.simulationUserType === SimulationUserType.TEACHER; } },
|
||||||
{ label: '成员管理', name: 'memberManage', click: this.memberManage, isDisabled: () => { return false; }, isShow: () => { return !this.$store.state.training.domConfig.hasMemberManage; } },
|
{ label: '按计划行车', name: 'drivingPlan', click: this.drivingPlan, isDisabled: () => { return this.$store.state.trainingNew.trainingSwitch; }, isShow: () => { return this.$store.state.training.simulationUserType === SimulationUserType.TEACHER; } },
|
||||||
{ label: '考试', name: 'exam', click: this.goExam, isDisabled: () => { return false; }, isShow: () => { return this.$store.state.training.domConfig.hasExam; } },
|
{ label: '初始化', name: 'initialize', click: this.initializeSim, isDisabled: () => { return this.$store.state.trainingNew.trainingSwitch; }, isShow: () => { return this.$store.state.training.simulationUserType === SimulationUserType.TEACHER; } },
|
||||||
{ label: '按计划行车', name: 'drivingPlan', click: this.drivingPlan, isDisabled: () => { return this.$store.state.trainingNew.trainingSwitch; }, isShow: () => { return true; } },
|
|
||||||
{ label: '初始化', name: 'initialize', click: this.initializeSim, isDisabled: () => { return this.$store.state.trainingNew.trainingSwitch; }, isShow: () => { return true; } },
|
|
||||||
{ label: '退出', name: 'quit', click: this.exitSim, isDisabled: () => { return false; }, isShow: () => { return true; } }
|
{ label: '退出', name: 'quit', click: this.exitSim, isDisabled: () => { return false; }, isShow: () => { return true; } }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
@ -90,6 +83,22 @@ export default {
|
|||||||
return this.$route.query.mapId;
|
return this.$route.query.mapId;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
'$store.state.training.simulationUserType': function (val) {
|
||||||
|
this.handleMenuShow();
|
||||||
|
},
|
||||||
|
'$store.state.socket.simulationOver':function(val) {
|
||||||
|
this.back();
|
||||||
|
},
|
||||||
|
'$store.state.socket.simulationRoleList':function(val) {
|
||||||
|
console.log('**************', val);
|
||||||
|
(val || []).forEach(item => {
|
||||||
|
if (item.body.messageType === 'KICK_OUT' && item.body.userId == this.$store.state.user.id) {
|
||||||
|
this.back();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
window.addEventListener('click', this.close, false);
|
window.addEventListener('click', this.close, false);
|
||||||
},
|
},
|
||||||
@ -101,14 +110,6 @@ export default {
|
|||||||
this.$store.dispatch('trainingNew/changeTeachMode', '');
|
this.$store.dispatch('trainingNew/changeTeachMode', '');
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
diagramLoad() {
|
|
||||||
this.hideMenuList();
|
|
||||||
this.$refs.diagramLoad.doShow();
|
|
||||||
},
|
|
||||||
diagramPreview() {
|
|
||||||
this.hideMenuList();
|
|
||||||
this.$refs.diagramPreview.doShow();
|
|
||||||
},
|
|
||||||
generateQrCode() {
|
generateQrCode() {
|
||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
getSimulationQrcode(this.$route.query.group).then(resp => {
|
getSimulationQrcode(this.$route.query.group).then(resp => {
|
||||||
@ -178,6 +179,10 @@ export default {
|
|||||||
cancelButtonText: '取 消',
|
cancelButtonText: '取 消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
this.back();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
back() {
|
||||||
if (this.projectDevice && this.$route.query.type === 'IM') {
|
if (this.projectDevice && this.$route.query.type === 'IM') {
|
||||||
clearSimulation(this.group).then(() => {
|
clearSimulation(this.group).then(() => {
|
||||||
this.logout();
|
this.logout();
|
||||||
@ -187,7 +192,6 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$router.go(-1);
|
this.$router.go(-1);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
},
|
},
|
||||||
initializeSim() {
|
initializeSim() {
|
||||||
initSimulation(this.group).then(() => {
|
initSimulation(this.group).then(() => {
|
||||||
|
@ -31,7 +31,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'$store.state.map.initJlmapLoadedCount': function (val) {
|
'$store.state.map.initJlmapLoadedCount': function () {
|
||||||
this.handleBigScreenData();
|
this.handleBigScreenData();
|
||||||
},
|
},
|
||||||
mapDevice() {
|
mapDevice() {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-show="show" class="run-plan-dialog" :style="{width: width + 'px',height:height + 'px'}">
|
<div class="run-plan-dialog" :style="{width: width + 'px',height:height + 'px'}">
|
||||||
<plan-schedule ref="planSchedule" :group="group" @back="doClose" />
|
<plan-schedule ref="planSchedule" :group="group" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -22,8 +22,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menus: null,
|
menus: null
|
||||||
show: false
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -53,19 +52,18 @@ export default {
|
|||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.$store.dispatch('runPlan/setPlanData', []);
|
this.$store.dispatch('runPlan/setPlanData', []);
|
||||||
},
|
},
|
||||||
methods: {
|
mounted() {
|
||||||
doShow() {
|
this.$nextTick(() => {
|
||||||
this.show = true;
|
|
||||||
this.$refs.planSchedule.setPosition();
|
this.$refs.planSchedule.setPosition();
|
||||||
|
this.$refs.planSchedule.loadChartPage();
|
||||||
|
});
|
||||||
},
|
},
|
||||||
doClose() {
|
methods: {
|
||||||
this.show = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
@import "src/styles/mixin.scss";
|
@import "src/styles/mixin";
|
||||||
|
|
||||||
.run-plan-dialog {
|
.run-plan-dialog {
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
@ -1,37 +1,23 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<div id="PlanSchedule" :style="{height: height+'px'}">
|
||||||
v-dialogLoading="dialogLoading"
|
|
||||||
:title="title"
|
|
||||||
:width="maxWidth + 'px'"
|
|
||||||
top="0"
|
|
||||||
:style="{left:$store.state.app.width> 1920? '50%': '0'}"
|
|
||||||
:visible.sync="dialogShow"
|
|
||||||
:before-close="doClose"
|
|
||||||
:close-on-click-modal="false"
|
|
||||||
:modal="false"
|
|
||||||
>
|
|
||||||
<div id="PlanSchedule" :style="{top: top+'px', height: height+'px'}">
|
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<div :id="runPlanId" />
|
<div :id="runPlanId" />
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<data-table
|
<data-table
|
||||||
ref="serviceTable1"
|
ref="serviceTable1"
|
||||||
:height="height/2"
|
:height="height/2 - 20"
|
||||||
:config="serviceNumberConfig"
|
:config="serviceNumberConfig"
|
||||||
:style="{top: top-height/2+'px'}"
|
|
||||||
@touch="scheduleTouch"
|
@touch="scheduleTouch"
|
||||||
/>
|
/>
|
||||||
<data-table
|
<data-table
|
||||||
ref="tripTable1"
|
ref="tripTable1"
|
||||||
:height="height/2"
|
:height="height/2 - 20"
|
||||||
:config="tripNumberConfig"
|
:config="tripNumberConfig"
|
||||||
:style="{top: top-height/2+'px'}"
|
|
||||||
@touch="trainNumTouch"
|
@touch="trainNumTouch"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -41,7 +27,7 @@ import DataTable from '@/views/planSchedule/menusPlan/components/dataTable';
|
|||||||
import echarts from 'echarts';
|
import echarts from 'echarts';
|
||||||
import {toTimeStamp, formatDuring} from '@/utils/date';
|
import {toTimeStamp, formatDuring} from '@/utils/date';
|
||||||
import { deepAssign } from '@/utils/index';
|
import { deepAssign } from '@/utils/index';
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
import { clearSubscribe, getTopic} from '@/utils/stomp';
|
||||||
let myChart = null;
|
let myChart = null;
|
||||||
export default {
|
export default {
|
||||||
name: 'DiagramPreview',
|
name: 'DiagramPreview',
|
||||||
@ -50,11 +36,9 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
top: 0,
|
|
||||||
height: 0,
|
height: 0,
|
||||||
inter:null,
|
inter:null,
|
||||||
runPlanId: 'run-plan-view',
|
runPlanId: 'run-plan-view',
|
||||||
// myChart: null,
|
|
||||||
PlanParser: {},
|
PlanParser: {},
|
||||||
serviceNumberConfig: {
|
serviceNumberConfig: {
|
||||||
data: [],
|
data: [],
|
||||||
@ -90,8 +74,6 @@ export default {
|
|||||||
kmRangeMap: {},
|
kmRangeMap: {},
|
||||||
absoluteTime: 2 * 3600,
|
absoluteTime: 2 * 3600,
|
||||||
indexKmRangeMap: {},
|
indexKmRangeMap: {},
|
||||||
dialogLoading: false,
|
|
||||||
dialogShow: false,
|
|
||||||
seriesMap: {},
|
seriesMap: {},
|
||||||
staticSeries: [],
|
staticSeries: [],
|
||||||
runSeries: [],
|
runSeries: [],
|
||||||
@ -108,9 +90,6 @@ export default {
|
|||||||
},
|
},
|
||||||
maxHeight() {
|
maxHeight() {
|
||||||
return this.$store.state.app.height > 1080 ? 1080 : this.$store.state.app.height;
|
return this.$store.state.app.height > 1080 ? 1080 : this.$store.state.app.height;
|
||||||
},
|
|
||||||
title() {
|
|
||||||
return this.$t('display.runPlan.previewRunDiagram');
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -124,9 +103,7 @@ export default {
|
|||||||
try {
|
try {
|
||||||
await this.loadChartPage();
|
await this.loadChartPage();
|
||||||
this.selectSeries = []; this.runSeries = []; this.runPlanData = {};
|
this.selectSeries = []; this.runSeries = []; this.runPlanData = {};
|
||||||
if (this.dialogShow) {
|
|
||||||
await this.loadInitData();
|
await this.loadInitData();
|
||||||
}
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
} finally {
|
} finally {
|
||||||
@ -135,9 +112,7 @@ export default {
|
|||||||
},
|
},
|
||||||
'$store.state.socket.simulationReset': function (val) {
|
'$store.state.socket.simulationReset': function (val) {
|
||||||
this.selectSeries = []; this.runSeries = []; this.runPlanData = {};
|
this.selectSeries = []; this.runSeries = []; this.runPlanData = {};
|
||||||
if (this.dialogShow) {
|
|
||||||
this.loadInitData();
|
this.loadInitData();
|
||||||
}
|
|
||||||
},
|
},
|
||||||
'$store.state.runPlan.planSizeCount': function () {
|
'$store.state.runPlan.planSizeCount': function () {
|
||||||
this.reSize({ width: this.$store.state.runPlan.width, height: this.$store.state.runPlan.height });
|
this.reSize({ width: this.$store.state.runPlan.width, height: this.$store.state.runPlan.height });
|
||||||
@ -148,36 +123,19 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
async mounted() {
|
||||||
this.staticSeries = []; this.selectSeries = []; this.runSeries = []; this.runPlanData = {};
|
this.staticSeries = []; this.selectSeries = []; this.runSeries = []; this.runPlanData = {};
|
||||||
this.PlanParser = this.$theme.loadPlanParser(this.$route.query.lineCode);
|
this.PlanParser = this.$theme.loadPlanParser(this.$route.query.lineCode);
|
||||||
// this.loadChartPage();
|
await this.setPosition();
|
||||||
EventBus.$on('clearRunSeries', () => {
|
await this.loadChartPage();
|
||||||
this.runSeries = [];
|
await this.loadInitData();
|
||||||
});
|
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.$store.dispatch('runPlan/setSelected', null);
|
this.$store.dispatch('runPlan/setSelected', null);
|
||||||
|
clearSubscribe(getTopic('LPF', this.group));
|
||||||
this.destroy();
|
this.destroy();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doShow() {
|
|
||||||
try {
|
|
||||||
this.dialogLoading = true;
|
|
||||||
this.dialogShow = true;
|
|
||||||
this.setPosition();
|
|
||||||
this.loadInitData();
|
|
||||||
this.inter && clearInterval(this.inter);
|
|
||||||
} catch (e) {
|
|
||||||
console.error(e);
|
|
||||||
} finally {
|
|
||||||
this.dialogLoading = false;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async doClose() {
|
|
||||||
this.dialogShow = false;
|
|
||||||
this.inter && clearInterval(this.inter);
|
|
||||||
},
|
|
||||||
serviceNumberChange(row) {
|
serviceNumberChange(row) {
|
||||||
if (row) {
|
if (row) {
|
||||||
this.$store.dispatch('runPlan/setSelected', { serviceNumber: row.serviceNumber, tripNumber: null });
|
this.$store.dispatch('runPlan/setSelected', { serviceNumber: row.serviceNumber, tripNumber: null });
|
||||||
@ -206,19 +164,12 @@ export default {
|
|||||||
},
|
},
|
||||||
async setPosition() {
|
async setPosition() {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
const top = 54;
|
|
||||||
const width = this.maxWidth * 0.85;
|
const width = this.maxWidth * 0.85;
|
||||||
let height = this.maxHeight;
|
const height = this.maxHeight;
|
||||||
|
|
||||||
height = height - top;
|
|
||||||
this.$store.dispatch('runPlan/resize', { width, height });
|
this.$store.dispatch('runPlan/resize', { width, height });
|
||||||
|
|
||||||
if (this.top != top) {
|
|
||||||
this.top = top;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.height != height) {
|
if (this.height != height) {
|
||||||
this.height = height - top;
|
this.height = height;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -455,7 +406,7 @@ export default {
|
|||||||
this.destroy();
|
this.destroy();
|
||||||
let startValue = 3600 + this.PlanParser.getTranslation();
|
let startValue = 3600 + this.PlanParser.getTranslation();
|
||||||
const offsetTime = 3600;
|
const offsetTime = 3600;
|
||||||
const initTime = toTimeStamp(formatDuring(this.$store.state.training.initTime));
|
const initTime = toTimeStamp(formatDuring(this.$store.state.socket.simulationTimeSync));
|
||||||
startValue = initTime - this.PlanParser.getTranslation();
|
startValue = initTime - this.PlanParser.getTranslation();
|
||||||
option.dataZoom[0].startValue = option.dataZoom[1].startValue = startValue - offsetTime;
|
option.dataZoom[0].startValue = option.dataZoom[1].startValue = startValue - offsetTime;
|
||||||
option.dataZoom[0].endValue = option.dataZoom[1].endValue = startValue + offsetTime;
|
option.dataZoom[0].endValue = option.dataZoom[1].endValue = startValue + offsetTime;
|
||||||
@ -613,7 +564,7 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style scoped rel="stylesheet/scss" lang="scss">
|
<style scoped rel="stylesheet/scss" lang="scss">
|
||||||
@import "src/styles/mixin.scss";
|
@import "src/styles/mixin";
|
||||||
|
|
||||||
#PlanSchedule {
|
#PlanSchedule {
|
||||||
z-index: 5;
|
z-index: 5;
|
@ -22,6 +22,8 @@
|
|||||||
<emergency-dispatch-work v-else-if="picture === 'emergency'" ref="emergencyDispatchWork" />
|
<emergency-dispatch-work v-else-if="picture === 'emergency'" ref="emergencyDispatchWork" />
|
||||||
<register-book v-else-if="picture === 'registerBook'" ref="registerBook" />
|
<register-book v-else-if="picture === 'registerBook'" ref="registerBook" />
|
||||||
<train-ticket v-else-if="picture === 'trainTicket'" ref="trainTicket" />
|
<train-ticket v-else-if="picture === 'trainTicket'" ref="trainTicket" />
|
||||||
|
<diagram-load v-else-if="picture === 'diagramLoad'" ref="diagramLoad" :group="group" />
|
||||||
|
<diagram-preview v-else-if="picture === 'diagramPreview'" ref="diagramPreview" />
|
||||||
<terminal-menu
|
<terminal-menu
|
||||||
v-if="menuShow"
|
v-if="menuShow"
|
||||||
ref="terminalMenu"
|
ref="terminalMenu"
|
||||||
@ -59,6 +61,8 @@ import ScheduleWork from './schedulWork';
|
|||||||
import EmergencyDispatchWork from './emergencyDispatchWork';
|
import EmergencyDispatchWork from './emergencyDispatchWork';
|
||||||
import RegisterBook from './registerBook';
|
import RegisterBook from './registerBook';
|
||||||
import TrainTicket from './trainTicket/index';
|
import TrainTicket from './trainTicket/index';
|
||||||
|
import DiagramLoad from './diagramLoad';
|
||||||
|
import DiagramPreview from './diagramPreview';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Index',
|
name: 'Index',
|
||||||
@ -84,7 +88,9 @@ export default {
|
|||||||
ScheduleWork,
|
ScheduleWork,
|
||||||
EmergencyDispatchWork,
|
EmergencyDispatchWork,
|
||||||
RegisterBook,
|
RegisterBook,
|
||||||
TrainTicket
|
TrainTicket,
|
||||||
|
DiagramLoad,
|
||||||
|
DiagramPreview
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -191,6 +197,9 @@ export default {
|
|||||||
case 'YJDDZH':
|
case 'YJDDZH':
|
||||||
creatSubscribe(getTopic(type, this.group), header, defaultCallback);
|
creatSubscribe(getTopic(type, this.group), header, defaultCallback);
|
||||||
break;
|
break;
|
||||||
|
case 'RUNFACT':
|
||||||
|
creatSubscribe(getTopic(type, this.group), header, defaultCallback);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
clearSubscribe() {
|
clearSubscribe() {
|
||||||
@ -198,6 +207,7 @@ export default {
|
|||||||
clearSubscribe(getTopic('ATS_STATUS', this.group));
|
clearSubscribe(getTopic('ATS_STATUS', this.group));
|
||||||
clearSubscribe(getTopic('STATE', this.group));
|
clearSubscribe(getTopic('STATE', this.group));
|
||||||
clearSubscribe(getTopic('CTC', this.group));
|
clearSubscribe(getTopic('CTC', this.group));
|
||||||
|
clearSubscribe(getTopic('LPF', this.group));
|
||||||
},
|
},
|
||||||
loadingChange() {
|
loadingChange() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
@ -215,6 +225,8 @@ export default {
|
|||||||
this.$nextTick(() => { this.subscribe('LPF'); });
|
this.$nextTick(() => { this.subscribe('LPF'); });
|
||||||
} else if (val === 'emergency') {
|
} else if (val === 'emergency') {
|
||||||
this.$nextTick(() => { this.subscribe('YJDDZH'); });
|
this.$nextTick(() => { this.subscribe('YJDDZH'); });
|
||||||
|
} else if (val === 'diagramPreview') {
|
||||||
|
this.$nextTick(() => { this.subscribe('RUNFACT'); });
|
||||||
}
|
}
|
||||||
this.$nextTick(() => { this.loading = false; });
|
this.$nextTick(() => { this.loading = false; });
|
||||||
},
|
},
|
||||||
|
@ -85,6 +85,18 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
'METRO': [
|
'METRO': [
|
||||||
|
{
|
||||||
|
name: '运行图加载',
|
||||||
|
code: 'diagramLoad',
|
||||||
|
roleList: ['DISPATCHER'],
|
||||||
|
click: this.changePictureShow
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '运行图预览',
|
||||||
|
code: 'diagramPreview',
|
||||||
|
roleList: ['DISPATCHER', 'STATION_SUPERVISOR', 'DRIVER'],
|
||||||
|
click: this.changePictureShow
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: '派班工作站',
|
name: '派班工作站',
|
||||||
code: 'scheduleWork',
|
code: 'scheduleWork',
|
||||||
|
@ -60,6 +60,9 @@ export default {
|
|||||||
this.$refs.schedule.setPosition();
|
this.$refs.schedule.setPosition();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
loadChartPage() {
|
||||||
|
this.$refs.schedule.loadChartPage();
|
||||||
|
},
|
||||||
dispatchDialog(dialogObj) {
|
dispatchDialog(dialogObj) {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (this.$refs[dialogObj.name]) {
|
if (this.$refs[dialogObj.name]) {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<img class="logo" :src="logoImg">
|
<img class="logo" :src="logoImg">
|
||||||
<span> {{ mapName }}  </span>
|
<span> {{ mapName }}  </span>
|
||||||
<span v-if="runPlanName">({{ runPlanName }})</span>
|
<span v-if="runPlanName">({{ runPlanName }})</span>
|
||||||
<span class="system-close el-icon-close" @click="back" />
|
<!-- <span class="system-close el-icon-close" @click="back" />-->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -35,9 +35,9 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
back() {
|
// back() {
|
||||||
this.$emit('back');
|
// this.$emit('back');
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@ -58,7 +58,7 @@ export default {
|
|||||||
background: -moz-linear-gradient(#0055E8, #0099F8);
|
background: -moz-linear-gradient(#0055E8, #0099F8);
|
||||||
background: linear-gradient(#0055E8, #0099F8);
|
background: linear-gradient(#0055E8, #0099F8);
|
||||||
color: white;
|
color: white;
|
||||||
font: bold;
|
font-weight: bold;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
|
Loading…
Reference in New Issue
Block a user