diff --git a/src/components/advanced/table-header-operation.vue b/src/components/advanced/table-header-operation.vue index c1f5cad1..5c7a4643 100644 --- a/src/components/advanced/table-header-operation.vue +++ b/src/components/advanced/table-header-operation.vue @@ -75,7 +75,7 @@ function handleExport() { 导出 diff --git a/src/components/custom/file-upload.vue b/src/components/custom/file-upload.vue index d5693fd7..ba0dd975 100644 --- a/src/components/custom/file-upload.vue +++ b/src/components/custom/file-upload.vue @@ -11,6 +11,8 @@ defineOptions({ interface Props { action?: string; + data?: Record; + defaultUpload?: boolean; showTip?: boolean; max?: number; accept?: string; @@ -20,6 +22,8 @@ interface Props { const props = withDefaults(defineProps(), { action: `/resource/oss/upload`, + data: undefined, + defaultUpload: true, showTip: true, max: 5, accept: '.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.pdf', @@ -29,6 +33,8 @@ const props = withDefaults(defineProps(), { const attrs: UploadProps = useAttrs(); +const value = defineModel('value', { required: false, default: [] }); + let fileNum = 0; const fileList = ref([]); const needRelaodData = defineModel('needRelaodData', { @@ -39,6 +45,7 @@ watch( () => fileList.value, newValue => { needRelaodData.value = newValue.length > 0; + value.value = newValue.map(item => item.id); } ); @@ -126,11 +133,13 @@ async function handleRemove(file: UploadFileInfo) { v-bind="attrs" v-model:file-list="fileList" :action="`${baseURL}${action}`" + :data="data" :headers="headers" :max="max" :accept="accept" - multiple + :multiple="max > 1" directory-dnd + :default-upload="defaultUpload" :list-type="uploadType === 'image' ? 'image-card' : 'text'" :is-error-state="isErrorState" @finish="handleFinish" @@ -145,12 +154,12 @@ async function handleRemove(file: UploadFileInfo) { 点击或者拖动文件到该区域来上传 请上传 -