From bbbc478129f72b26e2ec4a2e981ed8698a96880c Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 22 十月 2026 00:28:18 +0800
Subject: [PATCH] 当service_type=6时,需要根据传入的入院还是离院病区(病区)去后端查询

---
 src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue |   46 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue b/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue
index 42ee116..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">
@@ -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