From 6dd15833f264f24ccf3041449792367545a7ac8a Mon Sep 17 00:00:00 2001 From: Euni4U <958079825@qq.com> Date: Tue, 18 Feb 2025 15:55:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=A1=B9=E7=9B=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97=E4=B8=AD=E5=9F=BA=E7=A1=80=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=B8=AD=E7=9A=84=E4=B8=80=E4=BA=9B=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=EF=BC=8C=E6=8E=A5=E5=8F=A3=E6=96=87=E4=BB=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E4=B8=80=E9=83=A8=E5=88=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/inspect/exammodule/index.ts | 17 + src/views/project-management/base/baseUI.vue | 24 +- .../project-management/base/createUI.vue | 18 +- .../exam-package/drawer.vue | 70 +-- .../exam-package/exam-packageUI.vue | 545 ++++++++++++++++-- .../project-management/exam-package/new.vue | 29 +- 6 files changed, 568 insertions(+), 135 deletions(-) diff --git a/src/api/inspect/exammodule/index.ts b/src/api/inspect/exammodule/index.ts index c0a6f87..35b68d1 100644 --- a/src/api/inspect/exammodule/index.ts +++ b/src/api/inspect/exammodule/index.ts @@ -20,11 +20,21 @@ export const ExammoduleApi = { return await request.get({ url: `/inspect/exammodule/get?id=` + id }) }, + //所有体检套餐 + getListExammodule: async () => { + return await request.get({ url: `/inspect/exammodule/getList` }) + }, + // 新增体检套餐 createExammodule: async (data: ExammoduleVO) => { return await request.post({ url: `/inspect/exammodule/create`, data }) }, + //新增体检套餐和项目 + ListcreateExammodule: async (data: any) => { + return await request.post({ url: `/inspect/exammodule/Listcreate`, data }) + }, + // 修改体检套餐 updateExammodule: async (data: ExammoduleVO) => { return await request.put({ url: `/inspect/exammodule/update`, data }) @@ -35,6 +45,13 @@ export const ExammoduleApi = { return await request.delete({ url: `/inspect/exammodule/delete?id=` + id }) }, + // 按照套餐项目ID和套餐ID删除体检套餐项目 + deleteExammoduleitemcode: async (params: { itemCode: string, examModuleID: number }) => { + return await request.delete({ + url: `/inspect/exammodule/deleteitemcode?itemCode=${params.itemCode}&examModuleID=${params.examModuleID}` + }) + }, + // 导出体检套餐 Excel exportExammodule: async (params) => { return await request.download({ url: `/inspect/exammodule/export-excel`, params }) diff --git a/src/views/project-management/base/baseUI.vue b/src/views/project-management/base/baseUI.vue index 72bddff..726316d 100644 --- a/src/views/project-management/base/baseUI.vue +++ b/src/views/project-management/base/baseUI.vue @@ -20,10 +20,10 @@ - + - + 搜索 @@ -57,9 +57,13 @@ - - - + + + + + @@ -75,7 +79,7 @@ @@ -104,7 +108,7 @@ diff --git a/src/views/project-management/exam-package/new.vue b/src/views/project-management/exam-package/new.vue index 716fc8d..b5d6589 100644 --- a/src/views/project-management/exam-package/new.vue +++ b/src/views/project-management/exam-package/new.vue @@ -55,7 +55,6 @@ const formData = reactive({ packageName: '', examModuleName: '', examModuleID: 0, - itemCode: '' }) const handlePackageCodeInput = (value) => { @@ -75,22 +74,6 @@ const rules = { } }, trigger: 'blur' - }, - { - validator: async (rule, value, callback) => { - if (!value) return callback() - const result = await ExammoduleApi.createExammodule({ - examModuleName: formData.packageName, - examModuleID: Number(value), - itemCode: value, - }) - if (result === 999) { - callback(new Error('套餐编号已存在')) - } else { - callback() - } - }, - trigger: 'blur' } ], packageName: [{ required: true, message: '请输入套餐名称', trigger: 'blur' }] @@ -116,6 +99,18 @@ const handleSubmit = async () => { if (!newPackageRef.value) return try { await newPackageRef.value.validate() + + // 在表单验证通过后检查套餐编号是否存在 + const result = await ExammoduleApi.createExammodule({ + examModuleName: formData.packageName, + examModuleID: Number(formData.packageCode), + }) + + if (result === 999) { + ElMessage.error('套餐编号已存在') + return + } + ElMessage.success('新增套餐成功') visible.value = false emit('refresh-list')