From 77ef3f72aa6da05c407be85a8ecdfc73df28dfee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=88=E5=85=86=E5=A2=9E?= <你的邮箱@example.com> Date: Fri, 4 Sep 2026 14:59:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=8C=E7=BA=A7=E5=BC=B9?= =?UTF-8?q?=E6=A1=86=E9=80=89=E6=8B=A9=E6=A1=86=E9=BB=98=E8=AE=A4=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98=EF=BC=8Cbug=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=E9=B1=BC=E7=B1=BB=E5=A2=9E=E5=80=BC?= =?UTF-8?q?=E7=AB=99=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/mapModal/rightModel.ts | 8 ++ frontend/src/assets/svg/runWarning.svg | 1 + .../MapModal/components/AIYXSB/index.vue | 3 + .../MapModal/components/EcologicalFlow.vue | 6 +- .../MapModal/components/FishZHFX.vue | 35 +++-- frontend/src/components/MapModal/index.vue | 6 +- frontend/src/components/gis/map.ol.ts | 2 + .../components/FlowMeasure.vue | 5 +- .../monitoringTable/components/GYZLLB.vue | 5 +- .../components/NormalOperationData.vue | 120 ++++++++++++++++-- .../monitoringTable/components/QXDInfo.vue | 2 + .../components/VerticalWaterTemperature.vue | 5 +- .../components/WaterQuality.vue | 5 +- .../components/WaterTemperature.vue | 5 +- .../components/monitorInfo.vue | 5 +- 15 files changed, 184 insertions(+), 29 deletions(-) create mode 100644 frontend/src/api/mapModal/rightModel.ts create mode 100644 frontend/src/assets/svg/runWarning.svg diff --git a/frontend/src/api/mapModal/rightModel.ts b/frontend/src/api/mapModal/rightModel.ts new file mode 100644 index 00000000..0553c9c3 --- /dev/null +++ b/frontend/src/api/mapModal/rightModel.ts @@ -0,0 +1,8 @@ +import request from '@/utils/request'; +export function getPlanFinishDetail(data: any) { + return request({ + url: '/fb/planFinish/GetKendoListCust', + method: 'post', + data + }); +} diff --git a/frontend/src/assets/svg/runWarning.svg b/frontend/src/assets/svg/runWarning.svg new file mode 100644 index 00000000..4753cda7 --- /dev/null +++ b/frontend/src/assets/svg/runWarning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/components/MapModal/components/AIYXSB/index.vue b/frontend/src/components/MapModal/components/AIYXSB/index.vue index 81d8f5c4..e19279a1 100644 --- a/frontend/src/components/MapModal/components/AIYXSB/index.vue +++ b/frontend/src/components/MapModal/components/AIYXSB/index.vue @@ -609,6 +609,9 @@ const updateTableColumns = () => { fixed: col.fixed || undefined, ellipsis: col.ellipsis }; + if (col.key == 'tm' || col.key == 'aiVal') { + baseCol.sort = true; + } if (col.dataFormat === 'YYYY-MM-DD' || col.dataType === 'date') { baseCol.customRender = ({ text }: any) => text ? dayjs(text).format('YYYY-MM-DD') : '-'; diff --git a/frontend/src/components/MapModal/components/EcologicalFlow.vue b/frontend/src/components/MapModal/components/EcologicalFlow.vue index 3393e6b1..c4bf513b 100644 --- a/frontend/src/components/MapModal/components/EcologicalFlow.vue +++ b/frontend/src/components/MapModal/components/EcologicalFlow.vue @@ -23,7 +23,7 @@
props.isActive, active => { if (active && !hasLoaded.value) { - timeType.value = modelStore.filter.stllTmType; + if (modelStore.filter.stllTmType) { + timeType.value = modelStore.filter.stllTmType; + } if (modelStore.filter.rangeTm.length > 0) { dateRange.value = [ dayjs(modelStore.filter.rangeTm[0]), diff --git a/frontend/src/components/MapModal/components/FishZHFX.vue b/frontend/src/components/MapModal/components/FishZHFX.vue index 09e3601f..ac853815 100644 --- a/frontend/src/components/MapModal/components/FishZHFX.vue +++ b/frontend/src/components/MapModal/components/FishZHFX.vue @@ -304,6 +304,7 @@ const updateChart = (data: any[], columns: any[]) => { console.log(sorted[0]); const option = { + // 在 updateChart 函数中,替换 tooltip 配置 tooltip: { trigger: 'axis', backgroundColor: 'rgba(50, 50, 50, 0.9)', @@ -312,17 +313,29 @@ const updateChart = (data: any[], columns: any[]) => { formatter: (params: any) => { if (!params || params.length === 0) return ''; const dataIndex = params[0].dataIndex; - const fullTime = xAxisData[dataIndex] || ''; + const dataItem = data[dataIndex]; // data 来自 updateChart 的参数 + if (!dataItem) return ''; + const fullTime = dayjs(dataItem.dt).format('YYYY-MM-DD'); let html = `
${fullTime}
`; - params.forEach((param: any) => { - if (param.value == null) return; + + // 过滤出需要显示的数据列(排除时间列和不可见列) + const dataColumns = columns.filter( + col => col.dataIndex !== 'dt' && col.visible !== false + ); + + dataColumns.forEach(col => { + const value = dataItem[col.dataIndex]; + const displayValue = value != null && value !== '' ? value : '-'; + // 尝试从 params 中匹配该系列的颜色,否则使用默认灰色 + const matched = params.find((p: any) => p.seriesName === col.title); + const color = matched ? matched.color : '#999'; html += ` -
- - ${param.seriesName}: - ${param.value} -
- `; +
+ + ${col.title}: + ${displayValue} +
+ `; }); return html; } @@ -330,6 +343,8 @@ const updateChart = (data: any[], columns: any[]) => { legend: { type: 'scroll', top: 10, + left: 0, + width: '90%', data: dataColumns.map(col => col.title), textStyle: { fontSize: 12 } }, @@ -429,7 +444,7 @@ const fetchData = async () => { .map((col: any) => ({ title: col.title, dataIndex: col.dataIndex, - width: 120, + width: 140, customRender: ({ text }: any) => { if (col.dataType === 'date' && text) { return dayjs(text).format('YYYY-MM-DD'); diff --git a/frontend/src/components/MapModal/index.vue b/frontend/src/components/MapModal/index.vue index c2598136..fc6691b4 100644 --- a/frontend/src/components/MapModal/index.vue +++ b/frontend/src/components/MapModal/index.vue @@ -482,7 +482,7 @@ const setQGCTabList = async (_tabs: any, stcd: string) => { }); const buid = res?.data?.data[0]?.bldsttCcode; - + const zj = ['基础信息', '实时视频', '全景影像', '查看报告']; const wj = ['基础信息', '查看报告']; @@ -568,13 +568,17 @@ const setQGCTabList = async (_tabs: any, stcd: string) => { }; const res2 = await getVideoList(params); console.log('', modelStore.params.sttp); + console.log('', res2); + console.log('', newTabs); if ( res2?.data?.data?.length > 0 || res2?.data?.records?.length > 0 || modelStore.params.sttp == 'WQ' ) { + console.log(123); tabsConfig.value = newTabs; } else { + console.log(465); let arr = ['DW', 'DW_1', 'DW_2', 'DW_3', 'DW_4', 'DW_5', 'DW_6']; if (arr.includes(modelStore.params.sttp)) { tabsConfig.value = newTabs.filter((item: any) => item.type == 'basic'); diff --git a/frontend/src/components/gis/map.ol.ts b/frontend/src/components/gis/map.ol.ts index c38623f8..bd58dd4b 100644 --- a/frontend/src/components/gis/map.ol.ts +++ b/frontend/src/components/gis/map.ol.ts @@ -211,6 +211,8 @@ export class MapOl implements MapInterface { } else { modelStore.modalVisible = true; modelStore.params = detectedFeature.values_; + if (detectedFeature.values_.eqtp == 'QEC') + modelStore.filter.stllTmType = 'day'; modelStore.title = detectedFeature.values_.titleName || detectedFeature.values_.stnm; } diff --git a/frontend/src/modules/rightSearchDrawer/monitoringTable/components/FlowMeasure.vue b/frontend/src/modules/rightSearchDrawer/monitoringTable/components/FlowMeasure.vue index 62f9d7e2..9f15a10c 100644 --- a/frontend/src/modules/rightSearchDrawer/monitoringTable/components/FlowMeasure.vue +++ b/frontend/src/modules/rightSearchDrawer/monitoringTable/components/FlowMeasure.vue @@ -464,7 +464,10 @@ watch( () => modelStore.selectedAnchorPoint?.stcd, (newStcd, oldStcd) => { if (!newStcd) return; - if (newStcd !== oldStcd) fetchData(); + if (newStcd !== oldStcd) { + dateRange.value = initDateRange(); + fetchData(); + } }, { immediate: true } ); diff --git a/frontend/src/modules/rightSearchDrawer/monitoringTable/components/GYZLLB.vue b/frontend/src/modules/rightSearchDrawer/monitoringTable/components/GYZLLB.vue index f6d23f5f..10fa6538 100644 --- a/frontend/src/modules/rightSearchDrawer/monitoringTable/components/GYZLLB.vue +++ b/frontend/src/modules/rightSearchDrawer/monitoringTable/components/GYZLLB.vue @@ -276,7 +276,10 @@ watch( () => modelStore.selectedAnchorPoint?.stcd, (newStcd, oldStcd) => { if (!newStcd) return; - if (newStcd !== oldStcd) fetchData(); + if (newStcd !== oldStcd) { + year.value = initYear(); + fetchData(); + } }, { immediate: true } ); diff --git a/frontend/src/modules/rightSearchDrawer/monitoringTable/components/NormalOperationData.vue b/frontend/src/modules/rightSearchDrawer/monitoringTable/components/NormalOperationData.vue index 1507ebe1..0e8c1951 100644 --- a/frontend/src/modules/rightSearchDrawer/monitoringTable/components/NormalOperationData.vue +++ b/frontend/src/modules/rightSearchDrawer/monitoringTable/components/NormalOperationData.vue @@ -12,24 +12,28 @@ class="w-[90px]" /> -
-
-
{{ cfg.title }}
-
+ +
+
+
{{ cfg.title }}
+
+
-
+