diff --git a/src/api/business/task.ts b/src/api/business/task.ts index cba53af..9c21a82 100644 --- a/src/api/business/task.ts +++ b/src/api/business/task.ts @@ -2,7 +2,7 @@ * 任务分发,实验室检测 */ import request from '../index' -import type { ITaskQuery } from '@/views/business/schedule/task/task-interface' +import type { ISendBack, ITaskQuery } from '@/views/business/schedule/task/task-interface' const prefix = '/meter' // 任务分发列表查询 @@ -26,14 +26,23 @@ // 导出列表 export function exportTaskList(data: Omit) { return request({ - url: `${prefix}/schedule/task/listExport`, + url: '/business/labExecutive/handOut/listExport', method: 'post', responseType: 'blob', data, }) } -// 任务分发 +// 初始化检定流程 +export function init(data: { measureContent: string; orderId: string; sampleId: string }) { + return request({ + url: '/business/labExecutive/handOut/initList', + method: 'post', + data, + }) +} + +// 收发员任务分发 export function setMeasureProcess(data: { orderId: string; sampleId: string; measureProcessList: any[] }) { return request({ url: '/business/labExecutive/handOut/execute', @@ -42,7 +51,7 @@ }) } -// 分发员编辑实验室检测列表 +// 实验室编辑实验室检测列表 export function setMeasureProcessByFfy(data: { orderId: string; sampleId: string; measureProcessList: any[] }) { return request({ url: '/business/labExecutive/handOut/updateList', @@ -51,8 +60,8 @@ }) } -// 退回 -export function rollbackTask(data) { +// 退回(待检测/检测中->退回) +export function sendBackProcess(data: ISendBack) { return request({ url: `${prefix}/schedule/task/setSchedule`, method: 'post', @@ -61,7 +70,7 @@ } // 实验室收入样品 -export function takeInSample(data) { +export function takeInSample(data: { orderId: string; sampleId: string }[]) { return request({ url: `${prefix}/schedule/task/setSchedule`, method: 'post', @@ -69,26 +78,8 @@ }) } -// 批量收入样品 -export function batchTakeInSample(data) { - return request({ - url: `${prefix}/schedule/task/setSchedule`, - method: 'post', - data, - }) -} - -// 检完样品 -export function overSample(data) { - return request({ - url: `${prefix}/schedule/task/setSchedule`, - method: 'post', - data, - }) -} - -// 批量检完样品 -export function batchOverSample(data) { +// 检完样品-手动/批量 +export function overSample(data: { orderId: string; sampleId: string }[]) { return request({ url: `${prefix}/schedule/task/setSchedule`, method: 'post', @@ -97,7 +88,7 @@ } // 我的检测-列表 -export function getMyMeasureList(data: ILabQuery) { +export function getMyMeasureList(data: ITaskQuery) { return request({ url: `/business/labExecutive/myExecutive/list?offset=${data.offset}&limit=${data.limit}`, method: 'post', @@ -105,8 +96,8 @@ }) } -// 我的检测-列表 -export function getDeptMeasureList(data: ILabQuery) { +// 部门检测-列表 +export function getDeptMeasureList(data: ITaskQuery) { return request({ url: `/business/labExecutive/deptExecutive/List?offset=${data.offset}&limit=${data.limit}`, method: 'post', diff --git a/src/api/business/task.ts b/src/api/business/task.ts index cba53af..9c21a82 100644 --- a/src/api/business/task.ts +++ b/src/api/business/task.ts @@ -2,7 +2,7 @@ * 任务分发,实验室检测 */ import request from '../index' -import type { ITaskQuery } from '@/views/business/schedule/task/task-interface' +import type { ISendBack, ITaskQuery } from '@/views/business/schedule/task/task-interface' const prefix = '/meter' // 任务分发列表查询 @@ -26,14 +26,23 @@ // 导出列表 export function exportTaskList(data: Omit) { return request({ - url: `${prefix}/schedule/task/listExport`, + url: '/business/labExecutive/handOut/listExport', method: 'post', responseType: 'blob', data, }) } -// 任务分发 +// 初始化检定流程 +export function init(data: { measureContent: string; orderId: string; sampleId: string }) { + return request({ + url: '/business/labExecutive/handOut/initList', + method: 'post', + data, + }) +} + +// 收发员任务分发 export function setMeasureProcess(data: { orderId: string; sampleId: string; measureProcessList: any[] }) { return request({ url: '/business/labExecutive/handOut/execute', @@ -42,7 +51,7 @@ }) } -// 分发员编辑实验室检测列表 +// 实验室编辑实验室检测列表 export function setMeasureProcessByFfy(data: { orderId: string; sampleId: string; measureProcessList: any[] }) { return request({ url: '/business/labExecutive/handOut/updateList', @@ -51,8 +60,8 @@ }) } -// 退回 -export function rollbackTask(data) { +// 退回(待检测/检测中->退回) +export function sendBackProcess(data: ISendBack) { return request({ url: `${prefix}/schedule/task/setSchedule`, method: 'post', @@ -61,7 +70,7 @@ } // 实验室收入样品 -export function takeInSample(data) { +export function takeInSample(data: { orderId: string; sampleId: string }[]) { return request({ url: `${prefix}/schedule/task/setSchedule`, method: 'post', @@ -69,26 +78,8 @@ }) } -// 批量收入样品 -export function batchTakeInSample(data) { - return request({ - url: `${prefix}/schedule/task/setSchedule`, - method: 'post', - data, - }) -} - -// 检完样品 -export function overSample(data) { - return request({ - url: `${prefix}/schedule/task/setSchedule`, - method: 'post', - data, - }) -} - -// 批量检完样品 -export function batchOverSample(data) { +// 检完样品-手动/批量 +export function overSample(data: { orderId: string; sampleId: string }[]) { return request({ url: `${prefix}/schedule/task/setSchedule`, method: 'post', @@ -97,7 +88,7 @@ } // 我的检测-列表 -export function getMyMeasureList(data: ILabQuery) { +export function getMyMeasureList(data: ITaskQuery) { return request({ url: `/business/labExecutive/myExecutive/list?offset=${data.offset}&limit=${data.limit}`, method: 'post', @@ -105,8 +96,8 @@ }) } -// 我的检测-列表 -export function getDeptMeasureList(data: ILabQuery) { +// 部门检测-列表 +export function getDeptMeasureList(data: ITaskQuery) { return request({ url: `/business/labExecutive/deptExecutive/List?offset=${data.offset}&limit=${data.limit}`, method: 'post', diff --git a/src/views/business/lab/components/rollbackDialog.vue b/src/views/business/lab/components/rollbackDialog.vue index f80d0c5..fc787ff 100644 --- a/src/views/business/lab/components/rollbackDialog.vue +++ b/src/views/business/lab/components/rollbackDialog.vue @@ -3,7 +3,8 @@ import type { FormInstance, FormRules } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus' import { reactive, ref } from 'vue' -import { rollbackTask } from '@/api/business/task' +import type { ISendBack, IlabMeasureList } from '../../schedule/task/task-interface' +import { sendBackProcess } from '@/api/business/task' // 对外暴露的方法: 退回成功 const emit = defineEmits(['onSuccess']) @@ -11,11 +12,22 @@ const dialogVisible = ref(false) // 默认表单 const defaultFormData = { - id: '', // - comments: '', // 备注 + id: '', // 实验室检测id + measurePersonId: '', // 检定人员id + measureSegmentId: '', // 检定环节,实验室id + operateReason: '', // 退回原因 + orderId: '', // 委托书id + sampleId: '', // 样品id } // 表单数据对象 -const formData = reactive({ ...defaultFormData }) +const formData: ISendBack = reactive({ + id: '', // 实验室检测id + measurePersonId: '', // 检定人员id + measureSegmentId: '', // 检定环节,实验室id + operateReason: '', // 退回原因 + orderId: '', // 委托书id + sampleId: '', // 样品id +}) // 保存按钮加载状态 const btnLoading = ref(false) @@ -25,16 +37,20 @@ const dataFormRef = ref() // 校验规则 const rules: FormRules = reactive({ - comments: [{ required: true, message: '退回原因必填', trigger: ['blur', 'change'] }], + operateReason: [{ required: true, message: '退回原因必填', trigger: ['blur', 'change'] }], }) /** * 初始化审批弹窗 * @param type 审批类型 * @param taskId 任务id */ -function initDialog(id: string) { - formData.id = id - formData.comments = '' +function initDialog(row: IlabMeasureList) { + formData.id = row.id + formData.measurePersonId = row.measurePersonId + formData.measureSegmentId = row.measureSegmentId + formData.orderId = row.orderId + formData.sampleId = row.sampleId + formData.operateReason = '' dialogVisible.value = true } // 提交表单 @@ -48,11 +64,13 @@ { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }, ).then(() => { btnLoading.value = true - rollbackTask(formData).then((res) => { - ElMessage.success('操作成功') - btnLoading.value = false - dialogVisible.value = false - emit('onSuccess') + sendBackProcess(formData).then((res: { code: number }) => { + if (res.code == 200) { + ElMessage.success('退回成功') + btnLoading.value = false + dialogVisible.value = false + emit('onSuccess') + } }).catch((_) => { btnLoading.value = false }) @@ -86,9 +104,9 @@ > - + ) { return request({ - url: `${prefix}/schedule/task/listExport`, + url: '/business/labExecutive/handOut/listExport', method: 'post', responseType: 'blob', data, }) } -// 任务分发 +// 初始化检定流程 +export function init(data: { measureContent: string; orderId: string; sampleId: string }) { + return request({ + url: '/business/labExecutive/handOut/initList', + method: 'post', + data, + }) +} + +// 收发员任务分发 export function setMeasureProcess(data: { orderId: string; sampleId: string; measureProcessList: any[] }) { return request({ url: '/business/labExecutive/handOut/execute', @@ -42,7 +51,7 @@ }) } -// 分发员编辑实验室检测列表 +// 实验室编辑实验室检测列表 export function setMeasureProcessByFfy(data: { orderId: string; sampleId: string; measureProcessList: any[] }) { return request({ url: '/business/labExecutive/handOut/updateList', @@ -51,8 +60,8 @@ }) } -// 退回 -export function rollbackTask(data) { +// 退回(待检测/检测中->退回) +export function sendBackProcess(data: ISendBack) { return request({ url: `${prefix}/schedule/task/setSchedule`, method: 'post', @@ -61,7 +70,7 @@ } // 实验室收入样品 -export function takeInSample(data) { +export function takeInSample(data: { orderId: string; sampleId: string }[]) { return request({ url: `${prefix}/schedule/task/setSchedule`, method: 'post', @@ -69,26 +78,8 @@ }) } -// 批量收入样品 -export function batchTakeInSample(data) { - return request({ - url: `${prefix}/schedule/task/setSchedule`, - method: 'post', - data, - }) -} - -// 检完样品 -export function overSample(data) { - return request({ - url: `${prefix}/schedule/task/setSchedule`, - method: 'post', - data, - }) -} - -// 批量检完样品 -export function batchOverSample(data) { +// 检完样品-手动/批量 +export function overSample(data: { orderId: string; sampleId: string }[]) { return request({ url: `${prefix}/schedule/task/setSchedule`, method: 'post', @@ -97,7 +88,7 @@ } // 我的检测-列表 -export function getMyMeasureList(data: ILabQuery) { +export function getMyMeasureList(data: ITaskQuery) { return request({ url: `/business/labExecutive/myExecutive/list?offset=${data.offset}&limit=${data.limit}`, method: 'post', @@ -105,8 +96,8 @@ }) } -// 我的检测-列表 -export function getDeptMeasureList(data: ILabQuery) { +// 部门检测-列表 +export function getDeptMeasureList(data: ITaskQuery) { return request({ url: `/business/labExecutive/deptExecutive/List?offset=${data.offset}&limit=${data.limit}`, method: 'post', diff --git a/src/views/business/lab/components/rollbackDialog.vue b/src/views/business/lab/components/rollbackDialog.vue index f80d0c5..fc787ff 100644 --- a/src/views/business/lab/components/rollbackDialog.vue +++ b/src/views/business/lab/components/rollbackDialog.vue @@ -3,7 +3,8 @@ import type { FormInstance, FormRules } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus' import { reactive, ref } from 'vue' -import { rollbackTask } from '@/api/business/task' +import type { ISendBack, IlabMeasureList } from '../../schedule/task/task-interface' +import { sendBackProcess } from '@/api/business/task' // 对外暴露的方法: 退回成功 const emit = defineEmits(['onSuccess']) @@ -11,11 +12,22 @@ const dialogVisible = ref(false) // 默认表单 const defaultFormData = { - id: '', // - comments: '', // 备注 + id: '', // 实验室检测id + measurePersonId: '', // 检定人员id + measureSegmentId: '', // 检定环节,实验室id + operateReason: '', // 退回原因 + orderId: '', // 委托书id + sampleId: '', // 样品id } // 表单数据对象 -const formData = reactive({ ...defaultFormData }) +const formData: ISendBack = reactive({ + id: '', // 实验室检测id + measurePersonId: '', // 检定人员id + measureSegmentId: '', // 检定环节,实验室id + operateReason: '', // 退回原因 + orderId: '', // 委托书id + sampleId: '', // 样品id +}) // 保存按钮加载状态 const btnLoading = ref(false) @@ -25,16 +37,20 @@ const dataFormRef = ref() // 校验规则 const rules: FormRules = reactive({ - comments: [{ required: true, message: '退回原因必填', trigger: ['blur', 'change'] }], + operateReason: [{ required: true, message: '退回原因必填', trigger: ['blur', 'change'] }], }) /** * 初始化审批弹窗 * @param type 审批类型 * @param taskId 任务id */ -function initDialog(id: string) { - formData.id = id - formData.comments = '' +function initDialog(row: IlabMeasureList) { + formData.id = row.id + formData.measurePersonId = row.measurePersonId + formData.measureSegmentId = row.measureSegmentId + formData.orderId = row.orderId + formData.sampleId = row.sampleId + formData.operateReason = '' dialogVisible.value = true } // 提交表单 @@ -48,11 +64,13 @@ { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }, ).then(() => { btnLoading.value = true - rollbackTask(formData).then((res) => { - ElMessage.success('操作成功') - btnLoading.value = false - dialogVisible.value = false - emit('onSuccess') + sendBackProcess(formData).then((res: { code: number }) => { + if (res.code == 200) { + ElMessage.success('退回成功') + btnLoading.value = false + dialogVisible.value = false + emit('onSuccess') + } }).catch((_) => { btnLoading.value = false }) @@ -86,9 +104,9 @@ > - +