feat(print): 添加门诊手术收费凭证打印模板

- 新增 OutpatientSurgeryCharge.json 打印配置文件
- 配置门诊收费凭证的页面布局和样式设置
- 添加患者基本信息显示区域(姓名、性别、年龄等)
- 实现收费项目明细表格展示功能
- 集成支付方式统计(现金、微信、支付宝、医保等)
- 添加手术计费流程图展示
- 设置页眉页脚和水印选项
- 配置打印元素的位置和格式参数
This commit is contained in:
2026-03-04 11:13:40 +08:00
parent b4ab67aed9
commit e722841e60

View File

@@ -0,0 +1,510 @@
{
"panels": [
{
"index": 0,
"name": 1,
"paperType": "自定义",
"height": 297,
"width": 80,
"paperList": {
"type": "自定义",
"width": 80,
"height": 297
},
"panelPageRule": "none",
"paperHeader": 0,
"paperFooter": 597,
"paperNumberDisabled": true,
"paperNumberContinue": true,
"expandCss": "",
"panelAngle": 0,
"overPrintOptions": {
"content": "",
"opacity": 0.7,
"type": 1
},
"watermarkOptions": {
"content": "",
"fillStyle": "rgba(87, 13, 248, 0.5)",
"fontSize": "36px",
"rotate": 25,
"width": 413,
"height": 310,
"timestamp": true,
"format": "YYYY-MM-DD HH:mm"
},
"panelLayoutOptions": {
"layoutType": "column",
"layoutRowGap": 0,
"layoutColumnGap": 0
},
"printElements": [
{
"options": {
"left": 0,
"top": 8,
"height": 14,
"width": 226.5,
"title": "{{HOSPITAL_NAME}}门诊收费凭证",
"coordinateSync": false,
"widthHeightSync": false,
"fontWeight": "bold",
"textAlign": "center",
"fontSize": 11
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 10,
"top": 26,
"height": 10,
"width": 80,
"title": "患者:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "patientName"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 100,
"top": 26,
"height": 10,
"width": 60,
"title": "性别:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "sex"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 160,
"top": 26,
"height": 10,
"width": 60,
"title": "年龄:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "age"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 10,
"top": 38,
"height": 10,
"width": 100,
"title": "科室:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "organizationName"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 120,
"top": 38,
"height": 10,
"width": 100,
"title": "医生:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "practitionerName"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 10,
"top": 50,
"height": 10,
"width": 80,
"title": "病人类型:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "personType"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 100,
"top": 50,
"height": 10,
"width": 120,
"title": "门诊号:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "busNo"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 10,
"top": 62,
"height": 10,
"width": 150,
"title": "收费时间:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "chargeTime"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 0,
"top": 76,
"height": 2,
"width": 226.5,
"coordinateSync": false,
"widthHeightSync": false,
"borderWidth": 1,
"borderStyle": "solid",
"borderColor": "#000000"
},
"printElementType": {
"title": "线",
"type": "line"
}
},
{
"options": {
"left": 10,
"top": 82,
"height": 10,
"width": 80,
"title": "收费项目",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"fontWeight": "bold"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 100,
"top": 82,
"height": 10,
"width": 40,
"title": "数量",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"fontWeight": "bold",
"textAlign": "center"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 145,
"top": 82,
"height": 10,
"width": 80,
"title": "金额",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"fontWeight": "bold",
"textAlign": "right"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 0,
"top": 94,
"height": 40,
"width": 226.5,
"title": "费用明细",
"field": "chargeItem",
"coordinateSync": false,
"widthHeightSync": false,
"textAlign": "center",
"fontSize": 8,
"columns": [
[
{
"title": "收费项目",
"width": 95,
"field": "chargeItemName",
"checked": true,
"columnId": "chargeItemName",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "数量",
"width": 40,
"field": "quantityValue",
"checked": true,
"columnId": "quantityValue",
"fixed": false,
"rowspan": 1,
"colspan": 1
},
{
"title": "金额",
"width": 50,
"field": "totalPrice",
"checked": true,
"columnId": "totalPrice",
"fixed": false,
"rowspan": 1,
"colspan": 1,
"formatter2": "function(value, row, index, options, rowIndex, column) {\n if (!value) return '';\n return `<span>${value}</span>`;\n}"
}
]
]
},
"printElementType": {
"title": "表格",
"type": "table",
"editable": true,
"columnDisplayEditable": true,
"columnDisplayIndexEditable": true,
"columnTitleEditable": true,
"columnResizable": true,
"columnAlignEditable": true,
"isEnableEditField": true,
"isEnableContextMenu": true,
"isEnableInsertRow": true,
"isEnableDeleteRow": true,
"isEnableInsertColumn": true,
"isEnableDeleteColumn": true,
"isEnableMergeCell": true
}
},
{
"options": {
"left": 0,
"top": 136,
"height": 2,
"width": 226.5,
"coordinateSync": false,
"widthHeightSync": false,
"borderWidth": 1,
"borderStyle": "solid",
"borderColor": "#000000"
},
"printElementType": {
"title": "线",
"type": "line"
}
},
{
"options": {
"left": 10,
"top": 142,
"height": 10,
"width": 80,
"title": "合计:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "FULAMT_OWNPAY_AMT"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 100,
"top": 142,
"height": 10,
"width": 120,
"title": "现金:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"textAlign": "right",
"field": "SELF_CASH_PAY"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 10,
"top": 154,
"height": 10,
"width": 100,
"title": "微信:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "SELF_VX_PAY"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 120,
"top": 154,
"height": 10,
"width": 100,
"title": "支付宝:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"textAlign": "right",
"field": "SELF_ALI_PAY"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 10,
"top": 166,
"height": 10,
"width": 150,
"title": "医保账户:",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"field": "SELF_YB_ZH_PAY"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 0,
"top": 180,
"height": 2,
"width": 226.5,
"coordinateSync": false,
"widthHeightSync": false,
"borderWidth": 1,
"borderStyle": "dashed",
"borderColor": "#CCCCCC"
},
"printElementType": {
"title": "线",
"type": "line"
}
},
{
"options": {
"left": 0,
"top": 186,
"height": 12,
"width": 226.5,
"title": "门诊手术计费流程",
"coordinateSync": false,
"widthHeightSync": false,
"fontWeight": "bold",
"textAlign": "center",
"fontSize": 10,
"color": "#0066CC"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 10,
"top": 200,
"height": 85,
"width": 206.5,
"coordinateSync": false,
"widthHeightSync": false,
"field": "surgeryFlowImage",
"imgSrc": "/img/surgery-charge-flow.png",
"fit": "contain"
},
"printElementType": {
"title": "图片",
"type": "image"
}
},
{
"options": {
"left": 0,
"top": 288,
"height": 10,
"width": 226.5,
"title": "请妥善保管,有疑问请咨询服务台",
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 8,
"textAlign": "center",
"color": "#666666"
},
"printElementType": {
"title": "文本",
"type": "text"
}
}
]
}
]
}