diff --git a/src/views/business/lab/primitiveLog/primitveLogAdd.vue b/src/views/business/lab/primitiveLog/primitveLogAdd.vue index a29ec11..93175af 100644 --- a/src/views/business/lab/primitiveLog/primitveLogAdd.vue +++ b/src/views/business/lab/primitiveLog/primitveLogAdd.vue @@ -184,7 +184,7 @@ // 表单验证规则 const rules = ref({ 'originalRecordName': [{ required: true, message: '原始记录名称必填', trigger: ['blur', 'change'] }], - 'contactInfo': [{ required: true, message: '原始记录文件必须上传', trigger: ['blur', 'change'] }], + 'originalRecordFile': [{ required: true, message: '原始记录文件必须上传', trigger: ['blur', 'change'] }], 'verifierId': [{ required: true, message: '校验人员必填', trigger: ['blur', 'change'] }], 'measureCategory': [{ required: true, message: '校验类别必填', trigger: ['blur', 'change'] }], 'calibrationTime': [{ required: true, message: '校验时间必填', trigger: ['blur', 'change'] }], @@ -242,7 +242,7 @@ formInline.value.originalRecordFile = res.data[0] // 重置当前验证 - ruleFormRef.value?.clearValidate('contactInfo') + ruleFormRef.value?.clearValidate('originalRecordFile') ElMessage.success('文件上传成功') } else { @@ -302,6 +302,7 @@ // } // } if (!formEl) { return } + rules.value.originalRecordFile[0].required = true await formEl.validate((valid) => { if (valid) { ElMessageBox.confirm('确认保存吗?', '提示', { @@ -315,6 +316,7 @@ ...formInline.value, id: infoId.value, } + params.verifierName = userList.value.filter((item: { id: string }) => item.id === params.verifierId)[0].name if (pageType.value === 'add') { // 新建 addPrimitiveLog(params).then((res) => { if (res.code === 200) { @@ -406,17 +408,38 @@ } // 下载原始记录单模板 const downLog = () => { - // ruleFormRef.value?.validate().then(() => { - const params = { - temperature: formInline.value.businessEnvironmentRecord.temperature, - humidity: formInline.value.businessEnvironmentRecord.humidity, - ...formInline.value, - } - downPrimitiveLog(params).then((res) => { - const dis = res.headers['content-disposition'] - downloadFile(res.data, dis) + // + rules.value.originalRecordFile[0].required = false + ruleFormRef.value?.validate().then(() => { + const params = { + temperature: formInline.value.businessEnvironmentRecord.temperature, + humidity: formInline.value.businessEnvironmentRecord.humidity, + ...formInline.value, + } + downPrimitiveLog(params).then((res) => { + console.log(res, 'res') + if (res.status === 200) { + const dis = res.headers['content-disposition'] + if (dis) { + const name = dis.replace('attachment; filename=', '') + let fileName = name.split('.')[0] + const suffix = name.split('.')[1] + if (fileName.includes('%')) { + fileName = decodeURIComponent(fileName) + } + downloadFile(res.data, `${fileName}.${suffix}`) + } + else { + downloadFile(res.data, '原始记录.docx') + } + } + else { + ElMessage.error('下载失败') + } + }).catch(() => { + ElMessage.error('下载失败') + }) }) - // }) } // ----------------------------------------所用设备------------------------------------- const isMultiMeasureDevice = ref(false) @@ -700,6 +723,7 @@ label-position="right" label-width="auto" :rules="rules" + :disabled="pageType === 'detail'" > @@ -1082,7 +1106,7 @@ - + 下载 @@ -1090,7 +1114,7 @@ - + diff --git a/src/views/business/lab/primitiveLog/primitveLogAdd.vue b/src/views/business/lab/primitiveLog/primitveLogAdd.vue index a29ec11..93175af 100644 --- a/src/views/business/lab/primitiveLog/primitveLogAdd.vue +++ b/src/views/business/lab/primitiveLog/primitveLogAdd.vue @@ -184,7 +184,7 @@ // 表单验证规则 const rules = ref({ 'originalRecordName': [{ required: true, message: '原始记录名称必填', trigger: ['blur', 'change'] }], - 'contactInfo': [{ required: true, message: '原始记录文件必须上传', trigger: ['blur', 'change'] }], + 'originalRecordFile': [{ required: true, message: '原始记录文件必须上传', trigger: ['blur', 'change'] }], 'verifierId': [{ required: true, message: '校验人员必填', trigger: ['blur', 'change'] }], 'measureCategory': [{ required: true, message: '校验类别必填', trigger: ['blur', 'change'] }], 'calibrationTime': [{ required: true, message: '校验时间必填', trigger: ['blur', 'change'] }], @@ -242,7 +242,7 @@ formInline.value.originalRecordFile = res.data[0] // 重置当前验证 - ruleFormRef.value?.clearValidate('contactInfo') + ruleFormRef.value?.clearValidate('originalRecordFile') ElMessage.success('文件上传成功') } else { @@ -302,6 +302,7 @@ // } // } if (!formEl) { return } + rules.value.originalRecordFile[0].required = true await formEl.validate((valid) => { if (valid) { ElMessageBox.confirm('确认保存吗?', '提示', { @@ -315,6 +316,7 @@ ...formInline.value, id: infoId.value, } + params.verifierName = userList.value.filter((item: { id: string }) => item.id === params.verifierId)[0].name if (pageType.value === 'add') { // 新建 addPrimitiveLog(params).then((res) => { if (res.code === 200) { @@ -406,17 +408,38 @@ } // 下载原始记录单模板 const downLog = () => { - // ruleFormRef.value?.validate().then(() => { - const params = { - temperature: formInline.value.businessEnvironmentRecord.temperature, - humidity: formInline.value.businessEnvironmentRecord.humidity, - ...formInline.value, - } - downPrimitiveLog(params).then((res) => { - const dis = res.headers['content-disposition'] - downloadFile(res.data, dis) + // + rules.value.originalRecordFile[0].required = false + ruleFormRef.value?.validate().then(() => { + const params = { + temperature: formInline.value.businessEnvironmentRecord.temperature, + humidity: formInline.value.businessEnvironmentRecord.humidity, + ...formInline.value, + } + downPrimitiveLog(params).then((res) => { + console.log(res, 'res') + if (res.status === 200) { + const dis = res.headers['content-disposition'] + if (dis) { + const name = dis.replace('attachment; filename=', '') + let fileName = name.split('.')[0] + const suffix = name.split('.')[1] + if (fileName.includes('%')) { + fileName = decodeURIComponent(fileName) + } + downloadFile(res.data, `${fileName}.${suffix}`) + } + else { + downloadFile(res.data, '原始记录.docx') + } + } + else { + ElMessage.error('下载失败') + } + }).catch(() => { + ElMessage.error('下载失败') + }) }) - // }) } // ----------------------------------------所用设备------------------------------------- const isMultiMeasureDevice = ref(false) @@ -700,6 +723,7 @@ label-position="right" label-width="auto" :rules="rules" + :disabled="pageType === 'detail'" > @@ -1082,7 +1106,7 @@ - + 下载 @@ -1090,7 +1114,7 @@ - + diff --git a/src/views/business/lab/reportOnCredentials/components/reportOnCredentialsAdd.vue b/src/views/business/lab/reportOnCredentials/components/reportOnCredentialsAdd.vue index b7ce42c..eca3bcb 100644 --- a/src/views/business/lab/reportOnCredentials/components/reportOnCredentialsAdd.vue +++ b/src/views/business/lab/reportOnCredentials/components/reportOnCredentialsAdd.vue @@ -152,6 +152,7 @@ // 表单验证规则 const rules = ref({ 'deliverTime': [{ required: true, message: '接收日期必选', trigger: ['blur', 'change'] }], + 'certificateReportCategory': [{ required: true, message: '证书类别必选', trigger: ['blur', 'change'] }], 'certificateReportFile': [{ required: true, message: '证书附件必选上传', trigger: ['blur', 'change'] }], 'calibrationTime': [{ required: true, message: '校验日期必选', trigger: ['blur', 'change'] }], 'calibrationMajor': [{ required: true, message: '检校专业必填', trigger: ['blur', 'change'] }], @@ -329,6 +330,7 @@ // 保存、提交、关闭 const getAddList = async (item: string, formEl: FormInstance | undefined) => { if (item === '保存' && pageType.value === 'add') { // 新建的保存 + rules.value.certificateReportFile[0].required = true if (!formEl) { return } @@ -350,6 +352,7 @@ }) } else if (item === '保存' && pageType.value === 'edit') { // 编辑的保存 + rules.value.certificateReportFile[0].required = true if (!formEl) { return } @@ -485,13 +488,13 @@ const confirmCheckoutPrimitiveLog = (val: any) => { formInline.value.businessOriginalRecord = val formInline.value.certifications = val.businessOrder.certifications // 证书类别 - formInline.value.certificateReportCategory = val.businessOrder.certifications // 证书类别 + // formInline.value.certificateReportCategory = val.businessOrder.certifications // 证书类别 formInline.value.sampleId = val.customerSampleInfo.id // 样品id formInline.value.orderId = val.businessOrder.id // 委托书id formInline.value.originalRecordId = val.id // 原始记录id formInline.value.originalRecordId = val.id // 原始记录id formInline.value.originalRecordId = val.id // 原始记录id - formInline.value.deliverTime = val.customerSampleInfo.deliverTime + // formInline.value.deliverTime = val.customerSampleInfo.deliverTime } const primitiveLogRef = ref() if ($route.query.originalRecordId) { @@ -567,13 +570,32 @@ } // 下载证书 const downLo = () => { - // ruleFormRef.value?.validate().then(() => { - // ruleFormRef.value?.clearValidate('certificateReportFile') - downCertifica(formInline.value).then((res) => { - const dis = res.headers['content-disposition'] - downloadFile(res.data, dis) + // ruleFormRef.value?.clearValidate('certificateReportFile') + rules.value.certificateReportFile[0].required = false + ruleFormRef.value?.validate().then(() => { + downCertifica(formInline.value).then((res) => { + if (res.status === 200) { + const dis = res.headers['content-disposition'] + if (dis) { + const name = dis.replace('attachment; filename=', '') + let fileName = name.split('.')[0] + const suffix = name.split('.')[1] + if (fileName.includes('%')) { + fileName = decodeURIComponent(fileName) + } + downloadFile(res.data, `${fileName}.${suffix}`) + } + else { + downloadFile(res.data, '证书模板.excel') + } + } + else { + ElMessage.error('下载失败') + } + }).catch(() => { + ElMessage.error('下载失败') + }) }) - // }) } // -------------------------------------------底部------------------------------------------- @@ -632,6 +654,7 @@ label-position="right" label-width="auto" :rules="rules" + :disabled="pageType === 'detail'" > @@ -835,6 +858,23 @@ + + + + + + + - @@ -1063,7 +1085,7 @@ - + 生成证书 @@ -1096,7 +1118,7 @@ - +