Kaynağa Gözat

Merge branch 'develop/3.1.2' into test

DESKTOP-SVI9JE1\muzen 1 yıl önce
ebeveyn
işleme
7183c204c9

+ 1 - 1
src/components/Editor/index.vue

@@ -12,7 +12,7 @@
         <el-form-item label="视频链接">
           <el-input v-model="videoUrl" placeholder="请输入视频链接">
             <template slot="append">
-              <Upload @upload="upload" />
+              <Upload @upload="upload" :size="500" />
             </template>
           </el-input>
         </el-form-item>

+ 37 - 30
src/components/Upload/index.vue

@@ -72,10 +72,19 @@ export default {
       default: 'multipartFile'
     },
     // 图片尺寸
-    width: Number,
-    height: Number,
+    width: {
+      type: Number,
+      default: null
+    },
+    height: {
+      type: Number,
+      default: null
+    },
     // 文件大小
-    size: Number
+    size: {
+      type: Number,
+      default: null
+    }
   },
   data() {
     return {
@@ -127,39 +136,37 @@ export default {
   },
   methods: {
     // 上传之前
-    beforeUpload(file) {
-      if ((this.width && this.height) || this.size) {
-        this.checked(file)
+    async beforeUpload(file) {
+      if (this.width && this.height) {
+        const data = await this.readerImg(file)
+        if (data.width !== this.width || data.height !== this.height) {
+          this.$message.error(`请上传${this.width}x${this.height}尺寸的图片`)
+          return Promise.reject(false)
+        }
       }
+
+      if (this.size && (file.size / 1024 / 1024 > this.size)) {
+        this.$message.error(`文件大小不得超过${this.size}MB`)
+        return Promise.reject(false)
+      }
+
       this.form.size = file.size
     },
 
-    // 判断图片尺寸 或 文件大小
-    checked(file) {
+    readerImg(file) {
       return new Promise((resolve, reject) => {
-        if (this.listType === 'picture-card') {
-          let reader = new FileReader()
-          reader.readAsDataURL(file)
-          reader.onload = () => {
-            let img = new Image()
-            img.src = reader.result
-            img.onload = () => {
-              if (img.width !== this.width || img.height !== this.height) {
-                this.$message.error(`请上传${this.width}x${this.height}尺寸的图片`)
-                reject(false)
-              } else {
-                resolve(true)
-              }
-            }
+        const reader = new FileReader()
+        reader.readAsDataURL(file)
+        reader.onload = () => {
+          const img = new Image()
+          img.src = reader.result
+          img.onload = () => {
+            resolve({
+              width: img.width,
+              height: img.height
+            })
           }
         }
-
-        if (this.size !== '' && ((file.size / 1024 / 1024) > this.size)) {
-          this.$message.error(`文件大小不超过${this.size}`)
-          reject(false)
-        } else {
-          resolve(true)
-        }
       })
     },
 
@@ -176,7 +183,7 @@ export default {
         this.$emit('upload', this.form)
         this.title = '上传成功'
         this.type = 'success'
-      }else{
+      } else {
         this.onError()
       }
     },

+ 1 - 1
src/views/ohplay/operation/index.vue

@@ -18,7 +18,7 @@
             <el-input v-model="item.script" placeholder="请输入快捷按钮文字" />
           </el-form-item>
           <el-form-item v-else label="Banner:">
-            <Upload listType="picture-card" :url="item.banner" measure="343*140" @upload="getUpload($event, index)" />
+            <Upload listType="picture-card" :url="item.banner" :width="343" :height="140" @upload="getUpload($event, index)" />
           </el-form-item>
           <el-form-item label="选择日期:">
             <el-date-picker v-model="item.date" size="small" type="datetimerange" start-placeholder="开始时间"

+ 1 - 1
src/views/operation/startPage/detail.vue

@@ -28,7 +28,7 @@
         <el-input v-model="form.forwardUrl" placeholder="请输入跳转地址" />
       </el-form-item>
       <el-form-item label="启动页图片:" prop="pic">
-        <Upload listType="picture-card" measure="375*812" :url="form.pic" @upload="getUpload" :disabled="isRead" />
+        <Upload listType="picture-card" :width="375" :height="812" :url="form.pic" @upload="getUpload" :disabled="isRead" />
       </el-form-item>
     </el-form>
     <div class="form-btn">