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