diff --git a/src/views/biz/weibingju/prescription/components/PrescriptionDetailDialog.vue b/src/views/biz/weibingju/prescription/components/PrescriptionDetailDialog.vue index b6842b2..acf0d01 100644 --- a/src/views/biz/weibingju/prescription/components/PrescriptionDetailDialog.vue +++ b/src/views/biz/weibingju/prescription/components/PrescriptionDetailDialog.vue @@ -28,7 +28,6 @@ :disabled="isViewMode"> - 新增员工 @@ -36,6 +35,13 @@ + + + + 领导 + 普通员工 + + @@ -239,7 +245,7 @@ import { ElMessage } from 'element-plus' import type { FormInstance, FormRules } from 'element-plus' import { prescriptionApi } from '@/api' -import { medicinalApi } from '@/api/modules/biz/weibingju/medicinal' +import { medicinalApi } from '@/api/modules/biz/WeiBingJu/medicinal' // 接口定义 interface Employee { @@ -247,6 +253,7 @@ interface Employee { name: string; birthday?: string; height?: number; + type?: number; } interface Relative { id: string | number; @@ -294,6 +301,7 @@ const isEdit = computed(() => props.isEdit) // 表单数据 const formData = ref({ personType: 1, + type: undefined as number | undefined, employeeId: undefined as string | number | undefined, newEmployeeName: '', relatedEmployeeId: undefined as string | number | undefined, @@ -313,6 +321,17 @@ const formData = ref({ // 表单校验规则 const formRules: FormRules = { personType: [{ required: true, message: '请选择人员类型', trigger: 'change' }], + type: [{ + required: true, + validator: (rule, value, callback) => { + if (formData.value.personType === 1 && !formData.value.type) { + callback(new Error('请选择员工性质')) + } else { + callback() + } + }, + trigger: 'change' + }], employeeInfo: [{ required: true, validator: (rule, value, callback) => { @@ -440,7 +459,7 @@ const loadRelatives = async (employeeId: number | string) => { showRelativeSelect.value = false ElMessage.info('该员工为本地新增,暂无家属数据,请手动输入家属姓名') } else { - const res: any = await prescriptionApi.getPersonList({ type: 2, employeeId }) + const res: any = await prescriptionApi.getPersonList({ type: 2, employeeId: Number(employeeId) }) relativeOptions.value = (res && res.data) ? res.data : [] showRelativeSelect.value = relativeOptions.value.length > 0 } @@ -489,6 +508,7 @@ const handleEmployeeChange = (selectedId: string | number | undefined) => { if (selectedEmployee) { formData.value.birthday = selectedEmployee.birthday formData.value.height = selectedEmployee.height + formData.value.type = selectedEmployee.type } } } @@ -497,6 +517,7 @@ const handleEmployeeClear = () => { formData.value.newEmployeeName = '' formData.value.birthday = undefined formData.value.height = undefined + formData.value.type = undefined } } const handleRelatedEmployeeChange = (selectedId: string | number | undefined) => { @@ -712,6 +733,7 @@ const handleVisibleChange = (value: boolean) => { const resetForm = () => { formData.value = { personType: 1, + type: undefined, employeeId: undefined, newEmployeeName: '', relatedEmployeeId: undefined, @@ -751,6 +773,7 @@ const handleSubmit = async () => { const personObj: any = {} const isPatientEmployee = formData.value.personType === 1 personObj.isEmployee = isPatientEmployee + personObj.type = isPatientEmployee ? formData.value.type : undefined if (isPatientEmployee) { if (formData.value.employeeId) { @@ -876,6 +899,7 @@ watch(() => props.visible, async (newVal) => { formData.value.employeeId = person.id ?? undefined formData.value.birthday = person.birthday ?? undefined formData.value.height = person.height ?? undefined + formData.value.type = person.type ?? undefined } else { formData.value.relatedEmployeeId = person.employeeId ?? undefined formData.value.relativeId = person.id ?? undefined diff --git a/src/views/biz/weibingju/prescription/index.vue b/src/views/biz/weibingju/prescription/index.vue index 8441564..fd48fa6 100644 --- a/src/views/biz/weibingju/prescription/index.vue +++ b/src/views/biz/weibingju/prescription/index.vue @@ -11,7 +11,11 @@