From af6a08398e2bc22f3c8a3a615cbd9e23190be906 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 12 五月 2022 10:55:44 +0800 Subject: [PATCH] update 优化 文件与图片上传组件 使用id存储回显 --- ruoyi-ui/src/components/ImageUpload/index.vue | 27 ++++++++++++++++++--------- 1 files changed, 18 insertions(+), 9 deletions(-) diff --git a/ruoyi-ui/src/components/ImageUpload/index.vue b/ruoyi-ui/src/components/ImageUpload/index.vue index 11573dd..6219979 100644 --- a/ruoyi-ui/src/components/ImageUpload/index.vue +++ b/ruoyi-ui/src/components/ImageUpload/index.vue @@ -44,6 +44,7 @@ <script> import { getToken } from "@/utils/auth"; +import { listByIds, delOss } from "@/api/system/oss"; export default { props: { @@ -86,15 +87,21 @@ }, watch: { value: { - handler(val) { + async handler(val) { if (val) { // 棣栧厛灏嗗�艰浆涓烘暟缁� - 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; + }) + } // 鐒跺悗灏嗘暟缁勮浆涓哄璞℃暟缁� this.fileList = list.map(item => { - if (typeof item === "string") { - item = { name: item, url: item }; - } + // 姝ゅname浣跨敤ossId 闃叉鍒犻櫎鍑虹幇閲嶅悕 + item = { name: item.ossId, url: item.url, ossId: item.ossId }; return item; }); } else { @@ -117,6 +124,8 @@ handleRemove(file, fileList) { const findex = this.fileList.map(f => f.name).indexOf(file.name); if(findex > -1) { + let ossId = this.fileList[findex].ossId; + delOss(ossId); this.fileList.splice(findex, 1); this.$emit("input", this.listToString(this.fileList)); } @@ -124,7 +133,7 @@ // 涓婁紶鎴愬姛鍥炶皟 handleUploadSuccess(res) { if (res.code == 200) { - this.uploadList.push({ name: res.data.fileName, url: res.data.url }); + this.uploadList.push({ name: res.data.fileName, url: res.data.url, ossId: res.data.ossId }); if (this.uploadList.length === this.number) { this.fileList = this.fileList.concat(this.uploadList); this.uploadList = []; @@ -187,10 +196,10 @@ let strs = ""; separator = separator || ","; for (let i in list) { - strs += list[i].url + separator; + strs += list[i].ossId + separator; } - return strs != '' ? strs.substr(0, strs.length - 1) : ''; - } + return strs != "" ? strs.substr(0, strs.length - 1) : ""; + }, } }; </script> -- Gitblit v1.9.3