From f3233c2dd44c45cd2b3c12f102c3829764f81080 Mon Sep 17 00:00:00 2001 From: qingzhengli <1204552371@qq.com> Date: Tue, 19 Mar 2024 09:45:39 +0800 Subject: [PATCH 01/15] =?UTF-8?q?feat=20=E5=88=86=E9=A1=B5=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/RoadAndEvents/utils/map.js | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js index 1dbc227f..fcf6e74a 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/map.js @@ -119,7 +119,7 @@ export class MarkerCluster { const dataContainer = document.getElementById("dataContainer"); // 清空数据容器 - dataContainer.innerHTML = ""; + // dataContainer.innerHTML = ""; // 计算当前页起始索引和结束索引 const startIndex = (page - 1) * pageSize; @@ -144,6 +144,15 @@ export class MarkerCluster { .join(""); // 渲染当前页数据 dataContainer.innerHTML = itemsTpl; + window.infoWindow.dom + .querySelectorAll(".info-window-item") + .forEach((item, index) => { + item.onclick = () => + data[index].config.markerClick?.( + data[index].extData, + data[index].config?.item + ); + }); } window.renderData = renderData; @@ -179,12 +188,17 @@ export class MarkerCluster { ) .join("")} + ${ + totalPages > 1 + ? `
-
+ ` + : "" + } `); - + window.infoWindow = this.infoWindow; this.infoWindow.open(map, data[0].lnglat); this.infoWindow.dom.querySelector(".info-close").onclick = () => From 171163f98688a1fd0d4c67acb0e8f1c7977a8422 Mon Sep 17 00:00:00 2001 From: qingzhengli <1204552371@qq.com> Date: Tue, 19 Mar 2024 11:19:29 +0800 Subject: [PATCH 02/15] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8DVueSlickCarousel?= =?UTF-8?q?=20=E5=AE=BD=E5=BA=A6=E6=9C=AA=E5=8D=A0=E6=BB=A1=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EventDetailDialog/Carousel/index.vue | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/Carousel/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/Carousel/index.vue index 575b3c50..d99ae97e 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/Carousel/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/event/EventDetailDialog/Carousel/index.vue @@ -2,11 +2,12 @@ @@ -355,6 +336,81 @@ const optionsMap = { 7: [], } }; +const typeMap = { + 1: [{ + value: 1, + label: '交通事故' + }, + { + value: 2, + label: '车辆故障' + }, + { + value: 3, + label: '交通管制' + }, + { + value: 4, + label: '交通拥堵' + }, + { + value: 5, + label: '非法上路' + }, + { + value: 6, + label: '路障清除' + }, + { + value: 7, + label: '施工建设' + }, + { + value: 8, + label: '服务区异常' + }, + { + value: 9, + label: '设施设备隐患' + }, + { + value: 10, + label: '异常天气' + }, + { + value: 11, + label: '其他事件' + }], + 2: [{ + value: 1, + label: '异常天气' + }, + { + value: 2, + label: '拥堵' + }, + { + value: 3, + label: '非机动车' + }, + { + value: 4, + label: '行人' + }, + { + value: 5, + label: '烟火' + }, + { + value: 6, + label: '抛洒物' + }, + { + value: 7, + label: '逆行' + }, + ] +} export default { name: 'addAndEditDialog', @@ -490,6 +546,8 @@ export default { if (Object.keys(this.detail).length > 0) { this.title = '修改预案'; this.dialogType = 2; + this.eventOptions = typeMap[this.detail.eventCategory]; + this.mechanismOptions = optionsMap[this.detail.eventCategory || 1][this.detail.eventType]; this.initData(this.detail.id); } else { this.title = '新增预案'; @@ -538,16 +596,21 @@ export default { this.secondFormData = []; this.thirdFormData = []; dcExecuteAction.forEach(it => { + let action = {}; + if (it.otherConfig) { + let config = JSON.parse(it.otherConfig); + action = { ...it, ...config, qbb: (config?.dcInfoBoardTemplate?.content || '') }; + } if (it.deviceList) { - it.deviceList = it.deviceList.split(','); + action.deviceList = it.deviceList.split(',').map(str => Number(str)); } if (it.actionType == 1) { - this.secondFormData.push(it); + this.secondFormData.push(action); } else if (it.actionType == 2) { - this.thirdFormData.push(it); + this.thirdFormData.push(action); } }) - + console.log('secondFormData', this.secondFormData) }).catch((err) => { console.log(err) Message.error("查询事件预案列表失败", err); @@ -561,7 +624,6 @@ export default { method: "get", }) if (result.code != 200) return Message.error(result?.msg); - console.log('123'); this.deviceData = result.data; // return result.data; } @@ -571,81 +633,15 @@ export default { this.mechanismOptions = optionsMap[this.formData.eventCategory || 1][value]; }, changeRadio(value = 1) { - const optionsMap = { - 1: [{ - value: 1, - label: '异常天气' - }, - { - value: 2, - label: '交通事故' - }, - { - value: 3, - label: '非法上路' - }, - { - value: 4, - label: '车辆故障' - }, - { - value: 5, - label: '交通拥堵' - }, - { - value: 6, - label: '交通管制' - }, - { - value: 7, - label: '服务区异常' - }, - { - value: 8, - label: '施工建设' - }, - { - value: 9, - label: '路障清除' - }], - 2: [{ - value: 1, - label: '异常天气' - }, - { - value: 2, - label: '拥堵' - }, - { - value: 3, - label: '非机动车' - }, - { - value: 4, - label: '行人' - }, - { - value: 5, - label: '烟火' - }, - { - value: 6, - label: '抛洒物' - }, - { - value: 7, - label: '逆行' - }, - ] - } - this.eventOptions = optionsMap[value]; + this.formData.triggerMechanism = ''; + this.eventOptions = typeMap[value]; this.changeEventType(); }, handleChange() { }, - formatData(it, value = 1) { - let data = { ...it, actionType: value } + formatData(it, value = 1, id = '') { + let data = { ...it, actionType: value, emergencyPlansId: id } if (it.deviceList && typeof it.deviceList !== 'string' && it.deviceList.length > 0) { data.deviceList = it.deviceList.join(','); } else { @@ -682,19 +678,22 @@ export default { if (valid) { // this.submitting = false; let secondFormTable = this.$refs['secondFormTable'].tableData || []; + // console.log('12', secondFormTable); let thirdFormTable = this.$refs['thirdFormTable'].tableData || []; let dcArr = []; + let id = ''; + if (this.dialogType == 2) id = this.planId; secondFormTable.forEach(it => { - dcArr.push(this.formatData(it, 1)); + dcArr.push(this.formatData(it, 1, id)); }) thirdFormTable.forEach(it => { - dcArr.push(this.formatData(it, 2)); + dcArr.push(this.formatData(it, 2, id)); }) - console.log({ - ...this.formData, - dcExecuteAction: dcArr - }) + // console.log({ + // ...this.formData, + // dcExecuteAction: dcArr + // }) // return; if (this.dialogType == 1) {//新增 request({ diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/formTable/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/formTable/index.vue index 789661f9..dae791e5 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/formTable/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/formTable/index.vue @@ -20,13 +20,13 @@ - -

+ +

- -

公里

+

公里

@@ -41,19 +41,19 @@ :value="item.id"> - - + - -
+
@@ -68,7 +68,7 @@
-
@@ -87,7 +87,7 @@ - + @@ -269,6 +269,7 @@ export default { label: "自定义模式3", } ], + qbbData: {}, sbOptions: [], deviceType: 1, index: 1 @@ -320,6 +321,7 @@ export default { }, clickQbb(index) { this.index = index; + this.qbbData = this.tableData[index].dcInfoBoardTemplate; this.isShowDialog = true; }, onCloseDialog() { diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/index.vue index d9153625..c1ec7f7f 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/index.vue @@ -28,8 +28,8 @@ - - + +