From 018ac11ffce99df1efe62edcc726268b012c766c Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 29 九月 2026 14:30:12 +0800
Subject: [PATCH] 新疆-融邦 1.协同办公-协同审批:采购及销售审批进入销售流程后也可预览在台账上传的附件 2.销售合同号只有直销时显示,别的时候隐藏 3.付款方式设置选项-网银-现金-微信-支票-承兑汇票

---
 src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue |   39 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 34 insertions(+), 5 deletions(-)

diff --git a/src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue b/src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue
index 807c458..1910cdc 100644
--- a/src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue
+++ b/src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue
@@ -193,11 +193,12 @@
         </div>
       </template>
     </div>
-    <div v-if="attachmentList.length"
+    <div v-for="group in attachmentGroups"
+         :key="group.title"
          class="detail-block">
-      <div class="detail-block-title">闄勪欢鍒楄〃</div>
+      <div class="detail-block-title">{{ group.title }}</div>
       <div class="attachment-list">
-        <div v-for="file in attachmentList"
+        <div v-for="file in group.files"
              :key="file.id"
              class="attachment-item">
           <el-icon class="file-icon">
@@ -211,7 +212,7 @@
             <el-link v-if="file.previewURL || file.url"
                      type="primary"
                      :underline="false"
-                     @click="openFile(file.previewURL || file.url)">棰勮</el-link>
+                     @click="previewFile(file.previewURL || file.url)">棰勮</el-link>
             <el-divider v-if="(file.previewURL || file.url) && file.downloadURL"
                         direction="vertical" />
             <el-link v-if="file.downloadURL"
@@ -222,12 +223,14 @@
         </div>
       </div>
     </div>
+    <filePreview ref="filePreviewRef" />
   </div>
 </template>
 
 <script setup>
-  import { computed } from "vue";
+  import { computed, ref } from "vue";
   import { Paperclip } from "@element-plus/icons-vue";
+  import filePreview from "@/components/filePreview/index.vue";
   import { formatDisplayTime } from "../../approve-template/approveTemplateConstants.js";
   import {
     approvalTypeLabel,
@@ -245,6 +248,8 @@
 
   const formResolved = computed(() => resolveInstanceFormFields(props.row));
 
+  const filePreviewRef = ref();
+
 
   // 鏄惁涓虹壒娈婂鎵圭被鍨嬶紙閲囪喘銆佸彂璐с�佹姤浠枫�侀攢鍞彴璐︼級
   const isSpecialApprovalType = computed(() => {
@@ -261,6 +266,30 @@
     return Array.isArray(list) ? list : [];
   });
 
+  // 鍙拌处鑷韩闄勪欢锛氶攢鍞彴璐� listPage 杩斿洖 storageBlobVOs锛岄噰璐彴璐� getPurchaseByCode 杩斿洖 storageBlobVOS
+  const businessAttachments = computed(() => {
+    if (![5, 19].includes(props.row.businessType)) return [];
+    const detail = props.detailData || {};
+    const candidates = [detail.storageBlobVOs, detail.storageBlobVOS, detail.storageBlobVOList];
+    return candidates.find(list => Array.isArray(list) && list.length) || [];
+  });
+
+  const attachmentGroups = computed(() => {
+    const groups = [];
+    if (businessAttachments.value.length) {
+      groups.push({ title: "鍙拌处闄勪欢", files: businessAttachments.value });
+    }
+    if (attachmentList.value.length) {
+      groups.push({ title: "瀹℃壒闄勪欢", files: attachmentList.value });
+    }
+    return groups;
+  });
+
+  function previewFile(url) {
+    if (!url) return;
+    filePreviewRef.value?.open(url);
+  }
+
   function openFile(url) {
     if (!url) return;
     window.open(url, "_blank");

--
Gitblit v1.9.3