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