From a09f984cbe2369e13d8694e91c4f8165ec6c2ba9 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 20 八月 2025 14:05:10 +0800 Subject: [PATCH] 动态溯源模块优化 --- src/views/sourcetrace/component/ClueRecordItem.vue | 111 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 57 insertions(+), 54 deletions(-) diff --git a/src/views/sourcetrace/component/ClueRecordItem.vue b/src/views/sourcetrace/component/ClueRecordItem.vue index a8aecbb..f34ad6c 100644 --- a/src/views/sourcetrace/component/ClueRecordItem.vue +++ b/src/views/sourcetrace/component/ClueRecordItem.vue @@ -9,36 +9,41 @@ <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 + ' - ' + item.pollutedData.endTime + item.pollutedData._startTime + + ' - ' + + item.pollutedData._endTime }} </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 effect="plain" type="info" + style="color: black" size="small" hit 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 - ? '鏈壘鍒伴闄╂簮' + ? '鍙兘瀛樺湪鐜板満姹℃煋锛岃娉ㄦ剰鍛ㄨ竟鎯呭喌銆�' : '鎵惧埌' + item.pollutedSource.sceneList.length + '涓闄╂簮' }} </el-text> @@ -62,9 +67,12 @@ <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-text type="danger">{{ item.advice }}</el-text> + <el-space> + <el-icon color="#F56C6C" :size="40"><WarnTriangleFilled /></el-icon> + <el-text type="info">{{ item.advice }}</el-text> + </el-space> </div> <el-row v-else-if="item._type == '3'"> <el-col :span="3"> @@ -73,29 +81,34 @@ <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 + ' - ' + item.pollutedData.endTime + item.pollutedData._startTime + + ' - ' + + item.pollutedData._endTime }} </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 effect="plain" type="info" size="small" + style="color: black" hit 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-if="item.pollutedSource.sceneList.length > 0"> <div v-for="s in item.pollutedSource.sceneList" :key="s.guid"> <img style="width: 24px" :src="sceneIcon(s.typeId)" :alt="s.type" /> <el-text @@ -108,24 +121,8 @@ {{ s.name }} </el-text> </div> - </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> @@ -158,7 +155,7 @@ function formatDistanceType(value) { switch (value) { case 'TYPE1': - return '50绫充互鍐�'; + return '100绫充互鍐�'; case 'TYPE2': return '50绫� - 500绫充互鍐�'; case 'TYPE3': @@ -171,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