whj 1 year ago
parent
commit
c0feca3e74
1 changed files with 48 additions and 1 deletions
  1. 48 1
      src/views/sb/info/modules/AddLogForm.vue

+ 48 - 1
src/views/sb/info/modules/AddLogForm.vue

@@ -31,12 +31,26 @@
           v-decorator="['content', { rules: [{ required: true, message: '请输入更改内容' }] }]"
         />
       </a-form-item>
+      <a-form-item label="上传文件">
+        <a-upload
+          :action="uploadUrl"
+          :multiple="true"
+          :file-list="this.defaultFileList"
+          @change="handleRecheckFileChange"
+          :headers="headers"
+        >
+          <a-button> <a-icon type="upload" /> 选择上传文件 </a-button>
+        </a-upload>
+      </a-form-item>
     </a-form>
   </a-modal>
 </template>
 
 <script>
 import { updateLogBySbId } from '@/api/sb/info'
+import { uploadUrl } from '@/api/upms/file'
+import Vue from 'vue'
+import { ACCESS_TOKEN } from '@/store/mutation-types'
 
 export default {
   data () {
@@ -44,7 +58,12 @@ export default {
       visible: false,
       confirmLoading: false,
       otherTypeMap: {},
-
+      uploadUrl: uploadUrl,
+      defaultFileList: [],
+      sbMeasureLogCredential: [],
+      headers: {
+        Authorization: 'Bearer ' + Vue.ls.get(ACCESS_TOKEN)
+      },
       form: this.$form.createForm(this)
     }
   },
@@ -73,6 +92,12 @@ export default {
           this.confirmLoading = false
           this.$message.error(errors)
         }
+        if (this.sbMeasureLogCredential.length === 0) {
+          this.confirmLoading = false
+          this.$message.error('请上传文件')
+          return
+        }
+        values.sbMeasureLogCredential = this.sbMeasureLogCredential
         console.log(values)
         updateLogBySbId(values).then(res => {
           this.visible = false
@@ -83,6 +108,28 @@ export default {
         })
       })
     },
+    handleRecheckFileChange (info) {
+      this.defaultFileList = info.fileList
+      this.sbMeasureLogCredential = this.setFileList(info, 3)
+    },
+    setFileList (info, type) {
+      // { file, fileList }
+
+      const file = info.file
+      // console.log('file: ' + JSON.stringify(file))
+      const fileList = info.fileList
+      // fileList = fileList.slice(-2)
+      // console.log(111, this.BaseTool.UPLOAD.getUploadFileDTO(fileList, type))
+
+      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 null
+      }
+    },
     handleCancel (e) {
       this.confirmLoading = false
       this.visible = false