diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue index d8b9148d..f218b3fc 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue @@ -1,32 +1,34 @@ diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue index 9ff12937..9f36b8bb 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/index.vue @@ -148,7 +148,7 @@ export default { await Promise.allSettled((this.tabContentData || []).map(item => this.handleDeviceImmediate(item, true))) Object.keys(lngLatMap).forEach(key => { addInGraphHandle(lngLatMap[key]); - }) + }); } } }, @@ -227,15 +227,20 @@ export default { const status = item.status; - console.log(item, "item"); - if (!status) { this.nowSelected = item.title; this.nowSelectedCompleted = false; } + if (!status) { //开启 + this.nowSelected = item.title; + this.nowSelectedCompleted = false; + } else if (this.nowSelected === item.title && this.nowSelectedCompleted === false) return; item.status = item.status ? "" : "_active"; console.log("%c [ key ]-102-「index.vue」", "font-size:15px; background:#9d63e9; color:#e1a7ff;", key); - if (!eventMap[`${key}${status ? "_close" : ""}`]) return this.$emit("onClickItem", item); + if (!eventMap[`${key}${status ? "_close" : ""}`]) { + this.emitter.emit("selectedCompleted", item); + return this.$emit("onClickItem", item); + } console.log(`${key}${status ? "_close" : ""}`, this.filterData, isDefault) await eventMap[`${key}${status ? "_close" : ""}`]?.call(this, item, this.filterData, isDefault, this.cb); diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js index bd316ae4..ef317ae9 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/buttonEvent.js @@ -144,9 +144,11 @@ export const eventMap = { loadingMessage?.close(); - if (!data) return; - if (!data.length && !isDefault) + if (!data) return this.emitter.emit("selectedCompleted", item); + if (!data.length && !isDefault) { + this.emitter.emit("selectedCompleted", item); return Message.warning(`未查询到${item.title}设备!`); + } eventMap[`地图路测设备/map_close`](item); const cbCall = () => @@ -200,10 +202,12 @@ export const eventMap = { loadingMessage?.close(); - if (!data) return; + if (!data) return this.emitter.emit("selectedCompleted", item); - if (!data.length && !isDefault) + if (!data.length && !isDefault) { + this.emitter.emit("selectedCompleted", item); return Message.warning(`没有${item.title}事件数据!`); + } eventMap[`地图事件专题/map_close`](item); const cbCall = () => cb?.(item, { deviceType: `事件专题_${deviceType}` }); @@ -257,10 +261,12 @@ export const eventMap = { .catch(() => {}); loadingMessage?.close(); - if (!data) return; + if (!data) return this.emitter.emit("selectedCompleted", item); - if (!data?.length && !isDefault) + if (!data?.length && !isDefault) { + this.emitter.emit("selectedCompleted", item); return Message.warning(`没有${item.title}数据!`); + } eventMap[`事件专题/感知事件_close`](item); const cbCall = () => cb?.(item, { deviceType: `感知事件_${warningState}` }); @@ -338,4 +344,5 @@ function removeDataPreHandle(markers) { } }; lngLatMapHandle(markers, cb); + window.renderData?.(window.page); //移除后,重新渲染弹出框更新数据 } 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 e5724ffc..e5c69034 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 @@ -2,7 +2,7 @@ import { loadAMap } from "@screen/pages/Home/components/AMapContainer/loadAMap.j // import { Message } from "element-ui"; import Vue from "vue"; import { lngLatMap } from "./buttonEvent"; -import { upperFirst } from "lodash"; +import { upperFirst, filter } from "lodash"; /** * @typedef {Object} Point * @property {number} weight - The weight of the item. @@ -27,6 +27,7 @@ const normalBg = require(`@screen/images/mapBg/active.svg`); const faultTitleBg = require(`@screen/images/mapBg/fault_title.svg`); const normalTitleBg = require(`@screen/images/mapBg/active_title.svg`); +const eventRegex = "./事件专题"; /** * 聚合点 */ @@ -126,6 +127,12 @@ export class MarkerCluster { const startIndex = (page - 1) * pageSize; const endIndex = startIndex + pageSize; let num = (page - 1) * pageSize; + if (data.length === 0 || data.length === 1) { + return this.infoWindow.close(); + } + const { latitude: lat, longitude: lng } = data[0].extData; + const lngLatStr = `${parseFloat(lng)}/${parseFloat(lat)}`; //更新清除节点后的数据 + data = lngLatMap[lngLatStr]; // 截取当前页的数据 const currentPageData = data.slice(startIndex, endIndex); window.currentPageData = currentPageData; @@ -145,7 +152,7 @@ export class MarkerCluster { .join(""); // 渲染当前页数据 dataContainer.innerHTML = itemsTpl; - dataPage.innerHTML = `第${page}页`; + dataPage && (dataPage.innerHTML = `第${page}页`); bindItemClick(); } @@ -483,9 +490,9 @@ export function marksAddInGraph(data) { export function addInGraphHandle(data) { const graphInstance = window.graphInstance; const extData = data[0].extData; - console.log(extData, "extData"); + // console.log(extData, "extData11111"); const { item: eventItem } = data[0].config; - if (eventItem.id.match("./事件专题")) { + if (eventItem.id.match(eventRegex)) { let { stakeMark, lang, direction } = extData; stakeMark = upperFirst(stakeMark); //统一格式 大写K const distance = @@ -515,11 +522,12 @@ export function addInGraphHandle(data) { }); // }, 0); } - console.log(lang, "lang"); + // console.log(lang, "lang"); } } function getDataConf(data, extData) { + data = data.filter((item) => item.config.item.id.match(eventRegex)); let dataConf; const nowBg = getState(data) ? normalBg : faultBg; if (data.length === 1) { diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/dutyOfficer/components/ModifyDutyInformationTable.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/dutyOfficer/components/ModifyDutyInformationTable.vue index 332f538e..574ba73f 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/dutyOfficer/components/ModifyDutyInformationTable.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/businessDataManagement/views/dutyOfficer/components/ModifyDutyInformationTable.vue @@ -32,7 +32,7 @@

{{ item.name }}

@@ -46,7 +46,7 @@

{{ item.name }}

@@ -139,7 +139,7 @@ export default { }, set(bool) { //关闭弹窗组件,清空数据 - if(!bool) { + if (!bool) { this.dayShift = []; this.graveyardShift = []; this.peopleList = []; @@ -184,7 +184,7 @@ export default { this[this.active].push(item); }, removeDutyPerson(item, activeCheck) { - if(activeCheck != this.active) return; + if (activeCheck != this.active) return; const index = this[this.active].findIndex( (_item) => _item.id === item.id @@ -393,7 +393,8 @@ export default { - \ No newline at end of file +} +.charts { + height: 200px; + width: 100%; +} + diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/visibilityTrends/assets/charts.js b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/visibilityTrends/assets/charts.js index f44f97da..2e6bf6dd 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/visibilityTrends/assets/charts.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/visibilityTrends/assets/charts.js @@ -107,10 +107,7 @@ var options = { showSymbol: false, smooth: true, // 是否曲线 name: "实时数据", // 图例对应类别 - data: [ - 12, 12, 23, 23, 30, 12, 26, 28, 31, 23, 25, 12, 18, 18, 18, 18, 23, 21, - 20, 20, 20, 20, 20, 22, 22, 12, 12, 12, - ], // 纵坐标数据 + data: [], // 纵坐标数据 lineStyle: { color: "#0783FA", }, diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/visibilityTrends/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/visibilityTrends/index.vue index c7c0cd00..15769caa 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/visibilityTrends/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/visibilityTrends/index.vue @@ -1,74 +1,94 @@ - - + + - \ No newline at end of file +} +.charts { + height: 200px; +} + diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/weaterData/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/weaterData/index.vue index 872f3130..4a61f985 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/weaterData/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/components/weaterData/index.vue @@ -1,156 +1,167 @@ - - - - - \ No newline at end of file +} +.charts { + height: 180px; + width: 100%; +} + diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/index.vue index bdf9e1a5..a0c27b3c 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/perception/meteorologyCheck/components/weatherInfoQuery/index.vue @@ -8,18 +8,34 @@ :hasBtn="false" :gap="'10px'" :key="index" + @click="handleClick(item)" > - + +
- - - + + +
@@ -48,34 +64,37 @@ export default { keyMap: [ { label: "设备名称", - key: "name", + key: "deviceName", }, { label: "设备位置", - key: "name", + key: "stakeMark", }, { label: "所属方向", - key: "rote", + key: "direction", }, { label: "采集时间", - key: "time", + key: "createTime", }, { - label: "气象状态", - key: "start", + label: "设备状态", + key: "deviceState", }, ], + deviceName: "", selectIndex: 0, dataList: [], - // data: Array.from({ length: 10 }).map(() => ({ - // name: "气象监测器1", - // rote: "济南方向", - // arrdeass: "K59+256", - // time: "2024.01.04 13:00:00", - // start: "晴转多云", - // })), + dataItem: {}, + weatherData: [], + data: Array.from({ length: 10 }).map(() => ({ + name: "气象监测器1", + rote: "济南方向", + arrdeass: "K59+256", + time: "2024.01.04 13:00:00", + start: "晴转多云", + })), }; }, @@ -85,15 +104,27 @@ export default { this.selectIndex = index; }, resizeChart() { - // console.log(this.$refs.temper); this.$refs.temper.reiszeChart(); this.$refs.visibility.reiszeChart(); }, getList() { getListLatest().then((res) => { - console.log("_____________", res); + this.dataList = res.rows; + this.dataItem = res.rows[0]; + this.deviceName = res.rows[0].deviceName; + this.getWeather(); }); }, + getWeather() { + getDeviceNameListLatest(this.deviceName).then((res) => { + this.weatherData = res.rows; + }); + }, + handleClick(item) { + this.dataItem = item; + this.deviceName = item.deviceName; + this.getWeather(); + }, }, mounted() { this.getList(); @@ -104,7 +135,7 @@ export default {