diff --git a/src/api/hlw.js b/src/api/hlw.js
index 008794a..f9fbc5e 100644
--- a/src/api/hlw.js
+++ b/src/api/hlw.js
@@ -350,6 +350,14 @@ export async function importHlwDrugInfo(data) {
});
}
+// 将互联网医院药品信息同步至 HIS
+export async function updateHisDrugInfo(data) {
+ return await useHlw({
+ type: "updateHisDrugInfo",
+ ...data,
+ });
+}
+
// 配送/线上购药药品库:使用 online-drug-info 集合的独立接口
export async function getOnlineDrugInfo(data) {
return await useHlw({
diff --git a/src/assets/seal_custom.png b/src/assets/seal_custom.png
index f5251b6..a057128 100644
Binary files a/src/assets/seal_custom.png and b/src/assets/seal_custom.png differ
diff --git a/src/components/rx-paper-drawer/rx-paper-drawer.vue b/src/components/rx-paper-drawer/rx-paper-drawer.vue
index 0d39a06..608a2f2 100644
--- a/src/components/rx-paper-drawer/rx-paper-drawer.vue
+++ b/src/components/rx-paper-drawer/rx-paper-drawer.vue
@@ -47,10 +47,10 @@
@@ -416,10 +416,10 @@ defineExpose({ print: openPrintDialog });
position: relative;
display: inline-block;
height: 1em;
- width: 40px;
+ width: 32px;
}
.write_line + .write_line{
- width: 80px;
+ width: 52px;
}
.write_line::after{
content: '';
@@ -460,8 +460,9 @@ defineExpose({ print: openPrintDialog });
box-sizing: border-box !important;
padding: 0 !important;
box-shadow: none !important;
- font-size: 12px !important;
- line-height: 1.4 !important;
+ /* 打印时提高可读性,同时收紧行距,避免放大字体后版面变松散。 */
+ font-size: 15px !important;
+ line-height: 1.28 !important;
}
body.printing-rx>.rx-print-root--a5 .rx-print-area {
@@ -469,8 +470,8 @@ defineExpose({ print: openPrintDialog });
}
body.printing-rx>.rx-print-root .header {
- padding-bottom: 6px !important;
- margin-bottom: 7px !important;
+ padding-bottom: 4px !important;
+ margin-bottom: 5px !important;
}
body.printing-rx>.rx-print-root .row {
@@ -479,17 +480,17 @@ defineExpose({ print: openPrintDialog });
body.printing-rx>.rx-print-root .hospital {
margin: 3px 0 !important;
- font-size: 14px !important;
+ font-size: 18px !important;
}
body.printing-rx>.rx-print-root .patient-info,
body.printing-rx>.rx-print-root .diagnosis-section,
body.printing-rx>.rx-print-root .medicine-section {
- margin-top: 8px !important;
+ margin-top: 5px !important;
}
body.printing-rx>.rx-print-root .info-row {
- padding: 3px 2px !important;
+ padding: 2px !important;
}
body.printing-rx>.rx-print-root .diagnosis-header {
@@ -497,15 +498,15 @@ defineExpose({ print: openPrintDialog });
}
body.printing-rx>.rx-print-root .rp-symbol {
- font-size: 17px !important;
+ font-size: 21px !important;
}
body.printing-rx>.rx-print-root .medicine-item {
- margin-bottom: 9px !important;
+ margin-bottom: 6px !important;
}
body.printing-rx>.rx-print-root .medicine-spec {
- margin: 2px 0 !important;
+ margin: 1px 0 !important;
}
body.printing-rx>.rx-print-root .medicine-section img {
@@ -516,11 +517,11 @@ defineExpose({ print: openPrintDialog });
body.printing-rx>.rx-print-root .footer {
margin-top: auto !important;
- padding-top: 7px !important;
+ padding-top: 5px !important;
}
body.printing-rx>.rx-print-root .footer .pt-3 {
- padding-top: 6px !important;
+ padding-top: 4px !important;
}
body.printing-rx>.rx-print-root .signImage {
@@ -529,17 +530,17 @@ defineExpose({ print: openPrintDialog });
}
body.printing-rx>.rx-print-root .notice {
- margin-top: 7px !important;
- font-size: 10px !important;
+ margin-top: 5px !important;
+ font-size: 12px !important;
}
body.printing-rx>.rx-print-root--dense .rx-print-area {
- font-size: 11px !important;
- line-height: 1.3 !important;
+ font-size: 13px !important;
+ line-height: 1.22 !important;
}
body.printing-rx>.rx-print-root--dense .medicine-item {
- margin-bottom: 6px !important;
+ margin-bottom: 4px !important;
}
body.printing-rx>.rx-print-root--a5 .medicine-section img,
diff --git a/src/views/hlw-drug-manage/drug-detail-drawer.vue b/src/views/hlw-drug-manage/drug-detail-drawer.vue
index 40a0b41..a1b5f2a 100644
--- a/src/views/hlw-drug-manage/drug-detail-drawer.vue
+++ b/src/views/hlw-drug-manage/drug-detail-drawer.vue
@@ -49,6 +49,9 @@
{{ data.onSale ? '下架' : '上架' }}
+
+ 同步 HIS
+
编辑
@@ -62,7 +65,7 @@ import { computed, ref, watch } from 'vue';
import { storeToRefs } from "pinia";
import { ElMessage, ElMessageBox } from "element-plus";
import dayjs from "dayjs";
-import { setHlwDrugOnSale, setOnlineDrugOnSale, getHlwDiagnosisList } from "@/api/hlw";
+import { setHlwDrugOnSale, setOnlineDrugOnSale, getHlwDiagnosisList, updateHisDrugInfo } from "@/api/hlw";
import { getDrugFieldDict } from './drug-dict.js'
import { memberStore } from "@/store/member";
@@ -171,6 +174,7 @@ const showForm = computed(() => {
})
const form = computed(() => ({ ...props.data, ...showForm.value }))
const loading = ref(false)
+const syncingHis = ref(false)
const diagnosisLoading = ref(false)
const diagnosisList = ref([])
let diagnosisRequestId = 0
@@ -240,6 +244,23 @@ async function setOnSale() {
}
}
+async function syncHis() {
+ if (!props.data._id || syncingHis.value) return;
+ syncingHis.value = true;
+ try {
+ const { success, message } = await updateHisDrugInfo({ id: props.data._id });
+ if (success) {
+ ElMessage.success(message || '同步 HIS 成功');
+ } else {
+ ElMessage.error(message || '同步 HIS 失败');
+ }
+ } catch (error) {
+ ElMessage.error(error?.message || '同步 HIS 失败');
+ } finally {
+ syncingHis.value = false;
+ }
+}
+
watch(() => props.visible, (visible) => {
if (visible) {
loadDiagnoses();
diff --git a/src/views/hlw-rx/store-rx-list.vue b/src/views/hlw-rx/store-rx-list.vue
index 3164081..37c17e6 100644
--- a/src/views/hlw-rx/store-rx-list.vue
+++ b/src/views/hlw-rx/store-rx-list.vue
@@ -35,10 +35,10 @@
详情
-
+
打印
(已打印)
-
+