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