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 @@
+
+
+
+
+
+
+
+
+ {{ (listQuery.offset - 1) * listQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+ {{ (listQuery.offset - 1) * listQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+ {{ (listQuery.offset - 1) * listQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+ {{ (listQuery.offset - 1) * listQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+ {{ (listQuery.offset - 1) * listQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
+
+
+
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 @@
-
+
@@ -819,7 +826,7 @@
-
+
@@ -827,7 +834,7 @@
-
+
@@ -835,7 +842,7 @@
-
+
@@ -861,7 +868,7 @@
-
+
@@ -933,7 +940,7 @@
- {{ dict.name }}
+ {{ dict.methodName }}
@@ -943,11 +950,11 @@
-
+
-
+
@@ -973,3 +980,11 @@
+
+
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 @@
+
+
+
+
+
+
+
+
+ {{ (listQuery.offset - 1) * listQuery.limit + scope.$index + 1 }}
+
+
+
+
+
+
+
+
+
+
+
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 @@
-
+
@@ -819,7 +826,7 @@
-
+
@@ -827,7 +834,7 @@
-
+
@@ -835,7 +842,7 @@
-
+
@@ -861,7 +868,7 @@
-
+
@@ -933,7 +940,7 @@
- {{ dict.name }}
+ {{ dict.methodName }}
@@ -943,11 +950,11 @@
-
+
-
+
@@ -973,3 +980,11 @@
+
+
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 @@