diff --git a/openhis-server-new/openhis-application/pom.xml b/openhis-server-new/openhis-application/pom.xml
index d6a4fd19..e6db15b9 100644
--- a/openhis-server-new/openhis-application/pom.xml
+++ b/openhis-server-new/openhis-application/pom.xml
@@ -64,6 +64,11 @@
org.apache.httpcomponents
httpclient
+
+
+ org.apache.velocity
+ velocity-engine-core
+
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-starter
-
-
-
- com.alibaba.fastjson2
- fastjson2
-
-
- org.apache.httpcomponents
- httpclient
-
-
-
- com.openhis
- openhis-common
-
-
-
-
- com.yomahub
- liteflow-spring-boot-starter
-
-
- org.springframework.boot
- spring-boot-configuration-processor
- true
-
-
- cn.hutool
- hutool-all
-
-
-
- org.bouncycastle
- bcprov-jdk15on
-
-
-
-
- com.itextpdf
- kernel
-
-
- org.apache.httpcomponents
- httpmime
-
-
-
-
- com.itextpdf
- itextpdf
-
-
- com.itextpdf
- itext-asian
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/openhis-ui-vue3/src/views/charge/outpatientregistration/components/chargeDialog.vue b/openhis-ui-vue3/src/views/charge/outpatientregistration/components/chargeDialog.vue
index 47920974..3268a5b3 100644
--- a/openhis-ui-vue3/src/views/charge/outpatientregistration/components/chargeDialog.vue
+++ b/openhis-ui-vue3/src/views/charge/outpatientregistration/components/chargeDialog.vue
@@ -214,38 +214,38 @@ async function printReceipt(param) {
{
...param,
// 基础支付类型
- YB_FUND_PAY: param.detail.find((t) => t.payEnum === 100000)?.amount ?? 0, // 基金支付总额
- SELF_PAY: param.detail.find((t) => t.payEnum === 200000)?.amount ?? 0, // 个人负担总金额
- OTHER_PAY: param.detail.find((t) => t.payEnum === 300000)?.amount ?? 0, // 其他(如医院负担金额)
+ YB_FUND_PAY: param.detail?.find((t) => t.payEnum === 100000)?.amount ?? 0, // 基金支付总额
+ SELF_PAY: param.detail?.find((t) => t.payEnum === 200000)?.amount ?? 0, // 个人负担总金额
+ OTHER_PAY: param.detail?.find((t) => t.payEnum === 300000)?.amount ?? 0, // 其他(如医院负担金额)
// 基本医保统筹基金支出
- YB_TC_FUND_AMOUNT: param.detail.find((t) => t.payEnum === 110000)?.amount ?? 0, // 基本医保统筹基金支出
- YB_BC_FUND_AMOUNT: param.detail.find((t) => t.payEnum === 120000)?.amount ?? 0, // 补充医疗保险基金支出
- YB_JZ_FUND_AMOUNT: param.detail.find((t) => t.payEnum === 130000)?.amount ?? 0, // 医疗救助基金支出
- YB_OTHER_AMOUNT: param.detail.find((t) => t.payEnum === 140000)?.amount ?? 0, // 其他支出
+ YB_TC_FUND_AMOUNT: param.detail?.find((t) => t.payEnum === 110000)?.amount ?? 0, // 基本医保统筹基金支出
+ YB_BC_FUND_AMOUNT: param.detail?.find((t) => t.payEnum === 120000)?.amount ?? 0, // 补充医疗保险基金支出
+ YB_JZ_FUND_AMOUNT: param.detail?.find((t) => t.payEnum === 130000)?.amount ?? 0, // 医疗救助基金支出
+ YB_OTHER_AMOUNT: param.detail?.find((t) => t.payEnum === 140000)?.amount ?? 0, // 其他支出
// 职工基本医疗保险
- YB_TC_ZG_FUND_VALUE: param.detail.find((t) => t.payEnum === 110100)?.amount ?? 0, // 职工基本医疗保险
- YB_TC_JM_FUND_VALUE: param.detail.find((t) => t.payEnum === 110200)?.amount ?? 0, // 居民基本医疗保险
+ YB_TC_ZG_FUND_VALUE: param.detail?.find((t) => t.payEnum === 110100)?.amount ?? 0, // 职工基本医疗保险
+ YB_TC_JM_FUND_VALUE: param.detail?.find((t) => t.payEnum === 110200)?.amount ?? 0, // 居民基本医疗保险
// 补充医疗保险基金支出细分
- YB_BC_JM_DB_VALUE: param.detail.find((t) => t.payEnum === 120100)?.amount ?? 0, // 全体参保人的居民大病保险
- YB_BC_DE_BZ_VALUE: param.detail.find((t) => t.payEnum === 120200)?.amount ?? 0, // 大额医疗费用补助
- YB_BC_ZG_DE_BZ_VALUE: param.detail.find((t) => t.payEnum === 120300)?.amount ?? 0, // 企业职工大额医疗费用补助
- YB_BC_GWY_BZ_VALUE: param.detail.find((t) => t.payEnum === 120400)?.amount ?? 0, // 公务员医疗补助
+ YB_BC_JM_DB_VALUE: param.detail?.find((t) => t.payEnum === 120100)?.amount ?? 0, // 全体参保人的居民大病保险
+ YB_BC_DE_BZ_VALUE: param.detail?.find((t) => t.payEnum === 120200)?.amount ?? 0, // 大额医疗费用补助
+ YB_BC_ZG_DE_BZ_VALUE: param.detail?.find((t) => t.payEnum === 120300)?.amount ?? 0, // 企业职工大额医疗费用补助
+ YB_BC_GWY_BZ_VALUE: param.detail?.find((t) => t.payEnum === 120400)?.amount ?? 0, // 公务员医疗补助
// 其他支出细分
- OTHER_PAY_DD_FUND_VALUE: param.detail.find((t) => t.payEnum === 300001)?.amount ?? 0, // 兜底基金支出
- OTHER_PAY_YW_SH_FUND_VALUE: param.detail.find((t) => t.payEnum === 300002)?.amount ?? 0, // 意外伤害基金支出
- OTHER_PAY_LX_YL_FUND_VALUE: param.detail.find((t) => t.payEnum === 300003)?.amount ?? 0, // 离休人员医疗保障金支出
- OTHER_PAY_LX_YH_FUND_VALUE: param.detail.find((t) => t.payEnum === 300004)?.amount ?? 0, // 离休人员优惠金支出
- OTHER_PAY_CZ_FUND_VALUE: param.detail.find((t) => t.payEnum === 300005)?.amount ?? 0, // 财政基金支出
- OTHER_PAY_CZ_YZ_FUND_VALUE: param.detail.find((t) => t.payEnum === 300006)?.amount ?? 0, // 财政预支支出
- OTHER_PAY_ZG_DB_FUND_VALUE: param.detail.find((t) => t.payEnum === 300007)?.amount ?? 0, // 职工大病基金支出
- OTHER_PAY_EY_FUND_VALUE: param.detail.find((t) => t.payEnum === 300008)?.amount ?? 0, // 二乙基金支出
- OTHER_PAY_QX_JZ_FUND_VALUE: param.detail.find((t) => t.payEnum === 300009)?.amount ?? 0, // 倾斜救助支出
- OTHER_PAY_YL_JZ_FUND_VALUE: param.detail.find((t) => t.payEnum === 300010)?.amount ?? 0, // 医疗救助再救助基金
- HOSP_PART_AMT: param.detail.find((t) => t.payEnum === 300011)?.amount ?? 0, // 医院负担金额
+ OTHER_PAY_DD_FUND_VALUE: param.detail?.find((t) => t.payEnum === 300001)?.amount ?? 0, // 兜底基金支出
+ OTHER_PAY_YW_SH_FUND_VALUE: param.detail?.find((t) => t.payEnum === 300002)?.amount ?? 0, // 意外伤害基金支出
+ OTHER_PAY_LX_YL_FUND_VALUE: param.detail?.find((t) => t.payEnum === 300003)?.amount ?? 0, // 离休人员医疗保障金支出
+ OTHER_PAY_LX_YH_FUND_VALUE: param.detail?.find((t) => t.payEnum === 300004)?.amount ?? 0, // 离休人员优惠金支出
+ OTHER_PAY_CZ_FUND_VALUE: param.detail?.find((t) => t.payEnum === 300005)?.amount ?? 0, // 财政基金支出
+ OTHER_PAY_CZ_YZ_FUND_VALUE: param.detail?.find((t) => t.payEnum === 300006)?.amount ?? 0, // 财政预支支出
+ OTHER_PAY_ZG_DB_FUND_VALUE: param.detail?.find((t) => t.payEnum === 300007)?.amount ?? 0, // 职工大病基金支出
+ OTHER_PAY_EY_FUND_VALUE: param.detail?.find((t) => t.payEnum === 300008)?.amount ?? 0, // 二乙基金支出
+ OTHER_PAY_QX_JZ_FUND_VALUE: param.detail?.find((t) => t.payEnum === 300009)?.amount ?? 0, // 倾斜救助支出
+ OTHER_PAY_YL_JZ_FUND_VALUE: param.detail?.find((t) => t.payEnum === 300010)?.amount ?? 0, // 医疗救助再救助基金
+ HOSP_PART_AMT: param.detail?.find((t) => t.payEnum === 300011)?.amount ?? 0, // 医院负担金额
// 医保结算返回值 - 修复运算符优先级问题,添加括号确保正确拼接'元'
FULAMT_OWNPAY_AMT: (param.detail?.find((t) => t.payEnum === 1)?.amount ?? 0) + '元', // 全自费金额
@@ -347,10 +347,10 @@ async function printReceipt(param) {
: '', // 保健预支基金
//微信刷卡支付
SELF_CASH_VX_VALUE: (() => {
- // const cashValue = param.detail.find((t) => t.payEnum === 220400)?.amount ?? 0;
- const vxValue = param.detail.find((t) => t.payEnum === 220100)?.amount ?? 0;
- const unionValue = param.detail.find((t) => t.payEnum === 220300)?.amount ?? 0;
- const aliValue = param.detail.find((t) => t.payEnum === 220200)?.amount ?? 0;
+ // const cashValue = param.detail?.find((t) => t.payEnum === 220400)?.amount ?? 0;
+ const vxValue = param.detail?.find((t) => t.payEnum === 220100)?.amount ?? 0;
+ const unionValue = param.detail?.find((t) => t.payEnum === 220300)?.amount ?? 0;
+ const aliValue = param.detail?.find((t) => t.payEnum === 220200)?.amount ?? 0;
return vxValue + unionValue + aliValue + '元';
})(),
diff --git a/openhis-ui-vue3/src/views/drug/inpatientMedicationDispensing/components/MedicationDetails.vue b/openhis-ui-vue3/src/views/drug/inpatientMedicationDispensing/components/MedicationDetails.vue
index bc1c6ff9..c927f2f2 100644
--- a/openhis-ui-vue3/src/views/drug/inpatientMedicationDispensing/components/MedicationDetails.vue
+++ b/openhis-ui-vue3/src/views/drug/inpatientMedicationDispensing/components/MedicationDetails.vue
@@ -291,10 +291,13 @@ import {advicePrint, getAdjustPriceSwitchState, lotNumberMatch} from '@/api/publ
import {debounce} from 'lodash-es';
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue';
import {hiprint} from 'vue-plugin-hiprint';
-// import templateJson from './components/templateJson.json';
-// import disposalTemplate from './components/disposalTemplate.json';
+import templateJson from './components/templateJson.json';
+import disposalTemplate from './components/disposalTemplate.json';
import {formatInventory} from '@/utils/his.js';
+import useUserStore from '@/store/modules/user';
+
+const userStore = useUserStore();
const { proxy } = getCurrentInstance();
const showSearch = ref(true);
const total = ref(0);
@@ -444,7 +447,9 @@ async function printPrescription() {
}).then((res) => {
if (projectTypeCode.value == '3') {
const result = res.data;
- const printElements = disposalTemplate;
+ const printElements = JSON.parse(
+ JSON.stringify(disposalTemplate).replace(/{{HOSPITAL_NAME}}/g, userStore.hospitalName)
+ );
var hiprintTemplate = new hiprint.PrintTemplate({ template: printElements }); // 定义模板
hiprintTemplate.print2(result, {
height: 210,
@@ -474,7 +479,9 @@ async function printPrescription() {
prescriptionList: item,
});
});
- const printElements = templateJson;
+ const printElements = JSON.parse(
+ JSON.stringify(templateJson).replace(/{{HOSPITAL_NAME}}/g, userStore.hospitalName)
+ );
var hiprintTemplate = new hiprint.PrintTemplate({ template: printElements }); // 定义模板
hiprintTemplate.print2(result, {
height: 210,
diff --git a/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirstPrint.json b/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirstPrint.json
index 2e4b5b30..dd374da2 100644
--- a/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirstPrint.json
+++ b/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordFirstPrint.json
@@ -1,3 +1,3 @@
{
- "printContent": "\n\n
\n 住院病案首页\n \n\n\n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n\n"
+ "printContent": "\n\n\n 住院病案首页\n \n\n\n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n\n"
}
diff --git a/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordPrint.vue b/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordPrint.vue
index 5758a568..d72c3639 100644
--- a/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordPrint.vue
+++ b/openhis-ui-vue3/src/views/hospitalRecord/components/medicalRecordPrint.vue
@@ -1754,7 +1754,11 @@