From 4d02466fed4f3ea012a80c3359cde9af0737141f Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 21 十一月 2022 20:01:12 +0800 Subject: [PATCH] add 增加 skywalking 集成 默认注释不开启 --- ruoyi-ui/src/components/FileUpload/index.vue | 89 +++++++++++++++++++++++++++++--------------- 1 files changed, 59 insertions(+), 30 deletions(-) diff --git a/ruoyi-ui/src/components/FileUpload/index.vue b/ruoyi-ui/src/components/FileUpload/index.vue index ea15a57..2e33c1b 100644 --- a/ruoyi-ui/src/components/FileUpload/index.vue +++ b/ruoyi-ui/src/components/FileUpload/index.vue @@ -1,6 +1,7 @@ <template> <div class="upload-file"> <el-upload + multiple :action="uploadFileUrl" :before-upload="handleBeforeUpload" :file-list="fileList" @@ -11,7 +12,7 @@ :show-file-list="false" :headers="headers" class="upload-file-uploader" - ref="upload" + ref="fileUpload" > <!-- 涓婁紶鎸夐挳 --> <el-button size="mini" type="primary">閫夊彇鏂囦欢</el-button> @@ -27,7 +28,7 @@ <!-- 鏂囦欢鍒楄〃 --> <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul"> <li :key="file.url" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in fileList"> - <el-link :href="`${baseUrl}${file.url}`" :underline="false" target="_blank"> + <el-link :href="`${file.url}`" :underline="false" target="_blank"> <span class="el-icon-document"> {{ getFileName(file.name) }} </span> </el-link> <div class="ele-upload-list__item-content-action"> @@ -40,6 +41,7 @@ <script> import { getToken } from "@/utils/auth"; +import { listByIds, delOss } from "@/api/system/oss"; export default { name: "FileUpload", @@ -69,8 +71,10 @@ }, data() { return { + number: 0, + uploadList: [], baseUrl: process.env.VUE_APP_BASE_API, - uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 涓婁紶鐨勫浘鐗囨湇鍔″櫒鍦板潃 + uploadFileUrl: process.env.VUE_APP_BASE_API + "/system/oss/upload", // 涓婁紶鏂囦欢鏈嶅姟鍣ㄥ湴鍧� headers: { Authorization: "Bearer " + getToken(), }, @@ -79,16 +83,24 @@ }, 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 => { - if (typeof item === "string") { - item = { name: item, url: item }; - } + item = { name: item.name, url: item.url, ossId: item.ossId }; item.uid = item.uid || new Date().getTime() + temp++; return item; }); @@ -112,17 +124,11 @@ handleBeforeUpload(file) { // 鏍℃鏂囦欢绫诲瀷 if (this.fileType) { - let fileExtension = ""; - if (file.name.lastIndexOf(".") > -1) { - fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1); - } - const isTypeOk = this.fileType.some((type) => { - if (file.type.indexOf(type) > -1) return true; - if (fileExtension && fileExtension.indexOf(type) > -1) return true; - return false; - }); + const fileName = file.name.split('.'); + const fileExt = fileName[fileName.length - 1]; + const isTypeOk = this.fileType.indexOf(fileExt) >= 0; if (!isTypeOk) { - this.$message.error(`鏂囦欢鏍煎紡涓嶆纭�, 璇蜂笂浼�${this.fileType.join("/")}鏍煎紡鏂囦欢!`); + this.$modal.msgError(`鏂囦欢鏍煎紡涓嶆纭�, 璇蜂笂浼�${this.fileType.join("/")}鏍煎紡鏂囦欢!`); return false; } } @@ -130,37 +136,60 @@ if (this.fileSize) { const isLt = file.size / 1024 / 1024 < this.fileSize; if (!isLt) { - this.$message.error(`涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃 ${this.fileSize} MB!`); + this.$modal.msgError(`涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃 ${this.fileSize} MB!`); return false; } } + this.$modal.loading("姝e湪涓婁紶鏂囦欢锛岃绋嶅��..."); + this.number++; return true; }, // 鏂囦欢涓暟瓒呭嚭 handleExceed() { - this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${this.limit} 涓�!`); + this.$modal.msgError(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${this.limit} 涓�!`); }, // 涓婁紶澶辫触 handleUploadError(err) { - this.$message.error("涓婁紶澶辫触, 璇烽噸璇�"); + this.$modal.msgError("涓婁紶鏂囦欢澶辫触锛岃閲嶈瘯"); + this.$modal.closeLoading(); }, // 涓婁紶鎴愬姛鍥炶皟 handleUploadSuccess(res, file) { - this.$message.success("涓婁紶鎴愬姛"); - this.fileList.push({ name: res.fileName, url: res.fileName }); - this.$emit("input", this.listToString(this.fileList)); + if (res.code === 200) { + this.uploadList.push({ name: res.data.fileName, url: res.data.url, ossId: res.data.ossId }); + this.uploadedSuccessfully(); + } else { + this.number--; + this.$modal.closeLoading(); + this.$modal.msgError(res.msg); + this.$refs.fileUpload.handleRemove(file); + this.uploadedSuccessfully(); + } }, // 鍒犻櫎鏂囦欢 handleDelete(index) { + let ossId = this.fileList[index].ossId; + delOss(ossId); this.fileList.splice(index, 1); this.$emit("input", this.listToString(this.fileList)); }, + // 涓婁紶缁撴潫澶勭悊 + uploadedSuccessfully() { + if (this.number > 0 && this.uploadList.length === this.number) { + this.fileList = this.fileList.concat(this.uploadList); + this.uploadList = []; + this.number = 0; + this.$emit("input", this.listToString(this.fileList)); + this.$modal.closeLoading(); + } + }, // 鑾峰彇鏂囦欢鍚嶇О getFileName(name) { + // 濡傛灉鏄痷rl閭d箞鍙栨渶鍚庣殑鍚嶅瓧 濡傛灉涓嶆槸鐩存帴杩斿洖 if (name.lastIndexOf("/") > -1) { - return name.slice(name.lastIndexOf("/") + 1).toLowerCase(); + return name.slice(name.lastIndexOf("/") + 1); } else { - return ""; + return name; } }, // 瀵硅薄杞垚鎸囧畾瀛楃涓插垎闅� @@ -168,11 +197,11 @@ 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