From 293979a28d7585c23438edb7741500426c4e71bd Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期三, 20 十一月 2024 18:26:44 +0800 Subject: [PATCH] 还原 --- src/components/FileUpload/index.vue | 57 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 39 insertions(+), 18 deletions(-) diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue index 2fd98b9..073e97c 100644 --- a/src/components/FileUpload/index.vue +++ b/src/components/FileUpload/index.vue @@ -12,13 +12,14 @@ ref="fileUploadRef" :auto-upload="false" :on-exceed="handleExceed" + :before-upload="handleBeforeUpload" > <!-- 涓婁紶鎸夐挳 --> <el-button type="primary">閫夊彇鏂囦欢</el-button> </el-upload> <!-- 涓婁紶鎻愮ず --> <div class="el-upload__tip" v-if="showTip"> - <span>璇蜂笂浼犳枃浠�</span> + <span>涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃200MB</span> </div> </div> @@ -29,7 +30,9 @@ import { propTypes } from '@/utils/propTypes'; import { globalHeaders } from "@/utils/request"; import { LoadingInstance } from 'element-plus/es/components/loading/src/loading'; +import router from "@/router"; let downloadLoadingInstance: LoadingInstance; + const props = defineProps({ modelValue: [String, Object, Array], // 鏁伴噺闄愬埗 @@ -37,16 +40,19 @@ // 澶у皬闄愬埗(MB) fileSize: propTypes.number.def(200), // 鏂囦欢绫诲瀷, 渚嬪['png', 'jpg', 'jpeg'] - fileType: propTypes.array.def(["doc","docx","xlsx", "xls", "ppt", "txt", "pdf"]), + fileType: propTypes.array.def(['doc', 'docx', 'xlsx', 'xls', 'ppt', 'txt', 'pdf', 'mp3', 'mp4', 'mov', 'png', 'jpg', 'jpeg', 'zip', 'rar', '7z']), // 鏄惁鏄剧ず鎻愮ず isShowTip: propTypes.bool.def(true), }); const { proxy } = getCurrentInstance() as ComponentInternalInstance; -const emit = defineEmits(['update:modelValue','closePopup']); +const emit = defineEmits(['update:modelValue','closePopup','openPopup']); const number = ref(0); const uploadList = ref<any[]>([]); - +//浜掕仈缃戠 +// const baseUrl = import.meta.env.VITE_APP_BASE_API; +// const uploadFileUrl = ref('http://10.248.255.130:18080' + "/resource/oss/upload"); // 涓婁紶鏂囦欢鏈嶅姟鍣ㄥ湴鍧� +// 鍐呯綉绔� const baseUrl = import.meta.env.VITE_APP_BASE_API; const uploadFileUrl = ref(baseUrl + "/resource/oss/upload"); // 涓婁紶鏂囦欢鏈嶅姟鍣ㄥ湴鍧� const headers = ref(globalHeaders()); @@ -123,15 +129,15 @@ // 涓婁紶鍓嶆牎妫�鏍煎紡鍜屽ぇ灏� const handleBeforeUpload = (file: any) => { // 鏍℃鏂囦欢绫诲瀷 - // if (props.fileType.length) { - // const fileName = file.name.split('.'); - // const fileExt = fileName[fileName.length - 1]; - // const isTypeOk = props.fileType.indexOf(fileExt) >= 0; - // if (!isTypeOk) { - // proxy?.$modal.msgError(`鏂囦欢鏍煎紡涓嶆纭�, 璇蜂笂浼�${props.fileType.join("/")}鏍煎紡鏂囦欢!`); - // return false; - // } - // } + if (props.fileType.length) { + const fileName = file.name.split('.'); + const fileExt = fileName[fileName.length - 1]; + const isTypeOk = props.fileType.indexOf(fileExt) >= 0; + if (!isTypeOk) { + proxy?.$modal.msgError(`鏂囦欢鏍煎紡涓嶆纭�, 璇蜂笂浼�${props.fileType.join("/")}鏍煎紡鏂囦欢!`); + return false; + } + } // 鏍℃鏂囦欢澶у皬 if (props.fileSize) { const isLt = file.size / 1024 / 1024 < props.fileSize; @@ -154,26 +160,41 @@ const handleUploadError = () => { proxy?.$modal.msgError("涓婁紶鏂囦欢澶辫触"); } +const debounce = (fn: Function, delay = 1500) => { + let timer: number | null = null; + return (...args: any[]) => { + if (timer) { + clearTimeout(timer); + } + timer = setTimeout(() => { + fn(...args); + }, delay); + } +} const handleUploadProgress=(e: any) => { - downloadLoadingInstance = ElLoading.service({ text: '姝e湪涓婁紶鏂囦欢锛岃绋嶅��', background: 'rgba(0, 0, 0, 0.7)' }); + // downloadProgress.value = downloadProgress.value + 50 + // emit('closePopup','123123'); + emit('openPopup','123123'); } // 涓婁紶鎴愬姛鍥炶皟 const handleUploadSuccess = (res: any, file: UploadFile) => { + console.log(res,'resresres'); if (res.code === 200) { + proxy?.$modal.msgSuccess("涓婁紶鏂囦欢鎴愬姛"); emit('closePopup',res.data) - console.log('璋冪敤鐖剁粍浠�',res); fileUploadRef.value!.clearFiles() - downloadLoadingInstance.close(); uploadList.value.push({ name: res.data.fileName, url: res.data.url, ossId: res.data.ossId }); uploadedSuccessfully(); + }else if (res.code == 401) { + location.reload() } else { number.value--; - proxy?.$modal.closeLoading(); + // proxy?.$modal.closeLoading(); proxy?.$modal.msgError(res.msg); fileUploadRef.value?.handleRemove(file); uploadedSuccessfully(); - downloadLoadingInstance.close(); + } } -- Gitblit v1.8.0