fix(common): 统一异常处理并迁移打印功能到hiprint

- 替换所有System.out.println和printStackTrace为slf4j日志记录
- 在BeanUtils、AuditFieldUtil、DateUtils、ServletUtils等工具类中添加Logger实例
- 在Flowable相关控制器和服务中统一错误日志记录格式
- 在代码生成器中添加日志记录功能
- 将前端打印组件从Lodop迁移到hiprint打印方案
- 更新体温单打印功能使用hiprint预览打印
- 移除调试用的console.log语句
- 修复打印模板中线条元素类型定义
This commit is contained in:
2026-03-06 22:16:44 +08:00
parent 8ef334ba1b
commit b65841c0cc
58 changed files with 678 additions and 888 deletions

View File

@@ -172,7 +172,9 @@ import {computed, onMounted, ref} from 'vue';
import {ElMessage} from 'element-plus';
import {patientInfoList} from '../../components/store/patient.js';
import {getSinglePatient} from '../store/patient.js'; // 导入获取单选患者信息的方法
import {formatDateStr} from '@/utils/index';
import {formatDateStr} from '@/utils';
// 迁移到 hiprint
import { previewPrint } from '@/utils/printUtils.js';
// 响应式数据
const loading = ref(false);
@@ -433,39 +435,16 @@ function handlePrint() {
printDialogVisible.value = true;
}
// 执行打印
// 执行打印 - 使用 hiprint
function doPrint() {
try {
// 获取要打印的内容
const printContent = document.getElementById('print-content').innerHTML;
// 创建临时窗口
const printWindow = window.open('', '_blank');
// 写入内容
printWindow.document.write(`
<html>
<head>
<title>预交金清单</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #ccc; padding: 8px; }
th { background-color: #f2f2f2; }
tfoot { font-weight: bold; }
.total-row { background-color: #f5f5f5; }
</style>
</head>
<body>
${printContent}
</body>
</html>
`);
// 打印
printWindow.document.close();
printWindow.focus();
printWindow.print();
const printContent = document.getElementById('print-content');
if (printContent) {
previewPrint(printContent);
} else {
ElMessage.warning('未找到打印内容');
}
} catch (e) {
ElMessage.error('打印失败');
console.error('Print error:', e);

View File

@@ -495,38 +495,16 @@ function handlePrint() {
printDialogVisible.value = true;
}
// 执行打印
// 执行打印 - 使用 hiprint
function doPrint() {
try {
// 获取要打印的内容
const printContent = document.getElementById('print-content').innerHTML;
// 创建临时窗口
const printWindow = window.open('', '_blank');
// 写入内容
printWindow.document.write(`
<html>
<head>
<title>费用明细清单</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #ccc; padding: 8px; }
th { background-color: #f2f2f2; }
tfoot { font-weight: bold; }
.total-row { background-color: #f5f5f5; }
</style>
</head>
<body>
${printContent}
</body>
</html>
`);
// 打印
printWindow.document.close();
printWindow.focus();
printWindow.print();
const printContent = document.getElementById('print-content');
if (printContent) {
previewPrint(printContent);
} else {
ElMessage.warning('未找到打印内容');
}
} catch (e) {
ElMessage.error('打印失败');
console.error('Print error:', e);

View File

@@ -345,6 +345,8 @@ import moment from 'moment';
import {ElMessage} from 'element-plus';
import {patientInfoList} from '../../components/store/patient.js';
import {formatDateStr} from '@/utils/index';
// 迁移到 hiprint
import { previewPrint } from '@/utils/printUtils.js';
import {getCostDetail} from './api.js';
import {getOrgList} from '../../../basicmanage/ward/components/api.js';
import {User} from '@element-plus/icons-vue';
@@ -627,39 +629,16 @@ function handlePrint() {
printDialogVisible.value = true;
}
// 执行打印
// 执行打印 - 使用 hiprint
function doPrint() {
try {
// 获取要打印的内容
const printContent = document.getElementById('print-content').innerHTML;
// 创建临时窗口
const printWindow = window.open('', '_blank');
// 写入内容
printWindow.document.write(`
<html>
<head>
<title>费用明细清单</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #ccc; padding: 8px; }
th { background-color: #f2f2f2; }
tfoot { font-weight: bold; }
.total-row { background-color: #f5f5f5; }
</style>
</head>
<body>
${printContent}
</body>
</html>
`);
// 打印
printWindow.document.close();
printWindow.focus();
printWindow.print();
const printContent = document.getElementById('print-content');
if (printContent) {
previewPrint(printContent);
} else {
ElMessage.warning('未找到打印内容');
}
} catch (e) {
ElMessage.error('打印失败');
console.error('Print error:', e);