From 30cf71affd5149a1310d84f658b028d267beee8b Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 11 六月 2025 17:30:22 +0800
Subject: [PATCH] 动态溯源(编写中)

---
 src/views/sourcetrace/SourceTrace.vue |  157 ++--------------------------------------------------
 1 files changed, 6 insertions(+), 151 deletions(-)

diff --git a/src/views/sourcetrace/SourceTrace.vue b/src/views/sourcetrace/SourceTrace.vue
index 725f2d6..5286e19 100644
--- a/src/views/sourcetrace/SourceTrace.vue
+++ b/src/views/sourcetrace/SourceTrace.vue
@@ -10,161 +10,14 @@
     <el-col v-show="show" span="10">
       <BaseCard>
         <template #content>
-          <!-- <div>
-        <el-input type="text" v-model="inputVal" />
-        <button @click="handleSend">send</button>
-        <button @click="handleLink">link</button>
-      </div> -->
-          <!-- <div>
-            <el-text type="primary" size="large" tag="b">鍔ㄦ�佹函婧�</el-text>
-          </div> -->
           <el-scrollbar ref="scrollbarRef" class="scrollbar">
             <div
               ref="scrollContentRef"
               style="display: flex; width: fit-content"
             >
-              <el-scrollbar
-                v-for="(item, index) in streams"
-                :key="index"
-                class="clue-card"
-              >
-                <el-row justify="space-between">
-                  <!-- <el-tag v-if="index == 0" type="danger">鏈�鏂�</el-tag> -->
-                  <el-text type="primary">{{
-                    '绾跨储鏃堕棿锛�' +
-                    item.pollutedData.startTime +
-                    ' - ' +
-                    item.pollutedData.endTime
-                  }}</el-text>
-                  <el-link
-                    type="primary"
-                    :underline="true"
-                    @click="showMarksAndPolygon(item)"
-                  >
-                    {{ item.showMore ? '鏀惰捣寮傚父' : '瀹氫綅寮傚父' }}
-                  </el-link>
-                </el-row>
-                <div>
-                  <el-text type="primary">
-                    姹℃煋鍖哄煙锛歿{ item.pollutedArea.address }}
-                  </el-text>
-                </div>
-                <div>
-                  <el-text type="primary">
-                    婧簮璺濈锛歿{
-                      formatDistanceType(item.pollutedArea.distanceType)
-                    }}
-                  </el-text>
-                </div>
-                <el-row style="border-top: 1px solid white">
-                  <el-col :span="6">
-                    <el-statistic
-                      title="绐佸彉鍥犲瓙"
-                      :value="item.pollutedData.factorName"
-                    />
-                  </el-col>
-                  <el-col :span="6">
-                    <el-statistic
-                      title="鍙樺寲骞呭害"
-                      :value="formatPercentage(item.pollutedData.avgPer)"
-                    />
-                  </el-col>
-                  <el-col :span="6">
-                    <el-statistic
-                      title="鍙戠敓娆℃暟"
-                      :value="item.pollutedData.times"
-                    />
-                  </el-col>
-                  <el-col :span="6">
-                    <el-statistic
-                      title="骞冲潎椋庨��"
-                      :value="item.pollutedData.windSpeed"
-                      suffix="m/s"
-                    />
-                  </el-col>
-                </el-row>
-                <el-row justify="space-between">
-                  <!-- <el-link
-                    type="primary"
-                    underline
-                    @click="showMarksAndPolygon(item)"
-                  >
-                    {{
-                      (item.showMore ? '鏀惰捣婧簮鍦烘櫙' : '鏌ョ湅婧簮鍦烘櫙') +
-                      '锛�' +
-                      item.pollutedSource.sceneList.length +
-                      '锛�'
-                    }}
-                  </el-link> -->
-                </el-row>
-                <div style="width: 320px; height: 140px">
-                  <RealTimeLineChart
-                    v-for="(item1, index1) in item._chartOptions"
-                    :key="index1"
-                    :model-value="item1"
-                  ></RealTimeLineChart>
-                </div>
-                <div class="border-dashed">
-                  <el-text type="" tag="mark">
-                    {{ item.pollutedSource.conclusion }}
-                  </el-text>
-                </div>
-                <SceneTable
-                  :show-marks="item.showMore"
-                  :scene-list="item.pollutedSource.sceneList"
-                ></SceneTable>
-
-                <!-- <el-space gap="4">
-                  <el-tag :type="item.status == 1 ? 'danger' : 'info'">{{
-                    item._statusStr
-                  }}</el-tag>
-                  <el-text type="default">{{ item.exception }}</el-text>
-                </el-space>
-                <el-row gap="4">
-                  <el-text type="primary">鍙戠敓鏃堕棿锛�</el-text>
-                  <el-text type="primary">{{
-                    item.startTime + ' 鑷� '
-                  }}</el-text>
-                  <el-text type="primary">{{
-                    item.status == 1 ? '褰撳墠' : item.endTime
-                  }}</el-text>
-                </el-row>
-                <el-row>
-                  <el-col :span="6">
-                    <el-statistic title="鍥犲瓙" :value="item.factorName" />
-                  </el-col>
-                  <el-col :span="6">
-                    <el-statistic title="鍧囧��" :value="item.avg" />
-                  </el-col>
-                  <el-col :span="6">
-                    <el-statistic title="宄板��" :value="item.max" />
-                  </el-col>
-                  <el-col :span="6">
-                    <el-statistic title="璋峰��" :value="item.min" />
-                  </el-col>
-                </el-row>
-                <el-row justify="space-between">
-                  <el-link
-                    type="primary"
-                    @click="item.showMore = !item.showMore"
-                  >
-                    {{
-                      (item.showMore ? '鏀惰捣婧簮鍦烘櫙' : '鏌ョ湅婧簮鍦烘櫙') +
-                      '锛�' +
-                      item.relatedSceneList.length +
-                      '锛�'
-                    }}
-                  </el-link>
-                  <el-link type="primary" @click="drawSector(item)">
-                    鏌ョ湅寮傚父
-                  </el-link>
-                </el-row>
-                <SceneTable
-                  v-show="item.showMore"
-                  :scene-list="item.relatedSceneList"
-                ></SceneTable>
-                <el-divider /> -->
-              </el-scrollbar>
+              <template v-for="(item, index) in streams" :key="index">
+                <PollutedClueItem :item="item"></PollutedClueItem>
+              </template>
             </div>
           </el-scrollbar>
         </template>
@@ -187,6 +40,8 @@
 import { FactorDatas } from '@/model/FactorDatas';
 import factorDataParser from '@/utils/chart/factor-data-parser';
 import websocketMsgParser from '@/views/sourcetrace/websocketMsgParser.js';
+
+import PollutedClueItem from './component/PollutedClueItem.vue';
 
 const props = defineProps({
   factorType: String
@@ -320,7 +175,7 @@
 function parseChartData(obj) {
   // console.log('鎶樼嚎鍥撅細start');
   const factorDatas = new FactorDatas();
-  factorDatas.setData(obj.pollutedData.dataVoList, 0, () => {
+  factorDatas.setData(obj.pollutedData.historyDataList, 0, () => {
     obj._chartOptions = factorDataParser.parseData(factorDatas, [
       {
         label: obj.pollutedData.factorName,

--
Gitblit v1.9.3