diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue index 5a774bf0..760e2c83 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/HomeFilter/index.vue @@ -127,6 +127,10 @@ export default { }, async handleSearch() { const data = await this.$refs.FormConfigRef.validate(); + + if (!data.startStakeMark[0] || !data.startStakeMark[1]) delete data.startStakeMark; + if (!data.endStakeMark[0] || !data.endStakeMark[1]) delete data.endStakeMark; + this.filterEnd(data) } } 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 b981e89c..cf172bed 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 @@ -176,7 +176,7 @@ export default { if (!eventMap[`${key}${status ? "_close" : ""}`]) return this.$emit("onClickItem", item); - eventMap[`${key}${status ? "_close" : ""}`]?.call(this, item); + eventMap[`${key}${status ? "_close" : ""}`]?.call(this, item, this.filterData); }, handleDevice: debounce(function (item) { this.handleDeviceImmediate(item); 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 104af3a7..c83ffcbf 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 @@ -6,6 +6,7 @@ import { import { delay } from "@screen/utils/common"; import { Message } from "element-ui"; import { EventTopics } from "@screen/utils/enum.js"; +import { debounce } from "lodash"; import { markerClusterIns } from "./map"; @@ -55,10 +56,19 @@ export function getHandleDeviceType(item) { if (EventTopics[item.title]) return "地图事件专题/map"; } +let debounceNoneLngLatMessage = debounce(() => { + Message.warning("部分设备经纬度为空"); +}); + function resolveDataOptions(data, config, component) { + let lnglat = + data.longitude && data.latitude ? [data.longitude, data.latitude] : null; + + if (!lnglat) debounceNoneLngLatMessage(); + return { weight: 1, - lnglat: [data.longitude, data.latitude], + lnglat, name: "", config: { markerClick: (extData, item) => { @@ -79,7 +89,7 @@ function resolveDataOptions(data, config, component) { export const eventMap = { // 设备 需要在地图显示的 - async "地图路测设备/map"(item) { + async "地图路测设备/map"(item, filterData) { const config = DeviceForMap[item.title]; const loadingMessage = Message.info({ @@ -89,7 +99,7 @@ export const eventMap = { iconClass: "el-icon-loading", }); - const data = await getDeviceList(config.deviceType) + const data = await getDeviceList(config.deviceType, filterData) .then(async (data) => { await delay(600); return data; @@ -111,6 +121,11 @@ export const eventMap = { let removeData = data.map((item) => resolveDataOptions.call(this, item, options, config.dialog) ); + console.log( + "%c [ removeData ]-112-「buttonEvent.js」", + "font-size:15px; background:#83c806; color:#c7ff4a;", + removeData + ); markerClusterIns.addData(removeData); diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/httpList.js b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/httpList.js index 472659d4..16dc309f 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/httpList.js +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/RoadAndEvents/utils/httpList.js @@ -180,14 +180,24 @@ export function getDeviceList(deviceType, options) { return reject(); } - request({ - url: "/business/device/query", - method: "get", - params: { - deviceType, - ...options, - }, - }) + const data = { + deviceType, + ...options, + }; + + request( + Object.keys(options || {}).length + ? { + url: "/business/device/pileNumberQuery", + method: "POST", + data, + } + : { + url: "/business/device/query", + method: "GET", + params: data, + } + ) .then(({ code, data }) => { if (code != 200) { reject();