From c70f5e1d471ddf002ef0ebd5f4c6a5ed1c865d0d Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期三, 21 十月 2026 17:47:58 +0800
Subject: [PATCH] 测试完成

---
 src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue |   52 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 43 insertions(+), 9 deletions(-)

diff --git a/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue b/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue
index 1219d47..436d46e 100644
--- a/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue
+++ b/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue
@@ -82,7 +82,7 @@
         <el-col :span="16" v-if="currentRecord.handledesc">
           <div class="info-item">
             <span class="label">澶勭悊璇存槑锛�</span>
-            <span class="value">{{ currentRecord.handledesc }}</span>
+            <span class="value">{{ formatHandledesc(currentRecord.handledesc) }}</span>
           </div>
         </el-col>
         <el-col :span="24" v-if="currentRecord.finaloption">
@@ -107,14 +107,19 @@
         <el-col :span="8" v-if="currentRecord.ccdepts">
           <div class="info-item">
             <span class="label">鎶勯�佺瀹わ細</span>
-            <span class="value">{{ currentRecord.ccdepts }}</span>
+            <span class="value">{{ getDeptArray(currentRecord.ccdepts).join('銆�') }}</span>
           </div>
         </el-col>
       </el-row>
     </div>
 
     <!-- 闂嵎/璇煶璇︽儏 -->
-    <div class="content-container" v-if="templateData.length > 0">
+    <div
+      class="content-container"
+      v-if="currentRecord.templateType"
+      v-loading="contentLoading"
+      element-loading-text="璇︽儏鍔犺浇涓�..."
+    >
       <el-tabs v-model="activeName" type="border-card">
         <!-- 闂嵎闅忚璇︽儏 -->
         <el-tab-pane name="wj" v-if="currentRecord.templateType === 2">
@@ -134,7 +139,7 @@
                   v-if="item.scriptType == 1 && !item.astrict"
                 >
                   <div class="dev-text">
-                    {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
+                    {{ index + 1 }}. [鍗曢�塢<span>{{ item.scriptContent }}</span>
                   </div>
                   <div class="dev-xx">
                     <el-radio-group v-model="item.scriptResult" disabled>
@@ -169,7 +174,7 @@
                   v-if="item.scriptType == 2 && !item.astrict"
                 >
                   <div class="dev-text">
-                    {{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
+                    {{ index + 1 }}. [澶氶�塢<span>{{ item.scriptContent }}</span>
                   </div>
                   <div class="dev-xx">
                     <el-checkbox-group v-model="item.scriptResult" disabled>
@@ -194,7 +199,7 @@
                   v-if="item.scriptType == 4 && !item.astrict"
                 >
                   <div class="dev-text">
-                    {{ index + 1 }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
+                    {{ index + 1 }}. [闂瓟]<span>{{ item.scriptContent }}</span>
                     <span v-if="item.valueType == 3">(鍙兘杈撳叆鏁板瓧)</span>
                   </div>
                   <div class="dev-xx" v-if="item.valueType == 3">
@@ -301,7 +306,7 @@
                   </div>
                   <div v-if="record.handledesc" class="process-remark">
                     <span class="label">澶勭悊璇存槑锛�</span>
-                    <span class="content">{{ record.handledesc }}</span>
+                    <span class="content">{{ formatHandledesc(record.handledesc) }}</span>
                   </div>
                   <div v-if="record.finaloption" class="process-remark">
                     <span class="label">鏈�缁堟剰瑙侊細</span>
@@ -529,6 +534,8 @@
 
       // 鍔犺浇鐘舵��
       loading: false,
+      // 闂嵎/璇煶璇︽儏鍔犺浇鐘舵��
+      contentLoading: false,
 
       // 鏉冮檺鎺у埗
       hasQualityPermission: false
@@ -654,10 +661,31 @@
       return map[handleresult] || handleresult;
     },
 
-    // 鑾峰彇绉戝鏁扮粍
+    // 鑾峰彇绉戝鏁扮粍锛氬皢閫楀彿鍒嗛殧鐨勭瀹� code 鏄犲皠涓恒�岀瀹ゅ悕锛坈ode锛夈��
     getDeptArray(ccdepts) {
       if (!ccdepts) return [];
-      return ccdepts.split(',');
+      return String(ccdepts)
+        .split(',')
+        .map((code) => {
+          const dept = this.deptList.find((item) => item.deptCode === code);
+          return dept ? `${dept.label}锛�${code}锛塦 : code;
+        });
+    },
+
+    // 瑙f瀽 handledesc锛氭祦杞椂瀛樼殑鏄� JSON锛屽彇鍏朵腑 desc 鍘熸枃锛涘惁鍒欏師鏍疯繑鍥�
+    formatHandledesc(val) {
+      if (!val) return '';
+      if (typeof val !== 'string') return val;
+      const trimmed = val.trim();
+      if (trimmed.startsWith('{')) {
+        try {
+          const obj = JSON.parse(trimmed);
+          if (obj && obj.desc != null) return obj.desc;
+        } catch (e) {
+          // 闈炲悎娉� JSON锛屾寜鍘熸枃鏈繑鍥�
+        }
+      }
+      return val;
     },
 
     // 鎾斁闊抽
@@ -737,6 +765,7 @@
 
     // 鍔犺浇闂嵎鏁版嵁
     async loadQuestionnaireData() {
+      this.contentLoading = true;
       try {
         // 杩欓噷闇�瑕佹牴鎹疄闄呮儏鍐佃皟鐢ㄦ帴鍙h幏鍙栭棶鍗锋暟鎹�
         // 濡傛灉recordData涓凡缁忓寘鍚簡闂嵎鏁版嵁锛屽彲浠ョ洿鎺ヤ娇鐢�
@@ -770,6 +799,8 @@
         }
       } catch (error) {
         console.error('鍔犺浇闂嵎鏁版嵁澶辫触:', error);
+      } finally {
+        this.contentLoading = false;
       }
     },
 
@@ -788,6 +819,7 @@
 
     // 鍔犺浇璇煶鏁版嵁
     async loadVoiceData() {
+      this.contentLoading = true;
       try {
         if (this.currentRecord.taskid && this.currentRecord.patid) {
           const params = {
@@ -814,6 +846,8 @@
         }
       } catch (error) {
         console.error('鍔犺浇璇煶鏁版嵁澶辫触:', error);
+      } finally {
+        this.contentLoading = false;
       }
     },
 

--
Gitblit v1.9.3