This commit is contained in:
itcsx committed 2026-09-20 12:25:37 +08:00
1 parent 4f57b65451
commit eae4296980
6 files changed
+722 -259

No files matched your search

@@ -85,8 +85,9 @@
</a-col>
</a-row>
<FileUpload v-if="canCreate" ref="fileUploadRef" :action="uploadUrl" :headers="headers"
:resolve-file-path="resolveFilePath" @start="onUploadStart" @progress="onUploadProgress"
@success="onUploadSuccess" @error="onUploadError" />
:resolve-file-path="resolveFilePath" :multiple="multiple" @start="onUploadStart"
@progress="onUploadProgress" @success="onUploadSuccess" @complete="onUploadComplete"
@interrupted="onUploadInterrupted" @error="onUploadError" />
</template>
<script setup lang="ts">
@@ -116,6 +117,8 @@ const props = defineProps<{
uploadUrl: string;
headers: any;
resolveFilePath?: () => string | Promise<string>;
/** 上传时是否允许一次选多个文件,默认只允许选一个 */
multiple?: boolean;
canCreate: boolean;
canAmend: boolean;
canDelete: boolean;
@@ -127,6 +130,8 @@ const emit = defineEmits([
"upload-start",
"upload-progress",
"upload-success",
"upload-complete",
"upload-interrupted",
"upload-error",
"download",
"share",
@@ -234,6 +239,28 @@ const onUploadSuccess = (payload: any) => {
emit("upload-success", payload);
};
/** 一批文件全部传完(多选时用它统一刷新一次,避免每个文件都刷一遍列表) */
const onUploadComplete = (payload: any) => {
emit("upload-complete", payload);
};
/** 上传中断:断点还在,交给页面去问用户要不要续传 */
const onUploadInterrupted = (payload: any) => {
emit("upload-interrupted", payload);
};
/** 从断点继续上传 */
const resumeUpload = () => {
fileUploadRef.value?.resume();
};
/** 放弃这次上传,清掉断点 */
const discardUpload = () => {
fileUploadRef.value?.discard();
};
defineExpose({ resumeUpload, discardUpload });
const onUploadError = (error: unknown) => {
emit("upload-error", error);
};