fix(print): 修复打印模板创建失败问题

1. OutpatientSurgeryCharge.json: 添加缺失的 paperList 属性
   - 在 panels 中添加 paperList 配置,指定自定义纸张尺寸 (80x297)
   - 与成功模板 OutpatientBilling.json 保持一致的结构

2. printUtils.js: 移除重复的 hiprint.init() 调用
   - 注释掉 previewPrint 函数中的 hiprint.init() 调用
   - 避免覆盖 main.js 中带有 providers 的初始化配置
   - 防止元素类型未正确注册导致的问题

🤖 Generated with [Qoder][https://qoder.com]
This commit is contained in:
2026-03-06 17:02:25 +08:00
parent 2492daa0ad
commit 8ef334ba1b
2 changed files with 90 additions and 504 deletions

View File

@@ -2,509 +2,44 @@
"panels": [
{
"index": 0,
"name": 1,
"name": "门诊收费凭证",
"paperType": "自定义",
"height": 297,
"width": 80,
"paperHeader": 0,
"paperFooter": 597,
"paperNumberDisabled": true,
"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"
}
}
{"options": {"left": 0, "top": 8, "height": 14, "width": 226.5, "title": "{{HOSPITAL_NAME}}门诊收费凭证", "fontWeight": "bold", "textAlign": "center", "fontSize": 11}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 10, "top": 26, "height": 10, "width": 80, "title": "患者:", "fontSize": 9, "field": "patientName"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 100, "top": 26, "height": 10, "width": 60, "title": "性别:", "fontSize": 9, "field": "sex"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 160, "top": 26, "height": 10, "width": 60, "title": "年龄:", "fontSize": 9, "field": "age"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 10, "top": 38, "height": 10, "width": 100, "title": "科室:", "fontSize": 9, "field": "organizationName"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 120, "top": 38, "height": 10, "width": 100, "title": "医生:", "fontSize": 9, "field": "practitionerName"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 10, "top": 50, "height": 10, "width": 80, "title": "病人类型:", "fontSize": 9, "field": "personType"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 100, "top": 50, "height": 10, "width": 120, "title": "门诊号:", "fontSize": 9, "field": "busNo"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 10, "top": 62, "height": 10, "width": 150, "title": "收费时间:", "fontSize": 9, "field": "chargeTime"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 0, "top": 76, "height": 2, "width": 226.5, "borderWidth": 1, "borderStyle": "solid", "borderColor": "#000000"}, "printElementType": {"title": "线", "type": "line"}},
{"options": {"left": 10, "top": 82, "height": 10, "width": 80, "title": "收费项目", "fontSize": 9, "fontWeight": "bold"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 100, "top": 82, "height": 10, "width": 40, "title": "数量", "fontSize": 9, "fontWeight": "bold", "textAlign": "center"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 145, "top": 82, "height": 10, "width": 80, "title": "金额", "fontSize": 9, "fontWeight": "bold", "textAlign": "right"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 0, "top": 94, "height": 40, "width": 226.5, "field": "chargeItem", "textAlign": "center", "fontSize": 8, "columns": [[{"title": "收费项目", "width": 95, "field": "chargeItemName"}, {"title": "数量", "width": 40, "field": "quantityValue"}, {"title": "金额", "width": 50, "field": "totalPrice"}]]}, "printElementType": {"title": "表格", "type": "table"}},
{"options": {"left": 0, "top": 136, "height": 2, "width": 226.5, "borderWidth": 1, "borderStyle": "solid", "borderColor": "#000000"}, "printElementType": {"title": "线", "type": "line"}},
{"options": {"left": 10, "top": 142, "height": 10, "width": 80, "title": "合计:", "fontSize": 9, "field": "FULAMT_OWNPAY_AMT"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 100, "top": 142, "height": 10, "width": 120, "title": "现金:", "fontSize": 9, "textAlign": "right", "field": "SELF_CASH_PAY"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 10, "top": 154, "height": 10, "width": 100, "title": "微信:", "fontSize": 9, "field": "SELF_VX_PAY"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 120, "top": 154, "height": 10, "width": 100, "title": "支付宝:", "fontSize": 9, "textAlign": "right", "field": "SELF_ALI_PAY"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 10, "top": 166, "height": 10, "width": 150, "title": "医保账户:", "fontSize": 9, "field": "SELF_YB_ZH_PAY"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 0, "top": 180, "height": 2, "width": 226.5, "borderWidth": 1, "borderStyle": "dashed", "borderColor": "#CCCCCC"}, "printElementType": {"title": "线", "type": "line"}},
{"options": {"left": 0, "top": 186, "height": 12, "width": 226.5, "title": "门诊手术计费流程", "fontWeight": "bold", "textAlign": "center", "fontSize": 10, "color": "#0066CC"}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"left": 10, "top": 200, "height": 85, "width": 206.5, "field": "surgeryFlowImage", "fit": "contain"}, "printElementType": {"title": "图片", "type": "image"}},
{"options": {"left": 0, "top": 288, "height": 10, "width": 226.5, "title": "请妥善保管,有疑问请咨询服务台", "fontSize": 8, "textAlign": "center", "color": "#666666"}, "printElementType": {"title": "文本", "type": "text"}}
]
}
]
}
}