diff --git a/src/api/dataTransfer.js b/src/api/dataTransfer.js index 0a1dbb2..bbb4fa6 100644 --- a/src/api/dataTransfer.js +++ b/src/api/dataTransfer.js @@ -284,3 +284,13 @@ export function voyageRegPeopleEdit(data) { data }) } + +// 上传参航人员文件 +export function voyageRegPeopleUpload(data) { + return request({ + url: '/voyage/member/upload.htm', + method: 'post', + type: 'multipart/form-data', + data + }) +} diff --git a/src/views/dataTransfer/voyageReg.vue b/src/views/dataTransfer/voyageReg.vue index cf7750e..17f9965 100644 --- a/src/views/dataTransfer/voyageReg.vue +++ b/src/views/dataTransfer/voyageReg.vue @@ -238,6 +238,18 @@ +
+ + {{ textPeople }} + +
@@ -335,7 +347,7 @@ import { voyageRegNav, uploadNavigation, voyageRegPeople, - voyageRegPeopleDelete, voyageRegPeopleEdit + voyageRegPeopleDelete, voyageRegPeopleEdit, voyageRegPeopleUpload } from '@/api/dataTransfer' import { time } from '@/utils/validate' @@ -435,6 +447,8 @@ export default { formPeople: {}, rulesPeople: {}, sexOptions: ['男', '女', '保密'], + textPeople: '上传参航人员', + loadingPeopleBtn: false } }, created() { @@ -726,6 +740,32 @@ export default { }) }).catch(() => {}) }, + beforeUploadPeople(file) { // 上传文件之前钩子 + const type = file.name.split('.')[1] + if (type !== 'xlsx') { + this.$message({ type: 'error', message: '只支持xlsx文件格式!' }) + return false + } + }, + uploadPeople(param) { + this.loadingPeopleBtn = true + this.textPeople = '数据处理中' + const formData = new FormData() + this.formNav.navName = param.file.name + formData.append('file', param.file) + formData.append('voyage_id', this.id) + voyageRegPeopleUpload(formData).then(res => { + if (res.errorCode === 0) { + this.loadingPeopleBtn = false + this.textPeople = '上传参航人员' + this.$message.success('导入成功!') + this.getPeopleList() + } + }).cache(() => { + this.loadingPeopleBtn = false + this.textPeople = '上传参航人员' + }) + }, }, watch: { dynamicTags2(arr) {