From 524b1febe13e9305e9a27c870e09819e0e363bbd Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 21 四月 2025 17:28:48 +0800
Subject: [PATCH] feat: 接口

---
 src/components/commonView/FourStreamsMaterialFileTable.vue |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/components/commonView/FourStreamsMaterialFileTable.vue b/src/components/commonView/FourStreamsMaterialFileTable.vue
index e51d00d..4fb8aaf 100644
--- a/src/components/commonView/FourStreamsMaterialFileTable.vue
+++ b/src/components/commonView/FourStreamsMaterialFileTable.vue
@@ -9,7 +9,7 @@
       :showTableColumnSetting="false"
     >
       <template #fileBusinessType="{ row }">
-        {{ FourStreamsMaterialFileBusinessTypeEnumText[row.fileBusinessType] }}
+        {{ BusinessTypeEnumText[row.fileBusinessType] }}
       </template>
       <template #operationBtn-uploadBtn="{ data, row }">
         <BlFileUpload
@@ -25,22 +25,31 @@
         </BlFileUpload>
       </template>
     </ProTableV2>
+    <FourStreamsBatchMaterialFileDialog
+      v-bind="dialogProps"
+      :name="''"
+      :zipName="`${BusinessTypeEnumText[currentFourStreamsMaterialFileTableItem.fileBusinessType as any]}`"
+      v-model:fileList="currentFourStreamsMaterialFileTableItem.fileList"
+      :showDeleteBtn="showDeleteBtn"
+    />
   </div>
 </template>
 
-<script setup lang="ts">
+<script setup lang="ts" generic="T">
 import {
   FourStreamsMaterialFileTableProps,
   FourStreamsMaterialFileTableItem,
   FourStreamsMaterialFileBusinessTypeEnumText,
+  BaseMaterialFileTableItem,
 } 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 { useDefineColumns } from '@/hooks';
@@ -55,9 +64,10 @@
   showDownloadBtn: true,
   showDeleteBtn: true,
   downloadBtnText: '涓嬭浇',
+  BusinessTypeEnumText: () => FourStreamsMaterialFileBusinessTypeEnumText,
 });
 
-const list = defineModel<FourStreamsMaterialFileTableItem[]>('list');
+const list = defineModel<BaseMaterialFileTableItem<T>[]>('list');
 
 const columns = defineColumns([
   {
@@ -152,6 +162,12 @@
   } catch (error) {}
 }
 
+const currentFourStreamsMaterialFileTableItem = ref<BaseMaterialFileTableItem<T>>({
+  fileBusinessType: 0 as any,
+  fileList: [],
+});
+const { dialogProps, dialogState } = useDialog();
+
 async function handlePreview(row: FourStreamsMaterialFileTableItem) {
   if (row.fileList.length > 1) {
     // currentEnterpriseMaterialFileTableItem.value = row;

--
Gitblit v1.9.1