From 8d7bb4ac830444afde480a588e99952105ea8ede Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期四, 22 二月 2024 09:19:58 +0800 Subject: [PATCH] mrshi --- platform/src/components/common/UploadAvatarImage.vue | 64 ++++++++++++++++++++++---------- 1 files changed, 44 insertions(+), 20 deletions(-) diff --git a/platform/src/components/common/UploadAvatarImage.vue b/platform/src/components/common/UploadAvatarImage.vue index c19e154..006c06c 100644 --- a/platform/src/components/common/UploadAvatarImage.vue +++ b/platform/src/components/common/UploadAvatarImage.vue @@ -1,6 +1,8 @@ <template> <div> <el-upload + class="avatar-uploader" + accept=".png,.jpg" :style="customStyle" :action="uploadImgUrl" :data="uploadData" @@ -8,14 +10,14 @@ :on-success="handleAvatarSuccess" :on-error="uploadError" :before-upload="beforeAvatarUpload"> - <img v-if="file.imgurlfull" :src="file.imgurlfull" :style="customStyle" class="avatar"> + <img v-if=" file.imgurlfull" :src="file.imgurlfull" :style="customStyle" class="avatar"> <div v-else :style="customStyle"> <i class="el-icon-plus avatar-uploader-icon"></i> <div class="tips-style">{{ tipsLabel }}</div> </div> </el-upload> </div> - + </template> <script> @@ -25,25 +27,19 @@ type: Object, default: () => {} }, - uploadData: Object, tipsLabel: '', customStyle: { type: String, default: 'width: 90px; height: 90px;' - } + }, + uploadData: Object }, data() { return { - uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload', - // uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/uploadPicture', - // uploadData: { - // folder: 'upload', - // type: 'image' - // }, - imgurlfull: '' + uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload' } }, - + methods: { // 涓婁紶鍥剧墖 handleAvatarSuccess(res, file) { @@ -51,46 +47,55 @@ let { data } = res this.file.imgurl = data.imgaddr; this.file.imgurlfull = data.url; - console.log(this.file); this.$message.success('涓婁紶鎴愬姛') - this.$emit('uploadSuccess', { imgurl: data.imgaddr, imgurlfull: data.url }) + this.$emit('uploadSuccess', { imgurl: data.imgaddr, imgurlfull: data.url, name: data.originname }) } else { - this.$message.error('涓婁紶澶辫触') + this.$tip.apiFailed('涓婁紶澶辫触') } this.$emit('uploadEnd') }, uploadError() { - this.$message.error('涓婁紶澶辫触') + this.$tip.apiFailed('涓婁紶澶辫触') this.$emit('endUpload') }, // // 鎷︽埅 beforeAvatarUpload(file) { this.$emit('uploadBegin') - return true; - }, - }, + return true + } + } } </script> <style lang="scss" scoped> $image-width: 100px; +.avatar-uploader { + width: $image-width; + height: $image-width; +} ::v-deep .el-upload { border: 1px dashed #d9d9d9; border-radius: 6px; cursor: pointer; position: relative; + width: $image-width; + height: $image-width; overflow: hidden; } .avatar-uploader .el-upload:hover { border-color: #409EFF; } .avatar-uploader-icon { + line-height: 90px; font-size: 28px; color: #8c939d; - line-height: 90px; + width: $image-width; + height: $image-width; text-align: center; } .avatar { + width: $image-width; + height: $image-width; display: block; } .tips-style { @@ -101,4 +106,23 @@ line-height: 13px; } </style> +<style lang="scss" scoped> +::v-deep .el-upload--picture-card{ + width: 90px !important; + height: 90px !important; +} +::v-deep .el-upload-list__item { + width: 90px !important; + height: 90px !important; +} +.icon { + -webkit-transform: translate(-50%,-50%); + -ms-transform: translate(-50%,-50%); + transform: translate(0%, -85%); +} +::v-deep .el-upload-list__item { + width: 90px !important; + height: 90px !important; +} +</style> -- Gitblit v1.9.3