ruoyi-plus-vben5/apps/web-antd/src/views/system/oss/file-upload-modal.vue

52 lines
1.1 KiB
Vue
Raw Normal View History

2024-10-08 13:37:14 +08:00
<script setup lang="ts">
import { computed, ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { Alert } from 'ant-design-vue';
import { FileUpload } from '#/components/upload';
const emit = defineEmits<{ reload: [] }>();
const fileList = ref<string[]>([]);
const [BasicModal, modalApi] = useVbenModal({
onOpenChange: (isOpen) => {
if (isOpen) {
return null;
}
if (fileList.value.length > 0) {
fileList.value = [];
emit('reload');
modalApi.close();
return null;
}
},
});
2024-10-15 20:40:41 +08:00
const accept = ref(['xlsx', 'word', 'pdf']);
2024-10-08 13:37:14 +08:00
const maxNumber = ref(3);
const message = computed(() => {
return `支持 [${accept.value.join(', ')}] 格式,最多上传 ${maxNumber.value} 个文件`;
});
</script>
<template>
<BasicModal
:close-on-click-modal="false"
:footer="false"
:fullscreen-button="false"
title="文件上传"
>
<div class="flex flex-col gap-4">
<Alert :message="message" show-icon type="info">aaa</Alert>
<FileUpload
v-model:value="fileList"
:accept="accept"
:max-number="maxNumber"
/>
</div>
</BasicModal>
</template>