From 8059353f0696aa28a7988de95f8e1ef8d13bb006 Mon Sep 17 00:00:00 2001
From: joylink_cuiweidong <364937672@qq.com>
Date: Fri, 15 May 2020 20:45:59 +0800
Subject: [PATCH 01/40] =?UTF-8?q?=E5=89=A7=E6=9C=AC=E4=BB=A3=E7=A0=81?=
=?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../theme/ningbo_01/menus/menuSignal.vue | 2 +-
src/store/modules/socket.js | 4 ++++
.../newMap/displayNew/chatView/chatBox.vue | 17 ++++++++++++++
.../displayNew/chatView/chatContent.vue | 11 ++++++---
.../newMap/displayNew/demon/addQuest.vue | 11 ++++++++-
src/views/newMap/displayNew/designIndex.vue | 5 ++--
src/views/newMap/displayNew/menuDemon.vue | 23 ++++++++++++++-----
src/views/newMap/displayNew/menuSchema.vue | 2 +-
8 files changed, 61 insertions(+), 14 deletions(-)
diff --git a/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue b/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue
index 26cb43946..7bbd70f20 100644
--- a/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue
+++ b/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue
@@ -215,7 +215,7 @@ export default {
self.doClose();
};
},
- initMenu() {
+ initMenu() {
this.menu = MenuContextHandler.covert(this.menuNormal);
// 故障模式菜单列表
if (this.operatemode === OperateMode.FAULT) {
diff --git a/src/store/modules/socket.js b/src/store/modules/socket.js
index 8c21a5287..5cb0d22e5 100644
--- a/src/store/modules/socket.js
+++ b/src/store/modules/socket.js
@@ -29,6 +29,9 @@ function handle(state, data) {
case 'Simulation_Script_Tip': // 仿真-聊天界面用户进出仿真消息
handleSimulationScriptTipInfo(state, msg); // 用户进出仿真消息
break;
+ case 'Simulation_Script_Finish': // 剧本执行完成推送消息
+ state.scriptFinish++; // 剧本执行完成推送消息
+ break;
case 'Simulation_RunFact': // 仿真-列车实际到发车站消息
// let runFactMsg = msg;
// if (runFactMsg.constructor !== Array ) {
@@ -195,6 +198,7 @@ const socket = {
roleList: [], // 设置角色信息
simulationRoleList:[], // 设置仿真的聊天角色信息
simulationScriptTip:{}, // 剧本推送提示信息
+ scriptFinish:0, // 剧本执行完成提示信息
jointRoomPrepare: false, // 演练房间准备状态
equipmentStatus: [], // 仿真-设备状态消息
trainStationList: [], // 仿真-列车实际到发车站消息
diff --git a/src/views/newMap/displayNew/chatView/chatBox.vue b/src/views/newMap/displayNew/chatView/chatBox.vue
index 649939ca4..4f713fb2f 100644
--- a/src/views/newMap/displayNew/chatView/chatBox.vue
+++ b/src/views/newMap/displayNew/chatView/chatBox.vue
@@ -46,6 +46,7 @@
From 3e64c6da0247500ce9b46befd8c3ebc759655111 Mon Sep 17 00:00:00 2001
From: joylink_cuiweidong <364937672@qq.com>
Date: Mon, 18 May 2020 11:32:46 +0800
Subject: [PATCH 05/40] =?UTF-8?q?=E8=A5=BF=E5=AE=89=E4=B8=89=E5=8F=B7?=
=?UTF-8?q?=E7=BA=BF=20=E4=BB=BF=E7=9C=9F=E7=B3=BB=E7=BB=9F=E8=BD=A6?=
=?UTF-8?q?=E6=AC=A1=E4=B8=8E=E5=AE=9E=E9=99=85=E8=BD=A6=E6=AC=A1=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E4=B8=8D=E7=AC=A6=20=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/jmapNew/config/skinCode/xian_01.js | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/jmapNew/config/skinCode/xian_01.js b/src/jmapNew/config/skinCode/xian_01.js
index 022134b49..1c97a6556 100644
--- a/src/jmapNew/config/skinCode/xian_01.js
+++ b/src/jmapNew/config/skinCode/xian_01.js
@@ -558,7 +558,8 @@ class SkinCode extends defaultStyle {
lrPadding: 1, // 两边间隔
upPadding: 1, // 上边距离
trainBodyFillColor: '#000000', // 列车车身填充颜色
- trainNameFormat: 'targetCode:serviceNumber:tripNumber'// 列车显示格式
+ // targetCode:
+ trainNameFormat: 'serviceNumber:tripNumber'// 列车显示格式
},
directionArrow: {
},
@@ -610,6 +611,7 @@ class SkinCode extends defaultStyle {
aspectRatio: 8 / 15, // 字体宽高比例(用以拼接text是计算位置)
textOffset: 1, // 字体偏移(用以控制字体据车头的距离)
trainWidthMoreText: 2, // 计算列车长度时--列车长比text多出尺寸
+ useSelfFormat: true, // 使用配置项的nameFormat
displayPosition: 'margin', // 非同通信车在物理区段(有逻辑区段)上显示的位置 margin:行驶方向边缘车次窗 center: 中间位置车次窗
trainTip:true // 鼠标悬停列车状态信息框是否显示
},
From 9591cbd268ba857cd6b801f3b629adc401de1393 Mon Sep 17 00:00:00 2001
From: zyy <1787816799@qq.com>
Date: Mon, 18 May 2020 13:08:45 +0800
Subject: [PATCH 06/40] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=AB=9E=E8=B5=9B?=
=?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=99=BB=E9=99=86=E6=9D=83=E9=99=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/router/index_Common.js | 12 ++++--------
src/scripts/ConstConfig.js | 3 ++-
src/store/modules/permission.js | 7 ++++---
src/store/modules/user.js | 5 +++--
src/utils/baseUrl.js | 4 ++--
.../mapoperate/section/splitOrMerge.vue | 16 ++++++++--------
6 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/src/router/index_Common.js b/src/router/index_Common.js
index 87eabad31..ca11e1bd6 100644
--- a/src/router/index_Common.js
+++ b/src/router/index_Common.js
@@ -151,6 +151,7 @@ export const mapCreater = '02'; // 地图创建权限
export const lessonCreater = '03'; // 课程创建权限
export const admin = '04'; // 管理员
export const superAdmin = '05'; // 超级管理员
+export const referee = '07'; // 裁判员
export const userExam = '011'; // 考试系统
export const userLesson = '012'; // 教学系统
@@ -982,13 +983,13 @@ export const asyncRouter = [
]
}
];
-const JSXT = [
+export const JSXT = [
{
path: '/jsxt',
component: Layout,
meta: {
i18n: 'router.competitionManage',
- roles: [user, userTrainingPlatform]
+ roles: [user, userTrainingPlatform, referee]
},
pathStr: 'jsxt',
hidden: getSessionStorage('project') ? !getSessionStorage('project').endsWith('jsxt') && !window.document.location.pathname.includes('jsxt') : !window.document.location.pathname.includes('jsxt'),
@@ -1009,7 +1010,7 @@ const JSXT = [
component: Layout,
meta: {
i18n: 'router.refereeJManage',
- roles: [admin, userTrainingPlatform]
+ roles: [referee, userTrainingPlatform]
},
pathStr: 'refereeJsxt',
hidden: getSessionStorage('project') ? !getSessionStorage('project').endsWith('refereeJsxt') && !window.document.location.pathname.includes('refereeJsxt') : !window.document.location.pathname.includes('refereeJsxt'),
@@ -1036,11 +1037,6 @@ const router = createRouter();
router.beforeEach((to, from, next) => {
const project = getSessionStorage('project');
- JSXT.forEach(route => {
- if (from.path.includes(route.pathStr)) {
- asyncRouter.push(route);
- }
- });
document.title = loginInfo[project || 'login'].browserTitle || loginInfo[project || 'login'].title;
next();
});
diff --git a/src/scripts/ConstConfig.js b/src/scripts/ConstConfig.js
index 88f8ca94d..0e5598c55 100644
--- a/src/scripts/ConstConfig.js
+++ b/src/scripts/ConstConfig.js
@@ -37,7 +37,8 @@ export default {
{ label: '课程生成者', value: '03' },
{ label: '系统管理员', value: '04' },
{ label: '超级管理员', value: '05' },
- { label: '销售用户', value: '06' }
+ { label: '销售用户', value: '06' },
+ { label: '裁判员', value: '07' }
],
examResultList: [
diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js
index 7a7958541..03bbc159e 100644
--- a/src/store/modules/permission.js
+++ b/src/store/modules/permission.js
@@ -1,4 +1,4 @@
-import { asyncRouter, constantRoutes, user, userLesson, userExam, userSimulation, userScreen, userPlan, superAdmin, admin, userTrainingPlatform } from '@/router/index_APP_TARGET';
+import { asyncRouter, constantRoutes, user, userLesson, userExam, userSimulation, userScreen, userPlan, superAdmin, admin, userTrainingPlatform, JSXT } from '@/router/index_APP_TARGET';
import { PermissionType } from '@/utils/PermissionType';
import { UrlConfig } from '@/scripts/ConstDic';
import { getSessionStorage } from '@/utils/auth';
@@ -35,7 +35,7 @@ function hasPermission(roles, route, parentsRoles) {
roles = roles.filter(function (role) {
return route.meta.roles.indexOf(role) >= 0;
});
- return roles.some(role => route.meta.roles.indexOf(role) >= 0) && route.meta.roles.indexOf(userTrainingPlatform) > 0;
+ return roles.some(role => route.meta.roles.indexOf(role) >= 0) && route.meta.roles.indexOf(userTrainingPlatform) >= 0;
}
} else if (parentsRoles) {
// 如果没有本级路由,有父级路由,则使用父级路由过滤
@@ -104,8 +104,9 @@ const permission = {
if (roles.indexOf(superAdmin) >= 0 && roles.indexOf(admin) < 0) {
roles.push(admin);
}
+ const routeArr = [...asyncRouter, ...JSXT];
- const accessedRouters = filterAsyncRouter(asyncRouter, roles);
+ const accessedRouters = filterAsyncRouter(routeArr, roles);
accessedRouters.forEach(route => {
if (route.children && route.children.length == 0) {
route.hidden = true;
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index d52813076..91d273d7d 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,9 +1,9 @@
import { setSessionStorage } from '@/utils/auth';
import { login, logout, getInfo } from '@/api/login';
-import { getToken, setToken, removeToken } from '@/utils/auth';
+import { getToken, setToken, removeToken, removeSessionStorage } from '@/utils/auth';
import { getUserConfigInfo } from '@/api/management/user';
import { LoginParams } from '@/utils/login';
-import { creatSubscribe, clearSubscribe, perpetualTopic, commonTopic, disconnect} from '@/utils/stomp';
+import { creatSubscribe, clearSubscribe, perpetualTopic, disconnect} from '@/utils/stomp';
import Cookies from 'js-cookie';
const user = {
@@ -145,6 +145,7 @@ const user = {
commit('SET_ID', '');
commit('SET_ROLES', []);
removeToken();
+ removeSessionStorage('project');
},
// 登出系统
diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js
index 080406116..4ff00eac2 100644
--- a/src/utils/baseUrl.js
+++ b/src/utils/baseUrl.js
@@ -2,9 +2,9 @@ export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud';
- // BASE_API = 'https://test.joylink.club/jlcloud';
+ BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
- BASE_API = 'http://192.168.3.6:9000'; // 旭强
+ // BASE_API = 'http://192.168.3.6:9000'; // 旭强
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
// BASE_API = 'http://192.168.3.82:9000'; // 杜康
// BASE_API = 'http://192.168.3.41:9000'; // 张S赛
diff --git a/src/views/newMap/newMapdraft/mapoperate/section/splitOrMerge.vue b/src/views/newMap/newMapdraft/mapoperate/section/splitOrMerge.vue
index f4a541799..4022d6933 100644
--- a/src/views/newMap/newMapdraft/mapoperate/section/splitOrMerge.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/section/splitOrMerge.vue
@@ -208,10 +208,10 @@ export default {
roadType: selected.roadType,
firstTurnBack: false,
belongStation: '',
- rightAxleOffset: {x:0, y:0},
- leftAxleOffset: {x:0, y:0},
- leftAxlePosition: 0,
- rightAxlePosition: 0,
+ rightAxleOffset: {x:0, y:0},
+ leftAxleOffset: {x:0, y:0},
+ leftAxlePosition: 0,
+ rightAxlePosition: 0
};
models.push(model);
}
@@ -291,10 +291,10 @@ export default {
roadType: null,
firstTurnBack: false,
belongStation: '',
- rightAxleOffset: {x:0, y:0},
- leftAxleOffset: {x:0, y:0},
- leftAxlePosition: 0,
- rightAxlePosition: 0,
+ rightAxleOffset: {x:0, y:0},
+ leftAxleOffset: {x:0, y:0},
+ leftAxlePosition: 0,
+ rightAxlePosition: 0
};
models.push(deepAssign(this.$store.getters['map/getDeviceByCode'](lsection.code), { _dispose: true }));
models.push(deepAssign(this.$store.getters['map/getDeviceByCode'](rsection.code), { _dispose: true }));
From 25b1c09141f47cdbdd6eabd9c063a7a9448f2525 Mon Sep 17 00:00:00 2001
From: joylink_cuiweidong <364937672@qq.com>
Date: Mon, 18 May 2020 13:32:25 +0800
Subject: [PATCH 07/40] =?UTF-8?q?=E5=89=A7=E6=9C=AC=E4=BB=A3=E7=A0=81?=
=?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../newMap/displayNew/demon/addQuest.vue | 26 +++++++++----------
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/src/views/newMap/displayNew/demon/addQuest.vue b/src/views/newMap/displayNew/demon/addQuest.vue
index 03556d973..4f73289c9 100644
--- a/src/views/newMap/displayNew/demon/addQuest.vue
+++ b/src/views/newMap/displayNew/demon/addQuest.vue
@@ -213,22 +213,20 @@ export default {
checkDisabled(role) {
if (!this.$route.fullPath.includes('design/displayNew/demon')) {
- if (this.$route.query.prdType == '01') {
- return role !== 'Attendant' && role !== 'no';
- } else if (this.$route.query.prdType == '02') {
- return role !== 'Dispatcher' && role !== 'no';
- } else if (this.$route.query.prdType == '04') {
- return role !== 'Driver' && role !== 'no';
- }
+ const prdType = this.$route.query.prdType;
+ return this.judgeDisabled(prdType, role);
} else {
const prdType = this.$store.state.training.prdType;
- if ( prdType == '01') {
- return role !== '行值' && role !== 'no';
- } else if (prdType == '02') {
- return role !== '行调' && role !== 'no';
- } else if (prdType == '04') {
- return role !== '司机' && role !== 'no';
- }
+ return this.judgeDisabled(prdType, role);
+ }
+ },
+ judgeDisabled(prdType, role) {
+ if ( prdType == '01') {
+ return role !== '行值' && role !== 'no';
+ } else if (prdType == '02') {
+ return role !== '行调' && role !== 'no';
+ } else if (prdType == '04') {
+ return role !== '司机' && role !== 'no';
}
},
From 6fdf3b74aa0bbcb47941fe89cb56e67e056c40d8 Mon Sep 17 00:00:00 2001
From: zyy <1787816799@qq.com>
Date: Mon, 18 May 2020 13:34:46 +0800
Subject: [PATCH 08/40] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=BD=A6=E6=AC=A1?=
=?UTF-8?q?=E7=AA=97=E6=92=A4=E9=94=80=E6=93=8D=E4=BD=9C=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../newMapdraft/mapoperate/trainwindow.vue | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/views/newMap/newMapdraft/mapoperate/trainwindow.vue b/src/views/newMap/newMapdraft/mapoperate/trainwindow.vue
index 614d6bb1f..d2bb50dda 100644
--- a/src/views/newMap/newMapdraft/mapoperate/trainwindow.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/trainwindow.vue
@@ -22,7 +22,7 @@
删除
- {{ $t('map.deleteTrainWindow') }}
+ {{ $t('map.deleteTrainWindow') }}
修改
@@ -374,15 +374,17 @@ export default {
this.$refs['addForm'].validate((valid) => {
if (valid) {
const models = [];
- this.addModel.modelList.forEach(item => {
- const model = this.$store.getters['map/getDeviceByCode'](item);
- model.point.y = this.addModel.pointY;
- model.height = this.addModel.height;
- model.width = this.addModel.width;
- models.push(model);
+ this.addModel.modelList.forEach(code => {
+ const model = this.$store.getters['map/getDeviceByCode'](code);
+ const modelData = deepAssign({}, model);
+ modelData.point.y = this.addModel.pointY;
+ modelData.height = this.addModel.height;
+ modelData.width = this.addModel.width;
+ models.push(modelData);
});
this.$emit('updateMapModel', models);
this.addModel.modelList = [];
+ this.field = '';
}
});
}
From bdf627e81272d4130af4641c25cb6c97f82e8935 Mon Sep 17 00:00:00 2001
From: joylink_cuiweidong <364937672@qq.com>
Date: Mon, 18 May 2020 14:00:16 +0800
Subject: [PATCH 09/40] =?UTF-8?q?=E5=89=A7=E6=9C=AC=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/newMap/displayNew/designIndex.vue | 20 --------------------
1 file changed, 20 deletions(-)
diff --git a/src/views/newMap/displayNew/designIndex.vue b/src/views/newMap/displayNew/designIndex.vue
index a18b869c9..f6ed7bdb6 100644
--- a/src/views/newMap/displayNew/designIndex.vue
+++ b/src/views/newMap/displayNew/designIndex.vue
@@ -329,26 +329,6 @@ export default {
// 选择脚本
async selectQuest(row, id, mapLocation, roleName) {
try {
- let prdType = '';
- switch (roleName) {
- case 'Attendant': {
- prdType = '01';
- break;
- }
- case 'Dispatcher': {
- prdType = '02';
- break;
- }
- case 'Driver': {
- prdType = '04';
- break;
- }
- case 'Repair': {
- prdType = '';
- break;
- }
- }
- this.switchMode(prdType);
const res = this.drawWay ? await loadDraftScriptNew(id, this.group) : await loadDraftScript(row.id, id, this.group);
if (res && res.code == 200) {
this.questId = parseInt(row.id);
From 135b328dd19690075f4950ac73f2ad6c9c9fbc54 Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Mon, 18 May 2020 14:49:16 +0800
Subject: [PATCH 10/40] =?UTF-8?q?=E6=95=85=E9=9A=9C=E6=93=8D=E4=BD=9C?=
=?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../theme/beijing_01/menus/menuSection.vue | 36 +-
.../theme/beijing_01/menus/menuSignal.vue | 70 +---
.../theme/beijing_01/menus/menuSwitch.vue | 66 ++--
.../chengdu_01/menus/dialog/platformDwell.vue | 2 +-
.../chengdu_01/menus/menuDialog/playBack.vue | 2 +-
.../menus/menuDialog/systemLogin.vue | 2 +-
.../menus/menuDialog/systemLogout.vue | 2 +-
.../theme/chengdu_01/menus/menuRequest.vue | 2 +
.../theme/chengdu_01/menus/menuSection.vue | 61 +---
.../theme/chengdu_01/menus/menuSignal.vue | 53 +--
.../theme/chengdu_01/menus/menuSwitch.vue | 48 +--
.../chengdu_01/menus/utils/menuOperate.js | 257 +++++++++++++++
.../theme/chengdu_03/menus/menuSection.vue | 59 +---
.../theme/chengdu_03/menus/menuSignal.vue | 51 +--
.../theme/chengdu_03/menus/menuSwitch.vue | 46 +--
.../chengdu_03/menus/utils/menuOperate.js | 257 +++++++++++++++
.../theme/foshan_01/menus/menuSection.vue | 35 +-
.../theme/foshan_01/menus/menuSignal.vue | 50 +--
.../theme/foshan_01/menus/menuSwitch.vue | 45 +--
.../foshan_01/menus/utils/menuOperate.js | 10 +
.../theme/fuzhou_01/menus/menuSection.vue | 45 +--
.../theme/fuzhou_01/menus/menuSignal.vue | 44 +--
.../theme/fuzhou_01/menus/menuStation.vue | 4 +-
.../theme/fuzhou_01/menus/menuSwitch.vue | 48 +--
.../fuzhou_01/menus/utils/menuOperate.js | 308 ++++++++++++++++++
.../theme/haerbin_01/menus/menuSection.vue | 46 +--
.../theme/haerbin_01/menus/menuSignal.vue | 44 +--
.../theme/haerbin_01/menus/menuSwitch.vue | 42 +--
.../haerbin_01/menus/utils/menuOperate.js | 308 ++++++++++++++++++
.../theme/ningbo_01/menus/menuSection.vue | 25 +-
.../theme/ningbo_01/menus/menuSignal.vue | 80 ++---
.../theme/ningbo_01/menus/menuSwitch.vue | 70 ++--
.../ningbo_01/menus/utils/menuOperate.js | 10 +
.../theme/xian_01/menus/menuSection.vue | 15 +-
.../theme/xian_01/menus/menuSignal.vue | 19 +-
.../theme/xian_01/menus/menuSwitch.vue | 21 +-
src/jmapNew/theme/xian_02/menus/index.vue | 12 +-
.../theme/xian_02/menus/menuSection.vue | 36 +-
.../theme/xian_02/menus/menuSignal.vue | 52 +--
.../theme/xian_02/menus/menuSwitch.vue | 35 +-
.../theme/xian_02/menus/utils/menuOperate.js | 10 +
src/utils/baseUrl.js | 4 +-
.../newMap/mapsystemNew/plugin/setFault.vue | 174 ++++++++++
43 files changed, 1741 insertions(+), 865 deletions(-)
create mode 100644 src/jmapNew/theme/chengdu_01/menus/utils/menuOperate.js
create mode 100644 src/jmapNew/theme/chengdu_03/menus/utils/menuOperate.js
create mode 100644 src/jmapNew/theme/fuzhou_01/menus/utils/menuOperate.js
create mode 100644 src/jmapNew/theme/haerbin_01/menus/utils/menuOperate.js
create mode 100644 src/views/newMap/mapsystemNew/plugin/setFault.vue
diff --git a/src/jmapNew/theme/beijing_01/menus/menuSection.vue b/src/jmapNew/theme/beijing_01/menus/menuSection.vue
index 07d648269..7871ce8f2 100644
--- a/src/jmapNew/theme/beijing_01/menus/menuSection.vue
+++ b/src/jmapNew/theme/beijing_01/menus/menuSection.vue
@@ -5,6 +5,7 @@
+
@@ -21,6 +22,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import {menuOperate, commitOperate} from './utils/menuOperate';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SectionMenu',
@@ -29,7 +31,8 @@ export default {
SectionControl,
SpeedLimitControl,
AlxeEffective,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -72,11 +75,16 @@ export default {
]
},
menuForce: [
- // {
- // label: '设置计轴失效',
- // handler: this.alxeFailure
- // // disabledCallback: MenuDisabledState.Section.alxeFailure
- // }
+ {
+ label: '设置故障',
+ handler: this.setStoppage,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ {
+ label: '取消故障',
+ handler: this.cancelStoppage,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
+ }
]
};
},
@@ -234,6 +242,22 @@ export default {
this.$refs.speedLimitControl.doShow(operate, this.selected);
}
});
+ },
+ // 设置故障
+ setStoppage() {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
+ }
+ });
+ },
+ // 取消故障
+ cancelStoppage() {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
+ }
+ });
}
}
};
diff --git a/src/jmapNew/theme/beijing_01/menus/menuSignal.vue b/src/jmapNew/theme/beijing_01/menus/menuSignal.vue
index d61298593..6c533599b 100644
--- a/src/jmapNew/theme/beijing_01/menus/menuSignal.vue
+++ b/src/jmapNew/theme/beijing_01/menus/menuSignal.vue
@@ -7,6 +7,7 @@
+
@@ -26,6 +27,7 @@ import { DeviceMenu } from '@/scripts/ConstDic';
import { mouseCancelState } from './utils/menuItemStatus';
import PasswordBox from './dialog/childDialog/passwordInputBox.vue';
import {menuOperate, commitOperate} from './utils/menuOperate';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SignalMenu',
@@ -36,7 +38,8 @@ export default {
RouteHandControl,
RouteDetail,
NoticeInfo,
- PasswordBox
+ PasswordBox,
+ SetFault
},
props: {
selected: {
@@ -91,21 +94,16 @@ export default {
]
},
menuForce: [
- {
- label: '信号关灯',
- handler: this.signalClose,
- cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
- },
- {
- label: '设置故障',
- handler: this.setStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT
- },
- {
- label: '取消故障',
- handler: this.cancelStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT
- }
+ {
+ label: '设置故障',
+ handler: this.setStoppage,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ {
+ label: '取消故障',
+ handler: this.cancelStoppage,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
+ }
]
};
},
@@ -284,50 +282,18 @@ export default {
},
// 设置故障
setStoppage() {
- const operate = {
- start: true,
- over: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.stoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT,
- param: {
- signalCode: `${this.selected.code}`
- }
-
- };
- mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
// 取消故障
cancelStoppage() {
- const operate = {
- start: true,
- over: true,
- code: this.selected.code,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT,
- operation: OperationEvent.Signal.cancelStoppage.menu.operation,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
-
- mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
// 设置进路
diff --git a/src/jmapNew/theme/beijing_01/menus/menuSwitch.vue b/src/jmapNew/theme/beijing_01/menus/menuSwitch.vue
index d9d87027e..fa303a19d 100644
--- a/src/jmapNew/theme/beijing_01/menus/menuSwitch.vue
+++ b/src/jmapNew/theme/beijing_01/menus/menuSwitch.vue
@@ -6,6 +6,7 @@
+
@@ -22,8 +23,8 @@ import {DeviceMenu } from '@/scripts/ConstDic';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
-import { mouseCancelState } from './utils/menuItemStatus';
import {menuOperate, commitOperate} from './utils/menuOperate';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SwitchMenu',
@@ -33,7 +34,8 @@ export default {
SwitchControl,
SpeedLimitControl,
AlxeEffective,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -89,16 +91,25 @@ export default {
{
label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Switch.CMD_SWITCH_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Switch.CMD_SWITCH_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
},
+ computed: {
+ ...mapGetters('training', [
+ 'mode',
+ 'operatemode'
+ ]),
+ ...mapGetters('menuOperation', [
+ 'buttonOperation'
+ ])
+ },
watch: {
'$store.state.menuOperation.menuCount': function (val) {
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Switch) && !this.buttonOperation) {
@@ -113,15 +124,6 @@ export default {
}
}
},
- computed: {
- ...mapGetters('training', [
- 'mode',
- 'operatemode'
- ]),
- ...mapGetters('menuOperation', [
- 'buttonOperation'
- ])
- },
methods: {
clickEvent() {
const self = this;
@@ -192,48 +194,18 @@ export default {
},
// 设置故障
setStoppage() {
- const operate = {
- start: true,
- code: this.selected.code,
- operation: OperationEvent.Switch.stoppage.menu.operation,
- cmdType: CMD.Switch.CMD_SWITCH_ADD_FAULT,
- param: {
- switchCode: `${this.selected.code}`
- }
- };
-
- mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
// 取消故障
cancelStoppage() {
- const operate = {
- start: true,
- code: this.selected.code,
- operation: OperationEvent.Switch.cancelStoppage.menu.operation,
- cmdType: CMD.Switch.CMD_SWITCH_REMOVE_FAULT,
- param: {
- switchCode: `${this.selected.code}`
- }
- };
-
- mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
// 道岔单锁
diff --git a/src/jmapNew/theme/chengdu_01/menus/dialog/platformDwell.vue b/src/jmapNew/theme/chengdu_01/menus/dialog/platformDwell.vue
index 4a067f5d2..96ca967de 100644
--- a/src/jmapNew/theme/chengdu_01/menus/dialog/platformDwell.vue
+++ b/src/jmapNew/theme/chengdu_01/menus/dialog/platformDwell.vue
@@ -73,7 +73,7 @@
- 确认
+ 确认
取消
帮助
diff --git a/src/jmapNew/theme/chengdu_01/menus/menuDialog/playBack.vue b/src/jmapNew/theme/chengdu_01/menus/menuDialog/playBack.vue
index 86cc82035..9a18253a0 100644
--- a/src/jmapNew/theme/chengdu_01/menus/menuDialog/playBack.vue
+++ b/src/jmapNew/theme/chengdu_01/menus/menuDialog/playBack.vue
@@ -63,7 +63,7 @@
- 确定
+ 确定
取消
帮助
diff --git a/src/jmapNew/theme/chengdu_01/menus/menuDialog/systemLogin.vue b/src/jmapNew/theme/chengdu_01/menus/menuDialog/systemLogin.vue
index 6f61b5d27..40fbc395a 100644
--- a/src/jmapNew/theme/chengdu_01/menus/menuDialog/systemLogin.vue
+++ b/src/jmapNew/theme/chengdu_01/menus/menuDialog/systemLogin.vue
@@ -56,7 +56,7 @@
- 确定
+ 确定
取消
帮助
diff --git a/src/jmapNew/theme/chengdu_01/menus/menuDialog/systemLogout.vue b/src/jmapNew/theme/chengdu_01/menus/menuDialog/systemLogout.vue
index 5afea1f63..a4f9e7f2d 100644
--- a/src/jmapNew/theme/chengdu_01/menus/menuDialog/systemLogout.vue
+++ b/src/jmapNew/theme/chengdu_01/menus/menuDialog/systemLogout.vue
@@ -28,7 +28,7 @@
- 确定
+ 确定
取消
帮助
diff --git a/src/jmapNew/theme/chengdu_01/menus/menuRequest.vue b/src/jmapNew/theme/chengdu_01/menus/menuRequest.vue
index f8bd7d56e..27134db34 100644
--- a/src/jmapNew/theme/chengdu_01/menus/menuRequest.vue
+++ b/src/jmapNew/theme/chengdu_01/menus/menuRequest.vue
@@ -43,6 +43,8 @@ export default {
return {
unfold: true,
tempData: [],
+ commitDisabled: false,
+ loading: false,
tableStyle: {
'border-bottom': 'none',
'border-right': 'none'
diff --git a/src/jmapNew/theme/chengdu_01/menus/menuSection.vue b/src/jmapNew/theme/chengdu_01/menus/menuSection.vue
index 0873e9e97..7853e271d 100644
--- a/src/jmapNew/theme/chengdu_01/menus/menuSection.vue
+++ b/src/jmapNew/theme/chengdu_01/menus/menuSection.vue
@@ -5,6 +5,7 @@
+
@@ -19,6 +20,8 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SectionMenu',
@@ -27,7 +30,8 @@ export default {
NoticeInfo,
SpeedLimitControl,
SectionControl,
- SectionCmdControl
+ SectionCmdControl,
+ SetFault
},
props: {
selected: {
@@ -63,24 +67,14 @@ export default {
},
menuForce: [
{
- label: '设置计轴失效',
- handler: this.alxeFailure,
- cmdType:''
- },
- {
- label: this.$t('menu.menuSection.setFault'),
+ label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
- label: this.$t('menu.menuSection.cancelFault'),
+ label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Section.CMD_SECTION_REMOVE_FAULT
- },
- {
- label: '创建速度限制',
- handler: this.setSpeed,
- cmdType: CMD.Section.CMD_SWITCH_SET_LIMIT_SPEED
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -152,49 +146,20 @@ export default {
this.$refs.noticeInfo.doShow(step);
});
},
-
// 设置故障
setStoppage() {
- const step = {
- start: true,
- over:true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Section.stoppage.menu.operation,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT,
- param: {
- sectionCode: `${this.selected.code}`
- }
- };
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- over:true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Section.cancelStoppage.menu.operation,
- cmdType: CMD.Section.CMD_SECTION_REMOVE_FAULT,
- param: {
- sectionCode: `${this.selected.code}`
- }
- };
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 设置速度
diff --git a/src/jmapNew/theme/chengdu_01/menus/menuSignal.vue b/src/jmapNew/theme/chengdu_01/menus/menuSignal.vue
index 6c70337c7..0e623ebb7 100644
--- a/src/jmapNew/theme/chengdu_01/menus/menuSignal.vue
+++ b/src/jmapNew/theme/chengdu_01/menus/menuSignal.vue
@@ -3,6 +3,7 @@
+
@@ -15,13 +16,16 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SignalMenu',
components: {
PopMenu,
NoticeInfo,
- CreateDeviceLabel
+ CreateDeviceLabel,
+ SetFault
},
props: {
selected: {
@@ -166,20 +170,15 @@ export default {
]
},
menuForce: [
- {
- label: '信号关灯',
- handler: this.signalClose,
- cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
- },
{
label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -259,48 +258,18 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- over:true,
- code: `${this.selected.code}`,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT,
- operation: OperationEvent.Signal.stoppage.menu.operation,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
-
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- over:true,
- code: `${this.selected.code}`,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT,
- operation: OperationEvent.Signal.cancelStoppage.menu.operation,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
-
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 设置进路
diff --git a/src/jmapNew/theme/chengdu_01/menus/menuSwitch.vue b/src/jmapNew/theme/chengdu_01/menus/menuSwitch.vue
index d7daad700..b74d34dc1 100644
--- a/src/jmapNew/theme/chengdu_01/menus/menuSwitch.vue
+++ b/src/jmapNew/theme/chengdu_01/menus/menuSwitch.vue
@@ -4,6 +4,7 @@
+
@@ -18,6 +19,8 @@ import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SwitchMenu',
@@ -25,7 +28,8 @@ export default {
PopMenu,
NoticeInfo,
CreateDeviceLabel,
- SwitchControl
+ SwitchControl,
+ SetFault
},
mixins: [
CancelMouseState
@@ -118,12 +122,12 @@ export default {
{
label: '设置故障',
handler: this.setStoppage,
- cmdType:CMD.Switch.CMD_SWITCH_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType:CMD.Switch.CMD_SWITCH_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -177,48 +181,18 @@ export default {
},
// 设置故障
setStoppage() {
- const operate = {
- start: true,
- over:true,
- operation: OperationEvent.Switch.stoppage.menu.operation,
- cmdType: CMD.Switch.CMD_STOPPAGE,
- param: {
- switchCode: this.selected.code
- }
- };
-
- // mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
// 取消故障
cancelStoppage() {
- const operate = {
- start: true,
- over:true,
- operation: OperationEvent.Switch.cancelStoppage.menu.operation,
- cmdType: CMD.Switch.CMD_CANCEL_STOPPAGE,
- param: {
- switchCode: this.selected.code
- }
- };
-
- // mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
// 道岔单锁
diff --git a/src/jmapNew/theme/chengdu_01/menus/utils/menuOperate.js b/src/jmapNew/theme/chengdu_01/menus/utils/menuOperate.js
new file mode 100644
index 000000000..85d6fd6f6
--- /dev/null
+++ b/src/jmapNew/theme/chengdu_01/menus/utils/menuOperate.js
@@ -0,0 +1,257 @@
+import store from '@/store/index_APP_TARGET';
+import CMD from '@/scripts/cmdPlugin/CommandEnum';
+import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
+
+// 操作
+export const menuOperate = {
+ Section:{
+ alxeFailure:{
+ // 设置计轴失效
+ operation: OperationEvent.Section.alxeFailure.menu.operation,
+ // cmdType 值有问题
+ cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ },
+ active:{
+ // 区段激活
+ operation: OperationEvent.Section.active.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_ACTIVE
+ },
+ split:{
+ // 区段切除
+ operation: OperationEvent.Section.split.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_CUT_OFF
+ },
+ setSpeed:{
+ // 设置速度
+ operation: OperationEvent.Section.setSpeed.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
+ },
+ fault:{
+ // 区段故障解锁
+ operation: OperationEvent.Section.fault.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
+ }
+ },
+ Signal:{
+ arrangementRoute:{
+ // 排列进路
+ operation: OperationEvent.Signal.arrangementRoute.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
+ },
+ cancelTrainRoute:{
+ // 取消进路
+ operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
+ },
+ lock:{
+ // 信号封锁
+ operation:OperationEvent.Signal.lock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
+ },
+ unlock:{
+ // 信号解封
+ operation: OperationEvent.Signal.unlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
+ },
+ guide:{
+ // 进路引导
+ operation: OperationEvent.Signal.guide.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
+ },
+ reopenSignal:{
+ // 信号重开
+ operation: OperationEvent.Signal.reopenSignal.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
+ },
+ signalClose:{
+ // 信号关灯
+ operation: OperationEvent.Signal.signalClose.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
+ },
+ humanControl:{
+ // 进路交人工控
+ operation: OperationEvent.Signal.humanControl.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
+ },
+ atsAutoControl:{
+ // 进路交自动控
+ operation: OperationEvent.Signal.atsAutoControl.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
+ },
+ setAutoInterlock:{
+ // 设置通过模式
+ operation: OperationEvent.Signal.setAutoInterlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
+ },
+ cancelAutoInterlock:{
+ // 取消通过模式
+ operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
+ },
+ detail:{
+ // 查询进路状态
+ operation: OperationEvent.Signal.detail.menu.operation
+ },
+ cancelGuide:{
+ // 人工解锁进路(信号机取消引导)
+ operation: OperationEvent.Signal.cancelGuide.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE
+ },
+ setAutoTurnBack:{
+ // 设置自动折返
+ operation: OperationEvent.AutoTurnBack.SetAutoTurnBackButton.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_AUTO_TURN_BACK
+ },
+ cancelAutoTurnBack:{
+ // 取消自动折返
+ operation: OperationEvent.AutoTurnBack.CancelAutoTurnBackButton.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_AUTO_TURN_BACK
+ }
+ },
+ Switch:{
+ lock:{
+ // 道岔单锁
+ operation: OperationEvent.Switch.lock.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
+ },
+ unlock:{
+ // 道岔解锁
+ operation: OperationEvent.Switch.unlock.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
+ },
+ block:{
+ // 道岔封锁
+ operation: OperationEvent.Switch.block.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_BLOCK
+ },
+ unblock:{
+ // 道岔解封
+ operation: OperationEvent.Switch.unblock.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
+ },
+ locate:{
+ // 单操到定位
+ operation: OperationEvent.Switch.locate.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
+ },
+ reverse:{
+ // 单操到反位
+ operation: OperationEvent.Switch.reverse.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
+ },
+ setSpeed:{
+ // 设置临时限速
+ operation: OperationEvent.Switch.setSpeed.menu.operation,
+ cmdType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
+ },
+ turnoutForce: {
+ // 道岔强制扳动
+ operation: OperationEvent.Switch.turnoutForce.menu.operation,
+ cmdType:CMD.Switch.CMD_SWITCH_FORCE_TURN
+ }
+ },
+ StationStand:{
+ setDetainTrain:{
+ // 设置扣车
+ operation: OperationEvent.StationStand.setDetainTrain.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
+ },
+ cancelDetainTrain:{
+ // 取消扣车
+ operation: OperationEvent.StationStand.cancelDetainTrain.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
+ },
+ cancelDetainTrainAll:{
+ // 全线取消扣车
+ operation: OperationEvent.StationStand.cancelDetainTrainAll.menu.operation,
+ cmdType:CMD.Stand.CMD_STAND_WHOLE_LINE_CANCEL_HOLD_TRAIN
+ },
+ setJumpStop:{
+ // 设置跳停
+ operation: OperationEvent.StationStand.setJumpStop.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP
+ },
+ cancelJumpStop:{
+ // 取消跳停
+ operation: OperationEvent.StationStand.cancelJumpStop.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
+ },
+ setStopTime:{
+ // 停站时间控制
+ operation: OperationEvent.StationStand.setStopTime.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME
+ },
+ setRunLevel:{
+ // 运行时间控制
+ operation: OperationEvent.StationStand.setRunLevel.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_RUN_TIME
+ },
+ earlyDeparture:{
+ // 设置提前发车
+ operation: OperationEvent.StationStand.earlyDeparture.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_EARLY_DEPART
+ },
+ detail:{
+ // 查询站台状态
+ operation: OperationEvent.StationStand.detail.menu.operation
+ }
+ },
+ StationControl:{
+ // requestCentralControl:{
+ // // 请求中控(遥控)
+ // operation: OperationEvent.StationControl.requestCentralControl.menu.operation,
+ // cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL
+ // },
+ // requestStationControl:{
+ // // 请求站控
+ // operation: OperationEvent.StationControl.requestStationControl.menu.operation,
+ // cmdType:CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL
+ // },
+ // emergencyStationControl:{
+ // // 紧急站控
+ // operation: OperationEvent.StationControl.emergencyStationControl.menu.operation,
+ // cmdType:CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL
+ // }
+ },
+ Common: {
+ setFault: {
+ operation: OperationEvent.Section.stoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ cancelFault: {
+ operation: OperationEvent.Section.cancelStoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
+ }
+ }
+};
+
+export function commitOperate(operate, paramList, over) {
+ const step = {
+ start: true,
+ operation: operate.operation,
+ param:{}
+ };
+ step.param = paramList;
+ // over 0为首次操作,1为中间操作,2为最后操作,3为直接一次性操作
+ if (over == 0 || over == 3) {
+ const codeList = Object.values(paramList);
+ step.code = codeList[0];
+ }
+ if (over != 0 && over != 3) {
+ delete step.start;
+ }
+ if (over == 2 || over == 3) {
+ step.over = true;
+ step.cmdType = operate.cmdType;
+ }
+ return new Promise(function(resolve, reject) {
+ store.dispatch('training/nextNew', step).then(({ valid }) => {
+ if (valid) {
+ store.dispatch('menuOperation/handleBreakFlag', { break: true });
+ }
+ resolve({ valid: valid, operate: step });
+ }).catch(error=>{
+ reject(error);
+ });
+ });
+}
diff --git a/src/jmapNew/theme/chengdu_03/menus/menuSection.vue b/src/jmapNew/theme/chengdu_03/menus/menuSection.vue
index 3427384e8..9d6056367 100644
--- a/src/jmapNew/theme/chengdu_03/menus/menuSection.vue
+++ b/src/jmapNew/theme/chengdu_03/menus/menuSection.vue
@@ -5,6 +5,7 @@
+
@@ -19,6 +20,8 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SectionMenu',
@@ -27,7 +30,8 @@ export default {
SectionControl,
SectionDetail,
TrainCreate,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -43,10 +47,10 @@ export default {
menuNormal: {
Local: [
{
- label: '区故解',
- handler: this.fault,
+ label: '区故解',
+ handler: this.fault,
cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK,
- auth: { station: true, center: false }
+ auth: { station: true, center: false }
}
],
Center: [
@@ -66,19 +70,14 @@ export default {
},
menuForce: [
{
- label: '设置计轴失效',
- handler: this.alxeFailure,
- cmdType:''
- },
- {
- label: this.$t('menu.menuSection.setFault'),
+ label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
- label: this.$t('menu.menuSection.cancelFault'),
+ label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Section.CMD_SECTION_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -186,44 +185,18 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Section.stoppage.menu.operation,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT,
- param: {
- sectionCode: `${this.selected.code}`
- }
- };
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Section.cancelStoppage.menu.operation,
- cmdType: CMD.Section.CMD_SECTION_REMOVE_FAULT,
- param: {
- sectionCode: `${this.selected.code}`
- }
- };
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
undeveloped() {
diff --git a/src/jmapNew/theme/chengdu_03/menus/menuSignal.vue b/src/jmapNew/theme/chengdu_03/menus/menuSignal.vue
index 9e5ff2028..9501c8ced 100644
--- a/src/jmapNew/theme/chengdu_03/menus/menuSignal.vue
+++ b/src/jmapNew/theme/chengdu_03/menus/menuSignal.vue
@@ -8,6 +8,7 @@
+
@@ -25,6 +26,8 @@ import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import PasswordBox from './dialog/childDialog/passwordInputBox';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SignalMenu',
@@ -36,7 +39,8 @@ export default {
RouteDetail,
RouteGuide,
NoticeInfo,
- PasswordBox
+ PasswordBox,
+ SetFault
},
props: {
selected: {
@@ -141,20 +145,15 @@ export default {
]
},
menuForce: [
- {
- label: '信号关灯',
- handler: this.signalClose,
- cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
- },
{
label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -232,46 +231,18 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT,
- operation: OperationEvent.Signal.stoppage.menu.operation,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
-
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT,
- operation: OperationEvent.Signal.cancelStoppage.menu.operation,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
-
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 设置进路
diff --git a/src/jmapNew/theme/chengdu_03/menus/menuSwitch.vue b/src/jmapNew/theme/chengdu_03/menus/menuSwitch.vue
index e4c842f0d..4abe91ca7 100644
--- a/src/jmapNew/theme/chengdu_03/menus/menuSwitch.vue
+++ b/src/jmapNew/theme/chengdu_03/menus/menuSwitch.vue
@@ -4,6 +4,7 @@
+
@@ -18,6 +19,8 @@ import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
+import {menuOperate, commitOperate} from './utils/menuOperate';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SwitchMenu',
@@ -25,7 +28,8 @@ export default {
PopMenu,
SectionControl,
SwitchControl,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
mixins: [
CancelMouseState
@@ -91,12 +95,12 @@ export default {
{
label: '设置故障',
handler: this.setStoppage,
- cmdType:CMD.Switch.CMD_SWITCH_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType:CMD.Switch.CMD_SWITCH_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -150,46 +154,18 @@ export default {
},
// 设置故障
setStoppage() {
- const operate = {
- start: true,
- operation: OperationEvent.Switch.stoppage.menu.operation,
- cmdType: CMD.Switch.CMD_STOPPAGE,
- param: {
- switchCode: this.selected.code
- }
- };
-
- // mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
// 取消故障
cancelStoppage() {
- const operate = {
- start: true,
- operation: OperationEvent.Switch.cancelStoppage.menu.operation,
- cmdType: CMD.Switch.CMD_CANCEL_STOPPAGE,
- param: {
- switchCode: this.selected.code
- }
- };
-
- // mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
// 道岔单锁
diff --git a/src/jmapNew/theme/chengdu_03/menus/utils/menuOperate.js b/src/jmapNew/theme/chengdu_03/menus/utils/menuOperate.js
new file mode 100644
index 000000000..85d6fd6f6
--- /dev/null
+++ b/src/jmapNew/theme/chengdu_03/menus/utils/menuOperate.js
@@ -0,0 +1,257 @@
+import store from '@/store/index_APP_TARGET';
+import CMD from '@/scripts/cmdPlugin/CommandEnum';
+import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
+
+// 操作
+export const menuOperate = {
+ Section:{
+ alxeFailure:{
+ // 设置计轴失效
+ operation: OperationEvent.Section.alxeFailure.menu.operation,
+ // cmdType 值有问题
+ cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ },
+ active:{
+ // 区段激活
+ operation: OperationEvent.Section.active.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_ACTIVE
+ },
+ split:{
+ // 区段切除
+ operation: OperationEvent.Section.split.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_CUT_OFF
+ },
+ setSpeed:{
+ // 设置速度
+ operation: OperationEvent.Section.setSpeed.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
+ },
+ fault:{
+ // 区段故障解锁
+ operation: OperationEvent.Section.fault.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
+ }
+ },
+ Signal:{
+ arrangementRoute:{
+ // 排列进路
+ operation: OperationEvent.Signal.arrangementRoute.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
+ },
+ cancelTrainRoute:{
+ // 取消进路
+ operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
+ },
+ lock:{
+ // 信号封锁
+ operation:OperationEvent.Signal.lock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
+ },
+ unlock:{
+ // 信号解封
+ operation: OperationEvent.Signal.unlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
+ },
+ guide:{
+ // 进路引导
+ operation: OperationEvent.Signal.guide.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
+ },
+ reopenSignal:{
+ // 信号重开
+ operation: OperationEvent.Signal.reopenSignal.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
+ },
+ signalClose:{
+ // 信号关灯
+ operation: OperationEvent.Signal.signalClose.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
+ },
+ humanControl:{
+ // 进路交人工控
+ operation: OperationEvent.Signal.humanControl.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
+ },
+ atsAutoControl:{
+ // 进路交自动控
+ operation: OperationEvent.Signal.atsAutoControl.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
+ },
+ setAutoInterlock:{
+ // 设置通过模式
+ operation: OperationEvent.Signal.setAutoInterlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
+ },
+ cancelAutoInterlock:{
+ // 取消通过模式
+ operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
+ },
+ detail:{
+ // 查询进路状态
+ operation: OperationEvent.Signal.detail.menu.operation
+ },
+ cancelGuide:{
+ // 人工解锁进路(信号机取消引导)
+ operation: OperationEvent.Signal.cancelGuide.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE
+ },
+ setAutoTurnBack:{
+ // 设置自动折返
+ operation: OperationEvent.AutoTurnBack.SetAutoTurnBackButton.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_AUTO_TURN_BACK
+ },
+ cancelAutoTurnBack:{
+ // 取消自动折返
+ operation: OperationEvent.AutoTurnBack.CancelAutoTurnBackButton.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_AUTO_TURN_BACK
+ }
+ },
+ Switch:{
+ lock:{
+ // 道岔单锁
+ operation: OperationEvent.Switch.lock.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
+ },
+ unlock:{
+ // 道岔解锁
+ operation: OperationEvent.Switch.unlock.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
+ },
+ block:{
+ // 道岔封锁
+ operation: OperationEvent.Switch.block.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_BLOCK
+ },
+ unblock:{
+ // 道岔解封
+ operation: OperationEvent.Switch.unblock.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
+ },
+ locate:{
+ // 单操到定位
+ operation: OperationEvent.Switch.locate.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
+ },
+ reverse:{
+ // 单操到反位
+ operation: OperationEvent.Switch.reverse.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
+ },
+ setSpeed:{
+ // 设置临时限速
+ operation: OperationEvent.Switch.setSpeed.menu.operation,
+ cmdType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
+ },
+ turnoutForce: {
+ // 道岔强制扳动
+ operation: OperationEvent.Switch.turnoutForce.menu.operation,
+ cmdType:CMD.Switch.CMD_SWITCH_FORCE_TURN
+ }
+ },
+ StationStand:{
+ setDetainTrain:{
+ // 设置扣车
+ operation: OperationEvent.StationStand.setDetainTrain.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
+ },
+ cancelDetainTrain:{
+ // 取消扣车
+ operation: OperationEvent.StationStand.cancelDetainTrain.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
+ },
+ cancelDetainTrainAll:{
+ // 全线取消扣车
+ operation: OperationEvent.StationStand.cancelDetainTrainAll.menu.operation,
+ cmdType:CMD.Stand.CMD_STAND_WHOLE_LINE_CANCEL_HOLD_TRAIN
+ },
+ setJumpStop:{
+ // 设置跳停
+ operation: OperationEvent.StationStand.setJumpStop.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP
+ },
+ cancelJumpStop:{
+ // 取消跳停
+ operation: OperationEvent.StationStand.cancelJumpStop.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
+ },
+ setStopTime:{
+ // 停站时间控制
+ operation: OperationEvent.StationStand.setStopTime.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME
+ },
+ setRunLevel:{
+ // 运行时间控制
+ operation: OperationEvent.StationStand.setRunLevel.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_RUN_TIME
+ },
+ earlyDeparture:{
+ // 设置提前发车
+ operation: OperationEvent.StationStand.earlyDeparture.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_EARLY_DEPART
+ },
+ detail:{
+ // 查询站台状态
+ operation: OperationEvent.StationStand.detail.menu.operation
+ }
+ },
+ StationControl:{
+ // requestCentralControl:{
+ // // 请求中控(遥控)
+ // operation: OperationEvent.StationControl.requestCentralControl.menu.operation,
+ // cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL
+ // },
+ // requestStationControl:{
+ // // 请求站控
+ // operation: OperationEvent.StationControl.requestStationControl.menu.operation,
+ // cmdType:CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL
+ // },
+ // emergencyStationControl:{
+ // // 紧急站控
+ // operation: OperationEvent.StationControl.emergencyStationControl.menu.operation,
+ // cmdType:CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL
+ // }
+ },
+ Common: {
+ setFault: {
+ operation: OperationEvent.Section.stoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ cancelFault: {
+ operation: OperationEvent.Section.cancelStoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
+ }
+ }
+};
+
+export function commitOperate(operate, paramList, over) {
+ const step = {
+ start: true,
+ operation: operate.operation,
+ param:{}
+ };
+ step.param = paramList;
+ // over 0为首次操作,1为中间操作,2为最后操作,3为直接一次性操作
+ if (over == 0 || over == 3) {
+ const codeList = Object.values(paramList);
+ step.code = codeList[0];
+ }
+ if (over != 0 && over != 3) {
+ delete step.start;
+ }
+ if (over == 2 || over == 3) {
+ step.over = true;
+ step.cmdType = operate.cmdType;
+ }
+ return new Promise(function(resolve, reject) {
+ store.dispatch('training/nextNew', step).then(({ valid }) => {
+ if (valid) {
+ store.dispatch('menuOperation/handleBreakFlag', { break: true });
+ }
+ resolve({ valid: valid, operate: step });
+ }).catch(error=>{
+ reject(error);
+ });
+ });
+}
diff --git a/src/jmapNew/theme/foshan_01/menus/menuSection.vue b/src/jmapNew/theme/foshan_01/menus/menuSection.vue
index 9982b12aa..5af573bcf 100644
--- a/src/jmapNew/theme/foshan_01/menus/menuSection.vue
+++ b/src/jmapNew/theme/foshan_01/menus/menuSection.vue
@@ -5,6 +5,7 @@
+
@@ -19,6 +20,7 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import {menuOperate, commitOperate} from './utils/menuOperate';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SectionMenu',
@@ -27,7 +29,8 @@ export default {
SectionControl,
SectionUnLock,
SpeedLimitControl,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -78,9 +81,14 @@ export default {
},
menuForce: [
{
- label: '设置计轴失效', // 设置区段故障
- handler: this.alxeFailure,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ label: '设置故障',
+ handler: this.setStoppage,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ {
+ label: '取消故障',
+ handler: this.cancelStoppage,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -130,11 +138,20 @@ export default {
this.$refs.popMenu.close();
}
},
- // 设置计轴失效
- alxeFailure() {
- commitOperate(menuOperate.Section.alxeFailure, {sectionCode:this.selected.code}, 3).then(({valid, operate})=>{
- }).catch(error=>{
- this.$refs.noticeInfo.doShow({}, error.message);
+ // 设置故障
+ setStoppage() {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
+ }
+ });
+ },
+ // 取消故障
+ cancelStoppage() {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
+ }
});
},
// 故障解锁
diff --git a/src/jmapNew/theme/foshan_01/menus/menuSignal.vue b/src/jmapNew/theme/foshan_01/menus/menuSignal.vue
index 830957023..4ce8a70fc 100644
--- a/src/jmapNew/theme/foshan_01/menus/menuSignal.vue
+++ b/src/jmapNew/theme/foshan_01/menus/menuSignal.vue
@@ -9,6 +9,7 @@
+
@@ -22,6 +23,7 @@ import RouteHandControl from './dialog/routeHandControl';
import RouterCommand from './dialog/routerCommand';
import RouteDetail from './dialog/routeDetail';
import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
@@ -41,7 +43,8 @@ export default {
RouteHandControl,
RouteDetail,
RouterCommand,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -144,20 +147,15 @@ export default {
]
},
menuForce: [
- {
- label: '信号关灯',
- handler: this.signalClose,
- cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
- },
{
label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -220,46 +218,18 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.stoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.cancelStoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
operationHandler(buttonOperation, selectType) {
diff --git a/src/jmapNew/theme/foshan_01/menus/menuSwitch.vue b/src/jmapNew/theme/foshan_01/menus/menuSwitch.vue
index dc2b1669a..d21fcadbb 100644
--- a/src/jmapNew/theme/foshan_01/menus/menuSwitch.vue
+++ b/src/jmapNew/theme/foshan_01/menus/menuSwitch.vue
@@ -5,6 +5,7 @@
+
@@ -20,6 +21,7 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SwitchMenu',
@@ -28,7 +30,8 @@ export default {
SwitchControl,
SwitchUnLock,
SpeedLimitControl,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -81,12 +84,12 @@ export default {
{
label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Switch.CMD_SWITCH_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Switch.CMD_SWITCH_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -143,46 +146,18 @@ export default {
},
// 设置故障
setStoppage() {
- const operate = {
- start: true,
- code: this.selected.code,
- operation: OperationEvent.Switch.stoppage.menu.operation,
- param: {
- switchCode: this.selected.code
- }
- };
-
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
// 取消故障
cancelStoppage() {
- const operate = {
- start: true,
- code: this.selected.code,
- operation: OperationEvent.Switch.cancelStoppage.menu.operation,
- param: {
- switchCode: this.selected.code
- }
- };
-
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
operationHandler(buttonOperation, selectType) {
diff --git a/src/jmapNew/theme/foshan_01/menus/utils/menuOperate.js b/src/jmapNew/theme/foshan_01/menus/utils/menuOperate.js
index abaeb2ea0..85d6fd6f6 100644
--- a/src/jmapNew/theme/foshan_01/menus/utils/menuOperate.js
+++ b/src/jmapNew/theme/foshan_01/menus/utils/menuOperate.js
@@ -212,6 +212,16 @@ export const menuOperate = {
// operation: OperationEvent.StationControl.emergencyStationControl.menu.operation,
// cmdType:CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL
// }
+ },
+ Common: {
+ setFault: {
+ operation: OperationEvent.Section.stoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ cancelFault: {
+ operation: OperationEvent.Section.cancelStoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
+ }
}
};
diff --git a/src/jmapNew/theme/fuzhou_01/menus/menuSection.vue b/src/jmapNew/theme/fuzhou_01/menus/menuSection.vue
index 885bda462..c9eadaeda 100644
--- a/src/jmapNew/theme/fuzhou_01/menus/menuSection.vue
+++ b/src/jmapNew/theme/fuzhou_01/menus/menuSection.vue
@@ -5,6 +5,7 @@
+
@@ -20,6 +21,8 @@ import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SectionMenu',
@@ -28,7 +31,8 @@ export default {
SectionControl,
SectionCmdControl,
SpeedCmdControl,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -127,12 +131,12 @@ export default {
{
label: this.$t('menu.menuSection.setFault'),
handler: this.setStoppage,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: this.$t('menu.menuSection.cancelFault'),
handler: this.cancelStoppage,
- cmdType: CMD.Section.CMD_SECTION_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -185,45 +189,18 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Section.stoppage.menu.operation,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT,
- param: {
- Section_Code: `${this.selected.code}`
- }
- };
-
- this.$store.dispatch('training/next', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Section.cancelStoppage.menu.operation,
- cmdType: CMD.Section.CMD_SECTION_REMOVE_FAULT,
- param: {
- Section_Code: `${this.selected.code}`
- }
- };
- this.$store.dispatch('training/next', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 故障解锁
diff --git a/src/jmapNew/theme/fuzhou_01/menus/menuSignal.vue b/src/jmapNew/theme/fuzhou_01/menus/menuSignal.vue
index 958cd69f1..bfd31336c 100644
--- a/src/jmapNew/theme/fuzhou_01/menus/menuSignal.vue
+++ b/src/jmapNew/theme/fuzhou_01/menus/menuSignal.vue
@@ -8,6 +8,7 @@
+
@@ -26,6 +27,8 @@ import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import { querySignalStatus } from '@/api/simulation';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SignalMenu',
@@ -37,7 +40,8 @@ export default {
RouteCmdControl,
RouteHandControl,
RouteDetail,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -155,12 +159,12 @@ export default {
{
label: this.$t('menu.menuSignal.setFault'),
handler: this.setStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: this.$t('menu.menuSignal.cancelFault'),
handler: this.cancelStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -214,44 +218,18 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.stoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT,
- param: {
- Signal_Code: `${this.selected.code}`
- }
- };
- this.$store.dispatch('training/next', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.cancelStoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT,
- param: {
- Signal_Code: `${this.selected.code}`
- }
- };
- this.$store.dispatch('training/next', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 排列进路
diff --git a/src/jmapNew/theme/fuzhou_01/menus/menuStation.vue b/src/jmapNew/theme/fuzhou_01/menus/menuStation.vue
index 0efa0bfed..e4f0cd4db 100644
--- a/src/jmapNew/theme/fuzhou_01/menus/menuStation.vue
+++ b/src/jmapNew/theme/fuzhou_01/menus/menuStation.vue
@@ -89,12 +89,12 @@ export default {
{
label: this.$t('menu.menuStation.setStoppage'),
handler: this.setStoppage,
- cmdType: CMD.Station.CMD_STATION_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: this.$t('menu.menuStation.cancelStoppage'),
handler: this.cancelStoppage,
- cmdType: CMD.Station.CMD_STATION_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
diff --git a/src/jmapNew/theme/fuzhou_01/menus/menuSwitch.vue b/src/jmapNew/theme/fuzhou_01/menus/menuSwitch.vue
index 2ae658968..d805cad83 100644
--- a/src/jmapNew/theme/fuzhou_01/menus/menuSwitch.vue
+++ b/src/jmapNew/theme/fuzhou_01/menus/menuSwitch.vue
@@ -5,6 +5,7 @@
+
@@ -19,6 +20,8 @@ import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SwitchMenu',
@@ -27,7 +30,8 @@ export default {
SwitchControl,
SwitchCmdControl,
SpeedCmdControl,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -174,18 +178,12 @@ export default {
{
label: this.$t('menu.menuSwitch.setFault'),
handler: this.setStoppage,
- auth: {
-
- },
- cmdType:CMD.Switch.CMD_SWITCH_ADD_FAULT
+ cmdType:CMD.Fault.CMD_SET_FAULT
},
{
label: this.$t('menu.menuSwitch.cancelFault'),
handler: this.cancelStoppage,
- auth: {
-
- },
- cmdType:CMD.Switch.CMD_SWITCH_REMOVE_FAULT
+ cmdType:CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -244,42 +242,18 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- operation: OperationEvent.Switch.stoppage.menu.operation,
- cmdType: CMD.Switch.CMD_STOPPAGE,
- param: {
- Switch_Code: this.selected.code
- }
- };
- this.$store.dispatch('training/next', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- operation: OperationEvent.Switch.cancelStoppage.menu.operation,
- cmdType: CMD.Switch.CMD_CANCEL_STOPPAGE,
- param: {
- Switch_Code: this.selected.code
- }
- };
- this.$store.dispatch('training/next', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 道岔单锁
diff --git a/src/jmapNew/theme/fuzhou_01/menus/utils/menuOperate.js b/src/jmapNew/theme/fuzhou_01/menus/utils/menuOperate.js
new file mode 100644
index 000000000..09a216171
--- /dev/null
+++ b/src/jmapNew/theme/fuzhou_01/menus/utils/menuOperate.js
@@ -0,0 +1,308 @@
+import store from '@/store/index_APP_TARGET';
+import CMD from '@/scripts/cmdPlugin/CommandEnum';
+import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
+
+// 操作
+export const menuOperate = {
+ Section:{
+ alxeFailure:{
+ // 设置计轴失效
+ operation: OperationEvent.Section.alxeFailure.menu.operation,
+ // cmdType 值有问题
+ cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ },
+ active:{
+ // 区段激活
+ operation: OperationEvent.Section.active.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_ACTIVE
+ },
+ alxeEffective:{
+ // 确认计轴有效
+ operation: OperationEvent.Section.alxeEffective.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_COMFIRMATION_AXLE
+ },
+ split:{
+ // 区段切除
+ operation: OperationEvent.Section.split.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_CUT_OFF
+ },
+ lock:{
+ // 区段封锁
+ operation: OperationEvent.Section.lock.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_BLOCK
+ },
+ unlock:{
+ // 区段解锁
+ operation: OperationEvent.Section.unlock.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_UNBLOCK
+ },
+ setSpeed:{
+ // 设置速度
+ operation: OperationEvent.Section.setSpeed.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
+ },
+ fault:{
+ // 区段故障解锁
+ operation: OperationEvent.Section.fault.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
+ },
+ setFault: {
+ operation: OperationEvent.Section.stoppage.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ }
+ },
+ Signal:{
+ arrangementRoute:{
+ // 排列进路
+ operation: OperationEvent.Signal.arrangementRoute.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
+ },
+ cancelTrainRoute:{
+ // 取消进路
+ operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
+ },
+ lock:{
+ // 信号封锁
+ operation:OperationEvent.Signal.lock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
+ },
+ unlock:{
+ // 信号解封
+ operation: OperationEvent.Signal.unlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
+ },
+ guide:{
+ // 进路引导
+ operation: OperationEvent.Signal.guide.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
+ },
+ reopenSignal:{
+ // 信号重开
+ operation: OperationEvent.Signal.reopenSignal.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
+ },
+ signalClose:{
+ // 信号关灯
+ operation: OperationEvent.Signal.signalClose.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
+ },
+ humanControl:{
+ // 进路交人工控
+ operation: OperationEvent.Signal.humanControl.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
+ },
+ atsAutoControl:{
+ // 进路交自动控
+ operation: OperationEvent.Signal.atsAutoControl.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
+ },
+ setAutoInterlock:{
+ // 设置通过模式
+ operation: OperationEvent.Signal.setAutoInterlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
+ },
+ cancelAutoInterlock:{
+ // 取消通过模式
+ operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
+ },
+ detail:{
+ // 查询进路状态
+ operation: OperationEvent.Signal.detail.menu.operation
+ },
+ cancelGuide:{
+ // 人工解锁进路(信号机取消引导)
+ operation: OperationEvent.Signal.cancelGuide.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE
+ },
+ setAutoTurnBack:{
+ // 设置自动折返
+ operation: OperationEvent.AutoTurnBack.SetAutoTurnBackButton.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_AUTO_TURN_BACK
+ },
+ cancelAutoTurnBack:{
+ // 取消自动折返
+ operation: OperationEvent.AutoTurnBack.CancelAutoTurnBackButton.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_AUTO_TURN_BACK
+ }
+ },
+ Switch:{
+ lock:{
+ // 道岔单锁(联锁)
+ operation: OperationEvent.Switch.lock.menu.operation,
+ // cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
+ cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK_CHAIN
+ },
+ unlock:{
+ // 道岔解锁(联锁)
+ operation: OperationEvent.Switch.unlock.menu.operation,
+ // cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
+ cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK_CHAIN
+ },
+ block:{
+ // 道岔封锁
+ operation: OperationEvent.Switch.block.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_BLOCK
+ },
+ unblock:{
+ // 道岔解封
+ operation: OperationEvent.Switch.unblock.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
+ },
+ npChain:{
+ // 道岔定操(联动)
+ operation: OperationEvent.Switch.locate.menu.operation,
+ cmdType:CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
+ },
+ rpChain:{
+ // 道岔反操(联动)
+ operation: OperationEvent.Switch.reverse.menu.operation,
+ cmdType:CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
+ },
+ split:{
+ // 区段切除
+ operation: OperationEvent.Switch.split.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_CUT_OFF
+ },
+ active:{
+ // 区段激活
+ operation: OperationEvent.Switch.active.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_ACTIVE
+ },
+ setSpeed:{
+ // 设置临时限速
+ operation: OperationEvent.Switch.setSpeed.menu.operation,
+ cmdType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
+ },
+ alxeEffective:{
+ // 确认计轴有效
+ operation: OperationEvent.Switch.alxeEffective.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_COMFIRMATION_AXLE
+ }
+ },
+ StationStand:{
+ setDetainTrain:{
+ // 设置扣车
+ operation: OperationEvent.StationStand.setDetainTrain.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
+ },
+ cancelDetainTrain:{
+ // 取消扣车
+ operation: OperationEvent.StationStand.cancelDetainTrain.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
+ },
+ setDetainTrainAuto:{
+ // 区间列车数量限制
+ operation: OperationEvent.StationStand.setDetainTrainAuto.menu.operation,
+ cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN_AUTO
+ },
+ cancelDetainTrainAuto:{
+ // 取消区间列车数量限制
+ operation: OperationEvent.StationStand.cancelDetainTrainAuto.menu.operation,
+ cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN_AUTO
+ },
+ setBulkBuckleTrain:{
+ // 批量扣车
+ operation: OperationEvent.StationStand.setBulkBuckleTrain.menu.operation,
+ cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN_ALL
+ },
+ cancelBulkBuckleTrain:{
+ // 批量取消扣车
+ operation: OperationEvent.StationStand.cancelBulkBuckleTrain.menu.operation,
+ cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN_ALL
+ },
+ setJumpStop:{
+ // 设置跳停
+ operation: OperationEvent.StationStand.setJumpStop.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP
+ },
+ cancelJumpStop:{
+ // 取消跳停
+ operation: OperationEvent.StationStand.cancelJumpStop.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
+ },
+ setStopTime:{
+ // 停站时间控制
+ operation: OperationEvent.StationStand.setStopTime.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME
+ },
+ setRunLevel:{
+ // 运行时间控制
+ operation: OperationEvent.StationStand.setRunLevel.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_RUN_TIME
+ },
+ earlyDeparture:{
+ // 设置提前发车
+ operation: OperationEvent.StationStand.earlyDeparture.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_EARLY_DEPART
+ },
+ setBackStrategy:{
+ // 设置折返策略
+ operation: OperationEvent.StationStand.setBackStrategy.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_REENTRY_STRATEGY
+ },
+ detail:{
+ // 查询站台状态
+ operation: OperationEvent.StationStand.detail.menu.operation
+ }
+ },
+ StationControl:{
+ requestCentralControl:{
+ // 请求中控(遥控)
+ operation: OperationEvent.StationControl.requestCentralControl.menu.operation,
+ cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL
+ },
+ requestStationControl:{
+ // 请求站控
+ operation: OperationEvent.StationControl.requestStationControl.menu.operation,
+ cmdType:CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL
+ },
+ emergencyStationControl:{
+ // 紧急站控
+ operation: OperationEvent.StationControl.emergencyStationControl.menu.operation,
+ cmdType:CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL
+ }
+ },
+ Common: {
+ setFault: {
+ operation: OperationEvent.Section.stoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ cancelFault: {
+ operation: OperationEvent.Section.cancelStoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
+ }
+ }
+};
+
+export function commitOperate(operate, paramList, over) {
+ const step = {
+ start: true,
+ operation: operate.operation,
+ param:{}
+ };
+ step.param = paramList;
+ // over 0为首次操作,1为中间操作,2为最后操作,3为直接一次性操作
+ if (over == 0 || over == 3) {
+ const codeList = Object.values(paramList);
+ step.code = codeList[0];
+ }
+ if (over != 0 && over != 3) {
+ delete step.start;
+ }
+ if (over == 2 || over == 3) {
+ step.over = true;
+ step.cmdType = operate.cmdType;
+ }
+ return new Promise(function(resolve, reject) {
+ store.dispatch('training/nextNew', step).then(({ valid }) => {
+ if (valid) {
+ store.dispatch('menuOperation/handleBreakFlag', { break: true });
+ }
+ resolve({ valid: valid, operate: step });
+ }).catch(error=>{
+ reject(error);
+ });
+ });
+}
diff --git a/src/jmapNew/theme/haerbin_01/menus/menuSection.vue b/src/jmapNew/theme/haerbin_01/menus/menuSection.vue
index 50c2225aa..db1b769eb 100644
--- a/src/jmapNew/theme/haerbin_01/menus/menuSection.vue
+++ b/src/jmapNew/theme/haerbin_01/menus/menuSection.vue
@@ -5,6 +5,7 @@
+
@@ -15,11 +16,12 @@ import SectionCmdControl from './dialog/sectionCmdControl';
import SpeedCmdControl from './dialog/speedCmdControl';
import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
-// import Handler from '@/scripts/cmdPlugin/Handler';
import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SectionMenu',
@@ -28,7 +30,8 @@ export default {
SectionControl,
SectionCmdControl,
SpeedCmdControl,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -75,12 +78,12 @@ export default {
{
label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Section.CMD_SECTION_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -133,45 +136,18 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Section.stoppage.menu.operation,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT,
- param: {
- sectionCode: `${this.selected.code}`
- }
- };
-
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Section.cancelStoppage.menu.operation,
- cmdType: CMD.Section.CMD_SECTION_REMOVE_FAULT,
- param: {
- sectionCode: `${this.selected.code}`
- }
- };
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 故障解锁
diff --git a/src/jmapNew/theme/haerbin_01/menus/menuSignal.vue b/src/jmapNew/theme/haerbin_01/menus/menuSignal.vue
index 71cf26971..67b88f525 100644
--- a/src/jmapNew/theme/haerbin_01/menus/menuSignal.vue
+++ b/src/jmapNew/theme/haerbin_01/menus/menuSignal.vue
@@ -8,6 +8,7 @@
+
@@ -26,6 +27,8 @@ import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
// import { querySignalStatus } from '@/api/simulation';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SignalMenu',
@@ -37,7 +40,8 @@ export default {
RouteCmdControl,
RouteHandControl,
RouteDetail,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -109,12 +113,12 @@ export default {
{
label: this.$t('menu.menuSignal.setFault'),
handler: this.setStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: this.$t('menu.menuSignal.cancelFault'),
handler: this.cancelStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -171,44 +175,18 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.stoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.cancelStoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 排列进路
diff --git a/src/jmapNew/theme/haerbin_01/menus/menuSwitch.vue b/src/jmapNew/theme/haerbin_01/menus/menuSwitch.vue
index f8d6cb09a..e6dd094c1 100644
--- a/src/jmapNew/theme/haerbin_01/menus/menuSwitch.vue
+++ b/src/jmapNew/theme/haerbin_01/menus/menuSwitch.vue
@@ -5,6 +5,7 @@
+
@@ -19,6 +20,8 @@ import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
+import {menuOperate, commitOperate} from './utils/menuOperate';
export default {
name: 'SwitchMenu',
@@ -27,7 +30,8 @@ export default {
SwitchControl,
SwitchCmdControl,
SpeedCmdControl,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -80,12 +84,12 @@ export default {
{
label: '设置故障',
handler: this.setStoppage,
- cmdType:CMD.Switch.CMD_SWITCH_ADD_FAULT
+ cmdType:CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType:CMD.Switch.CMD_SWITCH_REMOVE_FAULT
+ cmdType:CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -138,42 +142,18 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- operation: OperationEvent.Switch.stoppage.menu.operation,
- cmdType: CMD.Switch.CMD_STOPPAGE,
- param: {
- switchCode: this.selected.code
- }
- };
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- operation: OperationEvent.Switch.cancelStoppage.menu.operation,
- cmdType: CMD.Switch.CMD_CANCEL_STOPPAGE,
- param: {
- switchCode: this.selected.code
- }
- };
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 道岔单锁
diff --git a/src/jmapNew/theme/haerbin_01/menus/utils/menuOperate.js b/src/jmapNew/theme/haerbin_01/menus/utils/menuOperate.js
new file mode 100644
index 000000000..09a216171
--- /dev/null
+++ b/src/jmapNew/theme/haerbin_01/menus/utils/menuOperate.js
@@ -0,0 +1,308 @@
+import store from '@/store/index_APP_TARGET';
+import CMD from '@/scripts/cmdPlugin/CommandEnum';
+import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
+
+// 操作
+export const menuOperate = {
+ Section:{
+ alxeFailure:{
+ // 设置计轴失效
+ operation: OperationEvent.Section.alxeFailure.menu.operation,
+ // cmdType 值有问题
+ cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ },
+ active:{
+ // 区段激活
+ operation: OperationEvent.Section.active.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_ACTIVE
+ },
+ alxeEffective:{
+ // 确认计轴有效
+ operation: OperationEvent.Section.alxeEffective.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_COMFIRMATION_AXLE
+ },
+ split:{
+ // 区段切除
+ operation: OperationEvent.Section.split.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_CUT_OFF
+ },
+ lock:{
+ // 区段封锁
+ operation: OperationEvent.Section.lock.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_BLOCK
+ },
+ unlock:{
+ // 区段解锁
+ operation: OperationEvent.Section.unlock.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_UNBLOCK
+ },
+ setSpeed:{
+ // 设置速度
+ operation: OperationEvent.Section.setSpeed.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
+ },
+ fault:{
+ // 区段故障解锁
+ operation: OperationEvent.Section.fault.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
+ },
+ setFault: {
+ operation: OperationEvent.Section.stoppage.menu.operation,
+ cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ }
+ },
+ Signal:{
+ arrangementRoute:{
+ // 排列进路
+ operation: OperationEvent.Signal.arrangementRoute.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
+ },
+ cancelTrainRoute:{
+ // 取消进路
+ operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
+ },
+ lock:{
+ // 信号封锁
+ operation:OperationEvent.Signal.lock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
+ },
+ unlock:{
+ // 信号解封
+ operation: OperationEvent.Signal.unlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
+ },
+ guide:{
+ // 进路引导
+ operation: OperationEvent.Signal.guide.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
+ },
+ reopenSignal:{
+ // 信号重开
+ operation: OperationEvent.Signal.reopenSignal.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
+ },
+ signalClose:{
+ // 信号关灯
+ operation: OperationEvent.Signal.signalClose.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
+ },
+ humanControl:{
+ // 进路交人工控
+ operation: OperationEvent.Signal.humanControl.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
+ },
+ atsAutoControl:{
+ // 进路交自动控
+ operation: OperationEvent.Signal.atsAutoControl.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
+ },
+ setAutoInterlock:{
+ // 设置通过模式
+ operation: OperationEvent.Signal.setAutoInterlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
+ },
+ cancelAutoInterlock:{
+ // 取消通过模式
+ operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
+ },
+ detail:{
+ // 查询进路状态
+ operation: OperationEvent.Signal.detail.menu.operation
+ },
+ cancelGuide:{
+ // 人工解锁进路(信号机取消引导)
+ operation: OperationEvent.Signal.cancelGuide.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE
+ },
+ setAutoTurnBack:{
+ // 设置自动折返
+ operation: OperationEvent.AutoTurnBack.SetAutoTurnBackButton.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_AUTO_TURN_BACK
+ },
+ cancelAutoTurnBack:{
+ // 取消自动折返
+ operation: OperationEvent.AutoTurnBack.CancelAutoTurnBackButton.menu.operation,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_AUTO_TURN_BACK
+ }
+ },
+ Switch:{
+ lock:{
+ // 道岔单锁(联锁)
+ operation: OperationEvent.Switch.lock.menu.operation,
+ // cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
+ cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK_CHAIN
+ },
+ unlock:{
+ // 道岔解锁(联锁)
+ operation: OperationEvent.Switch.unlock.menu.operation,
+ // cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
+ cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK_CHAIN
+ },
+ block:{
+ // 道岔封锁
+ operation: OperationEvent.Switch.block.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_BLOCK
+ },
+ unblock:{
+ // 道岔解封
+ operation: OperationEvent.Switch.unblock.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
+ },
+ npChain:{
+ // 道岔定操(联动)
+ operation: OperationEvent.Switch.locate.menu.operation,
+ cmdType:CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
+ },
+ rpChain:{
+ // 道岔反操(联动)
+ operation: OperationEvent.Switch.reverse.menu.operation,
+ cmdType:CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
+ },
+ split:{
+ // 区段切除
+ operation: OperationEvent.Switch.split.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_CUT_OFF
+ },
+ active:{
+ // 区段激活
+ operation: OperationEvent.Switch.active.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_ACTIVE
+ },
+ setSpeed:{
+ // 设置临时限速
+ operation: OperationEvent.Switch.setSpeed.menu.operation,
+ cmdType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
+ },
+ alxeEffective:{
+ // 确认计轴有效
+ operation: OperationEvent.Switch.alxeEffective.menu.operation,
+ cmdType: CMD.Switch.CMD_SWITCH_COMFIRMATION_AXLE
+ }
+ },
+ StationStand:{
+ setDetainTrain:{
+ // 设置扣车
+ operation: OperationEvent.StationStand.setDetainTrain.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
+ },
+ cancelDetainTrain:{
+ // 取消扣车
+ operation: OperationEvent.StationStand.cancelDetainTrain.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
+ },
+ setDetainTrainAuto:{
+ // 区间列车数量限制
+ operation: OperationEvent.StationStand.setDetainTrainAuto.menu.operation,
+ cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN_AUTO
+ },
+ cancelDetainTrainAuto:{
+ // 取消区间列车数量限制
+ operation: OperationEvent.StationStand.cancelDetainTrainAuto.menu.operation,
+ cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN_AUTO
+ },
+ setBulkBuckleTrain:{
+ // 批量扣车
+ operation: OperationEvent.StationStand.setBulkBuckleTrain.menu.operation,
+ cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN_ALL
+ },
+ cancelBulkBuckleTrain:{
+ // 批量取消扣车
+ operation: OperationEvent.StationStand.cancelBulkBuckleTrain.menu.operation,
+ cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN_ALL
+ },
+ setJumpStop:{
+ // 设置跳停
+ operation: OperationEvent.StationStand.setJumpStop.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP
+ },
+ cancelJumpStop:{
+ // 取消跳停
+ operation: OperationEvent.StationStand.cancelJumpStop.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
+ },
+ setStopTime:{
+ // 停站时间控制
+ operation: OperationEvent.StationStand.setStopTime.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME
+ },
+ setRunLevel:{
+ // 运行时间控制
+ operation: OperationEvent.StationStand.setRunLevel.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_RUN_TIME
+ },
+ earlyDeparture:{
+ // 设置提前发车
+ operation: OperationEvent.StationStand.earlyDeparture.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_EARLY_DEPART
+ },
+ setBackStrategy:{
+ // 设置折返策略
+ operation: OperationEvent.StationStand.setBackStrategy.menu.operation,
+ cmdType: CMD.Stand.CMD_STAND_SET_REENTRY_STRATEGY
+ },
+ detail:{
+ // 查询站台状态
+ operation: OperationEvent.StationStand.detail.menu.operation
+ }
+ },
+ StationControl:{
+ requestCentralControl:{
+ // 请求中控(遥控)
+ operation: OperationEvent.StationControl.requestCentralControl.menu.operation,
+ cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL
+ },
+ requestStationControl:{
+ // 请求站控
+ operation: OperationEvent.StationControl.requestStationControl.menu.operation,
+ cmdType:CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL
+ },
+ emergencyStationControl:{
+ // 紧急站控
+ operation: OperationEvent.StationControl.emergencyStationControl.menu.operation,
+ cmdType:CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL
+ }
+ },
+ Common: {
+ setFault: {
+ operation: OperationEvent.Section.stoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ cancelFault: {
+ operation: OperationEvent.Section.cancelStoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
+ }
+ }
+};
+
+export function commitOperate(operate, paramList, over) {
+ const step = {
+ start: true,
+ operation: operate.operation,
+ param:{}
+ };
+ step.param = paramList;
+ // over 0为首次操作,1为中间操作,2为最后操作,3为直接一次性操作
+ if (over == 0 || over == 3) {
+ const codeList = Object.values(paramList);
+ step.code = codeList[0];
+ }
+ if (over != 0 && over != 3) {
+ delete step.start;
+ }
+ if (over == 2 || over == 3) {
+ step.over = true;
+ step.cmdType = operate.cmdType;
+ }
+ return new Promise(function(resolve, reject) {
+ store.dispatch('training/nextNew', step).then(({ valid }) => {
+ if (valid) {
+ store.dispatch('menuOperation/handleBreakFlag', { break: true });
+ }
+ resolve({ valid: valid, operate: step });
+ }).catch(error=>{
+ reject(error);
+ });
+ });
+}
diff --git a/src/jmapNew/theme/ningbo_01/menus/menuSection.vue b/src/jmapNew/theme/ningbo_01/menus/menuSection.vue
index c35831e1c..aeb16bf71 100644
--- a/src/jmapNew/theme/ningbo_01/menus/menuSection.vue
+++ b/src/jmapNew/theme/ningbo_01/menus/menuSection.vue
@@ -22,7 +22,7 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import {menuOperate, commitOperate} from './utils/menuOperate';
-import SetFault from './dialog/setFault';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SectionMenu',
@@ -98,20 +98,15 @@ export default {
]
},
menuForce: [
- // {
- // label: '设置计轴失效', // 设置区段故障
- // handler: this.alxeFailure,
- // cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
- // },
{
label: this.$t('menu.menuSection.setFault'),
handler: this.setStoppage,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: this.$t('menu.menuSection.cancelFault'),
handler: this.cancelStoppage,
- cmdType: CMD.Section.CMD_SECTION_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -228,14 +223,22 @@ export default {
}
});
},
+ // 设置故障
setStoppage() {
- commitOperate(menuOperate.Section.setFault, { sectionCode: this.selected.code }, 0).then(({valid, operate})=>{
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$refs.setFault.doShow(operate, this.selected);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
});
},
- cancelStoppage() {}
+ // 取消故障
+ cancelStoppage() {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
+ }
+ });
+ }
}
};
diff --git a/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue b/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue
index 7bbd70f20..a5d218da8 100644
--- a/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue
+++ b/src/jmapNew/theme/ningbo_01/menus/menuSignal.vue
@@ -8,7 +8,8 @@
-
+ \
+
@@ -26,9 +27,8 @@ import {menuOperate, commitOperate} from './utils/menuOperate';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import { mapGetters } from 'vuex';
-import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
-// import { querySignalStatus } from '@/api/simulation';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SignalMenu',
@@ -41,7 +41,8 @@ export default {
RouteHandControl,
RouteDetail,
RouterCommand,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -166,20 +167,15 @@ export default {
]
},
menuForce: [
- {
- label: '信号关灯',
- handler: this.signalClose,
- cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
- },
{
label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -215,7 +211,7 @@ export default {
self.doClose();
};
},
- initMenu() {
+ initMenu() {
this.menu = MenuContextHandler.covert(this.menuNormal);
// 故障模式菜单列表
if (this.operatemode === OperateMode.FAULT) {
@@ -235,50 +231,6 @@ export default {
this.$refs.popMenu.close();
}
},
- // 设置故障
- setStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.stoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
- if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow();
- }
- }).catch(() => {
- this.$refs.noticeInfo.doShow();
- });
- },
- // 取消故障
- cancelStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.cancelStoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
- if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow();
- }
- }).catch(() => {
- this.$refs.noticeInfo.doShow();
- });
- },
// 获取进路列表
getRouteList(selectType) {
const routes = [];
@@ -392,6 +344,22 @@ export default {
this.$refs.routerCommand.doShow(operate, this.selected, '是否执行引导命令?');
}
});
+ },
+ // 设置故障
+ setStoppage() {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
+ }
+ });
+ },
+ // 取消故障
+ cancelStoppage() {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
+ }
+ });
}
}
};
diff --git a/src/jmapNew/theme/ningbo_01/menus/menuSwitch.vue b/src/jmapNew/theme/ningbo_01/menus/menuSwitch.vue
index 6cbcd77fc..c47a6cc6f 100644
--- a/src/jmapNew/theme/ningbo_01/menus/menuSwitch.vue
+++ b/src/jmapNew/theme/ningbo_01/menus/menuSwitch.vue
@@ -6,6 +6,7 @@
+
@@ -17,9 +18,9 @@ import SpeedLimitControl from './dialog/speedLimitControl';
import AlxeEffective from './dialog/alxeEffective';
import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo';
import { mapGetters } from 'vuex';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
-import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import {menuOperate, commitOperate} from './utils/menuOperate';
@@ -32,7 +33,8 @@ export default {
SwitchUnLock,
SpeedLimitControl,
AlxeEffective,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -129,12 +131,12 @@ export default {
{
label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Switch.CMD_SWITCH_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Switch.CMD_SWITCH_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -184,50 +186,6 @@ export default {
this.$refs.popMenu.close();
}
},
- // 设置故障
- setStoppage() {
- const operate = {
- start: true,
- code: this.selected.code,
- operation: OperationEvent.Switch.stoppage.menu.operation,
- param: {
- switchCode: this.selected.code
- }
- };
-
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
- if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow();
- }
- }).catch(() => {
- this.$refs.noticeInfo.doShow();
- });
- },
- // 取消故障
- cancelStoppage() {
- const operate = {
- start: true,
- code: this.selected.code,
- operation: OperationEvent.Switch.cancelStoppage.menu.operation,
- param: {
- switchCode: this.selected.code
- }
- };
-
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
- if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow();
- }
- }).catch(() => {
- this.$refs.noticeInfo.doShow();
- });
- },
// 定操定位
locate() {
commitOperate(menuOperate.Switch.npChain, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
@@ -315,6 +273,22 @@ export default {
callback: action => {
}
});
+ },
+ // 设置故障
+ setStoppage() {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
+ }
+ });
+ },
+ // 取消故障
+ cancelStoppage() {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
+ }
+ });
}
}
};
diff --git a/src/jmapNew/theme/ningbo_01/menus/utils/menuOperate.js b/src/jmapNew/theme/ningbo_01/menus/utils/menuOperate.js
index 34383dd3c..09a216171 100644
--- a/src/jmapNew/theme/ningbo_01/menus/utils/menuOperate.js
+++ b/src/jmapNew/theme/ningbo_01/menus/utils/menuOperate.js
@@ -263,6 +263,16 @@ export const menuOperate = {
operation: OperationEvent.StationControl.emergencyStationControl.menu.operation,
cmdType:CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL
}
+ },
+ Common: {
+ setFault: {
+ operation: OperationEvent.Section.stoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ cancelFault: {
+ operation: OperationEvent.Section.cancelStoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
+ }
}
};
diff --git a/src/jmapNew/theme/xian_01/menus/menuSection.vue b/src/jmapNew/theme/xian_01/menus/menuSection.vue
index 8c55dfa1a..21816f04b 100644
--- a/src/jmapNew/theme/xian_01/menus/menuSection.vue
+++ b/src/jmapNew/theme/xian_01/menus/menuSection.vue
@@ -17,11 +17,10 @@ import SpeedCmdControl from './dialog/speedCmdControl';
import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { mapGetters } from 'vuex';
-import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import { menuOperate, commitOperate } from './utils/menuOperate';
-import SetFault from './dialog/setFault';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SectionMenu',
@@ -113,14 +112,14 @@ export default {
},
menuForce: [
{
- label: this.$t('menu.menuSection.setFault'),
+ label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
- label: this.$t('menu.menuSection.cancelFault'),
+ label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Section.CMD_SECTION_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -175,7 +174,7 @@ export default {
setStoppage() {
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$refs.setFault.doShow(operate, this.selected);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
});
},
@@ -183,7 +182,7 @@ export default {
cancelStoppage() {
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$refs.setFault.doShow(operate, this.selected);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
});
},
diff --git a/src/jmapNew/theme/xian_01/menus/menuSignal.vue b/src/jmapNew/theme/xian_01/menus/menuSignal.vue
index d349989f0..197a15e81 100644
--- a/src/jmapNew/theme/xian_01/menus/menuSignal.vue
+++ b/src/jmapNew/theme/xian_01/menus/menuSignal.vue
@@ -8,7 +8,7 @@
-
+
@@ -24,10 +24,9 @@ import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import { mapGetters } from 'vuex';
-import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import { menuOperate, commitOperate } from './utils/menuOperate';
-import SetFault from './dialog/setFault';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SignalMenu',
@@ -40,7 +39,7 @@ export default {
RouteHandControl,
RouteDetail,
NoticeInfo,
- SetFault
+ SetFault
},
props: {
selected: {
@@ -166,14 +165,14 @@ export default {
},
menuForce: [
{
- label: this.$t('menu.menuSignal.setFault'),
+ label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
- label: this.$t('menu.menuSignal.cancelFault'),
+ label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -232,7 +231,7 @@ export default {
setStoppage() {
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$refs.setFault.doShow(operate, this.selected);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
});
},
@@ -240,7 +239,7 @@ export default {
cancelStoppage() {
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$refs.setFault.doShow(operate, this.selected);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
});
},
diff --git a/src/jmapNew/theme/xian_01/menus/menuSwitch.vue b/src/jmapNew/theme/xian_01/menus/menuSwitch.vue
index ead1453dc..17aebdcbe 100644
--- a/src/jmapNew/theme/xian_01/menus/menuSwitch.vue
+++ b/src/jmapNew/theme/xian_01/menus/menuSwitch.vue
@@ -17,11 +17,10 @@ import SpeedCmdControl from './dialog/speedCmdControl';
import NoticeInfo from './dialog/childDialog/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { mapGetters } from 'vuex';
-import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import { menuOperate, commitOperate } from './utils/menuOperate';
-import SetFault from './dialog/setFault';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SwitchMenu',
@@ -157,20 +156,14 @@ export default {
},
menuForce: [
{
- label: this.$t('menu.menuSwitch.setFault'),
+ label: '设置故障',
handler: this.setStoppage,
- auth: {
-
- },
- cmdType:CMD.Switch.CMD_SWITCH_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
- label: this.$t('menu.menuSwitch.cancelFault'),
+ label: '取消故障',
handler: this.cancelStoppage,
- auth: {
-
- },
- cmdType:CMD.Switch.CMD_SWITCH_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -227,7 +220,7 @@ export default {
setStoppage() {
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$refs.setFault.doShow(operate, this.selected);
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
});
},
@@ -235,7 +228,7 @@ export default {
cancelStoppage() {
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$refs.setFault.doShow(operate, this.selected);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
});
},
diff --git a/src/jmapNew/theme/xian_02/menus/index.vue b/src/jmapNew/theme/xian_02/menus/index.vue
index 93d0672ea..2eb3607ae 100644
--- a/src/jmapNew/theme/xian_02/menus/index.vue
+++ b/src/jmapNew/theme/xian_02/menus/index.vue
@@ -228,6 +228,12 @@ export default {
.xian-02__system .el-dialog .el-button:disabled span {
border: 0px;
}
+ .xian-02__system .el-select-dropdown__item {
+ background: #5F9EA0;
+ }
+ .xian-02__system .el-select-dropdown__list {
+ background: #5F9EA0;
+ }
.xian-02__select-option .el-select-dropdown__item{
background: #5F9EA0;
}
@@ -296,9 +302,9 @@ export default {
line-height: 22px !important;
}
- .xian-02__system .el-dialog .el-input.is-disabled .el-input__inner {
- background: #F0F0F0 !important;
- }
+ /*.xian-02__system .el-dialog .el-input.is-disabled .el-input__inner {*/
+ /*background: #F0F0F0 !important;*/
+ /*}*/
.xian-02__system .el-dialog .el-textarea {
border-style:solid;
diff --git a/src/jmapNew/theme/xian_02/menus/menuSection.vue b/src/jmapNew/theme/xian_02/menus/menuSection.vue
index 4d753ce25..705cad421 100644
--- a/src/jmapNew/theme/xian_02/menus/menuSection.vue
+++ b/src/jmapNew/theme/xian_02/menus/menuSection.vue
@@ -6,6 +6,7 @@
+
@@ -22,6 +23,7 @@ import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
// import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import {menuOperate, commitOperate} from './utils/menuOperate';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SectionMenu',
@@ -31,7 +33,8 @@ export default {
SectionUnLock,
SpeedLimitControl,
AlxeEffective,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -116,9 +119,14 @@ export default {
},
menuForce: [
{
- label: '设置计轴失效', // 设置区段故障
- handler: this.alxeFailure,
- cmdType: CMD.Section.CMD_SECTION_ADD_FAULT
+ label: '设置故障',
+ handler: this.setStoppage,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ {
+ label: '取消故障',
+ handler: this.cancelStoppage,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -170,12 +178,20 @@ export default {
this.$refs.popMenu.close();
}
},
- // 设置计轴失效
- alxeFailure() {
- this.mouseCancelState(this.selected);
- commitOperate(menuOperate.Section.alxeFailure, {sectionCode:this.selected.code}, 3).then(({valid, operate})=>{
- }).catch((error)=>{
- this.$refs.noticeInfo.doShow({}, error.message);
+ // 设置故障
+ setStoppage() {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
+ }
+ });
+ },
+ // 取消故障
+ cancelStoppage() {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
+ }
});
},
// 故障解锁
diff --git a/src/jmapNew/theme/xian_02/menus/menuSignal.vue b/src/jmapNew/theme/xian_02/menus/menuSignal.vue
index 94c7d49e7..363b79694 100644
--- a/src/jmapNew/theme/xian_02/menus/menuSignal.vue
+++ b/src/jmapNew/theme/xian_02/menus/menuSignal.vue
@@ -9,6 +9,7 @@
+
@@ -28,7 +29,7 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
-// import { querySignalStatus } from '@/api/simulation';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SignalMenu',
@@ -41,7 +42,8 @@ export default {
RouteHandControl,
RouteDetail,
RouterCommand,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -188,20 +190,15 @@ export default {
}
],
menuForce: [
- {
- label: '信号关灯',
- handler: this.signalClose,
- cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
- },
{
label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -269,46 +266,19 @@ export default {
},
// 设置故障
setStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.stoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ console.log(this, this.$refs, '===');
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 取消故障
cancelStoppage() {
- const step = {
- start: true,
- code: `${this.selected.code}`,
- operation: OperationEvent.Signal.cancelStoppage.menu.operation,
- cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT,
- param: {
- signalCode: `${this.selected.code}`
- }
- };
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(step);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(step);
});
},
// 获取进路列表
diff --git a/src/jmapNew/theme/xian_02/menus/menuSwitch.vue b/src/jmapNew/theme/xian_02/menus/menuSwitch.vue
index 2046d7da4..62efcc86f 100644
--- a/src/jmapNew/theme/xian_02/menus/menuSwitch.vue
+++ b/src/jmapNew/theme/xian_02/menus/menuSwitch.vue
@@ -6,6 +6,7 @@
+
@@ -23,6 +24,7 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import {menuOperate, commitOperate} from './utils/menuOperate';
+import SetFault from '@/views/newMap/mapsystemNew/plugin/setFault';
export default {
name: 'SwitchMenu',
@@ -32,7 +34,8 @@ export default {
SwitchUnLock,
SpeedLimitControl,
AlxeEffective,
- NoticeInfo
+ NoticeInfo,
+ SetFault
},
props: {
selected: {
@@ -146,12 +149,12 @@ export default {
{
label: '设置故障',
handler: this.setStoppage,
- cmdType: CMD.Switch.CMD_SWITCH_ADD_FAULT
+ cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
- cmdType: CMD.Switch.CMD_SWITCH_REMOVE_FAULT
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
}
]
};
@@ -238,26 +241,20 @@ export default {
this.$refs.noticeInfo.doShow(operate);
});
},
+ // 设置故障
+ setStoppage() {
+ commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
+ }
+ });
+ },
// 取消故障
cancelStoppage() {
- const operate = {
- start: true,
- code: this.selected.code,
- operation: OperationEvent.Switch.cancelStoppage.menu.operation,
- param: {
- switchCode: this.selected.code
- }
- };
-
- this.mouseCancelState(this.selected);
- this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
- this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
- } else {
- this.$refs.noticeInfo.doShow(operate);
+ this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
}
- }).catch(() => {
- this.$refs.noticeInfo.doShow(operate);
});
},
// 定操定位
diff --git a/src/jmapNew/theme/xian_02/menus/utils/menuOperate.js b/src/jmapNew/theme/xian_02/menus/utils/menuOperate.js
index 5dcae4248..929324f24 100644
--- a/src/jmapNew/theme/xian_02/menus/utils/menuOperate.js
+++ b/src/jmapNew/theme/xian_02/menus/utils/menuOperate.js
@@ -257,6 +257,16 @@ export const menuOperate = {
operation: OperationEvent.StationControl.emergencyStationControl.menu.operation,
cmdType:CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL
}
+ },
+ Common: {
+ setFault: {
+ operation: OperationEvent.Section.stoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_SET_FAULT
+ },
+ cancelFault: {
+ operation: OperationEvent.Section.cancelStoppage.menu.operation,
+ cmdType: CMD.Fault.CMD_CANCEL_FAULT
+ }
}
};
diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js
index 080406116..4ff00eac2 100644
--- a/src/utils/baseUrl.js
+++ b/src/utils/baseUrl.js
@@ -2,9 +2,9 @@ export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud';
- // BASE_API = 'https://test.joylink.club/jlcloud';
+ BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
- BASE_API = 'http://192.168.3.6:9000'; // 旭强
+ // BASE_API = 'http://192.168.3.6:9000'; // 旭强
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
// BASE_API = 'http://192.168.3.82:9000'; // 杜康
// BASE_API = 'http://192.168.3.41:9000'; // 张S赛
diff --git a/src/views/newMap/mapsystemNew/plugin/setFault.vue b/src/views/newMap/mapsystemNew/plugin/setFault.vue
new file mode 100644
index 000000000..20c3688ba
--- /dev/null
+++ b/src/views/newMap/mapsystemNew/plugin/setFault.vue
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+ 取消
+
+
+
+
+
+
From cc8b7003280a58ba4c90808f0ad4496e4804ccde Mon Sep 17 00:00:00 2001
From: joylink_cuiweidong <364937672@qq.com>
Date: Mon, 18 May 2020 15:18:57 +0800
Subject: [PATCH 11/40] =?UTF-8?q?=E5=89=A7=E6=9C=AC=E5=BD=95=E5=88=B6?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4=20=E9=80=80=E5=87=BA?=
=?UTF-8?q?=E5=89=A7=E6=9C=AC=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/newMap/displayNew/chatView/chatBox.vue | 5 ++++-
src/views/newMap/displayNew/designIndex.vue | 1 -
src/views/newMap/displayNew/menuDemon.vue | 2 ++
src/views/scriptManage/scriptRecord/addAction.vue | 15 ++++++++++++---
4 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/src/views/newMap/displayNew/chatView/chatBox.vue b/src/views/newMap/displayNew/chatView/chatBox.vue
index e12fca1d9..a9b079620 100644
--- a/src/views/newMap/displayNew/chatView/chatBox.vue
+++ b/src/views/newMap/displayNew/chatView/chatBox.vue
@@ -81,7 +81,7 @@ export default {
language:'zh',
sex:'1'
},
- headerTitle:'所有人'
+ headerTitle:''
};
},
watch: {
@@ -134,6 +134,9 @@ export default {
},
setCurrentCoversition(coversition) {
this.currentCoversition = coversition;
+ if (coversition.group) {
+ this.headerTitle = coversition.name;
+ }
if (this.recordSending) {
this.cancleRecording();
}
diff --git a/src/views/newMap/displayNew/designIndex.vue b/src/views/newMap/displayNew/designIndex.vue
index f6ed7bdb6..8ffb148e0 100644
--- a/src/views/newMap/displayNew/designIndex.vue
+++ b/src/views/newMap/displayNew/designIndex.vue
@@ -338,7 +338,6 @@ export default {
}
if (this.drawWay) {
scriptExecuteNew(this.group).then(data=>{
- this.$refs.menuDemon.clearAllData();
}).catch(error=>{
console.log(error);
});
diff --git a/src/views/newMap/displayNew/menuDemon.vue b/src/views/newMap/displayNew/menuDemon.vue
index 956486d99..5ecee252f 100644
--- a/src/views/newMap/displayNew/menuDemon.vue
+++ b/src/views/newMap/displayNew/menuDemon.vue
@@ -233,6 +233,7 @@ export default {
getSimulationInfoNew(this.group).then(()=>{
this.$emit('quitQuest');
this.initLoadPage();
+ this.clearAllData();
}).catch(()=>{
this.$messageBox(this.$t('display.demon.exitTaskFail'));
});
@@ -247,6 +248,7 @@ export default {
getSimulationInfoNew(this.group).then(()=>{
this.$emit('quitQuest');
this.initLoadPage();
+ this.clearAllData();
}).catch(()=>{
this.$messageBox(this.$t('display.demon.exitTaskFail'));
});
diff --git a/src/views/scriptManage/scriptRecord/addAction.vue b/src/views/scriptManage/scriptRecord/addAction.vue
index 31d3eeb55..83e0ab83b 100644
--- a/src/views/scriptManage/scriptRecord/addAction.vue
+++ b/src/views/scriptManage/scriptRecord/addAction.vue
@@ -201,7 +201,7 @@ export default {
this.$refs['commandDataNew'].clearValidate();
if (!val) {
this.initActionData();
- this.initCommandActionData();
+ this.clearCommand();
}
} else {
this.$refs['commandData'].clearValidate();
@@ -236,7 +236,7 @@ export default {
const lastData = JSON.stringify(resp.data);
this.memberList = this.covert(lastData, ConstConfig.ConstSelect.roleTypeNew);
this.resetDisabled();
- this.initCommandActionData();
+ this.clearCommand();
}).catch(error => {
this.$message(error.message);
});
@@ -363,6 +363,9 @@ export default {
changeMember(member) {
if (member) {
this.messageTips1 = '';
+ this.executeCommandName = '';
+ this.commandDataNew.action.operationType = '';
+ this.commandDataNew.action.operationParamMap = {};
}
},
addCommandActionNew() {
@@ -376,12 +379,12 @@ export default {
this.messageTips2 = '请在右侧的地图中选择操作';
return false;
} else {
- debugger;
const group = this.group;
const data = this.commandDataNew.action;
this.adding = true;
addScriptActionNew(group, data).then(response=>{
this.adding = false;
+ this.clearCommand();
this.$message.success(this.$t('scriptRecord.addCommandSucess'));
this.$emit('create');
}).catch(error => {
@@ -390,6 +393,12 @@ export default {
});
}
},
+ clearCommand() {
+ this.commandDataNew.action.memberId = '';
+ this.executeCommandName = '';
+ this.commandDataNew.action.operationType = '';
+ this.commandDataNew.action.operationParamMap = {};
+ },
addScriptActionInfo(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
From c8d7347e611f31b2d41faca0228ebfdc1c272dea Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Mon, 18 May 2020 15:47:55 +0800
Subject: [PATCH 12/40] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E9=97=AE=E9=A2=98?=
=?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/jmap/lessondraft.js | 8 +++++
src/i18n/langs/zh/map.js | 2 +-
src/utils/baseUrl.js | 4 +--
src/views/lesson/details.vue | 32 +++++++++++++++++--
.../lessoncategory/edit/lesson/index.vue | 9 ++++--
src/views/lesson/operateMenu.vue | 7 ++++
.../newMap/newDesignUser/mapmanage/edit.vue | 4 +--
.../newDesignUser/mapmanage/operateMenu.vue | 4 +--
.../newDesignUser/mapmanage/publish.vue | 1 +
.../newDesignUser/mapmanage/publish3d.vue | 3 +-
.../newMap/newDesignUser/mapmanage/saveAs.vue | 7 ++--
src/views/studentManage/index.vue | 2 +-
12 files changed, 67 insertions(+), 16 deletions(-)
diff --git a/src/api/jmap/lessondraft.js b/src/api/jmap/lessondraft.js
index 69b47b7c1..7c8a9bb9e 100644
--- a/src/api/jmap/lessondraft.js
+++ b/src/api/jmap/lessondraft.js
@@ -69,6 +69,14 @@ export function updateLessonChapter(data) {
});
}
+/** 删除课程章节*/
+export function deleteLessonChapter(id) {
+ return request({
+ url: `/api/lessonDraft/chapter/${id}`,
+ method: 'delete'
+ });
+}
+
/** 创建课程章节详细内容*/
export function getLessonChapterDetail(data) {
return request({
diff --git a/src/i18n/langs/zh/map.js b/src/i18n/langs/zh/map.js
index b95471af5..8d58a9c69 100644
--- a/src/i18n/langs/zh/map.js
+++ b/src/i18n/langs/zh/map.js
@@ -32,7 +32,7 @@ export default {
save: '保存',
updata: '更新',
- updateObj: '修改',
+ updateObj: '修改名称',
updateObjAxis: '更新坐标',
saveAs: '另存为',
publish: '发布',
diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js
index 4ff00eac2..8df5a551d 100644
--- a/src/utils/baseUrl.js
+++ b/src/utils/baseUrl.js
@@ -2,11 +2,11 @@ export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud';
- BASE_API = 'https://test.joylink.club/jlcloud';
+ // BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
// BASE_API = 'http://192.168.3.6:9000'; // 旭强
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
- // BASE_API = 'http://192.168.3.82:9000'; // 杜康
+ BASE_API = 'http://192.168.3.82:9000'; // 杜康
// BASE_API = 'http://192.168.3.41:9000'; // 张S赛
// BASE_API = 'http://b29z135112.zicp.vip';
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
diff --git a/src/views/lesson/details.vue b/src/views/lesson/details.vue
index c63b2b677..d5df3f6cf 100644
--- a/src/views/lesson/details.vue
+++ b/src/views/lesson/details.vue
@@ -34,7 +34,7 @@
diff --git a/src/views/newMap/newDesignUser/mapmanage/saveAs.vue b/src/views/newMap/newDesignUser/mapmanage/saveAs.vue
index ee1497d2f..3315bd056 100644
--- a/src/views/newMap/newDesignUser/mapmanage/saveAs.vue
+++ b/src/views/newMap/newDesignUser/mapmanage/saveAs.vue
@@ -2,8 +2,11 @@
-
-
+
+ {{ this.map.name }}
+
+
+
diff --git a/src/views/studentManage/index.vue b/src/views/studentManage/index.vue
index 953fbe957..30dcd973a 100644
--- a/src/views/studentManage/index.vue
+++ b/src/views/studentManage/index.vue
@@ -343,7 +343,7 @@ export default {
totolScore += centerLessonPassRate * 100;
}
});
- totolScore += item.attendance * 100 * 10 / 100;
+ totolScore += item.attendance * 100 * 10 / 100 * 100;
this.tableData.push(
{
index: index + 1,
From 9e03602403cd2275c6cbfb5f729f1e68226e917b Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Mon, 18 May 2020 16:08:49 +0800
Subject: [PATCH 13/40] =?UTF-8?q?=E8=8D=89=E7=A8=BF=E5=9C=B0=E5=9B=BE?=
=?UTF-8?q?=E5=8F=B3=E9=94=AE=E7=82=B9=E5=87=BB=E6=94=B9=E5=8F=98tree?=
=?UTF-8?q?=E9=80=89=E4=B8=AD=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/lesson/details.vue | 1 -
src/views/newMap/newDesignUser/demonList.vue | 4 +++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/views/lesson/details.vue b/src/views/lesson/details.vue
index d5df3f6cf..1e6b19fef 100644
--- a/src/views/lesson/details.vue
+++ b/src/views/lesson/details.vue
@@ -116,7 +116,6 @@ export default {
});
},
deleteChapter(node) {
- console.log(node, '-----------');
const _that = this;
this.$confirm('是否确认删除章节《' + node.data.name + '》 ' + ' ?', this.$t('tip.hint'), {
confirmButtonText: '确认',
diff --git a/src/views/newMap/newDesignUser/demonList.vue b/src/views/newMap/newDesignUser/demonList.vue
index 92e4fad11..e132ea07c 100644
--- a/src/views/newMap/newDesignUser/demonList.vue
+++ b/src/views/newMap/newDesignUser/demonList.vue
@@ -6,7 +6,7 @@
-
+
{{ tnode.label }}
@@ -131,6 +131,8 @@ export default {
}
},
showContextMenu(e, obj, node, vueElem) {
+ this.$refs.tree.setCurrentKey(obj.id);
+ this.$refs.tree.currentNode = node;
if (obj && obj.type == 'map') {
e.preventDefault();
const menu = DeviceMenu.Map;
From b8bf51fc82b976aa9949bf669b2b7df0c4a92a83 Mon Sep 17 00:00:00 2001
From: zyy <1787816799@qq.com>
Date: Mon, 18 May 2020 17:08:21 +0800
Subject: [PATCH 14/40] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=9C=B0=E5=9B=BE?=
=?UTF-8?q?=E7=BB=98=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/jmapNew/map.js | 6 ---
src/jmapNew/shape/Switch/index.js | 2 +-
src/scripts/GlobalPlugin.js | 1 +
src/utils/index.js | 6 +--
.../newMapdraft/mapoperate/ControlDraft.vue | 6 +--
.../newMapdraft/mapoperate/ImageControl.vue | 7 ++--
.../newMap/newMapdraft/mapoperate/arrow.vue | 11 +++--
.../newMapdraft/mapoperate/checkboxDraft.vue | 5 ---
.../newMapdraft/mapoperate/controlLamp.vue | 6 +--
.../newMap/newMapdraft/mapoperate/counter.vue | 11 +++--
.../newMapdraft/mapoperate/delayunlock.vue | 11 +++--
.../newMapdraft/mapoperate/espDraft.vue | 4 +-
.../newMap/newMapdraft/mapoperate/index.vue | 3 +-
.../newMapdraft/mapoperate/lcControl.vue | 11 +++--
.../newMap/newMapdraft/mapoperate/line.vue | 25 +++--------
.../mapoperate/outFrameControl.vue | 11 +++--
.../newMapdraft/mapoperate/psdDraft.vue | 10 ++---
.../newMapdraft/mapoperate/section/index.vue | 35 ++++------------
.../newMapdraft/mapoperate/signal/index.vue | 41 +++----------------
.../newMapdraft/mapoperate/splitStation.vue | 6 +--
.../newMap/newMapdraft/mapoperate/station.vue | 11 ++---
.../newMapdraft/mapoperate/stationstand.vue | 13 +++---
.../newMapdraft/mapoperate/switch/index.vue | 3 ++
.../mapoperate/switch/switchModle.vue | 12 +++---
.../newMap/newMapdraft/mapoperate/text.vue | 11 +++--
.../newMapdraft/mapoperate/trainwindow.vue | 7 ++--
.../newMapdraft/mapoperate/zcControl.vue | 11 +++--
27 files changed, 96 insertions(+), 190 deletions(-)
diff --git a/src/jmapNew/map.js b/src/jmapNew/map.js
index b1b8e3a3a..89775ba64 100644
--- a/src/jmapNew/map.js
+++ b/src/jmapNew/map.js
@@ -262,9 +262,6 @@ class Jlmap {
const sectionC = this.mapDevice[item.sectionCCode];
if (sectionA && sectionB && sectionC) {
item['cutOff'] = sectionA.cutOff;
- item['sectionAstatus'] = sectionA.status;
- item['sectionBstatus'] = sectionB.status;
- item['sectionCstatus'] = sectionC.status;
}
}
@@ -281,9 +278,6 @@ class Jlmap {
const sectionC = this.mapDevice[swch.sectionCCode];
if (sectionA && sectionB && sectionC) {
swch['cutOff'] = sectionA.cutOff;
- swch['sectionAstatus'] = sectionA.status;
- swch['sectionBstatus'] = sectionB.status;
- swch['sectionCstatus'] = sectionC.status;
}
this.$painter.update(swch);
diff --git a/src/jmapNew/shape/Switch/index.js b/src/jmapNew/shape/Switch/index.js
index 0b9312fcf..b8c4f86b2 100644
--- a/src/jmapNew/shape/Switch/index.js
+++ b/src/jmapNew/shape/Switch/index.js
@@ -434,7 +434,7 @@ export default class Switch extends Group {
}
sectionCutOff(section) {
- const lineWidth = this.style.Section.line.width + (this.model.sectionAstatus != '01' ? this.style.Section.line.beyondWidth : 0);
+ const lineWidth = this.style.Section.line.width;
if (section) {
section.animateStyle(true, [
{ time: 0, styles: { lineWidth: lineWidth } },
diff --git a/src/scripts/GlobalPlugin.js b/src/scripts/GlobalPlugin.js
index 0a466d53e..8307b1367 100644
--- a/src/scripts/GlobalPlugin.js
+++ b/src/scripts/GlobalPlugin.js
@@ -5,6 +5,7 @@ import TurnbackBar from '@/components/TurnbackBar';
import ConstConfig from '@/scripts/ConstConfig';
import Dictionary from '@/scripts/DictionaryData';
import Theme from '@/jmapNew/theme/factory';
+import store from './../store/index_Common';
// 全局组件
Vue.component('DataForm', DataForm);
diff --git a/src/utils/index.js b/src/utils/index.js
index bad85f49a..74f5b079d 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -149,9 +149,9 @@ export function deepAssign(obj, item) {
const target = item.constructor === Array ? [] : {}; // 判断复制的目标是数组还是对象
for (const keys in item) {
if (item.hasOwnProperty(keys) && keys != 'instance') { // instance 对面不拷贝
- if (item[keys] && typeof item[keys] === 'object') { // 如果值是对象,就递归一下
- target[keys] = item[keys].constructor === Array ? [] : {};
- target[keys] = deepClone(item[keys]);
+ if (item[keys] && typeof item[keys] == 'object') { // 如果值是对象,就递归一下
+ const targetObj = item[keys].constructor == Array ? [] : {};
+ target[keys] = deepAssign(targetObj, item[keys]);
} else {
target[keys] = item[keys];
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/ControlDraft.vue b/src/views/newMap/newMapdraft/mapoperate/ControlDraft.vue
index 1adf5f3be..0437a5302 100644
--- a/src/views/newMap/newMapdraft/mapoperate/ControlDraft.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/ControlDraft.vue
@@ -312,7 +312,6 @@ export default {
this.$refs.make.validate((valid) => {
if (valid) {
const uid = getUID(this.addModel.type, this.selectLists); // 根据类型写 uid 前缀命名
- const models = [];
const model = {
_type: this.addModel.type,
code: uid,
@@ -326,8 +325,7 @@ export default {
cycleCode: this.addModel.cycleCode, // 自动折返关联code
stationCode: this.addModel.stationCode // 所属设备集中站
};
- models.push(model);
- this.$emit('updateMapModel', models);
+ this.$emit('updateMapModel', model);
this.$refs.make.resetForm();
}
});
@@ -337,7 +335,7 @@ export default {
this.$refs['dataform'].validate((valid) => {
if (valid) {
const data = Object.assign({_type: this.editModel.type}, this.editModel);
- this.$emit('updateMapModel', [data]);
+ this.$emit('updateMapModel', data);
}
});
},
diff --git a/src/views/newMap/newMapdraft/mapoperate/ImageControl.vue b/src/views/newMap/newMapdraft/mapoperate/ImageControl.vue
index 5197fde13..a8ed0b3ba 100644
--- a/src/views/newMap/newMapdraft/mapoperate/ImageControl.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/ImageControl.vue
@@ -226,16 +226,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'Resource'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('map.confirm'),
cancelButtonText: this.$t('map.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.form && this.$refs.form.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/arrow.vue b/src/views/newMap/newMapdraft/mapoperate/arrow.vue
index b310e353b..07cf434ac 100644
--- a/src/views/newMap/newMapdraft/mapoperate/arrow.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/arrow.vue
@@ -150,8 +150,8 @@ export default {
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
},
deviceSelect(selected) {
- this.$refs.form && this.$refs.form.resetFields();
- this.$refs.createForm && this.$refs.createForm.resetFields();
+ this.$refs.form && this.$refs.form.resetFields();
+ this.$refs.createForm && this.$refs.createForm.resetFields();
if (selected && selected._type.toUpperCase() === 'Line'.toUpperCase()) {
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
@@ -204,16 +204,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'Line'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.form && this.$refs.form.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/checkboxDraft.vue b/src/views/newMap/newMapdraft/mapoperate/checkboxDraft.vue
index 737cd465e..5b4e35d38 100644
--- a/src/views/newMap/newMapdraft/mapoperate/checkboxDraft.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/checkboxDraft.vue
@@ -151,11 +151,6 @@ export default {
models.push(Model);
});
});
- // this.seclectDeviceList.forEach(model => {
- // const Model = deepAssign({}, this.$store.getters['map/getDeviceByCode'](model.code));
- // Model.stationCode = this.stationCode;
- // models.push(Model);
- // });
this.$emit('updateMapModel', models);
this.$message.success('设置设备集中站成功');
this.stationCode = '';
diff --git a/src/views/newMap/newMapdraft/mapoperate/controlLamp.vue b/src/views/newMap/newMapdraft/mapoperate/controlLamp.vue
index 8d5ca3f34..96830f268 100644
--- a/src/views/newMap/newMapdraft/mapoperate/controlLamp.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/controlLamp.vue
@@ -501,7 +501,6 @@ export default {
this.$refs.make.validate((valid) => {
if (valid) {
const uid = getUID(this.getIdPrefix(this.addModel.type), this.selectLists); // 根据类型写 uid 前缀命名
- const models = [];
const model = {
_type: this.addModel.type,
type: this.addModel.type,
@@ -516,8 +515,7 @@ export default {
stationCode: this.addModel.stationCode, // 所属设备集中站
switchCode: this.addModel.switchCode
};
- models.push(model);
- this.$emit('updateMapModel', models);
+ this.$emit('updateMapModel', model);
this.$refs.make.resetForm();
}
});
@@ -527,7 +525,7 @@ export default {
this.$refs['dataform'].validate((valid) => {
if (valid) {
const data = Object.assign({_type: this.editModel.type}, this.editModel);
- this.$emit('updateMapModel', [data]);
+ this.$emit('updateMapModel', data);
}
});
},
diff --git a/src/views/newMap/newMapdraft/mapoperate/counter.vue b/src/views/newMap/newMapdraft/mapoperate/counter.vue
index cfbf2a66e..d92995565 100644
--- a/src/views/newMap/newMapdraft/mapoperate/counter.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/counter.vue
@@ -179,8 +179,8 @@ export default {
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
},
deviceSelect(selected) {
- this.$refs.form && this.$refs.form.resetFields();
- this.$refs.make && this.$refs.make.resetFields();
+ this.$refs.form && this.$refs.form.resetFields();
+ this.$refs.make && this.$refs.make.resetFields();
if (selected && selected._type.toUpperCase() === 'Counter'.toUpperCase()) {
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
@@ -228,16 +228,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'Counter'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('map.confirm'),
cancelButtonText: this.$t('map.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.form && this.$refs.form.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/delayunlock.vue b/src/views/newMap/newMapdraft/mapoperate/delayunlock.vue
index 05974bcbd..e710c84b4 100644
--- a/src/views/newMap/newMapdraft/mapoperate/delayunlock.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/delayunlock.vue
@@ -162,8 +162,8 @@ export default {
},
deviceSelect(selected) {
this.$nextTick(() => {
- this.$refs.form && this.$refs.form.resetFields();
- this.$refs.make && this.$refs.make.resetFields();
+ this.$refs.form && this.$refs.form.resetFields();
+ this.$refs.make && this.$refs.make.resetFields();
if (selected && selected._type.toUpperCase() === 'DelayUnlock'.toUpperCase()) {
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
@@ -210,16 +210,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'DelayUnlock'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('map.confirm'),
cancelButtonText: this.$t('map.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.form && this.$refs.form.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/espDraft.vue b/src/views/newMap/newMapdraft/mapoperate/espDraft.vue
index 90c2b10b3..3c1093231 100644
--- a/src/views/newMap/newMapdraft/mapoperate/espDraft.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/espDraft.vue
@@ -135,7 +135,7 @@ export default {
},
deviceSelect(selected) {
if (selected && selected._type.toUpperCase() === 'Esp'.toUpperCase()) {
- this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$refs.dataform && this.$refs.dataform.resetFields();
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
}
@@ -197,7 +197,7 @@ export default {
}).then(() => {
this.$store.dispatch('map/delMapStandData', {models: [selected], type: 'espList'});
this.deviceSelect();
- this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$refs.dataform && this.$refs.dataform.resetFields();
}).catch(() => {
this.$message.info(this.$t('tip.cancelledDelete'));
});
diff --git a/src/views/newMap/newMapdraft/mapoperate/index.vue b/src/views/newMap/newMapdraft/mapoperate/index.vue
index feaeb244d..88352b0da 100644
--- a/src/views/newMap/newMapdraft/mapoperate/index.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/index.vue
@@ -325,8 +325,7 @@ export default {
this.$emit('showMap');
},
handleSelectControlPage(device) {
- const controlLampTypeList = ['AtsControl', 'CenterCommunication', 'ChainControl', 'IntersiteControl', 'LeuControl', 'LocalControl', 'Maintain', 'SwitchFault',
- 'PowerSupply', 'NoOneReturn', 'MaintenanceLamps', 'ZcCommunication', 'FaultStatusGroup', 'ModeStatusGroup', 'LampFilament', 'ReturnModeGroup', 'ControlSwitch', 'Axle'];
+ const controlLampTypeList = ['AtsControl', 'CenterCommunication', 'ChainControl', 'IntersiteControl', 'LeuControl', 'LocalControl', 'Maintain', 'SwitchFault', 'PowerSupply', 'NoOneReturn', 'MaintenanceLamps', 'ZcCommunication', 'FaultStatusGroup', 'ModeStatusGroup', 'LampFilament', 'ReturnModeGroup', 'ControlSwitch', 'Axle'];
const type = device._type;
if (this.stationType) {
this.enabledTab = 'Station';
diff --git a/src/views/newMap/newMapdraft/mapoperate/lcControl.vue b/src/views/newMap/newMapdraft/mapoperate/lcControl.vue
index 4bfca3c1c..60ef3ed5c 100644
--- a/src/views/newMap/newMapdraft/mapoperate/lcControl.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/lcControl.vue
@@ -169,8 +169,8 @@ export default {
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
},
deviceSelect(selected) {
- this.$refs.form && this.$refs.form.resetFields();
- this.$refs.make && this.$refs.make.resetFields();
+ this.$refs.form && this.$refs.form.resetFields();
+ this.$refs.make && this.$refs.make.resetFields();
if (selected && selected._type.toUpperCase() === 'LcControl'.toUpperCase()) {
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
@@ -206,16 +206,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'LcControl'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.form && this.$refs.form.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/line.vue b/src/views/newMap/newMapdraft/mapoperate/line.vue
index af51db33f..2ce06e561 100644
--- a/src/views/newMap/newMapdraft/mapoperate/line.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/line.vue
@@ -213,9 +213,9 @@ export default {
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
},
deviceSelect(selected) {
- this.$refs.form && this.$refs.form.resetFields();
- this.$refs.make && this.$refs.make.resetFields();
if (selected && selected._type.toUpperCase() === 'Line'.toUpperCase()) {
+ this.$refs.form && this.$refs.form.resetFields();
+ this.$refs.make && this.$refs.make.resetFields();
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
}
@@ -234,18 +234,6 @@ export default {
delPointAddModel(index) {
this.addModel.points.splice(index, 1);
},
- clear() {
- this.addModel = {
- type: '',
- width: 1,
- showConditions: '01',
- lineColor: 'rgba(255, 255, 255, 1)',
- points: [
- { x: 0, y: 0 },
- { x: 100, y: 100 }
- ]
- };
- },
create() {
this.$refs['make'].validate((valid) => {
if (valid) {
@@ -261,7 +249,7 @@ export default {
points: JSON.parse(pointArr)
};
this.$emit('updateMapModel', model);
- this.clear();
+ this.$refs.make && this.$refs.make.resetFields();
} else {
this.$message.console.error(this.$t('tip.cannotCoincide'));
@@ -282,16 +270,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'Line'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.form && this.$refs.form.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/outFrameControl.vue b/src/views/newMap/newMapdraft/mapoperate/outFrameControl.vue
index 5b1ae05cf..0d0a6a34a 100644
--- a/src/views/newMap/newMapdraft/mapoperate/outFrameControl.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/outFrameControl.vue
@@ -216,8 +216,8 @@ export default {
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
},
deviceSelect(selected) {
- this.$refs.form && this.$refs.form.resetFields();
- this.$refs.make && this.$refs.make.resetFields();
+ this.$refs.form && this.$refs.form.resetFields();
+ this.$refs.make && this.$refs.make.resetFields();
if (selected && selected._type.toUpperCase() === 'OutFrame'.toUpperCase()) {
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
@@ -257,16 +257,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'OutFrame'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.form && this.$refs.form.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/psdDraft.vue b/src/views/newMap/newMapdraft/mapoperate/psdDraft.vue
index e2cdaeff5..bd0a7b507 100644
--- a/src/views/newMap/newMapdraft/mapoperate/psdDraft.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/psdDraft.vue
@@ -223,7 +223,7 @@ export default {
},
deviceSelect(selected) {
if (selected && selected._type.toUpperCase() === 'Psd'.toUpperCase()) {
- this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$refs.dataform && this.$refs.dataform.resetFields();
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
}
@@ -271,17 +271,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'Psd'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
- this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.dataform && this.$refs.dataform.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
},
diff --git a/src/views/newMap/newMapdraft/mapoperate/section/index.vue b/src/views/newMap/newMapdraft/mapoperate/section/index.vue
index f5aece895..fb7047a19 100644
--- a/src/views/newMap/newMapdraft/mapoperate/section/index.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/section/index.vue
@@ -502,14 +502,9 @@ export default {
this.clear();
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
- this.editModel.points = JSON.parse(JSON.stringify(selected.points));
- this.editModel.lengthFact = selected.lengthFact || 0; // 过滤非正常数值
- this.oldPoint = JSON.parse(JSON.stringify(selected.points));
+ this.oldPoint = selected.points;
this.oldLeftSectionCode = selected.leftSectionCode;
this.oldRightSectionCode = selected.rightSectionCode;
- this.editModel.leftAxlePosition = selected.leftAxlePosition || 0; // 重置计轴显示
- this.editModel.rightAxlePosition = selected.rightAxlePosition || 0; // 重置计轴显示
- this.editModel.belongStation = selected.belongStation || '';
if (this.field.toUpperCase() === 'splitSection'.toUpperCase()) {
this.$refs.splitOrMerge.addModel.splitOffsetMax = Math.sqrt(new JTriangle(selected.points[0], selected.points[selected.points.length - 1]).abspowz);
this.$refs.splitOrMerge.addModel.splitOffset = this.$refs.splitOrMerge.addModel.splitOffsetMax / 2;
@@ -583,8 +578,7 @@ export default {
}
});
},
- handleOtherSectionChange(model) {
- // 处理该区段改变导致的相关区段的变化
+ handleOtherSectionChange(model) { // 处理该区段改变导致的相关区段的变化
const models = [];
const pointModel = [];
const slope1 = (this.oldPoint[this.oldPoint.length - 1].y - this.oldPoint[0].y) / (this.oldPoint[this.oldPoint.length - 1].x - this.oldPoint[0].x);
@@ -592,7 +586,6 @@ export default {
if (section.parentCode === model.code) { // 逻辑区段
const copySection = deepAssign({}, section);
copySection.logicSectionShow = model.logicSectionShow;
- // copySection.lengthFact = (Number(model.lengthFact) / model.logicSectionCodeList.length).toFixed(3); // 容易处理成无限大
copySection.stationCode = model.stationCode; // 给元素 子逻辑区段设置 设备集中站
if (this.checkPointsCoincide(this.oldPoint[0], copySection.points[0])) {
copySection.points[0] = model.points[0];
@@ -600,7 +593,7 @@ export default {
copySection.points[copySection.points.length - 1] = model.points[model.points.length - 1];
}
models.push(copySection);
- } else if (model.code !== section.code && (section.type === '01' || section.type === '03' || section.type === '02')) {
+ } else if (model.code !== section.code && section.type != '04') {
const copySection = deepAssign({}, section);
let updataFlag = false;
if (model.leftSectionCode !== this.oldLeftSectionCode) {
@@ -622,13 +615,10 @@ export default {
}
}
if (model.parentCode == copySection.code) { // 物理区段
- let lengthFact = 0;
- copySection.logicSectionCodeList.forEach(code => {
- if (model.code != code) {
- const localSectionModel = this.$store.getters['map/getDeviceByCode'](code);
- lengthFact += Number(localSectionModel.lengthFact);
- }
- });
+ let lengthFact = copySection.logicSectionCodeList.filter(code => model.code != code).reduce((pre, code) => {
+ const length = this.$store.getters['map/getDeviceByCode'](code).lengthFact;
+ return pre + Number(length);
+ }, 0);
lengthFact += model.lengthFact;
copySection.lengthFact = lengthFact.toFixed(3); // 自动获取 物理区段的 实际长度 是由逻辑区段相加
if (copySection.lengthFact > 5) {
@@ -696,7 +686,6 @@ export default {
models = [...models, ...deleteObjAssociatedSection];
this.$emit('updateMapModel', models);
this.clear();
- this.deviceSelect();
}).catch(error => {
console.log(error);
this.$message.info(this.$t('tip.cancelledDelete'));
@@ -736,15 +725,7 @@ export default {
}
},
clear() {
- this.$refs.dataform && this.$refs.dataform.resetFields();
- // 新加属性需要单独在这里清除(避免老数据无新属性,深拷贝是未获取属性,沿用上一个设备的属性导致的数据污染)
- this.editModel.logicSectionCodeList = [];
- this.editModel.rightSectionCode = '';
- this.editModel.leftSectionCode = '';
- this.editModel.rightAxleOffset = {x:0, y:0};
- this.editModel.leftAxleOffset = {x:0, y:0};
- this.editModel.leftAxlePosition = 0;
- this.editModel.rightAxlePosition = 0;
+ this.$refs.dataform && this.$refs.dataform.resetFields(); // 表单重置 移入校验结果
}
}
};
diff --git a/src/views/newMap/newMapdraft/mapoperate/signal/index.vue b/src/views/newMap/newMapdraft/mapoperate/signal/index.vue
index abc855339..7cf9faa93 100644
--- a/src/views/newMap/newMapdraft/mapoperate/signal/index.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/signal/index.vue
@@ -33,12 +33,7 @@
-
+
@@ -50,22 +45,12 @@
-
+
-
+
@@ -133,7 +118,6 @@ export default {
SignalLampPostTypeList: [],
SignalLampPositionTypeList: [],
SignalPositionTypeList: [],
- // SignalUseTypeList: [],
failTypes: [
{ code: '00', name: this.$t('map.normal') },
{ code: '01', name: this.$t('map.signalFilamentAlarm') }
@@ -277,7 +261,6 @@ export default {
{ prop: 'stationCode', label: this.$t('map.equipmentStation'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.centralizedStationList },
{ prop: 'interlockStationCode', label: '所属联锁站', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.ciStationList},
{ prop: 'uniqueName', label: this.$t('map.signalUniqueName'), type: 'input' },
- // { prop: 'useType', label: this.$t('map.signalUseType'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SignalUseTypeList },
{ prop: 'sectionCode', label: this.$t('map.belongsSection'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.signalSectionList },
{ prop: 'sectionOffset', label: this.$t('map.signalOffset'), type: 'number', min: 0, placeholder: this.$t('tip.meter') }
@@ -340,10 +323,6 @@ export default {
this.$Dictionary.signalPositionType().then(list => {
this.SignalPositionTypeList = list;
});
-
- // this.$Dictionary.signalUseType().then(list => {
- // this.SignalUseTypeList = list;
- // });
},
methods: {
deviceChange(code) {
@@ -355,14 +334,6 @@ export default {
this.$refs.dataform && this.$refs.dataform.resetFields();
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
- this.editModel.rotate = selected.rotate || 0; // 角度
- this.editModel.type = selected.type || '';
- this.editModel.interlockStationCode = selected.interlockStationCode || '';
- if (!selected.positionPoint) {
- this.editModel.positionPoint.x = 0;
- this.editModel.positionPoint.y = 0;
- }
- this.editModel.right = Boolean(selected.right);
} else if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase() && this.field.toUpperCase() === 'selectSingalCode'.toUpperCase()) {
if (selected.type == '01' || selected.type === '03') {
this.$refs.createSignal.setSectionCode(selected.code);
@@ -394,17 +365,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type === 'Signal') {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
this.$refs.dataform && this.$refs.dataform.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
},
diff --git a/src/views/newMap/newMapdraft/mapoperate/splitStation.vue b/src/views/newMap/newMapdraft/mapoperate/splitStation.vue
index 36405bc6e..4d88e5afe 100644
--- a/src/views/newMap/newMapdraft/mapoperate/splitStation.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/splitStation.vue
@@ -140,8 +140,8 @@ export default {
},
methods: {
deviceSelect(selected) {
- this.$refs.dataform && this.$refs.dataform.resetFields();
- this.$refs.make && this.$refs.make.resetFields();
+ this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$refs.make && this.$refs.make.resetFields();
if (selected && selected._type === 'SplitStation') {
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
@@ -190,7 +190,7 @@ export default {
type: 'warning'
}).then(() => {
this.$emit('updateMapModel', {...selected, _dispose: true});
- this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$refs.dataform && this.$refs.dataform.resetFields();
}).catch(() => {
this.$message.info(this.$t('tip.cancelledDelete'));
});
diff --git a/src/views/newMap/newMapdraft/mapoperate/station.vue b/src/views/newMap/newMapdraft/mapoperate/station.vue
index a285659d8..1c5c03d54 100644
--- a/src/views/newMap/newMapdraft/mapoperate/station.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/station.vue
@@ -292,12 +292,10 @@ export default {
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
},
deviceSelect(selected) {
- // this.$refs.make.resetFields();
if (selected && selected._type.toUpperCase() === 'Station'.toUpperCase()) {
- this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$refs.dataform && this.$refs.dataform.resetFields();
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
- this.editModel.runPlanName = selected.runPlanName || '';
// 被控制的车站数据
const beCentralizedStation = {};
this.stationList.forEach(data=>{
@@ -478,16 +476,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'Station'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.dataform && this.$refs.dataform.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
},
diff --git a/src/views/newMap/newMapdraft/mapoperate/stationstand.vue b/src/views/newMap/newMapdraft/mapoperate/stationstand.vue
index af7148833..d18f17c14 100644
--- a/src/views/newMap/newMapdraft/mapoperate/stationstand.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/stationstand.vue
@@ -235,8 +235,7 @@ export default {
};
// 清空表单验证提示信息
this.$nextTick(() => {
- this.$refs.dataform &&
- this.$refs.dataform.clearValidate();
+ this.$refs.dataform && this.$refs.dataform.clearValidate();
});
return rules;
@@ -367,7 +366,7 @@ export default {
},
deviceSelect(selected) {
if (this.field.toUpperCase() != 'standSelectStationCode'.toUpperCase() && selected && selected._type.toUpperCase() === 'StationStand'.toUpperCase()) {
- this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$refs.dataform && this.$refs.dataform.resetFields();
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
}
@@ -493,7 +492,6 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'StationStand'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
@@ -511,11 +509,10 @@ export default {
models.push(deepAssign(item, { _dispose: true }));
}
});
- _that.$emit('updateMapModel', models);
- _that.deviceSelect();
- this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$emit('updateMapModel', models);
+ this.$refs.dataform && this.$refs.dataform.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
},
diff --git a/src/views/newMap/newMapdraft/mapoperate/switch/index.vue b/src/views/newMap/newMapdraft/mapoperate/switch/index.vue
index 730120093..65fba51cc 100644
--- a/src/views/newMap/newMapdraft/mapoperate/switch/index.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/switch/index.vue
@@ -98,6 +98,9 @@ export default {
},
deleteObj() {
this.$refs.switchModel.deleteObj();
+ },
+ edit() {
+ this.$refs.switchModel.edit();
}
}
};
diff --git a/src/views/newMap/newMapdraft/mapoperate/switch/switchModle.vue b/src/views/newMap/newMapdraft/mapoperate/switch/switchModle.vue
index dd2c20937..3787ef278 100644
--- a/src/views/newMap/newMapdraft/mapoperate/switch/switchModle.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/switch/switchModle.vue
@@ -103,8 +103,7 @@ export default {
};
// 清空表单验证提示信息
this.$nextTick(() => {
- this.$refs.dataform &&
- this.$refs.dataform.clearValidate();
+ this.$refs.dataform && this.$refs.dataform.clearValidate();
});
return rules;
@@ -129,7 +128,7 @@ export default {
this.setModel(this.$store.getters['map/getDeviceByCode'](code));
},
setModel(data) {
- this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$refs.dataform && this.$refs.dataform.resetFields();
this.editModel = deepAssign(this.editModel, data);
},
// 修改对象
@@ -148,17 +147,16 @@ export default {
const models = [];
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'Switch'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
models.push(deepAssign(selected, { _dispose: true }));
- _that.$emit('updateMapModel', models);
- _that.deviceSelect();
+ this.$emit('updateMapModel', models);
+ this.$refs.dataform && this.$refs.dataform.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelGeneration'));
+ this.$message.info(this.$t('tip.cancelGeneration'));
});
}
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/text.vue b/src/views/newMap/newMapdraft/mapoperate/text.vue
index 35416b837..9add562bf 100644
--- a/src/views/newMap/newMapdraft/mapoperate/text.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/text.vue
@@ -192,8 +192,8 @@ export default {
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
},
deviceSelect(selected) {
- this.$refs.form && this.$refs.form.resetFields();
- this.$refs.make && this.$refs.make.resetFields();
+ this.$refs.form && this.$refs.form.resetFields();
+ this.$refs.make && this.$refs.make.resetFields();
if (selected && selected._type.toUpperCase() === 'Text'.toUpperCase()) {
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
@@ -232,16 +232,15 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'Text'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.form && this.$refs.form.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
}
diff --git a/src/views/newMap/newMapdraft/mapoperate/trainwindow.vue b/src/views/newMap/newMapdraft/mapoperate/trainwindow.vue
index d2bb50dda..b69c3af7c 100644
--- a/src/views/newMap/newMapdraft/mapoperate/trainwindow.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/trainwindow.vue
@@ -348,7 +348,6 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'TrainWindow'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
@@ -363,10 +362,10 @@ export default {
}
});
models.push(deepAssign(selected, { _dispose: true }));
- _that.$emit('updateMapModel', models);
- _that.deviceSelect();
+ this.$emit('updateMapModel', models);
+ this.$refs.form && this.$refs.form.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
},
diff --git a/src/views/newMap/newMapdraft/mapoperate/zcControl.vue b/src/views/newMap/newMapdraft/mapoperate/zcControl.vue
index 29836fff2..e5779eb98 100644
--- a/src/views/newMap/newMapdraft/mapoperate/zcControl.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/zcControl.vue
@@ -182,8 +182,8 @@ export default {
this.getConcertrateStation();
},
deviceSelect(selected) {
- this.$refs.dataform && this.$refs.dataform.resetFields();
- this.$refs.make && this.$refs.make.resetFields();
+ this.$refs.dataform && this.$refs.dataform.resetFields();
+ this.$refs.make && this.$refs.make.resetFields();
if (selected && selected._type.toUpperCase() === 'ZcControl'.toUpperCase()) {
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
@@ -251,7 +251,6 @@ export default {
deleteObj() {
const selected = this.$store.getters['map/getDeviceByCode'](this.editModel.code);
if (selected && selected._type.toUpperCase() === 'ZcControl'.toUpperCase()) {
- const _that = this;
this.$confirm(this.$t('tip.confirmDeletion'), this.$t('tip.hint'), {
confirmButtonText: this.$t('tip.confirm'),
cancelButtonText: this.$t('tip.cancel'),
@@ -267,10 +266,10 @@ export default {
}
});
});
- _that.$emit('updateMapModel', {...selected, _dispose: true});
- _that.deviceSelect();
+ this.$emit('updateMapModel', {...selected, _dispose: true});
+ this.$refs.dataform && this.$refs.dataform.resetFields();
}).catch(() => {
- _that.$message.info(this.$t('tip.cancelledDelete'));
+ this.$message.info(this.$t('tip.cancelledDelete'));
});
}
},
From 86d59db1779ed2e27852ccdfb609853f8243c927 Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Mon, 18 May 2020 17:59:38 +0800
Subject: [PATCH 15/40] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=B7=AF=E7=94=B1?=
=?UTF-8?q?=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/permission.js | 4 +-
src/router/index_Common.js | 45 ++++++++--------
src/store/modules/permission.js | 11 ++--
src/utils/baseUrl.js | 4 +-
.../newMap/mapsystemNew/plugin/setFault.vue | 53 ++++++++++++-------
5 files changed, 71 insertions(+), 46 deletions(-)
diff --git a/src/permission.js b/src/permission.js
index 949a5a037..9834b35a7 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -44,6 +44,9 @@ function getRouteInfo(to) {
break;
}
}
+ if (whiteList.includes(toRoutePath)) {
+ removeToken();
+ }
if (isDesignPage(toRoutePath)) {
const whitePage = PermissionParam[current_session] ? PermissionParam[current_session].whitePage : '';
loginPath = whitePage || loginDesignPage;
@@ -114,7 +117,6 @@ router.beforeEach((to, from, next) => {
}
} else {
// 继电器使用
- // console.log(to);
// 未登录情况下
if (whiteList.indexOf(to.path) !== -1) {
// 在免登录白名单,直接进入
diff --git a/src/router/index_Common.js b/src/router/index_Common.js
index ca11e1bd6..5e11e1e92 100644
--- a/src/router/index_Common.js
+++ b/src/router/index_Common.js
@@ -960,29 +960,32 @@ export const asyncRouter = [
]
}
]
- },
- {
- path: '/design/student',
- redirect: '/design/student/home',
- component: Layout,
- meta: {
- i18n: 'router.studentManage',
- roles: [admin, lessonCreater]
- },
- hidden: getSessionStorage('project') ? !getSessionStorage('project').endsWith('gzb') && !window.document.location.pathname.includes('gzb') : !window.document.location.pathname.includes('gzb'),
- children: [
- {
- path: 'home',
- component: StudentManage,
- meta: {
- i18n: 'router.studentManage',
- icon: 'design',
- hidden: true
- }
- }
- ]
}
];
+export const projectRoute = {
+ designgzb: [
+ {
+ path: '/design/student',
+ redirect: '/design/student/home',
+ component: Layout,
+ meta: {
+ i18n: 'router.studentManage',
+ roles: [admin, lessonCreater]
+ },
+ children: [
+ {
+ path: 'home',
+ component: StudentManage,
+ meta: {
+ i18n: 'router.studentManage',
+ icon: 'design',
+ hidden: true
+ }
+ }
+ ]
+ }
+ ]
+};
export const JSXT = [
{
path: '/jsxt',
diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js
index 03bbc159e..e42333265 100644
--- a/src/store/modules/permission.js
+++ b/src/store/modules/permission.js
@@ -1,4 +1,4 @@
-import { asyncRouter, constantRoutes, user, userLesson, userExam, userSimulation, userScreen, userPlan, superAdmin, admin, userTrainingPlatform, JSXT } from '@/router/index_APP_TARGET';
+import { asyncRouter, constantRoutes, user, userLesson, userExam, userSimulation, userScreen, userPlan, superAdmin, admin, userTrainingPlatform, JSXT, projectRoute } from '@/router/index_APP_TARGET';
import { PermissionType } from '@/utils/PermissionType';
import { UrlConfig } from '@/scripts/ConstDic';
import { getSessionStorage } from '@/utils/auth';
@@ -104,8 +104,13 @@ const permission = {
if (roles.indexOf(superAdmin) >= 0 && roles.indexOf(admin) < 0) {
roles.push(admin);
}
- const routeArr = [...asyncRouter, ...JSXT];
-
+ const proRoute = projectRoute[getSessionStorage('project')];
+ let routeArr = [];
+ if (proRoute && proRoute.constructor === Array) {
+ routeArr = [...asyncRouter, ...JSXT, ...proRoute];
+ } else {
+ routeArr = [...asyncRouter, ...JSXT];
+ }
const accessedRouters = filterAsyncRouter(routeArr, roles);
accessedRouters.forEach(route => {
if (route.children && route.children.length == 0) {
diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js
index 8df5a551d..4ff00eac2 100644
--- a/src/utils/baseUrl.js
+++ b/src/utils/baseUrl.js
@@ -2,11 +2,11 @@ export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud';
- // BASE_API = 'https://test.joylink.club/jlcloud';
+ BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
// BASE_API = 'http://192.168.3.6:9000'; // 旭强
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
- BASE_API = 'http://192.168.3.82:9000'; // 杜康
+ // BASE_API = 'http://192.168.3.82:9000'; // 杜康
// BASE_API = 'http://192.168.3.41:9000'; // 张S赛
// BASE_API = 'http://b29z135112.zicp.vip';
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
diff --git a/src/views/newMap/mapsystemNew/plugin/setFault.vue b/src/views/newMap/mapsystemNew/plugin/setFault.vue
index 20c3688ba..a26fa68f1 100644
--- a/src/views/newMap/mapsystemNew/plugin/setFault.vue
+++ b/src/views/newMap/mapsystemNew/plugin/setFault.vue
@@ -5,19 +5,25 @@
故障类型:
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -46,9 +52,14 @@ export default {
switchName: '',
activeShow: false,
deviceName: '',
- faultType: '',
faultList: [],
- className: ''
+ className: '',
+ form: { faultType: ''},
+ rules: {
+ faultType: [
+ { required: true, message: '请选择故障类型', trigger: 'change'}
+ ]
+ }
};
},
computed: {
@@ -123,12 +134,16 @@ export default {
doClose() {
this.loading = false;
this.dialogShow = false;
+ this.form.faultType = '';
+ this.$refs.form.resetFields();
this.$store.dispatch('training/emitTipFresh');
},
commit() {
- if (this.faultType) {
- this.sendCommand();
- }
+ this.$refs.form.validate((valid) => {
+ if (valid) {
+ this.sendCommand();
+ }
+ });
},
sendCommand() { // 发送指令
this.loading = true;
@@ -137,7 +152,7 @@ export default {
operation: this.operation,
cmdType: this.cmdType,
param: {
- faultType: this.faultType
+ faultType: this.form.faultType
}
};
this.$store.dispatch('training/nextNew', setp).then(({ valid }) => {
From 09b3b684cfe995c82111964f0650f90624a2074d Mon Sep 17 00:00:00 2001
From: zyy <1787816799@qq.com>
Date: Tue, 19 May 2020 09:03:38 +0800
Subject: [PATCH 16/40] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=AB=9E=E8=B5=9B?=
=?UTF-8?q?=E7=B3=BB=E7=BB=9F=E8=B7=AF=E7=94=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/i18n/langs/zh/router.js | 3 +-
src/router/index_Common.js | 32 +++++++++++++---
src/scripts/ProjectConfig.js | 2 +-
src/store/modules/permission.js | 5 ++-
src/utils/baseUrl.js | 4 +-
.../{ => jsxt}/competition/demonList.vue | 0
src/views/{ => jsxt}/competition/index.vue | 0
src/views/jsxt/home/index.vue | 37 +++++++++++++++++++
src/views/{ => jsxt}/refereeList/index.vue | 0
src/views/login/index.vue | 6 ++-
10 files changed, 77 insertions(+), 12 deletions(-)
rename src/views/{ => jsxt}/competition/demonList.vue (100%)
rename src/views/{ => jsxt}/competition/index.vue (100%)
create mode 100644 src/views/jsxt/home/index.vue
rename src/views/{ => jsxt}/refereeList/index.vue (100%)
diff --git a/src/i18n/langs/zh/router.js b/src/i18n/langs/zh/router.js
index 70aaa568f..ffc9c7d0d 100644
--- a/src/i18n/langs/zh/router.js
+++ b/src/i18n/langs/zh/router.js
@@ -78,5 +78,6 @@ export default {
iscsSystem: 'Iscs系统',
studentManage: '学生管理',
competitionManage: '竞赛管理',
- refereeJManage: '仿真管理'
+ refereeJManage: '仿真管理',
+ homeJsxt: '首页'
};
diff --git a/src/router/index_Common.js b/src/router/index_Common.js
index ca11e1bd6..aa97d49be 100644
--- a/src/router/index_Common.js
+++ b/src/router/index_Common.js
@@ -121,8 +121,9 @@ const DeviceManage = () => import('@/views/system/deviceManage/index');
const MapSort = () => import('@/views/publish/publishMap/mapSort');
const StudentManage = () => import('@/views/studentManage');
-const CompetitionManage = () => import('@/views/competition/index');
-const RefereeList = () => import('@/views/refereeList/index');
+const CompetitionManage = () => import('@/views/jsxt/competition/index');
+const RefereeList = () => import('@/views/jsxt/refereeList/index');
+const homeJsxt = () => import('@/views/jsxt/home/index');
import { loginInfo, GenerateRouteProjectList } from '@/scripts/ProjectConfig';
import { getSessionStorage } from '@/utils/auth';
@@ -159,6 +160,7 @@ export const userSimulation = '013'; // 仿真系统
export const userScreen = '014'; // 大屏系统
export const userPlan = '015'; // 计划系统
export const userTrainingPlatform = '016'; // 实训平台
+export const refereePlatform = '017';
// const isDev = process.env.NODE_ENV === 'development';
/**
@@ -991,7 +993,6 @@ export const JSXT = [
i18n: 'router.competitionManage',
roles: [user, userTrainingPlatform, referee]
},
- pathStr: 'jsxt',
hidden: getSessionStorage('project') ? !getSessionStorage('project').endsWith('jsxt') && !window.document.location.pathname.includes('jsxt') : !window.document.location.pathname.includes('jsxt'),
children: [
{
@@ -1009,10 +1010,29 @@ export const JSXT = [
path: '/refereeJsxt',
component: Layout,
meta: {
- i18n: 'router.refereeJManage',
- roles: [referee, userTrainingPlatform]
+ i18n: 'router.homeJsxt',
+ roles: [user, referee, refereePlatform]
+ },
+ hidden: getSessionStorage('project') ? !getSessionStorage('project').endsWith('refereeJsxt') && !window.document.location.pathname.includes('refereeJsxt') : !window.document.location.pathname.includes('refereeJsxt'),
+ children: [
+ {
+ path: 'preview',
+ component: homeJsxt,
+ meta: {
+ i18n: 'router.homeJsxt',
+ icon: 'design',
+ hidden: true
+ }
+ }
+ ]
+ },
+ {
+ path: '/referee',
+ component: Layout,
+ meta: {
+ i18n: 'router.refereeJManage',
+ roles: [referee, refereePlatform]
},
- pathStr: 'refereeJsxt',
hidden: getSessionStorage('project') ? !getSessionStorage('project').endsWith('refereeJsxt') && !window.document.location.pathname.includes('refereeJsxt') : !window.document.location.pathname.includes('refereeJsxt'),
children: [
{
diff --git a/src/scripts/ProjectConfig.js b/src/scripts/ProjectConfig.js
index ad9ecf7cf..c39a169a0 100644
--- a/src/scripts/ProjectConfig.js
+++ b/src/scripts/ProjectConfig.js
@@ -142,7 +142,7 @@ export const PermissionParam = { // 路径权限处理所需参数配置(跳
refereeJsxt: {
whitePage: '/refereeJsxt/login',
reg: /^\/refereeJsxt/,
- clientId: null
+ clientId: LoginParams.Design.clientId
}
};
export const ProjectList = [
diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js
index 03bbc159e..6dff59748 100644
--- a/src/store/modules/permission.js
+++ b/src/store/modules/permission.js
@@ -1,4 +1,4 @@
-import { asyncRouter, constantRoutes, user, userLesson, userExam, userSimulation, userScreen, userPlan, superAdmin, admin, userTrainingPlatform, JSXT } from '@/router/index_APP_TARGET';
+import { asyncRouter, constantRoutes, user, userLesson, userExam, userSimulation, userScreen, userPlan, superAdmin, admin, userTrainingPlatform, JSXT, refereePlatform } from '@/router/index_APP_TARGET';
import { PermissionType } from '@/utils/PermissionType';
import { UrlConfig } from '@/scripts/ConstDic';
import { getSessionStorage } from '@/utils/auth';
@@ -31,6 +31,9 @@ function hasPermission(roles, route, parentsRoles) {
if (getSessionStorage('project').startsWith('design')) {
const result = roles.filter(role => route.meta.roles.indexOf(role) >= 0) || [];
return result.length && route.meta.roles.indexOf(userTrainingPlatform) < 0;
+ } else if (getSessionStorage('project').startsWith('refereeJsxt')) {
+ const result = roles.filter(role => route.meta.roles.indexOf(role) >= 0) || [];
+ return result.length && route.meta.roles.indexOf(refereePlatform) >= 0;
} else {
roles = roles.filter(function (role) {
return route.meta.roles.indexOf(role) >= 0;
diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js
index 8df5a551d..4ff00eac2 100644
--- a/src/utils/baseUrl.js
+++ b/src/utils/baseUrl.js
@@ -2,11 +2,11 @@ export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud';
- // BASE_API = 'https://test.joylink.club/jlcloud';
+ BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
// BASE_API = 'http://192.168.3.6:9000'; // 旭强
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
- BASE_API = 'http://192.168.3.82:9000'; // 杜康
+ // BASE_API = 'http://192.168.3.82:9000'; // 杜康
// BASE_API = 'http://192.168.3.41:9000'; // 张S赛
// BASE_API = 'http://b29z135112.zicp.vip';
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
diff --git a/src/views/competition/demonList.vue b/src/views/jsxt/competition/demonList.vue
similarity index 100%
rename from src/views/competition/demonList.vue
rename to src/views/jsxt/competition/demonList.vue
diff --git a/src/views/competition/index.vue b/src/views/jsxt/competition/index.vue
similarity index 100%
rename from src/views/competition/index.vue
rename to src/views/jsxt/competition/index.vue
diff --git a/src/views/jsxt/home/index.vue b/src/views/jsxt/home/index.vue
new file mode 100644
index 000000000..60e021e47
--- /dev/null
+++ b/src/views/jsxt/home/index.vue
@@ -0,0 +1,37 @@
+
+
+ 欢迎进入首页
+
+
+
+
+
diff --git a/src/views/refereeList/index.vue b/src/views/jsxt/refereeList/index.vue
similarity index 100%
rename from src/views/refereeList/index.vue
rename to src/views/jsxt/refereeList/index.vue
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 712f9ac10..218aaef1b 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -218,7 +218,11 @@ export default {
} else if (this.project.startsWith('jsxt')) {
this.path = '/jsxt/home';
} else if (this.project.startsWith('refereeJsxt')) {
- this.path = '/refereeJsxt/home';
+ this.cookiesName = 'UserDesignName';
+ this.cookiesToken = 'UserDesignToken';
+ this.modelType = 'design';
+ this.loginClient = 'Design';
+ this.path = '/refereeJsxt/preview';
}
const nowLang = LangStorage.getLang('zh');
From 46092a9b8e94d2eadc26565a01829c85cfa32c2b Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Tue, 19 May 2020 09:09:38 +0800
Subject: [PATCH 17/40] =?UTF-8?q?=E8=A5=BF=E5=AE=89=E4=B8=89=E5=8F=B3?=
=?UTF-8?q?=E9=94=AE=E8=8F=9C=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/jmapNew/theme/xian_01/menus/menuStation.vue | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/jmapNew/theme/xian_01/menus/menuStation.vue b/src/jmapNew/theme/xian_01/menus/menuStation.vue
index ca9705442..c00fab189 100644
--- a/src/jmapNew/theme/xian_01/menus/menuStation.vue
+++ b/src/jmapNew/theme/xian_01/menus/menuStation.vue
@@ -81,6 +81,16 @@ export default {
cmdType: CMD.Station.active
}
// {
+ // label: '所有进路交人工控',
+ // handler: this.humanControlALL,
+ // cmdType: ''
+ // },
+ // {
+ // label: '所有进路交ATS自动控',
+ // handler: this.atsAutoControlALL,
+ // cmdType: ''
+ // }
+ // {
// label: '执行关键操作测试',
// handler: this.execKeyOperationTest,
// cmdType: CMD.Station.active,
From 08991c8694b079e80fbbe3736f4e9cdb061a3fc4 Mon Sep 17 00:00:00 2001
From: joylink_cuiweidong <364937672@qq.com>
Date: Tue, 19 May 2020 09:45:15 +0800
Subject: [PATCH 18/40] =?UTF-8?q?=E5=89=A7=E6=9C=AC=E4=BB=A3=E7=A0=81?=
=?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/jmapNew/shape/Switch/index.js | 4 +-
src/views/newMap/displayNew/designIndex.vue | 37 +++++++++++++++++++
src/views/newMap/displayNew/index.vue | 12 ++++--
src/views/newMap/displayNew/menuDemon.vue | 15 ++++----
src/views/newMap/displayNew/menuSchema.vue | 16 ++++++--
.../scriptManage/display/tipScriptRecord.vue | 11 +++++-
.../scriptManage/scriptRecord/addAction.vue | 26 ++++++-------
7 files changed, 92 insertions(+), 29 deletions(-)
diff --git a/src/jmapNew/shape/Switch/index.js b/src/jmapNew/shape/Switch/index.js
index 0b9312fcf..475e9f476 100644
--- a/src/jmapNew/shape/Switch/index.js
+++ b/src/jmapNew/shape/Switch/index.js
@@ -161,8 +161,8 @@ export default class Switch extends Group {
z: this.z + 6,
_subType: 'enabled', // 标识
style: {
- x: arrowTextX,
- y: arrowTextY + 10,
+ x: nameTextX,
+ y: nameTextY + directy * 20,
fontSize: 12,
text: 'E',
textAlign: 'center',
diff --git a/src/views/newMap/displayNew/designIndex.vue b/src/views/newMap/displayNew/designIndex.vue
index 8ffb148e0..2af6e52c5 100644
--- a/src/views/newMap/displayNew/designIndex.vue
+++ b/src/views/newMap/displayNew/designIndex.vue
@@ -24,8 +24,12 @@
:offset="offset"
:offset-bottom="offsetBottom"
:group="group"
+ :show-station="showStation"
+ :station-list="stationList"
+ :show-select-station="showSelectStation"
@switchMode="switchMode"
@selectQuest="selectQuest"
+ @switchStationMode="switchStationMode"
/>
@@ -104,6 +108,9 @@ export default {
simulationShow: false,
drivingShow: false,
questId: 0, // 加载任务的Id
+ showStation: '',
+ stationList: [],
+ showSelectStation: false, // 是否展示现地选择设备集中站select
group: '',
prdTypeMap: {
'01': '01', // 现地 => 现地
@@ -162,6 +169,12 @@ export default {
'$store.state.map.mapViewLoadedCount': function (val) {
this.mapBoxP = document.getElementById(this.canvasId).children[0];
this.mapBoxP.style.cursor = '';
+ this.switchStationMode(this.showStation);
+ },
+ '$store.state.training.centerStationCode': function(code) {
+ if (code) {
+ this.showStation = code;
+ }
},
// '$store.state.training.prdType': function(val) {
// debugger;
@@ -172,6 +185,10 @@ export default {
'$store.state.app.windowSizeCount': function() {
this.setWindowSize();
},
+ '$store.state.map.map': function (val) {
+ this.showSelectStation = val.skinVO.code === '06' && this.$store.state.training.prdType === '01';
+ this.showSelectStation && this.setStationList(val);
+ },
$route() {
this.$nextTick(() => {
this.initLoadData();
@@ -436,6 +453,26 @@ export default {
this.$store.dispatch('config/resize', { width, height });
this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: this.offsetStationCode });
});
+ },
+ switchStationMode(val) {
+ if (val == null && this.stationList.length > 0) {
+ this.showStation = this.stationList[0].value;
+ } else {
+ this.showStation = val;
+ }
+ this.$store.dispatch('map/setShowCentralizedStationCode', this.showStation);
+ this.$store.dispatch('map/setShowCentralizedStationNum');
+ },
+ setStationList(val) {
+ this.stationList = [];
+ (val.stationList || []).forEach(item => {
+ if (item.centralized) {
+ this.stationList.push({value: item.code, name: item.name});
+ }
+ });
+ if (this.stationList.length) {
+ this.showStation = this.stationList[0].value;
+ }
}
}
};
diff --git a/src/views/newMap/displayNew/index.vue b/src/views/newMap/displayNew/index.vue
index fcda0d5c2..4c7c007f6 100644
--- a/src/views/newMap/displayNew/index.vue
+++ b/src/views/newMap/displayNew/index.vue
@@ -627,9 +627,15 @@ export default {
}
},
switchStationMode(val) {
- this.showStation = val;
- this.$store.dispatch('map/setShowCentralizedStationCode', this.showStation);
- this.$store.dispatch('map/setShowCentralizedStationNum');
+ if (this.stationList.length > 0) {
+ if (val == null) {
+ this.showStation = this.stationList[0].value;
+ } else {
+ this.showStation = val;
+ }
+ this.$store.dispatch('map/setShowCentralizedStationCode', this.showStation);
+ this.$store.dispatch('map/setShowCentralizedStationNum');
+ }
},
setStationList(val) {
this.stationList = [];
diff --git a/src/views/newMap/displayNew/menuDemon.vue b/src/views/newMap/displayNew/menuDemon.vue
index 5ecee252f..b8f3287e9 100644
--- a/src/views/newMap/displayNew/menuDemon.vue
+++ b/src/views/newMap/displayNew/menuDemon.vue
@@ -329,11 +329,12 @@ export default {
font-size: 18px !important;
color: #fff;
}
-
- .display-draft {
- position: absolute;
- float: right;
- right: 20px;
- bottom: 15px;
- }
+
+
diff --git a/src/views/newMap/displayNew/menuSchema.vue b/src/views/newMap/displayNew/menuSchema.vue
index a9b08129e..d858431b0 100644
--- a/src/views/newMap/displayNew/menuSchema.vue
+++ b/src/views/newMap/displayNew/menuSchema.vue
@@ -1,10 +1,10 @@
-
+
-
+
@@ -89,6 +89,7 @@ export default {
viewDisabled: true,
runing: false,
swch: '01',
+ isScriptCommand:false,
swchList: [
{ value: '01', name: '现地' },
{ value: '02', name: '行调' }
@@ -126,10 +127,14 @@ export default {
await this.loadRunData(this.$route.query);
}
}
+ },
+ '$store.state.scriptRecord.bgSet':function (val) {
+ this.isScriptCommand = val;
}
},
async mounted() {
await this.loadRunData(this.$route.query);
+ this.isScriptCommand = this.$store.state.scriptRecord.bgSet;
},
methods: {
loadRunData(opt) {
@@ -185,7 +190,7 @@ export default {
},
switchMode(swch) {
this.$emit('switchMode', swch);
- let showMode = '02';
+ let showMode = '03';
if (swch == '01') {
showMode = '03';
} else if (swch == '02') {
@@ -202,6 +207,11 @@ export default {
}
});
this.$jlmap.updateShowMode(list, showMode);
+ if (swch == '02') {
+ this.switchStationMode('');
+ } else {
+ this.switchStationMode(null);
+ }
},
switchStationMode(val) {
this.$emit('switchStationMode', val);
diff --git a/src/views/scriptManage/display/tipScriptRecord.vue b/src/views/scriptManage/display/tipScriptRecord.vue
index ecff2cfb2..ea36b40a3 100644
--- a/src/views/scriptManage/display/tipScriptRecord.vue
+++ b/src/views/scriptManage/display/tipScriptRecord.vue
@@ -31,6 +31,7 @@ import Vue from 'vue';
import AddAction from '../scriptRecord/addAction';
import GetAction from '../scriptRecord/getAction';
import AddRole from '../scriptRecord/addRole';
+import {getDraftScriptByGroupNew} from '@/api/script';
import {saveScriptScenes, saveScriptScenesNew, saveScriptData, saveScriptDataNew, dumpScriptData, dumpScriptDataNew, updateMapLocation, updateMapLocationNew, scriptPause, simulationPause, executeScript, executeScriptNew} from '@/api/simulation';
export default {
@@ -85,7 +86,15 @@ export default {
},
mounted() {
// this.initAutoSaveScript();
- this.backDisabled = this.$store.state.scriptRecord.bgSet;
+ if (this.drawWay) {
+ getDraftScriptByGroupNew(this.group).then(response=>{
+ this.backDisabled = response.data.bgSet;
+ this.$store.dispatch('scriptRecord/updateBgSet', response.data.bgSet);
+ });
+ } else {
+ this.backDisabled = this.$store.state.scriptRecord.bgSet;
+ }
+
},
beforeDestroy() {
this.clearAutoSave();
diff --git a/src/views/scriptManage/scriptRecord/addAction.vue b/src/views/scriptManage/scriptRecord/addAction.vue
index 83e0ab83b..07a8aef0f 100644
--- a/src/views/scriptManage/scriptRecord/addAction.vue
+++ b/src/views/scriptManage/scriptRecord/addAction.vue
@@ -271,19 +271,19 @@ export default {
});
return lastData;
},
- hover(field) {
- if (this.field == '') {
- if (this.isFirstTips) {
- this.$message('请在右侧地图上选择操作');
- this.isFirstTips = false;
- }
- this.field = field;
- this.$store.dispatch('scriptRecord/updateIsScriptCommand', true);
- } else {
- this.field = '';
- this.$store.dispatch('scriptRecord/updateIsScriptCommand', false);
- }
- },
+ // hover(field) {
+ // if (this.field == '') {
+ // if (this.isFirstTips) {
+ // this.$message('请在右侧地图上选择操作');
+ // this.isFirstTips = false;
+ // }
+ // this.field = field;
+ // this.$store.dispatch('scriptRecord/updateIsScriptCommand', true);
+ // } else {
+ // this.field = '';
+ // this.$store.dispatch('scriptRecord/updateIsScriptCommand', false);
+ // }
+ // },
changeRole(index) {
const role = this.orginMemberList.find(elem=>{ return elem.id == index; }).role;
const data = {role:role};
From eba0bff7868ba694a83dacf86689bf7b9edb19f9 Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Tue, 19 May 2020 10:18:01 +0800
Subject: [PATCH 19/40] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E7=B3=BB=E7=BB=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/i18n/langs/en/router.js | 3 +-
src/i18n/langs/zh/map.js | 2 +-
src/i18n/langs/zh/router.js | 3 +-
src/router/index_Common.js | 10 +
src/views/jsxt/competition/examDetail.vue | 348 ++++++++++++++++++++++
5 files changed, 363 insertions(+), 3 deletions(-)
create mode 100644 src/views/jsxt/competition/examDetail.vue
diff --git a/src/i18n/langs/en/router.js b/src/i18n/langs/en/router.js
index 6520bb8e6..49c469f2c 100644
--- a/src/i18n/langs/en/router.js
+++ b/src/i18n/langs/en/router.js
@@ -75,5 +75,6 @@ export default {
deviceManage: 'Device management',
iscsDraw: 'Iscs Draw',
iscsSystem: 'Iscs System',
- studentManage: 'Student manage'
+ studentManage: 'Student manage',
+ examDetail: 'Exam detail'
};
diff --git a/src/i18n/langs/zh/map.js b/src/i18n/langs/zh/map.js
index 8d58a9c69..b95471af5 100644
--- a/src/i18n/langs/zh/map.js
+++ b/src/i18n/langs/zh/map.js
@@ -32,7 +32,7 @@ export default {
save: '保存',
updata: '更新',
- updateObj: '修改名称',
+ updateObj: '修改',
updateObjAxis: '更新坐标',
saveAs: '另存为',
publish: '发布',
diff --git a/src/i18n/langs/zh/router.js b/src/i18n/langs/zh/router.js
index ffc9c7d0d..b30c1ff92 100644
--- a/src/i18n/langs/zh/router.js
+++ b/src/i18n/langs/zh/router.js
@@ -79,5 +79,6 @@ export default {
studentManage: '学生管理',
competitionManage: '竞赛管理',
refereeJManage: '仿真管理',
- homeJsxt: '首页'
+ homeJsxt: '首页',
+ examDetail: '考试详情'
};
diff --git a/src/router/index_Common.js b/src/router/index_Common.js
index b83a56ad1..889d1c916 100644
--- a/src/router/index_Common.js
+++ b/src/router/index_Common.js
@@ -121,6 +121,7 @@ const DeviceManage = () => import('@/views/system/deviceManage/index');
const MapSort = () => import('@/views/publish/publishMap/mapSort');
const StudentManage = () => import('@/views/studentManage');
+const CompetitionDetail = () => import('@/views/jsxt/competition/examDetail');
const CompetitionManage = () => import('@/views/jsxt/competition/index');
const RefereeList = () => import('@/views/jsxt/refereeList/index');
const homeJsxt = () => import('@/views/jsxt/home/index');
@@ -1006,6 +1007,15 @@ export const JSXT = [
icon: 'design',
hidden: true
}
+ },
+ {
+ path: 'examDetail',
+ component: CompetitionDetail,
+ meta: {
+ il8n: 'router.examDetail',
+ icon: 'design',
+ hidden: true
+ }
}
]
},
diff --git a/src/views/jsxt/competition/examDetail.vue b/src/views/jsxt/competition/examDetail.vue
new file mode 100644
index 000000000..d163d9214
--- /dev/null
+++ b/src/views/jsxt/competition/examDetail.vue
@@ -0,0 +1,348 @@
+
+
+
+ {{ $t('exam.nameOfTestPaper') +': ' + examDetails.name }}
+
+
+
+
+ {{ $t('exam.examStartTime') +':' }}
+
+ {{ examDetails.startTime }} - {{ examDetails.endTime }}
+ {{ $t('exam.theExamIsReadyAnyTime') }}
+
+
+ {{ $t('exam.testExplanation') + ':' }}
+ {{ examDetails.remarks }}
+
+
+ {{ $t('exam.examTimeAvailable') + ':' }}
+
+
+
+ {{ $t('exam.fullMarksInTheExam') + ':' }}
+ {{ examDetails.fullPoint }}
+
+
+ {{ $t('exam.passMarkTheExam') + ':' }}
+ {{ examDetails.passingPoint }}
+
+
+ {{ $t('exam.examinationRules') + ':' }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('exam.startTheExam') }}
+ {{ $t('global.back') }}
+
+
+
+
+
+
+
From 9fc821f9404e6556d79f8fec86b96bfeed10a828 Mon Sep 17 00:00:00 2001
From: joylink_cuiweidong <364937672@qq.com>
Date: Tue, 19 May 2020 10:24:48 +0800
Subject: [PATCH 20/40] =?UTF-8?q?=E7=BB=BC=E5=90=88=E6=BC=94=E7=BB=83?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4=EF=BC=88=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=89=80=E6=9C=89=E9=9C=80=E8=A6=81=E5=80=BC?=
=?UTF-8?q?=E7=8F=AD=E5=91=98=E7=9A=84=E8=BD=A6=E7=AB=99=E6=8E=A5=E5=8F=A3?=
=?UTF-8?q?=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/jointTraining.js | 9 +++++++++
src/views/trainRoom/e-role.vue | 4 ++--
src/views/trainRoom/e-roles.vue | 27 +++++++++++++++++++--------
src/views/trainRoom/index.vue | 11 ++++++++++-
4 files changed, 40 insertions(+), 11 deletions(-)
diff --git a/src/api/jointTraining.js b/src/api/jointTraining.js
index dd3785ddc..7c77e7245 100644
--- a/src/api/jointTraining.js
+++ b/src/api/jointTraining.js
@@ -238,3 +238,12 @@ export function realDeviceIsUsedNew(group, projectCode) {
}
});
}
+
+// 获取所有需要值班员的车站(新版)
+export function getAvailableStaionList(mapId) {
+ return request({
+ url: `/api/map/${mapId}/station/needSupervisor`,
+ method: 'get'
+ });
+}
+
diff --git a/src/views/trainRoom/e-role.vue b/src/views/trainRoom/e-role.vue
index a9e5d575b..62f7ae5d8 100644
--- a/src/views/trainRoom/e-role.vue
+++ b/src/views/trainRoom/e-role.vue
@@ -33,8 +33,8 @@
@change="handleUpdUser(node, index)"
>
{ return elem.centralized; }).map(item => {
- const elem = { code: item.code, name: item.name, disabled: false };
- this.attendantList.forEach(nor => {
- if (elem.code == nor.deviceCode) {
- elem.disabled = true;
- }
+ if (this.drawWay === 'true') {
+ return this.availableStationList;
+ } else {
+ return this.stationList.filter(elem => { return elem.centralized; }).map(item => {
+ const elem = { code: item.code, name: item.name, disabled: false };
+ this.attendantList.forEach(nor => {
+ if (elem.code == nor.deviceCode) {
+ elem.disabled = true;
+ }
+ });
+ return elem;
});
- return elem;
- });
+ }
+
},
stationListForIBP() {
return this.stationList.map(item => {
diff --git a/src/views/trainRoom/index.vue b/src/views/trainRoom/index.vue
index 993fb4aaf..f0b489b96 100644
--- a/src/views/trainRoom/index.vue
+++ b/src/views/trainRoom/index.vue
@@ -22,6 +22,7 @@
:members="members"
:height="height"
:station-list="stationList"
+ :available-station-list="availableStationList"
:stand-list="standList"
:door-list="doorList"
@message="messageInfo"
@@ -47,7 +48,7 @@ import eMembers from './e-members';
import eChat from './e-chat';
import eRoles from './e-roles';
import { postRoomDetail, getJointTrainRoomUserList, getRealDevices, putJointTrainingSimulationEntrance, getjointTraining } from '@/api/chat';
-import { postRoomDetailNew, getJointTrainRoomUserListNew, putJointTrainingSimulationEntranceNew, getjointTrainingNew, getRealDevicesNew} from '@/api/jointTraining';
+import { postRoomDetailNew, getJointTrainRoomUserListNew, putJointTrainingSimulationEntranceNew, getjointTrainingNew, getRealDevicesNew, getAvailableStaionList} from '@/api/jointTraining';
import { getPublishMapInfo, hasDoorStationList } from '@/api/jmap/map';
import { launchFullscreen } from '@/utils/screen';
import { getStationList } from '@/api/runplan';
@@ -76,6 +77,7 @@ export default {
userMap: [],
members: [],
stationList: [],
+ availableStationList:[],
standList: [],
doorList: [],
timer: null
@@ -138,6 +140,9 @@ export default {
await this.getUserList();
await this.getStandList();
await this.getStaionList(this.room.mapId);
+ if (this.drawWay === 'true') {
+ await this.getAvailableStaionList(this.room.mapId);
+ }
await this.getDoorList(this.room.mapId, this.stationList);
if (this.timer) { clearInterval(this.timer); }
this.timer = setInterval(() => {
@@ -170,6 +175,10 @@ export default {
const resp = await getStationList(mapId);
this.stationList = resp.data || [];
},
+ async getAvailableStaionList(mapId) {
+ const resp = await getAvailableStaionList(mapId);
+ this.availableStationList = resp.data || [];
+ },
async getDoorList(mapId, stationList) {
const doorList = [];
hasDoorStationList(mapId).then(res =>{
From 3a72195e15c24b8c1c276c4111fc6858290631a9 Mon Sep 17 00:00:00 2001
From: zyy <1787816799@qq.com>
Date: Tue, 19 May 2020 10:30:27 +0800
Subject: [PATCH 21/40] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=AB=9E=E8=B5=9B?=
=?UTF-8?q?=E7=B3=BB=E7=BB=9F=E9=A1=B5=E9=9D=A2=E8=B7=AF=E7=94=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/router/index_Common.js | 27 ++++++++++++++---
src/views/jsxt/competition/demonList.vue | 32 +++++++++++++--------
src/views/jsxt/competition/home.vue | 20 +++++++++++++
src/views/jsxt/competition/theory/index.vue | 20 +++++++++++++
4 files changed, 83 insertions(+), 16 deletions(-)
create mode 100644 src/views/jsxt/competition/home.vue
create mode 100644 src/views/jsxt/competition/theory/index.vue
diff --git a/src/router/index_Common.js b/src/router/index_Common.js
index b83a56ad1..aea6f912f 100644
--- a/src/router/index_Common.js
+++ b/src/router/index_Common.js
@@ -122,6 +122,8 @@ const MapSort = () => import('@/views/publish/publishMap/mapSort');
const StudentManage = () => import('@/views/studentManage');
const CompetitionManage = () => import('@/views/jsxt/competition/index');
+const CompetitionHome = () => import('@/views/jsxt/competition/home');
+const theoryManage = () => import('@/views/jsxt/competition/theory/index');
const RefereeList = () => import('@/views/jsxt/refereeList/index');
const homeJsxt = () => import('@/views/jsxt/home/index');
@@ -991,6 +993,7 @@ export const projectRoute = {
export const JSXT = [
{
path: '/jsxt',
+ redirect: '/jsxt/home',
component: Layout,
meta: {
i18n: 'router.competitionManage',
@@ -999,13 +1002,29 @@ export const JSXT = [
hidden: getSessionStorage('project') ? !getSessionStorage('project').endsWith('jsxt') && !window.document.location.pathname.includes('jsxt') : !window.document.location.pathname.includes('jsxt'),
children: [
{
- path: 'home',
+ path: '',
+ redirect: '/jsxt/home',
component: CompetitionManage,
meta: {
i18n: 'router.competitionManage',
- icon: 'design',
- hidden: true
- }
+ icon: 'design'
+ },
+ children: [
+ {
+ path: 'home',
+ component: CompetitionHome,
+ meta: {
+ hidden: true
+ }
+ },
+ {
+ path: 'theory/:id',
+ component: theoryManage,
+ meta: {
+ hidden: true
+ }
+ }
+ ]
}
]
},
diff --git a/src/views/jsxt/competition/demonList.vue b/src/views/jsxt/competition/demonList.vue
index 936e4c791..98e4e2fbe 100644
--- a/src/views/jsxt/competition/demonList.vue
+++ b/src/views/jsxt/competition/demonList.vue
@@ -20,8 +20,7 @@
>
- 仿真系统
- {{ node.data.name }}
+ {{ node.data.name }}
@@ -37,14 +36,18 @@ export default {
data() {
return {
loading: false,
- treeList: [],
+ treeList: [
+ {name: '西安考试地图', id: '13', type: 'Map', children: [
+ {name: '理论竞赛', type: 'theory'},
+ {name: '考试系统', type: 'exam'}
+ ]}
+ ],
defaultProps: {
children: 'children',
label: 'name'
},
mapId: '',
- expandList: [],
- filterSelect: ''
+ expandList: []
};
},
computed: {
@@ -68,7 +71,7 @@ export default {
return data.name.indexOf(value) !== -1;
},
clickEvent(obj, data, ele) {
- localStore.set('trainingPlatformCheckId' + this.filterSelect + this.userId, obj.id);
+ localStore.set('trainingPlatformCheckId' + this.userId, obj.id);
while (data) {
if (data.data.type === 'Map') {
this.mapId = data.data.id;
@@ -76,21 +79,26 @@ export default {
}
data = data.parent;
}
- console.log(obj, data, ele);
- },
- setLocalRoute(path) {
- localStore.set('trainingPlatformRoute' + this.userId, path);
+ if (obj.type === 'Map') {
+ this.mapId = obj.id;
+ this.$router.push({ path: `/jsxt/home`});
+ } else if (obj.type == 'theory') {
+ // console.log(obj);
+ this.$router.push({ path: `/jsxt/theory/${this.mapId}`});
+ } else if (obj.type == 'exam') {
+ // console.log(obj);
+ }
},
nodeExpand(obj, node, ele) {
const key = obj.id + obj.type;
this.expandList = this.expandList.filter(item => item !== key);
this.expandList.push(key);
- localStore.set('trainIngPlatformExpandList' + this.filterSelect + this.userId, this.expandList);
+ localStore.set('trainIngPlatformExpandList' + this.userId, this.expandList);
},
nodeCollapse(obj, node, ele) {
const key = obj.id + obj.type;
this.expandList = this.expandList.filter(item => item !== key);
- localStore.set('trainIngPlatformExpandList' + this.filterSelect + this.userId, this.expandList);
+ localStore.set('trainIngPlatformExpandList' + this.userId, this.expandList);
}
}
};
diff --git a/src/views/jsxt/competition/home.vue b/src/views/jsxt/competition/home.vue
new file mode 100644
index 000000000..2372c6a9e
--- /dev/null
+++ b/src/views/jsxt/competition/home.vue
@@ -0,0 +1,20 @@
+
+
+ 首页
+
+
+
+
+
+
diff --git a/src/views/jsxt/competition/theory/index.vue b/src/views/jsxt/competition/theory/index.vue
new file mode 100644
index 000000000..e84ebfd77
--- /dev/null
+++ b/src/views/jsxt/competition/theory/index.vue
@@ -0,0 +1,20 @@
+
+
+ 理论首页
+
+
+
+
+
+
From c48ea602e7803c70ce354997a65f0763735cef77 Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Tue, 19 May 2020 10:34:40 +0800
Subject: [PATCH 22/40] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E7=99=BB=E5=87=BA?=
=?UTF-8?q?=E6=B8=85=E9=99=A4project?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/store/modules/user.js | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 91d273d7d..d9a0bcc23 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,6 +1,6 @@
import { setSessionStorage } from '@/utils/auth';
import { login, logout, getInfo } from '@/api/login';
-import { getToken, setToken, removeToken, removeSessionStorage } from '@/utils/auth';
+import { getToken, setToken, removeToken } from '@/utils/auth';
import { getUserConfigInfo } from '@/api/management/user';
import { LoginParams } from '@/utils/login';
import { creatSubscribe, clearSubscribe, perpetualTopic, disconnect} from '@/utils/stomp';
@@ -145,7 +145,6 @@ const user = {
commit('SET_ID', '');
commit('SET_ROLES', []);
removeToken();
- removeSessionStorage('project');
},
// 登出系统
From 6afafc93711b38e8ac686a931eeef7904dc4a8a1 Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Tue, 19 May 2020 11:20:09 +0800
Subject: [PATCH 23/40] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=BB=98=E5=9B=BE?=
=?UTF-8?q?=E6=89=B9=E9=87=8F=E8=AE=BE=E7=BD=AE=E4=BF=A1=E5=8F=B7=E6=9C=BA?=
=?UTF-8?q?=E7=B1=BB=E5=9E=8B&=E7=AB=9E=E8=B5=9B=E8=80=83=E8=AF=95?=
=?UTF-8?q?=E8=AF=A6=E6=83=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/jsxt/competition/demonList.vue | 35 ++-----
src/views/jsxt/competition/examDetail.vue | 93 ++++---------------
.../newMapdraft/mapoperate/signal/index.vue | 19 +++-
3 files changed, 39 insertions(+), 108 deletions(-)
diff --git a/src/views/jsxt/competition/demonList.vue b/src/views/jsxt/competition/demonList.vue
index 98e4e2fbe..d20730447 100644
--- a/src/views/jsxt/competition/demonList.vue
+++ b/src/views/jsxt/competition/demonList.vue
@@ -15,8 +15,6 @@
:filter-node-method="filterNode"
:default-expanded-keys="expandList"
@node-click="clickEvent"
- @node-expand="nodeExpand"
- @node-collapse="nodeCollapse"
>
@@ -28,7 +26,6 @@
diff --git a/src/views/jsxt/competition/theory/quiz/index.vue b/src/views/jsxt/competition/theory/quiz/index.vue
new file mode 100644
index 000000000..7caffcf5b
--- /dev/null
+++ b/src/views/jsxt/competition/theory/quiz/index.vue
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+
+ {{ index2UnicodeList[i] }}、{{ el.title }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/jsxt/competition/theory/quiz/question.vue b/src/views/jsxt/competition/theory/quiz/question.vue
new file mode 100644
index 000000000..8871b1b61
--- /dev/null
+++ b/src/views/jsxt/competition/theory/quiz/question.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+ {{ el.content }}
+
+
+
+
+
+
+ {{ $asc2chart(i+65) }}.
+
+
+
+
+
+
+
+
+
From 4b683de30fe6fef1a286534893c5182a50b2428d Mon Sep 17 00:00:00 2001
From: zyy <1787816799@qq.com>
Date: Tue, 19 May 2020 13:15:36 +0800
Subject: [PATCH 25/40] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=AB=9E=E8=B5=9B?=
=?UTF-8?q?=E5=BC=80=E5=A7=8B=E8=80=83=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/jsxt/competition/examDetail.vue | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/views/jsxt/competition/examDetail.vue b/src/views/jsxt/competition/examDetail.vue
index f40be4152..1fad7d7f3 100644
--- a/src/views/jsxt/competition/examDetail.vue
+++ b/src/views/jsxt/competition/examDetail.vue
@@ -192,7 +192,11 @@ export default {
}
},
async exmaStart() {
- this.disabled = true;
+ if (this.$route.query.type == 'theory') {
+ this.$router.push(`/jsxt/theory/detail/${this.$route.query.mapId}`);
+ } else {
+ this.disabled = true;
+ }
},
back() {
this.$router.go(-1);
From cc3f117a8fd8eb93f3ca212322764aec2ff5f61a Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Tue, 19 May 2020 13:41:48 +0800
Subject: [PATCH 26/40] =?UTF-8?q?=E5=AE=81=E6=B3=A2=E4=B8=80=E7=BB=BC?=
=?UTF-8?q?=E5=90=88=E6=BC=94=E7=BB=83=E7=8E=B0=E5=9C=B0=E8=AE=BE=E7=BD=AE?=
=?UTF-8?q?=E6=98=BE=E7=A4=BA=E7=AB=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/newMap/jointTrainingNew/index.vue | 20 +++++++++++++++----
.../newMap/jointTrainingNew/menuSchema.vue | 4 +++-
2 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/src/views/newMap/jointTrainingNew/index.vue b/src/views/newMap/jointTrainingNew/index.vue
index 9f4c980ff..d8e45b8f1 100644
--- a/src/views/newMap/jointTrainingNew/index.vue
+++ b/src/views/newMap/jointTrainingNew/index.vue
@@ -50,6 +50,7 @@ import { EventBus } from '@/scripts/event-bus';
import ibpData from '@/ibp/constant/ibpData';
import { timeFormat } from '@/utils/date';
import { Message } from 'element-ui';
+import Vue from 'vue';
export default {
name: 'JointTrainingDraft',
@@ -126,17 +127,17 @@ export default {
this.setPosition();
if (val === '01' && this.$route.query.lineCode === '06') {
this.showSelectStation = true;
- this.mapViewLoadedOver && this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation);
+ this.mapViewLoadedOver && this.setShowStation(this.showStation);
} else if (val === '02' && this.$route.query.lineCode === '06') {
this.showSelectStation = false;
- this.mapViewLoadedOver && this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation('');
+ this.mapViewLoadedOver && this.setShowStation('');
}
},
'$store.state.map.mapViewLoadedCount': function (val) {
this.mapBoxP = document.getElementById(this.canvasId).children[0];
this.mapBoxP.style.cursor = '';
this.mapViewLoadedOver = true;
- this.showSelectStation && this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation);
+ this.showSelectStation && this.setShowStation(this.showStation);
},
'$store.state.socket.permissionOver': function () {
this.$alert(this.$t('tip.userRightsHaveBeenReclaimed'), this.$t('tip.hint'), {
@@ -436,7 +437,18 @@ export default {
},
switchStationMode(val) {
this.showStation = val;
- this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation);
+ this.setShowStation(this.showStation);
+ },
+ setShowStation(val) {
+ const nameList = Object.keys(this.$store.state.map.map);
+ let list = [];
+ nameList.forEach(item => {
+ if (this.$store.state.map.map[item] && this.$store.state.map.map[item].constructor === Array) {
+ list = [...list, ...this.$store.state.map.map[item]];
+ }
+ });
+ Vue.prototype.$jlmap.updateShowStation(list, val);
+ Vue.prototype.$jlmap.setCenter(val);
},
setStationList(val) {
this.stationList = [];
diff --git a/src/views/newMap/jointTrainingNew/menuSchema.vue b/src/views/newMap/jointTrainingNew/menuSchema.vue
index eecb13afc..692dc1cb8 100644
--- a/src/views/newMap/jointTrainingNew/menuSchema.vue
+++ b/src/views/newMap/jointTrainingNew/menuSchema.vue
@@ -10,7 +10,7 @@
>
-
+
@@ -91,6 +91,7 @@ export default {
viewDisabled: true,
realData: {},
series: [],
+ chiShowStation: '',
kmRangeCoordMap: {},
runPlanData: {},
swch: '02',
@@ -156,6 +157,7 @@ export default {
});
},
switchMode(swch) {
+ this.chiShowStation = this.showStation;
this.$store.dispatch('training/setPrdType', swch);
},
initPlannedDriving(isDisable) {
From 736c81a61da854b83d4a5fa33cca0ab9885d5da9 Mon Sep 17 00:00:00 2001
From: joylink_cuiweidong <364937672@qq.com>
Date: Tue, 19 May 2020 14:01:23 +0800
Subject: [PATCH 27/40] =?UTF-8?q?=E7=BB=BC=E5=90=88=E6=BC=94=E7=BB=83=20?=
=?UTF-8?q?=20=E5=89=A7=E6=9C=AC=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../newMap/displayNew/chatView/chatBox.vue | 1 +
.../displayNew/chatView/chatContent.vue | 36 +++++++++-----
.../chatView/chatCoversitionList.vue | 5 +-
src/views/newMap/jointTrainingNew/chatBox.vue | 12 ++++-
.../newMap/jointTrainingNew/chatContent.vue | 48 +++++++++++++------
.../jointTrainingNew/chatCoversitionList.vue | 26 ++++++++++
src/views/newMap/jointTrainingNew/index.vue | 8 ++--
.../scriptManage/display/tipScriptRecord.vue | 1 +
src/views/trainRoom/e-roles.vue | 4 +-
9 files changed, 106 insertions(+), 35 deletions(-)
diff --git a/src/views/newMap/displayNew/chatView/chatBox.vue b/src/views/newMap/displayNew/chatView/chatBox.vue
index a9b079620..6ea2f84da 100644
--- a/src/views/newMap/displayNew/chatView/chatBox.vue
+++ b/src/views/newMap/displayNew/chatView/chatBox.vue
@@ -140,6 +140,7 @@ export default {
if (this.recordSending) {
this.cancleRecording();
}
+ this.$refs.chatContent.scrollTop();
},
setHeadTitle(headerTitle) {
this.headerTitle = headerTitle;
diff --git a/src/views/newMap/displayNew/chatView/chatContent.vue b/src/views/newMap/displayNew/chatView/chatContent.vue
index fc55c986d..3a94a2e08 100644
--- a/src/views/newMap/displayNew/chatView/chatContent.vue
+++ b/src/views/newMap/displayNew/chatView/chatContent.vue
@@ -1,18 +1,20 @@
-
-
-
-
-
-
-
@{{ covertName(chatContent.targetName) }}
-
-
{{ chatContent.message }}
-
+
+
+
+
+
+
+
+
@{{ covertName(chatContent.targetName) }}
+
+
{{ chatContent.message }}
+
+
@@ -42,6 +44,7 @@ export default {
const simulationText = this.$store.state.socket.simulationText;
if (this.currentCoversition.id == val.id) {
this.chatContentList.push(simulationText);
+ this.scrollTop();
} else {
if (!simulationText.group) {
this.$emit('changeCoversition', simulationText);
@@ -79,6 +82,7 @@ export default {
return coversition;
});
this.chatContentList = coversitionList;
+ this.scrollTop();
});
// const coversitionListAll = Object.assign({}, this.$store.state.socket.coversitionList);
// const coversitionList = coversitionListAll[this.coversition.id] || [];
@@ -88,6 +92,12 @@ export default {
clearData() {
this.chatContentList = [];
},
+ scrollTop() {
+ this.$nextTick(function() {
+ const scrollTop = document.querySelector('.chatcontentInner').offsetHeight - document.querySelector('.chatcontentIn').offsetHeight + 30;
+ document.querySelector('.chatcontentIn').scrollTop = scrollTop;
+ });
+ },
formatTime(time) {
return /\d{2}:\d{2}:\d{2}/.exec(time)[0] || time;
},
diff --git a/src/views/newMap/displayNew/chatView/chatCoversitionList.vue b/src/views/newMap/displayNew/chatView/chatCoversitionList.vue
index b57071f02..c5512932c 100644
--- a/src/views/newMap/displayNew/chatView/chatCoversitionList.vue
+++ b/src/views/newMap/displayNew/chatView/chatCoversitionList.vue
@@ -67,7 +67,10 @@ export default {
const objectCover = this.handleMemberName(coversition);
coversition.coverName = objectCover.coversitionName;
coversition.isOnline = objectCover.isOnline;
- this.coversitionList.push(coversition);
+ const index = this.coversitionList.findIndex(item=>{ return item.id == coversition.id; });
+ if (index < 0) {
+ this.coversitionList.push(coversition);
+ }
this.changeCoversition(coversition);
},
handleMemberName(conversition) {
diff --git a/src/views/newMap/jointTrainingNew/chatBox.vue b/src/views/newMap/jointTrainingNew/chatBox.vue
index 78c5a0375..72f0a1b69 100644
--- a/src/views/newMap/jointTrainingNew/chatBox.vue
+++ b/src/views/newMap/jointTrainingNew/chatBox.vue
@@ -19,7 +19,7 @@
-
+
@@ -110,6 +110,13 @@ export default {
},
setCurrentCoversition(coversition) {
this.currentCoversition = coversition;
+ if (coversition.group) {
+ this.headerTitle = coversition.name;
+ }
+ if (this.recordSending) {
+ this.cancleRecording();
+ }
+ this.$refs.chatContent.scrollTop();
},
setHeadTitle(headerTitle) {
this.headerTitle = headerTitle;
@@ -216,6 +223,9 @@ export default {
}
});
},
+ changeCoversition(data) {
+ this.$refs.chatCoversitionList.changeCoversitionOther(data);
+ },
handleSetting() {
this.$refs.chatSetting.doShow();
},
diff --git a/src/views/newMap/jointTrainingNew/chatContent.vue b/src/views/newMap/jointTrainingNew/chatContent.vue
index 88b23211b..2c94350ae 100644
--- a/src/views/newMap/jointTrainingNew/chatContent.vue
+++ b/src/views/newMap/jointTrainingNew/chatContent.vue
@@ -1,17 +1,19 @@
-
-
-
-
-
-
@{{ covertName(chatContent.targetName) }}
-
-
{{ chatContent.message }}
-
+
+
+
+
+
+
+
@{{ covertName(chatContent.targetName) }}
+
+
{{ chatContent.message }}
+
+
@@ -38,9 +40,20 @@ export default {
},
watch:{
'$store.state.socket.simulationText':function (val, old) { // 仿真聊天
- if (this.currentCoversition.id == val.conversationId) {
- const simulationText = this.$store.state.socket.simulationText;
+ // if (this.currentCoversition.id == val.conversationId) {
+ // const simulationText = this.$store.state.socket.simulationText;
+ // this.chatContentList.push(simulationText);
+ // }
+ const simulationText = this.$store.state.socket.simulationText;
+ if (this.currentCoversition.id == val.id) {
this.chatContentList.push(simulationText);
+ this.scrollTop();
+ } else {
+ if (!simulationText.group) {
+ this.$emit('changeCoversition', simulationText);
+ // this.$emit('addCoversition', {data:simulationText, headerTitle:''});
+ this.chatContentList.push(simulationText);
+ }
}
},
$route() {
@@ -72,12 +85,19 @@ export default {
return coversition;
});
this.chatContentList = coversitionList;
+ this.scrollTop();
});
// const coversitionListAll = Object.assign({}, this.$store.state.socket.coversitionList);
// const coversitionList = coversitionListAll[this.coversition.id] || [];
// // console.log('inintData---coversitionList' + JSON.stringify(this.$store.state.socket.coversitionList[this.coversition.id]));
// this.chatContentList = coversitionList;
},
+ scrollTop() {
+ this.$nextTick(function() {
+ const scrollTop = document.querySelector('.chatcontentInner').offsetHeight - document.querySelector('.chatcontentIn').offsetHeight + 30;
+ document.querySelector('.chatcontentIn').scrollTop = scrollTop;
+ });
+ },
formatTime(time) {
return /\d{2}:\d{2}:\d{2}/.exec(time)[0] || time;
},
diff --git a/src/views/newMap/jointTrainingNew/chatCoversitionList.vue b/src/views/newMap/jointTrainingNew/chatCoversitionList.vue
index 30f92ebb8..4516e5b0f 100644
--- a/src/views/newMap/jointTrainingNew/chatCoversitionList.vue
+++ b/src/views/newMap/jointTrainingNew/chatCoversitionList.vue
@@ -61,6 +61,16 @@ export default {
this.$emit('setCurrentCoversition', coversition);
// this.$refs.chatContent.reloadData(this.currentCoversition);
},
+ changeCoversitionOther(coversition) {
+ const objectCover = this.handleMemberName(coversition);
+ coversition.coverName = objectCover.coversitionName;
+ coversition.isOnline = objectCover.isOnline;
+ const index = this.coversitionList.findIndex(item=>{ return item.id == coversition.id; });
+ if (index < 0) {
+ this.coversitionList.push(coversition);
+ }
+ this.changeCoversition(coversition);
+ },
handleMemberName(conversition) {
if (conversition.group) {
return {coversitionName:conversition.name, isOnline:true};
@@ -86,6 +96,22 @@ export default {
coversitionName = data + deviceName + memberName;
}
});
+ } else if (conversition.member) {
+ const member = conversition.member;
+ let data = member.role;
+ const roleTypeList = ConstConfig.ConstSelect.roleTypeNew;
+ roleTypeList.forEach(function(element) {
+ const rolename = element.value;
+ if (Cookies.get('user_lang') == 'en') {
+ data = data.replace(rolename, element.enLabel);
+ } else {
+ data = data.replace(rolename, element.label);
+ }
+ });
+ const deviceName = member.deviceName ? '-' + member.deviceName : '';
+ const memberName = member.name ? '-' + member.name : '';
+ isOnline = member.online;
+ coversitionName = data + deviceName + memberName;
} else {
coversitionName = conversition.name;
}
diff --git a/src/views/newMap/jointTrainingNew/index.vue b/src/views/newMap/jointTrainingNew/index.vue
index 9f4c980ff..28fccbe3e 100644
--- a/src/views/newMap/jointTrainingNew/index.vue
+++ b/src/views/newMap/jointTrainingNew/index.vue
@@ -126,17 +126,17 @@ export default {
this.setPosition();
if (val === '01' && this.$route.query.lineCode === '06') {
this.showSelectStation = true;
- this.mapViewLoadedOver && this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation);
+ // this.mapViewLoadedOver && this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation);
} else if (val === '02' && this.$route.query.lineCode === '06') {
this.showSelectStation = false;
- this.mapViewLoadedOver && this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation('');
+ // this.mapViewLoadedOver && this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation('');
}
},
'$store.state.map.mapViewLoadedCount': function (val) {
this.mapBoxP = document.getElementById(this.canvasId).children[0];
this.mapBoxP.style.cursor = '';
this.mapViewLoadedOver = true;
- this.showSelectStation && this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation);
+ // this.showSelectStation && this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation);
},
'$store.state.socket.permissionOver': function () {
this.$alert(this.$t('tip.userRightsHaveBeenReclaimed'), this.$t('tip.hint'), {
@@ -436,7 +436,7 @@ export default {
},
switchStationMode(val) {
this.showStation = val;
- this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation);
+ // this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation);
},
setStationList(val) {
this.stationList = [];
diff --git a/src/views/scriptManage/display/tipScriptRecord.vue b/src/views/scriptManage/display/tipScriptRecord.vue
index ea36b40a3..11a92595a 100644
--- a/src/views/scriptManage/display/tipScriptRecord.vue
+++ b/src/views/scriptManage/display/tipScriptRecord.vue
@@ -98,6 +98,7 @@ export default {
},
beforeDestroy() {
this.clearAutoSave();
+ this.$store.dispatch('scriptRecord/updateBgSet', false);
},
methods: {
setIsParse(isPause) {
diff --git a/src/views/trainRoom/e-roles.vue b/src/views/trainRoom/e-roles.vue
index e048b3ba8..6cb4010b3 100644
--- a/src/views/trainRoom/e-roles.vue
+++ b/src/views/trainRoom/e-roles.vue
@@ -33,7 +33,7 @@
@changeUser="handleUpdUser"
@delUser="handleDelUser"
/>
-
+ /> -->
Date: Tue, 19 May 2020 14:47:47 +0800
Subject: [PATCH 28/40] =?UTF-8?q?=E7=BB=BC=E5=90=88=E6=BC=94=E7=BB=83?=
=?UTF-8?q?=E8=A1=8C=E8=B0=83=E6=B7=BB=E5=8A=A0=20=E5=88=97=E8=BD=A6?=
=?UTF-8?q?=E9=80=89=E6=8B=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/newMap/jointTrainingNew/index.vue | 20 ++++++++++++++-----
.../newMap/jointTrainingNew/menuDemon.vue | 5 ++++-
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/src/views/newMap/jointTrainingNew/index.vue b/src/views/newMap/jointTrainingNew/index.vue
index d8e45b8f1..c8c245650 100644
--- a/src/views/newMap/jointTrainingNew/index.vue
+++ b/src/views/newMap/jointTrainingNew/index.vue
@@ -25,6 +25,8 @@
+
+
@@ -39,6 +41,7 @@ import JoinRunPlanLoad from '@/views/newMap/displayNew/demon/runPlanLoad';
import JoinRunPlanView from '@/views/newMap/displayNew/demon/runPlanView';
import menuSystemTime from '@/views/newMap/displayNew/menuSystemTime';
import IbpPlate from '@/views/ibp/ibpsystem/index';
+import MenuTrainList from './menuTrainList';
import { mapGetters } from 'vuex';
import { OperateMode, TrainingMode } from '@/scripts/ConstDic';
import { checkLoginLine } from '@/api/login';
@@ -61,6 +64,7 @@ export default {
JoinFaultChoose,
JoinRunPlanLoad,
JoinRunPlanView,
+ MenuTrainList,
menuSystemTime,
Jl3dDrive,
IbpPlate
@@ -117,6 +121,9 @@ export default {
},
userId() {
return this.$store.state.user ? this.$store.state.user.id : '';
+ },
+ prdType() {
+ return this.$store.state.training.prdType;
}
},
watch: {
@@ -288,6 +295,9 @@ export default {
EventBus.$emit('viewLoading', false);
});
},
+ setCenter(code) {
+ this.$refs.mapCanvas.setCenter(code);
+ },
// 加载地图数据
initLoadData() {
const width = document.documentElement.clientWidth;
@@ -315,11 +325,11 @@ export default {
} else {
this.$store.dispatch('training/over');
}
- if (this.isDemon) {
- this.$refs.menuDemon.initPlannedDriving(resp.data.planRunning);
- } else if (this.isScript) {
- this.$refs.menuScript.initPlannedDriving(resp.data.planRunning);
- }
+ // if (this.isDemon) {
+ // this.$refs.menuDemon.initPlannedDriving(resp.data.planRunning);
+ // } else if (this.isScript) {
+ // this.$refs.menuScript.initPlannedDriving(resp.data.planRunning);
+ // }
} else if (resp && resp.code == 200 && resp.data && resp.data.dataError) {
this.dataError = true;
this.$messageBox('此地图数据正在维护中,无法运行!');
diff --git a/src/views/newMap/jointTrainingNew/menuDemon.vue b/src/views/newMap/jointTrainingNew/menuDemon.vue
index 2c98ebe5c..de0aba85c 100644
--- a/src/views/newMap/jointTrainingNew/menuDemon.vue
+++ b/src/views/newMap/jointTrainingNew/menuDemon.vue
@@ -220,6 +220,7 @@ export default {
};
ranAsPlan(data, this.group).then(res => {
this.$store.dispatch('training/simulationStart').then(() => {
+ this.$store.dispatch('map/setRunPlanStatus', true);
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().getFullYear()} ${model.initTime}`));
});
}).catch((error) => {
@@ -250,7 +251,9 @@ export default {
end() {
this.isDisable = false;
EventBus.$emit('trainView');
- exitRunPlan(this.group).catch(() => {
+ exitRunPlan(this.group).then(()=>{
+ this.$store.dispatch('map/setRunPlanStatus', false);
+ }).catch(() => {
this.$store.dispatch('training/over').then(() => {
this.isDisable = true;
this.$messageBox(this.$t('error.endSimulationFailed'));
From 45422c8cd2846cbaf39c100a22df97893a0a0a29 Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Tue, 19 May 2020 15:44:01 +0800
Subject: [PATCH 29/40] =?UTF-8?q?=E4=BF=A1=E5=8F=B7=E6=9C=BA=E6=89=B9?=
=?UTF-8?q?=E9=87=8F=E8=AE=BE=E7=BD=AE=E5=BC=95=E5=AF=BC=E4=BF=A1=E5=8F=B7?=
=?UTF-8?q?&=E8=99=9A=E6=8B=9F=E4=BF=A1=E5=8F=B7=E6=9C=BA=E6=97=8B?=
=?UTF-8?q?=E8=BD=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/jmapNew/shape/Signal/EVirtualSignal.js | 23 ++++++++++---------
src/views/jsxt/competition/demonList.vue | 2 +-
src/views/jsxt/competition/examDetail.vue | 5 ++--
.../newMapdraft/mapoperate/signal/index.vue | 22 +++++++++++++++---
4 files changed, 35 insertions(+), 17 deletions(-)
diff --git a/src/jmapNew/shape/Signal/EVirtualSignal.js b/src/jmapNew/shape/Signal/EVirtualSignal.js
index 490ec1e13..94d9c0d5e 100644
--- a/src/jmapNew/shape/Signal/EVirtualSignal.js
+++ b/src/jmapNew/shape/Signal/EVirtualSignal.js
@@ -1,4 +1,4 @@
-import Isogon from 'zrender/src/graphic/shape/Isogon';
+import Polygon from 'zrender/src/graphic/shape/Polygon';
import Group from 'zrender/src/container/Group';
class EVirtualSignal extends Group {
@@ -11,27 +11,28 @@ class EVirtualSignal extends Group {
create() {
const model = this.model;
const style = this.model.style;
- const rotation = model.drict != 1 ? -Math.PI / 180 * Number(30) : Math.PI / 180 * Number(30);
+ // const rotation = model.drict != 1 ? -Math.PI / 180 * Number(30) : Math.PI / 180 * Number(30);
+ const drict = model.drict !== 1 ? -1 : 1;
- this.lamp = new Isogon({
+ this.lamp = new Polygon({
name: model.index,
zlevel: model.zlevel,
z: model.z,
- origin: [model.x, model.y],
- rotation: rotation,
+ // origin: [model.x, model.y],
+ // rotation: rotation,
shape: {
- x: model.x,
- y: model.y,
- r: 6,
- n: 3
+ points: [
+ [model.x - (3 * drict), model.y + Math.sqrt(3) * 3],
+ [model.x - (3 * drict), model.y - Math.sqrt(3) * 3],
+ [model.x + 6 * drict, model.y]
+ ]
},
style: {
- lineWidth: style.Signal.lamp.borderWidth,
+ lineWidth: style.Signal.lamp.borderWidth || 1,
fill: style.Signal.lamp.borderColor,
stroke: style.Signal.lamp.borderColor
}
});
-
this.add(this.lamp);
}
diff --git a/src/views/jsxt/competition/demonList.vue b/src/views/jsxt/competition/demonList.vue
index d20730447..c0ce2d471 100644
--- a/src/views/jsxt/competition/demonList.vue
+++ b/src/views/jsxt/competition/demonList.vue
@@ -36,7 +36,7 @@ export default {
treeList: [
{name: '西安考试地图', id: '13', type: 'Map', children: [
{name: '理论竞赛', type: 'theory'},
- {name: '考试系统', type: 'operation'}
+ {name: '实操竞赛', type: 'operation'}
]}
],
defaultProps: {
diff --git a/src/views/jsxt/competition/examDetail.vue b/src/views/jsxt/competition/examDetail.vue
index 1fad7d7f3..d02045961 100644
--- a/src/views/jsxt/competition/examDetail.vue
+++ b/src/views/jsxt/competition/examDetail.vue
@@ -52,7 +52,6 @@
import { examNotify, examNotifyNew } from '@/api/simulation';
import { getExamLessonDetail } from '@/api/management/exam';
import { generateExamList } from '@/api/management/userexam';
-import { getPublishLessonDetail } from '@/api/jmap/lesson';
import { PermissionType } from '@/scripts/ConstDic';
import { mapGetters } from 'vuex';
import { launchFullscreen } from '@/utils/screen';
@@ -195,7 +194,9 @@ export default {
if (this.$route.query.type == 'theory') {
this.$router.push(`/jsxt/theory/detail/${this.$route.query.mapId}`);
} else {
- this.disabled = true;
+ // this.disabled = true;
+ const query = { lineCode: '06', mapId: '34', group: '52-128-102', roomId: '380' };
+ this.$router.replace({ path: `/jointTrainingNew`, query: query});
}
},
back() {
diff --git a/src/views/newMap/newMapdraft/mapoperate/signal/index.vue b/src/views/newMap/newMapdraft/mapoperate/signal/index.vue
index 1738db005..9195d728f 100644
--- a/src/views/newMap/newMapdraft/mapoperate/signal/index.vue
+++ b/src/views/newMap/newMapdraft/mapoperate/signal/index.vue
@@ -64,6 +64,16 @@
+
+
+
+
+
+
+
+
+
+
设置
@@ -181,6 +191,10 @@ export default {
},
ctcModel: {
ctc: true
+ },
+ guideModel: {
+ scope: 'All',
+ callOn: true
}
};
},
@@ -457,10 +471,12 @@ export default {
const models = [];
this.signalList.forEach(item => {
const signalModel = deepAssign({}, item); // 深拷贝
- if (signalModel.type !== 'BLOCKING') {
- signalModel.callOn = true;
+ if (this.guideModel.scope === 'All' || (this.guideModel.scope === 'Virtual' && item.virtual) || (this.guideModel.scope === 'NoVirtual' && !item.virtual)) {
+ if (signalModel.type !== 'BLOCKING') {
+ signalModel.callOn = this.guideModel.callOn;
+ }
+ models.push(signalModel);
}
- models.push(signalModel);
});
this.$emit('updateMapModel', models);
this.$message.success('数据构建成功!');
From c1ce6f46ae95840ba901dfeae6b73d64f56bd38b Mon Sep 17 00:00:00 2001
From: joylink_cuiweidong <364937672@qq.com>
Date: Tue, 19 May 2020 15:44:57 +0800
Subject: [PATCH 30/40] =?UTF-8?q?=E7=BB=BC=E5=90=88=E6=BC=94=E7=BB=83?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../jointTrainingNew/chatMemberList.vue | 6 +
.../newMap/jointTrainingNew/menuTrainList.vue | 136 ++++++++++++++++++
src/views/trainRoom/e-roles.vue | 3 +-
3 files changed, 144 insertions(+), 1 deletion(-)
create mode 100644 src/views/newMap/jointTrainingNew/menuTrainList.vue
diff --git a/src/views/newMap/jointTrainingNew/chatMemberList.vue b/src/views/newMap/jointTrainingNew/chatMemberList.vue
index f78781ab3..39b42e602 100644
--- a/src/views/newMap/jointTrainingNew/chatMemberList.vue
+++ b/src/views/newMap/jointTrainingNew/chatMemberList.vue
@@ -6,6 +6,7 @@
v-for="member in memberList"
:key="member.id"
:class="member.online?'each-chat-member':'each-chat-member each-chat-member-outline'"
+ :style="member.userId === userId ?'color:red':''"
@click="createConversition(member)"
>{{ member.memberName }}
@@ -29,6 +30,11 @@ export default {
memberList:[]
};
},
+ computed:{
+ userId() {
+ return this.$store.state.user.id;
+ }
+ },
mounted() {
this.getSimulationMembers();
},
diff --git a/src/views/newMap/jointTrainingNew/menuTrainList.vue b/src/views/newMap/jointTrainingNew/menuTrainList.vue
new file mode 100644
index 000000000..30c5769a9
--- /dev/null
+++ b/src/views/newMap/jointTrainingNew/menuTrainList.vue
@@ -0,0 +1,136 @@
+
+
+
+
+
diff --git a/src/views/trainRoom/e-roles.vue b/src/views/trainRoom/e-roles.vue
index 6cb4010b3..6aebf51cc 100644
--- a/src/views/trainRoom/e-roles.vue
+++ b/src/views/trainRoom/e-roles.vue
@@ -538,7 +538,7 @@ export default {
padding: 5px 10px;
.roles {
display: flex;
- justify-content: space-around;
+ justify-content: flex-start;
flex-flow: row wrap;
flex-grow: 1;
@@ -546,6 +546,7 @@ export default {
display: flex;
flex-basis: 340px;
margin-top: 20px;
+ margin-left: 40px;
}
}
}
From 6a25030a5314b0ad0a73871da1536d5bd10f6e71 Mon Sep 17 00:00:00 2001
From: sunzhenyu
Date: Tue, 19 May 2020 16:49:56 +0800
Subject: [PATCH 31/40] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=89=E7=BB=B4?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/jlmap3d/edit/Jlmap3dnewdata.js | 1 +
src/jlmap3d/edit/connect/getmodels.js | 2 +
src/jlmap3d/edit/connect/newgetmodels.js | 95 +++-
src/jlmap3d/edit/jlmap3dedit.js | 4 +-
src/jlmap3d/edit/neweditmodel/SectionList.js | 3 +-
.../edit/neweditmodel/StationStandList.js | 10 +-
src/jlmap3d/jl3ddevice/config.js | 2 +-
.../jl3ddrive/moveupdate/DrivingConnectNew.js | 4 +-
.../jl3dmaintainer/jlmap3dmaintainer.js | 479 ++++++++++++++++++
src/jlmap3d/jl3dpassflow/jl3dpassflow.js | 4 +-
.../connect/Jlmap3dSubscribeNew.js | 8 +-
src/jlmap3d/jl3dsimulation/jlmap3d.js | 2 +-
src/jlmap3d/main/loaders/AssetLoader.js | 66 +--
src/jlmap3d/main/loaders/DriverLoadNew.js | 21 +-
src/jlmap3d/main/loaders/SimulationLoadNew.js | 29 +-
src/jlmap3d/main/newmodel/SignalListN.js | 11 +
src/router/index_Common.js | 2 +
src/utils/baseUrl.js | 4 +-
src/views/jlmap3d/device/jl3ddevice.vue | 3 +-
.../jlmap3d/maintainer/jl3dmaintainer.vue | 259 ++++++++++
src/views/newMap/jointTrainingNew/index.vue | 8 +
.../device/stationstand/stationstandhrb.FBX | Bin 0 -> 178768 bytes
...tationstand.FBX => stationstandnormal.FBX} | Bin
static/model/suidao/xiansuidao.FBX | Bin 0 -> 3425376 bytes
.../texture/xian3/XA3haoxian_jz_shengyu.jpg | Bin 0 -> 99394 bytes
static/texture/xian3/XA_dandu_baoshuiqu.jpg | Bin 0 -> 26554 bytes
static/texture/xian3/XA_dandu_beichitou.jpg | Bin 0 -> 25772 bytes
.../texture/xian3/XA_dandu_chanbazhognxin.jpg | Bin 0 -> 28472 bytes
.../xian3/XA_dandu_changlegongyuan.jpg | Bin 0 -> 27250 bytes
static/texture/xian3/XA_dandu_dayanta.jpg | Bin 0 -> 26568 bytes
static/texture/xian3/XA_dandu_guangtaimen.jpg | Bin 0 -> 25973 bytes
.../texture/xian3/XA_dandu_guojigangwuqu.jpg | Bin 0 -> 29550 bytes
static/texture/xian3/XA_dandu_hujiamiao.jpg | Bin 0 -> 26095 bytes
static/texture/xian3/XA_dandu_jixiangcun.jpg | Bin 0 -> 25958 bytes
static/texture/xian3/XA_dandu_kejilu.jpg | Bin 0 -> 25827 bytes
static/texture/xian3/XA_dandu_qinglongsi.jpg | Bin 0 -> 26838 bytes
static/texture/xian3/XA_dandu_shijiajie.jpg | Bin 0 -> 25755 bytes
static/texture/xian3/XA_dandu_shuangzhai.jpg | Bin 0 -> 25425 bytes
static/texture/xian3/XA_dandu_taibainanlu.jpg | Bin 0 -> 27626 bytes
static/texture/xian3/XA_dandu_taohuatan.jpg | Bin 0 -> 26311 bytes
static/texture/xian3/XA_dandu_tonghuamen.jpg | Bin 0 -> 26235 bytes
static/texture/xian3/XA_dandu_wuzhuang.jpg | Bin 0 -> 24900 bytes
static/texture/xian3/XA_dandu_xianghuwan.jpg | Bin 0 -> 26803 bytes
static/texture/xian3/XA_dandu_xianninglu.jpg | Bin 0 -> 26292 bytes
static/texture/xian3/XA_dandu_xiaozhai.jpg | Bin 0 -> 24652 bytes
static/texture/xian3/XA_dandu_xinjiamiao.jpg | Bin 0 -> 26116 bytes
static/texture/xian3/XA_dandu_xinzhu.jpg | Bin 0 -> 24727 bytes
static/texture/xian3/XA_dandu_yanpingmen.jpg | Bin 0 -> 25855 bytes
static/texture/xian3/XA_dandu_yanxingmen.jpg | Bin 0 -> 26108 bytes
static/texture/xian3/XA_dandu_yuhuazhai.jpg | Bin 0 -> 26017 bytes
.../texture/xian3/XA_dandu_zhangbabeilu.jpg | Bin 0 -> 27808 bytes
51 files changed, 928 insertions(+), 89 deletions(-)
create mode 100644 src/jlmap3d/jl3dmaintainer/jlmap3dmaintainer.js
create mode 100644 src/views/jlmap3d/maintainer/jl3dmaintainer.vue
create mode 100644 static/model/device/stationstand/stationstandhrb.FBX
rename static/model/device/stationstand/{stationstand.FBX => stationstandnormal.FBX} (100%)
create mode 100644 static/model/suidao/xiansuidao.FBX
create mode 100644 static/texture/xian3/XA3haoxian_jz_shengyu.jpg
create mode 100644 static/texture/xian3/XA_dandu_baoshuiqu.jpg
create mode 100644 static/texture/xian3/XA_dandu_beichitou.jpg
create mode 100644 static/texture/xian3/XA_dandu_chanbazhognxin.jpg
create mode 100644 static/texture/xian3/XA_dandu_changlegongyuan.jpg
create mode 100644 static/texture/xian3/XA_dandu_dayanta.jpg
create mode 100644 static/texture/xian3/XA_dandu_guangtaimen.jpg
create mode 100644 static/texture/xian3/XA_dandu_guojigangwuqu.jpg
create mode 100644 static/texture/xian3/XA_dandu_hujiamiao.jpg
create mode 100644 static/texture/xian3/XA_dandu_jixiangcun.jpg
create mode 100644 static/texture/xian3/XA_dandu_kejilu.jpg
create mode 100644 static/texture/xian3/XA_dandu_qinglongsi.jpg
create mode 100644 static/texture/xian3/XA_dandu_shijiajie.jpg
create mode 100644 static/texture/xian3/XA_dandu_shuangzhai.jpg
create mode 100644 static/texture/xian3/XA_dandu_taibainanlu.jpg
create mode 100644 static/texture/xian3/XA_dandu_taohuatan.jpg
create mode 100644 static/texture/xian3/XA_dandu_tonghuamen.jpg
create mode 100644 static/texture/xian3/XA_dandu_wuzhuang.jpg
create mode 100644 static/texture/xian3/XA_dandu_xianghuwan.jpg
create mode 100644 static/texture/xian3/XA_dandu_xianninglu.jpg
create mode 100644 static/texture/xian3/XA_dandu_xiaozhai.jpg
create mode 100644 static/texture/xian3/XA_dandu_xinjiamiao.jpg
create mode 100644 static/texture/xian3/XA_dandu_xinzhu.jpg
create mode 100644 static/texture/xian3/XA_dandu_yanpingmen.jpg
create mode 100644 static/texture/xian3/XA_dandu_yanxingmen.jpg
create mode 100644 static/texture/xian3/XA_dandu_yuhuazhai.jpg
create mode 100644 static/texture/xian3/XA_dandu_zhangbabeilu.jpg
diff --git a/src/jlmap3d/edit/Jlmap3dnewdata.js b/src/jlmap3d/edit/Jlmap3dnewdata.js
index 6e240ff41..a4274f5b2 100644
--- a/src/jlmap3d/edit/Jlmap3dnewdata.js
+++ b/src/jlmap3d/edit/Jlmap3dnewdata.js
@@ -53,6 +53,7 @@ export function Jlmap3ddata(mapid,scope){
// console.log(mapid);
// console.log(data3did);
getMapDetail(mapid).then(data => {
+ console.log(data);
let mapdata = data.data;
//console.log(data3did);
jlmap3ddata.id = data3did;
diff --git a/src/jlmap3d/edit/connect/getmodels.js b/src/jlmap3d/edit/connect/getmodels.js
index 1e633d62e..2a56c5714 100644
--- a/src/jlmap3d/edit/connect/getmodels.js
+++ b/src/jlmap3d/edit/connect/getmodels.js
@@ -33,7 +33,9 @@ export function getmodels(data) {
}
assets.push(asset);
}
+
postmap.assets = JSON.stringify(assets);
+
//link轨道
let links = [];
for(let i=0;i {
+ let mapnetdata = data.data;
+ getPublish3dMapDetail(skinCode).then(netdata => {
+ let assetsdata = JSON.parse(netdata.data.sections);
+ if(assetsdata.link){
+ scope.datatype = "old";
+ scope.jsonwebwork = new Worker("../../static/workertest/jsonworker.js");
+ scope.Subscribe = new Jlmap3dSubscribe(scope,routegroup,scope.jsonwebwork);
+ scope.Subscribe.socketon(scope.Subscribe.topic);
+ SimulationLoad(mapnetdata,scope,netdata.data,mapdata,camera,controls,scenesimulation,storemod);
+
+ }else{
+ scope.datatype = "new";
+ scope.jsonwebworknew = new Worker("../../static/workertest/jsonworkernew.js");
+ scope.Subscribe = new Jlmap3dSubscribeNew(scope,routegroup,scope.jsonwebworknew);
+ scope.Subscribe.socketon(scope.Subscribe.topic);
+ SimulationLoadNew(mapnetdata,scope,netdata.data,mapdata,camera,controls,scenesimulation,storemod);
+ }
+
+ });
+ });
+ //
+ // let stats = new Stats();
+ // dom.appendChild( stats.dom );
+
+ // var timer = setInterval(function() {
+ // if(trainlisttest){
+ // if(trainlisttest.group){
+ // if(trainlisttest.group.children[0]){
+ // for(let k in rails.switchrail){
+ // const ddd = storemod.getters['map/getDeviceByCode'](k);
+ // let switchdata = rails.switchrail[k];
+ // rails.switchrail[k].locateType = ddd.locateType;
+ //
+ // if(ddd.locateType == "01"){
+ // //1--向左 2--向右
+ // //__\__ __/__
+ // if(rails.switchrail[k].directtype == "1"){
+ // rails.linkrail[switchdata.alink].lconnect = switchdata.blink;
+ // rails.linkrail[switchdata.blink].rconnect = switchdata.alink;
+ // }else if(rails.switchrail[k].directtype == "2"){
+ // rails.linkrail[switchdata.alink].rconnect = switchdata.blink;
+ // rails.linkrail[switchdata.blink].lconnect = switchdata.alink;
+ // }
+ //
+ // }else if(ddd.locateType == "02"){
+ // if(rails.switchrail[k].directtype == "1"){
+ // rails.linkrail[switchdata.alink].lconnect = switchdata.clink;
+ // rails.linkrail[switchdata.clink].rconnect = switchdata.alink;
+ // }else if(rails.switchrail[k].directtype == "2"){
+ // rails.linkrail[switchdata.alink].rconnect = switchdata.clink;
+ // rails.linkrail[switchdata.clink].lconnect = switchdata.alink;
+ // }
+ // }
+ // }
+ // clearInterval(timer);
+ // }
+ // }
+ // }
+ //
+ // }, 2000);
+ //开启渲染
+ animate();
+ startWorker(scope.webwork);
+ //动画时间
+ let delta;
+ //循环渲染函数
+ function animate() {
+ //循环渲染
+ //requestAnimationFrame(animate);
+ //renderer.setAnimationLoop(animate);
+ requestAnimationFrame(animate);
+ //判断渲染是否开启
+ //根据相机渲染场景
+ renderer.render(scene,camera);
+ //检测动画构造器播放动画
+
+ // }
+ // stats.update();
+ }
+
+ function startWorker(webwork){
+ if(typeof(Worker)!=="undefined"){
+
+ scope.webwork.onmessage = function (event) {
+ //更新列车位置
+ // if(scope.datatype == "new"){
+ //
+ // UpdateTrainNew(camera,trainlisttest);
+ // }else{
+ // UpdateTrain(camera,trainlisttest);
+ // }
+
+ if(camerarail.moveswitch == true){
+ // console.log(camerarail.progress);
+ if(camerarail.progress>=0.99){
+ camerarail.moveswitch = false;
+ camerarail.curve = null;
+ }else{
+ let point = camerarail.curve.getPointAt(camerarail.progress);
+ let tangent = camerarail.curve.getPointAt(camerarail.progress+0.001);
+ camera.position.x = point.x;
+ camera.position.y = point.y;
+ camera.position.z = point.z;
+ camerarail.progress += 0.003;
+ // controls.target = new THREE.Vector3(point.x+1,point.y,point.z);
+ controls.target = new THREE.Vector3(tangent.x,tangent.y,tangent.z);
+ controls.update();
+ point = null;
+ }
+
+ }
+
+ delta = clock.getDelta();
+ for(let i=scope.mixers.length-1;i>=0;i--){
+ if(scope.mixers[i]._actions[0].isRunning()){
+ // console.log(scope.mixers[i]._actions[0].isRunning());
+ scope.mixers[i].update( delta );
+ }
+ }
+ };
+ }
+
+ }
+
+ this.dispose = function(){
+ renderer.setAnimationLoop(null);
+ renderer.dispose();
+ scene.dispose();
+ controls.dispose();
+ camera = null;
+ scope.assetloader = null;
+
+ mapdata = null;
+ scope.selectmodel = null;
+
+ scope.materiallist = null;
+ scope.selectmodel = null;
+ scope.helpbox = null;
+ scope.mixers = null;
+ scope.actions = null;
+ scope.Subscribe = null;
+ //console.log(scope);
+ //scope = null;
+ }
+
+ this.rayswitch = function(value){
+ this.raycasterswitch = value;
+ if(scope.helpbox){
+ scene.remove( scope.helpbox );
+ scope.helpbox = null;
+ }
+ };
+
+ this.showstationmsg = function(showtype){
+ if(showtype == "show"){
+ for(let st=0;st import('@/views/jlmap3d/passflow/jl3dpassflow');
const Jlmap3dStation = () => import('@/views/jlmap3d/station/jl3dstation');
const Jlmap3dModel = () => import('@/views/jlmap3d/device/jl3ddevice');
const Jlmap3dTrain = () => import('@/views/jlmap3d/devicetrain/jl3ddevicetrain');
+const Jl3dMaintainer = () => import('@/views/jlmap3d/maintainer/jl3dmaintainer');
+
const Display = () => import('@/views/display/index');
const DisplayNew = () => import('@/views/newMap/displayNew/index');
const DesignDisplay = () => import('@/views/display/designIndex');
diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js
index e9046878d..7cedc6817 100644
--- a/src/utils/baseUrl.js
+++ b/src/utils/baseUrl.js
@@ -2,9 +2,9 @@ export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud';
- BASE_API = 'https://test.joylink.club/jlcloud';
+ // BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
- // BASE_API = 'http://192.168.3.6:9000'; // 旭强
+ BASE_API = 'http://192.168.3.6:9000'; // 旭强
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
// BASE_API = 'http://192.168.3.82:9000'; // 杜康
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
diff --git a/src/views/jlmap3d/device/jl3ddevice.vue b/src/views/jlmap3d/device/jl3ddevice.vue
index 19f9fea27..7456ee6b0 100644
--- a/src/views/jlmap3d/device/jl3ddevice.vue
+++ b/src/views/jlmap3d/device/jl3ddevice.vue
@@ -119,8 +119,9 @@
}else{
this.datastatus = "new";
this.initnewdata(group,header);
-
}
+ // const mapdata = this.$store.getters['map/map'];
+ // console.log(mapdata);
// if (group) {
// this.init(group,header);
// // this.subscribe(code,group,header);
diff --git a/src/views/jlmap3d/maintainer/jl3dmaintainer.vue b/src/views/jlmap3d/maintainer/jl3dmaintainer.vue
new file mode 100644
index 000000000..ac05aefbd
--- /dev/null
+++ b/src/views/jlmap3d/maintainer/jl3dmaintainer.vue
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+ {{ $t('global.back') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/newMap/jointTrainingNew/index.vue b/src/views/newMap/jointTrainingNew/index.vue
index 9f4c980ff..27499d126 100644
--- a/src/views/newMap/jointTrainingNew/index.vue
+++ b/src/views/newMap/jointTrainingNew/index.vue
@@ -1,6 +1,7 @@
+
@@ -46,6 +47,7 @@ import { loadNewMapDataByGroup } from '@/utils/loaddata';
import { getUserRolesNew, deljointTrainRoomNew} from '@/api/jointTraining';
import { clearSimulation, getSimulationInfoNew } from '@/api/simulation';
import Jl3dDrive from '@/views/jlmap3d/drive/jl3ddrive';
+import Jl3dMaintainer from '@/views/jlmap3d/maintainer/jl3dmaintainer';
import { EventBus } from '@/scripts/event-bus';
import ibpData from '@/ibp/constant/ibpData';
import { timeFormat } from '@/utils/date';
@@ -62,6 +64,7 @@ export default {
JoinRunPlanView,
menuSystemTime,
Jl3dDrive,
+ Jl3dMaintainer,
IbpPlate
},
data() {
@@ -81,6 +84,7 @@ export default {
lineCode: '',
simulationShow: false,
drivingShow: false,
+ jl3dmaintainershow:false,
ibpShow: false,
panelShow: true,
ibpPart: '',
@@ -345,6 +349,7 @@ export default {
if (this.lineCode) {
// 01 现地 02 行调 '' 观众
const resp = await this.getUserRole();
+ console.log(resp.data.userRole);
if (resp && resp.code == 200) {
// Admin 管理员 Instructor 教员 Dispatcher 行调 STATION_SUPERVISOR 车站 Audience 观众 Driver 司机 MAINTAINER 通号 IBP:IBP盘
this.userRole = resp.data.userRole;
@@ -370,6 +375,9 @@ export default {
try {
await loadNewMapDataByGroup(this.group);
await this.$store.dispatch('training/setMapDefaultState');
+ if(this.userRole == "MAINTAINER"){
+ this.jl3dmaintainershow = true;
+ }
} catch (error) {
this.$messageBox(this.$t('error.getMapDataFailed'));
this.endViewLoading();
diff --git a/static/model/device/stationstand/stationstandhrb.FBX b/static/model/device/stationstand/stationstandhrb.FBX
new file mode 100644
index 0000000000000000000000000000000000000000..16ad7d034378a3bd18d37ac0979b26b14a2e2cff
GIT binary patch
literal 178768
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
XjL)oWIfl7mIt6_lhacT;h$
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