diff --git a/openhis-ui-vue3/src/components/Print/BedCard.json b/openhis-ui-vue3/src/components/Print/BedCard.json new file mode 100644 index 00000000..e8f1de3d --- /dev/null +++ b/openhis-ui-vue3/src/components/Print/BedCard.json @@ -0,0 +1,22 @@ +{ + "panels": [ + { + "height": 60, + "index": 1, + "name": "床头卡", + "paperFooter": 170, + "paperHeader": 0, + "paperList": {"height": 60, "type": "自定义", "width": 100}, + "paperNumberDisabled": true, + "paperType": "自定义", + "printElements": [ + {"options": {"field": "bedName", "fontSize": 10, "fontWeight": "bold", "height": 10, "left": 45, "title": "床号:", "top": 5, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "patientName", "fontSize": 10, "fontWeight": "bold", "height": 10, "left": 45, "title": "姓名:", "top": 17, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "hisId", "fontSize": 10, "fontWeight": "bold", "height": 10, "left": 45, "title": "患者编号:", "top": 29, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "dept", "fontSize": 10, "fontWeight": "bold", "height": 10, "left": 45, "title": "分诊科室:", "top": 41, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "triageLevel", "fontSize": 10, "fontWeight": "bold", "height": 10, "left": 45, "title": "分诊等级:", "top": 53, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}} + ], + "width": 100 + } + ] +} diff --git a/openhis-ui-vue3/src/components/Print/ChangeShiftBill.json b/openhis-ui-vue3/src/components/Print/ChangeShiftBill.json new file mode 100644 index 00000000..f5fd8282 --- /dev/null +++ b/openhis-ui-vue3/src/components/Print/ChangeShiftBill.json @@ -0,0 +1,38 @@ +{ + "panels": [ + { + "height": 210, + "index": 1, + "name": "护理交接班", + "paperFooter": 595.5, + "paperHeader": 0, + "paperList": {"height": 210, "type": "A4", "width": 297}, + "paperNumberDisabled": true, + "paperType": "A4", + "printElements": [ + {"options": {"fontSize": 14, "fontWeight": "bold", "height": 15, "left": 0, "textAlign": "center", "title": "护理交接班", "top": 5, "width": 210}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "date", "fontSize": 10, "height": 10, "left": 5, "title": "日期:", "top": 25, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "initiatorName", "fontSize": 10, "height": 10, "left": 60, "title": "发起人:", "top": 25, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "heirName", "fontSize": 10, "height": 10, "left": 120, "title": "接收人:", "top": 25, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": { + "columns": [[ + {"align": "center", "field": "typeDisplay", "title": "类别", "width": 20}, + {"align": "center", "field": "bedName", "title": "床号", "width": 25}, + {"align": "center", "field": "patientName", "title": "姓名", "width": 30}, + {"align": "center", "field": "mainSuit", "title": "主诉", "width": 45}, + {"align": "center", "field": "previousHistory", "title": "既往史", "width": 45}, + {"align": "center", "field": "diagnosis", "title": "诊断", "width": 45}, + {"align": "center", "field": "content", "title": "交接信息", "width": 60} + ]], + "field": "shiftRecordItems", + "fontSize": 9, + "height": 150, + "left": 5, + "top": 40, + "width": 200 + }, "printElementType": {"title": "表格", "type": "table"}} + ], + "width": 210 + } + ] +} diff --git a/openhis-ui-vue3/src/components/Print/Consultation.json b/openhis-ui-vue3/src/components/Print/Consultation.json new file mode 100644 index 00000000..89a934d1 --- /dev/null +++ b/openhis-ui-vue3/src/components/Print/Consultation.json @@ -0,0 +1,27 @@ +{ + "panels": [ + { + "height": 210, + "index": 1, + "name": "会诊申请单", + "paperFooter": 595.5, + "paperHeader": 0, + "paperList": {"height": 210, "type": "A4", "width": 210}, + "paperNumberDisabled": true, + "paperType": "A4", + "printElements": [ + {"options": {"fontSize": 14, "fontWeight": "bold", "height": 15, "left": 0, "textAlign": "center", "title": "会诊申请单", "top": 5, "width": 180}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "hospitalName", "fontSize": 10, "height": 10, "left": 0, "textAlign": "center", "title": "医院名称", "top": 22, "width": 180}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "patientName", "fontSize": 10, "height": 10, "left": 5, "title": "姓名:", "top": 40, "width": 60, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "gender", "fontSize": 10, "height": 10, "left": 70, "title": "性别:", "top": 40, "width": 30, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "age", "fontSize": 10, "height": 10, "left": 105, "title": "年龄:", "top": 40, "width": 40, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "deptName", "fontSize": 10, "height": 10, "left": 150, "title": "科室:", "top": 40, "width": 30, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "diagnosis", "fontSize": 10, "height": 20, "left": 5, "title": "初步诊断:", "top": 55, "width": 170, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "consultationReason", "fontSize": 10, "height": 40, "left": 5, "title": "会诊目的:", "top": 80, "width": 170, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "applyTime", "fontSize": 10, "height": 10, "left": 5, "title": "申请时间:", "top": 130, "width": 80, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "applyDoctor", "fontSize": 10, "height": 10, "left": 100, "title": "申请医生:", "top": 130, "width": 75, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}} + ], + "width": 180 + } + ] +} diff --git a/openhis-ui-vue3/src/components/Print/ExeOrderSheet.json b/openhis-ui-vue3/src/components/Print/ExeOrderSheet.json new file mode 100644 index 00000000..09f63954 --- /dev/null +++ b/openhis-ui-vue3/src/components/Print/ExeOrderSheet.json @@ -0,0 +1,41 @@ +{ + "panels": [ + { + "height": 210, + "index": 1, + "name": "医嘱执行单", + "paperFooter": 595.5, + "paperHeader": 0, + "paperList": {"height": 210, "type": "A4", "width": 297}, + "paperNumberDisabled": true, + "paperType": "A4", + "printElements": [ + {"options": {"fontSize": 14, "fontWeight": "bold", "height": 15, "left": 0, "textAlign": "center", "title": "医嘱执行单", "top": 5, "width": 210}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "hospitalName", "fontSize": 12, "fontWeight": "bold", "height": 12, "left": 0, "textAlign": "center", "title": "医院名称", "top": 20, "width": 210}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "bedName", "fontSize": 9, "height": 10, "left": 5, "title": "床号:", "top": 35, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "patientName", "fontSize": 9, "height": 10, "left": 60, "title": "姓名:", "top": 35, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "patientAge", "fontSize": 9, "height": 10, "left": 115, "title": "年龄:", "top": 35, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "diag", "fontSize": 9, "height": 10, "left": 5, "title": "诊断:", "top": 47, "width": 200, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": { + "columns": [[ + {"align": "center", "field": "moTime", "title": "医嘱日期", "width": 25}, + {"align": "center", "field": "orderName", "title": "医嘱", "width": 40}, + {"align": "center", "field": "flag", "title": "标记", "width": 15}, + {"align": "center", "field": "remark", "title": "嘱托", "width": 25}, + {"align": "center", "field": "doseOnceUnit", "title": "用量", "width": 20}, + {"align": "center", "field": "usageName", "title": "用法", "width": 20}, + {"align": "center", "field": "frequency", "title": "频次", "width": 20}, + {"align": "center", "field": "moDocName", "title": "开立医生", "width": 25} + ]], + "field": "recordData", + "fontSize": 8, + "height": 140, + "left": 5, + "top": 60, + "width": 200 + }, "printElementType": {"title": "表格", "type": "table"}} + ], + "width": 210 + } + ] +} diff --git a/openhis-ui-vue3/src/components/Print/InjectLabel.json b/openhis-ui-vue3/src/components/Print/InjectLabel.json new file mode 100644 index 00000000..f1a8f6c9 --- /dev/null +++ b/openhis-ui-vue3/src/components/Print/InjectLabel.json @@ -0,0 +1,39 @@ +{ + "panels": [ + { + "height": 80, + "index": 1, + "name": "输液标签", + "paperFooter": 226.8, + "paperHeader": 0, + "paperList": {"height": 80, "type": "自定义", "width": 100}, + "paperNumberDisabled": true, + "paperType": "自定义", + "printElements": [ + {"options": {"fontSize": 12, "fontWeight": "bold", "height": 12, "left": 0, "textAlign": "center", "title": "急诊输液贴", "top": 5, "width": 60}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "qrCode", "height": 30, "left": 65, "qrCodeLevel": 0, "title": "二维码", "top": 5, "width": 30}, "printElementType": {"title": "二维码", "type": "text"}}, + {"options": {"field": "hisNo", "fontSize": 9, "height": 10, "left": 5, "title": "病历号:", "top": 20, "width": 25, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "name", "fontSize": 9, "height": 10, "left": 30, "title": "姓名:", "top": 20, "width": 20, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "sexName", "fontSize": 9, "height": 10, "left": 50, "title": "性别:", "top": 20, "width": 15, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "patientAge", "fontSize": 9, "height": 10, "left": 65, "title": "年龄:", "top": 20, "width": 30, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": { + "columns": [[ + {"align": "center", "field": "orderName", "title": "药品名称", "width": 35}, + {"align": "center", "field": "doseOnceUnit", "title": "用量", "width": 15}, + {"align": "center", "field": "flag", "title": "标记", "width": 10}, + {"align": "center", "field": "frequency", "title": "频次", "width": 15}, + {"align": "center", "field": "usageName", "title": "用法", "width": 15} + ]], + "field": "orderDetail", + "fontSize": 8, + "height": 35, + "left": 5, + "top": 35, + "width": 90 + }, "printElementType": {"title": "表格", "type": "table"}}, + {"options": {"field": "printDate", "fontSize": 8, "height": 8, "left": 5, "title": "日期:", "top": 72, "width": 90, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}} + ], + "width": 100 + } + ] +} diff --git a/openhis-ui-vue3/src/components/Print/TemperatureSheet.json b/openhis-ui-vue3/src/components/Print/TemperatureSheet.json new file mode 100644 index 00000000..d3f9eb19 --- /dev/null +++ b/openhis-ui-vue3/src/components/Print/TemperatureSheet.json @@ -0,0 +1,39 @@ +{ + "panels": [ + { + "height": 180, + "index": 1, + "name": "体温单", + "paperFooter": 510, + "paperHeader": 0, + "paperList": {"height": 180, "type": "A4", "width": 210}, + "paperNumberDisabled": true, + "paperType": "A4", + "printElements": [ + {"options": {"fontSize": 12, "fontWeight": "bold", "height": 15, "left": 0, "textAlign": "center", "title": "体温单", "top": 5, "width": 180}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "patientName", "fontSize": 9, "height": 10, "left": 5, "title": "姓名:", "top": 25, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "bedName", "fontSize": 9, "height": 10, "left": 60, "title": "床号:", "top": 25, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "hospitalName", "fontSize": 9, "height": 10, "left": 115, "title": "科室:", "top": 25, "width": 60, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": { + "columns": [[ + {"align": "center", "field": "date", "title": "日期", "width": 25}, + {"align": "center", "field": "time", "title": "时间", "width": 20}, + {"align": "center", "field": "temperature", "title": "体温", "width": 20}, + {"align": "center", "field": "pulse", "title": "脉搏", "width": 20}, + {"align": "center", "field": "breath", "title": "呼吸", "width": 20}, + {"align": "center", "field": "bloodPressure", "title": "血压", "width": 25}, + {"align": "center", "field": "bloodOxygen", "title": "血氧", "width": 20}, + {"align": "center", "field": "nurseName", "title": "签名", "width": 30} + ]], + "field": "tprData", + "fontSize": 8, + "height": 130, + "left": 5, + "top": 40, + "width": 180 + }, "printElementType": {"title": "表格", "type": "table"}} + ], + "width": 180 + } + ] +} diff --git a/openhis-ui-vue3/src/components/Print/TriageTicket.json b/openhis-ui-vue3/src/components/Print/TriageTicket.json new file mode 100644 index 00000000..86a3661d --- /dev/null +++ b/openhis-ui-vue3/src/components/Print/TriageTicket.json @@ -0,0 +1,35 @@ +{ + "panels": [ + { + "height": 100, + "index": 1, + "name": "分诊条", + "paperFooter": 283.5, + "paperHeader": 0, + "paperList": {"height": 100, "type": "自定义", "width": 80}, + "paperNumberDisabled": true, + "paperType": "自定义", + "printElements": [ + {"options": {"fontSize": 14, "fontWeight": "bold", "height": 15, "left": 0, "textAlign": "center", "title": "分诊单", "top": 5, "width": 80}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "hisId", "height": 40, "left": 15, "qrCodeLevel": 0, "textAlign": "center", "title": "病历号二维码", "top": 25, "width": 50}, "printElementType": {"title": "二维码", "type": "text"}}, + {"options": {"field": "hisId", "fontSize": 10, "height": 10, "left": 0, "textAlign": "center", "title": "病历号:", "top": 70, "width": 80, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "triageLevel", "fontSize": 10, "height": 10, "left": 0, "textAlign": "center", "title": "分级(科室)", "top": 82, "width": 80, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "patientName", "fontSize": 10, "height": 10, "left": 5, "title": "姓名:", "top": 100, "width": 35, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "sex", "fontSize": 10, "height": 10, "left": 40, "title": "性别:", "top": 100, "width": 15, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "age", "fontSize": 10, "height": 10, "left": 55, "title": "年龄:", "top": 100, "width": 20, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "temperature", "fontSize": 9, "height": 10, "left": 5, "title": "体温:", "top": 115, "width": 35, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "sphygmus", "fontSize": 9, "height": 10, "left": 40, "title": "脉搏:", "top": 115, "width": 35, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "breath", "fontSize": 9, "height": 10, "left": 5, "title": "呼吸:", "top": 127, "width": 35, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "bloodPressure", "fontSize": 9, "height": 10, "left": 40, "title": "血压:", "top": 127, "width": 35, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "bloodOxygen", "fontSize": 9, "height": 10, "left": 5, "title": "血氧:", "top": 139, "width": 70, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "triageTime", "fontSize": 9, "height": 10, "left": 5, "title": "分诊时间:", "top": 155, "width": 70, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "tel", "fontSize": 9, "height": 10, "left": 5, "title": "联系电话:", "top": 167, "width": 70, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"fontSize": 9, "fontWeight": "bold", "height": 10, "left": 5, "title": "请仔细核对个人信息后进行挂号", "top": 185, "width": 70}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"fontSize": 8, "height": 8, "left": 5, "title": "为了您家人和其他患者的健康", "top": 197, "width": 70}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"fontSize": 8, "height": 8, "left": 5, "title": "请您保持就诊秩序保持诊区安静", "top": 207, "width": 70}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"fontSize": 8, "height": 8, "left": 5, "title": "祝您早日康复", "top": 217, "width": 70}, "printElementType": {"title": "文本", "type": "text"}} + ], + "width": 80 + } + ] +} diff --git a/openhis-ui-vue3/src/components/Print/WristBand.json b/openhis-ui-vue3/src/components/Print/WristBand.json new file mode 100644 index 00000000..1fa7ab3f --- /dev/null +++ b/openhis-ui-vue3/src/components/Print/WristBand.json @@ -0,0 +1,25 @@ +{ + "panels": [ + { + "height": 25, + "index": 1, + "name": "腕带", + "paperFooter": 94.5, + "paperHeader": 0, + "paperList": {"height": 25, "type": "自定义", "width": 100}, + "paperNumberContinue": true, + "paperNumberDisabled": true, + "paperType": "自定义", + "printElements": [ + {"options": {"field": "patientName", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 5, "title": "姓名:", "top": 3, "width": 40, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "hisId", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 50, "title": "病历号:", "top": 3, "width": 45, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "gender", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 5, "title": "性别:", "top": 13, "width": 40, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "dept", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 50, "title": "科室:", "top": 13, "width": 45, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "bedName", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 5, "title": "床号:", "top": 23, "width": 40, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "triageLevel", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 50, "title": "分级:", "top": 23, "width": 45, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}, + {"options": {"field": "hisId", "height": 18, "left": 80, "qrCodeLevel": 0, "textAlign": "center", "title": "腕带二维码", "top": 5, "width": 18}, "printElementType": {"title": "二维码", "type": "text"}} + ], + "width": 100 + } + ] +} diff --git a/openhis-ui-vue3/src/views/cardmanagement/api.js b/openhis-ui-vue3/src/views/cardmanagement/api.js new file mode 100644 index 00000000..5596601a --- /dev/null +++ b/openhis-ui-vue3/src/views/cardmanagement/api.js @@ -0,0 +1,108 @@ +import request from '@/utils/request'; + +/** + * 报卡管理 - 统计数据 + */ +export function getCardStatistics() { + return request({ + url: '/card-management/statistics', + method: 'get', + }); +} + +/** + * 报卡管理 - 分页列表 + */ +export function getCardList(params) { + return request({ + url: '/card-management/page', + method: 'get', + params: params, + }); +} + +/** + * 报卡管理 - 获取报卡详情 + */ +export function getCardDetail(cardNo) { + return request({ + url: `/card-management/detail/${cardNo}`, + method: 'get', + }); +} + +/** + * 报卡管理 - 获取审核记录 + */ +export function getAuditRecords(cardNo) { + return request({ + url: `/card-management/audit-records/${cardNo}`, + method: 'get', + }); +} + +/** + * 报卡管理 - 批量审核 + */ +export function batchAudit(data) { + return request({ + url: '/card-management/batch-audit', + method: 'post', + data: data, + }); +} + +/** + * 报卡管理 - 批量退回 + */ +export function batchReturn(data) { + return request({ + url: '/card-management/batch-return', + method: 'post', + data: data, + }); +} + +/** + * 报卡管理 - 单条审核通过 + */ +export function auditPass(data) { + return request({ + url: '/card-management/audit-pass', + method: 'post', + data: data, + }); +} + +/** + * 报卡管理 - 单条退回 + */ +export function auditReturn(data) { + return request({ + url: '/card-management/audit-return', + method: 'post', + data: data, + }); +} + +/** + * 报卡管理 - 导出 + */ +export function exportCards(params) { + return request({ + url: '/card-management/export', + method: 'get', + params: params, + responseType: 'blob', + }); +} + +/** + * 报卡管理 - 获取科室列表(树形) + */ +export function getDeptTree() { + return request({ + url: '/card-management/dept-tree', + method: 'get', + }); +} diff --git a/openhis-ui-vue3/src/views/cardmanagement/components/AuditDrawer.vue b/openhis-ui-vue3/src/views/cardmanagement/components/AuditDrawer.vue new file mode 100644 index 00000000..310887ce --- /dev/null +++ b/openhis-ui-vue3/src/views/cardmanagement/components/AuditDrawer.vue @@ -0,0 +1,483 @@ + + + + + diff --git a/openhis-ui-vue3/src/views/cardmanagement/index.vue b/openhis-ui-vue3/src/views/cardmanagement/index.vue new file mode 100644 index 00000000..9b265887 --- /dev/null +++ b/openhis-ui-vue3/src/views/cardmanagement/index.vue @@ -0,0 +1,810 @@ + + + + +