diff --git a/src/api/business/subpackage/certificate.ts b/src/api/business/subpackage/certificate.ts index e869623..afb4f5e 100644 --- a/src/api/business/subpackage/certificate.ts +++ b/src/api/business/subpackage/certificate.ts @@ -48,3 +48,12 @@ data, }) } + +// 在分包设备详情中的分包证书列表 +export function fetCertListByEquipmentId(data: { id: string }) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} diff --git a/src/api/business/subpackage/certificate.ts b/src/api/business/subpackage/certificate.ts index e869623..afb4f5e 100644 --- a/src/api/business/subpackage/certificate.ts +++ b/src/api/business/subpackage/certificate.ts @@ -48,3 +48,12 @@ data, }) } + +// 在分包设备详情中的分包证书列表 +export function fetCertListByEquipmentId(data: { id: string }) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} diff --git a/src/views/business/manager/sendReceive/components/subpackageCertList.vue b/src/views/business/manager/sendReceive/components/subpackageCertList.vue new file mode 100644 index 0000000..142ca1e --- /dev/null +++ b/src/views/business/manager/sendReceive/components/subpackageCertList.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/api/business/subpackage/certificate.ts b/src/api/business/subpackage/certificate.ts index e869623..afb4f5e 100644 --- a/src/api/business/subpackage/certificate.ts +++ b/src/api/business/subpackage/certificate.ts @@ -48,3 +48,12 @@ data, }) } + +// 在分包设备详情中的分包证书列表 +export function fetCertListByEquipmentId(data: { id: string }) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} diff --git a/src/views/business/manager/sendReceive/components/subpackageCertList.vue b/src/views/business/manager/sendReceive/components/subpackageCertList.vue new file mode 100644 index 0000000..142ca1e --- /dev/null +++ b/src/views/business/manager/sendReceive/components/subpackageCertList.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/business/manager/sendReceive/components/templateDetail.vue b/src/views/business/manager/sendReceive/components/templateDetail.vue index 8027c05..cb9ca35 100644 --- a/src/views/business/manager/sendReceive/components/templateDetail.vue +++ b/src/views/business/manager/sendReceive/components/templateDetail.vue @@ -8,7 +8,8 @@ import sendReceiveBasic from './basic.vue' import sendReceiveMeasureItem from './measureItem.vue' import sendReceiveCertificate from './certificate.vue' -import subpackageInfo from './subpackageInfo.vue' +import subpackageInfoCom from './subpackageInfo.vue' +import subpackageCertList from './subpackageCertList.vue' import { tagBinding } from '@/api/reader' import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue' import printThreeInfo from '@/views/business/taskMeasure/print/components/label/printThreeInfo.vue' @@ -58,6 +59,7 @@ const sendReceiveMeasureRef = ref() // 检定信息组件ref const sendReceiveBasicRef = ref() // 基本信息组件ref const sendReceiveCertificateRef = ref() // 证书报告组件ref +const subpackageCertListRef = ref() // 分包详情证书报告组件ref // -----------------------------------路由参数------------------------------------------------- // 从路由中获取页面类型参数 const $route = useRoute() @@ -188,7 +190,7 @@ v-if="current === 'send-receive-basic'" ref="sendReceiveBasicRef" :equipment-id="props.equipmentId" - @givePrintForm="givePrintForm" + @give-print-form="givePrintForm" /> @@ -207,8 +209,15 @@ :sample-id="props.equipmentId!" /> + + + - diff --git a/src/api/business/subpackage/certificate.ts b/src/api/business/subpackage/certificate.ts index e869623..afb4f5e 100644 --- a/src/api/business/subpackage/certificate.ts +++ b/src/api/business/subpackage/certificate.ts @@ -48,3 +48,12 @@ data, }) } + +// 在分包设备详情中的分包证书列表 +export function fetCertListByEquipmentId(data: { id: string }) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} diff --git a/src/views/business/manager/sendReceive/components/subpackageCertList.vue b/src/views/business/manager/sendReceive/components/subpackageCertList.vue new file mode 100644 index 0000000..142ca1e --- /dev/null +++ b/src/views/business/manager/sendReceive/components/subpackageCertList.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/business/manager/sendReceive/components/templateDetail.vue b/src/views/business/manager/sendReceive/components/templateDetail.vue index 8027c05..cb9ca35 100644 --- a/src/views/business/manager/sendReceive/components/templateDetail.vue +++ b/src/views/business/manager/sendReceive/components/templateDetail.vue @@ -8,7 +8,8 @@ import sendReceiveBasic from './basic.vue' import sendReceiveMeasureItem from './measureItem.vue' import sendReceiveCertificate from './certificate.vue' -import subpackageInfo from './subpackageInfo.vue' +import subpackageInfoCom from './subpackageInfo.vue' +import subpackageCertList from './subpackageCertList.vue' import { tagBinding } from '@/api/reader' import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue' import printThreeInfo from '@/views/business/taskMeasure/print/components/label/printThreeInfo.vue' @@ -58,6 +59,7 @@ const sendReceiveMeasureRef = ref() // 检定信息组件ref const sendReceiveBasicRef = ref() // 基本信息组件ref const sendReceiveCertificateRef = ref() // 证书报告组件ref +const subpackageCertListRef = ref() // 分包详情证书报告组件ref // -----------------------------------路由参数------------------------------------------------- // 从路由中获取页面类型参数 const $route = useRoute() @@ -188,7 +190,7 @@ v-if="current === 'send-receive-basic'" ref="sendReceiveBasicRef" :equipment-id="props.equipmentId" - @givePrintForm="givePrintForm" + @give-print-form="givePrintForm" /> @@ -207,8 +209,15 @@ :sample-id="props.equipmentId!" /> + + + - diff --git a/src/views/business/subpackage/equipment/detail.vue b/src/views/business/subpackage/equipment/detail.vue index 92cdcc1..34505c1 100644 --- a/src/views/business/subpackage/equipment/detail.vue +++ b/src/views/business/subpackage/equipment/detail.vue @@ -6,7 +6,7 @@ { name: '基本信息', value: 'send-receive-basic' }, { name: '任务单信息', value: 'send-receive-order' }, { name: '检定项信息', value: 'send-receive-measureItem' }, - { name: '证书报告', value: 'send-receive-certificate' }, + { name: '证书报告', value: 'subpackage-certificate' }, { name: '分包信息', value: 'send-receive-subpackage' }, ] const orderId = ref('') // 任务单id diff --git a/src/api/business/subpackage/certificate.ts b/src/api/business/subpackage/certificate.ts index e869623..afb4f5e 100644 --- a/src/api/business/subpackage/certificate.ts +++ b/src/api/business/subpackage/certificate.ts @@ -48,3 +48,12 @@ data, }) } + +// 在分包设备详情中的分包证书列表 +export function fetCertListByEquipmentId(data: { id: string }) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} diff --git a/src/views/business/manager/sendReceive/components/subpackageCertList.vue b/src/views/business/manager/sendReceive/components/subpackageCertList.vue new file mode 100644 index 0000000..142ca1e --- /dev/null +++ b/src/views/business/manager/sendReceive/components/subpackageCertList.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/business/manager/sendReceive/components/templateDetail.vue b/src/views/business/manager/sendReceive/components/templateDetail.vue index 8027c05..cb9ca35 100644 --- a/src/views/business/manager/sendReceive/components/templateDetail.vue +++ b/src/views/business/manager/sendReceive/components/templateDetail.vue @@ -8,7 +8,8 @@ import sendReceiveBasic from './basic.vue' import sendReceiveMeasureItem from './measureItem.vue' import sendReceiveCertificate from './certificate.vue' -import subpackageInfo from './subpackageInfo.vue' +import subpackageInfoCom from './subpackageInfo.vue' +import subpackageCertList from './subpackageCertList.vue' import { tagBinding } from '@/api/reader' import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue' import printThreeInfo from '@/views/business/taskMeasure/print/components/label/printThreeInfo.vue' @@ -58,6 +59,7 @@ const sendReceiveMeasureRef = ref() // 检定信息组件ref const sendReceiveBasicRef = ref() // 基本信息组件ref const sendReceiveCertificateRef = ref() // 证书报告组件ref +const subpackageCertListRef = ref() // 分包详情证书报告组件ref // -----------------------------------路由参数------------------------------------------------- // 从路由中获取页面类型参数 const $route = useRoute() @@ -188,7 +190,7 @@ v-if="current === 'send-receive-basic'" ref="sendReceiveBasicRef" :equipment-id="props.equipmentId" - @givePrintForm="givePrintForm" + @give-print-form="givePrintForm" /> @@ -207,8 +209,15 @@ :sample-id="props.equipmentId!" /> + + + - diff --git a/src/views/business/subpackage/equipment/detail.vue b/src/views/business/subpackage/equipment/detail.vue index 92cdcc1..34505c1 100644 --- a/src/views/business/subpackage/equipment/detail.vue +++ b/src/views/business/subpackage/equipment/detail.vue @@ -6,7 +6,7 @@ { name: '基本信息', value: 'send-receive-basic' }, { name: '任务单信息', value: 'send-receive-order' }, { name: '检定项信息', value: 'send-receive-measureItem' }, - { name: '证书报告', value: 'send-receive-certificate' }, + { name: '证书报告', value: 'subpackage-certificate' }, { name: '分包信息', value: 'send-receive-subpackage' }, ] const orderId = ref('') // 任务单id diff --git a/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue b/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue index a98cb8f..2cf413b 100644 --- a/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue +++ b/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue @@ -25,6 +25,8 @@ sampleId: '', // 设备id orderId: '', // 任务单id orderNo: '', // 任务单编号 + + limitInstruction: '', // 限用说明 }) // 保存按钮加载状态 const btnLoading = ref(false) @@ -43,6 +45,7 @@ conclusion: [{ required: true, message: '检定结论必填', trigger: ['blur', 'change'] }], meterIdentify: [{ required: true, message: '计量标识必填', trigger: ['blur', 'change'] }], certificateReportFile: [{ required: true, message: '检定证书必填', trigger: ['blur', 'change'] }], + limitInstruction: [{ required: true, message: '限用说明必填', trigger: ['blur', 'change'] }], }) // -------------------------------------------字典---------------------------------------------+ @@ -123,6 +126,7 @@ sampleId: form.value.sampleId, // 受检设备id orderId: form.value.orderId, // 任务单id orderNo: form.value.orderNo, // 任务单编号 + limitInstruction: form.value.limitInstruction, // 限用说明 } addCertificateList(params).then(() => { ElMessage.success('上传证书成功') @@ -145,6 +149,7 @@ orderId: form.value.orderId, // 任务单id orderNo: form.value.orderNo, // 任务单编号 id: certificateId.value, // 证书id + limitInstruction: form.value.limitInstruction, // 限用说明 } updateCertificateList(params).then(() => { ElMessage.success('上传证书成功') @@ -219,8 +224,7 @@ @@ -228,8 +232,7 @@ @@ -264,12 +267,16 @@ placeholder="请选择检定结论" filterable class="full-width-input" - @change="changeConclusion" > + + + + + - - - + + {{ form.certificateReportFile === '' ? '上传' : '更换附件' }} diff --git a/src/api/business/subpackage/certificate.ts b/src/api/business/subpackage/certificate.ts index e869623..afb4f5e 100644 --- a/src/api/business/subpackage/certificate.ts +++ b/src/api/business/subpackage/certificate.ts @@ -48,3 +48,12 @@ data, }) } + +// 在分包设备详情中的分包证书列表 +export function fetCertListByEquipmentId(data: { id: string }) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} diff --git a/src/views/business/manager/sendReceive/components/subpackageCertList.vue b/src/views/business/manager/sendReceive/components/subpackageCertList.vue new file mode 100644 index 0000000..142ca1e --- /dev/null +++ b/src/views/business/manager/sendReceive/components/subpackageCertList.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/business/manager/sendReceive/components/templateDetail.vue b/src/views/business/manager/sendReceive/components/templateDetail.vue index 8027c05..cb9ca35 100644 --- a/src/views/business/manager/sendReceive/components/templateDetail.vue +++ b/src/views/business/manager/sendReceive/components/templateDetail.vue @@ -8,7 +8,8 @@ import sendReceiveBasic from './basic.vue' import sendReceiveMeasureItem from './measureItem.vue' import sendReceiveCertificate from './certificate.vue' -import subpackageInfo from './subpackageInfo.vue' +import subpackageInfoCom from './subpackageInfo.vue' +import subpackageCertList from './subpackageCertList.vue' import { tagBinding } from '@/api/reader' import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue' import printThreeInfo from '@/views/business/taskMeasure/print/components/label/printThreeInfo.vue' @@ -58,6 +59,7 @@ const sendReceiveMeasureRef = ref() // 检定信息组件ref const sendReceiveBasicRef = ref() // 基本信息组件ref const sendReceiveCertificateRef = ref() // 证书报告组件ref +const subpackageCertListRef = ref() // 分包详情证书报告组件ref // -----------------------------------路由参数------------------------------------------------- // 从路由中获取页面类型参数 const $route = useRoute() @@ -188,7 +190,7 @@ v-if="current === 'send-receive-basic'" ref="sendReceiveBasicRef" :equipment-id="props.equipmentId" - @givePrintForm="givePrintForm" + @give-print-form="givePrintForm" /> @@ -207,8 +209,15 @@ :sample-id="props.equipmentId!" /> + + + - diff --git a/src/views/business/subpackage/equipment/detail.vue b/src/views/business/subpackage/equipment/detail.vue index 92cdcc1..34505c1 100644 --- a/src/views/business/subpackage/equipment/detail.vue +++ b/src/views/business/subpackage/equipment/detail.vue @@ -6,7 +6,7 @@ { name: '基本信息', value: 'send-receive-basic' }, { name: '任务单信息', value: 'send-receive-order' }, { name: '检定项信息', value: 'send-receive-measureItem' }, - { name: '证书报告', value: 'send-receive-certificate' }, + { name: '证书报告', value: 'subpackage-certificate' }, { name: '分包信息', value: 'send-receive-subpackage' }, ] const orderId = ref('') // 任务单id diff --git a/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue b/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue index a98cb8f..2cf413b 100644 --- a/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue +++ b/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue @@ -25,6 +25,8 @@ sampleId: '', // 设备id orderId: '', // 任务单id orderNo: '', // 任务单编号 + + limitInstruction: '', // 限用说明 }) // 保存按钮加载状态 const btnLoading = ref(false) @@ -43,6 +45,7 @@ conclusion: [{ required: true, message: '检定结论必填', trigger: ['blur', 'change'] }], meterIdentify: [{ required: true, message: '计量标识必填', trigger: ['blur', 'change'] }], certificateReportFile: [{ required: true, message: '检定证书必填', trigger: ['blur', 'change'] }], + limitInstruction: [{ required: true, message: '限用说明必填', trigger: ['blur', 'change'] }], }) // -------------------------------------------字典---------------------------------------------+ @@ -123,6 +126,7 @@ sampleId: form.value.sampleId, // 受检设备id orderId: form.value.orderId, // 任务单id orderNo: form.value.orderNo, // 任务单编号 + limitInstruction: form.value.limitInstruction, // 限用说明 } addCertificateList(params).then(() => { ElMessage.success('上传证书成功') @@ -145,6 +149,7 @@ orderId: form.value.orderId, // 任务单id orderNo: form.value.orderNo, // 任务单编号 id: certificateId.value, // 证书id + limitInstruction: form.value.limitInstruction, // 限用说明 } updateCertificateList(params).then(() => { ElMessage.success('上传证书成功') @@ -219,8 +224,7 @@ @@ -228,8 +232,7 @@ @@ -264,12 +267,16 @@ placeholder="请选择检定结论" filterable class="full-width-input" - @change="changeConclusion" > + + + + + - - - + + {{ form.certificateReportFile === '' ? '上传' : '更换附件' }} diff --git a/src/views/resource/customer/examine/detail.vue b/src/views/resource/customer/examine/detail.vue index a135187..efe0e43 100644 --- a/src/views/resource/customer/examine/detail.vue +++ b/src/views/resource/customer/examine/detail.vue @@ -106,20 +106,20 @@ } const examineRules = ref({ - labCode: [{ required: true, message: '实验室代码不能为空,请选择', trigger: ['change', 'blur'] }], - groupCode: [{ required: true, message: '组别代码不能为空,请选择', trigger: ['change', 'blur'] }], + labCode: [{ required: true, message: '实验室代码不能为空', trigger: ['change', 'blur'] }], + groupCode: [{ required: true, message: '组别代码不能为空', trigger: ['change', 'blur'] }], customerContent: [{ required: true, message: '委托方信息不能为空', trigger: 'blur' }], measureItem: [{ required: true, message: '测试、校准或检定项目不能为空', trigger: 'blur' }], otherRequire: [{ required: true, message: '其他要求不能为空', trigger: 'blur' }], equipmentName: [{ required: true, message: '设备名称不能为空', trigger: 'blur' }], performanceIndex: [{ required: true, message: '设备性能指标不能为空', trigger: 'blur' }], measureStatus: [{ required: true, message: '设备校准状态不能为空', trigger: 'blur' }], - numberOfPeople: [{ required: true, message: '检定人员人数不能为空,请选择', trigger: 'blur' }], + numberOfPeople: [{ required: true, message: '检定人员人数不能为空', trigger: 'blur' }], staffCert: [{ required: true, message: '人员持证情况不能为空', trigger: 'blur' }], measureMethodName: [{ required: true, message: '方法名称不能为空', trigger: 'blur' }], measureMethodType: [{ required: true, trigger: ['change', 'blur'], validator: methodTypeValidator }], - measureMethodControlled: [{ required: true, message: '方法是否受控不能为空,请选择', trigger: ['change', 'blur'] }], - measureMethodConfirm: [{ required: true, message: '方法是否确认不能为空,请选择', trigger: ['change', 'blur'] }], + measureMethodControlled: [{ required: true, message: '方法是否受控不能为空', trigger: ['change', 'blur'] }], + measureMethodConfirm: [{ required: true, message: '方法是否确认不能为空', trigger: ['change', 'blur'] }], }) // 表单验证规则 // 字典值 @@ -127,8 +127,8 @@ const groupCodeDict = ref([]) const methodTypeDict = ref([]) const yesOrNoDict = ref([ - { id: '1', value: 1, name: '是' }, - { id: '0', value: 0, name: '否' }, + { id: '1', value: 1, name: '是', methodName: '已确认' }, + { id: '0', value: 0, name: '否', methodName: '未确认' }, ]) // 逻辑 @@ -393,11 +393,11 @@ examineInfo.value.measureStatus = row.measureStatus examineAbilityForm.value.validateField('measureStatus') } - if (row.staffCert !== undefined && row.staffCert !== null && row.staffCert !== '') { + if (row.staffCert !== undefined && row.staffCert !== null && `${row.staffCert}` !== '') { examineInfo.value.staffCert = row.staffCert examineAbilityForm.value.validateField('staffCert') } - if (row.numberOfPeople !== undefined && row.numberOfPeople !== null && row.numberOfPeople !== '') { + if (row.numberOfPeople !== undefined && row.numberOfPeople !== null && `${row.numberOfPeople}` !== '') { examineInfo.value.numberOfPeople = row.numberOfPeople examineAbilityForm.value.validateField('numberOfPeople') } @@ -412,11 +412,11 @@ measureMethodTypeArray.value = row.measureMethodType.split(',') examineMethodForm.value.validateField('measureMethodType') } - if (row.measureMethodControlled !== undefined && row.measureMethodControlled !== null && row.measureMethodControlled !== '') { + if (row.measureMethodControlled !== undefined && row.measureMethodControlled !== null && `${row.measureMethodControlled}` !== '') { examineInfo.value.measureMethodControlled = row.measureMethodControlled examineMethodForm.value.validateField('measureMethodControlled') } - if (row.measureMethodConfirm !== undefined && row.measureMethodConfirm !== null && row.measureMethodConfirm !== '') { + if (row.measureMethodConfirm !== undefined && row.measureMethodConfirm !== null && `${row.measureMethodConfirm}` !== '') { examineInfo.value.measureMethodConfirm = row.measureMethodConfirm examineMethodForm.value.validateField('measureMethodConfirm') } @@ -462,7 +462,32 @@ // 取消(撤回审批单) const revokeClickedHandler = () => { - apprDial.value.initDialog('revoke', examineInfo.value.id, examineInfo.value.taskId, examineInfo.value.processId) + const params = { + processInstanceId: examineInfo.value.processId!, + comments: '', + id: examineInfo.value.id, + } + ElMessageBox.confirm( + '确认取消该审批吗?', + '提示', + { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }, + ) + .then(() => { + revokeApproval(params).then((res) => { + if (res.code === 200) { + ElMessage.success('已取消') + } + else { + ElMessage.error(`流程取消失败:${res.message}`) + } + // 关闭弹窗 + apprDial.value.handleClose() + }) + }) } // 删除(只有已取消的可以在详情中删除) @@ -498,22 +523,6 @@ } } -// 取消 -const examineRevokeHandler = (param: any) => { - revokeApproval(param).then((res) => { - if (res.code === 200) { - ElMessage.success('流程取消成功') - } - else { - ElMessage.error(`流程取消失败:${res.message}`) - } - // 关闭弹窗 - apprDial.value.handleClose() - - cancelButtVisable.value = false - }) -} - // 拒绝 const examineRefuseHandler = (param: any) => { refuseApproval(param).then((res) => { @@ -656,8 +665,6 @@ }) watch(() => status.value, (val) => { - console.log('------监听到页面类型改变-') - if (val === '1' || type.value === 'create') { // 草稿箱、新建把审批详情删了 if (radioItems.value[radioItems.value.length - 1].value === 'examine-approval') { radioItems.value.pop() @@ -679,7 +686,7 @@ + + diff --git a/src/api/business/subpackage/certificate.ts b/src/api/business/subpackage/certificate.ts index e869623..afb4f5e 100644 --- a/src/api/business/subpackage/certificate.ts +++ b/src/api/business/subpackage/certificate.ts @@ -48,3 +48,12 @@ data, }) } + +// 在分包设备详情中的分包证书列表 +export function fetCertListByEquipmentId(data: { id: string }) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} diff --git a/src/views/business/manager/sendReceive/components/subpackageCertList.vue b/src/views/business/manager/sendReceive/components/subpackageCertList.vue new file mode 100644 index 0000000..142ca1e --- /dev/null +++ b/src/views/business/manager/sendReceive/components/subpackageCertList.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/business/manager/sendReceive/components/templateDetail.vue b/src/views/business/manager/sendReceive/components/templateDetail.vue index 8027c05..cb9ca35 100644 --- a/src/views/business/manager/sendReceive/components/templateDetail.vue +++ b/src/views/business/manager/sendReceive/components/templateDetail.vue @@ -8,7 +8,8 @@ import sendReceiveBasic from './basic.vue' import sendReceiveMeasureItem from './measureItem.vue' import sendReceiveCertificate from './certificate.vue' -import subpackageInfo from './subpackageInfo.vue' +import subpackageInfoCom from './subpackageInfo.vue' +import subpackageCertList from './subpackageCertList.vue' import { tagBinding } from '@/api/reader' import scanEquipmentDialog from '@/components/scanEquipmentDialog/index.vue' import printThreeInfo from '@/views/business/taskMeasure/print/components/label/printThreeInfo.vue' @@ -58,6 +59,7 @@ const sendReceiveMeasureRef = ref() // 检定信息组件ref const sendReceiveBasicRef = ref() // 基本信息组件ref const sendReceiveCertificateRef = ref() // 证书报告组件ref +const subpackageCertListRef = ref() // 分包详情证书报告组件ref // -----------------------------------路由参数------------------------------------------------- // 从路由中获取页面类型参数 const $route = useRoute() @@ -188,7 +190,7 @@ v-if="current === 'send-receive-basic'" ref="sendReceiveBasicRef" :equipment-id="props.equipmentId" - @givePrintForm="givePrintForm" + @give-print-form="givePrintForm" /> @@ -207,8 +209,15 @@ :sample-id="props.equipmentId!" /> + + + - diff --git a/src/views/business/subpackage/equipment/detail.vue b/src/views/business/subpackage/equipment/detail.vue index 92cdcc1..34505c1 100644 --- a/src/views/business/subpackage/equipment/detail.vue +++ b/src/views/business/subpackage/equipment/detail.vue @@ -6,7 +6,7 @@ { name: '基本信息', value: 'send-receive-basic' }, { name: '任务单信息', value: 'send-receive-order' }, { name: '检定项信息', value: 'send-receive-measureItem' }, - { name: '证书报告', value: 'send-receive-certificate' }, + { name: '证书报告', value: 'subpackage-certificate' }, { name: '分包信息', value: 'send-receive-subpackage' }, ] const orderId = ref('') // 任务单id diff --git a/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue b/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue index a98cb8f..2cf413b 100644 --- a/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue +++ b/src/views/business/subpackage/equipment/dialog/measureCompleteDialog.vue @@ -25,6 +25,8 @@ sampleId: '', // 设备id orderId: '', // 任务单id orderNo: '', // 任务单编号 + + limitInstruction: '', // 限用说明 }) // 保存按钮加载状态 const btnLoading = ref(false) @@ -43,6 +45,7 @@ conclusion: [{ required: true, message: '检定结论必填', trigger: ['blur', 'change'] }], meterIdentify: [{ required: true, message: '计量标识必填', trigger: ['blur', 'change'] }], certificateReportFile: [{ required: true, message: '检定证书必填', trigger: ['blur', 'change'] }], + limitInstruction: [{ required: true, message: '限用说明必填', trigger: ['blur', 'change'] }], }) // -------------------------------------------字典---------------------------------------------+ @@ -123,6 +126,7 @@ sampleId: form.value.sampleId, // 受检设备id orderId: form.value.orderId, // 任务单id orderNo: form.value.orderNo, // 任务单编号 + limitInstruction: form.value.limitInstruction, // 限用说明 } addCertificateList(params).then(() => { ElMessage.success('上传证书成功') @@ -145,6 +149,7 @@ orderId: form.value.orderId, // 任务单id orderNo: form.value.orderNo, // 任务单编号 id: certificateId.value, // 证书id + limitInstruction: form.value.limitInstruction, // 限用说明 } updateCertificateList(params).then(() => { ElMessage.success('上传证书成功') @@ -219,8 +224,7 @@ @@ -228,8 +232,7 @@ @@ -264,12 +267,16 @@ placeholder="请选择检定结论" filterable class="full-width-input" - @change="changeConclusion" > + + + + + - - - + + {{ form.certificateReportFile === '' ? '上传' : '更换附件' }} diff --git a/src/views/resource/customer/examine/detail.vue b/src/views/resource/customer/examine/detail.vue index a135187..efe0e43 100644 --- a/src/views/resource/customer/examine/detail.vue +++ b/src/views/resource/customer/examine/detail.vue @@ -106,20 +106,20 @@ } const examineRules = ref({ - labCode: [{ required: true, message: '实验室代码不能为空,请选择', trigger: ['change', 'blur'] }], - groupCode: [{ required: true, message: '组别代码不能为空,请选择', trigger: ['change', 'blur'] }], + labCode: [{ required: true, message: '实验室代码不能为空', trigger: ['change', 'blur'] }], + groupCode: [{ required: true, message: '组别代码不能为空', trigger: ['change', 'blur'] }], customerContent: [{ required: true, message: '委托方信息不能为空', trigger: 'blur' }], measureItem: [{ required: true, message: '测试、校准或检定项目不能为空', trigger: 'blur' }], otherRequire: [{ required: true, message: '其他要求不能为空', trigger: 'blur' }], equipmentName: [{ required: true, message: '设备名称不能为空', trigger: 'blur' }], performanceIndex: [{ required: true, message: '设备性能指标不能为空', trigger: 'blur' }], measureStatus: [{ required: true, message: '设备校准状态不能为空', trigger: 'blur' }], - numberOfPeople: [{ required: true, message: '检定人员人数不能为空,请选择', trigger: 'blur' }], + numberOfPeople: [{ required: true, message: '检定人员人数不能为空', trigger: 'blur' }], staffCert: [{ required: true, message: '人员持证情况不能为空', trigger: 'blur' }], measureMethodName: [{ required: true, message: '方法名称不能为空', trigger: 'blur' }], measureMethodType: [{ required: true, trigger: ['change', 'blur'], validator: methodTypeValidator }], - measureMethodControlled: [{ required: true, message: '方法是否受控不能为空,请选择', trigger: ['change', 'blur'] }], - measureMethodConfirm: [{ required: true, message: '方法是否确认不能为空,请选择', trigger: ['change', 'blur'] }], + measureMethodControlled: [{ required: true, message: '方法是否受控不能为空', trigger: ['change', 'blur'] }], + measureMethodConfirm: [{ required: true, message: '方法是否确认不能为空', trigger: ['change', 'blur'] }], }) // 表单验证规则 // 字典值 @@ -127,8 +127,8 @@ const groupCodeDict = ref([]) const methodTypeDict = ref([]) const yesOrNoDict = ref([ - { id: '1', value: 1, name: '是' }, - { id: '0', value: 0, name: '否' }, + { id: '1', value: 1, name: '是', methodName: '已确认' }, + { id: '0', value: 0, name: '否', methodName: '未确认' }, ]) // 逻辑 @@ -393,11 +393,11 @@ examineInfo.value.measureStatus = row.measureStatus examineAbilityForm.value.validateField('measureStatus') } - if (row.staffCert !== undefined && row.staffCert !== null && row.staffCert !== '') { + if (row.staffCert !== undefined && row.staffCert !== null && `${row.staffCert}` !== '') { examineInfo.value.staffCert = row.staffCert examineAbilityForm.value.validateField('staffCert') } - if (row.numberOfPeople !== undefined && row.numberOfPeople !== null && row.numberOfPeople !== '') { + if (row.numberOfPeople !== undefined && row.numberOfPeople !== null && `${row.numberOfPeople}` !== '') { examineInfo.value.numberOfPeople = row.numberOfPeople examineAbilityForm.value.validateField('numberOfPeople') } @@ -412,11 +412,11 @@ measureMethodTypeArray.value = row.measureMethodType.split(',') examineMethodForm.value.validateField('measureMethodType') } - if (row.measureMethodControlled !== undefined && row.measureMethodControlled !== null && row.measureMethodControlled !== '') { + if (row.measureMethodControlled !== undefined && row.measureMethodControlled !== null && `${row.measureMethodControlled}` !== '') { examineInfo.value.measureMethodControlled = row.measureMethodControlled examineMethodForm.value.validateField('measureMethodControlled') } - if (row.measureMethodConfirm !== undefined && row.measureMethodConfirm !== null && row.measureMethodConfirm !== '') { + if (row.measureMethodConfirm !== undefined && row.measureMethodConfirm !== null && `${row.measureMethodConfirm}` !== '') { examineInfo.value.measureMethodConfirm = row.measureMethodConfirm examineMethodForm.value.validateField('measureMethodConfirm') } @@ -462,7 +462,32 @@ // 取消(撤回审批单) const revokeClickedHandler = () => { - apprDial.value.initDialog('revoke', examineInfo.value.id, examineInfo.value.taskId, examineInfo.value.processId) + const params = { + processInstanceId: examineInfo.value.processId!, + comments: '', + id: examineInfo.value.id, + } + ElMessageBox.confirm( + '确认取消该审批吗?', + '提示', + { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }, + ) + .then(() => { + revokeApproval(params).then((res) => { + if (res.code === 200) { + ElMessage.success('已取消') + } + else { + ElMessage.error(`流程取消失败:${res.message}`) + } + // 关闭弹窗 + apprDial.value.handleClose() + }) + }) } // 删除(只有已取消的可以在详情中删除) @@ -498,22 +523,6 @@ } } -// 取消 -const examineRevokeHandler = (param: any) => { - revokeApproval(param).then((res) => { - if (res.code === 200) { - ElMessage.success('流程取消成功') - } - else { - ElMessage.error(`流程取消失败:${res.message}`) - } - // 关闭弹窗 - apprDial.value.handleClose() - - cancelButtVisable.value = false - }) -} - // 拒绝 const examineRefuseHandler = (param: any) => { refuseApproval(param).then((res) => { @@ -656,8 +665,6 @@ }) watch(() => status.value, (val) => { - console.log('------监听到页面类型改变-') - if (val === '1' || type.value === 'create') { // 草稿箱、新建把审批详情删了 if (radioItems.value[radioItems.value.length - 1].value === 'examine-approval') { radioItems.value.pop() @@ -679,7 +686,7 @@ + + diff --git a/src/views/resource/customer/examine/list.vue b/src/views/resource/customer/examine/list.vue index 5b8e0cb..35d70c2 100644 --- a/src/views/resource/customer/examine/list.vue +++ b/src/views/resource/customer/examine/list.vue @@ -2,7 +2,7 @@