证书上传

This commit is contained in:
jjLv 2024-08-05 14:30:49 +08:00
parent be7ad8b7f4
commit 8352477db2
1 changed files with 221 additions and 12 deletions

View File

@ -116,7 +116,7 @@
<el-table-column label="证书" align="center">
<template slot-scope="scope">
<div @click="openCertificate(scope.row)" style="color: #02a7f0; cursor: pointer">
3
{{ scope.row.certificateNum}}
</div>
</template>
</el-table-column>
@ -153,13 +153,61 @@
<el-form ref="certificateForm" :model="certificateForm" label-width="100px">
<!-- 文件格式下载图片格式预览 -->
<el-form-item label="高处作业证">
<uploadFile :limit="5" :accept="accept" :uploadList.sync="highImgList" @picturePreview="picturePreview"></uploadFile>
<el-upload
action="#"
:limit="5"
:file-list="highImgList"
:show-file-list="true"
:auto-upload="false"
list-type="picture-card"
accept=".png, .jpg, .jpeg"
:on-change="handleChangeHighImgList"
:class="{ disabled: uploadDisabled }"
:on-preview="picturePreview"
:on-remove="handleRemoveHighImgList"
>
<i
class="el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</el-form-item>
<el-form-item label="电工作业证">
<uploadFile :limit="5" :accept="accept" :uploadList.sync="electricianImgList" @picturePreview="picturePreview"></uploadFile>
<el-upload
action="#"
:limit="5"
:file-list="electricianImgList"
:show-file-list="true"
:auto-upload="false"
list-type="picture-card"
accept=".png, .jpg, .jpeg"
:on-change="handleChangeElectricianImgList"
:class="{ disabled: uploadDisabled }"
:on-preview="picturePreview"
:on-remove="handleRemoveHighImgList"
>
<i
class="el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</el-form-item>
<el-form-item label="其他作业证">
<uploadFile :limit="5" :accept="accept" :uploadList.sync="elseImgList" @picturePreview="picturePreview"></uploadFile>
<el-upload
action="#"
:limit="5"
:file-list="elseImgList"
:show-file-list="true"
:auto-upload="false"
list-type="picture-card"
accept=".png, .jpg, .jpeg"
:on-change="handleChangeElseImgList"
:class="{ disabled: uploadDisabled }"
:on-preview="picturePreview"
:on-remove="handleRemoveElseImgList"
>
<i
class="el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -252,7 +300,7 @@
</template>
<script>
import { listPerson, addPerson, editPerson, getPersonInfo, delPerson, exportPerson, personFile} from "@/api/base/staff";
import { listPerson, addPerson, editPerson, getPersonInfo, delPerson, exportPerson, personFile,getCertificate,updateCertificate} from "@/api/base/staff";
import { downloadFile } from '@/utils/download'
import { getToken } from '@/utils/auth'
import uploadFile from '../../components/uploadFile.vue'
@ -294,8 +342,7 @@
},
showCertificate:false,
memberId:"",
//
certificateForm:{},
accept:'.png, .jpg, .jpeg, .pdf, .doc, .docx',
highImgList: [],
electricianImgList: [],
@ -304,6 +351,16 @@
form: {},
//
fileList: [],
//
certificateForm: {},
highImgList: [],
electricianImgList: [],
elseImgList: [],
delHighFileIdList: [],
delElectFileIdList: [],
delElseFileIdList: [],
//
dialogImageUrl: '',
dialogVisible: false,
@ -418,6 +475,25 @@
this.form.fileName = file.name;
this.fileList = fileList;
},
handleChangeHighImgList(file, fileList) {
console.log(file)
// this.$refs["form"].clearValidate()
this.form.fileName = file.name;
this.highImgList = fileList;
},
handleChangeElectricianImgList(file, fileList) {
console.log(file)
// this.$refs["form"].clearValidate()
this.form.electricianImgList = file.name;
this.electricianImgList = fileList;
},
handleChangeElseImgList(file, fileList) {
console.log(file)
// this.$refs["form"].clearValidate()
this.form.elseImgList = file.name;
this.elseImgList = fileList;
},
handleRemove(file, fileList) {
let sum = 0
console.log(111111)
@ -430,6 +506,41 @@
this.fileList.splice(sum, 1)
},
handleRemoveHighImgList(file, fileList) {
let sum = 0
console.log(111111)
console.log(this.highImgList)
this.highImgList.forEach((item, index) => {
if (item.uid == file.uid) {
sum = index
}
})
this.delHighFileIdList.push(this.highImgList[sum].fileId)
console.log(this.delHighFileIdList)
this.highImgList.splice(sum, 1)
},
handleRemoveElectricianImgList(file, fileList) {
let sum = 0
this.electricianImgList.forEach((item, index) => {
if (item.uid == file.uid) {
sum = index
}
})
this.delElectFileIdList.push(this.electricianImgList[sum].fileId)
console.log(this.delElectFileIdList)
this.electricianImgList.splice(sum, 1)
},
handleRemoveElseImgList(file, fileList) {
let sum = 0
this.elseImgList.forEach((item, index) => {
if (item.uid == file.uid) {
sum = index
}
})
this.delElseFileIdList.push(this.elseImgList[sum].fileId)
console.log(this.delElseFileIdList)
this.elseImgList.splice(sum, 1)
},
//-
picturePreview(file) {
console.log(file)
@ -509,6 +620,40 @@
})
return { file }
},
//highImgListraw
getHighImgListFileData() {
const highfile = []
this.highImgList.forEach(item => {
if (item?.hasOwnProperty('raw')) {
highfile.push(item.raw)
}
})
return { highfile }
},
//electricianImgListraw
getElectricianImgListFileData() {
const electfile = []
this.electricianImgList.forEach(item => {
if (item?.hasOwnProperty('raw')) {
electfile.push(item.raw)
}
})
return { electfile }
},
//elseImgListraw
getElseImgListFileData() {
const elsefile = []
this.elseImgList.forEach(item => {
if (item?.hasOwnProperty('raw')) {
elsefile.push(item.raw)
}
})
return { elsefile }
},
/** 删除按钮操作 */
handleDelete(row) {
console.log(row)
@ -559,11 +704,43 @@
this.$refs.upload.submit();
},
//
openCertificate(row){
this.memberId = row.id;
this.title = "证书"
this.showCertificate = true;
this.highImgList = [];
this.electricianImgList = [];
this.elseImgList = [];
getCertificate(this.memberId).then(response => {
response.data.highImgList.forEach(item => {
this.highImgList.push({
fileId: item.filePath,
url: item.bast64Image
})
});
response.data.electricianImgList.forEach(item => {
this.electricianImgList.push({
fileId: item.filePath,
url: item.bast64Image
})
});
response.data.elseImgList.forEach(item => {
this.elseImgList.push({
fileId: item.filePath,
url: item.bast64Image
})
});
response.data.highImgList = [];
response.data.electricianImgList = [];
response.data.elseImgList = [];
// console.log(this.highImgList)
// console.log(this.electricianImgList)
// console.log(this.elseImgList)
setTimeout(()=>{
this.showCertificate = "证书";
},100)
});
},
//
cancelCertificate(){
this.highImgList = []
@ -573,9 +750,41 @@
},
//
submitCertificate(){
console.log(this.highImgList)
console.log(this.electricianImgList)
console.log(this.elseImgList)
console.log(this.highImgList);
console.log(this.electricianImgList);
console.log(this.elseImgList);
this.$refs["certificateForm"].validate(valid => {
if (valid) {
const reqData = new FormData();
this.certificateForm.delHighFileIdList = this.delHighFileIdList;
this.certificateForm.delElectFileIdList = this.delElectFileIdList;
this.certificateForm.delElseFileIdList = this.delElseFileIdList;
response.append('delHighFileIdList', this.delHighFileIdList);
response.append('delElectFileIdList', this.delElectFileIdList);
response.append('delElseFileIdList', this.delElseFileIdList);
const { highfile } = this.getHighImgListFileData();
const { electfile } = this.getElectricianImgListFileData();
const { elsefile } = this.getElseImgListFileData();
reqData.append('id', this.memberId);
highfile.forEach(item => {
reqData.append('highfile', item)
})
electfile.forEach(item => {
reqData.append('electfile', item)
})
elsefile.forEach(item => {
reqData.append('elsefile', item)
})
updateCertificate(reqData).then(response => {
this.$modal.msgSuccess("修改证书成功");
this.showCertificate = false;
this.highImgList=[];
this.electricianImgList=[];
this.elseImgList=[];
this.getList();
});
}
});
// this.highImgList = []
// this.electricianImgList = []
// this.elseImgList = []