From edcd4a33118e8e2284857048752ae4e3b5bdc023 Mon Sep 17 00:00:00 2001
From: buaixuexideshitongxue <2936013465@qq.com>
Date: Tue, 30 Dec 2025 20:33:58 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B6=89=E8=AE=BF=E6=B6=89=E8=AF=89--=E8=AF=A6?=
=?UTF-8?q?=E6=83=85=E9=A1=B5=E9=9D=A2=E6=9E=9A=E4=B8=BE=E6=A0=BC=E5=BC=8F?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/data/complaint_detail.vue | 45 ++++++++++++++++++------
1 file changed, 34 insertions(+), 11 deletions(-)
diff --git a/src/components/data/complaint_detail.vue b/src/components/data/complaint_detail.vue
index d421172..bf5d653 100644
--- a/src/components/data/complaint_detail.vue
+++ b/src/components/data/complaint_detail.vue
@@ -10,7 +10,7 @@
@@ -50,17 +50,17 @@
- {{ dictLabel(dict?.yesNo, base.repeatt) }}
+ {{ getDictLabel(dict?.yesNo, base.repeatt) }}
- {{ tagText }}
+ {{ getDictLabel(dict?.sfssTags, base.tag) }}
- {{ dictLabel(dict?.BlameType, base.handleMethod) }}
+ {{ getDictLabel(dict?.handleMethodType, base.handleMethod) }}
@@ -90,8 +90,7 @@
- {{ dictLabel(dict?.accountabilityTarget, base.accountabilityTarget) }}
-
+ {{ getDictLabel(dict?.accountabilityTarget, base.accountabilityTarget) }}
@@ -214,11 +213,35 @@ const detail = ref({});
const base = computed(() => detail.value || {});
const neg = computed(() => detail.value?.negative || detail.value?.neg || {});
-function dictLabel(list, value) {
- if (!Array.isArray(list)) return "/";
- if (value === undefined || value === null || value === "") return "/";
- const hit = list.find((x) => String(x.dictValue) === String(value));
- return hit?.dictLabel ?? "/";
+function getDictLabel(list, value) {
+ if (!Array.isArray(list)) return '/'
+
+ if (value === null || value === undefined || value === '') return '/'
+
+ let values = []
+
+ // 1️⃣ value 是数组
+ if (Array.isArray(value)) {
+ values = value
+ }
+ // 2️⃣ value 是 "1,2,3" 这种字符串
+ else if (typeof value === 'string' && value.includes(',')) {
+ values = value.split(',').map(v => v.trim())
+ }
+ // 3️⃣ 单值(string / number)
+ else {
+ values = [value]
+ }
+
+ // 4️⃣ 映射成字典中文
+ const labels = values
+ .map(v => {
+ const item = list.find(d => d.dictValue == v)
+ return item?.dictLabel
+ })
+ .filter(Boolean)
+
+ return labels.length ? labels.join(',') : '/'
}
/** 来源展示:优先后端给的“全路径”,否则用 sourcePath 数组拼 */