From 218e84d2264e413f31a2f3957f05bb7b8ad42d5d Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期一, 29 九月 2025 10:36:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- admin/src/components/common/UploadFile.vue | 58 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 40 insertions(+), 18 deletions(-) diff --git a/admin/src/components/common/UploadFile.vue b/admin/src/components/common/UploadFile.vue index 7dcad1f..180ca08 100644 --- a/admin/src/components/common/UploadFile.vue +++ b/admin/src/components/common/UploadFile.vue @@ -2,16 +2,21 @@ <div> <el-upload class="upload-demo" - :accept="uploadData.fileTyp" + :accept="uploadData.fileType" :action="uploadImgUrl" - :limit="1" + :limit="this.fileLength" :on-exceed="handleExceed" :on-success="handleFileSuccess" :on-error="uploadError" :before-upload="beforeFileUpload" :file-list="fileList"> <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - <div slot="tip" class="el-upload__tip">鍙兘涓婁紶{{ uploadData.fileType }}鏂囦欢锛屼笖涓嶈秴杩�5mb</div> + <div slot="tip" class="el-upload__tip" > + 鍙兘涓婁紶{{ this.fileLength }}涓枃浠�, + {{uploadData.fileType?('鍙敮鎸佷笂浼犮��'+uploadData.fileType+'銆戠被鍨嬫枃浠�'):''}} + 鏂囦欢澶у皬涓嶈兘瓒呰繃30MB, + 鏁伴噺瓒呰繃璇峰垹闄ゅ凡浼犻檮浠堕噸鏂颁笂浼� + </div> </el-upload> </div> @@ -29,24 +34,32 @@ type: String, default: 'width: 190px; height: 190px;' }, + fileLength:{ + type: Number, + default: () => 1 + }, uploadData: Object }, data() { return { - fileList:null, + fileList: [], uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload?folder='+this.uploadData.folder } }, methods: { // 涓婁紶鍥剧墖 - handleExceed(){}, + handleExceed(){ + if(this.fileList && this.fileList.length >= this.fileLength){ + this.$message.error('鍙厑璁镐笂浼犮��'+this.fileLength+'涓檮浠躲��') + } + }, handleFileSuccess(res, file) { if (res.code == 200) { let { data } = res - // this.fileList = [{name: data.originname, url: data.url }] + this.fileList = [{name: data.originname, url: data.url }] this.$message.success('涓婁紶鎴愬姛') - this.$emit('uploadSuccess', { fileurl: data.imgaddr, fileurlFull: data.url, name: data.originname }) + this.$emit('uploadSuccess', { fileurl: data.imgaddr, fileurlFull: data.url, name: data.originname,fileSize:data.fileSize }) } else { this.$message.error('涓婁紶澶辫触') } @@ -56,8 +69,17 @@ this.$message.error('涓婁紶澶辫触') this.$emit('uploadEnd') }, - // // 鎷︽埅 + // beforeFileUpload(file) { + if(this.fileList && this.fileList.length >= this.fileLength){ + this.$message.error('鍙厑璁镐笂浼犮��'+this.fileLength+'涓枃浠躲��') + return false; + } + const isLt2M = file.size / 1024 / 1024 <= 30; // 妫�鏌ユ枃浠跺ぇ灏忔槸鍚﹀皬浜�30MB + if (!isLt2M) { + this.$message.error('涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃 30MB!'); + return false; // 涓嶅厑璁镐笂浼犺秴杩囨寚瀹氬ぇ灏忕殑鏂囦欢 + } this.$emit('uploadBegin') return true } @@ -67,8 +89,9 @@ <style lang="scss" scoped> $image-width: 100px; +$image-height: 30px; .avatar-uploader { - width: $image-width; + width: 100px; height: $image-width; } ::v-deep .el-upload { @@ -77,7 +100,7 @@ cursor: pointer; position: relative; width: $image-width; - height: $image-width; + height: $image-height; overflow: hidden; } .avatar-uploader .el-upload:hover { @@ -88,12 +111,12 @@ font-size: 28px; color: #8c939d; width: $image-width; - height: $image-width; + height: $image-height; text-align: center; } .avatar { width: $image-width; - height: $image-width; + height: $image-height; display: block; } .tips-style { @@ -109,15 +132,14 @@ width: 90px !important; height: 90px !important; } -::v-deep .el-upload-list__item { - width: 80% !important; - height: 50px !important; -} + .icon { -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(0%, -85%); } - +::v-deep .el-upload-list__item { + width: 500px !important; + height: 30px !important; +} </style> - -- Gitblit v1.9.3