From c23ac06446a9a1edc41cc13723e5d0b8eabdfd63 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 16 七月 2025 17:30:50 +0800 Subject: [PATCH] 2025.7.16 动态溯源新增合并异常 --- src/views/sourcetrace/component/ClueRecordItem.vue | 90 +++++++++++++++++++++------------------------ 1 files changed, 42 insertions(+), 48 deletions(-) diff --git a/src/views/sourcetrace/component/ClueRecordItem.vue b/src/views/sourcetrace/component/ClueRecordItem.vue index 5237bb5..25a1b59 100644 --- a/src/views/sourcetrace/component/ClueRecordItem.vue +++ b/src/views/sourcetrace/component/ClueRecordItem.vue @@ -9,7 +9,7 @@ <el-col :span="21"> <el-row justify="space-between"> <el-space> - <el-text type="primary" size="default"> + <el-text type="info" size="default"> <el-icon><Timer /></el-icon> {{ item.pollutedData._startTime + @@ -18,7 +18,7 @@ }} </el-text> </el-space> - <el-link type="primary" @click="emits('open', item)"> 璇︽儏 </el-link> + <el-link type="info" @click="emits('open', item)"> 璇︽儏 </el-link> </el-row> <div> <el-tag @@ -30,15 +30,17 @@ round class="m-r-4" > - <div v-html="formatFactorName(item.pollutedData.factorName)"></div> + <div + v-html="formatFactorName(item.pollutedData.statisticMap)" + ></div> </el-tag> - <el-text type="primary"> + <el-text type="info"> {{ item.pollutedData.exception + '锛�' }} </el-text> - <el-text type="primary">{{ + <el-text type="info">{{ formatDistanceType(item.pollutedArea.distanceType) }}</el-text> - <el-text :type="noWarn ? 'primary' : 'warning'"> + <el-text :type="noWarn ? 'info' : 'warning'"> {{ item.pollutedSource.sceneList.length == 0 ? '鏈壘鍒伴闄╂簮' @@ -65,11 +67,11 @@ <div v-else-if="item._type == '2'"> <el-row justify="space-between"> <el-tag type="danger" effect="dark" size="small">绾跨储</el-tag> - <el-link type="primary" @click="emits('open')"> 璇︽儏 </el-link> + <el-link type="info" @click="emits('open')"> 璇︽儏 </el-link> </el-row> <el-space> <el-icon color="#F56C6C" :size="40"><WarnTriangleFilled /></el-icon> - <el-text type="primary">{{ item.advice }}</el-text> + <el-text type="info">{{ item.advice }}</el-text> </el-space> </div> <el-row v-else-if="item._type == '3'"> @@ -79,7 +81,7 @@ <el-col :span="21"> <el-row justify="space-between"> <el-space> - <el-text type="primary" size="default"> + <el-text type="info" size="default"> <el-icon><Timer /></el-icon> {{ item.pollutedData._startTime + @@ -88,7 +90,7 @@ }} </el-text> </el-space> - <!-- <el-link type="primary" @click="emits('open', item)"> 璇︽儏 </el-link> --> + <el-link type="info" @click="emits('open', item)"> 璇︽儏 </el-link> </el-row> <div> <el-tag @@ -100,9 +102,11 @@ round class="m-r-4" > - <div v-html="formatFactorName(item.pollutedData.factorName)"></div> + <div + v-html="formatFactorName(item.pollutedData.statisticMap)" + ></div> </el-tag> - <el-text type="primary">{{ item.pollutedData.exception }}</el-text> + <el-text type="info">{{ item.pollutedData.exception }}</el-text> </div> <div v-if="item.pollutedSource.sceneList.length > 0"> <div v-for="s in item.pollutedSource.sceneList" :key="s.guid"> @@ -119,22 +123,6 @@ </div> </div> </el-col> - - <!-- <el-row justify="space-between"> - <el-space> - <el-tag type="primary" effect="dark" size="small">鎻愰啋</el-tag> - <el-text type="primary">{{ - item.pollutedData.startTime + ' - ' + item.pollutedData.endTime - }}</el-text> - </el-space> - <el-link type="primary" @click="emits('open', item)"> 璇︽儏 </el-link> - </el-row> - <el-col :span="24"> - <el-tag effect="plain" type="info" size="small" hit round class="m-r-4"> - <div v-html="formatFactorName(item.pollutedData.factorName)"></div> - </el-tag> - <el-text type="primary">{{ item.pollutedData.exception }}</el-text> - </el-col> --> </el-row> </div> </template> @@ -180,27 +168,33 @@ } } -function formatFactorName(name) { - switch (name) { - case 'PM25': - return 'PM<sub>2.5</sub>'; - // return '<span>PM2.5</span>'; - case 'PM10': - return 'PM<sub>10</sub>'; - case 'NO2': - return 'NO<sub>2</sub>'; - case 'H2S': - return 'H<sub>2</sub>S'; - case 'SO2': - return 'SO<sub>2</sub>'; - case 'O3': - return 'O<sub>3</sub>'; - case 'VOC': - return 'VOC<sub>s</sub>'; - - default: - break; +function formatFactorName(statisticMap) { + const mapName = (n) => { + switch (n) { + case 'PM25': + return 'PM<sub>2.5</sub>'; + case 'PM10': + return 'PM<sub>10</sub>'; + case 'NO2': + return 'NO<sub>2</sub>'; + case 'H2S': + return 'H<sub>2</sub>S'; + case 'SO2': + return 'SO<sub>2</sub>'; + case 'O3': + return 'O<sub>3</sub>'; + case 'VOC': + return 'VOC<sub>s</sub>'; + default: + return ''; + } + }; + let name = []; + for (const key in statisticMap) { + const value = statisticMap[key]; + name.push(mapName(value.factorName)); } + return name.join('銆�'); } function handleSetCenter(item, scene) { -- Gitblit v1.9.3