From 88088c01ace4ec299f97d5ebe683f658500a4a19 Mon Sep 17 00:00:00 2001 From: Ranyunqiao <2499115710@qq.com> Date: Mon, 23 Mar 2026 17:24:01 +0800 Subject: [PATCH] =?UTF-8?q?109=20=E4=BD=8F=E9=99=A2=E5=8C=BB=E7=94=9F?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=99-=E3=80=8B=E4=BD=8F=E9=99=A2?= =?UTF-8?q?=E7=97=85=E5=8E=86=E7=9A=84=E3=80=90=E5=AD=98=E4=B8=BA=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E3=80=91=E7=95=8C=E9=9D=A2=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DocTemplateAppServiceImpl.java | 4 +- .../components/template.vue | 4 +- .../src/views/inpatientDoctor/home/emr/api.js | 23 +- .../home/emr/components/createTemplate.vue | 590 ++++++++++++++++++ .../home/emr/components/template.vue | 33 +- .../home/emr/components/templateEdit.vue | 214 +++++-- .../views/inpatientDoctor/home/emr/index.vue | 112 ++-- 7 files changed, 869 insertions(+), 111 deletions(-) create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/createTemplate.vue diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/appservice/impl/DocTemplateAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/appservice/impl/DocTemplateAppServiceImpl.java index dcc22608..d2344a98 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/appservice/impl/DocTemplateAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/document/appservice/impl/DocTemplateAppServiceImpl.java @@ -59,7 +59,7 @@ public class DocTemplateAppServiceImpl implements IDocTemplateAppService { docTemplateDto.setUserId(SecurityUtils.getLoginUser().getUserId()); } docTemplate.setOrganizationId(docTemplateDto.getOrganizationId()); - docTemplate.setId(docTemplateDto.getUserId()); + docTemplate.setUserId(docTemplateDto.getUserId()); docTemplate.setUseRange(docTemplateDto.getUseRange()); docTemplate.setRemark(docTemplateDto.getRemark()); docTemplateService.save(docTemplate); @@ -140,7 +140,7 @@ public class DocTemplateAppServiceImpl implements IDocTemplateAppService { docTemplate.setOrganizationId(docTemplateDto.getOrganizationId()); docTemplate.setUserId(docTemplateDto.getUserId()); docTemplate.setRemark(docTemplateDto.getRemark()); - docTemplateService.save(docTemplate); + docTemplateService.updateById(docTemplate); return R.ok("更新成功"); } diff --git a/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/components/template.vue b/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/components/template.vue index ed220122..06335b0f 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/components/template.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/components/template.vue @@ -9,8 +9,7 @@ -->
- - +
{{ item.name }} @@ -19,7 +18,6 @@
-
diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/api.js b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/api.js index 68edb556..b9b4bd85 100644 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/api.js +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/api.js @@ -74,10 +74,29 @@ export function updateTemplate(data) { } // 删除模板 -export function deleteTemplate(ids) { +export function deleteTemplate(id) { return request({ url: '/document/template/delete', method: 'delete', - data: ids, + params: { id }, }); } + + +// 保存或更新模板 +export function saveOrUpdate(data) { + if (data.id && data.id !== null && data.id !== 0 && String(data.id).trim() !== '') { + return request({ + url: '/document/template/update', + method: 'put', + data, + }); + } else { + const { id, ...restData } = data; + return request({ + url: '/document/template/add', + method: 'post', + data: restData, + }); + } +} diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/createTemplate.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/createTemplate.vue new file mode 100644 index 00000000..2ae2e759 --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/createTemplate.vue @@ -0,0 +1,590 @@ + + + + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/template.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/template.vue index 38e1800b..07c6c0f2 100644 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/template.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/template.vue @@ -9,17 +9,15 @@ -->
- - -
- {{ item.name }} - - - - -
-
-
+ +
+ {{ item.name }} + + + + +
+
@@ -108,12 +106,18 @@ const handleEdit = (data) => { // 删除模板 const handleDelete = async (item) => { try { + const templateId = item.id || item.templateId; + if (!templateId) { + console.error('模板数据:', item); + ElMessage.error('模板ID不存在'); + return; + } ElMessageBox.confirm('确定要删除该模板吗?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning', }).then(async () => { - await deleteTemplate(item.id); + await deleteTemplate(templateId); ElMessage.success('删除成功'); // 清除缓存中的数据,强制重新加载 templateCache.delete(unref(definitionId)); @@ -127,7 +131,10 @@ const handleDelete = async (item) => { }; const currentSelectTemplate = ref({}); -defineExpose({ queryList }); +const clearCache = () => { + templateCache.delete(unref(definitionId)); +}; +defineExpose({ queryList, clearCache }); + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/index.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/index.vue index 91d36dc6..8cb27e2f 100644 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/index.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/emr/index.vue @@ -101,6 +101,19 @@ @submitOk="templateEditSubmitOk" /> + + + +