Merge branch 'test_dispaly' of https://git.code.tencent.com/lian-cbtc/jl-client into test_dispaly
# Conflicts: # src/views/newMap/display/simulationMenu.vue
This commit is contained in:
commit
b0431f00f8
@ -244,3 +244,32 @@ export function deletePaper(pcId) {
|
|||||||
method: 'DELETE',
|
method: 'DELETE',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 根据试卷蓝图生成用户的试卷
|
||||||
|
* @param {Number} pcId 试卷蓝图Id
|
||||||
|
*/
|
||||||
|
export function generateExam(pcId) {
|
||||||
|
return request({
|
||||||
|
url: `/api/v2/paper/${pcId}`,
|
||||||
|
method: 'POST',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 删除用户试卷 */
|
||||||
|
export function deleteUserExam(param) {
|
||||||
|
return request({
|
||||||
|
url: `/api/v2/paper/user/${puId}`,
|
||||||
|
method: 'method',
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 获取用户试卷完整信息
|
||||||
|
* @param {Number} pcId 用户试卷Id
|
||||||
|
*/
|
||||||
|
export function getUserExamInfo(puId) {
|
||||||
|
return request({
|
||||||
|
url: `/api/v2/paper/user/${puId}`,
|
||||||
|
method: 'GET',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
<div class="menus" :style="{width: width + 'px'}">
|
<div class="menus" :style="{width: width + 'px'}">
|
||||||
<menu-bar ref="menuBar" :selected="selected" />
|
<menu-bar ref="menuBar" :selected="selected" />
|
||||||
<menu-deplot-button ref="menuDeplotButton" />
|
<menu-deplot-button ref="menuDeplotButton" />
|
||||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'dispatchWork'" />
|
||||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
<menu-switch ref="menuSwitch" :selected="selected" :work="'dispatchWork'" />
|
||||||
<menu-signal ref="menuSignal" :selected="selected" />
|
<menu-signal ref="menuSignal" :selected="selected" :work="'dispatchWork'" />
|
||||||
<menu-section ref="menuSection" :selected="selected" :work="'dispatchWork'"/>
|
<menu-section ref="menuSection" :selected="selected" :work="'dispatchWork'" />
|
||||||
<menu-train ref="menuTrain" :selected="selected" />
|
<menu-train ref="menuTrain" :selected="selected" :work="'dispatchWork'" />
|
||||||
<menu-station ref="menuStation" :selected="selected" />
|
<menu-station ref="menuStation" :selected="selected" :work="'dispatchWork'" />
|
||||||
<passive-alarm ref="passiveAlarm" />
|
<passive-alarm ref="passiveAlarm" />
|
||||||
<passive-contorl ref="passiveControl" pop-class="fuzhou-01__systerm" />
|
<passive-contorl ref="passiveControl" pop-class="fuzhou-01__systerm" />
|
||||||
<passive-Timeout ref="passiveTimeout" />
|
<passive-Timeout ref="passiveTimeout" />
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
<div class="menus" :style="{width: width + 'px'}">
|
<div class="menus" :style="{width: width + 'px'}">
|
||||||
<menu-bar ref="menuBar" :selected="selected" />
|
<menu-bar ref="menuBar" :selected="selected" />
|
||||||
<menu-deplot-button ref="menuDeplotButton" />
|
<menu-deplot-button ref="menuDeplotButton" />
|
||||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'localWork'" />
|
||||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
<menu-switch ref="menuSwitch" :selected="selected" :work="'localWork'" />
|
||||||
<menu-signal ref="menuSignal" :selected="selected" />
|
<menu-signal ref="menuSignal" :selected="selected" :work="'localWork'" />
|
||||||
<menu-section ref="menuSection" :selected="selected" :work="'localWork'" />
|
<menu-section ref="menuSection" :selected="selected" :work="'localWork'" />
|
||||||
<menu-train ref="menuTrain" :selected="selected" />
|
<menu-train ref="menuTrain" :selected="selected" :work="'localWork'" />
|
||||||
<menu-station ref="menuStation" :selected="selected" />
|
<menu-station ref="menuStation" :selected="selected" :work="'localWork'" />
|
||||||
<passive-alarm ref="passiveAlarm" />
|
<passive-alarm ref="passiveAlarm" />
|
||||||
<passive-contorl ref="passiveControl" pop-class="fuzhou-01__systerm" />
|
<passive-contorl ref="passiveControl" pop-class="fuzhou-01__systerm" />
|
||||||
<passive-Timeout ref="passiveTimeout" />
|
<passive-Timeout ref="passiveTimeout" />
|
||||||
|
@ -174,7 +174,7 @@ export default {
|
|||||||
this.menu = [];
|
this.menu = [];
|
||||||
this.menuNormal.forEach(menuItem => {
|
this.menuNormal.forEach(menuItem => {
|
||||||
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected) : false;
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected) : false;
|
||||||
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.word) : true;
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
this.menu.push(menuItem);
|
this.menu.push(menuItem);
|
||||||
});
|
});
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
|
@ -23,7 +23,6 @@ import RouteHandControl from './dialog/routeHandControl';
|
|||||||
import RouteDetail from './dialog/routeDetail';
|
import RouteDetail from './dialog/routeDetail';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
@ -48,6 +47,12 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -55,8 +60,7 @@ export default {
|
|||||||
menu: [],
|
menu: [],
|
||||||
clickNum:0,
|
clickNum:0,
|
||||||
oldSelected:null,
|
oldSelected:null,
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [
|
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuSignal.routeSelect'),
|
label: this.$t('menu.menuSignal.routeSelect'),
|
||||||
handler: this.arrangementRoute,
|
handler: this.arrangementRoute,
|
||||||
@ -70,12 +74,14 @@ export default {
|
|||||||
{
|
{
|
||||||
label: this.$t('menu.menuSignal.signalBlock'),
|
label: this.$t('menu.menuSignal.signalBlock'),
|
||||||
handler: this.lock,
|
handler: this.lock,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
|
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK,
|
||||||
|
isDisabled: signal => signal.blockade === 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuSignal.signalDeblock'),
|
label: this.$t('menu.menuSignal.signalDeblock'),
|
||||||
handler: this.unlock,
|
handler: this.unlock,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
|
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK,
|
||||||
|
isDisabled: signal => signal.blockade !== 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuSignal.signalReopen'),
|
label: this.$t('menu.menuSignal.signalReopen'),
|
||||||
@ -90,27 +96,54 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '进路引导',
|
label: '进路引导',
|
||||||
handler: this.guide,
|
handler: this.guide,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
|
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||||
|
isShow: (signal, work) => work === 'localWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '引导进路办理',
|
||||||
|
handler: this.guide,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||||
|
isShow: (signal, work) => work === 'dispatchWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuSignal.setInterlockAutoRoute'),
|
label: this.$t('menu.menuSignal.setInterlockAutoRoute'),
|
||||||
handler: this.setAutoInterlock,
|
handler: this.setAutoInterlock,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
|
||||||
|
isDisabled: signal => signal.fleetMode === 1,
|
||||||
|
isShow: (signal, work) => work === 'localWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuSignal.cancelInterlockAutoRoute'),
|
label: this.$t('menu.menuSignal.cancelInterlockAutoRoute'),
|
||||||
handler: this.cancelAutoInterlock,
|
handler: this.cancelAutoInterlock,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO,
|
||||||
|
isDisabled: signal => signal.fleetMode === 0,
|
||||||
|
isShow: (signal, work) => work === 'localWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuSignal.setInterlockAutoTrigger'),
|
label: this.$t('menu.menuSignal.setInterlockAutoTrigger'),
|
||||||
handler: this.setAutoTrigger,
|
handler: this.setAutoTrigger,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER
|
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER,
|
||||||
|
isDisabled: signal => signal.ciControl === 1,
|
||||||
|
isShow: (signal, work) => work === 'localWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuSignal.cancelInterlockAutoTrigger'),
|
label: this.$t('menu.menuSignal.cancelInterlockAutoTrigger'),
|
||||||
handler: this.cancelAutoTrigger,
|
handler: this.cancelAutoTrigger,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER,
|
||||||
|
isDisabled: signal => signal.ciControl !== 0,
|
||||||
|
isShow: (signal, work) => work === 'localWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路交人工控',
|
||||||
|
handler: this.humanControl,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
|
||||||
|
isShow: (signal, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路交ATS自动控',
|
||||||
|
handler: this.atsAutoControl,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
|
||||||
|
isShow: (signal, work) => work === 'dispatchWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '查询进路控制模式',
|
label: '查询进路控制模式',
|
||||||
@ -118,79 +151,6 @@ export default {
|
|||||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
|
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
Center: [
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuSignal.routeSelect'),
|
|
||||||
handler: this.arrangementRoute,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuSignal.routeCancel'),
|
|
||||||
handler: this.cancelTrainRoute,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuSignal.signalBlock'),
|
|
||||||
handler: this.lock,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuSignal.signalDeblock'),
|
|
||||||
handler: this.unlock,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuSignal.signalOff'),
|
|
||||||
handler: this.signalClose,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuSignal.signalReopen'),
|
|
||||||
handler: this.reopenSignal,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '引导进路办理',
|
|
||||||
handler: this.guide,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// label: this.$t('menu.menuSignal.setInterlockAutoRoute'),
|
|
||||||
// handler: this.setAutoInterlock,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: this.$t('menu.menuSignal.cancelInterlockAutoRoute'),
|
|
||||||
// handler: this.cancelAutoInterlock,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: this.$t('menu.menuSignal.setInterlockAutoTrigger'),
|
|
||||||
// handler: this.setAutoTrigger,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: this.$t('menu.menuSignal.cancelInterlockAutoTrigger'),
|
|
||||||
// handler: this.cancelAutoTrigger,
|
|
||||||
// cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
label: '进路交人工控',
|
|
||||||
handler: this.humanControl,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '进路交ATS自动控',
|
|
||||||
handler: this.atsAutoControl,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '查询进路控制模式',
|
|
||||||
handler: this.detail,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuSignal.setFault'),
|
label: this.$t('menu.menuSignal.setFault'),
|
||||||
@ -299,7 +259,12 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initMenu() {
|
initMenu() {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = [];
|
||||||
|
this.menuNormal.forEach(menuItem => {
|
||||||
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected) : false;
|
||||||
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
|
@ -19,7 +19,6 @@ import { mapGetters } from 'vuex';
|
|||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
|
||||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -38,12 +37,50 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuStation.fullSiteSetInterlockAutoTrigger'),
|
||||||
|
handler: this.setAutoTrigger,
|
||||||
|
cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER,
|
||||||
|
isShow: (station, work) => work === 'localWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuStation.fullSiteCancelInterlockAutoTrigger'),
|
||||||
|
handler: this.cancelAutoTrigger,
|
||||||
|
cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER,
|
||||||
|
isShow: (station, work) => work === 'localWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '全站进路交人工控',
|
||||||
|
handler: this.humanControlALL,
|
||||||
|
cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING,
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '全站进路ATS自排',
|
||||||
|
handler: this.atsAutoControlALL,
|
||||||
|
cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING,
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuStation.execKeyOperationTest'),
|
||||||
|
handler: this.execKeyOperationTest,
|
||||||
|
cmdType: CMD.Station.CMD_STATION_KEY_OPERATION_TEST,
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
menuNormal1: {
|
||||||
Local: [
|
Local: [
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuStation.fullSiteSetInterlockAutoTrigger'),
|
label: this.$t('menu.menuStation.fullSiteSetInterlockAutoTrigger'),
|
||||||
@ -55,18 +92,6 @@ export default {
|
|||||||
handler: this.cancelAutoTrigger,
|
handler: this.cancelAutoTrigger,
|
||||||
cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER
|
cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER
|
||||||
}
|
}
|
||||||
// {
|
|
||||||
// label: this.$t('menu.menuStation.powerUnLock'),
|
|
||||||
// handler: this.powerUnLock,
|
|
||||||
// auth: { station: true, center: false }
|
|
||||||
// // cmdType: CMD.Station.
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: this.$t('menu.menuStation.execKeyOperationTest'),
|
|
||||||
// handler: this.execKeyOperationTest,
|
|
||||||
// auth: { station: true, center: false }
|
|
||||||
// // cmdType: CMD.Station.
|
|
||||||
// }
|
|
||||||
],
|
],
|
||||||
Center: [
|
Center: [
|
||||||
{
|
{
|
||||||
@ -84,13 +109,6 @@ export default {
|
|||||||
handler: this.execKeyOperationTest,
|
handler: this.execKeyOperationTest,
|
||||||
cmdType: CMD.Station.CMD_STATION_KEY_OPERATION_TEST
|
cmdType: CMD.Station.CMD_STATION_KEY_OPERATION_TEST
|
||||||
}
|
}
|
||||||
// {
|
|
||||||
// label: this.$t('menu.menuStation.execKeyOperationTest'),
|
|
||||||
// handler: this.execKeyOperationTest,
|
|
||||||
// auth: { station: false, center: true },
|
|
||||||
// cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING
|
|
||||||
// // cmdType: CMD.Section.
|
|
||||||
// }
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
menuForce: [
|
menuForce: [
|
||||||
@ -138,8 +156,11 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
initMenu() {
|
initMenu() {
|
||||||
this.menu = [];
|
this.menu = [];
|
||||||
// 编辑模式菜单列表
|
this.menuNormal.forEach(menuItem => {
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected) : false;
|
||||||
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
|
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
|
@ -27,7 +27,6 @@ import Psl from '@/jmapNew/theme/components/menus/dialog/psl';
|
|||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
|
||||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -50,22 +49,45 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [
|
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuStationStand.setDetainTrain'),
|
label: this.$t('menu.menuStationStand.setDetainTrain'),
|
||||||
handler: this.setDetainTrain,
|
handler: this.setDetainTrain,
|
||||||
cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
|
cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN,
|
||||||
|
isDisabled: stand => stand.centerHoldTrain === 1,
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuStationStand.cancelDetainTrain'),
|
label: this.$t('menu.menuStationStand.cancelDetainTrain'),
|
||||||
handler: this.cancelDetainTrain,
|
handler: this.cancelDetainTrain,
|
||||||
cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
|
cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN,
|
||||||
|
isDisabled: stand => stand.centerHoldTrain !== 1,
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuStationStand.setDetainTrain'),
|
||||||
|
handler: this.setDetainTrain,
|
||||||
|
cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN,
|
||||||
|
isDisabled: stand => stand.stationHoldTrain === 1,
|
||||||
|
isShow: (station, work) => work === 'localWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuStationStand.cancelDetainTrain'),
|
||||||
|
handler: this.cancelDetainTrain,
|
||||||
|
cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN,
|
||||||
|
isDisabled: stand => stand.stationHoldTrain !== 1,
|
||||||
|
isShow: (station, work) => work === 'localWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuStationStand.cancelDetainTrainForce'),
|
label: this.$t('menu.menuStationStand.cancelDetainTrainForce'),
|
||||||
@ -75,12 +97,39 @@ export default {
|
|||||||
{
|
{
|
||||||
label: this.$t('menu.menuStationStand.jumpStop'),
|
label: this.$t('menu.menuStationStand.jumpStop'),
|
||||||
handler: this.setJumpStop,
|
handler: this.setJumpStop,
|
||||||
cmdType:CMD.Stand.CMD_STAND_SET_JUMP_STOP
|
cmdType:CMD.Stand.CMD_STAND_SET_JUMP_STOP,
|
||||||
|
isDisabled: stand => stand.allSkip === 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuStationStand.cancelJumpStop'),
|
label: this.$t('menu.menuStationStand.cancelJumpStop'),
|
||||||
handler: this.cancelJumpStop,
|
handler: this.cancelJumpStop,
|
||||||
cmdType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
|
cmdType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP,
|
||||||
|
isDisabled: stand => stand.allSkip !== 1 && stand.assignSkip !== 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuStationStand.setStopTime'),
|
||||||
|
handler: this.setStopTime,
|
||||||
|
cmdType:CMD.Stand.CMD_STAND_SET_PARK_TIME,
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuStationStand.setRunLevel'),
|
||||||
|
handler: this.setRunLevel,
|
||||||
|
cmdType:CMD.Stand.CMD_STAND_SET_RUN_TIME,
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuStationStand.setEarlyDeparture'),
|
||||||
|
handler: this.earlyDeparture,
|
||||||
|
cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART,
|
||||||
|
isDisabled: stand => stand.trainParking !== 1,
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuStationStand.setBackStrategy'),
|
||||||
|
handler: this.setBackStrategy,
|
||||||
|
cmdType:CMD.Stand.CMD_STAND_SET_REENTRY_STRATEGY,
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuStationStand.getStationStandStatus'),
|
label: this.$t('menu.menuStationStand.getStationStandStatus'),
|
||||||
@ -88,59 +137,6 @@ export default {
|
|||||||
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
|
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
Center: [
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuStationStand.setDetainTrain'),
|
|
||||||
handler: this.setDetainTrain,
|
|
||||||
cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuStationStand.cancelDetainTrain'),
|
|
||||||
handler: this.cancelDetainTrain,
|
|
||||||
cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuStationStand.cancelDetainTrainAll'),
|
|
||||||
handler: this.cancelDetainTrainAll,
|
|
||||||
cmdType:CMD.Stand.CMD_STAND_WHOLE_LINE_CANCEL_HOLD_TRAIN
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuStationStand.jumpStop'),
|
|
||||||
handler: this.setJumpStop,
|
|
||||||
cmdType:CMD.Stand.CMD_STAND_SET_JUMP_STOP
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuStationStand.cancelJumpStop'),
|
|
||||||
handler: this.cancelJumpStop,
|
|
||||||
cmdType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuStationStand.setStopTime'),
|
|
||||||
handler: this.setStopTime,
|
|
||||||
cmdType:CMD.Stand.CMD_STAND_SET_PARK_TIME
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuStationStand.setRunLevel'),
|
|
||||||
handler: this.setRunLevel,
|
|
||||||
cmdType:CMD.Stand.CMD_STAND_SET_RUN_TIME
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuStationStand.setEarlyDeparture'),
|
|
||||||
handler: this.earlyDeparture,
|
|
||||||
cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuStationStand.setBackStrategy'),
|
|
||||||
handler: this.setBackStrategy,
|
|
||||||
cmdType:CMD.Stand.CMD_STAND_SET_REENTRY_STRATEGY
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.$t('menu.menuStationStand.getStationStandStatus'),
|
|
||||||
handler: this.detail,
|
|
||||||
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuStationStand.setFault'),
|
label: this.$t('menu.menuStationStand.setFault'),
|
||||||
@ -191,8 +187,12 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menu = [];
|
||||||
// this.menu = MenuContextHandler.menuFiltration(this.menuNormal);
|
this.menuNormal.forEach(menuItem => {
|
||||||
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected) : false;
|
||||||
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
if (this.operatemode === OperateMode.ADMIN) {
|
if (this.operatemode === OperateMode.ADMIN) {
|
||||||
this.menu = [...this.menu, ...this.menuForce];
|
this.menu = [...this.menu, ...this.menuForce];
|
||||||
}
|
}
|
||||||
@ -202,7 +202,7 @@ export default {
|
|||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
// 非故障模式 且 角色为车站值班员时 增加PSL盘
|
// 非故障模式 且 角色为车站值班员时 增加PSL盘
|
||||||
if (this.operatemode !== OperateMode.FAULT && this.$store.state.training.prdType === '01') {
|
if (this.operatemode !== OperateMode.FAULT && this.work === 'localWork') {
|
||||||
this.menu = [
|
this.menu = [
|
||||||
...this.menu,
|
...this.menu,
|
||||||
{
|
{
|
||||||
@ -211,8 +211,6 @@ export default {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
// this.menu = MenuContextHandler.covert(this.menu);
|
|
||||||
},
|
},
|
||||||
doShow(point) {
|
doShow(point) {
|
||||||
this.initMenu();
|
this.initMenu();
|
||||||
|
@ -41,6 +41,12 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -149,7 +155,7 @@ export default {
|
|||||||
this.menu = [];
|
this.menu = [];
|
||||||
this.menuNormal.forEach(menuItem => {
|
this.menuNormal.forEach(menuItem => {
|
||||||
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected) : false;
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected) : false;
|
||||||
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.word) : true;
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
this.menu.push(menuItem);
|
this.menu.push(menuItem);
|
||||||
});
|
});
|
||||||
if (this.operatemode === OperateMode.ADMIN) {
|
if (this.operatemode === OperateMode.ADMIN) {
|
||||||
|
@ -26,7 +26,6 @@ import TrainDelete from './dialog/trainDelete';
|
|||||||
import TrainMove from './dialog/trainMove';
|
import TrainMove from './dialog/trainMove';
|
||||||
import TrainSwitch from './dialog/trainSwitch';
|
import TrainSwitch from './dialog/trainSwitch';
|
||||||
import TrainEditNumber from './dialog/trainEditNumber';
|
import TrainEditNumber from './dialog/trainEditNumber';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
|
||||||
import SpeedLimit from '@/jmapNew/theme/components/menus/dialog/trainSpeedLimit';
|
import SpeedLimit from '@/jmapNew/theme/components/menus/dialog/trainSpeedLimit';
|
||||||
import { menuOperate, commitOperate, commitTrainSend } from '@/jmapNew/theme/components/utils/menuOperate';
|
import { menuOperate, commitOperate, commitTrainSend } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
import TrainOperation from './menuDialog/trainOperation';
|
import TrainOperation from './menuDialog/trainOperation';
|
||||||
@ -53,46 +52,37 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [],
|
|
||||||
Center: [
|
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuTrain.addTrainId'),
|
label: this.$t('menu.menuTrain.addTrainId'),
|
||||||
handler: this.addTrainId,
|
handler: this.addTrainId,
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_ADD_TRAIN_TRACE
|
cmdType: CMD.TrainWindow.CMD_TRAIN_ADD_TRAIN_TRACE,
|
||||||
|
isShow: (train, work) => work === 'dispatchWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuTrain.deleteTrainId'),
|
label: this.$t('menu.menuTrain.deleteTrainId'),
|
||||||
handler: this.delTrainId,
|
handler: this.delTrainId,
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_REMOVE_TRAIN_TRACE
|
cmdType: CMD.TrainWindow.CMD_TRAIN_REMOVE_TRAIN_TRACE,
|
||||||
|
isShow: (train, work) => work === 'dispatchWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuTrain.editTrainId'),
|
label: this.$t('menu.menuTrain.editTrainId'),
|
||||||
handler: this.editTrainId,
|
handler: this.editTrainId,
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE,
|
||||||
|
isShow: (train, work) => work === 'dispatchWork'
|
||||||
}
|
}
|
||||||
// {
|
],
|
||||||
// label: this.$t('menu.menuTrain.editTrainNo'),
|
|
||||||
// handler: this.undeveloped,
|
|
||||||
// cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: this.$t('menu.menuTrain.moveTrainId'),
|
|
||||||
// handler: this.undeveloped,
|
|
||||||
// cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: this.$t('menu.menuTrain.switchTrainId'),
|
|
||||||
// handler: this.undeveloped,
|
|
||||||
// cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
|
||||||
// }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
@ -108,26 +98,10 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuDirective: [
|
menuDirective: [
|
||||||
// {
|
|
||||||
// label: '确认运行至前方站',
|
|
||||||
// handler: this.nextStation
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '越引导信号行驶',
|
|
||||||
// handler: this.handleOverFuideSignal
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '越红灯行驶',
|
|
||||||
// handler: this.handleOverEedLight
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
label: '开关门',
|
label: '开关门',
|
||||||
handler: this.handleOpenOrCloseDoor
|
handler: this.handleOpenOrCloseDoor
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// label: '限速指令',
|
|
||||||
// handler: this.handleSpeedLimit
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
label: '换端',
|
label: '换端',
|
||||||
handler: this.handleTurnDirection
|
handler: this.handleTurnDirection
|
||||||
@ -217,8 +191,12 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
// this.menu = MenuContextHandler.menuFiltration(this.menuNormal);
|
this.menu = [];
|
||||||
this.menu = MenuContextHandler.covert(this.menuNormal);
|
this.menuNormal.forEach(menuItem => {
|
||||||
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected) : false;
|
||||||
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
if (this.operatemode === OperateMode.ADMIN) {
|
if (this.operatemode === OperateMode.ADMIN) {
|
||||||
this.menu = [...this.menu, ...this.menuForce, ...this.menuSpeed];
|
this.menu = [...this.menu, ...this.menuForce, ...this.menuSpeed];
|
||||||
}
|
}
|
||||||
@ -239,7 +217,6 @@ export default {
|
|||||||
},
|
},
|
||||||
doShow(point) {
|
doShow(point) {
|
||||||
this.initMenu();
|
this.initMenu();
|
||||||
|
|
||||||
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
|
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
|
||||||
this.$refs.popMenu.resetShowPosition(point);
|
this.$refs.popMenu.resetShowPosition(point);
|
||||||
}
|
}
|
||||||
|
@ -293,6 +293,8 @@ export default {
|
|||||||
{ label: '列车', value: 'Train' },
|
{ label: '列车', value: 'Train' },
|
||||||
{ label: '自动闭塞', value: 'StationDirectionAuto' },
|
{ label: '自动闭塞', value: 'StationDirectionAuto' },
|
||||||
{ label: '半自动闭塞', value: 'StationDirectionSemi' }
|
{ label: '半自动闭塞', value: 'StationDirectionSemi' }
|
||||||
]
|
],
|
||||||
|
paperStateArr: ['正在编辑', '封存', '已使用'], //试卷定义状态
|
||||||
|
paperStateQueryArr: ['所有', '正在编辑', '可生成试卷', '封存', '已被使用'], //试卷定义查询状态
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -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:9100'; // 周寅
|
// BASE_API = 'http://192.168.3.90:9100'; // 周寅
|
||||||
// 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';
|
||||||
|
39
src/views/newMap/display/exam/examPanel.vue
Normal file
39
src/views/newMap/display/exam/examPanel.vue
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<template>
|
||||||
|
<div class="examPanel">
|
||||||
|
<div class="header">
|
||||||
|
<div>满分: {{ composition.fullScore }}</div>
|
||||||
|
<div>考试时间: {{ composition.validDuration }}分钟</div>
|
||||||
|
</div>
|
||||||
|
<div class="questionList"></div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'ExamPanel',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
composition: {},
|
||||||
|
paper: {},
|
||||||
|
questionList: {},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(data) {
|
||||||
|
this.composition = data.composition
|
||||||
|
this.paper = data.paper
|
||||||
|
this.questionList = data.questionList
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.examPanel {
|
||||||
|
position: fixed;
|
||||||
|
background: #fff;
|
||||||
|
left: 0;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
}
|
||||||
|
</style>
|
107
src/views/newMap/display/exam/selectExam.vue
Normal file
107
src/views/newMap/display/exam/selectExam.vue
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:visible.sync="show"
|
||||||
|
:before-close="doClose"
|
||||||
|
title="选择试卷"
|
||||||
|
width="1200px"
|
||||||
|
@open="onOpen"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
>
|
||||||
|
<el-table :data="paperList" border>
|
||||||
|
<el-table-column prop="name" label="试卷名称" width="150px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.name }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="profile" label="试卷简介">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.profile }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="试卷启用时间" width="160px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.startTime }} </span>
|
||||||
|
|
||||||
|
<span>{{ scope.row.endTime }} </span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="validDuration" label="考试时间" width="80px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.validDuration }} 分钟</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="题目数量" width="100px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span
|
||||||
|
>理论:{{
|
||||||
|
scope.row.ruleList.reduce((prev, curr) => prev + (curr.type === 1 ? curr.amount : 0), 0)
|
||||||
|
}}</span
|
||||||
|
><br />
|
||||||
|
<span
|
||||||
|
>实操:{{
|
||||||
|
scope.row.ruleList.reduce((prev, curr) => prev + (curr.type === 2 ? curr.amount : 0), 0)
|
||||||
|
}}</span
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="fullScore" label="总分" width="80px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.fullScore }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="passScore" label="及格分" width="80px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.passScore }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="100px">
|
||||||
|
<el-button slot-scope="scope" type="primary" size="small" @click="start(scope.row)">开始考试</el-button>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getPapaerListOfOrg, generateExam, getUserExamInfo } from '@/api/management/exam'
|
||||||
|
export default {
|
||||||
|
name: 'SelectExam',
|
||||||
|
emits: ['examStart'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
show: false,
|
||||||
|
paperList: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
doShow() {
|
||||||
|
this.show = true
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
this.show = false
|
||||||
|
},
|
||||||
|
onOpen() {
|
||||||
|
getPapaerListOfOrg({
|
||||||
|
orgId: this.$store.state.user.companyId,
|
||||||
|
findState: 3,
|
||||||
|
}).then(resp => {
|
||||||
|
console.log(resp)
|
||||||
|
this.paperList = resp.data.list
|
||||||
|
})
|
||||||
|
},
|
||||||
|
start(row) {
|
||||||
|
generateExam(row.id)
|
||||||
|
.then(resp => {
|
||||||
|
getUserExamInfo(resp.data.id).then(res => {
|
||||||
|
this.$emit('examStart', res.data)
|
||||||
|
this.doClose()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(e => {
|
||||||
|
console.log(e)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style></style>
|
@ -3,12 +3,18 @@
|
|||||||
<div class="allSimulationMenu">
|
<div class="allSimulationMenu">
|
||||||
<div class="simulationMenu" @click="showMenuList">菜单</div>
|
<div class="simulationMenu" @click="showMenuList">菜单</div>
|
||||||
<div v-show="isShowMenuList" class="simulationMenuList">
|
<div v-show="isShowMenuList" class="simulationMenuList">
|
||||||
<div v-for="(each,index) in menuList" :key="index">
|
<div v-for="(each, index) in menuList" :key="index">
|
||||||
<div v-if="each.children&&each.isShow" class="eachSimulationMenu" @click="showChidren(each,index)">
|
<div
|
||||||
|
v-if="each.children && each.isShow"
|
||||||
|
class="eachSimulationMenu"
|
||||||
|
@click="showChidren(each, index)"
|
||||||
|
>
|
||||||
<div>{{ each.label }}</div>
|
<div>{{ each.label }}</div>
|
||||||
<div v-show="active==index" class="simulationMenuGroup">
|
<div v-show="active == index" class="simulationMenuGroup">
|
||||||
<div v-for="(child,childIndex) in each.children" :key="childIndex">
|
<div v-for="(child, childIndex) in each.children" :key="childIndex">
|
||||||
<div v-if="child.isShow" class="eachSimulationMenu" @click="child.click">{{ child.label }}</div>
|
<div v-if="child.isShow" class="eachSimulationMenu" @click="child.click">
|
||||||
|
{{ child.label }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -19,10 +25,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<contect-us ref="contectUs" />
|
<contect-us ref="contectUs" />
|
||||||
<Jl3d-Device v-if="deviceif" v-show="deviceShow" ref="Jl3dDevice" :panel-show="deviceShow" @closedevice3dview="jlmap3dmodel" />
|
<Jl3d-Device
|
||||||
|
v-if="deviceif"
|
||||||
|
v-show="deviceShow"
|
||||||
|
ref="Jl3dDevice"
|
||||||
|
:panel-show="deviceShow"
|
||||||
|
@closedevice3dview="jlmap3dmodel"
|
||||||
|
/>
|
||||||
<modify-time v-if="datie" ref="modifySysTime" />
|
<modify-time v-if="datie" ref="modifySysTime" />
|
||||||
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
<set-time ref="setTime" @ConfirmSelectBeginTime="start" />
|
||||||
<distribute-draft ref="distribute" @QrCodeShow="QrCodeShow" />
|
<!-- <distribute-draft ref="distribute" @QrCodeShow="QrCodeShow" /> -->
|
||||||
<flow-data ref="flowData" />
|
<flow-data ref="flowData" />
|
||||||
<member-manage ref="memberManage" />
|
<member-manage ref="memberManage" />
|
||||||
<register-book ref="registerBook" />
|
<register-book ref="registerBook" />
|
||||||
@ -38,11 +50,13 @@
|
|||||||
<!-- v-if="schedulePreviewShow" -->
|
<!-- v-if="schedulePreviewShow" -->
|
||||||
<scheduling-view ref="schedulingView" :group="group" />
|
<scheduling-view ref="schedulingView" :group="group" />
|
||||||
<run-plan-view ref="runPlanView" :group="group" />
|
<run-plan-view ref="runPlanView" :group="group" />
|
||||||
|
<SelectExam ref="selectExam" @examStart="examStart" />
|
||||||
|
<ExamPanel ref="examPanel" />
|
||||||
<TrainingList ref="trainingList" />
|
<TrainingList ref="trainingList" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import DistributeDraft from '@/views/components/limits/distribute';
|
// import DistributeDraft from '@/views/components/limits/distribute';
|
||||||
import { getPostByProjectCode } from '@/api/learn';
|
import { getPostByProjectCode } from '@/api/learn';
|
||||||
import { getSessionStorage } from '@/utils/auth';
|
import { getSessionStorage } from '@/utils/auth';
|
||||||
import { ProjectCode } from '@/scripts/ProjectConfig';
|
import { ProjectCode } from '@/scripts/ProjectConfig';
|
||||||
@ -51,7 +65,7 @@ import ModifyTime from './modifyTime';
|
|||||||
import FlowData from './flowData';
|
import FlowData from './flowData';
|
||||||
import SetTime from './setTime';
|
import SetTime from './setTime';
|
||||||
import Jl3dDevice from '@/views/jlmap3d/device/jl3ddevice';
|
import Jl3dDevice from '@/views/jlmap3d/device/jl3ddevice';
|
||||||
import { clearSimulation, ranAsPlan, exitRunPlan} from '@/api/simulation';
|
import { clearSimulation, ranAsPlan, exitRunPlan } from '@/api/simulation';
|
||||||
import { getToken } from '@/utils/auth';
|
import { getToken } from '@/utils/auth';
|
||||||
import { Notification } from 'element-ui';
|
import { Notification } from 'element-ui';
|
||||||
import { PermissionType } from '@/scripts/ConstDic';
|
import { PermissionType } from '@/scripts/ConstDic';
|
||||||
@ -71,17 +85,19 @@ import { initSimulation, simulationPause, simulationStart, destroySimulation } f
|
|||||||
import Scheduling from './scheduling';
|
import Scheduling from './scheduling';
|
||||||
import SchedulingView from './schedulingView';
|
import SchedulingView from './schedulingView';
|
||||||
import RunPlanView from './runPlanView';
|
import RunPlanView from './runPlanView';
|
||||||
|
import SelectExam from './exam/selectExam';
|
||||||
|
import ExamPanel from './exam/examPanel';
|
||||||
import TrainingList from './trainingList/index.vue';
|
import TrainingList from './trainingList/index.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name:'SimulationMenu',
|
name: 'SimulationMenu',
|
||||||
components: {
|
components: {
|
||||||
// ChatBox,
|
// ChatBox,
|
||||||
// voiceChatBox,
|
// voiceChatBox,
|
||||||
// QrCode,
|
// QrCode,
|
||||||
SetTime,
|
SetTime,
|
||||||
ModifyTime,
|
ModifyTime,
|
||||||
DistributeDraft,
|
// DistributeDraft,
|
||||||
FlowData,
|
FlowData,
|
||||||
RegisterBook,
|
RegisterBook,
|
||||||
TrainTicket,
|
TrainTicket,
|
||||||
@ -95,6 +111,8 @@ export default {
|
|||||||
SchedulingView,
|
SchedulingView,
|
||||||
RunPlanView,
|
RunPlanView,
|
||||||
// Equipment,
|
// Equipment,
|
||||||
|
SelectExam,
|
||||||
|
ExamPanel,
|
||||||
ContectUs,
|
ContectUs,
|
||||||
Jl3dDevice,
|
Jl3dDevice,
|
||||||
MemberManage,
|
MemberManage,
|
||||||
@ -109,129 +127,180 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isShowMenuList:false,
|
isShowMenuList: false,
|
||||||
scriptMode: ScriptMode.TEACH,
|
scriptMode: ScriptMode.TEACH,
|
||||||
menuList:[],
|
menuList: [],
|
||||||
active: -1,
|
active: -1,
|
||||||
openBigLPF:null,
|
openBigLPF: null,
|
||||||
messageBoardShow:false,
|
messageBoardShow: false,
|
||||||
playerList: [],
|
playerList: [],
|
||||||
isScriptLoad: false,
|
isScriptLoad: false,
|
||||||
mapLocation: {},
|
mapLocation: {},
|
||||||
userRole: 'AUDIENCE',
|
userRole: 'AUDIENCE',
|
||||||
menuMap:{
|
menuMap: {
|
||||||
'demon':[
|
demon: [
|
||||||
{label:'仿真操作', name:'simulationOprate', isShow:true, children:[
|
{
|
||||||
{label:'修改系统时间', name:'modifySysTime', click:this.modifySysTime, isShow:false},
|
label: '仿真操作',
|
||||||
{label:'退出剧本', name:'quitScript', click:this.quitScript, isShow:true},
|
name: 'simulationOprate',
|
||||||
{label:'开始', name:'start', click:this.startSimulation, isShow:true}, // 暂停
|
isShow: true,
|
||||||
{label:'按计划行车', name:'drivingPlan', click:this.drivingPlan, isShow:true},
|
children: [
|
||||||
{label:'初始化', name:'initialize', click:this.initialize, isShow:true}
|
{ label: '修改系统时间', name: 'modifySysTime', click: this.modifySysTime, isShow: false },
|
||||||
]},
|
{ label: '退出剧本', name: 'quitScript', click: this.quitScript, isShow: true },
|
||||||
{label:'设备操作', name:'deviceOprate', isShow:true, children:[
|
{ label: '开始', name: 'start', click: this.startSimulation, isShow: true }, // 暂停
|
||||||
{label:'数字沙盘', name:'digitalStand ', click:this.digitalStand, isShow:true},
|
{ label: '按计划行车', name: 'drivingPlan', click: this.drivingPlan, isShow: true },
|
||||||
{label:'cctv视图', name:'cctvView', click:this.cctvView, isShow:false},
|
{ label: '初始化', name: 'initialize', click: this.initialize, isShow: true }
|
||||||
{label:'故障设备', name:'jlmap3dFault', click:this.jlmap3dFault, isShow:false},
|
]
|
||||||
{label:'司机视角', name:'jlmap3dDriver', click:this.jlmap3dDriver, isShow:true},
|
},
|
||||||
{label:'设备视图', name:'jlmap3dmodel', click:this.jlmap3dmodel, isShow:false},
|
{
|
||||||
{label:'IBP盘', name:'IBP', click:this.IBP, isShow:true}
|
label: '设备操作',
|
||||||
]},
|
name: 'deviceOprate',
|
||||||
{label:'竞赛管理', name:'competitionManage', isShow:true, children:[
|
isShow: true,
|
||||||
{label:'实操练习', name:'noEvent', click:this.noEvent, isShow:true},
|
children: [
|
||||||
{label:'理论考试', name:'noEvent', click:this.noEvent, isShow:true}
|
{ label: '数字沙盘', name: 'digitalStand ', click: this.digitalStand, isShow: true },
|
||||||
]},
|
{ label: 'cctv视图', name: 'cctvView', click: this.cctvView, isShow: false },
|
||||||
{label:'运行图管理', name:'runplanManage', isShow:true, children:[
|
{ label: '故障设备', name: 'jlmap3dFault', click: this.jlmap3dFault, isShow: false },
|
||||||
{label:'运行图编辑', name:'noEvent', click:this.noEvent, isShow:true},
|
{ label: '司机视角', name: 'jlmap3dDriver', click: this.jlmap3dDriver, isShow: true },
|
||||||
{label:'运行图预览', name:'noEvent', click:this.noEvent, isShow:true},
|
{ label: '设备视图', name: 'jlmap3dmodel', click: this.jlmap3dmodel, isShow: false },
|
||||||
{label:'运行图加载', name:'noEvent', click:this.noEvent, isShow:true}
|
{ label: 'IBP盘', name: 'IBP', click: this.IBP, isShow: true }
|
||||||
]},
|
]
|
||||||
{label:'派班计划管理', name:'sendRpManage', isShow:true, children:[
|
},
|
||||||
{label:'派班计划加载', name:'noEvent', click:this.noEvent, isShow:true},
|
{
|
||||||
{label:'派班计划预览', name:'noEvent', click:this.noEvent, isShow:true}
|
label: '竞赛管理',
|
||||||
]},
|
name: 'competitionManage',
|
||||||
{label:'联系我们', name:'contect', isShow:true, children:[
|
isShow: true,
|
||||||
{label:'留言板', name:'messageBoard', click:this.messageBoard, isShow:false},
|
children: [
|
||||||
{label:'联系方式', name:'contectUs', click:this.contectUs, isShow:false}
|
{ label: '实操练习', name: 'noEvent', click: this.noEvent, isShow: true },
|
||||||
]},
|
{ label: '理论考试', name: 'noEvent', click: this.noEvent, isShow: true }
|
||||||
{label:'加载剧本', name:'loadScript', click:this.noEvent, isShow:true},
|
]
|
||||||
{label:'大铁项目', name:'datieManage', isShow:true, children:[
|
},
|
||||||
{label:'路票', name:'noEvent', click:this.noEvent, isShow:true},
|
{
|
||||||
{label:'簿册', name:'noEvent', click:this.noEvent, isShow:true}
|
label: '运行图管理',
|
||||||
]},
|
name: 'runplanManage',
|
||||||
|
isShow: true,
|
||||||
|
children: [
|
||||||
|
{ label: '运行图编辑', name: 'noEvent', click: this.noEvent, isShow: true },
|
||||||
|
{ label: '运行图预览', name: 'noEvent', click: this.noEvent, isShow: true },
|
||||||
|
{ label: '运行图加载', name: 'noEvent', click: this.noEvent, isShow: true }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '派班计划管理',
|
||||||
|
name: 'sendRpManage',
|
||||||
|
isShow: true,
|
||||||
|
children: [
|
||||||
|
{ label: '派班计划加载', name: 'noEvent', click: this.noEvent, isShow: true },
|
||||||
|
{ label: '派班计划预览', name: 'noEvent', click: this.noEvent, isShow: true }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '联系我们',
|
||||||
|
name: 'contect',
|
||||||
|
isShow: true,
|
||||||
|
children: [
|
||||||
|
{ label: '留言板', name: 'messageBoard', click: this.messageBoard, isShow: false },
|
||||||
|
{ label: '联系方式', name: 'contectUs', click: this.contectUs, isShow: false }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{ label: '加载剧本', name: 'loadScript', click: this.noEvent, isShow: true },
|
||||||
|
{
|
||||||
|
label: '大铁项目',
|
||||||
|
name: 'datieManage',
|
||||||
|
isShow: true,
|
||||||
|
children: [
|
||||||
|
{ label: '路票', name: 'noEvent', click: this.noEvent, isShow: true },
|
||||||
|
{ label: '簿册', name: 'noEvent', click: this.noEvent, isShow: true }
|
||||||
|
]
|
||||||
|
},
|
||||||
// 切换到普通模式
|
// 切换到普通模式
|
||||||
// 切换到故障模式
|
// 切换到故障模式
|
||||||
{label:this.projectDevice ? '退出' : '返回', name:'backOrQuit', click:this.back, isShow:true }
|
{ label: this.projectDevice ? '退出' : '返回', name: 'backOrQuit', click: this.back, isShow: true }
|
||||||
// <el-button v-if="isLocalStation && $route.query.lineCode!='08'
|
// <el-button v-if="isLocalStation && $route.query.lineCode!='08'
|
||||||
// && $route.query.lineCode!='16' && $route.query.lineCode!='19' && project !== 'teaching'"
|
// && $route.query.lineCode!='16' && $route.query.lineCode!='19' && project !== 'teaching'"
|
||||||
// size="small" @click="goIbp">IBP盘</el-button>
|
// size="small" @click="goIbp">IBP盘</el-button>
|
||||||
],
|
],
|
||||||
'teach':[
|
teach: [
|
||||||
{label:'留言板', name:'messageBoard', click:this.messageBoard, isShow:false},
|
{ label: '留言板', name: 'messageBoard', click: this.messageBoard, isShow: false },
|
||||||
{label:'开始', name:'startBtn', click:this.drivingPlan, isShow:true},
|
{ label: '开始', name: 'startBtn', click: this.drivingPlan, isShow: true },
|
||||||
{label:'结束', name:'endBtn', click:this.drivingPlan, isShow:true},
|
{ label: '结束', name: 'endBtn', click: this.drivingPlan, isShow: true },
|
||||||
{label:'返回', name:'backBtn', click:this.drivingPlan, isShow:true}
|
{ label: '返回', name: 'backBtn', click: this.drivingPlan, isShow: true }
|
||||||
],
|
],
|
||||||
'mamanage':[
|
mamanage: [
|
||||||
{label:'留言板', name:'messageBoard', click:this.messageBoard, isShow:false},
|
{ label: '留言板', name: 'messageBoard', click: this.messageBoard, isShow: false },
|
||||||
{label:'开始', name:'startBtn', click:this.drivingPlan, isShow:true},
|
{ label: '开始', name: 'startBtn', click: this.drivingPlan, isShow: true },
|
||||||
{label:'结束', name:'endBtn', click:this.drivingPlan, isShow:true},
|
{ label: '结束', name: 'endBtn', click: this.drivingPlan, isShow: true },
|
||||||
{label:'返回', name:'backBtn', click:this.drivingPlan, isShow:true}
|
{ label: '返回', name: 'backBtn', click: this.drivingPlan, isShow: true }
|
||||||
],
|
],
|
||||||
'exam':[
|
exam: [
|
||||||
{label:'开始', name:'drivingPlan', click:this.drivingPlan, isShow:true},
|
{ label: '开始', name: 'drivingPlan', click: this.drivingPlan, isShow: true },
|
||||||
{label:'结束', name:'drivingPlan', click:this.drivingPlan, isShow:true},
|
{ label: '结束', name: 'drivingPlan', click: this.drivingPlan, isShow: true },
|
||||||
{label:'返回', name:'drivingPlan', click:this.drivingPlan, isShow:true}
|
{ label: '返回', name: 'drivingPlan', click: this.drivingPlan, isShow: true }
|
||||||
],
|
],
|
||||||
'joint':[
|
joint: [
|
||||||
{label:'仿真操作', name:'simulationOprate', isShow:true, children:[
|
{
|
||||||
{label:'按计划行车', name:'drivingPlan', click:this.drivingPlan, isShow:true},
|
label: '仿真操作',
|
||||||
{label:'修改系统时间', name:'modifySysTime', click:this.modifySysTime, isShow:false},
|
name: 'simulationOprate',
|
||||||
{label:'开始', name:'start', click:this.startSimulation, isShow:true}, // 暂停
|
isShow: true,
|
||||||
{label:'初始化', name:'initialize', click:this.initialize, isShow:true}
|
children: [
|
||||||
]},
|
{ label: '按计划行车', name: 'drivingPlan', click: this.drivingPlan, isShow: true },
|
||||||
{label:'演练操作', name:'simulationOprate', isShow:true, children:[
|
{ label: '修改系统时间', name: 'modifySysTime', click: this.modifySysTime, isShow: false },
|
||||||
{label:'生成二维码', name:'generateTwoCode', click:this.drivingPlan, isShow:true},
|
{ label: '开始', name: 'start', click: this.startSimulation, isShow: true }, // 暂停
|
||||||
{label:'成员管理', name:'quitScript', click:this.drivingPlan, isShow:true}
|
{ label: '初始化', name: 'initialize', click: this.initialize, isShow: true }
|
||||||
]},
|
]
|
||||||
{label:'设备操作', name:'deviceOprate', isShow:true, children:[
|
},
|
||||||
{label:'cctv视图', name:'cctvView', click:this.cctvView, isShow:false},
|
{
|
||||||
{label:'故障设备', name:'jlmap3dFault', click:this.jlmap3dFault, isShow:false},
|
label: '演练操作',
|
||||||
{label:'司机视角', name:'drivingPlan', click:this.drivingPlan, isShow:true},
|
name: 'simulationOprate',
|
||||||
{label:'设备视图', name:'jl3dmodel', click:this.jlmap3dmodel, isShow:false},
|
isShow: true,
|
||||||
{label:'设备故障视图', name:'jl3dmodel', click:this.jlmap3dmodel, isShow:false},
|
children: [
|
||||||
{label:'设备管理', name:'drivingPlan', click:this.drivingPlan, isShow:true}
|
{ label: '生成二维码', name: 'generateTwoCode', click: this.drivingPlan, isShow: true },
|
||||||
|
{ label: '成员管理', name: 'quitScript', click: this.drivingPlan, isShow: true }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '设备操作',
|
||||||
|
name: 'deviceOprate',
|
||||||
|
isShow: true,
|
||||||
|
children: [
|
||||||
|
{ label: 'cctv视图', name: 'cctvView', click: this.cctvView, isShow: false },
|
||||||
|
{ label: '故障设备', name: 'jlmap3dFault', click: this.jlmap3dFault, isShow: false },
|
||||||
|
{ label: '司机视角', name: 'drivingPlan', click: this.drivingPlan, isShow: true },
|
||||||
|
{ label: '设备视图', name: 'jl3dmodel', click: this.jlmap3dmodel, isShow: false },
|
||||||
|
{ label: '设备故障视图', name: 'jl3dmodel', click: this.jlmap3dmodel, isShow: false },
|
||||||
|
{ label: '设备管理', name: 'drivingPlan', click: this.drivingPlan, isShow: true }
|
||||||
// {label:'IBP盘', name:'drivingPlan', click:this.drivingPlan, isShow:true},
|
// {label:'IBP盘', name:'drivingPlan', click:this.drivingPlan, isShow:true},
|
||||||
// {label:'数字沙盘', name:'drivingPlan', click:this.drivingPlan, isShow:true},
|
// {label:'数字沙盘', name:'drivingPlan', click:this.drivingPlan, isShow:true},
|
||||||
]},
|
]
|
||||||
{label:'相关系统', name:'simulationOprate', isShow:true, children:[
|
},
|
||||||
{label:'教学系统', name:'start', click:this.drivingPlan, isShow:true}, // 暂停
|
{
|
||||||
{label:'考试系统', name:'drivingPlan', click:this.drivingPlan, isShow:true}
|
label: '相关系统',
|
||||||
]},
|
name: 'simulationOprate',
|
||||||
{label:'联系我们', name:'contect', isShow:true, children:[
|
isShow: true,
|
||||||
{label:'留言板', name:'messageBoard', click:this.messageBoard, isShow:false},
|
children: [
|
||||||
{label:'联系方式', name:'contectUs', click:this.contectUs, isShow:false}
|
{ label: '教学系统', name: 'start', click: this.drivingPlan, isShow: true }, // 暂停
|
||||||
]},
|
{ label: '考试系统', name: 'drivingPlan', click: this.drivingPlan, isShow: true }
|
||||||
{label:this.projectDevice ? '退出' : '返回', name:'backOrQuit', click:this.back, isShow:true }
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '联系我们',
|
||||||
|
name: 'contect',
|
||||||
|
isShow: true,
|
||||||
|
children: [
|
||||||
|
{ label: '留言板', name: 'messageBoard', click: this.messageBoard, isShow: false },
|
||||||
|
{ label: '联系方式', name: 'contectUs', click: this.contectUs, isShow: false }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{ label: this.projectDevice ? '退出' : '返回', name: 'backOrQuit', click: this.back, isShow: true }
|
||||||
// <!-- 客流规划视图 -->
|
// <!-- 客流规划视图 -->
|
||||||
// <el-button v-if="project == 'bjd' && (isShowScheduling || isStationSupervisor)"
|
// <el-button v-if="project == 'bjd' && (isShowScheduling || isStationSupervisor)"
|
||||||
// size="small" @click="jumpjl3dtrafficplan">{{ $t('display.demon.trafficplantext') }}</el-button>
|
// size="small" @click="jumpjl3dtrafficplan">{{ $t('display.demon.trafficplantext') }}</el-button>
|
||||||
// <el-button v-if="project == 'bjd' && (isShowScheduling || isStationSupervisor)"
|
// <el-button v-if="project == 'bjd' && (isShowScheduling || isStationSupervisor)"
|
||||||
// size="small" @click="jumpjl3dtraffictrain">{{ $t('display.demon.traffictraintext') }}</el-button>
|
// size="small" @click="jumpjl3dtraffictrain">{{ $t('display.demon.traffictraintext') }}</el-button>
|
||||||
],
|
],
|
||||||
'bjd':[
|
bjd: [],
|
||||||
|
wjls: [],
|
||||||
],
|
contest: [],
|
||||||
'wjls':[
|
training: [],
|
||||||
|
script: []
|
||||||
],
|
|
||||||
'contest':[
|
|
||||||
|
|
||||||
],
|
|
||||||
'training':[
|
|
||||||
|
|
||||||
],
|
|
||||||
'script':[
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
// {value:'xty', label:'西铁院'},
|
// {value:'xty', label:'西铁院'},
|
||||||
// {value: 'gzb', label: '贵州装备'},
|
// {value: 'gzb', label: '贵州装备'},
|
||||||
@ -336,27 +405,39 @@ export default {
|
|||||||
// // 'say':{}, // 苏安院
|
// // 'say':{}, // 苏安院
|
||||||
// // 'teaching':{} // 教学通用
|
// // 'teaching':{} // 教学通用
|
||||||
// },
|
// },
|
||||||
allMenuList:[
|
allMenuList: [
|
||||||
{label:'设备视图', name:'jlmap3dmodel', click:this.jlmap3dmodel, isShow:true},
|
{ label: '设备视图', name: 'jlmap3dmodel', click: this.jlmap3dmodel, isShow: true },
|
||||||
{label:['16', '19'].includes(this.$route.query.lineCode) ? '修改系统时间' : '按计划行车', name:'modifyOrDriving', click:this.modifyOrDriving, isShow:true },
|
{
|
||||||
{label:'初始化', name:'initialize', click:this.end, isShow:true},
|
label: ['16', '19'].includes(this.$route.query.lineCode) ? '修改系统时间' : '按计划行车',
|
||||||
{label:'联系方式', name:'contectUs', click:this.contectUs, isShow:true},
|
name: 'modifyOrDriving',
|
||||||
|
click: this.modifyOrDriving,
|
||||||
|
isShow: true
|
||||||
|
},
|
||||||
|
{ label: '初始化', name: 'initialize', click: this.end, isShow: true },
|
||||||
|
{ label: '考试', name: 'exam', click: this.goExam, isShow: true },
|
||||||
|
{ label: '联系方式', name: 'contectUs', click: this.contectUs, isShow: true },
|
||||||
{label:'成员管理', name:'memberManage', click:this.memberManage, isShow:true},
|
{label:'成员管理', name:'memberManage', click:this.memberManage, isShow:true},
|
||||||
{label:'实训', name:'trainingPane', click:this.trainingPane, isShow:true},
|
{label:'实训', name:'trainingPane', click:this.trainingPane, isShow:true},
|
||||||
{label:'切换客流数据', name:'changeFlowData', click:this.changeFlowData, isShow:true},
|
{label:'切换客流数据', name:'changeFlowData', click:this.changeFlowData, isShow:true},
|
||||||
// {label:'权限分发', name:'distribute', click:this.distribute, isShow:true},
|
// { label: '权限分发', name: 'distribute', click: this.distribute, isShow: true },
|
||||||
{label:this.$route.query.projectDevice ? '退出' : '返回', name:'backOrQuit', click:this.back, isShow:true }
|
{
|
||||||
|
label: this.$route.query.projectDevice ? '退出' : '返回',
|
||||||
|
name: 'backOrQuit',
|
||||||
|
click: this.back,
|
||||||
|
isShow: true
|
||||||
|
}
|
||||||
],
|
],
|
||||||
deviceif:false,
|
deviceif: false,
|
||||||
deviceShow: true
|
deviceShow: true
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed:{
|
computed: {
|
||||||
// 当前的所属项目
|
// 当前的所属项目
|
||||||
project() {
|
project() {
|
||||||
return getSessionStorage('project');
|
return getSessionStorage('project');
|
||||||
},
|
},
|
||||||
isLocal() { // 是否为本地项目
|
isLocal() {
|
||||||
|
// 是否为本地项目
|
||||||
return process.env.VUE_APP_PRO === 'local';
|
return process.env.VUE_APP_PRO === 'local';
|
||||||
},
|
},
|
||||||
// 当前为派班工作站
|
// 当前为派班工作站
|
||||||
@ -412,7 +493,7 @@ export default {
|
|||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
window.removeEventListener('click', this.close);
|
window.removeEventListener('click', this.close);
|
||||||
},
|
},
|
||||||
methods:{
|
methods: {
|
||||||
showChidren(data, index) {
|
showChidren(data, index) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
this.active = index;
|
this.active = index;
|
||||||
@ -434,16 +515,26 @@ export default {
|
|||||||
// demon
|
// demon
|
||||||
const ignoreProject = ['bjd', 'teaching', 'drts'];
|
const ignoreProject = ['bjd', 'teaching', 'drts'];
|
||||||
const includejlmap3dmodel = ['demon', 'joint'];
|
const includejlmap3dmodel = ['demon', 'joint'];
|
||||||
return includejlmap3dmodel.includes(this.mode) && !ignoreProject.includes(this.project) &&
|
return (
|
||||||
this.lineCode != '16' && !this.isShowScheduling && !this.isDrive;
|
includejlmap3dmodel.includes(this.mode) &&
|
||||||
|
!ignoreProject.includes(this.project) &&
|
||||||
|
this.lineCode != '16' &&
|
||||||
|
!this.isShowScheduling &&
|
||||||
|
!this.isDrive
|
||||||
|
);
|
||||||
},
|
},
|
||||||
// cctv 视图
|
// cctv 视图
|
||||||
judgeCctvView() {
|
judgeCctvView() {
|
||||||
// demon
|
// demon
|
||||||
const ignoreProject = ['bjd', 'teaching', 'drts'];
|
const ignoreProject = ['bjd', 'teaching', 'drts'];
|
||||||
const includejlmap3dmodel = ['demon', 'joint'];
|
const includejlmap3dmodel = ['demon', 'joint'];
|
||||||
return includejlmap3dmodel.includes(this.mode) && !ignoreProject.includes(this.project) &&
|
return (
|
||||||
this.lineCode != '16' && !this.isShowScheduling && !this.isDrive;
|
includejlmap3dmodel.includes(this.mode) &&
|
||||||
|
!ignoreProject.includes(this.project) &&
|
||||||
|
this.lineCode != '16' &&
|
||||||
|
!this.isShowScheduling &&
|
||||||
|
!this.isDrive
|
||||||
|
);
|
||||||
// !isContest && project !== 'bjd' && $route.query.lineCode !== '16' && project !== 'teaching'
|
// !isContest && project !== 'bjd' && $route.query.lineCode !== '16' && project !== 'teaching'
|
||||||
},
|
},
|
||||||
// 判断设备视图按钮是否显示
|
// 判断设备视图按钮是否显示
|
||||||
@ -451,8 +542,13 @@ export default {
|
|||||||
// demon
|
// demon
|
||||||
const ignoreProject = ['bjd', 'teaching', 'drts'];
|
const ignoreProject = ['bjd', 'teaching', 'drts'];
|
||||||
const includejlmap3dmodel = ['demon', 'joint'];
|
const includejlmap3dmodel = ['demon', 'joint'];
|
||||||
return includejlmap3dmodel.includes(this.mode) && !ignoreProject.includes(this.project) &&
|
return (
|
||||||
this.lineCode != '16' && !this.isShowScheduling && !this.isDrive;
|
includejlmap3dmodel.includes(this.mode) &&
|
||||||
|
!ignoreProject.includes(this.project) &&
|
||||||
|
this.lineCode != '16' &&
|
||||||
|
!this.isShowScheduling &&
|
||||||
|
!this.isDrive
|
||||||
|
);
|
||||||
// displayCity----微机联锁
|
// displayCity----微机联锁
|
||||||
},
|
},
|
||||||
// 判断联系方式按钮是否显示
|
// 判断联系方式按钮是否显示
|
||||||
@ -466,12 +562,14 @@ export default {
|
|||||||
// practiceDisplay----大客流
|
// practiceDisplay----大客流
|
||||||
const includeMessageBoard = ['demon', 'teach', 'manage', 'joint'];
|
const includeMessageBoard = ['demon', 'teach', 'manage', 'joint'];
|
||||||
if (includeMessageBoard.includes(this.mode) && this.project) {
|
if (includeMessageBoard.includes(this.mode) && this.project) {
|
||||||
getPostByProjectCode(ProjectCode[this.project]).then(resp => {
|
getPostByProjectCode(ProjectCode[this.project])
|
||||||
|
.then(resp => {
|
||||||
if (resp.data) {
|
if (resp.data) {
|
||||||
this.messageBoardShow = true;
|
this.messageBoardShow = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
})
|
||||||
|
.catch(() => {
|
||||||
console.log('获取留言板信息失败');
|
console.log('获取留言板信息失败');
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
@ -495,7 +593,7 @@ export default {
|
|||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
if (this.projectDevice) {
|
if (this.projectDevice) {
|
||||||
if (this.$route.query.type == 'IM') {
|
if (this.$route.query.type == 'IM') {
|
||||||
clearSimulation(this.group).then(res=>{
|
clearSimulation(this.group).then(res => {
|
||||||
this.$store.dispatch('training/over').then(() => {
|
this.$store.dispatch('training/over').then(() => {
|
||||||
this.$store.dispatch('LogOut').then(() => {
|
this.$store.dispatch('LogOut').then(() => {
|
||||||
location.reload();
|
location.reload();
|
||||||
@ -519,23 +617,152 @@ export default {
|
|||||||
Notification.closeAll();
|
Notification.closeAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
// 数字沙盘
|
// 数字沙盘
|
||||||
digitalStand() {
|
digitalStand() {
|
||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
const routeData = this.$router.resolve({
|
const routeData = this.$router.resolve({
|
||||||
path:'/jlmap3d/sandbox',
|
path: '/jlmap3d/sandbox',
|
||||||
query:{
|
query: {
|
||||||
mapid:this.mapId,
|
mapid: this.mapId,
|
||||||
group:this.group,
|
group: this.group,
|
||||||
token:getToken(),
|
token: getToken(),
|
||||||
project: this.project,
|
project: this.project,
|
||||||
noPreLogout: true
|
noPreLogout: true
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
window.open(routeData.href, '_blank');
|
window.open(routeData.href, '_blank');
|
||||||
},
|
},
|
||||||
|
// 打开考试选择列表
|
||||||
|
goExam() {
|
||||||
|
// this.$refs.selectExam.doShow()
|
||||||
|
this.examStart({
|
||||||
|
composition: {
|
||||||
|
id: '19',
|
||||||
|
name: 'test_yly',
|
||||||
|
profile: '刻录机奥斯卡及安德森临渴掘井卡拉的参量空间安德森',
|
||||||
|
orgId: '178',
|
||||||
|
startTime: '2022-10-19 18:05:24',
|
||||||
|
endTime: '2029-07-05 00:00:00',
|
||||||
|
validDuration: 30,
|
||||||
|
passScore: 6,
|
||||||
|
fullScore: 10,
|
||||||
|
creatorId: 3826,
|
||||||
|
createTime: '2022-10-19 18:05:48',
|
||||||
|
updateTime: '2022-10-19 18:05:48',
|
||||||
|
state: 3,
|
||||||
|
ruleList: [
|
||||||
|
{
|
||||||
|
id: '23',
|
||||||
|
pcId: '19',
|
||||||
|
type: 1,
|
||||||
|
subtype: 1,
|
||||||
|
tags: [],
|
||||||
|
amount: 1,
|
||||||
|
score: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '24',
|
||||||
|
pcId: '19',
|
||||||
|
type: 1,
|
||||||
|
subtype: 2,
|
||||||
|
tags: [],
|
||||||
|
amount: 1,
|
||||||
|
score: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '25',
|
||||||
|
pcId: '19',
|
||||||
|
type: 1,
|
||||||
|
subtype: 3,
|
||||||
|
tags: [],
|
||||||
|
amount: 2,
|
||||||
|
score: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '26',
|
||||||
|
pcId: '19',
|
||||||
|
type: 2,
|
||||||
|
subtype: 4,
|
||||||
|
tags: [],
|
||||||
|
amount: 1,
|
||||||
|
score: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '27',
|
||||||
|
pcId: '19',
|
||||||
|
type: 2,
|
||||||
|
subtype: 5,
|
||||||
|
tags: [],
|
||||||
|
amount: 1,
|
||||||
|
score: 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
paper: {
|
||||||
|
id: '14',
|
||||||
|
userId: '3826',
|
||||||
|
pcId: '19',
|
||||||
|
orgId: '178',
|
||||||
|
createTime: '2022-10-20 15:58:08'
|
||||||
|
},
|
||||||
|
questionList: [
|
||||||
|
{
|
||||||
|
id: '175',
|
||||||
|
puId: '14',
|
||||||
|
orgId: '178',
|
||||||
|
type: 1,
|
||||||
|
questionId: '3970',
|
||||||
|
state: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '176',
|
||||||
|
puId: '14',
|
||||||
|
orgId: '178',
|
||||||
|
type: 1,
|
||||||
|
questionId: '2731',
|
||||||
|
state: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '177',
|
||||||
|
puId: '14',
|
||||||
|
orgId: '178',
|
||||||
|
type: 1,
|
||||||
|
questionId: '4202',
|
||||||
|
state: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '178',
|
||||||
|
puId: '14',
|
||||||
|
orgId: '178',
|
||||||
|
type: 1,
|
||||||
|
questionId: '2677',
|
||||||
|
state: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '179',
|
||||||
|
puId: '14',
|
||||||
|
orgId: '178',
|
||||||
|
type: 2,
|
||||||
|
questionId: '63',
|
||||||
|
state: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '180',
|
||||||
|
puId: '14',
|
||||||
|
orgId: '178',
|
||||||
|
type: 2,
|
||||||
|
questionId: '22',
|
||||||
|
state: 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 开始考试
|
||||||
|
examStart(data) {
|
||||||
|
console.log(data);
|
||||||
|
this.$refs.examPanel.init(data);
|
||||||
|
},
|
||||||
// 联系我们弹窗
|
// 联系我们弹窗
|
||||||
contectUs() {
|
contectUs() {
|
||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
@ -545,8 +772,8 @@ export default {
|
|||||||
messageBoard() {
|
messageBoard() {
|
||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
const routeData = this.$router.resolve({
|
const routeData = this.$router.resolve({
|
||||||
path:'/messageBoard',
|
path: '/messageBoard',
|
||||||
query:{
|
query: {
|
||||||
project: this.project,
|
project: this.project,
|
||||||
noPreLogout: true
|
noPreLogout: true
|
||||||
}
|
}
|
||||||
@ -596,7 +823,7 @@ export default {
|
|||||||
this.$refs.theoryExamSelect.doShow();
|
this.$refs.theoryExamSelect.doShow();
|
||||||
},
|
},
|
||||||
// 选中场景
|
// 选中场景
|
||||||
selectScript({playerList, mapLocation}) {
|
selectScript({ playerList, mapLocation }) {
|
||||||
this.changeScriptMode(this.scriptMode);
|
this.changeScriptMode(this.scriptMode);
|
||||||
this.isScriptLoad = true;
|
this.isScriptLoad = true;
|
||||||
this.playerList = playerList;
|
this.playerList = playerList;
|
||||||
@ -607,9 +834,9 @@ export default {
|
|||||||
// 切换模式
|
// 切换模式
|
||||||
changeScriptMode(scriptMode) {
|
changeScriptMode(scriptMode) {
|
||||||
const ScriptModeList = {
|
const ScriptModeList = {
|
||||||
TEACHING_MODE:'teach',
|
TEACHING_MODE: 'teach',
|
||||||
PRACTICE_MODE:'practice',
|
PRACTICE_MODE: 'practice',
|
||||||
TEST_MODE:'test'
|
TEST_MODE: 'test'
|
||||||
};
|
};
|
||||||
this.$store.dispatch('training/setScriptOperationType', ScriptModeList[scriptMode]);
|
this.$store.dispatch('training/setScriptOperationType', ScriptModeList[scriptMode]);
|
||||||
},
|
},
|
||||||
@ -624,7 +851,8 @@ export default {
|
|||||||
// 初始化
|
// 初始化
|
||||||
initialize() {
|
initialize() {
|
||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
exitRunPlan(this.group).then(() => {
|
exitRunPlan(this.group)
|
||||||
|
.then(() => {
|
||||||
this.$store.dispatch('training/over').then(() => {
|
this.$store.dispatch('training/over').then(() => {
|
||||||
this.$store.dispatch('training/setMapDefaultState').then(() => {
|
this.$store.dispatch('training/setMapDefaultState').then(() => {
|
||||||
this.$store.dispatch('map/clearJlmapTrainView');
|
this.$store.dispatch('map/clearJlmapTrainView');
|
||||||
@ -632,7 +860,8 @@ export default {
|
|||||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
this.$store.dispatch('map/setTrainWindowShow', false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}).catch(() => {
|
})
|
||||||
|
.catch(() => {
|
||||||
this.$messageBox(this.$t('display.demon.endSimulationFail'));
|
this.$messageBox(this.$t('display.demon.endSimulationFail'));
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -640,13 +869,13 @@ export default {
|
|||||||
cctvView() {
|
cctvView() {
|
||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
const routeData = this.$router.resolve({
|
const routeData = this.$router.resolve({
|
||||||
path:'/jlmap3d/passengerflow',
|
path: '/jlmap3d/passengerflow',
|
||||||
query:{
|
query: {
|
||||||
mapid:this.mapId,
|
mapid: this.mapId,
|
||||||
group:this.group,
|
group: this.group,
|
||||||
project: this.project,
|
project: this.project,
|
||||||
noPreLogout: true,
|
noPreLogout: true,
|
||||||
lineCode:this.lineCode
|
lineCode: this.lineCode
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
window.open(routeData.href, '_blank');
|
window.open(routeData.href, '_blank');
|
||||||
@ -667,11 +896,11 @@ export default {
|
|||||||
jlmap3dFault() {
|
jlmap3dFault() {
|
||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
const routeData = this.$router.resolve({
|
const routeData = this.$router.resolve({
|
||||||
path:'/jlmap3d/maintainer',
|
path: '/jlmap3d/maintainer',
|
||||||
query:{
|
query: {
|
||||||
mapid:this.mapId,
|
mapid: this.mapId,
|
||||||
group:this.group,
|
group: this.group,
|
||||||
token:getToken(),
|
token: getToken(),
|
||||||
project: this.project,
|
project: this.project,
|
||||||
noPreLogout: true
|
noPreLogout: true
|
||||||
}
|
}
|
||||||
@ -682,7 +911,8 @@ export default {
|
|||||||
jlmap3dDriver() {
|
jlmap3dDriver() {
|
||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
},
|
},
|
||||||
start(model) { // 开始仿真
|
start(model) {
|
||||||
|
// 开始仿真
|
||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
const data = {
|
const data = {
|
||||||
time: model.initTime
|
time: model.initTime
|
||||||
@ -690,9 +920,14 @@ export default {
|
|||||||
if (this.$route.query.prdType === '04') {
|
if (this.$route.query.prdType === '04') {
|
||||||
data.loadNumber = model.loadNum;
|
data.loadNumber = model.loadNum;
|
||||||
}
|
}
|
||||||
ranAsPlan(data, this.group).then(res => {
|
ranAsPlan(data, this.group)
|
||||||
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${model.initTime}`));
|
.then(res => {
|
||||||
}).catch(error => {
|
this.$store.dispatch(
|
||||||
|
'training/setInitTime',
|
||||||
|
+new Date(`${new Date().toLocaleDateString()} ${model.initTime}`)
|
||||||
|
);
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
let message = '';
|
let message = '';
|
||||||
switch (error.code) {
|
switch (error.code) {
|
||||||
case '5001':
|
case '5001':
|
||||||
@ -740,29 +975,31 @@ export default {
|
|||||||
this.openBigLPF.close();
|
this.openBigLPF.close();
|
||||||
}
|
}
|
||||||
const routeData = this.$router.resolve({
|
const routeData = this.$router.resolve({
|
||||||
path:'/bigLPFStrategy',
|
path: '/bigLPFStrategy',
|
||||||
query:{
|
query: {
|
||||||
mapId:this.$route.query.mapId,
|
mapId: this.$route.query.mapId,
|
||||||
group:this.$route.query.group,
|
group: this.$route.query.group,
|
||||||
project: this.$route.query.project,
|
project: this.$route.query.project,
|
||||||
noPreLogout: true
|
noPreLogout: true
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.openBigLPF = window.open(routeData.href);
|
this.openBigLPF = window.open(routeData.href);
|
||||||
},
|
},
|
||||||
// 成员管理
|
|
||||||
memberManage() {
|
|
||||||
this.$refs.memberManage.doShow();
|
|
||||||
},
|
|
||||||
/** 权限分发 */
|
/** 权限分发 */
|
||||||
// distribute() {
|
// distribute() {
|
||||||
// if (this.$refs) {
|
// if (this.$refs) {
|
||||||
// this.hideMenuList();
|
// this.hideMenuList();
|
||||||
// this.$refs.distribute.doShow({PermissionType:PermissionType.SIMULATION, mapId: this.$route.query.mapId, prdType: this.$route.query.prdType});
|
// this.$refs.distribute.doShow({
|
||||||
|
// PermissionType: PermissionType.SIMULATION,
|
||||||
|
// mapId: this.$route.query.mapId,
|
||||||
|
// prdType: this.$route.query.prdType
|
||||||
|
// });
|
||||||
// }
|
// }
|
||||||
// },
|
// },
|
||||||
QrCodeShow() {
|
// QrCodeShow() {},
|
||||||
|
// 成员管理
|
||||||
|
memberManage() {
|
||||||
|
this.$refs.memberManage.doShow();
|
||||||
},
|
},
|
||||||
trainingPane() {
|
trainingPane() {
|
||||||
this.$refs.trainingList.doShow();
|
this.$refs.trainingList.doShow();
|
||||||
@ -772,7 +1009,7 @@ export default {
|
|||||||
this.$refs.flowData.doShow();
|
this.$refs.flowData.doShow();
|
||||||
},
|
},
|
||||||
async backWJLS() {
|
async backWJLS() {
|
||||||
destroySimulation(this.group).then(res=>{
|
destroySimulation(this.group).then(res => {
|
||||||
this.$store.dispatch('training/over').then(() => {
|
this.$store.dispatch('training/over').then(() => {
|
||||||
this.$store.dispatch('LogOut').then(() => {
|
this.$store.dispatch('LogOut').then(() => {
|
||||||
location.reload();
|
location.reload();
|
||||||
@ -782,7 +1019,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
async backBJD() {
|
async backBJD() {
|
||||||
clearSimulation(this.group).then(res=>{
|
clearSimulation(this.group).then(res => {
|
||||||
this.$store.dispatch('training/over').then(() => {
|
this.$store.dispatch('training/over').then(() => {
|
||||||
this.$store.dispatch('LogOut').then(() => {
|
this.$store.dispatch('LogOut').then(() => {
|
||||||
// this.$store.dispatch('training/reset');
|
// this.$store.dispatch('training/reset');
|
||||||
@ -799,7 +1036,11 @@ export default {
|
|||||||
const item = this.$store.state.training.memberData[memberId];
|
const item = this.$store.state.training.memberData[memberId];
|
||||||
if (item.type === 'STATION_SUPERVISOR') {
|
if (item.type === 'STATION_SUPERVISOR') {
|
||||||
const device = this.$store.getters['map/getDeviceByCode'](item.deviceCode);
|
const device = this.$store.getters['map/getDeviceByCode'](item.deviceCode);
|
||||||
const memberData = { labelName: '值班员-' + device.name + (item.name ? `-${item.name }` : ''), id:item.id, userId:item.userId };
|
const memberData = {
|
||||||
|
labelName: '值班员-' + device.name + (item.name ? `-${item.name}` : ''),
|
||||||
|
id: item.id,
|
||||||
|
userId: item.userId
|
||||||
|
};
|
||||||
stationSupervisorList.push(memberData);
|
stationSupervisorList.push(memberData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -822,15 +1063,19 @@ export default {
|
|||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
// this.pauseLoading = true;
|
// this.pauseLoading = true;
|
||||||
if (this.$store.state.socket.simulationPause) {
|
if (this.$store.state.socket.simulationPause) {
|
||||||
simulationStart(this.$route.query.group).then(resp => {
|
simulationStart(this.$route.query.group)
|
||||||
|
.then(resp => {
|
||||||
// this.pauseLoading = false;
|
// this.pauseLoading = false;
|
||||||
}).catch((e) =>{
|
})
|
||||||
|
.catch(e => {
|
||||||
this.$message.error('仿真开始失败!');
|
this.$message.error('仿真开始失败!');
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
simulationPause(this.$route.query.group).then(resp => {
|
simulationPause(this.$route.query.group)
|
||||||
|
.then(resp => {
|
||||||
// this.pauseLoading = false;
|
// this.pauseLoading = false;
|
||||||
}).catch((e) => {
|
})
|
||||||
|
.catch(e => {
|
||||||
// this.pauseLoading = false;
|
// this.pauseLoading = false;
|
||||||
this.$message.error('仿真暂停失败!');
|
this.$message.error('仿真暂停失败!');
|
||||||
});
|
});
|
||||||
@ -846,7 +1091,8 @@ export default {
|
|||||||
},
|
},
|
||||||
end() {
|
end() {
|
||||||
// this.loading = true;
|
// this.loading = true;
|
||||||
initSimulation(this.group).then(() => {
|
initSimulation(this.group)
|
||||||
|
.then(() => {
|
||||||
this.$store.dispatch('training/over').then(() => {
|
this.$store.dispatch('training/over').then(() => {
|
||||||
this.$store.dispatch('training/setMapDefaultState').then(() => {
|
this.$store.dispatch('training/setMapDefaultState').then(() => {
|
||||||
this.$store.dispatch('map/clearJlmapTrainView');
|
this.$store.dispatch('map/clearJlmapTrainView');
|
||||||
@ -858,7 +1104,8 @@ export default {
|
|||||||
// setTimeout(() => {
|
// setTimeout(() => {
|
||||||
// this.loading = false;
|
// this.loading = false;
|
||||||
// }, 1500);
|
// }, 1500);
|
||||||
}).catch(() => {
|
})
|
||||||
|
.catch(() => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.$messageBox(this.$t('display.demon.endSimulationFail'));
|
this.$messageBox(this.$t('display.demon.endSimulationFail'));
|
||||||
});
|
});
|
||||||
@ -867,18 +1114,17 @@ export default {
|
|||||||
this.hideMenuList();
|
this.hideMenuList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.allSimulationMenu{
|
.allSimulationMenu {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
// width: 200px;
|
// width: 200px;
|
||||||
height: 200px;
|
height: 200px;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
}
|
}
|
||||||
.simulationMenu{
|
.simulationMenu {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 60px;
|
width: 60px;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
@ -887,10 +1133,10 @@ export default {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
bottom: 10px;
|
bottom: 10px;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
font-size:14px;
|
font-size: 14px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.simulationMenuList{
|
.simulationMenuList {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 71px;
|
right: 71px;
|
||||||
width: 95px;
|
width: 95px;
|
||||||
@ -900,18 +1146,18 @@ export default {
|
|||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
.eachSimulationMenu{
|
.eachSimulationMenu {
|
||||||
padding:9px 0px;
|
padding: 9px 0px;
|
||||||
// border-bottom:1px #dedede solid;
|
// border-bottom:1px #dedede solid;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.eachSimulationMenu:hover{
|
.eachSimulationMenu:hover {
|
||||||
background:#dedede;
|
background: #dedede;
|
||||||
}
|
}
|
||||||
.simulationMenuGroup{
|
.simulationMenuGroup {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 96px;
|
right: 96px;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
|
@ -11,11 +11,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const paperStateArr = ['正在编辑', '封存', '已使用']
|
import config from '@/scripts/ConstConfig'
|
||||||
const paperStateQueryArr = ['所有', '正在编辑', '可生成试卷', '封存', '已被使用']
|
|
||||||
import { getPapaerListOfOrg, lockPaper, unlockPaper, deletePaper } from '@/api/management/exam'
|
import { getPapaerListOfOrg, lockPaper, unlockPaper, deletePaper } from '@/api/management/exam'
|
||||||
import { getPublishMapListOnline } from '@/api/jmap/map'
|
import { getPublishMapListOnline } from '@/api/jmap/map'
|
||||||
|
|
||||||
|
const { paperStateArr, paperStateQueryArr } = config.ConstSelect
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ExamManage',
|
name: 'ExamManage',
|
||||||
data() {
|
data() {
|
||||||
@ -235,7 +236,9 @@ export default {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
.catch(res => {
|
.catch(res => {
|
||||||
this.$message({ type: 'error', message: '删除试卷失败!' })
|
if (res.code && res.code !== 200) {
|
||||||
|
this.$message({ type: 'error', message: res.message })
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
examRefresh() {
|
examRefresh() {
|
||||||
|
@ -42,12 +42,11 @@
|
|||||||
v-model="form.amount"
|
v-model="form.amount"
|
||||||
:precision="0"
|
:precision="0"
|
||||||
:min="0"
|
:min="0"
|
||||||
:max="this.topicNum"
|
|
||||||
style="width: calc(100% - 280px); float: left; margin-right: 10px;"
|
style="width: calc(100% - 280px); float: left; margin-right: 10px;"
|
||||||
/>
|
/>
|
||||||
<span v-if="this.form.type === 1" style="width: 190px; float: left;"
|
<span v-if="this.form.type === 1" style="width: 190px; float: left;">
|
||||||
>{{ $t('publish.allNumberTipOne') }} {{ topicNum }} {{ $t('publish.allNumberTipTwo') }}</span
|
{{ $t('publish.allNumberTipOne') }} {{ topicNum }} {{ $t('publish.allNumberTipTwo') }}
|
||||||
>
|
</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('publish.scorePerQuestion')" prop="score">
|
<el-form-item :label="$t('publish.scorePerQuestion')" prop="score">
|
||||||
<el-input-number v-model="form.score" :precision="0" :min="0" style="width:200px" />
|
<el-input-number v-model="form.score" :precision="0" :min="0" style="width:200px" />
|
||||||
|
Loading…
Reference in New Issue
Block a user