From 0b952757fbbfcce99a5dec02116e1e6185f66566 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 15 十月 2026 14:03:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_海西州_北京同仁堂' into dev_海西州_北京同仁堂

---
 src/views/crm/statistics/portrait/index.vue |   15 +++++++--------
 src/views/mes/pd/archive/modules/detail.vue |   15 ++++++++++++---
 src/api/mes/pd/archive/index.ts             |    4 +++-
 3 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/src/api/mes/pd/archive/index.ts b/src/api/mes/pd/archive/index.ts
index 16a0da7..f24128e 100644
--- a/src/api/mes/pd/archive/index.ts
+++ b/src/api/mes/pd/archive/index.ts
@@ -1,4 +1,5 @@
 import type { PageParam, PageResult } from '#/packages/effects/request/src';
+import type { SystemStorageApi } from '#/api/system/storage';
 
 import { requestClient } from '#/api/request';
 
@@ -85,7 +86,8 @@
     documentName?: string;
     documentVersion?: string;
     fileName?: string;
-    fileUrl?: string;
+    /** 璧勬枡闄勪欢锛堣蛋 system 妯″潡 storage-attachment锛屼笟鍔¤〃涓嶅瓨鏂囦欢鍦板潃锛� */
+    attachmentList?: SystemStorageApi.StorageBlob[];
     uploadUserId?: number;
     uploadUserNickname?: string;
     uploadTime?: number;
diff --git a/src/views/crm/statistics/portrait/index.vue b/src/views/crm/statistics/portrait/index.vue
index 3a73d4c..cc246f5 100644
--- a/src/views/crm/statistics/portrait/index.vue
+++ b/src/views/crm/statistics/portrait/index.vue
@@ -26,9 +26,10 @@
 const { renderEcharts: renderRightEcharts } = useEcharts(rightChartRef);
 
 /**
- * 鍩庡競鍒嗗竷鍒嗘瀽锛氫袱寮犲湴鍥惧悇鍗犱竴鏁磋銆�
- * 鍦板浘鍥惧舰鐨勫ぇ灏忕敱瀹瑰櫒楂樺害鍐冲畾锛圗Charts 鎸夌煭杈硅嚜閫傚簲锛屽姞瀹藉彧澶氱暀鐧斤級锛�
- * 鎵�浠ヨ繖閲屾妸楂樺害缁欒冻锛岄厤鍚� chartOptions 閲岀殑 layoutSize 鎾戞弧銆�
+ * 涓ゅ紶鍥惧缁堜竴鎺掍袱涓紙鍦板浘涔熶笉渚嬪锛夈��
+ * 鍦板浘澶у皬鐢卞鍣ㄧ煭杈� 脳 0.92 鍐冲畾锛圗Charts 榛樿鍙粰鐭竟鐨� 80%锛屽姞瀹藉鍣ㄤ笉浼氭斁澶у浘褰紝
+ * 鍙槸澶氱暀鐧斤級锛屾墍浠ュ湴鍥惧彧鑳介潬鍔犻珮鏉ユ斁澶р�斺��700px 鏄杩欎竴琛屼笉鑷充簬鎶婇〉闈㈤《鍑哄睆骞曠殑楂樺害銆�
+ * 楗煎浘娌跨敤鍘熸潵鐨� 300px銆�
  */
 const isAreaTab = computed(() => activeTabName.value === 'area');
 const chartHeight = computed(() => (isAreaTab.value ? '700px' : '300px'));
@@ -101,16 +102,14 @@
           :force-render="true"
         />
       </Tabs>
-      <div class="mt-5 flex" :class="{ 'flex-col': isAreaTab }">
+      <div class="mt-5 flex">
         <EchartsUI
-          class="m-4"
-          :class="isAreaTab ? 'w-full' : 'w-1/2'"
+          class="m-4 w-1/2"
           :height="chartHeight"
           ref="leftChartRef"
         />
         <EchartsUI
-          class="m-4"
-          :class="isAreaTab ? 'w-full' : 'w-1/2'"
+          class="m-4 w-1/2"
           :height="chartHeight"
           ref="rightChartRef"
         />
diff --git a/src/views/mes/pd/archive/modules/detail.vue b/src/views/mes/pd/archive/modules/detail.vue
index f767001..365fad1 100644
--- a/src/views/mes/pd/archive/modules/detail.vue
+++ b/src/views/mes/pd/archive/modules/detail.vue
@@ -43,6 +43,15 @@
   );
 }
 
+/**
+ * 璧勬枡鏂囦欢鍦板潃锛氬悗绔彧鍥� attachmentList锛堥檮浠朵腑闂磋〃锛夛紝涓氬姟琛ㄦ病鏈� fileUrl 瀛楁锛�
+ * 杩欓噷鍙栫涓�涓檮浠剁殑璁块棶鍦板潃锛屾病鏈夐檮浠跺氨杩斿洖绌轰覆锛堟ā鏉块噷鏄剧ず銆�-銆嶏級銆�
+ */
+function documentFileUrl(record: MesPdArchiveApi.DocumentInfo) {
+  const blob = record.attachmentList?.[0];
+  return blob?.url || blob?.downloadURL || '';
+}
+
 /** 褰掓。鐘舵�佷腑鏂囧悕锛氬瓧鍏� mes_pd_archive_status */
 function archiveStatusText(value?: number) {
   if (value === undefined || value === null || value === '') return '-';
@@ -170,9 +179,9 @@
             >
               <template #bodyCell="{ column, record }">
                 <template v-if="column.key === 'action'">
-                  <template v-if="record.fileUrl">
-                    <a class="mr-2" @click="openPreview(record.fileUrl, record.fileName)">棰勮</a>
-                    <a :href="record.fileUrl" target="_blank">涓嬭浇</a>
+                  <template v-if="documentFileUrl(record)">
+                    <a class="mr-2" @click="openPreview(documentFileUrl(record), record.fileName)">棰勮</a>
+                    <a :href="documentFileUrl(record)" target="_blank">涓嬭浇</a>
                   </template>
                   <span v-else class="text-gray-400">-</span>
                 </template>

--
Gitblit v1.9.3