From c5d408958de4cd76c26ae939401675f0bfa24fa3 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 22 十一月 2022 22:34:10 +0800
Subject: [PATCH] 文书目标优化

---
 src/components/myUpload/index.vue |   94 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 67 insertions(+), 27 deletions(-)

diff --git a/src/components/myUpload/index.vue b/src/components/myUpload/index.vue
index d51b510..a7f4acb 100644
--- a/src/components/myUpload/index.vue
+++ b/src/components/myUpload/index.vue
@@ -1,17 +1,25 @@
 <template>
     <div class="my-upload">
-        <el-upload :file-list="fileList" class="upload-demo" action="/sccg/file/medias" :multiple="multiple"
-            :show-file-list="flag" :before-upload="beforeUpload" :limit="limit" :on-success="handleSuccess"
-            :on-error="handleError" :list-type="listType" :headers="getToken()">
-            <div class="upload-btn" :style="{'height':btnHeight,'width':btnWidth}">
-                <i class="el-icon-plus"></i>
-                <span>涓婁紶鍥剧墖</span>
+        <el-upload
+        :file-list="fileList" 
+        action="/sccg/file/medias"
+        :multiple="multiple"
+        :show-file-list="flag" 
+        :before-upload="beforeUpload" 
+        :limit="limit" 
+        :on-success="handleSuccess"
+        :on-error="handleError" 
+        :list-type="listType" 
+        :on-remove="handleRemove"
+        :headers="getToken()">
+            <div class="upload-btn">
+              <i class="el-icon-plus"></i>
+              <span>涓婁紶鍥剧墖</span>
             </div>
         </el-upload>
     </div>
 </template>
 <script>
-
 export default {
     data() {
         return {
@@ -22,11 +30,7 @@
             // 澶氶��
             multiple: false,
             // 闄愬埗
-            limit: 50,
-            // 鎸夐挳楂樺害
-            btnHeight: '120px',
-            // 鎸夐挳瀹藉害
-            btnWidth: '120px',
+            limit: 4,
             // 鏂囦欢鍒楄〃绫诲瀷
             listType: 'picture-card'
         };
@@ -34,23 +38,36 @@
     methods: {
         // 涓婁紶涔嬪墠鍥炶皟
         beforeUpload(rawFile) {
-            console.log(rawFile);
             if (rawFile.type !== 'image/png' && rawFile.type !== 'image/svg+xml' && rawFile.type !== 'image/jpg' && rawFile.type !== 'image/jpeg') {
                 this.$message.error('鍥剧墖蹇呴』鏄� jpg/svg/jpeg/png 鏍煎紡!')
                 return false
-            } else if (rawFile.size / 105 / 105 > 2) {
-                this.$message.error('涓婁紶鍥剧墖涓嶈兘瓒呰繃 2MB!')
+            } else if (rawFile.size / 1024 / 1024 > 5) {
+                this.$message.error('涓婁紶鍥剧墖涓嶈兘瓒呰繃 5MB!')
                 return false
             }
             return true
         },
         // 涓婁紶鎴愬姛鍥炶皟
         handleSuccess(res, file, filelist) {
-            console.log(res);
+            if(res.data.url1){
+                this.$emit('setPictureUrl',{url:res.data.url1});
+            }
+            else if(res.data.url2){
+                this.$emit('setPictureUrl',{url:res.data.url2});
+            }
+            else if(res.data.url3){
+                this.$emit('setPictureUrl',{url:res.data.url3});
+            }
+            else{
+                this.$emit('setPictureUrl',{url:res.data.url4});
+            }
         },
         // 涓婁紶澶辫触鍥炶皟
         handleError(err, file, fileList) {
-            console.log(err);
+            this.$message({
+                type:'error',
+                message:err
+            })
         },
         // 鑾峰彇token
         getToken() {
@@ -59,34 +76,52 @@
             if (token && tokenHead) {
                 return { Authorization: tokenHead + token }
             }
+        },
+        // 绉婚櫎鏂囦欢
+        handleRemove(file, fileList){
+            this.$emit('delPictureUrl',{url:file.response.data.url1});
         }
     },
     props: {
-        
-    }
+        // 杩斿洖涓婁紶鎴愬姛鍥剧墖鍦板潃
+        setPictureUrl:{
+            type:Function,
+            default:()=>{}
+        },
+        delPictureUrl:{
+            type:Function,
+            default:()=>{}
+        },
+      pictureList: {
+        type: Array,
+        default: () => []
+      }
+    },
 }
 </script>
 <style lang="scss" scoped>
 .my-upload {
-    .upload-demo {
-        display: flex;
-    }
 
     :deep(.el-upload--picture-card) {
-        width: 120px;
-        height: 120px;
+        width: 100px;
+        height: 100px;
     }
     :deep(.el-upload-list__item){
-        width: 120px;
-        height: 120px;
+        width: 100px;
+        height: 100px;
     }
+  //.file-list {
+  //  display: flex;
+  //  flex-wrap: nowrap;
+  //}
     .upload-btn {
-        // background-color: rgba(249, 249, 249, 1);
         display: flex;
         flex-direction: column;
         justify-content: center;
         align-items: center;
         border-radius: 4px;
+        width: 100px;
+        height: 100px;
 
         &:hover i{
             color: #409eff;
@@ -101,5 +136,10 @@
             line-height: 22px;
         }
     }
+    .uploaded-image {
+      width: 0;
+      height: 100px;
+      display: flex;
+    }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0