From b7426e2384b85e92ec1b59061bdada9b4f5c69ec Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 23 四月 2025 16:12:40 +0800
Subject: [PATCH] feat: 接口

---
 src/components/commonView/FourStreamsMaterialFileDialog.vue |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 49 insertions(+), 0 deletions(-)

diff --git a/src/components/commonView/FourStreamsMaterialFileDialog.vue b/src/components/commonView/FourStreamsMaterialFileDialog.vue
new file mode 100644
index 0000000..b1b07b2
--- /dev/null
+++ b/src/components/commonView/FourStreamsMaterialFileDialog.vue
@@ -0,0 +1,49 @@
+<template>
+  <ProDialog :title="title" v-model="visible" destroy-on-close draggable width="800px">
+    <FourStreamsMaterialFileTable v-model:list="form.list" v-bind="props" />
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button type="primary" @click="handleConfirm">纭� 瀹�</el-button>
+      </span>
+    </template>
+  </ProDialog>
+</template>
+
+<script setup lang="ts" generic="T">
+import { ProDialog } from '@bole-core/components';
+import FourStreamsMaterialFileTable from './FourStreamsMaterialFileTable.vue';
+import { FourStreamsMaterialFileTableProps, BaseMaterialFileTableItem } from './types';
+
+defineOptions({
+  name: 'FourStreamsMaterialFileDialog',
+});
+
+type Props = FourStreamsMaterialFileTableProps & {
+  title?: string;
+};
+
+const props = withDefaults(defineProps<Props>(), {
+  showUploadBtn: true,
+  showCheckBtn: true,
+  showDownloadBtn: true,
+  showDeleteBtn: true,
+  title: '鏉愭枡璇︽儏',
+});
+
+const visible = defineModel({ type: Boolean });
+
+type Form = {
+  list: BaseMaterialFileTableItem<T>[];
+};
+
+const form = defineModel<Form>('form');
+
+const emit = defineEmits<{
+  (e: 'onConfirm'): void;
+  (e: 'onCancel'): void;
+}>();
+
+function handleConfirm() {
+  emit('onConfirm');
+}
+</script>

--
Gitblit v1.9.1