From 74bfcf49f18e173e5a1a76e64d897acd66b173ac Mon Sep 17 00:00:00 2001 From: fan Date: Thu, 16 Nov 2023 15:14:21 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E6=88=90=E9=83=BD=E5=B7=A5=E5=AD=A6?= =?UTF-8?q?=E9=99=A2=E6=B7=BB=E5=8A=A0=E5=8F=8Cicon(=E8=B0=83=E6=8D=A2?= =?UTF-8?q?=E9=80=8F=E6=98=8Eicon)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icon/icon_zonghe.png | Bin 4945 -> 6500 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assets/icon/icon_zonghe.png b/src/assets/icon/icon_zonghe.png index ae9a7cb32f9e1056c954ea5c91ef5d195470cd0c..86e6597ff2877c03f5e0a504e1348ea5ea6e7a40 100644 GIT binary patch literal 6500 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 literal 4945 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 Date: Wed, 22 Nov 2023 11:31:17 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E7=AB=99=E6=8E=A7=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E6=8E=92=E5=88=97=E8=BF=9B=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/components/utils/menuJudge.js | 4 ++-- src/jmapNew/theme/race_01/menus/menuSignal.vue | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/jmapNew/theme/components/utils/menuJudge.js b/src/jmapNew/theme/components/utils/menuJudge.js index 1147fbb12..e07cd2915 100644 --- a/src/jmapNew/theme/components/utils/menuJudge.js +++ b/src/jmapNew/theme/components/utils/menuJudge.js @@ -5,7 +5,7 @@ import store from '@/store/index'; * @param {String} centralStationCode 所属集中站code * @param {String} work 当前客户端 * */ -export function judgeStationControl(stationCode, centralStationCode, work) { +export function judgeStationControl(stationCode, centralStationCode, work, isMenuAvailableInLocalMode) { const centralStation = store.getters['map/getDeviceByCode'](centralStationCode); // 角色车站是 设备所属车站或所属集中站 if (work === 'localWork') { @@ -13,7 +13,7 @@ export function judgeStationControl(stationCode, centralStationCode, work) { const flag2 = centralStation.controlMode === 'Local' || centralStation.controlMode === 'Emergency'; return flag1 && flag2; } else if ( work === 'dispatchWork' ) { - return centralStation.controlMode === 'Center'; + return centralStation.controlMode === 'Center' || (centralStation.controlMode === 'Local' && isMenuAvailableInLocalMode); } else { return true; } diff --git a/src/jmapNew/theme/race_01/menus/menuSignal.vue b/src/jmapNew/theme/race_01/menus/menuSignal.vue index 960351990..fe320a6a2 100644 --- a/src/jmapNew/theme/race_01/menus/menuSignal.vue +++ b/src/jmapNew/theme/race_01/menus/menuSignal.vue @@ -64,7 +64,8 @@ export default { handler: this.arrangementRoute, cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, isDisabled: (signal, work) => false, - isShow: (signal, work) => true + isShow: (signal, work) => true, + isAvailableInLocalMode: true }, { label: '取消进路', @@ -206,7 +207,7 @@ export default { initMenu() { this.menu = []; this.menuNormal.forEach(menuItem => { - menuItem.disabled = !judgeStationControl(this.selected.belongStationCode, this.selected.stationCode, this.work) || menuItem.isDisabled(this.selected, this.work); + menuItem.disabled = !judgeStationControl(this.selected.belongStationCode, this.selected.stationCode, this.work, menuItem.isAvailableInLocalMode) || menuItem.isDisabled(this.selected, this.work); menuItem.show = menuItem.isShow(this.selected, this.work); this.menu.push(menuItem); }); From 9b2db3957ec84e0db04f395cbe1574e6daa0993a Mon Sep 17 00:00:00 2001 From: Yuan Date: Wed, 22 Nov 2023 13:21:08 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E7=AB=99=E6=8E=A7=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E4=BF=A1=E5=8F=B7=E6=9C=BA=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../theme/components/utils/menuJudge.js | 43 +++++++++++++------ .../theme/race_01/menus/menuSignal.vue | 11 +++-- 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/src/jmapNew/theme/components/utils/menuJudge.js b/src/jmapNew/theme/components/utils/menuJudge.js index e07cd2915..eec67f809 100644 --- a/src/jmapNew/theme/components/utils/menuJudge.js +++ b/src/jmapNew/theme/components/utils/menuJudge.js @@ -1,20 +1,37 @@ -import store from '@/store/index'; +import store from "@/store/index"; /** * 判断菜单行值控制全 * @param {String} stationCode 所属车站code * @param {String} centralStationCode 所属集中站code * @param {String} work 当前客户端 * */ -export function judgeStationControl(stationCode, centralStationCode, work, isMenuAvailableInLocalMode) { - const centralStation = store.getters['map/getDeviceByCode'](centralStationCode); - // 角色车站是 设备所属车站或所属集中站 - if (work === 'localWork') { - const flag1 = store.state.training.roleDeviceCode === stationCode || store.state.training.roleDeviceCode === centralStationCode; - const flag2 = centralStation.controlMode === 'Local' || centralStation.controlMode === 'Emergency'; - return flag1 && flag2; - } else if ( work === 'dispatchWork' ) { - return centralStation.controlMode === 'Center' || (centralStation.controlMode === 'Local' && isMenuAvailableInLocalMode); - } else { - return true; - } +export function judgeStationControl( + stationCode, + centralStationCode, + work, + isAvailableInOtherControlMode +) { + const centralStation = store.getters["map/getDeviceByCode"]( + centralStationCode + ); + // 角色车站是 设备所属车站或所属集中站 + if (work === "localWork") { + const flag1 = + centralStation.controlMode === "Center" && + isAvailableInOtherControlMode; + const flag2 = + store.state.training.roleDeviceCode === stationCode || + store.state.training.roleDeviceCode === centralStationCode; + return flag1 && flag2; + } else if (work === "dispatchWork") { + const flag1 = + centralStation.controlMode === "Local" || + centralStation.controlMode === "Emergency"; + return ( + centralStation.controlMode === "Center" || + (flag1 && isAvailableInOtherControlMode) + ); + } else { + return true; + } } diff --git a/src/jmapNew/theme/race_01/menus/menuSignal.vue b/src/jmapNew/theme/race_01/menus/menuSignal.vue index fe320a6a2..d7a7bfcd2 100644 --- a/src/jmapNew/theme/race_01/menus/menuSignal.vue +++ b/src/jmapNew/theme/race_01/menus/menuSignal.vue @@ -65,14 +65,15 @@ export default { cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, isDisabled: (signal, work) => false, isShow: (signal, work) => true, - isAvailableInLocalMode: true + isAvailableInOtherControlMode: true }, { label: '取消进路', handler: this.cancelTrainRoute, cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, isDisabled: (signal, work) => false, - isShow: (signal, work) => true + isShow: (signal, work) => true, + isAvailableInOtherControlMode: true }, { label: '信号重开', @@ -128,14 +129,16 @@ export default { handler: this.humanControl, cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING, isDisabled: (signal, work) => false, - isShow: (signal, work) => true + isShow: (signal, work) => true, + isAvailableInOtherControlMode: true }, { label: '进路自排开', handler: this.atsAutoControl, cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING, isDisabled: (signal, work) => false, - isShow: (signal, work) => true + isShow: (signal, work) => true, + isAvailableInOtherControlMode: true }, { label: '设置通过模式', From c513a3e80b53c5731ead569e0efb4413defdac6b Mon Sep 17 00:00:00 2001 From: Yuan Date: Wed, 22 Nov 2023 14:11:17 +0800 Subject: [PATCH 04/19] =?UTF-8?q?bugfix=20-=20ZCControl=E9=AB=98=E4=BA=AE?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/shape/graph/ZcControl/EMouse.js | 3 ++- src/jmapNew/shape/graph/ZcControl/index.js | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/jmapNew/shape/graph/ZcControl/EMouse.js b/src/jmapNew/shape/graph/ZcControl/EMouse.js index ae8bbdb5c..a86bb22b1 100644 --- a/src/jmapNew/shape/graph/ZcControl/EMouse.js +++ b/src/jmapNew/shape/graph/ZcControl/EMouse.js @@ -48,7 +48,8 @@ export default class EMouse extends Group { e.target._subType == 'Text') { this.text.hide(); } else { - this.device.control.setControlColor(this.device.style.ZcControl.lamp.controlColor); + // this.device.control.setControlColor(this.device.style.ZcControl.lamp.controlColor); + this.device.setState(this.device.model) this.device.control.setTextColor('#FFFFFF'); this.device.control.setTextBorder(false); this.device.control.setArcBorder(false); diff --git a/src/jmapNew/shape/graph/ZcControl/index.js b/src/jmapNew/shape/graph/ZcControl/index.js index 4f4f0fb80..cac7fbb16 100644 --- a/src/jmapNew/shape/graph/ZcControl/index.js +++ b/src/jmapNew/shape/graph/ZcControl/index.js @@ -73,7 +73,6 @@ export default class ZcControl extends Group { // 设置状态 setState(model) { this.recover(); - // 只响应前端自定义类型的状态变化 if (model._free) { this.setAshShow(); From e29028ec0e85832d5f0e6c417cb4d9b96b5a2a3d Mon Sep 17 00:00:00 2001 From: Yuan Date: Wed, 22 Nov 2023 14:17:48 +0800 Subject: [PATCH 05/19] =?UTF-8?q?bugfix=20-=20=E7=AB=99=E6=8E=A7=E4=BF=A1?= =?UTF-8?q?=E5=8F=B7=E6=9C=BA=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/race_01/menus/menuSignal.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jmapNew/theme/race_01/menus/menuSignal.vue b/src/jmapNew/theme/race_01/menus/menuSignal.vue index d7a7bfcd2..a5b288d37 100644 --- a/src/jmapNew/theme/race_01/menus/menuSignal.vue +++ b/src/jmapNew/theme/race_01/menus/menuSignal.vue @@ -210,7 +210,7 @@ export default { initMenu() { this.menu = []; this.menuNormal.forEach(menuItem => { - menuItem.disabled = !judgeStationControl(this.selected.belongStationCode, this.selected.stationCode, this.work, menuItem.isAvailableInLocalMode) || menuItem.isDisabled(this.selected, this.work); + menuItem.disabled = !judgeStationControl(this.selected.belongStationCode, this.selected.stationCode, this.work, menuItem.isAvailableInOtherControlMode) || menuItem.isDisabled(this.selected, this.work); menuItem.show = menuItem.isShow(this.selected, this.work); this.menu.push(menuItem); }); From c6c3a3a37766dbfa44080004e2f59f2bb1f63183 Mon Sep 17 00:00:00 2001 From: Yuan Date: Wed, 22 Nov 2023 14:47:50 +0800 Subject: [PATCH 06/19] =?UTF-8?q?bugfix=20-=20=E7=AB=99=E5=8F=B0=E6=89=A3?= =?UTF-8?q?=E8=BD=A6=E6=93=8D=E4=BD=9C=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/race_01/menus/menuStationStand.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/jmapNew/theme/race_01/menus/menuStationStand.vue b/src/jmapNew/theme/race_01/menus/menuStationStand.vue index c74ac5328..a6127e742 100644 --- a/src/jmapNew/theme/race_01/menus/menuStationStand.vue +++ b/src/jmapNew/theme/race_01/menus/menuStationStand.vue @@ -70,7 +70,7 @@ export default { label: '取消扣车', handler: this.cancelDetainTrain, cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN, - isDisabled: (stand, work) => stand.stationHoldTrain === 1, + isDisabled: (stand, work) => stand.stationHoldTrain !== 1, isShow: (stand, work) => work === 'localWork' }, { @@ -84,7 +84,7 @@ export default { label: '取消扣车', handler: this.cancelDetainTrain, cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN, - isDisabled: (stand, work) => stand.centerHoldTrain === 1, + isDisabled: (stand, work) => stand.centerHoldTrain !== 1, isShow: (stand, work) => work === 'dispatchWork' }, { From 05788794cd647882818a94a2b0c70696ff2af560 Mon Sep 17 00:00:00 2001 From: Yuan Date: Wed, 22 Nov 2023 17:14:57 +0800 Subject: [PATCH 07/19] =?UTF-8?q?bugfix=20-=20=E4=BF=A1=E5=8F=B7=E6=9C=BA?= =?UTF-8?q?=E7=AB=99=E6=8E=A7=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../theme/components/utils/menuJudge.js | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/jmapNew/theme/components/utils/menuJudge.js b/src/jmapNew/theme/components/utils/menuJudge.js index eec67f809..23ca52bb2 100644 --- a/src/jmapNew/theme/components/utils/menuJudge.js +++ b/src/jmapNew/theme/components/utils/menuJudge.js @@ -14,23 +14,21 @@ export function judgeStationControl( const centralStation = store.getters["map/getDeviceByCode"]( centralStationCode ); + const isCenterMode = centralStation.controlMode === "Center"; + const isLocalMode = + centralStation.controlMode === "Local" || + centralStation.controlMode === "Emergency"; // 角色车站是 设备所属车站或所属集中站 if (work === "localWork") { - const flag1 = - centralStation.controlMode === "Center" && - isAvailableInOtherControlMode; - const flag2 = + const isBelongingStation = store.state.training.roleDeviceCode === stationCode || store.state.training.roleDeviceCode === centralStationCode; - return flag1 && flag2; - } else if (work === "dispatchWork") { - const flag1 = - centralStation.controlMode === "Local" || - centralStation.controlMode === "Emergency"; return ( - centralStation.controlMode === "Center" || - (flag1 && isAvailableInOtherControlMode) + ((isCenterMode && isAvailableInOtherControlMode) || isLocalMode) && + isBelongingStation ); + } else if (work === "dispatchWork") { + return isCenterMode || (isLocalMode && isAvailableInOtherControlMode); } else { return true; } From bf544241099195270bc837277239c1b2b8add61d Mon Sep 17 00:00:00 2001 From: fan Date: Thu, 23 Nov 2023 14:25:56 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E8=B0=83=E5=BA=A6=E5=A4=A7=E8=B5=9B?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E6=9D=83=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/race_01/menus/menuDialog/stationControl.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jmapNew/theme/race_01/menus/menuDialog/stationControl.vue b/src/jmapNew/theme/race_01/menus/menuDialog/stationControl.vue index 38b2f9ff3..3ec57f3c2 100644 --- a/src/jmapNew/theme/race_01/menus/menuDialog/stationControl.vue +++ b/src/jmapNew/theme/race_01/menus/menuDialog/stationControl.vue @@ -147,7 +147,7 @@ export default { updateTableValue(controlTransfer) { this.concertrateStationList.forEach((row, index) => { if (row.code == controlTransfer.code) { - if (controlTransfer.applicantId) { + if (controlTransfer.applicantId && this.$store.state.training.roles !== 'DISPATCHER') { this.disabledCommit = true; } else { this.disabledCommit = false; From 42cb54bf7222f4e8c139b581d61cbcd2bf90966a Mon Sep 17 00:00:00 2001 From: fan Date: Fri, 24 Nov 2023 13:17:43 +0800 Subject: [PATCH 09/19] =?UTF-8?q?=E5=AE=9E=E8=AE=AD=E7=BC=96=E5=88=B6?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../newMap/display/trainingDesign/designPane.vue | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/views/newMap/display/trainingDesign/designPane.vue b/src/views/newMap/display/trainingDesign/designPane.vue index c0d353d84..3154a93cc 100644 --- a/src/views/newMap/display/trainingDesign/designPane.vue +++ b/src/views/newMap/display/trainingDesign/designPane.vue @@ -43,7 +43,7 @@ 重置 - 返回列表 + 返回列表
实训背景 @@ -130,6 +130,7 @@ import EditOperate from './editOperate'; import CreateDraftTraining from './createDraftTraining'; import GradeRules from './gradeRules'; import TrackList from './trackList'; +import { EventBus } from '@/scripts/event-bus'; export default { name: 'DesignIndex', @@ -217,6 +218,15 @@ export default { }); }, methods: { + goBackList() { + const qObj = {...this.$route.query}; + qObj.record = false; + this.$router.replace({ query:{...qObj}}); + this.showMode = 'draftTrainingList'; + this.$nextTick(() => { + EventBus.$emit('viewLoading', false); + }); + }, computedRoleDisabled(role) { if (!this.editData.client) { return false; From ed9340f261a6362146853ad36f98543d9fd46173 Mon Sep 17 00:00:00 2001 From: fan Date: Fri, 24 Nov 2023 14:26:28 +0800 Subject: [PATCH 10/19] =?UTF-8?q?=E7=94=B5=E5=8A=9B=E8=B0=83=E5=BA=A6=3D?= =?UTF-8?q?=E3=80=8B=E5=B7=A5=E7=94=B5=E8=B0=83=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jlmap3d/lesson3dedit/toolsmodel/jobpanedata.js | 2 +- src/scripts/ConstConfig.js | 2 +- src/utils/simulation.js | 2 +- src/views/jlmap3d/otherproject/xzexam/xzexam.vue | 2 +- src/views/newMap/chatView/chatBox.vue | 6 +++--- src/views/newMap/chatView/voiceChatBox.vue | 6 +++--- src/views/scriptManage/tipScriptRecord.vue | 8 ++++---- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/jlmap3d/lesson3dedit/toolsmodel/jobpanedata.js b/src/jlmap3d/lesson3dedit/toolsmodel/jobpanedata.js index f8c19c4a3..780fea9f4 100644 --- a/src/jlmap3d/lesson3dedit/toolsmodel/jobpanedata.js +++ b/src/jlmap3d/lesson3dedit/toolsmodel/jobpanedata.js @@ -396,7 +396,7 @@ export function JobPaneData() { ], }, { - name:"电力调度", + name:"工电调度", value:"dldd", text:"负责供电系统的正常运行。", picurl:"", diff --git a/src/scripts/ConstConfig.js b/src/scripts/ConstConfig.js index 83faf8237..ade82e58a 100644 --- a/src/scripts/ConstConfig.js +++ b/src/scripts/ConstConfig.js @@ -61,7 +61,7 @@ export default { { label: '司机', value: 'DRIVER', enLabel: 'Driver ' }, { label: '通号', value: 'MAINTAINER', enLabel: 'Repairman ' }, { label: '车辆段/停车场调度', value: 'DEPOT_DISPATCHER', enLabel: 'Depot dispatcher ' }, - { label: '电力调度', value: 'ELECTRIC_DISPATCHER', enLabel: 'Electric dispatcher' }, + { label: '工电调度', value: 'ELECTRIC_DISPATCHER', enLabel: 'Electric dispatcher' }, { label: '电力工务', value: 'STATION_ELECTRIC_WORKER', enLabel: 'Station electric worker' }, { label: '行调', value: 'DISPATCHER', enLabel: 'Dispatcher ' }, { label: '上级部门', value: 'PARENT_DEPARTMENT', enLabel: 'Parent department' }, diff --git a/src/utils/simulation.js b/src/utils/simulation.js index 53e79e929..edaa55409 100644 --- a/src/utils/simulation.js +++ b/src/utils/simulation.js @@ -37,7 +37,7 @@ export function covertMemberData (activeTrainList, resp) { member.label = member.type + name + userName; member.normalName = member.type + name; } - const deviceType = ['行调', '通号', '行值', '司机', '车辆段/停车场调度', '上级部门', '电力调度', '车辆段/停车场信号楼', '车站助理', '车站站长', + const deviceType = ['行调', '通号', '行值', '司机', '车辆段/停车场调度', '上级部门', '工电调度', '车辆段/停车场信号楼', '车站助理', '车站站长', '车站信号员', '车站客运员', '车站扳道员', '车站引导员', '车站工务工', '设备管理员', '车务段段长', '电力工务', '值班站长', '站务员']; /** diff --git a/src/views/jlmap3d/otherproject/xzexam/xzexam.vue b/src/views/jlmap3d/otherproject/xzexam/xzexam.vue index dfa6720ea..6b8e11482 100644 --- a/src/views/jlmap3d/otherproject/xzexam/xzexam.vue +++ b/src/views/jlmap3d/otherproject/xzexam/xzexam.vue @@ -123,7 +123,7 @@ export default { }, { id: "23", - name: "电力调度职责介绍", + name: "工电调度职责介绍", pic: '/other/23.png', }, { diff --git a/src/views/newMap/chatView/chatBox.vue b/src/views/newMap/chatView/chatBox.vue index ec6285676..8227cd99c 100644 --- a/src/views/newMap/chatView/chatBox.vue +++ b/src/views/newMap/chatView/chatBox.vue @@ -410,8 +410,8 @@ export default { dispatcherList[item.id] = this.memberData[item.id]; break; case 'ELECTRIC_DISPATCHER': - this.memberData[item.id].label = '电力调度' + (item.name || ''); - this.memberData[item.id].labelName = '电力调度' + (item.name || ''); + this.memberData[item.id].label = '工电调度' + (item.name || ''); + this.memberData[item.id].labelName = '工电调度' + (item.name || ''); electricDispatcherList[item.id] = this.memberData[item.id]; break; case 'DEPOT_DISPATCHER': @@ -539,7 +539,7 @@ export default { children: parentDepartmentList }, { - label: '电力调度', + label: '工电调度', id: 'electricDispatcher', type: 'role', children: electricDispatcherList diff --git a/src/views/newMap/chatView/voiceChatBox.vue b/src/views/newMap/chatView/voiceChatBox.vue index e04deabf3..398ff7461 100644 --- a/src/views/newMap/chatView/voiceChatBox.vue +++ b/src/views/newMap/chatView/voiceChatBox.vue @@ -320,8 +320,8 @@ export default { dispatcherList[item.id] = this.memberData[item.id]; break; case 'ELECTRIC_DISPATCHER': - this.memberData[item.id].label = '电力调度' + (item.name || ''); - this.memberData[item.id].labelName = '电力调度' + (item.name || ''); + this.memberData[item.id].label = '工电调度' + (item.name || ''); + this.memberData[item.id].labelName = '工电调度' + (item.name || ''); electricDispatcherList[item.id] = this.memberData[item.id]; break; case 'DEPOT_DISPATCHER': @@ -447,7 +447,7 @@ export default { children: parentDepartmentList }, { - label: '电力调度', + label: '工电调度', id: 'electricDispatcher', type: 'role', children: electricDispatcherList diff --git a/src/views/scriptManage/tipScriptRecord.vue b/src/views/scriptManage/tipScriptRecord.vue index 242411a4c..928ee3e00 100644 --- a/src/views/scriptManage/tipScriptRecord.vue +++ b/src/views/scriptManage/tipScriptRecord.vue @@ -218,7 +218,7 @@ export default { type: 'role', children: result.deviceListData[5] }, { - label: '电力调度', + label: '工电调度', id: 'electricDispatcher', type: 'role', children: result.deviceListData[6] @@ -344,7 +344,7 @@ export default { const covertmember = this.covert(lastData, ConstConfig.ConstSelect.roleTypeNew); const newMember = covertmember[0]; this.memberList.push(newMember); - const deviceTypeList = ['行调', '行值', '司机', '通号', '车辆段/停车场调度', '上级部门', '电力调度', '车辆段/停车场信号楼', '车站助理', '车站站长', '车站信号员', '车站客运员', '车站扳道员', '车站引导员', '车站工务工', '设备管理员', '车务段段长', '电力工务']; + const deviceTypeList = ['行调', '行值', '司机', '通号', '车辆段/停车场调度', '上级部门', '工电调度', '车辆段/停车场信号楼', '车站助理', '车站站长', '车站信号员', '车站客运员', '车站扳道员', '车站引导员', '车站工务工', '设备管理员', '车务段段长', '电力工务']; const index = deviceTypeList.indexOf(newMember.type); if (index >= 0) { const treeDataIn = this.treeData[index]; @@ -553,7 +553,7 @@ export default { prdType = ''; role.type = 'PARENT_DEPARTMENT'; this.$store.dispatch('training/setRoles', 'PARENT_DEPARTMENT'); - } else if (role.type == '电力调度') { + } else if (role.type == '工电调度') { prdType = ''; role.type = 'ELECTRIC_DISPATCHER'; this.$store.dispatch('training/setRoles', 'ELECTRIC_DISPATCHER'); @@ -629,7 +629,7 @@ export default { 'MAINTAINER':'通号', 'DEPOT_DISPATCHER':'车辆段/停车场调度', 'PARENT_DEPARTMENT':'上级部门', - 'ELECTRIC_DISPATCHER':'电力调度', + 'ELECTRIC_DISPATCHER':'工电调度', 'SIGNAL_BUILDING':'车辆段/停车场信号楼', 'STATION_ASSISTANT':'车站助理', 'STATION_MASTER':'车站站长', From 7094bca4f492fbc9143de70a87427097a1e2d5ba Mon Sep 17 00:00:00 2001 From: fan Date: Fri, 24 Nov 2023 16:29:22 +0800 Subject: [PATCH 11/19] =?UTF-8?q?=E5=9C=B0=E8=BD=A6=E9=80=9A=E4=BF=A1&?= =?UTF-8?q?=E5=8F=97=E7=94=B5=E5=BC=93=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/shape/graph/Train/index.js | 4 ++ .../theme/components/utils/menuOperate.js | 4 ++ src/jmapNew/theme/race_01/menus/menuTrain.vue | 53 +++++++++++++++++++ src/scripts/cmdPlugin/CommandEnum.js | 3 +- src/scripts/cmdPlugin/OperationHandler.js | 6 +++ 5 files changed, 69 insertions(+), 1 deletion(-) diff --git a/src/jmapNew/shape/graph/Train/index.js b/src/jmapNew/shape/graph/Train/index.js index a021a6769..9c30f5b25 100644 --- a/src/jmapNew/shape/graph/Train/index.js +++ b/src/jmapNew/shape/graph/Train/index.js @@ -425,6 +425,10 @@ export default class Train extends Group { // 西安二号线 列车停车状态 闪烁红色 this.updateTrainBodyFault(model.orderStop); } + if (!model.groundCommunicable) { + this.trainL && this.trainL.setColor('#f00'); + this.trainR && this.trainR.setColor('#f00'); + } } } setTrainTypeColor(type) { diff --git a/src/jmapNew/theme/components/utils/menuOperate.js b/src/jmapNew/theme/components/utils/menuOperate.js index 97ae94dc4..df1d45f6f 100644 --- a/src/jmapNew/theme/components/utils/menuOperate.js +++ b/src/jmapNew/theme/components/utils/menuOperate.js @@ -631,6 +631,10 @@ export const menuOperate = { takeOver: { operation: OperationEvent.Driver.takeOver.menu.operation, cmdType: CMD.Driver.CMD_DRIVER_TAKEOVER + }, + specialPantographUpDown: { + operation: OperationEvent.Driver.pantograph.menu.operation, + cmdType: CMD.Driver.CMD_SPECIAL_PANTOGRAPH_UP_DOWN } }, CTC: { diff --git a/src/jmapNew/theme/race_01/menus/menuTrain.vue b/src/jmapNew/theme/race_01/menus/menuTrain.vue index 21f57cc2e..4d55bda28 100644 --- a/src/jmapNew/theme/race_01/menus/menuTrain.vue +++ b/src/jmapNew/theme/race_01/menus/menuTrain.vue @@ -226,6 +226,31 @@ export default { handler: this.handlerApplyRmMode } ] + }, + { + label: '受电弓操作', + children: [ + { + label: '受电弓1升', + handler: this.pantogrphOneUp, + cmdType: CMD.Driver.CMD_SPECIAL_PANTOGRAPH_UP_DOWN + }, + { + label: '受电弓1降', + handler: this.pantogrphOneDown, + cmdType: CMD.Driver.CMD_SPECIAL_PANTOGRAPH_UP_DOWN + }, + { + label: '受电弓2升', + handler: this.pantogrphTwoUp, + cmdType: CMD.Driver.CMD_SPECIAL_PANTOGRAPH_UP_DOWN + }, + { + label: '受电弓2降', + handler: this.pantogrphTwoDown, + cmdType: CMD.Driver.CMD_SPECIAL_PANTOGRAPH_UP_DOWN + } + ] } ], menuSpeed: [ @@ -586,6 +611,34 @@ export default { this.$refs.trainSetWorkATP.doShow(operate, this.selected); } }); + }, + pantogrphOneUp() { + commitOperate(menuOperate.Driver.specialPantographUpDown, { index: 1, up: true, groupNumber: this.selected.code }, 3).then(({valid, operate}) => { + }).catch((error)=> { + console.error(error); + this.$refs.noticeInfo.doShow(); + }); + }, + pantogrphOneDown() { + commitOperate(menuOperate.Driver.specialPantographUpDown, { index: 1, up: false, groupNumber: this.selected.code }, 3).then(({valid, operate}) => { + }).catch((error)=> { + console.error(error); + this.$refs.noticeInfo.doShow(); + }); + }, + pantogrphTwoUp() { + commitOperate(menuOperate.Driver.specialPantographUpDown, { index: 2, up: true, groupNumber: this.selected.code }, 3).then(({valid, operate}) => { + }).catch((error)=> { + console.error(error); + this.$refs.noticeInfo.doShow(); + }); + }, + pantogrphTwoDown() { + commitOperate(menuOperate.Driver.specialPantographUpDown, { index: 2, up: false, groupNumber: this.selected.code }, 3).then(({valid, operate}) => { + }).catch((error)=> { + console.error(error); + this.$refs.noticeInfo.doShow(); + }); } } }; diff --git a/src/scripts/cmdPlugin/CommandEnum.js b/src/scripts/cmdPlugin/CommandEnum.js index 1675a0820..188028af3 100644 --- a/src/scripts/cmdPlugin/CommandEnum.js +++ b/src/scripts/cmdPlugin/CommandEnum.js @@ -104,7 +104,8 @@ export default { CMD_INBOUND: {value: 'Inbound', label: '回库'}, CMD_CHANGE_PRESELECTION_MODE: {value: 'Change_Preselection_Mode', label: '修改预选模式'}, CMD_APPLY_NRM: {value: 'Apply_NRM', label: '转NRM模式'}, - CMD_DRIVER_TAKEOVER: {value: 'Driver_TakeOver', label: '接管开关'} + CMD_DRIVER_TAKEOVER: {value: 'Driver_TakeOver', label: '接管开关'}, + CMD_SPECIAL_PANTOGRAPH_UP_DOWN: { value: 'Special_Pantograph_Up_Down', label: '受电弓升降' } // CMD_DEPART_TRAIN: {value: 'Depart_Train', label: '发车'}, // CMD_PARKING_TRAIN : {value: 'Parking_Train', label: '停车'} }, diff --git a/src/scripts/cmdPlugin/OperationHandler.js b/src/scripts/cmdPlugin/OperationHandler.js index d6f5b18ae..48430debe 100644 --- a/src/scripts/cmdPlugin/OperationHandler.js +++ b/src/scripts/cmdPlugin/OperationHandler.js @@ -5149,6 +5149,12 @@ export const OperationEvent = { operation: '130e', domId: '_Tips-Driver-takeOver' } + }, + pantograph: { + menu: { + operation: '130f', + domId: '_Tips-Driver-pantograph' + } } }, // 语音会话 From a95c91f64079d7a0583321781fcca08c58eeb26a Mon Sep 17 00:00:00 2001 From: dong <58670809@qq.com> Date: Wed, 29 Nov 2023 10:15:26 +0800 Subject: [PATCH 12/19] =?UTF-8?q?=E6=94=B6=E5=88=B0=E6=96=B0=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=B7=BB=E5=8A=A0=E9=93=83=E5=A3=B0=E6=8F=90=E9=86=92?= =?UTF-8?q?=E3=80=81=E5=BD=93=E5=89=8D=E4=BC=9A=E8=AF=9D=E6=8E=A5=E6=94=B6?= =?UTF-8?q?=E5=88=B0=E6=96=B0=E8=AF=AD=E9=9F=B3=E7=9B=B4=E6=8E=A5=E6=92=AD?= =?UTF-8?q?=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../newMap/display/newChat/chatContent.vue | 33 +++++++++++++++++-- .../newMap/display/newChat/chatDialog.vue | 5 ++- src/views/newMap/display/newChat/index.vue | 21 +++++++++++- 3 files changed, 55 insertions(+), 4 deletions(-) diff --git a/src/views/newMap/display/newChat/chatContent.vue b/src/views/newMap/display/newChat/chatContent.vue index f5af5dd84..97e2ecdbb 100644 --- a/src/views/newMap/display/newChat/chatContent.vue +++ b/src/views/newMap/display/newChat/chatContent.vue @@ -123,6 +123,12 @@ export default { } }, id() { + this.currentAudioList = []; + this.messageList.forEach(item => { + this.$set(item, 'activeAuto', false); + }); + const audioDom = document.querySelector('#audioPlay'); + audioDom && audioDom.pause(); this.cancelRecording(); } }, @@ -140,6 +146,28 @@ export default { this.contentDom = ''; }, methods: { + playNoReadMessage() { + if (!this.id && !this.privateChatId) return; + const list = this.getNoReadVoiceList(); + if (list.length) { + this.currentAudioList = list; + this.playAllAudio(); + } + }, + getNoReadVoiceList() { + const filter = this.messageList.filter(item => { + return item.type == 'Voice' && !item.allRead && !item.readerSet.includes(this.myMemberId) && this.myMemberId != item.memberId; + }); + return filter; + }, + setActiveAutoFalse(ms) { + const findIndex = this.messageList.findIndex(item => { + return item.id == ms.id; + }); + if (findIndex > -1) { + this.messageList.splice(findIndex, 1, {...this.messageList[findIndex], 'activeAuto': false}); + } + }, setIsBottomFn() { const scrollTop = this.contentDom.scrollHeight - this.contentDom.clientHeight; if (scrollTop == 0 || this.contentDom.scrollTop >= scrollTop) { @@ -157,16 +185,17 @@ export default { }, playAllAudio() { this.$nextTick(function() { - this.currentMessage = this.currentAudioList.shift(); - if (this.currentMessage.type === 'Text') { + if (!this.currentAudioList || !this.currentAudioList[0] || this.currentAudioList[0].type === 'Text') { return; } + this.currentMessage = this.currentAudioList.shift(); document.querySelector('#audioPlay').src = this.currentMessage.audioPath; document.querySelector('#audioPlay').play(); this.$set(this.currentMessage, 'activeAuto', true); this.play = true; document.querySelector('#audioPlay').onended = () => { this.$set(this.currentMessage, 'activeAuto', false); + this.setActiveAutoFalse(this.currentMessage); if (!this.currentAudioList || !this.currentAudioList.length) { this.play = false; } else { diff --git a/src/views/newMap/display/newChat/chatDialog.vue b/src/views/newMap/display/newChat/chatDialog.vue index f009174eb..45e029543 100644 --- a/src/views/newMap/display/newChat/chatDialog.vue +++ b/src/views/newMap/display/newChat/chatDialog.vue @@ -56,7 +56,7 @@
- +
@@ -591,6 +591,9 @@ export default { this.getMessageStatus(obj); }); }); + this.$nextTick(() => { + this.$refs.chatContentRef && this.$refs.chatContentRef.playNoReadMessage(); + }); }, handleClose() { this.$store.dispatch('training/setChatBoxMin', true); diff --git a/src/views/newMap/display/newChat/index.vue b/src/views/newMap/display/newChat/index.vue index 4301c4bb5..0b898ba4b 100644 --- a/src/views/newMap/display/newChat/index.vue +++ b/src/views/newMap/display/newChat/index.vue @@ -6,6 +6,9 @@
+ @@ -13,6 +16,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler'; // import {UserOperationType} from '@/scripts/ConstDic'; import chatDialog from './chatDialog'; +import BuzzerAudio from '@/assets/buzzer.mp3'; export default { name: 'ChatBox', components: { @@ -20,7 +24,8 @@ export default { }, data() { return { - totalUnreadNum: 0 + totalUnreadNum: 0, + buzzerAudio: BuzzerAudio }; }, computed:{ @@ -36,11 +41,24 @@ export default { this.$nextTick(() => { this.$store.dispatch('training/emitTipFresh'); }); + }, + totalUnreadNum(val) { + if (val && !this.$refs.chatDialog.dialogVisible) { + this.playBuzzer(); + } } }, mounted() { }, methods: { + playBuzzer() { + const audioDom = document.querySelector('#chatBuzzer'); + audioDom && audioDom.play(); + }, + pauseBuzzer() { + const audioDom = document.querySelector('#chatBuzzer'); + audioDom && audioDom.pause(); + }, setTotalUnread(val) { this.totalUnreadNum = val; }, @@ -52,6 +70,7 @@ export default { // }; this.$store.dispatch('training/setChatBoxMin', false); this.$refs.chatDialog.dialogVisible = true; + this.pauseBuzzer(); // if (this.$store.state.trainingNew.trainingSwitch) { // this.$nextTick(() => { // this.$store.dispatch('trainingNew/next', operate); From 8e68e6e9743168d1092fd0f1bd5faeb16ca132ce Mon Sep 17 00:00:00 2001 From: dong <58670809@qq.com> Date: Wed, 29 Nov 2023 17:24:46 +0800 Subject: [PATCH 13/19] =?UTF-8?q?=E8=AF=AD=E9=9F=B3=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E9=9F=B3=E6=94=B9=E4=B8=BA=E4=B9=8B=E5=89=8D=E7=94=B5=E8=AF=9D?= =?UTF-8?q?=E9=93=83=E5=A3=B0=E3=80=81=E8=AF=AD=E9=9F=B3=E6=92=AD=E5=AE=8C?= =?UTF-8?q?=E5=86=8D=E6=92=AD=E5=8F=A6=E4=B8=80=E4=B8=AA=E3=80=81=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E8=AF=AD=E8=A8=80=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../newMap/display/newChat/chatContent.vue | 44 +++++++++++++------ src/views/newMap/display/newChat/index.vue | 9 ++-- 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/src/views/newMap/display/newChat/chatContent.vue b/src/views/newMap/display/newChat/chatContent.vue index 97e2ecdbb..44d25cb52 100644 --- a/src/views/newMap/display/newChat/chatContent.vue +++ b/src/views/newMap/display/newChat/chatContent.vue @@ -123,12 +123,7 @@ export default { } }, id() { - this.currentAudioList = []; - this.messageList.forEach(item => { - this.$set(item, 'activeAuto', false); - }); - const audioDom = document.querySelector('#audioPlay'); - audioDom && audioDom.pause(); + this.stopNoReadPlay(); this.cancelRecording(); } }, @@ -146,12 +141,29 @@ export default { this.contentDom = ''; }, methods: { + stopNoReadPlay() { + this.currentAudioList = []; + this.messageList.forEach(item => { + this.$set(item, 'activeAuto', false); + }); + const audioDom = document.querySelector('#audioPlay'); + audioDom && audioDom.pause(); + }, playNoReadMessage() { if (!this.id && !this.privateChatId) return; const list = this.getNoReadVoiceList(); - if (list.length) { - this.currentAudioList = list; - this.playAllAudio(); + if (this.play) { + const filterList = list.filter(item => { + return !this.currentAudioList.find(ii => { + return ii.id == item.id; + }); + }); + this.currentAudioList.push(...filterList); + } else { + if (list.length) { + this.currentAudioList = list; + this.playAllAudio(); + } } }, getNoReadVoiceList() { @@ -160,12 +172,12 @@ export default { }); return filter; }, - setActiveAutoFalse(ms) { + setActiveAutoStatus(ms, s = false) { const findIndex = this.messageList.findIndex(item => { return item.id == ms.id; }); if (findIndex > -1) { - this.messageList.splice(findIndex, 1, {...this.messageList[findIndex], 'activeAuto': false}); + this.$set(this.messageList[findIndex], 'activeAuto', s); } }, setIsBottomFn() { @@ -192,10 +204,11 @@ export default { document.querySelector('#audioPlay').src = this.currentMessage.audioPath; document.querySelector('#audioPlay').play(); this.$set(this.currentMessage, 'activeAuto', true); + this.setActiveAutoStatus(this.currentMessage, true); this.play = true; document.querySelector('#audioPlay').onended = () => { this.$set(this.currentMessage, 'activeAuto', false); - this.setActiveAutoFalse(this.currentMessage); + this.setActiveAutoStatus(this.currentMessage); if (!this.currentAudioList || !this.currentAudioList.length) { this.play = false; } else { @@ -205,8 +218,7 @@ export default { }); }, playAudio(audioPath, data) { - this.$set(this.currentMessage, 'activeAuto', false); - this.currentAudioList = []; + this.stopNoReadPlay(); this.currentMessage = data; this.play = true; document.querySelector('#audioPlay').src = audioPath; @@ -263,6 +275,10 @@ export default { }, // 停止录制 发送语音 stopRecording() { + if (this.seconds < 1) { + this.$message.info('录制语音时间太短!'); + return; + } this.audioPlay = true; clearInterval(this.inter); this.seconds = 0; diff --git a/src/views/newMap/display/newChat/index.vue b/src/views/newMap/display/newChat/index.vue index 0b898ba4b..381ee1c1b 100644 --- a/src/views/newMap/display/newChat/index.vue +++ b/src/views/newMap/display/newChat/index.vue @@ -16,7 +16,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler'; // import {UserOperationType} from '@/scripts/ConstDic'; import chatDialog from './chatDialog'; -import BuzzerAudio from '@/assets/buzzer.mp3'; +import teleRing from '@/assets/teleRing.mp3'; export default { name: 'ChatBox', components: { @@ -25,7 +25,7 @@ export default { data() { return { totalUnreadNum: 0, - buzzerAudio: BuzzerAudio + buzzerAudio: teleRing }; }, computed:{ @@ -53,7 +53,10 @@ export default { methods: { playBuzzer() { const audioDom = document.querySelector('#chatBuzzer'); - audioDom && audioDom.play(); + if (audioDom) { + audioDom.currentTime = 0; + audioDom.play(); + } }, pauseBuzzer() { const audioDom = document.querySelector('#chatBuzzer'); From cf2801288f46c9ceda022157f0909250d3d60e5a Mon Sep 17 00:00:00 2001 From: fan Date: Thu, 30 Nov 2023 09:41:22 +0800 Subject: [PATCH 14/19] =?UTF-8?q?=E5=9B=BD=E8=B5=9B=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E4=B8=8D=E5=85=B3=E9=97=ADdialog=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../race_01/menus/dialog/childDialog/confirmControl.vue | 4 +++- src/jmapNew/theme/race_01/menus/dialog/routeSelection.vue | 4 +++- src/jmapNew/theme/race_01/menus/dialog/routerCommand.vue | 4 +++- .../theme/race_01/menus/dialog/sectionAlxeReset.vue | 4 +++- .../theme/race_01/menus/dialog/standBulkBuckleTrain.vue | 4 +++- .../theme/race_01/menus/dialog/stationBackStrategy.vue | 4 +++- src/jmapNew/theme/race_01/menus/dialog/stationControl.vue | 4 +++- src/jmapNew/theme/race_01/menus/dialog/trainDefine.vue | 4 +++- src/jmapNew/theme/race_01/menus/dialog/trainDelete.vue | 4 +++- src/jmapNew/theme/race_01/menus/dialog/trainMove.vue | 4 +++- src/jmapNew/theme/race_01/menus/dialog/trainSetHead.vue | 4 +++- src/jmapNew/theme/race_01/menus/dialog/trainSetPlan.vue | 4 +++- src/jmapNew/theme/race_01/menus/dialog/trainSetWork.vue | 4 +++- .../theme/race_01/menus/dialog/trainSetWorkATP.vue | 4 +++- .../theme/race_01/menus/dialog/turnBackControl.vue | 4 +++- src/jmapNew/theme/race_01/menus/menuSignal.vue | 8 ++++---- 16 files changed, 49 insertions(+), 19 deletions(-) diff --git a/src/jmapNew/theme/race_01/menus/dialog/childDialog/confirmControl.vue b/src/jmapNew/theme/race_01/menus/dialog/childDialog/confirmControl.vue index e0a99c84f..0ccfe3c67 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/childDialog/confirmControl.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/childDialog/confirmControl.vue @@ -132,7 +132,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); } diff --git a/src/jmapNew/theme/race_01/menus/dialog/routeSelection.vue b/src/jmapNew/theme/race_01/menus/dialog/routeSelection.vue index 509c508b4..947a5ea6a 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/routeSelection.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/routeSelection.vue @@ -220,7 +220,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); } diff --git a/src/jmapNew/theme/race_01/menus/dialog/routerCommand.vue b/src/jmapNew/theme/race_01/menus/dialog/routerCommand.vue index 1f2699d6c..a255bcff2 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/routerCommand.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/routerCommand.vue @@ -117,7 +117,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); }, diff --git a/src/jmapNew/theme/race_01/menus/dialog/sectionAlxeReset.vue b/src/jmapNew/theme/race_01/menus/dialog/sectionAlxeReset.vue index 40765b987..902ed64fa 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/sectionAlxeReset.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/sectionAlxeReset.vue @@ -137,7 +137,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); }, diff --git a/src/jmapNew/theme/race_01/menus/dialog/standBulkBuckleTrain.vue b/src/jmapNew/theme/race_01/menus/dialog/standBulkBuckleTrain.vue index 05a7032f5..b93bc78ce 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/standBulkBuckleTrain.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/standBulkBuckleTrain.vue @@ -212,7 +212,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); }, diff --git a/src/jmapNew/theme/race_01/menus/dialog/stationBackStrategy.vue b/src/jmapNew/theme/race_01/menus/dialog/stationBackStrategy.vue index 89f842de1..5ec6803b3 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/stationBackStrategy.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/stationBackStrategy.vue @@ -156,7 +156,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); } else { diff --git a/src/jmapNew/theme/race_01/menus/dialog/stationControl.vue b/src/jmapNew/theme/race_01/menus/dialog/stationControl.vue index 65395bfe2..0b5b49fb8 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/stationControl.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/stationControl.vue @@ -285,7 +285,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); } diff --git a/src/jmapNew/theme/race_01/menus/dialog/trainDefine.vue b/src/jmapNew/theme/race_01/menus/dialog/trainDefine.vue index 5b0c0eedd..d8679c8a2 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/trainDefine.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/trainDefine.vue @@ -142,7 +142,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); }, diff --git a/src/jmapNew/theme/race_01/menus/dialog/trainDelete.vue b/src/jmapNew/theme/race_01/menus/dialog/trainDelete.vue index cc41329b3..9b41d5854 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/trainDelete.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/trainDelete.vue @@ -140,7 +140,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); } else { diff --git a/src/jmapNew/theme/race_01/menus/dialog/trainMove.vue b/src/jmapNew/theme/race_01/menus/dialog/trainMove.vue index b05f13b66..10132d9fa 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/trainMove.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/trainMove.vue @@ -142,7 +142,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); }, diff --git a/src/jmapNew/theme/race_01/menus/dialog/trainSetHead.vue b/src/jmapNew/theme/race_01/menus/dialog/trainSetHead.vue index 0e50fc415..481f9e57e 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/trainSetHead.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/trainSetHead.vue @@ -149,7 +149,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); }, diff --git a/src/jmapNew/theme/race_01/menus/dialog/trainSetPlan.vue b/src/jmapNew/theme/race_01/menus/dialog/trainSetPlan.vue index 07e4d73b2..7586dc59e 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/trainSetPlan.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/trainSetPlan.vue @@ -169,7 +169,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); }, diff --git a/src/jmapNew/theme/race_01/menus/dialog/trainSetWork.vue b/src/jmapNew/theme/race_01/menus/dialog/trainSetWork.vue index b1c62e2ba..9be76961c 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/trainSetWork.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/trainSetWork.vue @@ -106,7 +106,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); }, diff --git a/src/jmapNew/theme/race_01/menus/dialog/trainSetWorkATP.vue b/src/jmapNew/theme/race_01/menus/dialog/trainSetWorkATP.vue index dac69b1d0..6804d0809 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/trainSetWorkATP.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/trainSetWorkATP.vue @@ -137,7 +137,9 @@ export default { } }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); }, diff --git a/src/jmapNew/theme/race_01/menus/dialog/turnBackControl.vue b/src/jmapNew/theme/race_01/menus/dialog/turnBackControl.vue index 0870422ef..e3ead9414 100644 --- a/src/jmapNew/theme/race_01/menus/dialog/turnBackControl.vue +++ b/src/jmapNew/theme/race_01/menus/dialog/turnBackControl.vue @@ -152,7 +152,9 @@ export default { this.doClose(); }).catch(() => { this.loading = false; - this.doClose(); + if (!this.$store.state.trainingNew.trainingSwitch) { + this.doClose(); + } this.$refs.noticeInfo.doShow(); }); }, diff --git a/src/jmapNew/theme/race_01/menus/menuSignal.vue b/src/jmapNew/theme/race_01/menus/menuSignal.vue index a5b288d37..49f4f084f 100644 --- a/src/jmapNew/theme/race_01/menus/menuSignal.vue +++ b/src/jmapNew/theme/race_01/menus/menuSignal.vue @@ -65,7 +65,7 @@ export default { cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, isDisabled: (signal, work) => false, isShow: (signal, work) => true, - isAvailableInOtherControlMode: true + isAvailableInOtherControlMode: true }, { label: '取消进路', @@ -73,7 +73,7 @@ export default { cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, isDisabled: (signal, work) => false, isShow: (signal, work) => true, - isAvailableInOtherControlMode: true + isAvailableInOtherControlMode: true }, { label: '信号重开', @@ -130,7 +130,7 @@ export default { cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING, isDisabled: (signal, work) => false, isShow: (signal, work) => true, - isAvailableInOtherControlMode: true + isAvailableInOtherControlMode: true }, { label: '进路自排开', @@ -138,7 +138,7 @@ export default { cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING, isDisabled: (signal, work) => false, isShow: (signal, work) => true, - isAvailableInOtherControlMode: true + isAvailableInOtherControlMode: true }, { label: '设置通过模式', From 81c18066034f42af8f2367a32c3fef5b37721df2 Mon Sep 17 00:00:00 2001 From: fan Date: Thu, 30 Nov 2023 10:00:42 +0800 Subject: [PATCH 15/19] =?UTF-8?q?=E5=88=97=E8=BD=A6=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=97=E7=94=B5=E5=BC=93=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../theme/components/menus/menuTrain.vue | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/src/jmapNew/theme/components/menus/menuTrain.vue b/src/jmapNew/theme/components/menus/menuTrain.vue index 6d9980f72..adafd7174 100644 --- a/src/jmapNew/theme/components/menus/menuTrain.vue +++ b/src/jmapNew/theme/components/menus/menuTrain.vue @@ -13,6 +13,7 @@ import SetTrainOperation from '@/jmapNew/theme/components/menus/dialog/setTrainO import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo'; import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault'; import { DeviceMenu } from '@/scripts/ConstDic'; +import CMD from '@/scripts/cmdPlugin/CommandEnum'; export default { name: 'MenuTrain', components: { @@ -87,6 +88,31 @@ export default { { label: '回库', handler: this.setInbound + }, + { + label: '受电弓操作', + children: [ + { + label: '受电弓1升', + handler: this.pantogrphOneUp, + cmdType: CMD.Driver.CMD_SPECIAL_PANTOGRAPH_UP_DOWN + }, + { + label: '受电弓1降', + handler: this.pantogrphOneDown, + cmdType: CMD.Driver.CMD_SPECIAL_PANTOGRAPH_UP_DOWN + }, + { + label: '受电弓2升', + handler: this.pantogrphTwoUp, + cmdType: CMD.Driver.CMD_SPECIAL_PANTOGRAPH_UP_DOWN + }, + { + label: '受电弓2降', + handler: this.pantogrphTwoDown, + cmdType: CMD.Driver.CMD_SPECIAL_PANTOGRAPH_UP_DOWN + } + ] } ] }; @@ -211,6 +237,34 @@ export default { this.$refs.popMenu.close(); // this.$store.dispatch('map/setTrainWindowShow', false); } + }, + pantogrphOneUp() { + commitOperate(menuOperate.Driver.specialPantographUpDown, { index: 1, up: true, groupNumber: this.selected.code }, 3).then(({valid, operate}) => { + }).catch((error)=> { + console.error(error); + this.$refs.noticeInfo.doShow(); + }); + }, + pantogrphOneDown() { + commitOperate(menuOperate.Driver.specialPantographUpDown, { index: 1, up: false, groupNumber: this.selected.code }, 3).then(({valid, operate}) => { + }).catch((error)=> { + console.error(error); + this.$refs.noticeInfo.doShow(); + }); + }, + pantogrphTwoUp() { + commitOperate(menuOperate.Driver.specialPantographUpDown, { index: 2, up: true, groupNumber: this.selected.code }, 3).then(({valid, operate}) => { + }).catch((error)=> { + console.error(error); + this.$refs.noticeInfo.doShow(); + }); + }, + pantogrphTwoDown() { + commitOperate(menuOperate.Driver.specialPantographUpDown, { index: 2, up: false, groupNumber: this.selected.code }, 3).then(({valid, operate}) => { + }).catch((error)=> { + console.error(error); + this.$refs.noticeInfo.doShow(); + }); } } }; From 6d2dd6810896597b66c48bba6055792150453693 Mon Sep 17 00:00:00 2001 From: dong <58670809@qq.com> Date: Thu, 30 Nov 2023 10:51:51 +0800 Subject: [PATCH 16/19] =?UTF-8?q?=E8=AF=AD=E8=A8=80=E6=9D=A5=E7=94=B5?= =?UTF-8?q?=E9=93=83=E5=A3=B0=EF=BC=8C=E8=AF=AD=E8=A8=80=E5=85=B6=E4=BB=96?= =?UTF-8?q?BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../newMap/display/newChat/chatContent.vue | 9 ++--- .../newMap/display/newChat/chatDialog.vue | 35 ++++++++++++------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/src/views/newMap/display/newChat/chatContent.vue b/src/views/newMap/display/newChat/chatContent.vue index 44d25cb52..128705f66 100644 --- a/src/views/newMap/display/newChat/chatContent.vue +++ b/src/views/newMap/display/newChat/chatContent.vue @@ -142,6 +142,7 @@ export default { }, methods: { stopNoReadPlay() { + this.play = false; this.currentAudioList = []; this.messageList.forEach(item => { this.$set(item, 'activeAuto', false); @@ -275,10 +276,6 @@ export default { }, // 停止录制 发送语音 stopRecording() { - if (this.seconds < 1) { - this.$message.info('录制语音时间太短!'); - return; - } this.audioPlay = true; clearInterval(this.inter); this.seconds = 0; @@ -407,6 +404,10 @@ export default { } }).catch(() => { console.error('操作失败!'); }); } else { + if (this.seconds < 1) { + this.$message.info('为保证语言质量,录制时长不能小于1秒!'); + return; + } this.stopRecording(); // 发送语音 } } diff --git a/src/views/newMap/display/newChat/chatDialog.vue b/src/views/newMap/display/newChat/chatDialog.vue index 45e029543..0fe6956c5 100644 --- a/src/views/newMap/display/newChat/chatDialog.vue +++ b/src/views/newMap/display/newChat/chatDialog.vue @@ -183,7 +183,10 @@ export default { return item.id == val.id; }); if (find) { - find.messageList.push(val.message); + const fMess = find.messageList.find(ii => ii.id == val.message.id); + if (!fMess) { + find.messageList.push(val.message); + } if (!this.id && this.privateChatId && this.privateChatId == this.getPrivateChatId(find)) { this.id = val.id; } @@ -556,6 +559,10 @@ export default { return objectIsEqual(m1.sort(), m2.sort()); }, groupClick(item) { + if (this.$refs.chatContentRef && this.$refs.chatContentRef.recordSending) { + this.$message.info('请结束正在录制的语音!'); + return; + } this.id = item.id || 0; if (item.type == 'GROUP_CHAT') { this.privateChatId = ''; @@ -580,19 +587,23 @@ export default { setReadGroup() { if (!this.id || !this.dialogVisible) { return; } const id = this.id; - setGroupReadMessage(this.groupId, {id}).then(res => { - res.data.forEach(item => { - const obj = { - id: id, - message: { - ...item - } - }; - this.getMessageStatus(obj); - }); - }); this.$nextTick(() => { this.$refs.chatContentRef && this.$refs.chatContentRef.playNoReadMessage(); + setGroupReadMessage(this.groupId, {id}).then(() => { + const findG = this.groupList.find(item => { + return item.id == this.id; + }); + if (findG) { + findG.messageList.forEach(ii => { + if (!ii.readerSet.includes(this.myMemberId)) { + ii.readerSet.push(this.myMemberId); + if (objectIsEqual(findG.memberList.sort(), ii.readerSet.sort())) { + ii.allRead = true; + } + } + }); + } + }); }); }, handleClose() { From 111df40c91770f8688cde847d33b7b371dead1cd Mon Sep 17 00:00:00 2001 From: fan Date: Thu, 30 Nov 2023 14:11:31 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E8=BF=90=E8=A1=8C=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E6=A0=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 744c4ae8a..41eb4b575 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,6 @@ English | [简体中文](./README-zh.md) Copyright (c) 2018-present Joylink +### 项目环境 +- "node-sass": "<=14.21.13"; +- "webpack": ">=4 < 4.29"; \ No newline at end of file From d89b457c788a06dc74b9d11b2c6597923d84e80e Mon Sep 17 00:00:00 2001 From: fan Date: Thu, 30 Nov 2023 14:11:45 +0800 Subject: [PATCH 18/19] =?UTF-8?q?=E8=BF=90=E8=A1=8C=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E6=A0=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41eb4b575..04f5b7f9b 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,5 @@ English | [简体中文](./README-zh.md) Copyright (c) 2018-present Joylink ### 项目环境 -- "node-sass": "<=14.21.13"; +- "node-sass": "<=14.21.3"; - "webpack": ">=4 < 4.29"; \ No newline at end of file From ef230ae278c99cf46843baf537a82791aea84727 Mon Sep 17 00:00:00 2001 From: fan Date: Thu, 30 Nov 2023 14:13:42 +0800 Subject: [PATCH 19/19] =?UTF-8?q?=E8=BF=90=E8=A1=8C=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E6=A0=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 04f5b7f9b..0fdde8d67 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,5 @@ English | [简体中文](./README-zh.md) Copyright (c) 2018-present Joylink ### 项目环境 -- "node-sass": "<=14.21.3"; +- "node": "<=14.21.3"; - "webpack": ">=4 < 4.29"; \ No newline at end of file