700 710 711 713 bug 修复
This commit is contained in:
@@ -301,9 +301,19 @@ export function executePrint(data, template, printerName, options = {}, business
|
||||
|
||||
let processedTemplate;
|
||||
try {
|
||||
processedTemplate = JSON.parse(
|
||||
JSON.stringify(template).replace(/{{HOSPITAL_NAME}}/g, userStore.hospitalName)
|
||||
);
|
||||
let templateStr = JSON.stringify(template);
|
||||
// 统一处理医院名称占位符(支持大小写)
|
||||
const hospitalName = userStore.hospitalName || data.hospitalName || "中联医院";
|
||||
templateStr = templateStr.replace(/\{\{HOSPITAL_NAME\}\}/gi, hospitalName);
|
||||
|
||||
if (data && typeof data === 'object') {
|
||||
Object.keys(data).forEach(key => {
|
||||
// 使用更安全的替换方式
|
||||
const val = data[key] ?? '';
|
||||
templateStr = templateStr.split(`{{${key}}}`).join(val);
|
||||
});
|
||||
}
|
||||
processedTemplate = JSON.parse(templateStr);
|
||||
console.log('[4] 模板处理成功');
|
||||
} catch (parseError) {
|
||||
console.error('[4] 模板处理失败:', parseError);
|
||||
@@ -332,8 +342,8 @@ export function executePrint(data, template, printerName, options = {}, business
|
||||
|
||||
const printOptions = {
|
||||
title: '打印标题',
|
||||
height: 210,
|
||||
width: 148,
|
||||
width: 210,
|
||||
height: 297,
|
||||
...options,
|
||||
};
|
||||
console.log('[7] 打印选项:', printOptions);
|
||||
@@ -385,7 +395,13 @@ export function executePrint(data, template, printerName, options = {}, business
|
||||
hiprintTemplate.print(data, printOptions, {
|
||||
styleHandler: () => {
|
||||
console.log('[10] styleHandler被调用');
|
||||
return '<style>@media print { @page { margin: 0; } }</style>';
|
||||
// 从 printOptions 获取纸张尺寸(mm),用于 @page size
|
||||
const pageWidth = printOptions.width || 210;
|
||||
const pageHeight = printOptions.height || 297;
|
||||
const pageStyle = `<style>@media print { @page { size: ${pageWidth}mm ${pageHeight}mm; margin: 0; } }</style>`;
|
||||
// 合并外部传入的 styleHandler(包含元素定位样式)与内部 @page 样式
|
||||
const externalStyle = (options && typeof options.styleHandler === 'function') ? options.styleHandler() : '';
|
||||
return pageStyle + externalStyle;
|
||||
},
|
||||
callback: (e) => {
|
||||
console.log('[10] 打印回调被调用:', e);
|
||||
|
||||
Reference in New Issue
Block a user