whj il y a 1 an
Parent
commit
5bab3cc1d5

+ 2 - 2
src/views/idle-assets/IdleAssets.vue

@@ -129,10 +129,10 @@ export default {
           }
         },
         {
-          title: '名称',
+          title: '备注',
           dataIndex: 'name',
           checked: true,
-          width: 100
+          width: 130
         },
         {
           title: '审核主管',

+ 22 - 11
src/views/idle-assets/modules/BaseForm.vue

@@ -16,15 +16,6 @@
           </row-item>
         </row-list>
         <row-list :col="2">
-          <row-item>
-            <a-form-item
-              label="备注"
-              :labelCol="BaseTool.Constant.labelCol"
-              :wrapperCol="BaseTool.Constant.wrapperCol"
-            >
-              <a-input v-decorator="['name', { rules: [{required: true, message: '备注不能为空'}]}]" placeholder="请选择" />
-            </a-form-item>
-          </row-item>
           <row-item >
             <a-form-item
               label="审核人"
@@ -41,6 +32,15 @@
               </a-select>
             </a-form-item>
           </row-item>
+          <row-item>
+            <a-form-item
+              label="备注"
+              :labelCol="BaseTool.Constant.labelCol"
+              :wrapperCol="BaseTool.Constant.wrapperCol"
+            >
+              <a-input v-decorator="['name', { rules: [{required: true, message: '备注不能为空'}]}]" placeholder="请填写备注" />
+            </a-form-item>
+          </row-item>
         </row-list>
 
       </a-form>
@@ -55,7 +55,9 @@
       >
         <span slot="action" slot-scope="record">
           <a @click="handleDelete(record)">删除</a>
-
+          <operation-button
+            @click="handleUpLoad(record)"
+          >上传图片</operation-button>
         </span>
       </a-table>
     </a-card>
@@ -63,6 +65,7 @@
       <a-button :loading="confirmLoading" type="primary" @click="save()">保存</a-button>
     </template>
     <sb-info-select-modal ref="sbInfoSelectModal" @selected="handleSbSelectd"/>
+    <UpLoad ref="upLoad" @upLoad="handleUpLoadOk"/>
   </a-modal>
 </template>
 
@@ -70,11 +73,13 @@
 import pick from 'lodash.pick'
 import { addSbUnused, getUnusedUsers, updataSbUnused } from '@/api/idle-assets/idle-assets'
 import SbInfoSelectModal from './SbInfoSelectModal'
+import UpLoad from './UpLoad'
 
 export default {
   name: 'BaseForm',
   components: {
-    SbInfoSelectModal
+    SbInfoSelectModal,
+    UpLoad
   },
   data () {
     return {
@@ -163,6 +168,12 @@ export default {
         }
       })
       this.sbInfoDTOS = [...sbInfoDTOS, ...this.sbInfoDTOS]
+    },
+    handleUpLoad (record) {
+      this.$refs.upLoad.base(record)
+    },
+    handleUpLoadOk () {
+
     },
     handleDelete (record) {
       this.sbInfoDTOS = this.sbInfoDTOS.filter(item => item.id !== record.id)

+ 97 - 0
src/views/idle-assets/modules/UpLoad.vue

@@ -0,0 +1,97 @@
+<template>
+  <a-modal :visible="visible" title="上传图片" :footer="null" @cancel="handleCancel">
+    <a-upload
+      :action="uploadUrl"
+      list-type="picture-card"
+      :file-list="defaultApplicationFileList"
+      @change="handleApplicationFileChange"
+      @preview="handlePreview"
+      accept="image/*"
+      :headers="headers"
+    >
+      <div>
+        <a-icon type="plus" />
+        <div class="ant-upload-text">
+          Upload
+        </div>
+      </div>
+    </a-upload>
+    <a-modal :visible="previewVisible" :footer="null" @cancel="previewVisible = false" @ok="previewVisible = false">
+      <img alt="example" style="width: 100%" :src="previewImage" />
+    </a-modal>
+  </a-modal>
+</template>
+
+<script>
+import { uploadUrl } from '@/api/upms/file'
+import Vue from 'vue'
+import { ACCESS_TOKEN } from '@/store/mutation-types'
+export default {
+  data () {
+    return {
+      visible: false,
+      uploadUrl: uploadUrl,
+      previewVisible: false,
+      previewImage: '',
+      defaultApplicationFileList: [],
+      modal: {},
+      headers: {
+        Authorization: 'Bearer ' + Vue.ls.get(ACCESS_TOKEN)
+      }
+    }
+  },
+  methods: {
+    base (record) {
+      this.visible = true
+      this.modal = record
+      if (!record.sbFileList) {
+        record.sbFileList = []
+        return
+      }
+      this.defaultApplicationFileList = this.BaseTool.UPLOAD.transImg(record.sbFileList.map((item, i) => {
+        item.id = i
+        return item
+      }))
+    },
+    getBase64 (file) {
+      return new Promise((resolve, reject) => {
+        const reader = new FileReader()
+        reader.readAsDataURL(file)
+        reader.onload = () => resolve(reader.result)
+        reader.onerror = error => reject(error)
+      })
+    },
+    handleApplicationFileChange (info) {
+      this.defaultApplicationFileList = info.fileList
+      this.modal.sbFileList = this.setFileList(info, 11)
+    },
+    setFileList (info, type) {
+      const file = info.file
+      const fileList = info.fileList
+      if (file.status === 'done') {
+        return this.BaseTool.UPLOAD.getUploadFileDTO(fileList, type)
+      } else if (file.status === 'removed') {
+        return this.BaseTool.UPLOAD.getUploadFileDTO(fileList, type)
+      } else if (file.status === 'error') {
+        this.$message.error('上传失败')
+        return []
+      }
+    },
+    async handlePreview (file) {
+      if (!file.url && !file.preview) {
+        file.preview = await this.getBase64(file.originFileObj)
+      }
+      this.previewImage = file.url || file.preview
+      this.previewVisible = true
+    },
+    handleCancel () {
+      this.modal = {}
+      this.visible = false
+    }
+  }
+}
+</script>
+
+<style>
+
+</style>