Преглед на файлове

Merge remote-tracking branch 'origin/master'

e преди 5 години
родител
ревизия
041b8e3eb1

+ 1 - 0
src/api/other.js

@@ -25,6 +25,7 @@ export function changePassword(data) {
 }
 
 export function uploadFile(data) {
+  console.log(data)
   return request({
     url: '/mall/uploadFile/imageUpload',
     method: 'post',

+ 14 - 17
src/components/Tinymce/components/EditorImage.vue

@@ -12,7 +12,7 @@
         :on-success="handleSuccess"
         :before-upload="beforeUpload"
         class="editor-slide-upload"
-        :action="action"
+        action="https://httpbin.org/post"
         list-type="picture-card"
       >
         <el-button size="small" type="primary">
@@ -30,7 +30,7 @@
 </template>
 
 <script>
-import { uploadFile, getBase64 } from '@/api/other'
+// import { getToken } from 'api/qiniu'
 
 export default {
   name: 'EditorSlideUpload',
@@ -63,21 +63,18 @@ export default {
       this.fileList = []
       this.dialogVisible = false
     },
-    handleSuccess(file) {
-      getBase64(file.raw).then(res => {
-        uploadFile({ imgStr: res }).then(response => {
-          console.log(response.data)
-          const uid = file.uid
-          const objKeyArr = Object.keys(this.listObj)
-          for (let i = 0, len = objKeyArr.length; i < len; i++) {
-            if (this.listObj[objKeyArr[i]].uid === uid) {
-              this.listObj[objKeyArr[i]].url = response.data
-              this.listObj[objKeyArr[i]].hasSuccess = true
-              return
-            }
-          }
-        })
-      })
+    handleSuccess(response, file) {
+      console.log(response)
+      console.log(file)
+      const uid = file.uid
+      const objKeyArr = Object.keys(this.listObj)
+      for (let i = 0, len = objKeyArr.length; i < len; i++) {
+        if (this.listObj[objKeyArr[i]].uid === uid) {
+          this.listObj[objKeyArr[i]].url = response.files.file
+          this.listObj[objKeyArr[i]].hasSuccess = true
+          return
+        }
+      }
     },
     handleRemove(file) {
       const uid = file.uid

+ 140 - 0
src/components/Tinymce/components/EditorImages.vue

@@ -0,0 +1,140 @@
+<template>
+  <div class="upload-container">
+    <el-button :style="{background:color,borderColor:color}" icon="el-icon-upload" size="mini" type="primary" @click=" dialogVisible=true">
+      上传
+    </el-button>
+    <el-dialog :visible.sync="dialogVisible">
+      <el-upload
+        :multiple="true"
+        :file-list="fileList"
+        :show-file-list="true"
+        :on-remove="handleRemove"
+        :on-success="handleAvatarSuccess"
+        :before-upload="beforeAvatarUpload"
+        class="editor-slide-upload"
+        :action="action"
+        list-type="picture-card"
+      >
+        <el-button size="small" type="primary">
+          点击上传
+        </el-button>
+      </el-upload>
+      <el-button @click="dialogVisible = false">
+        取消
+      </el-button>
+      <el-button type="primary" @click="handleSubmit">
+        确认
+      </el-button>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+// import { getToken } from 'api/qiniu'
+import { uploadFile, getBase64 } from '@/api/other'
+export default {
+  name: 'EditorSlideUpload',
+  props: {
+    color: {
+      type: String,
+      default: '#1890ff'
+    }
+  },
+  data() {
+    return {
+      action: `${this.baseUrl}/mall/uploadFile/imageUpload`,
+      dialogVisible: false,
+      listObj: {},
+      fileList: []
+    }
+  },
+  methods: {
+    checkAllSuccess() {
+      return Object.keys(this.listObj).every(item => this.listObj[item].hasSuccess)
+    },
+    handleAvatarSuccess(res, file) {
+      getBase64(file.raw).then(res => {
+        uploadFile({ imgStr: res }).then(response => {
+          console.log(response)
+          if (response.code === '1') {
+            this.form.headpic = response.data
+          } else {
+            this.$message.error('上传图片失败')
+          }
+        })
+      })
+    },
+    // 对上传图片的大小、格式进行限制
+    beforeAvatarUpload(file) {
+      const isJPG = file.type === 'image/jpeg'
+      const isJPG2 = file.type === 'image/jpg'
+      const isPNG = file.type === 'image/png'
+      const isLt5M = file.size / 1024 / 1024 < 5
+      if (!isJPG && !isJPG2 && !isPNG) {
+        this.$message.error('只支持jpg或png格式图片')
+      }
+      if (!isLt5M) {
+        this.$message.error('请上传5MB以内的图片!')
+      }
+      return (isJPG || isJPG2 || isPNG) && isLt5M
+    },
+    handleSubmit() {
+      const arr = Object.keys(this.listObj).map(v => this.listObj[v])
+      if (!this.checkAllSuccess()) {
+        this.$message('请等待所有图像成功上载。如果有网络问题,请刷新页面并重新上传!')
+        return
+      }
+      this.$emit('successCBK', arr)
+      this.listObj = {}
+      this.fileList = []
+      this.dialogVisible = false
+    },
+    handleSuccess(response, file) {
+      console.log(response)
+      console.log(file)
+      const uid = file.uid
+      const objKeyArr = Object.keys(this.listObj)
+      for (let i = 0, len = objKeyArr.length; i < len; i++) {
+        if (this.listObj[objKeyArr[i]].uid === uid) {
+          this.listObj[objKeyArr[i]].url = response.files.file
+          this.listObj[objKeyArr[i]].hasSuccess = true
+          return
+        }
+      }
+    },
+    handleRemove(file) {
+      const uid = file.uid
+      const objKeyArr = Object.keys(this.listObj)
+      for (let i = 0, len = objKeyArr.length; i < len; i++) {
+        if (this.listObj[objKeyArr[i]].uid === uid) {
+          delete this.listObj[objKeyArr[i]]
+          return
+        }
+      }
+    },
+    beforeUpload(file) {
+      const _self = this
+      const _URL = window.URL || window.webkitURL
+      const fileName = file.uid
+      this.listObj[fileName] = {}
+      return new Promise((resolve, reject) => {
+        const img = new Image()
+        img.src = _URL.createObjectURL(file)
+        img.onload = function() {
+          _self.listObj[fileName] = { hasSuccess: false, uid: file.uid, width: this.width, height: this.height }
+        }
+        resolve(true)
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.editor-slide-upload {
+  margin-bottom: 20px;
+  /deep/ .el-upload--picture-card {
+    width: 100%;
+  }
+}
+</style>

+ 1 - 17
src/views/club/editForm.vue

@@ -161,7 +161,7 @@ export default {
             this.$message({ message: response.msg, type: 'success', center: true })
             setTimeout(() => {
               this.$router.push({ path: '/club/list' })
-            }, 3000)
+            }, 2000)
           })
         }
       })
@@ -210,22 +210,6 @@ export default {
         this.$message.error('请上传5MB以内的图片!')
       }
       return (isJPG || isJPG2 || isPNG) && isLt5M
-    },
-    getBase64(file) {
-      return new Promise(function(resolve, reject) {
-        const reader = new FileReader()
-        let imgResult = ''
-        reader.readAsDataURL(file)
-        reader.onload = function() {
-          imgResult = reader.result
-        }
-        reader.onerror = function(error) {
-          reject(error)
-        }
-        reader.onloadend = function() {
-          resolve(imgResult)
-        }
-      })
     }
   }
 }

+ 3 - 11
src/views/club/form.vue

@@ -124,12 +124,8 @@ export default {
     handleAvatarSuccess(res, file) {
       getBase64(file.raw).then(res => {
         uploadFile({ imgStr: res }).then(response => {
-          console.log(response)
-          if (response.code === '1') {
-            this.form.businessLicenseImage = response.data
-          } else {
-            this.$message.error('上传图片失败')
-          }
+          this.form.businessLicenseImage = response.data
+          this.$message.error('上传图片失败')
         })
       })
     },
@@ -137,11 +133,7 @@ export default {
       getBase64(file.raw).then(res => {
         uploadFile({ imgStr: res }).then(response => {
           console.log(response)
-          if (response.code === '1') {
-            this.form.headpic = response.data
-          } else {
-            this.$message.error('上传图片失败')
-          }
+          this.form.headpic = response.data
         })
       })
     },

+ 2 - 4
src/views/club/list.vue

@@ -243,10 +243,8 @@ export default {
       updateStatus(params).then(response => {
         if (response.code === '1') {
           this.$message({ message: response.msg, type: 'success', center: true })
-          setTimeout(() => {
-            this.list = []
-            this.fetchData()
-          }, 3000)
+          this.list = []
+          this.fetchData()
         } else {
           this.$message.error(response.msg)
         }

+ 3 - 3
src/views/club/operateList.vue

@@ -253,7 +253,7 @@ export default {
         this.dialogVisible = false
         setTimeout(() => {
           this.initOperatorListData()
-        }, 3000)
+        }, 1000)
       })
     },
     handleUntying(row) {
@@ -274,7 +274,7 @@ export default {
         this.loadingbuttext = '确定'
         setTimeout(() => {
           this.initOperatorListData()
-        }, 3000)
+        }, 1000)
       })
     },
     bindAddPeople() { // 添加运营人员
@@ -333,7 +333,7 @@ export default {
             this.$message({ message: response.msg, type: 'success', center: true })
             setTimeout(() => {
               this.initOperatorListData()
-            }, 3000)
+            }, 1000)
           })
         }
       })

+ 1 - 1
src/views/other/about.vue

@@ -62,7 +62,7 @@ export default {
             this.loadingbuttext = '提交'
             setTimeout(() => {
               this.initData()
-            }, 3000)
+            }, 1000)
           })
         }
       })

+ 1 - 1
src/views/other/after.vue

@@ -46,7 +46,7 @@ export default {
         this.loadingbuttext = '提交'
         setTimeout(() => {
           this.initData()
-        }, 3000)
+        }, 1000)
       })
     }
   }

+ 1 - 1
src/views/other/notes.vue

@@ -46,7 +46,7 @@ export default {
         this.loadingbuttext = '提交'
         setTimeout(() => {
           this.initData()
-        }, 3000)
+        }, 1000)
       })
     }
   }