| | |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="证书名称" prop="certificateName" align="center"> |
| | | <template #default="scope"> |
| | | <el-input |
| | | v-model.trim="scope.row.certificateName" |
| | | style="width: 100%;" |
| | | clearable |
| | | :readonly="state.title == '查看'" |
| | | > |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="证书上传" prop="certificateName" align="center"> |
| | | <template #default="scope"> |
| | | <el-upload accept=".pdf,image/*" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,scope.$index)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList[scope.$index]" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles, scope.$index)" > |
| | | <el-button type="primary">点击上传</el-button> |
| | | <template #tip> |
| | | <div class="el-upload__tip">支持上传pdf、图片格式,尺寸小于5M,最多可上传1份</div> |
| | | </template> |
| | | </el-upload> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="70" v-if="state.title == '新增'||state.title == '编辑' "> |
| | | <template #default="scope"> |
| | | <el-button link type="danger" @click="handleDelete(scope.$index)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-form-item label="证书名称:" prop="certificateName" v-if="state.title == '上传'"> |
| | | <el-input |
| | | v-model.trim="state.form.certificateName" |
| | | style="width: 100%;" |
| | | clearable |
| | | :readonly="state.title == '查看'" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="检定证书:" prop="certificate" v-if="state.title == '上传'"> |
| | | <el-upload accept=".pdf,image/*" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles)" > |
| | | <el-button type="primary">点击上传</el-button> |
| | | <template #tip> |
| | | <div class="el-upload__tip">支持上传pdf、图片格式,尺寸小于5M,最多可上传1份</div> |
| | | </template> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="证书名称:" prop="certificateName" v-if="state.title == '上传'">--> |
| | | <!-- <el-input--> |
| | | <!-- v-model.trim="state.form.certificateName"--> |
| | | <!-- style="width: 100%;"--> |
| | | <!-- clearable--> |
| | | <!-- :readonly="state.title == '查看'"--> |
| | | <!-- >--> |
| | | <!-- </el-input>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="检定证书:" prop="certificate" v-if="state.title == '上传'">--> |
| | | <!-- <el-upload accept=".pdf,image/*" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles)" >--> |
| | | <!-- <el-button type="primary">点击上传</el-button>--> |
| | | <!-- <template #tip>--> |
| | | <!-- <div class="el-upload__tip">支持上传pdf、图片格式,尺寸小于5M,最多可上传1份</div>--> |
| | | <!-- </template>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <el-row v-if="state.title !== '上传'"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="编制:" prop="establishmentId"> |
| | |
| | | establishmentTime: '', |
| | | processId: null, |
| | | processName: '', |
| | | processTime: '', |
| | | certificateName: '', |
| | | certificate: '', |
| | | processTime: '' |
| | | }, |
| | | oldDeviceList: [], |
| | | formRules:{ |
| | |
| | | establishmentTime: [{ required: true, message: '请选择编制时间', trigger: 'blur' }], |
| | | processId: [{ required: true, message: '请选择审核人', trigger: 'blur' }], |
| | | processTime: [{ required: true, message: '请选择审核时间', trigger: 'blur' }], |
| | | approvalId: [{ required: true, message: '请选择批准人', trigger: 'blur' }], |
| | | certificateName: [{ required: true, message: '请填写证书名称', trigger: 'blur' }], |
| | | certificate: [{ required: true, validator: checkFileList, trigger: 'blur' }] |
| | | approvalId: [{ required: true, message: '请选择批准人', trigger: 'blur' }] |
| | | }, |
| | | isAdmin: false, |
| | | companyList: [], |
| | |
| | | actCalibrationTime: '', |
| | | calibrationUser: '', |
| | | status: '', |
| | | useUser: '' |
| | | useUser: '', |
| | | certificateName: '', |
| | | certificate: '' |
| | | } |
| | | state.form.annualVerificationDevices.push(obj); |
| | | } |
| | | |
| | | const handleDelete = (i) =>{ |
| | | console.log(i,state.fileList,'list') |
| | | state.form.annualVerificationDevices = state.form.annualVerificationDevices.filter((item,index) => index != i) |
| | | state.fileList = state.fileList.filter((item,index) => index != i) |
| | | } |
| | | |
| | | const onSubmit = async () => { |
| | |
| | | actCalibrationTime: item.actCalibrationTime, |
| | | calibrationUser: item.calibrationUser, |
| | | useUser: item.useUser, |
| | | status: item.status |
| | | status: item.status, |
| | | certificateName: item.certificateName, |
| | | certificate: item.certificate |
| | | } |
| | | }) |
| | | state.oldDeviceList = state.form.annualVerificationDevices |
| | | if(state.form.certificate) { |
| | | const obj = { |
| | | url: state.form.certificate, |
| | | name: state.form.certificateName |
| | | // if(state.form.certificate) { |
| | | // const obj = { |
| | | // url: state.form.certificate, |
| | | // name: state.form.certificateName |
| | | // } |
| | | // state.fileList = [obj] |
| | | // } |
| | | for(let i in state.form.annualVerificationDevices){ |
| | | if(state.form.annualVerificationDevices[i].certificate && state.form.annualVerificationDevices[i].certificate !== ''){ |
| | | const obj = { |
| | | url: state.form.annualVerificationDevices[i].certificate, |
| | | name: state.form.annualVerificationDevices[i].certificateName |
| | | } |
| | | state.fileList[i] = [obj] |
| | | } |
| | | state.fileList = [obj] |
| | | } |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | |
| | | } |
| | | } |
| | | |
| | | const handleAvatarSuccess = (res, uploadFile) => { |
| | | const handleAvatarSuccess = (res, uploadFile, index) => { |
| | | if(res.code == 200){ |
| | | state.form.certificate = res.data.path |
| | | state.form.annualVerificationDevices[index].certificate = res.data.path |
| | | }else{ |
| | | state.fileList = [] |
| | | state.fileList[index] = [] |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: '文件上传失败' |
| | |
| | | return false |
| | | } |
| | | }; |
| | | const handleRemove = async (file, uploadFiles) => { |
| | | let path = state.form.filePath; |
| | | const handleRemove = async (file, uploadFiles, index) => { |
| | | let path = state.form.annualVerificationDevices[index].certificate |
| | | await delPic({path: path}).then(res => { |
| | | if(res.code == 200){ |
| | | // ElMessage({ |
| | | // type: 'success', |
| | | // message: '文件已删除' |
| | | // }) |
| | | state.form.certificate = '' |
| | | state.form.annualVerificationDevices[index].certificate = '' |
| | | state.form.annualVerificationDevices[index].certificateName = '' |
| | | }else{ |
| | | ElMessage({ |
| | | type: 'warning', |
| | |
| | | }) |
| | | } |
| | | }).catch(() => { |
| | | state.form.certificate = '' |
| | | state.form.annualVerificationDevices[index].certificate = '' |
| | | state.form.annualVerificationDevices[index].certificateName = '' |
| | | }); |
| | | } |
| | | |
| | |
| | | establishmentTime: '', |
| | | processId: null, |
| | | processName: '', |
| | | processTime: '', |
| | | certificateName: '', |
| | | certificate: '', |
| | | processTime: '' |
| | | } |
| | | state.fileList = [] |
| | | superRef.value.clearValidate(); |