From 3950f3c86967c977ad8c47894ff5b6ada4dfe3b9 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 23 八月 2022 18:34:42 +0800 Subject: [PATCH] fix 修复 文件/图片上传组件 第一次上传报错导致后续上传无限loading问题 --- ruoyi-ui/src/components/FileUpload/index.vue | 32 ++++++++++++++++++++++++++------ 1 files changed, 26 insertions(+), 6 deletions(-) diff --git a/ruoyi-ui/src/components/FileUpload/index.vue b/ruoyi-ui/src/components/FileUpload/index.vue index 78baf48..bb5b3da 100644 --- a/ruoyi-ui/src/components/FileUpload/index.vue +++ b/ruoyi-ui/src/components/FileUpload/index.vue @@ -41,7 +41,7 @@ <script> import { getToken } from "@/utils/auth"; -import { delOss } from "@/api/system/oss"; +import { listByIds, delOss } from "@/api/system/oss"; export default { name: "FileUpload", @@ -83,11 +83,21 @@ }, watch: { value: { - handler(val) { + async handler(val) { if (val) { let temp = 1; // 棣栧厛灏嗗�艰浆涓烘暟缁� - const list = Array.isArray(val) ? val : this.value.split(','); + let list; + if (Array.isArray(val)) { + list = val; + } else { + await listByIds(val).then(res => { + list = res.data.map(oss => { + oss = { name: oss.originalName, url: oss.url, ossId: oss.ossId }; + return oss; + }); + }) + } // 鐒跺悗灏嗘暟缁勮浆涓哄璞℃暟缁� this.fileList = list.map(item => { item = { name: item.name, url: item.url, ossId: item.ossId }; @@ -147,7 +157,7 @@ // 涓婁紶澶辫触 handleUploadError(err) { this.$modal.msgError("涓婁紶鍥剧墖澶辫触锛岃閲嶈瘯"); - this.$modal.closeLoading() + this.$modal.closeLoading(); }, // 涓婁紶鎴愬姛鍥炶皟 handleUploadSuccess(res, file) { @@ -157,12 +167,13 @@ this.fileList = this.fileList.concat(this.uploadList); this.uploadList = []; this.number = 0; - this.$emit("input", this.fileList); + this.$emit("input", this.listToString(this.fileList)); this.$modal.closeLoading(); } } else { this.$modal.msgError(res.msg); this.$modal.closeLoading(); + this.number--; } }, // 鍒犻櫎鏂囦欢 @@ -170,7 +181,7 @@ let ossId = this.fileList[index].ossId; delOss(ossId); this.fileList.splice(index, 1); - this.$emit("input", this.fileList); + this.$emit("input", this.listToString(this.fileList)); }, // 鑾峰彇鏂囦欢鍚嶇О getFileName(name) { @@ -181,6 +192,15 @@ return name; } }, + // 瀵硅薄杞垚鎸囧畾瀛楃涓插垎闅� + listToString(list, separator) { + let strs = ""; + separator = separator || ","; + for (let i in list) { + strs += list[i].ossId + separator; + } + return strs != "" ? strs.substr(0, strs.length - 1) : ""; + }, }, }; </script> -- Gitblit v1.9.3