From 566053da0cacc2b1d05be48fbeb76aa6215eebeb Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期一, 16 十一月 2020 15:52:58 +0800 Subject: [PATCH] 新增图片上传组件 --- ruoyi-ui/src/components/UploadImage/index.vue | 68 ++++++++++++++++++++++++++++++++++ 1 files changed, 68 insertions(+), 0 deletions(-) diff --git a/ruoyi-ui/src/components/UploadImage/index.vue b/ruoyi-ui/src/components/UploadImage/index.vue new file mode 100644 index 0000000..3941006 --- /dev/null +++ b/ruoyi-ui/src/components/UploadImage/index.vue @@ -0,0 +1,68 @@ +<template> + <div class="component-upload-image"> + <el-upload + :action="uploadImgUrl" + list-type="picture-card" + :on-success="handleUploadSuccess" + :before-upload="handleBeforeUpload" + :on-error="handleUploadError" + name="file" + :show-file-list="false" + :headers="headers" + style="display: inline-block; vertical-align: top" + > + <img v-if="value" :src="value" class="avatar" /> + <i v-else class="el-icon-plus avatar-uploader-icon"></i> + </el-upload> + </div> +</template> + +<script> +import { getToken } from "@/utils/auth"; + +export default { + components: {}, + data() { + return { + uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址 + headers: { + Authorization: "Bearer " + getToken(), + }, + }; + }, + props: { + value: { + type: String, + default: "", + }, + }, + methods: { + handleUploadSuccess(res) { + this.$emit("input", res.url); + this.loading.close(); + }, + handleBeforeUpload() { + this.loading = this.$loading({ + lock: true, + text: "上传中", + background: "rgba(0, 0, 0, 0.7)", + }); + }, + handleUploadError() { + this.$message({ + type: "error", + message: "上传失败", + }); + this.loading.close(); + }, + }, + watch: {}, +}; +</script> + +<style scoped lang="scss"> +.avatar { + width: 100%; + height: 100%; +} +</style> \ No newline at end of file -- Gitblit v1.9.2