From b3fda48ba53b36f6770f399f58290ed4d95d04a6 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 30 四月 2025 09:19:52 +0800
Subject: [PATCH] feat: 接口

---
 src/components/commonView/FourStreamsMaterialFileTable.vue |   33 ++++++++++++++++++---------------
 1 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/src/components/commonView/FourStreamsMaterialFileTable.vue b/src/components/commonView/FourStreamsMaterialFileTable.vue
index 4fb8aaf..2ed72e4 100644
--- a/src/components/commonView/FourStreamsMaterialFileTable.vue
+++ b/src/components/commonView/FourStreamsMaterialFileTable.vue
@@ -38,21 +38,21 @@
 <script setup lang="ts" generic="T">
 import {
   FourStreamsMaterialFileTableProps,
-  FourStreamsMaterialFileTableItem,
-  FourStreamsMaterialFileBusinessTypeEnumText,
   BaseMaterialFileTableItem,
+  FourStreamsMaterialFileBusinessTypeEnumText,
 } from './types';
 import {
   ProTableV2,
   defineColumns,
+  defineOperationBtns,
   BlFileUpload,
   bolePreview,
   useDialog,
 } from '@bole-core/components';
-import FourStreamsBatchMaterialFileDialog from './FourStreamsBatchMaterialFileDialog.vue';
 import { downloadFileByUrl } from '@/utils';
-import { Message, isFileCanPreview } from '@bole-core/core';
+import { Message, isFileCanPreview, downloadWithZip } from '@bole-core/core';
 import { useDefineColumns } from '@/hooks';
+import FourStreamsBatchMaterialFileDialog from './FourStreamsBatchMaterialFileDialog.vue';
 
 defineOptions({
   name: 'FourStreamsMaterialFileTable',
@@ -85,7 +85,7 @@
         name: '涓婁紶',
       },
       extraProps: {
-        hide: (row: FourStreamsMaterialFileTableItem) => {
+        hide: (row: BaseMaterialFileTableItem<T>) => {
           if (!props.showUploadBtn) return true;
           let fileList = row?.fileList?.filter?.((item) => item.status === 'success');
           return fileList?.length > 0;
@@ -101,7 +101,7 @@
         onClick: (row) => handlePreview(row),
       },
       extraProps: {
-        hide: (row: FourStreamsMaterialFileTableItem) => {
+        hide: (row: BaseMaterialFileTableItem<T>) => {
           if (!props.showCheckBtn) return true;
           let fileList = row?.fileList?.filter?.((item) => item.status === 'success');
           if (!fileList?.length) {
@@ -125,7 +125,7 @@
         onClick: (row) => handleBatchDownload(row),
       },
       extraProps: {
-        hide: (row: FourStreamsMaterialFileTableItem) => {
+        hide: (row: BaseMaterialFileTableItem<T>) => {
           return (
             !props.showDownloadBtn ||
             !row?.fileList?.filter?.((item) => item.status === 'success')?.length
@@ -145,7 +145,7 @@
         onClick: (row) => handleDelete(row),
       },
       extraProps: {
-        hide: (row: FourStreamsMaterialFileTableItem) => {
+        hide: (row: BaseMaterialFileTableItem<T>) => {
           if (!props.showDeleteBtn) return true;
           let fileList = row?.fileList?.filter?.((item) => item.status === 'success');
           return !fileList?.length;
@@ -155,7 +155,7 @@
   ],
 });
 
-async function handleDelete(row: FourStreamsMaterialFileTableItem) {
+async function handleDelete(row: BaseMaterialFileTableItem<T>) {
   try {
     await Message.deleteMessage();
     row.fileList = [];
@@ -168,11 +168,11 @@
 });
 const { dialogProps, dialogState } = useDialog();
 
-async function handlePreview(row: FourStreamsMaterialFileTableItem) {
+async function handlePreview(row: BaseMaterialFileTableItem<T>) {
   if (row.fileList.length > 1) {
-    // currentEnterpriseMaterialFileTableItem.value = row;
-    // await nextTick();
-    // dialogState.dialogVisible = true;
+    currentFourStreamsMaterialFileTableItem.value = row;
+    await nextTick();
+    dialogState.dialogVisible = true;
   } else {
     bolePreview({
       fileUrl: row.fileList[0].url,
@@ -180,7 +180,7 @@
   }
 }
 
-function handleBatchDownload(row: FourStreamsMaterialFileTableItem) {
+async function handleBatchDownload(row: BaseMaterialFileTableItem<T>) {
   const successFileList = row.fileList.filter((item) => item.status === 'success');
   if (successFileList.length === 0) {
     Message.errorMessage('娌℃湁鍙笅杞界殑鏂囦欢');
@@ -191,8 +191,11 @@
   } else {
     // downloadWithZip(
     //   successFileList.map((item) => ({ data: item.url })),
-    //   `${AllEnterpriseMaterialFileBusinessTypeEnumText[row.fileBusinessType]}鏉愭枡鏂囦欢`
+    //   `${props.BusinessTypeEnumText[row.fileBusinessType as any]}`
     // );
+    currentFourStreamsMaterialFileTableItem.value = row;
+    await nextTick();
+    dialogState.dialogVisible = true;
   }
 }
 </script>

--
Gitblit v1.9.1