diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/components/Sample/certificationMonitor.vue b/src/components/Sample/certificationMonitor.vue index 16c1311..53e8373 100644 --- a/src/components/Sample/certificationMonitor.vue +++ b/src/components/Sample/certificationMonitor.vue @@ -1,15 +1,15 @@ + + + + diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/components/Sample/certificationMonitor.vue b/src/components/Sample/certificationMonitor.vue index 16c1311..53e8373 100644 --- a/src/components/Sample/certificationMonitor.vue +++ b/src/components/Sample/certificationMonitor.vue @@ -1,15 +1,15 @@ + + + + diff --git a/src/views/business/lab/myMeasure/components/lab-interface.ts b/src/views/business/lab/myMeasure/components/lab-interface.ts new file mode 100644 index 0000000..02b0d1d --- /dev/null +++ b/src/views/business/lab/myMeasure/components/lab-interface.ts @@ -0,0 +1,29 @@ +// 查询参数类型 +export interface ILabSearchQuery { + organizeNo: string // 组织编号 + organizeName: string // 名称 + organizeType: string // 类型-3科室 + isLab: '1' // 是否是实验室 + director: string // 负责人 + meterMajor: string // 专业 + createStartTime: '' // 创建开始时间 + createEndTime: '' // 创建结束事假 +} + +// 部门返回值对象类型 +export interface ILabList { + id: string + deptId: string // 部门id + director: string // 负责人名称 + phone: string // 负责人电话 + meterMajor: string // 计量专业 + organizeNo: string // 实验室编号 + organizeName: string // 实验室名称 + measureItems: string // 全部检测能力 + pDeptId: string // 所属部门 + pDeptName: string // 所属部门 + organizeType: string // 组织类型 + remark?: string // 备注 + createTime?: string // 创建时间 + updateTime?: string // 更新时间 +} diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/components/Sample/certificationMonitor.vue b/src/components/Sample/certificationMonitor.vue index 16c1311..53e8373 100644 --- a/src/components/Sample/certificationMonitor.vue +++ b/src/components/Sample/certificationMonitor.vue @@ -1,15 +1,15 @@ + + + + diff --git a/src/views/business/lab/myMeasure/components/lab-interface.ts b/src/views/business/lab/myMeasure/components/lab-interface.ts new file mode 100644 index 0000000..02b0d1d --- /dev/null +++ b/src/views/business/lab/myMeasure/components/lab-interface.ts @@ -0,0 +1,29 @@ +// 查询参数类型 +export interface ILabSearchQuery { + organizeNo: string // 组织编号 + organizeName: string // 名称 + organizeType: string // 类型-3科室 + isLab: '1' // 是否是实验室 + director: string // 负责人 + meterMajor: string // 专业 + createStartTime: '' // 创建开始时间 + createEndTime: '' // 创建结束事假 +} + +// 部门返回值对象类型 +export interface ILabList { + id: string + deptId: string // 部门id + director: string // 负责人名称 + phone: string // 负责人电话 + meterMajor: string // 计量专业 + organizeNo: string // 实验室编号 + organizeName: string // 实验室名称 + measureItems: string // 全部检测能力 + pDeptId: string // 所属部门 + pDeptName: string // 所属部门 + organizeType: string // 组织类型 + remark?: string // 备注 + createTime?: string // 创建时间 + updateTime?: string // 更新时间 +} diff --git a/src/views/business/lab/myMeasure/components/processConfig.vue b/src/views/business/lab/myMeasure/components/processConfig.vue new file mode 100644 index 0000000..bb66076 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processConfig.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/components/Sample/certificationMonitor.vue b/src/components/Sample/certificationMonitor.vue index 16c1311..53e8373 100644 --- a/src/components/Sample/certificationMonitor.vue +++ b/src/components/Sample/certificationMonitor.vue @@ -1,15 +1,15 @@ + + + + diff --git a/src/views/business/lab/myMeasure/components/lab-interface.ts b/src/views/business/lab/myMeasure/components/lab-interface.ts new file mode 100644 index 0000000..02b0d1d --- /dev/null +++ b/src/views/business/lab/myMeasure/components/lab-interface.ts @@ -0,0 +1,29 @@ +// 查询参数类型 +export interface ILabSearchQuery { + organizeNo: string // 组织编号 + organizeName: string // 名称 + organizeType: string // 类型-3科室 + isLab: '1' // 是否是实验室 + director: string // 负责人 + meterMajor: string // 专业 + createStartTime: '' // 创建开始时间 + createEndTime: '' // 创建结束事假 +} + +// 部门返回值对象类型 +export interface ILabList { + id: string + deptId: string // 部门id + director: string // 负责人名称 + phone: string // 负责人电话 + meterMajor: string // 计量专业 + organizeNo: string // 实验室编号 + organizeName: string // 实验室名称 + measureItems: string // 全部检测能力 + pDeptId: string // 所属部门 + pDeptName: string // 所属部门 + organizeType: string // 组织类型 + remark?: string // 备注 + createTime?: string // 创建时间 + updateTime?: string // 更新时间 +} diff --git a/src/views/business/lab/myMeasure/components/processConfig.vue b/src/views/business/lab/myMeasure/components/processConfig.vue new file mode 100644 index 0000000..bb66076 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processConfig.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNode.vue b/src/views/business/lab/myMeasure/components/processNode.vue new file mode 100644 index 0000000..fad76ab --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNode.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/components/Sample/certificationMonitor.vue b/src/components/Sample/certificationMonitor.vue index 16c1311..53e8373 100644 --- a/src/components/Sample/certificationMonitor.vue +++ b/src/components/Sample/certificationMonitor.vue @@ -1,15 +1,15 @@ + + + + diff --git a/src/views/business/lab/myMeasure/components/lab-interface.ts b/src/views/business/lab/myMeasure/components/lab-interface.ts new file mode 100644 index 0000000..02b0d1d --- /dev/null +++ b/src/views/business/lab/myMeasure/components/lab-interface.ts @@ -0,0 +1,29 @@ +// 查询参数类型 +export interface ILabSearchQuery { + organizeNo: string // 组织编号 + organizeName: string // 名称 + organizeType: string // 类型-3科室 + isLab: '1' // 是否是实验室 + director: string // 负责人 + meterMajor: string // 专业 + createStartTime: '' // 创建开始时间 + createEndTime: '' // 创建结束事假 +} + +// 部门返回值对象类型 +export interface ILabList { + id: string + deptId: string // 部门id + director: string // 负责人名称 + phone: string // 负责人电话 + meterMajor: string // 计量专业 + organizeNo: string // 实验室编号 + organizeName: string // 实验室名称 + measureItems: string // 全部检测能力 + pDeptId: string // 所属部门 + pDeptName: string // 所属部门 + organizeType: string // 组织类型 + remark?: string // 备注 + createTime?: string // 创建时间 + updateTime?: string // 更新时间 +} diff --git a/src/views/business/lab/myMeasure/components/processConfig.vue b/src/views/business/lab/myMeasure/components/processConfig.vue new file mode 100644 index 0000000..bb66076 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processConfig.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNode.vue b/src/views/business/lab/myMeasure/components/processNode.vue new file mode 100644 index 0000000..fad76ab --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNode.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNodeAdd.vue b/src/views/business/lab/myMeasure/components/processNodeAdd.vue new file mode 100644 index 0000000..d7aeea0 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNodeAdd.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/components/Sample/certificationMonitor.vue b/src/components/Sample/certificationMonitor.vue index 16c1311..53e8373 100644 --- a/src/components/Sample/certificationMonitor.vue +++ b/src/components/Sample/certificationMonitor.vue @@ -1,15 +1,15 @@ + + + + diff --git a/src/views/business/lab/myMeasure/components/lab-interface.ts b/src/views/business/lab/myMeasure/components/lab-interface.ts new file mode 100644 index 0000000..02b0d1d --- /dev/null +++ b/src/views/business/lab/myMeasure/components/lab-interface.ts @@ -0,0 +1,29 @@ +// 查询参数类型 +export interface ILabSearchQuery { + organizeNo: string // 组织编号 + organizeName: string // 名称 + organizeType: string // 类型-3科室 + isLab: '1' // 是否是实验室 + director: string // 负责人 + meterMajor: string // 专业 + createStartTime: '' // 创建开始时间 + createEndTime: '' // 创建结束事假 +} + +// 部门返回值对象类型 +export interface ILabList { + id: string + deptId: string // 部门id + director: string // 负责人名称 + phone: string // 负责人电话 + meterMajor: string // 计量专业 + organizeNo: string // 实验室编号 + organizeName: string // 实验室名称 + measureItems: string // 全部检测能力 + pDeptId: string // 所属部门 + pDeptName: string // 所属部门 + organizeType: string // 组织类型 + remark?: string // 备注 + createTime?: string // 创建时间 + updateTime?: string // 更新时间 +} diff --git a/src/views/business/lab/myMeasure/components/processConfig.vue b/src/views/business/lab/myMeasure/components/processConfig.vue new file mode 100644 index 0000000..bb66076 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processConfig.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNode.vue b/src/views/business/lab/myMeasure/components/processNode.vue new file mode 100644 index 0000000..fad76ab --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNode.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNodeAdd.vue b/src/views/business/lab/myMeasure/components/processNodeAdd.vue new file mode 100644 index 0000000..d7aeea0 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNodeAdd.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/measureDetail.vue b/src/views/business/lab/myMeasure/measureDetail.vue new file mode 100644 index 0000000..e3b85bb --- /dev/null +++ b/src/views/business/lab/myMeasure/measureDetail.vue @@ -0,0 +1,603 @@ + + + + + + + diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/components/Sample/certificationMonitor.vue b/src/components/Sample/certificationMonitor.vue index 16c1311..53e8373 100644 --- a/src/components/Sample/certificationMonitor.vue +++ b/src/components/Sample/certificationMonitor.vue @@ -1,15 +1,15 @@ + + + + diff --git a/src/views/business/lab/myMeasure/components/lab-interface.ts b/src/views/business/lab/myMeasure/components/lab-interface.ts new file mode 100644 index 0000000..02b0d1d --- /dev/null +++ b/src/views/business/lab/myMeasure/components/lab-interface.ts @@ -0,0 +1,29 @@ +// 查询参数类型 +export interface ILabSearchQuery { + organizeNo: string // 组织编号 + organizeName: string // 名称 + organizeType: string // 类型-3科室 + isLab: '1' // 是否是实验室 + director: string // 负责人 + meterMajor: string // 专业 + createStartTime: '' // 创建开始时间 + createEndTime: '' // 创建结束事假 +} + +// 部门返回值对象类型 +export interface ILabList { + id: string + deptId: string // 部门id + director: string // 负责人名称 + phone: string // 负责人电话 + meterMajor: string // 计量专业 + organizeNo: string // 实验室编号 + organizeName: string // 实验室名称 + measureItems: string // 全部检测能力 + pDeptId: string // 所属部门 + pDeptName: string // 所属部门 + organizeType: string // 组织类型 + remark?: string // 备注 + createTime?: string // 创建时间 + updateTime?: string // 更新时间 +} diff --git a/src/views/business/lab/myMeasure/components/processConfig.vue b/src/views/business/lab/myMeasure/components/processConfig.vue new file mode 100644 index 0000000..bb66076 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processConfig.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNode.vue b/src/views/business/lab/myMeasure/components/processNode.vue new file mode 100644 index 0000000..fad76ab --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNode.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNodeAdd.vue b/src/views/business/lab/myMeasure/components/processNodeAdd.vue new file mode 100644 index 0000000..d7aeea0 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNodeAdd.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/measureDetail.vue b/src/views/business/lab/myMeasure/measureDetail.vue new file mode 100644 index 0000000..e3b85bb --- /dev/null +++ b/src/views/business/lab/myMeasure/measureDetail.vue @@ -0,0 +1,603 @@ + + + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue index 62f8830..d9093fe 100644 --- a/src/views/business/lab/myMeasure/myMeasureList.vue +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -13,7 +13,6 @@ import { getMyMeasureList, myExecutiveDone, myExecutiveReceive } from '@/api/business/schedule/task' import type { dictType } from '@/global' import type { IMenu } from '@/components/buttonBox/buttonBox' - const { proxy } = getCurrentInstance() as any const $router = useRouter() // 右上角按钮 @@ -128,7 +127,7 @@ } // 点击详情 const handleDetail = (row: ITaskList) => { - $router.push(`/schedule/task/distribute/${row.sampleId}`) + $router.push(`myMeasureDetail/detail/${row.sampleId}?order=${row.orderId}&customerId=${row.customerId}`) } // 点击分发, 弹窗 diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/components/Sample/certificationMonitor.vue b/src/components/Sample/certificationMonitor.vue index 16c1311..53e8373 100644 --- a/src/components/Sample/certificationMonitor.vue +++ b/src/components/Sample/certificationMonitor.vue @@ -1,15 +1,15 @@ + + + + diff --git a/src/views/business/lab/myMeasure/components/lab-interface.ts b/src/views/business/lab/myMeasure/components/lab-interface.ts new file mode 100644 index 0000000..02b0d1d --- /dev/null +++ b/src/views/business/lab/myMeasure/components/lab-interface.ts @@ -0,0 +1,29 @@ +// 查询参数类型 +export interface ILabSearchQuery { + organizeNo: string // 组织编号 + organizeName: string // 名称 + organizeType: string // 类型-3科室 + isLab: '1' // 是否是实验室 + director: string // 负责人 + meterMajor: string // 专业 + createStartTime: '' // 创建开始时间 + createEndTime: '' // 创建结束事假 +} + +// 部门返回值对象类型 +export interface ILabList { + id: string + deptId: string // 部门id + director: string // 负责人名称 + phone: string // 负责人电话 + meterMajor: string // 计量专业 + organizeNo: string // 实验室编号 + organizeName: string // 实验室名称 + measureItems: string // 全部检测能力 + pDeptId: string // 所属部门 + pDeptName: string // 所属部门 + organizeType: string // 组织类型 + remark?: string // 备注 + createTime?: string // 创建时间 + updateTime?: string // 更新时间 +} diff --git a/src/views/business/lab/myMeasure/components/processConfig.vue b/src/views/business/lab/myMeasure/components/processConfig.vue new file mode 100644 index 0000000..bb66076 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processConfig.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNode.vue b/src/views/business/lab/myMeasure/components/processNode.vue new file mode 100644 index 0000000..fad76ab --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNode.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNodeAdd.vue b/src/views/business/lab/myMeasure/components/processNodeAdd.vue new file mode 100644 index 0000000..d7aeea0 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNodeAdd.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/measureDetail.vue b/src/views/business/lab/myMeasure/measureDetail.vue new file mode 100644 index 0000000..e3b85bb --- /dev/null +++ b/src/views/business/lab/myMeasure/measureDetail.vue @@ -0,0 +1,603 @@ + + + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue index 62f8830..d9093fe 100644 --- a/src/views/business/lab/myMeasure/myMeasureList.vue +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -13,7 +13,6 @@ import { getMyMeasureList, myExecutiveDone, myExecutiveReceive } from '@/api/business/schedule/task' import type { dictType } from '@/global' import type { IMenu } from '@/components/buttonBox/buttonBox' - const { proxy } = getCurrentInstance() as any const $router = useRouter() // 右上角按钮 @@ -128,7 +127,7 @@ } // 点击详情 const handleDetail = (row: ITaskList) => { - $router.push(`/schedule/task/distribute/${row.sampleId}`) + $router.push(`myMeasureDetail/detail/${row.sampleId}?order=${row.orderId}&customerId=${row.customerId}`) } // 点击分发, 弹窗 diff --git a/src/views/business/lab/myMeasure/task-interface.ts b/src/views/business/lab/myMeasure/task-interface.ts new file mode 100644 index 0000000..6503a12 --- /dev/null +++ b/src/views/business/lab/myMeasure/task-interface.ts @@ -0,0 +1,169 @@ +// 任务列表查询条件 +export interface ITaskQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + customerName: string // 委托方名称 + isUrgent: string // 是否加急 + sampleBelong: string // 样品属性 + sampleStatus: string // 分发状态 + startTime: string // 应检定开始时间 + endTime: string // 应检定结束时间 + limit: number + offset: number +} + +// 我的检测/部门检测查询条件 +export interface ILabQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + customerName: string // 委托方名称 + isUrgent: string // 是否加急 + sampleBelong: string // 样品属性 + measureStatus: string // 分发状态 + startTime: string | number // 应检定开始时间 + endTime: string | number // 应检定结束时间 + limit: number + offset: number +} +// 任务列表-返回值 +export interface ITaskList { + orderId: string // 委托书编号 + sampleId: string // 样品唯一标识 + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + sampleModel: string // 型号 + manufacturingNo: string // 出厂编号 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + customerName: string // 委托方名称 + isUrgent: number // 是否加急 + isUrgentName?: string // 是否加急 + requireOverTime: string // 应检完时间 + sampleBelong: string // 样品属性 + sampleBelongName: string // 样品属性 + currentMeasureState: string // 当前检定环节 + currentMeasureStateName: string // 当前检定环节 + alreadyCertifications: number // 已出具证书总数 + requireCertifications: number // 应出具证书总数 + distributeState: string // 分发性质-初次分发、退回分发 + handOutProperty: string // 分发性质-初次分发、退回分发 + id?: string // 实验室id +} + +// 实验室检测/我的检测列表 +export interface IlabMeasureList extends ITaskList { + id: string // 实验室检测id + measurePersonId: string // 检测人id + measureSegmentId: string // 检测部门id + currentSegmentId: string // 检测部门id (新) +} + +// 全部检测流程节点 +export interface ISchedule { + measurePersonId: string // 执行人 + measurePerson: string // 执行人名称 + measureSegmentId: string // 执行部门 + measureSegment: string // 执行部门名称 + executiveItem: string // 检定项目 + alreadyCertifications?: number // 已出具证书总数 + requireCertifications: number // 应出具证书总数 + measureStatus: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + measureStatusName: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + updateTime: string // 流程更新时间 + sendBackTime: string // 退回时间 + sendBackReason: string // 退回原因 + sendBackPersonId: string // 退回人 + sendBackPerson: string // 退回人 + distributePerson: string // 分配人 + distributeTime: string // 分配时间 + startTime: string // 检定开始时间 + overTime: string // 检定完成时间 +} +// 检测流程节点 +export interface IScheduleSet { + measurePersonId: string // 执行人 + measurePerson: string // 执行人名称 + measureSegmentId: string // 执行部门 + measureSegment: string // 执行部门名称 + executiveItem: string // 检定项目 + alreadyCertifications?: number // 已出具证书总数 + requireCertifications: number // 应出具证书总数 + measureStatus: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + measureStatusName: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + updateTime: string // 流程更新时间 + measureSequence?: string // 检测顺序 +} +// 退回流程节点 +export interface IScheduleBack { + measurePersonId: string // 执行人 + measurePerson: string // 执行人名称 + measureSegmentId: string // 执行部门 + measureSegment: string // 执行部门名称 + executiveItem: string // 检定项目 + alreadyCertifications?: number // 已出具证书总数 + requireCertifications?: number // 应出具证书总数 + sendBackTime: string // 退回时间 + sendBackReason: string // 退回原因 + sendBackPersonId: string // 退回人 + sendBackPerson: string // 退回人 +} + +// 样品检测信息 +export interface ISampleMeasure { + id: string // 样品id + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + sampleModel: string // 样品型号 + manufacturingNo: string // 出厂编号 + customerNo: string // 委托方代码 + customerId: string // 委托方id + customerName: string // 委托方名称 + phone: string // 委托方电话 + postalCode: string // 委托方邮编 + customerAddress: string // 委托方地址 + measureCategory: string // 检校类别 + manufacturer: string // 生产厂家 + manufacturerCountry: string // 厂家国别 + manufacturingDate: string // 出厂年月 + abc: string // ABC + measurePeriod: string // 检定周期 + minioFileName: string // 说明书 + labelBind: string // 标签绑定 + measureType: string // 检定方式 + measureTypeName: string // 检定方式 + measureLastTime?: string // 检定日期 + validDeadline: string // 有效日期 + powerVoltage: string // 电源电压 + sampleBelong: string // 样品所属 + sampleBelongName: string // 样品所属 + remark: string // 备注 +} + +export interface ITaskDetail { + measureContent: string // 检定项目 + measureProcessList: ISchedule[] // 检定流程 + measureSendBackList: ISchedule[] // 退回信息 + remark: string // 备注 + orderId: string // 委托单id + orderCode: string // 委托单编号 + certifications: string // 证书类别 + planDeliverTime: string // 预约送达时间 + requireOverTime: string // 要求检完时间 + specialRequire: string // 客户特殊要求 + deliverer: string // 送检人 + delivererTel: string // 送检人联系方式 +} + +// 退回 +export interface ISendBack { + id: string // 实验室检测id + measurePersonId: string // 检定人员id + measureSegmentId: string // 检定环节,实验室id + operateReason: string // 退回原因 + orderId: string // 委托书id + sampleId: string // 样品id +} diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/components/Sample/certificationMonitor.vue b/src/components/Sample/certificationMonitor.vue index 16c1311..53e8373 100644 --- a/src/components/Sample/certificationMonitor.vue +++ b/src/components/Sample/certificationMonitor.vue @@ -1,15 +1,15 @@ + + + + diff --git a/src/views/business/lab/myMeasure/components/lab-interface.ts b/src/views/business/lab/myMeasure/components/lab-interface.ts new file mode 100644 index 0000000..02b0d1d --- /dev/null +++ b/src/views/business/lab/myMeasure/components/lab-interface.ts @@ -0,0 +1,29 @@ +// 查询参数类型 +export interface ILabSearchQuery { + organizeNo: string // 组织编号 + organizeName: string // 名称 + organizeType: string // 类型-3科室 + isLab: '1' // 是否是实验室 + director: string // 负责人 + meterMajor: string // 专业 + createStartTime: '' // 创建开始时间 + createEndTime: '' // 创建结束事假 +} + +// 部门返回值对象类型 +export interface ILabList { + id: string + deptId: string // 部门id + director: string // 负责人名称 + phone: string // 负责人电话 + meterMajor: string // 计量专业 + organizeNo: string // 实验室编号 + organizeName: string // 实验室名称 + measureItems: string // 全部检测能力 + pDeptId: string // 所属部门 + pDeptName: string // 所属部门 + organizeType: string // 组织类型 + remark?: string // 备注 + createTime?: string // 创建时间 + updateTime?: string // 更新时间 +} diff --git a/src/views/business/lab/myMeasure/components/processConfig.vue b/src/views/business/lab/myMeasure/components/processConfig.vue new file mode 100644 index 0000000..bb66076 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processConfig.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNode.vue b/src/views/business/lab/myMeasure/components/processNode.vue new file mode 100644 index 0000000..fad76ab --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNode.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNodeAdd.vue b/src/views/business/lab/myMeasure/components/processNodeAdd.vue new file mode 100644 index 0000000..d7aeea0 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNodeAdd.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/measureDetail.vue b/src/views/business/lab/myMeasure/measureDetail.vue new file mode 100644 index 0000000..e3b85bb --- /dev/null +++ b/src/views/business/lab/myMeasure/measureDetail.vue @@ -0,0 +1,603 @@ + + + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue index 62f8830..d9093fe 100644 --- a/src/views/business/lab/myMeasure/myMeasureList.vue +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -13,7 +13,6 @@ import { getMyMeasureList, myExecutiveDone, myExecutiveReceive } from '@/api/business/schedule/task' import type { dictType } from '@/global' import type { IMenu } from '@/components/buttonBox/buttonBox' - const { proxy } = getCurrentInstance() as any const $router = useRouter() // 右上角按钮 @@ -128,7 +127,7 @@ } // 点击详情 const handleDetail = (row: ITaskList) => { - $router.push(`/schedule/task/distribute/${row.sampleId}`) + $router.push(`myMeasureDetail/detail/${row.sampleId}?order=${row.orderId}&customerId=${row.customerId}`) } // 点击分发, 弹窗 diff --git a/src/views/business/lab/myMeasure/task-interface.ts b/src/views/business/lab/myMeasure/task-interface.ts new file mode 100644 index 0000000..6503a12 --- /dev/null +++ b/src/views/business/lab/myMeasure/task-interface.ts @@ -0,0 +1,169 @@ +// 任务列表查询条件 +export interface ITaskQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + customerName: string // 委托方名称 + isUrgent: string // 是否加急 + sampleBelong: string // 样品属性 + sampleStatus: string // 分发状态 + startTime: string // 应检定开始时间 + endTime: string // 应检定结束时间 + limit: number + offset: number +} + +// 我的检测/部门检测查询条件 +export interface ILabQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + customerName: string // 委托方名称 + isUrgent: string // 是否加急 + sampleBelong: string // 样品属性 + measureStatus: string // 分发状态 + startTime: string | number // 应检定开始时间 + endTime: string | number // 应检定结束时间 + limit: number + offset: number +} +// 任务列表-返回值 +export interface ITaskList { + orderId: string // 委托书编号 + sampleId: string // 样品唯一标识 + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + sampleModel: string // 型号 + manufacturingNo: string // 出厂编号 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + customerName: string // 委托方名称 + isUrgent: number // 是否加急 + isUrgentName?: string // 是否加急 + requireOverTime: string // 应检完时间 + sampleBelong: string // 样品属性 + sampleBelongName: string // 样品属性 + currentMeasureState: string // 当前检定环节 + currentMeasureStateName: string // 当前检定环节 + alreadyCertifications: number // 已出具证书总数 + requireCertifications: number // 应出具证书总数 + distributeState: string // 分发性质-初次分发、退回分发 + handOutProperty: string // 分发性质-初次分发、退回分发 + id?: string // 实验室id +} + +// 实验室检测/我的检测列表 +export interface IlabMeasureList extends ITaskList { + id: string // 实验室检测id + measurePersonId: string // 检测人id + measureSegmentId: string // 检测部门id + currentSegmentId: string // 检测部门id (新) +} + +// 全部检测流程节点 +export interface ISchedule { + measurePersonId: string // 执行人 + measurePerson: string // 执行人名称 + measureSegmentId: string // 执行部门 + measureSegment: string // 执行部门名称 + executiveItem: string // 检定项目 + alreadyCertifications?: number // 已出具证书总数 + requireCertifications: number // 应出具证书总数 + measureStatus: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + measureStatusName: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + updateTime: string // 流程更新时间 + sendBackTime: string // 退回时间 + sendBackReason: string // 退回原因 + sendBackPersonId: string // 退回人 + sendBackPerson: string // 退回人 + distributePerson: string // 分配人 + distributeTime: string // 分配时间 + startTime: string // 检定开始时间 + overTime: string // 检定完成时间 +} +// 检测流程节点 +export interface IScheduleSet { + measurePersonId: string // 执行人 + measurePerson: string // 执行人名称 + measureSegmentId: string // 执行部门 + measureSegment: string // 执行部门名称 + executiveItem: string // 检定项目 + alreadyCertifications?: number // 已出具证书总数 + requireCertifications: number // 应出具证书总数 + measureStatus: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + measureStatusName: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + updateTime: string // 流程更新时间 + measureSequence?: string // 检测顺序 +} +// 退回流程节点 +export interface IScheduleBack { + measurePersonId: string // 执行人 + measurePerson: string // 执行人名称 + measureSegmentId: string // 执行部门 + measureSegment: string // 执行部门名称 + executiveItem: string // 检定项目 + alreadyCertifications?: number // 已出具证书总数 + requireCertifications?: number // 应出具证书总数 + sendBackTime: string // 退回时间 + sendBackReason: string // 退回原因 + sendBackPersonId: string // 退回人 + sendBackPerson: string // 退回人 +} + +// 样品检测信息 +export interface ISampleMeasure { + id: string // 样品id + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + sampleModel: string // 样品型号 + manufacturingNo: string // 出厂编号 + customerNo: string // 委托方代码 + customerId: string // 委托方id + customerName: string // 委托方名称 + phone: string // 委托方电话 + postalCode: string // 委托方邮编 + customerAddress: string // 委托方地址 + measureCategory: string // 检校类别 + manufacturer: string // 生产厂家 + manufacturerCountry: string // 厂家国别 + manufacturingDate: string // 出厂年月 + abc: string // ABC + measurePeriod: string // 检定周期 + minioFileName: string // 说明书 + labelBind: string // 标签绑定 + measureType: string // 检定方式 + measureTypeName: string // 检定方式 + measureLastTime?: string // 检定日期 + validDeadline: string // 有效日期 + powerVoltage: string // 电源电压 + sampleBelong: string // 样品所属 + sampleBelongName: string // 样品所属 + remark: string // 备注 +} + +export interface ITaskDetail { + measureContent: string // 检定项目 + measureProcessList: ISchedule[] // 检定流程 + measureSendBackList: ISchedule[] // 退回信息 + remark: string // 备注 + orderId: string // 委托单id + orderCode: string // 委托单编号 + certifications: string // 证书类别 + planDeliverTime: string // 预约送达时间 + requireOverTime: string // 要求检完时间 + specialRequire: string // 客户特殊要求 + deliverer: string // 送检人 + delivererTel: string // 送检人联系方式 +} + +// 退回 +export interface ISendBack { + id: string // 实验室检测id + measurePersonId: string // 检定人员id + measureSegmentId: string // 检定环节,实验室id + operateReason: string // 退回原因 + orderId: string // 委托书id + sampleId: string // 样品id +} diff --git a/src/views/business/schedule/certPrint/certDetail.vue b/src/views/business/schedule/certPrint/certDetail.vue index 3479854..2a9e394 100644 --- a/src/views/business/schedule/certPrint/certDetail.vue +++ b/src/views/business/schedule/certPrint/certDetail.vue @@ -9,6 +9,7 @@ import { UploadFile } from '@/api/measure/file' import useUserStore from '@/store/modules/user' import showPhoto from '@/views/system/tool/showPhoto.vue' +import { certificatePrintDetail } from '@/api/business/lab/cert' const loading = ref(false) // 表单加载状态 const infoId = ref('') // 证书id const printStatus = ref('') // 可打印状态 @@ -18,16 +19,6 @@ // 从路由中获取页面类型参数 const $route = useRoute() -if ($route.params && $route.params.id) { - infoId.value = $route.query.id as string -} -if ($route.query && $route.query.printStatus) { - printStatus.value = $route.query.printStatus as string -} - -if ($route.query && $route.query.pageType) { - pageType.value = $route.query.pageType as string -} // 逻辑代码 const dataForm = ref({ @@ -219,54 +210,49 @@ // 获取详情信息 const getInfo = (id: string | number) => { - dataForm.value = { - certificationId: '1111', - certificationReportCode: '1111', - certificationReportName: '校准证书', - certificateReportType: '1', - certificateReportTypeName: '校准证书', - sampleId: '1', - sampleNo: '45678652', - sampleName: '压力表', - sampleModel: 'xx', - manufacturingNo: '北无', - orderId: '123456', - orderNo: '123456', - customerNo: '4578545', - customerName: '京东', - measureCatogory: '1', - measureCatogoryName: '光学', - createUser: '', - createUserName: '张三', - printNum: '0', - printStatus: '1', - createTime: '2023-01-05', - calibrationMajor: '1', - issuanceDate: '2023-02-05', - signId: '', - signName: '公司公章', - approvalSignId: '', - approvalSignName: 'CNAS章', - certificateReportFile: '', - originalRecordId: '', - originalRecordCode: '11111', - roomNumber: '304', - temperature: '36', - humidity: '27', - manufacturer: '北无', - customerPhone: '', - customerAddress: '', - deliverer: '张三', - delivererTel: '87447', - planDeliverTime: '2023-02-05', - requireOverTime: '2023-02-05', - mesureContent: 'IP68', - remark: '', - } +// dataForm.value = { +// "approvalStatus": "2", +// "certificateReportCategory": "1,2", +// "certificateReportCode": "RIM202303002", +// "certificateReportFile": "", +// "certificateReportName": "证书报告名称03", +// "certificateReportType": "1", +// "createTime": "2023-03-14T18:28:41", +// "createUser": "1", +// "customerAddress": "ewfewfe ", +// "customerEmail": "", +// "customerName": "京东集团", +// "customerNo": "wtsc202302080001", +// "customerPhone": "950618", +// "deliverer": "张三", +// "delivererId": "1", +// "delivererTel": "113652204", +// "id": "154524246245210210", +// "isDel": false, +// "measureContent": "项目4", +// "measureDeptId": "", +// "measurePersonId": "1", +// "measureType": "2", +// "orderId": "1623234926190817282", +// "originalRecordId": "1625802150301368321", +// "originalRecordName": "", +// "planDeliverTime": "2022-11-29T21:14:50", +// "printNum": 0, +// "printStatus": "1", +// "processId": "", +// "remark": "", +// "requireOverTime": "2023-01-29T21:14:50", +// "sampleId": "1625742343335677953", +// "sampleName": "测试4", +// "sampleNo": "", +// "signId": "", +// "templateId": "" +// } + // certificatePrintDetail({ id }).then(res => { + // dataForm.value = res.data; + // }) } -getInfo(infoId.value) - // 保存后的id const addId = ref('') @@ -303,6 +289,20 @@ const handleClose = () => { dialogVisible.value = false } + +onMounted(() => { + if ($route.params && $route.params.id) { + infoId.value = $route.query.id as string + } + if ($route.query && $route.query.printStatus) { + printStatus.value = $route.query.printStatus as string + } + + if ($route.query && $route.query.pageType) { + pageType.value = $route.query.pageType as string + } + getInfo(infoId.value) +}) diff --git a/src/api/business/lab/cert.ts b/src/api/business/lab/cert.ts index 2b0e682..2c99ed0 100644 --- a/src/api/business/lab/cert.ts +++ b/src/api/business/lab/cert.ts @@ -51,7 +51,7 @@ } // 证书详情 -export function detail(data: object) { +export function certificatePrintDetail(data: object) { return request({ url: '/business/certificatePrint/detail', method: 'post', diff --git a/src/api/business/schedule/task.ts b/src/api/business/schedule/task.ts index 420e7b6..ebf033a 100644 --- a/src/api/business/schedule/task.ts +++ b/src/api/business/schedule/task.ts @@ -140,3 +140,29 @@ }) } +// 证书监控 +export function certificateMonitorsById(data: object) { + return request({ + url: '/business/certificateReport/certificateMonitorsById', + method: 'post', + data, + }) +} + +// 检定记录 +export function measureRecordsById(data: object) { + return request({ + url: '/customer/sample/measureRecordsById', + method: 'post', + data, + }) +} + +// 检定证书 +export function certificateRecordsById(data: object) { + return request({ + url: '/business/certificateReport/certificateRecordsById', + method: 'post', + data, + }) +} diff --git a/src/components/Sample/certificationMonitor.vue b/src/components/Sample/certificationMonitor.vue index 16c1311..53e8373 100644 --- a/src/components/Sample/certificationMonitor.vue +++ b/src/components/Sample/certificationMonitor.vue @@ -1,15 +1,15 @@ + + + + diff --git a/src/views/business/lab/myMeasure/components/lab-interface.ts b/src/views/business/lab/myMeasure/components/lab-interface.ts new file mode 100644 index 0000000..02b0d1d --- /dev/null +++ b/src/views/business/lab/myMeasure/components/lab-interface.ts @@ -0,0 +1,29 @@ +// 查询参数类型 +export interface ILabSearchQuery { + organizeNo: string // 组织编号 + organizeName: string // 名称 + organizeType: string // 类型-3科室 + isLab: '1' // 是否是实验室 + director: string // 负责人 + meterMajor: string // 专业 + createStartTime: '' // 创建开始时间 + createEndTime: '' // 创建结束事假 +} + +// 部门返回值对象类型 +export interface ILabList { + id: string + deptId: string // 部门id + director: string // 负责人名称 + phone: string // 负责人电话 + meterMajor: string // 计量专业 + organizeNo: string // 实验室编号 + organizeName: string // 实验室名称 + measureItems: string // 全部检测能力 + pDeptId: string // 所属部门 + pDeptName: string // 所属部门 + organizeType: string // 组织类型 + remark?: string // 备注 + createTime?: string // 创建时间 + updateTime?: string // 更新时间 +} diff --git a/src/views/business/lab/myMeasure/components/processConfig.vue b/src/views/business/lab/myMeasure/components/processConfig.vue new file mode 100644 index 0000000..bb66076 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processConfig.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNode.vue b/src/views/business/lab/myMeasure/components/processNode.vue new file mode 100644 index 0000000..fad76ab --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNode.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/components/processNodeAdd.vue b/src/views/business/lab/myMeasure/components/processNodeAdd.vue new file mode 100644 index 0000000..d7aeea0 --- /dev/null +++ b/src/views/business/lab/myMeasure/components/processNodeAdd.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/measureDetail.vue b/src/views/business/lab/myMeasure/measureDetail.vue new file mode 100644 index 0000000..e3b85bb --- /dev/null +++ b/src/views/business/lab/myMeasure/measureDetail.vue @@ -0,0 +1,603 @@ + + + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue index 62f8830..d9093fe 100644 --- a/src/views/business/lab/myMeasure/myMeasureList.vue +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -13,7 +13,6 @@ import { getMyMeasureList, myExecutiveDone, myExecutiveReceive } from '@/api/business/schedule/task' import type { dictType } from '@/global' import type { IMenu } from '@/components/buttonBox/buttonBox' - const { proxy } = getCurrentInstance() as any const $router = useRouter() // 右上角按钮 @@ -128,7 +127,7 @@ } // 点击详情 const handleDetail = (row: ITaskList) => { - $router.push(`/schedule/task/distribute/${row.sampleId}`) + $router.push(`myMeasureDetail/detail/${row.sampleId}?order=${row.orderId}&customerId=${row.customerId}`) } // 点击分发, 弹窗 diff --git a/src/views/business/lab/myMeasure/task-interface.ts b/src/views/business/lab/myMeasure/task-interface.ts new file mode 100644 index 0000000..6503a12 --- /dev/null +++ b/src/views/business/lab/myMeasure/task-interface.ts @@ -0,0 +1,169 @@ +// 任务列表查询条件 +export interface ITaskQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + customerName: string // 委托方名称 + isUrgent: string // 是否加急 + sampleBelong: string // 样品属性 + sampleStatus: string // 分发状态 + startTime: string // 应检定开始时间 + endTime: string // 应检定结束时间 + limit: number + offset: number +} + +// 我的检测/部门检测查询条件 +export interface ILabQuery { + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + customerName: string // 委托方名称 + isUrgent: string // 是否加急 + sampleBelong: string // 样品属性 + measureStatus: string // 分发状态 + startTime: string | number // 应检定开始时间 + endTime: string | number // 应检定结束时间 + limit: number + offset: number +} +// 任务列表-返回值 +export interface ITaskList { + orderId: string // 委托书编号 + sampleId: string // 样品唯一标识 + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + sampleModel: string // 型号 + manufacturingNo: string // 出厂编号 + orderNo: string // 委托书编号 + customerNo: string // 委托方代码 + customerName: string // 委托方名称 + isUrgent: number // 是否加急 + isUrgentName?: string // 是否加急 + requireOverTime: string // 应检完时间 + sampleBelong: string // 样品属性 + sampleBelongName: string // 样品属性 + currentMeasureState: string // 当前检定环节 + currentMeasureStateName: string // 当前检定环节 + alreadyCertifications: number // 已出具证书总数 + requireCertifications: number // 应出具证书总数 + distributeState: string // 分发性质-初次分发、退回分发 + handOutProperty: string // 分发性质-初次分发、退回分发 + id?: string // 实验室id +} + +// 实验室检测/我的检测列表 +export interface IlabMeasureList extends ITaskList { + id: string // 实验室检测id + measurePersonId: string // 检测人id + measureSegmentId: string // 检测部门id + currentSegmentId: string // 检测部门id (新) +} + +// 全部检测流程节点 +export interface ISchedule { + measurePersonId: string // 执行人 + measurePerson: string // 执行人名称 + measureSegmentId: string // 执行部门 + measureSegment: string // 执行部门名称 + executiveItem: string // 检定项目 + alreadyCertifications?: number // 已出具证书总数 + requireCertifications: number // 应出具证书总数 + measureStatus: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + measureStatusName: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + updateTime: string // 流程更新时间 + sendBackTime: string // 退回时间 + sendBackReason: string // 退回原因 + sendBackPersonId: string // 退回人 + sendBackPerson: string // 退回人 + distributePerson: string // 分配人 + distributeTime: string // 分配时间 + startTime: string // 检定开始时间 + overTime: string // 检定完成时间 +} +// 检测流程节点 +export interface IScheduleSet { + measurePersonId: string // 执行人 + measurePerson: string // 执行人名称 + measureSegmentId: string // 执行部门 + measureSegment: string // 执行部门名称 + executiveItem: string // 检定项目 + alreadyCertifications?: number // 已出具证书总数 + requireCertifications: number // 应出具证书总数 + measureStatus: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + measureStatusName: string // 检测状态: 待分配,待检测,检测中,检测完, 已退回/取消 + updateTime: string // 流程更新时间 + measureSequence?: string // 检测顺序 +} +// 退回流程节点 +export interface IScheduleBack { + measurePersonId: string // 执行人 + measurePerson: string // 执行人名称 + measureSegmentId: string // 执行部门 + measureSegment: string // 执行部门名称 + executiveItem: string // 检定项目 + alreadyCertifications?: number // 已出具证书总数 + requireCertifications?: number // 应出具证书总数 + sendBackTime: string // 退回时间 + sendBackReason: string // 退回原因 + sendBackPersonId: string // 退回人 + sendBackPerson: string // 退回人 +} + +// 样品检测信息 +export interface ISampleMeasure { + id: string // 样品id + sampleNo: string // 样品编号 + sampleName: string // 样品名称 + sampleModel: string // 样品型号 + manufacturingNo: string // 出厂编号 + customerNo: string // 委托方代码 + customerId: string // 委托方id + customerName: string // 委托方名称 + phone: string // 委托方电话 + postalCode: string // 委托方邮编 + customerAddress: string // 委托方地址 + measureCategory: string // 检校类别 + manufacturer: string // 生产厂家 + manufacturerCountry: string // 厂家国别 + manufacturingDate: string // 出厂年月 + abc: string // ABC + measurePeriod: string // 检定周期 + minioFileName: string // 说明书 + labelBind: string // 标签绑定 + measureType: string // 检定方式 + measureTypeName: string // 检定方式 + measureLastTime?: string // 检定日期 + validDeadline: string // 有效日期 + powerVoltage: string // 电源电压 + sampleBelong: string // 样品所属 + sampleBelongName: string // 样品所属 + remark: string // 备注 +} + +export interface ITaskDetail { + measureContent: string // 检定项目 + measureProcessList: ISchedule[] // 检定流程 + measureSendBackList: ISchedule[] // 退回信息 + remark: string // 备注 + orderId: string // 委托单id + orderCode: string // 委托单编号 + certifications: string // 证书类别 + planDeliverTime: string // 预约送达时间 + requireOverTime: string // 要求检完时间 + specialRequire: string // 客户特殊要求 + deliverer: string // 送检人 + delivererTel: string // 送检人联系方式 +} + +// 退回 +export interface ISendBack { + id: string // 实验室检测id + measurePersonId: string // 检定人员id + measureSegmentId: string // 检定环节,实验室id + operateReason: string // 退回原因 + orderId: string // 委托书id + sampleId: string // 样品id +} diff --git a/src/views/business/schedule/certPrint/certDetail.vue b/src/views/business/schedule/certPrint/certDetail.vue index 3479854..2a9e394 100644 --- a/src/views/business/schedule/certPrint/certDetail.vue +++ b/src/views/business/schedule/certPrint/certDetail.vue @@ -9,6 +9,7 @@ import { UploadFile } from '@/api/measure/file' import useUserStore from '@/store/modules/user' import showPhoto from '@/views/system/tool/showPhoto.vue' +import { certificatePrintDetail } from '@/api/business/lab/cert' const loading = ref(false) // 表单加载状态 const infoId = ref('') // 证书id const printStatus = ref('') // 可打印状态 @@ -18,16 +19,6 @@ // 从路由中获取页面类型参数 const $route = useRoute() -if ($route.params && $route.params.id) { - infoId.value = $route.query.id as string -} -if ($route.query && $route.query.printStatus) { - printStatus.value = $route.query.printStatus as string -} - -if ($route.query && $route.query.pageType) { - pageType.value = $route.query.pageType as string -} // 逻辑代码 const dataForm = ref({ @@ -219,54 +210,49 @@ // 获取详情信息 const getInfo = (id: string | number) => { - dataForm.value = { - certificationId: '1111', - certificationReportCode: '1111', - certificationReportName: '校准证书', - certificateReportType: '1', - certificateReportTypeName: '校准证书', - sampleId: '1', - sampleNo: '45678652', - sampleName: '压力表', - sampleModel: 'xx', - manufacturingNo: '北无', - orderId: '123456', - orderNo: '123456', - customerNo: '4578545', - customerName: '京东', - measureCatogory: '1', - measureCatogoryName: '光学', - createUser: '', - createUserName: '张三', - printNum: '0', - printStatus: '1', - createTime: '2023-01-05', - calibrationMajor: '1', - issuanceDate: '2023-02-05', - signId: '', - signName: '公司公章', - approvalSignId: '', - approvalSignName: 'CNAS章', - certificateReportFile: '', - originalRecordId: '', - originalRecordCode: '11111', - roomNumber: '304', - temperature: '36', - humidity: '27', - manufacturer: '北无', - customerPhone: '', - customerAddress: '', - deliverer: '张三', - delivererTel: '87447', - planDeliverTime: '2023-02-05', - requireOverTime: '2023-02-05', - mesureContent: 'IP68', - remark: '', - } +// dataForm.value = { +// "approvalStatus": "2", +// "certificateReportCategory": "1,2", +// "certificateReportCode": "RIM202303002", +// "certificateReportFile": "", +// "certificateReportName": "证书报告名称03", +// "certificateReportType": "1", +// "createTime": "2023-03-14T18:28:41", +// "createUser": "1", +// "customerAddress": "ewfewfe ", +// "customerEmail": "", +// "customerName": "京东集团", +// "customerNo": "wtsc202302080001", +// "customerPhone": "950618", +// "deliverer": "张三", +// "delivererId": "1", +// "delivererTel": "113652204", +// "id": "154524246245210210", +// "isDel": false, +// "measureContent": "项目4", +// "measureDeptId": "", +// "measurePersonId": "1", +// "measureType": "2", +// "orderId": "1623234926190817282", +// "originalRecordId": "1625802150301368321", +// "originalRecordName": "", +// "planDeliverTime": "2022-11-29T21:14:50", +// "printNum": 0, +// "printStatus": "1", +// "processId": "", +// "remark": "", +// "requireOverTime": "2023-01-29T21:14:50", +// "sampleId": "1625742343335677953", +// "sampleName": "测试4", +// "sampleNo": "", +// "signId": "", +// "templateId": "" +// } + // certificatePrintDetail({ id }).then(res => { + // dataForm.value = res.data; + // }) } -getInfo(infoId.value) - // 保存后的id const addId = ref('') @@ -303,6 +289,20 @@ const handleClose = () => { dialogVisible.value = false } + +onMounted(() => { + if ($route.params && $route.params.id) { + infoId.value = $route.query.id as string + } + if ($route.query && $route.query.printStatus) { + printStatus.value = $route.query.printStatus as string + } + + if ($route.query && $route.query.pageType) { + pageType.value = $route.query.pageType as string + } + getInfo(infoId.value) +}) - + //pdf预览 diff --git a/src/views/business/schedule/task/components/distributeDialog.vue b/src/views/business/schedule/task/components/distributeDialog.vue index d46a204..d342a64 100644 --- a/src/views/business/schedule/task/components/distributeDialog.vue +++ b/src/views/business/schedule/task/components/distributeDialog.vue @@ -45,7 +45,7 @@ sampleDetail.value.sampleName = res.data.sampleName sampleDetail.value.mesureContent = res.data.mesureContent sampleDetail.value.remark = res.data.remark - sampleDetail.value.certifications = res.data.certifications + sampleDetail.value.certifications = res.data.certifications.split(',') sampleDetail.value.measureProcessList = res.data.measureProcessList sampleDetail.value.measureSendBackList = res.data.measureSendBackList getInfoNext(res.data.measureContent) diff --git a/src/views/business/schedule/task/task-interface.ts b/src/views/business/schedule/task/task-interface.ts index 6503a12..50308c7 100644 --- a/src/views/business/schedule/task/task-interface.ts +++ b/src/views/business/schedule/task/task-interface.ts @@ -52,6 +52,7 @@ distributeState: string // 分发性质-初次分发、退回分发 handOutProperty: string // 分发性质-初次分发、退回分发 id?: string // 实验室id + customerId?: string // 客户id } // 实验室检测/我的检测列表 diff --git a/src/views/business/schedule/task/taskEdit.vue b/src/views/business/schedule/task/taskEdit.vue index 1d1e04f..d8fc8e3 100644 --- a/src/views/business/schedule/task/taskEdit.vue +++ b/src/views/business/schedule/task/taskEdit.vue @@ -22,6 +22,7 @@ const loading = ref(false) // 表单加载状态 const sampleId = ref('') // 样品详情id const orderId = ref('') // 委托书id +const customerId = ref('') // 客户id const mesureCategoryList = ref([]) // 校检类别 const mesureTypeList = ref([]) // 检定方式 @@ -274,6 +275,7 @@ if ($route.params.id) { sampleId.value = $route.params.id as string orderId.value = $route.query.order as string + customerId.value = $route.query.customerId as string // 获取分发详情 getInfo() // getSampleInfo() // 取消 @@ -530,7 +532,7 @@ :disabled="roleType === 'detail'" :class="{ 'detail-input': roleType === 'detail' }" > - - + - + - + diff --git a/src/views/business/schedule/task/taskList.vue b/src/views/business/schedule/task/taskList.vue index 0efec98..dfbbf6a 100644 --- a/src/views/business/schedule/task/taskList.vue +++ b/src/views/business/schedule/task/taskList.vue @@ -81,8 +81,7 @@ { text: '应检完时间', value: 'requireOverTime', align: 'center', width: '165px' }, { text: '样品属性', value: 'sampleBelongName', width: '100', align: 'center' }, { text: '当前检定环节', value: 'currentSegment', align: 'center', width: '90' }, - { text: '证书出具', value: 'certificationState', align: 'center', width: '90', filter: (row: ITaskList) => { return row.alreadyCertifications ? `${row.alreadyCertifications}/${row.requireCertifications}` : '0/0' } }, - { text: '分发性质', value: 'handOutProperty', align: 'center', width: '90px' }, + { text: '证书出具', value: 'certificationState', align: 'center', width: '90', filter: (row: ITaskList) => { return `${row.alreadyCertifications}/${row.requireCertifications}` } }, ]) // 表格数据 const list = ref([]) @@ -101,6 +100,7 @@ listQuery.value.offset = 1 } listQuery.value.sampleStatus = active.value || '2' + list.value = [] getTaskList(listQuery.value).then((response) => { list.value = response.data.rows.map((item: ITaskList) => { item.isUrgentName = item.isUrgent == 1 ? '是' : '否' @@ -141,8 +141,8 @@ // 点击详情 const handleDetail = (row: ITaskList) => { console.log('跳转任务分发详情') - - $router.push(`/schedule/task/distribute/${row.sampleId}?order=${row.orderId}`) + // $router.push(`/schedule/task/distribute/${row.sampleId}?order=${row.orderId}&customerId=${row.customerId}`) + $router.push(`/schedule/task/detail/${row.sampleId}?order=${row.orderId}&customerId=${row.customerId}`) } // 点击分发, 弹窗 @@ -317,6 +317,12 @@