From d734bfc34f65b6cd036b5f21b718294152fecacf Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期四, 17 二月 2022 11:56:11 +0800 Subject: [PATCH] 修复分页组件请求两次问题(I4SQOR) --- ruoyi-ui/src/components/Editor/index.vue | 39 +++++++++++++++++++++++++-------------- 1 files changed, 25 insertions(+), 14 deletions(-) diff --git a/ruoyi-ui/src/components/Editor/index.vue b/ruoyi-ui/src/components/Editor/index.vue index d63a48d..6bb5a18 100644 --- a/ruoyi-ui/src/components/Editor/index.vue +++ b/ruoyi-ui/src/components/Editor/index.vue @@ -2,6 +2,7 @@ <div> <el-upload :action="uploadUrl" + :before-upload="handleBeforeUpload" :on-success="handleUploadSuccess" :on-error="handleUploadError" name="file" @@ -9,7 +10,7 @@ :headers="headers" style="display: none" ref="upload" - v-if="this.uploadUrl" + v-if="this.type == 'url'" > </el-upload> <div class="editor" ref="editor" :style="styles"></div> @@ -46,14 +47,20 @@ type: Boolean, default: false, }, - /* 上传地址 */ - uploadUrl: { + // 上传文件大小限制(MB) + fileSize: { + type: Number, + default: 5, + }, + /* 类型(base64格式、url格式) */ + type: { type: String, - default: "", + default: "url", } }, data() { return { + uploadUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址 headers: { Authorization: "Bearer " + getToken() }, @@ -119,7 +126,7 @@ const editor = this.$refs.editor; this.Quill = new Quill(editor, this.options); // 如果设置了上传地址则自定义图片上传事件 - if (this.uploadUrl) { + if (this.type == 'url') { let toolbar = this.Quill.getModule("toolbar"); toolbar.addHandler("image", (value) => { this.uploadType = "image"; @@ -127,14 +134,6 @@ this.$refs.upload.$children[0].$refs.input.click(); } else { this.quill.format("image", false); - } - }); - toolbar.addHandler("video", (value) => { - this.uploadType = "video"; - if (value) { - this.$refs.upload.$children[0].$refs.input.click(); - } else { - this.quill.format("video", false); } }); } @@ -157,6 +156,18 @@ this.$emit("on-editor-change", eventName, ...args); }); }, + // 上传前校检格式和大小 + handleBeforeUpload(file) { + // 校检文件大小 + if (this.fileSize) { + const isLt = file.size / 1024 / 1024 < this.fileSize; + if (!isLt) { + this.$message.error(`上传文件大小不能超过 ${this.fileSize} MB!`); + return false; + } + } + return true; + }, handleUploadSuccess(res, file) { // 获取富文本组件实例 let quill = this.Quill; @@ -165,7 +176,7 @@ // 获取光标所在位置 let length = quill.getSelection().index; // 插入图片 res.url为服务器返回的图片地址 - quill.insertEmbed(length, "image", res.url); + quill.insertEmbed(length, "image", process.env.VUE_APP_BASE_API + res.fileName); // 调整光标到最后 quill.setSelection(length + 1); } else { -- Gitblit v1.9.2