From 08ffcf9d7ffafaa82d8de7f9b5fcfdb49e9c3688 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 05 十一月 2025 17:33:54 +0800
Subject: [PATCH] 动态溯源 1. 修复CO因子文本没有正常显示的问题;

---
 src/views/sourcetrace/component/PollutedExceptionItem.vue |   47 +++++++++++++++++++++++++++++++++++++----------
 1 files changed, 37 insertions(+), 10 deletions(-)

diff --git a/src/views/sourcetrace/component/PollutedExceptionItem.vue b/src/views/sourcetrace/component/PollutedExceptionItem.vue
index d269ccd..a2e9fdd 100644
--- a/src/views/sourcetrace/component/PollutedExceptionItem.vue
+++ b/src/views/sourcetrace/component/PollutedExceptionItem.vue
@@ -38,7 +38,7 @@
         <div>
           <el-text type="info">
             <el-icon><MapLocation /></el-icon>
-            {{ '椋庨櫓鍖哄煙锛�' + item.pollutedArea.address }}
+            {{ '椋庨櫓鍖哄煙锛�' + riskRegion }}
           </el-text>
         </div>
         <!-- <div>
@@ -52,7 +52,7 @@
             寮傚父绫诲瀷锛歿{ item.pollutedData.exception }}
           </el-text>
         </div>
-        <div v-for="s in item.pollutedData.statisticMap" :key="s">
+        <div v-for="s in item.pollutedData.statisticMap" :key="s.factorId">
           <el-row style="border-top: 1px solid white">
             <el-col :span="6">
               <el-statistic title="绐佸彉鍥犲瓙" :value="s.factorName" />
@@ -77,10 +77,19 @@
               <el-statistic
                 title="骞冲潎椋庨��"
                 :value="item.pollutedData.windSpeed"
+                :precision="1"
                 suffix="m/s"
               />
             </el-col>
           </el-row>
+          <RealTimeLineChart
+            v-for="(item1, index1) in s._chartOptions"
+            :key="index1"
+            :model-value="item1"
+            chart-height="80px"
+            :y-min-interval="20"
+            :exception-index-arr="exceptionIndexArr"
+          ></RealTimeLineChart>
         </div>
         <el-row justify="space-between">
           <!-- <el-link
@@ -97,13 +106,6 @@
                   </el-link> -->
         </el-row>
         <!-- <div style="width: 320px; height: 80px"> -->
-        <RealTimeLineChart
-          v-for="(item1, index1) in item._chartOptions"
-          :key="index1"
-          :model-value="item1"
-          chart-height="80px"
-          :y-min-interval="20"
-        ></RealTimeLineChart>
         <!-- </div> -->
         <div class="border-dashed">
           <el-icon color="#ffbc58" size="20"><WarningFilled /></el-icon>
@@ -122,13 +124,38 @@
   </CardDialog> -->
 </template>
 <script setup>
-import { ref } from 'vue';
+import { ref, computed } from 'vue';
 
 const props = defineProps({
   modelValue: Boolean,
   item: Object
 });
 
+const exceptionIndexArr = computed(() => {
+  const indexArr = [];
+  props.item.pollutedData.dataVoList.forEach((e) => {
+    const i = props.item.pollutedData.historyDataList.findIndex(
+      (v) => v.time == e.time
+    );
+    indexArr.push([i - 1 < 0 ? 0 : i - 1, i]);
+  });
+  return indexArr;
+});
+
+const riskRegion = computed(() => {
+  const _riskRegion = [];
+  if (props.item.pollutedArea.address) {
+    _riskRegion.push(props.item.pollutedArea.address);
+  }
+  if (props.item.pollutedArea.streetNumber) {
+    _riskRegion.push(props.item.pollutedArea.streetNumber);
+  }
+  if (props.item.pollutedArea.roadinter) {
+    _riskRegion.push(props.item.pollutedArea.roadinter);
+  }
+  return _riskRegion.join('锛�');
+});
+
 const emits = defineEmits(['showMarksAndPolygon', 'update:modelValue']);
 
 function showMarksAndPolygon(item) {

--
Gitblit v1.9.3