From 0da7654efa244ea9d5bf9ce41f90711257d8bdf8 Mon Sep 17 00:00:00 2001 From: joylink_zhaoerwei Date: Thu, 14 Nov 2024 11:14:19 +0800 Subject: [PATCH 01/25] =?UTF-8?q?=E5=A2=9E=E5=8A=A05=E4=B8=AA=E6=95=85?= =?UTF-8?q?=E9=9A=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/alarm/alarmInfoEnum.ts | 15 +++++++++++++++ src/components/alarm/setAlarmText.vue | 2 ++ src/pages/DecisionInfoManage.vue | 5 +++++ src/protos/alertConst.ts | 7 ++++++- xian-ncc-da-message | 2 +- 5 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/components/alarm/alarmInfoEnum.ts b/src/components/alarm/alarmInfoEnum.ts index fce1206..987f9a8 100644 --- a/src/components/alarm/alarmInfoEnum.ts +++ b/src/components/alarm/alarmInfoEnum.ts @@ -25,6 +25,11 @@ export enum showAlertTypeData { '一级联锁', '应急触发', '道岔挤岔', + 'zc联锁故障', + '列车定位丢失', + '列车完整性', + '列车故障救援', + 'ats卡滞', I = 'I类信息', II = 'II类信息', III = 'III类信息', @@ -57,6 +62,11 @@ export enum showAlertTypeData { INTERLOCK_LEVEL_ONE = '一级联锁', PLATFORM_EMERG_STOP = '应急触发', SWITCH_JAMMED = '道岔挤岔', + INTERLOCKED_ZC_FAULT = 'zc联锁故障', + TRAIN_LOST_LOCATION = '列车定位丢失', + TRAIN_INTEGRITY_ALARM = '列车完整性', + TRAIN_FAULT_HELP = '列车故障救援', + INTERLOCKED_ATS_STUCK = 'ats卡滞', } export enum saveAlertTypeData { @@ -88,6 +98,11 @@ export enum saveAlertTypeData { 一级联锁 = 'INTERLOCK_LEVEL_ONE', 应急触发 = 'PLATFORM_EMERG_STOP', 道岔挤岔 = 'SWITCH_JAMMED', + zc联锁故障 = 'INTERLOCKED_ZC_FAULT', + 列车定位丢失 = 'TRAIN_LOST_LOCATION', + 列车完整性 = 'TRAIN_INTEGRITY_ALARM', + 列车故障救援 = 'TRAIN_FAULT_HELP', + ats卡滞 = 'INTERLOCKED_ATS_STUCK', } export const GuardConfigTypeData = { diff --git a/src/components/alarm/setAlarmText.vue b/src/components/alarm/setAlarmText.vue index eb7bdc3..c965411 100644 --- a/src/components/alarm/setAlarmText.vue +++ b/src/components/alarm/setAlarmText.vue @@ -160,6 +160,7 @@ const optionsAlertType = [ '列车信号故障', '应急触发', '道岔挤岔', + '列车完整性' ]; const mapAlertType = new Map([ ['蓝显', ['station']], @@ -169,6 +170,7 @@ const mapAlertType = new Map([ ['列车信号故障', ['LogicSection', 'Turnout']], ['应急触发', ['Platform']], ['道岔挤岔', ['Turnout']], + ['列车完整性', ['LogicSection']], ]); enum DeviceType { station = 'DEVICE_TYPE_RTU', diff --git a/src/pages/DecisionInfoManage.vue b/src/pages/DecisionInfoManage.vue index 113a288..757976f 100644 --- a/src/pages/DecisionInfoManage.vue +++ b/src/pages/DecisionInfoManage.vue @@ -413,6 +413,11 @@ const optionsAlertType = [ '联锁区失表', '应急触发', '道岔挤岔', + 'zc联锁故障', + '列车定位丢失', + '列车完整性', + '列车故障救援', + 'ats卡滞', ]; const searchOptionsAlertType = ['全部', ...optionsAlertType]; let optionsLocationType = ref([]); diff --git a/src/protos/alertConst.ts b/src/protos/alertConst.ts index d5c0b1f..0896c0e 100644 --- a/src/protos/alertConst.ts +++ b/src/protos/alertConst.ts @@ -37,7 +37,12 @@ export namespace alert { SWITCH_LOST_INTERLOCK_AREA = 22, INTERLOCK_LEVEL_ONE = 23, PLATFORM_EMERG_STOP = 24, - SWITCH_JAMMED = 25 + SWITCH_JAMMED = 25, + INTERLOCKED_ZC_FAULT = 26, + TRAIN_LOST_LOCATION = 27, + TRAIN_INTEGRITY_ALARM = 28, + TRAIN_FAULT_HELP = 29, + INTERLOCKED_ATS_STUCK = 30 } export enum TipTimeConfig { HOLIDAYS_MORN_PEAK = 0, diff --git a/xian-ncc-da-message b/xian-ncc-da-message index a7b7268..0f95f00 160000 --- a/xian-ncc-da-message +++ b/xian-ncc-da-message @@ -1 +1 @@ -Subproject commit a7b726826b89520f047c268415702df8116d225f +Subproject commit 0f95f00449d14672b382f03727b34e339131786b From 41e59960ee94254d9920ddee4c9d0237888f5085 Mon Sep 17 00:00:00 2001 From: joylink_fanyuhong <18706759286@163.com> Date: Thu, 14 Nov 2024 14:46:13 +0800 Subject: [PATCH 02/25] =?UTF-8?q?=E5=85=AC=E9=87=8C=E8=A1=A8=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/graphics/station/Station.ts | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/graphics/station/Station.ts b/src/graphics/station/Station.ts index 12b2394..ed3934a 100644 --- a/src/graphics/station/Station.ts +++ b/src/graphics/station/Station.ts @@ -195,14 +195,26 @@ export class Station extends JlGraphic { codeGraph.anchor.set(0.5); const kilometerCode = this.datas.kilometerSystem?.kilometer || 12345678; if (Math.floor(kilometerCode * 1000).toString().length > 3) { - const kiloBit = Math.floor(Number(kilometerCode) / 1000000).toString(); - kilometerGraph.text = - 'K' + - kiloBit + - '+' + - ( - Number(kilometerCode.toString().substring(kiloBit.length)) / 1000 - ).toFixed(3); + if (Number(kilometerCode) > 0) { + const kiloBit = Math.floor(Number(kilometerCode) / 1000000).toString(); + kilometerGraph.text = + 'K' + + kiloBit + + '+' + + ( + Number(kilometerCode.toString().substring(kiloBit.length)) / 1000 + ).toFixed(3); + } else { + const fuKilometerCode = Number(kilometerCode) * -1; + const kiloBit = Math.floor(fuKilometerCode / 1000000).toString(); + kilometerGraph.text = + 'K-' + + kiloBit + + '-' + + ( + Number(kilometerCode.toString().substring(kiloBit.length)) / 1000 + ).toFixed(3); + } } else { kilometerGraph.text = (kilometerCode * 1000).toFixed(3); } From 99b7cba025ee624d50cb830d3a8e5b75d11d802c Mon Sep 17 00:00:00 2001 From: joylink_fanyuhong <18706759286@163.com> Date: Thu, 14 Nov 2024 14:50:39 +0800 Subject: [PATCH 03/25] =?UTF-8?q?=E5=8D=A1=E6=96=AF=E6=9F=AF=3D=E3=80=8B?= =?UTF-8?q?=E5=90=8C=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ConnectInfoDialog.vue | 2 +- src/stores/line-net-store.ts | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/components/ConnectInfoDialog.vue b/src/components/ConnectInfoDialog.vue index 2b0750e..e276b21 100644 --- a/src/components/ConnectInfoDialog.vue +++ b/src/components/ConnectInfoDialog.vue @@ -3,7 +3,7 @@ ref="dialogRef" @show="onDialogShow" seamless - title="与卡斯柯连接状态信息" + title="与同方连接状态信息" :width="300" :height="0" > diff --git a/src/stores/line-net-store.ts b/src/stores/line-net-store.ts index 0b1d48b..106888c 100644 --- a/src/stores/line-net-store.ts +++ b/src/stores/line-net-store.ts @@ -99,12 +99,11 @@ export const useLineNetStore = defineStore('lineNet', { data.msgs.forEach((item: state.WarnMessage) => { if (!item.occRealConned) { newTip = - newTip + `
${item.lineId}号线路与卡斯柯的实时连接已断开;
`; + newTip + `
${item.lineId}号线路与同方的实时连接已断开;
`; } if (!item.occUnrealConned) { newTip = - newTip + - `
${item.lineId}号线路与卡斯柯的非实时连接已断开
`; + newTip + `
${item.lineId}号线路与同方的非实时连接已断开
`; } }); if (newTip && (newTip !== tip || !msgNotify)) { From debaf975106abda5941aece154a59efff3568668 Mon Sep 17 00:00:00 2001 From: joylink_fanyuhong <18706759286@163.com> Date: Thu, 14 Nov 2024 15:59:51 +0800 Subject: [PATCH 04/25] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/SysMenu.vue | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/src/components/SysMenu.vue b/src/components/SysMenu.vue index 57eabd0..39e6192 100644 --- a/src/components/SysMenu.vue +++ b/src/components/SysMenu.vue @@ -45,12 +45,6 @@ import { reactive } from 'vue'; const userStore = useUserStore(); const list = reactive([ - { - show: true, - path: getMonitorPath(userStore.roles).monitorPath, - label: '监控', - icon: 'computer', - }, { show: userStore.defaultRole == 'ADMIN', path: '', @@ -106,6 +100,7 @@ const list = reactive([ icon: 'manage_accounts', }, { + show: userStore.defaultRole == 'ADMIN', path: '/sysManage/role', label: '权限管理', icon: 'nature_people', @@ -127,5 +122,30 @@ const list = reactive([ }, ], }, + { + show: true, + path: getMonitorPath(userStore.roles).monitorPath, + label: '监控管理', + icon: 'computer', + }, + { + show: true, + path: '/sysManage/alarmRecord', + label: '报警管理', + icon: 'alarm_on', + }, + { + show: true, + path: '', + label: '辅助决策', + icon: 'developer_board', + children: [ + { + path: '/dataManage/decisionInfo', + label: '辅助决策方案管理查询', + icon: 'format_align_center', + }, + ], + }, ]); From 05896cb241ad7b1586de08f4a8cef6db0dfe7bd7 Mon Sep 17 00:00:00 2001 From: joylink_zhaoerwei Date: Thu, 14 Nov 2024 17:51:50 +0800 Subject: [PATCH 05/25] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=94=E6=80=A5?= =?UTF-8?q?=E5=A4=84=E7=BD=AE=E6=B5=81=E7=A8=8B=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/SysMenu.vue | 10 +- src/layouts/MainLayout.vue | 4 +- src/pages/EmergencyResponseManage.vue | 456 ++++++++++++++++++++++++++ src/router/routes.ts | 5 + 4 files changed, 468 insertions(+), 7 deletions(-) create mode 100644 src/pages/EmergencyResponseManage.vue diff --git a/src/components/SysMenu.vue b/src/components/SysMenu.vue index 39e6192..166dc6b 100644 --- a/src/components/SysMenu.vue +++ b/src/components/SysMenu.vue @@ -66,11 +66,6 @@ const list = reactive([ label: '线路信息管理', icon: 'format_list_numbered', }, - { - path: '/dataManage/decisionInfo', - label: '决策信息管理', - icon: 'format_align_center', - }, { path: '/dataManage/faultQuery', label: '故障查询管理', @@ -145,6 +140,11 @@ const list = reactive([ label: '辅助决策方案管理查询', icon: 'format_align_center', }, + { + path: '/dataManage/emergencyResponse', + label: '应急处置流程表', + icon: 'call_merge', + }, ], }, ]); diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index d2159a7..053f5d3 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -15,13 +15,13 @@ 西安NCC调度辅助决策系统 - + /> --> + + + + + +
+ + + + + + +
+
+ 故障类型 :{{ + clickRowInfo.faultType + }} +
+
+ {{ showTitle.faultNameShower }}:{{ clickRowInfo.faultNameShower }} +
+ +
{{ showTitle.faultDriverShower }}
+ +
+
{{ clickRowInfo.faultDriverShower }}
+
+
+ +
{{ showTitle.resultMsg }}
+ +
+
{{ clickRowInfo.resultMsg }}
+
+
+
+
+
+
+ + + + + diff --git a/src/router/routes.ts b/src/router/routes.ts index 4ddbeba..4743361 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -51,6 +51,11 @@ const routes: RouteRecordRaw[] = [ name: 'faultQuery', component: () => import('pages/FaultQueryManage.vue'), }, + { + path: 'emergencyResponse', + name: 'emergencyResponse', + component: () => import('pages/EmergencyResponseManage.vue'), + }, { path: 'thresholdValue', name: 'thresholdValue', From e932e7d0aef401b46e7dd36af9a4534b4ddf8a97 Mon Sep 17 00:00:00 2001 From: joylink_zhaoerwei Date: Thu, 14 Nov 2024 18:14:13 +0800 Subject: [PATCH 06/25] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E6=92=AD=E6=8A=A5=E8=AF=AD=E9=9F=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/alarm/commonAlarm.vue | 1 + src/layouts/MainLayout.vue | 14 +++++++++++++- src/pages/EmergencyResponseManage.vue | 2 +- src/stores/line-net-store.ts | 3 ++- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/components/alarm/commonAlarm.vue b/src/components/alarm/commonAlarm.vue index 93db671..397fb53 100644 --- a/src/components/alarm/commonAlarm.vue +++ b/src/components/alarm/commonAlarm.vue @@ -81,6 +81,7 @@ function playAlarmMusic(type: number, lineId: number) { i--; } } + if (!lineNetStore.handlePlayAble) return; if (lineNetStore.playAble && audio.value.paused) { const alarmType = (showAlertTypeData as never)[type + '']; let mapAlarmMusic = new Map(); diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index 053f5d3..91c58df 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -15,7 +15,7 @@ 西安NCC调度辅助决策系统 - + + + + + + + diff --git a/src/router/routes.ts b/src/router/routes.ts index 4ddbeba..74a6f76 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -114,6 +114,21 @@ const routes: RouteRecordRaw[] = [ meta: { description: '报警记录', }, + component: () => import('pages/AlarmRecord.vue'), + }, + ], + }, + { + path: '/alarmInfo', + name: 'alarmInfo', + component: () => import('layouts/MainLayout.vue'), + children: [ + { + path: 'list', + name: 'list', + meta: { + description: '报警信息', + }, component: () => import('pages/AlarmInfoList.vue'), }, ], From 02e49ec6fad3bcf1ab8ad4db588bd2399adcba7f Mon Sep 17 00:00:00 2001 From: joylink_fanyuhong <18706759286@163.com> Date: Fri, 15 Nov 2024 09:08:22 +0800 Subject: [PATCH 08/25] =?UTF-8?q?=E6=8A=A5=E8=AD=A6=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/AlarmRecord.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/AlarmRecord.vue b/src/pages/AlarmRecord.vue index bbb4b65..a043a68 100644 --- a/src/pages/AlarmRecord.vue +++ b/src/pages/AlarmRecord.vue @@ -2,7 +2,7 @@
Date: Fri, 15 Nov 2024 09:18:14 +0800 Subject: [PATCH 09/25] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=A1=A8=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/EmergencyResponseManage.vue | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/pages/EmergencyResponseManage.vue b/src/pages/EmergencyResponseManage.vue index f8aafbf..d99d04f 100644 --- a/src/pages/EmergencyResponseManage.vue +++ b/src/pages/EmergencyResponseManage.vue @@ -15,7 +15,7 @@ /> - +
- diff --git a/src/stores/line-store.ts b/src/stores/line-store.ts index e757f2a..0b99d29 100644 --- a/src/stores/line-store.ts +++ b/src/stores/line-store.ts @@ -13,6 +13,7 @@ export const useLineStore = defineStore('line', { selectedGraphics: null as JlGraphic[] | null, lineId: null as number | null, lineName: null as string | null, + faultStatistics: false, }), getters: { selectedGraphicType: (state) => { diff --git a/xian-ncc-da-message b/xian-ncc-da-message index c1bd5be..0f95f00 160000 --- a/xian-ncc-da-message +++ b/xian-ncc-da-message @@ -1 +1 @@ -Subproject commit c1bd5beb501ab675459a5ef58d823c0f86be9000 +Subproject commit 0f95f00449d14672b382f03727b34e339131786b From 109a19527db43f35d1e62283e2c26fd5fdee6d52 Mon Sep 17 00:00:00 2001 From: joylink_fanyuhong <18706759286@163.com> Date: Mon, 18 Nov 2024 17:12:23 +0800 Subject: [PATCH 19/25] protoc --- src/protos/system_warn_message.ts | 23 +++++++++++++++++++++++ xian-ncc-da-message | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/protos/system_warn_message.ts b/src/protos/system_warn_message.ts index 42bb039..97ac234 100644 --- a/src/protos/system_warn_message.ts +++ b/src/protos/system_warn_message.ts @@ -78,6 +78,7 @@ export namespace state { lineId?: number; occRealConned?: boolean; occUnrealConned?: boolean; + atsWarnShowCounter?: boolean; }) { super(); pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); @@ -91,6 +92,9 @@ export namespace state { if ("occUnrealConned" in data && data.occUnrealConned != undefined) { this.occUnrealConned = data.occUnrealConned; } + if ("atsWarnShowCounter" in data && data.atsWarnShowCounter != undefined) { + this.atsWarnShowCounter = data.atsWarnShowCounter; + } } } get lineId() { @@ -111,10 +115,17 @@ export namespace state { set occUnrealConned(value: boolean) { pb_1.Message.setField(this, 3, value); } + get atsWarnShowCounter() { + return pb_1.Message.getFieldWithDefault(this, 4, false) as boolean; + } + set atsWarnShowCounter(value: boolean) { + pb_1.Message.setField(this, 4, value); + } static fromObject(data: { lineId?: number; occRealConned?: boolean; occUnrealConned?: boolean; + atsWarnShowCounter?: boolean; }): WarnMessage { const message = new WarnMessage({}); if (data.lineId != null) { @@ -126,6 +137,9 @@ export namespace state { if (data.occUnrealConned != null) { message.occUnrealConned = data.occUnrealConned; } + if (data.atsWarnShowCounter != null) { + message.atsWarnShowCounter = data.atsWarnShowCounter; + } return message; } toObject() { @@ -133,6 +147,7 @@ export namespace state { lineId?: number; occRealConned?: boolean; occUnrealConned?: boolean; + atsWarnShowCounter?: boolean; } = {}; if (this.lineId != null) { data.lineId = this.lineId; @@ -143,6 +158,9 @@ export namespace state { if (this.occUnrealConned != null) { data.occUnrealConned = this.occUnrealConned; } + if (this.atsWarnShowCounter != null) { + data.atsWarnShowCounter = this.atsWarnShowCounter; + } return data; } serialize(): Uint8Array; @@ -155,6 +173,8 @@ export namespace state { writer.writeBool(2, this.occRealConned); if (this.occUnrealConned != false) writer.writeBool(3, this.occUnrealConned); + if (this.atsWarnShowCounter != false) + writer.writeBool(4, this.atsWarnShowCounter); if (!w) return writer.getResultBuffer(); } @@ -173,6 +193,9 @@ export namespace state { case 3: message.occUnrealConned = reader.readBool(); break; + case 4: + message.atsWarnShowCounter = reader.readBool(); + break; default: reader.skipField(); } } diff --git a/xian-ncc-da-message b/xian-ncc-da-message index 0f95f00..6ae749d 160000 --- a/xian-ncc-da-message +++ b/xian-ncc-da-message @@ -1 +1 @@ -Subproject commit 0f95f00449d14672b382f03727b34e339131786b +Subproject commit 6ae749dad5f5aa90b78cea76e2d1d24451a25b46 From e2faeb2d059917e3e8d632d7858b71be9ad9156c Mon Sep 17 00:00:00 2001 From: joylink_fanyuhong <18706759286@163.com> Date: Mon, 18 Nov 2024 17:29:46 +0800 Subject: [PATCH 20/25] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E6=98=BE=E7=A4=BA=E6=95=85?= =?UTF-8?q?=E9=9A=9C=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/LineMonitorPage.vue | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/pages/LineMonitorPage.vue b/src/pages/LineMonitorPage.vue index 35f7174..64093d5 100644 --- a/src/pages/LineMonitorPage.vue +++ b/src/pages/LineMonitorPage.vue @@ -96,10 +96,28 @@ watch( (val) => { if (val.length) { centerFaultDevice(); - val.forEach((info) => { - alarmInfoList.push(info); - }); - faultInfo.value = true; + const lineState = lineNetStore.connectInfo?.msgs.find( + (msg) => msg.lineId == lineId + ); + // console.log(lineState, 'line'); + if (lineState?.atsWarnShowCounter) { + val.forEach((info) => { + alarmInfoList.push(info); + }); + faultInfo.value = true; + } + } + } +); + +watch( + () => lineNetStore.connectInfo, + (val) => { + if (val?.msgs) { + const lineState = val.msgs.find((msg) => msg.lineId == lineId); + if (!lineState?.atsWarnShowCounter) { + faultInfo.value = false; + } } } ); From bfebe3e28df420c2306a8056ad00cd1804c36e13 Mon Sep 17 00:00:00 2001 From: joylink_zhaoerwei Date: Tue, 19 Nov 2024 10:50:42 +0800 Subject: [PATCH 21/25] =?UTF-8?q?=E5=88=97=E8=BD=A6=E6=8A=A5=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/alarm/alarmInfoEnum.ts | 3 ++ src/components/alarm/setAlarmText.vue | 60 +++++++++++++++++++++------ src/protos/alertConst.ts | 3 +- xian-ncc-da-message | 2 +- 4 files changed, 53 insertions(+), 15 deletions(-) diff --git a/src/components/alarm/alarmInfoEnum.ts b/src/components/alarm/alarmInfoEnum.ts index 987f9a8..b8c3c6a 100644 --- a/src/components/alarm/alarmInfoEnum.ts +++ b/src/components/alarm/alarmInfoEnum.ts @@ -30,6 +30,7 @@ export enum showAlertTypeData { '列车完整性', '列车故障救援', 'ats卡滞', + '列车报点', I = 'I类信息', II = 'II类信息', III = 'III类信息', @@ -67,6 +68,7 @@ export enum showAlertTypeData { TRAIN_INTEGRITY_ALARM = '列车完整性', TRAIN_FAULT_HELP = '列车故障救援', INTERLOCKED_ATS_STUCK = 'ats卡滞', + TRAIN_RECORD = '列车报点', } export enum saveAlertTypeData { @@ -103,6 +105,7 @@ export enum saveAlertTypeData { 列车完整性 = 'TRAIN_INTEGRITY_ALARM', 列车故障救援 = 'TRAIN_FAULT_HELP', ats卡滞 = 'INTERLOCKED_ATS_STUCK', + 列车报点 = 'TRAIN_RECORD', } export const GuardConfigTypeData = { diff --git a/src/components/alarm/setAlarmText.vue b/src/components/alarm/setAlarmText.vue index c965411..3eadc64 100644 --- a/src/components/alarm/setAlarmText.vue +++ b/src/components/alarm/setAlarmText.vue @@ -40,7 +40,9 @@ import DraggableDialog from '../common/DraggableDialog.vue'; -import { onMounted, onUnmounted, ref, watch } from 'vue'; +import { computed, onMounted, onUnmounted, ref, watch } from 'vue'; import { JlGraphic } from 'jl-graphic'; import { Station } from 'src/graphics/station/Station'; import { useLineStore } from 'src/stores/line-store'; @@ -124,6 +130,8 @@ import { QForm, useQuasar } from 'quasar'; import { ApiError } from 'src/boot/axios'; import { mockLocalDemoTestSet } from 'src/api/AlertMock'; import { isArraysEqual, saveAlertTypeData } from './alarmInfoEnum'; +import { Section } from 'src/graphics/section/Section'; +import { Platform } from 'src/graphics/platform/Platform'; const lineStore = useLineStore(); const setAlartTextData = ref<{ @@ -152,6 +160,7 @@ const setAlartTextData = ref<{ }, ], }); +const needShowTrainGroup = ['列车信号故障', '列车报点']; const optionsAlertType = [ '蓝显', '道岔失表', @@ -160,7 +169,8 @@ const optionsAlertType = [ '列车信号故障', '应急触发', '道岔挤岔', - '列车完整性' + '列车完整性', + '列车报点', ]; const mapAlertType = new Map([ ['蓝显', ['station']], @@ -171,18 +181,30 @@ const mapAlertType = new Map([ ['应急触发', ['Platform']], ['道岔挤岔', ['Turnout']], ['列车完整性', ['LogicSection']], + ['列车报点', ['Section']], ]); enum DeviceType { station = 'DEVICE_TYPE_RTU', Turnout = 'DEVICE_TYPE_SWITCH', LogicSection = 'DEVICE_TYPE_TRACK', Platform = 'DEVICE_TYPE_PLATFORM', + Section = 'DEVICE_TYPE_SECTION', } -const optionsStatus = [ - { label: '正常', value: 'NORMAL' }, - { label: '设置', value: 'BEGIN' }, - { label: '报警', value: 'ALERT' }, -]; +const optionsStatus = computed(() => { + if (setAlartTextData.value.alertType !== '列车报点') { + return [ + { label: '正常', value: 'NORMAL' }, + { label: '设置', value: 'BEGIN' }, + { label: '报警', value: 'ALERT' }, + ]; + } else { + return [ + { label: '到站', value: 'NORMAL' }, + { label: '离站', value: 'BEGIN' }, + ]; + } +}); +let allplatformRefSection: number[] = []; let selectGraphic: JlGraphic[] = []; watch( @@ -212,16 +234,22 @@ watch( setAlartTextData.value.alertType == '蓝显' ) { select = true; - } - if ( + } else if ( + g.type == Section.Type && + setAlartTextData.value.alertType == '列车报点' && + allplatformRefSection.includes(g.id) + ) { + select = true; + } else if ( g.type !== Station.Type && + g.type !== Section.Type && mapAlertType.get(setAlartTextData.value.alertType)?.includes(g.type) ) { select = true; } return select; }) as JlGraphic[]; - if (setAlartTextData.value.alertType !== '列车信号故障') { + if (!needShowTrainGroup.includes(setAlartTextData.value.alertType)) { selectGraphic.push(...deviceFilter); } else if (deviceFilter.length) { selectGraphic = [deviceFilter[0]]; @@ -242,6 +270,12 @@ watch( ); onMounted(() => { + const platforms = lineStore + .getLineApp() + .queryStore.queryByType(Platform.Type); + platforms.forEach((platform) => + allplatformRefSection.push(platform.datas.refSectionId) + ); lineStore.getLineApp().emit('options-update', { mouseToolOptions: { boxSelect: true, diff --git a/src/protos/alertConst.ts b/src/protos/alertConst.ts index 0896c0e..f83f575 100644 --- a/src/protos/alertConst.ts +++ b/src/protos/alertConst.ts @@ -42,7 +42,8 @@ export namespace alert { TRAIN_LOST_LOCATION = 27, TRAIN_INTEGRITY_ALARM = 28, TRAIN_FAULT_HELP = 29, - INTERLOCKED_ATS_STUCK = 30 + INTERLOCKED_ATS_STUCK = 30, + TRAIN_RECORD = 31 } export enum TipTimeConfig { HOLIDAYS_MORN_PEAK = 0, diff --git a/xian-ncc-da-message b/xian-ncc-da-message index 6ae749d..7aef4b8 160000 --- a/xian-ncc-da-message +++ b/xian-ncc-da-message @@ -1 +1 @@ -Subproject commit 6ae749dad5f5aa90b78cea76e2d1d24451a25b46 +Subproject commit 7aef4b876fae6622d93a21c99fe293df7bf7d572 From fac62de1aea8e1401e852b9cfd934336972f0350 Mon Sep 17 00:00:00 2001 From: joylink_fanyuhong <18706759286@163.com> Date: Tue, 19 Nov 2024 14:05:48 +0800 Subject: [PATCH 22/25] =?UTF-8?q?=E7=AD=89=E5=BE=85=E6=97=B6=E9=97=B4?= =?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/drawApp/graphics/PlatformInteraction.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/drawApp/graphics/PlatformInteraction.ts b/src/drawApp/graphics/PlatformInteraction.ts index f11af66..a8d48bd 100644 --- a/src/drawApp/graphics/PlatformInteraction.ts +++ b/src/drawApp/graphics/PlatformInteraction.ts @@ -208,10 +208,10 @@ export class PlatformState extends GraphicStateBase implements IPlatformState { this.states.rtuId = value; } get bizWaitTimeSec(): number { - return this.states.bizWaitStartTimeSec; + return this.states.bizWaitTimeSec; } set bizWaitTimeSec(value: number) { - this.states.bizWaitStartTimeSec = value; + this.states.bizWaitTimeSec = value; } get states(): state.Platform { return this.getState(); From de64a23eb89a3a3450c85798d07e5997ae6e4a69 Mon Sep 17 00:00:00 2001 From: joylink_fanyuhong <18706759286@163.com> Date: Wed, 20 Nov 2024 09:08:19 +0800 Subject: [PATCH 23/25] =?UTF-8?q?=E6=95=85=E9=9A=9C=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E8=B6=85=E5=AE=BD=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/LineMonitorPage.vue | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pages/LineMonitorPage.vue b/src/pages/LineMonitorPage.vue index 64093d5..94bd00e 100644 --- a/src/pages/LineMonitorPage.vue +++ b/src/pages/LineMonitorPage.vue @@ -15,7 +15,7 @@ @click="() => (faultInfo = false)" />
-
+
From da04217a08c9b75260f92c88a8f21ff8f1488cf7 Mon Sep 17 00:00:00 2001 From: joylink_fanyuhong <18706759286@163.com> Date: Wed, 20 Nov 2024 09:10:25 +0800 Subject: [PATCH 24/25] =?UTF-8?q?=E7=99=BB=E5=BD=95=E9=A1=B5=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E6=B3=A8=E5=86=8C=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/UserLogin.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/UserLogin.vue b/src/pages/UserLogin.vue index ea9a1df..8ce69b2 100644 --- a/src/pages/UserLogin.vue +++ b/src/pages/UserLogin.vue @@ -36,9 +36,9 @@ lazy-rules /> -
+
From e6f6ac2b7ee33dd16b9d412faef78107e39ee30c Mon Sep 17 00:00:00 2001 From: joylink_fanyuhong <18706759286@163.com> Date: Wed, 20 Nov 2024 09:15:10 +0800 Subject: [PATCH 25/25] =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/UserLogin.vue | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/pages/UserLogin.vue b/src/pages/UserLogin.vue index 8ce69b2..5658d59 100644 --- a/src/pages/UserLogin.vue +++ b/src/pages/UserLogin.vue @@ -24,8 +24,7 @@ label="账号" lazy-rules type="tel" - mask="###########" - :rules="[(val) => val.length == 11 || '请输入正确手机格式!']" + :rules="[(val) => val.length || '请输入账号!']" />