优化ticket打印
Vercel Deploy / deploy (push) Successful in 57s

This commit is contained in:
2026-03-28 21:13:27 +08:00
Unverified
parent 87f1ed2dee
commit cf30240803
2 changed files with 35 additions and 10 deletions
+9 -2
View File
@@ -193,10 +193,17 @@
${item('开具人', ticket.issuer)} ${item('开具人', ticket.issuer)}
${item('日期', formatDate(ticket.created_at))} ${item('日期', formatDate(ticket.created_at))}
${item('状态', ` ${item('状态', `
<span class="status ${ticket.processed ? 'done' : 'pending'}"> <span class="status ${ticket.status ? 'done' : 'pending'}">
${ticket.processed ? '已处理' : '未处理'} ${ticket.status ? '已处理' : '未处理'}
</span> </span>
`, true)} `, true)}
${item('办结否', `
<span class="status ${ticket.processed ? 'TRUE' : 'FALSE'}">
${ticket.processed ? '已办结' : '未办结'}
</span>
`, true)}
${item('办结日期', formatDate(ticket.processed_at) || '暂无')}
${item('备注', ticket.remarks || '无')}
</div> </div>
<div class="action-buttons"> <div class="action-buttons">
+26 -8
View File
@@ -23,14 +23,15 @@ body {
/* ===== 水印 ===== */ /* ===== 水印 ===== */
.watermark { .watermark {
position: absolute; position: absolute;
top: 40%; top: 50%;
left: 50%; left: 50%;
transform: translate(-50%, -50%) rotate(-30deg); transform: translate(-50%, -50%) rotate(-30deg);
font-size: 60px; font-size: 50px;
color: rgba(0,0,0,0.08); color: rgba(0, 0, 0, 0.08);
white-space: nowrap; white-space: nowrap;
pointer-events: none; pointer-events: none;
z-index: 0; z-index: 0;
text-align: center;
} }
/* ===== 标题 ===== */ /* ===== 标题 ===== */
@@ -95,17 +96,20 @@ body {
<div class="page" id="content"> <div class="page" id="content">
<!-- 水印 --> <!-- 水印 -->
<div class="watermark">BISS · OFFICIAL</div> <div class="watermark" id="watermark"></div>
<div class="title">单据详情</div> <div class="title">单据详情</div>
<table class="table" id="table"> <table class="table">
<tr><td class="label">编号</td><td id="ticket_number"></td></tr> <tr><td class="label">编号</td><td id="ticket_number"></td></tr>
<tr><td class="label">姓名</td><td id="customer_name"></td></tr> <tr><td class="label">姓名</td><td id="customer_name"></td></tr>
<tr><td class="label">事由</td><td id="reason"></td></tr> <tr><td class="label">事由</td><td id="reason"></td></tr>
<tr><td class="label">金额</td><td id="amount"></td></tr> <tr><td class="label">金额</td><td id="amount"></td></tr>
<tr><td class="label">开具人</td><td id="issuer"></td></tr> <tr><td class="label">开具人</td><td id="issuer"></td></tr>
<tr><td class="label">日期</td><td id="created_at"></td></tr> <tr><td class="label">日期</td><td id="created_at"></td></tr>
<tr><td class="label">办结否</td><td id="processed"></td></tr>
<tr><td class="label">办结日期</td><td id="processed_at"></td></tr>
<tr><td class="label">备注</td><td id="remarks"></td></tr>
</table> </table>
<!-- 页脚 --> <!-- 页脚 -->
@@ -127,6 +131,14 @@ function formatDate(d){
return new Date(d).toLocaleString('zh-CN'); return new Date(d).toLocaleString('zh-CN');
} }
function updateWatermark(customerName) {
const now = new Date().toLocaleString('zh-CN');
const watermarkText = `BISS · ${customerName || 'Unknown'} · ${now}`;
document.getElementById('watermark').innerText = watermarkText;
}
async function load() { async function load() {
const id = new URLSearchParams(location.search).get('id'); const id = new URLSearchParams(location.search).get('id');
@@ -140,11 +152,17 @@ async function load() {
document.getElementById('amount').innerText = '¥' + (data.amount || 0).toFixed(2); document.getElementById('amount').innerText = '¥' + (data.amount || 0).toFixed(2);
document.getElementById('issuer').innerText = data.issuer || ''; document.getElementById('issuer').innerText = data.issuer || '';
document.getElementById('created_at').innerText = formatDate(data.created_at); document.getElementById('created_at').innerText = formatDate(data.created_at);
document.getElementById('processed').innerText = data.processed ? '已办结' : '未办结';
document.getElementById('processed_at').innerText = data.processed_at ? formatDate(data.processed_at) : '暂无';
document.getElementById('remarks').innerText = data.remarks || '无';
// 打印时间(核心你要的) // 打印时间
document.getElementById('print_time').innerText = new Date().toLocaleString('zh-CN'); document.getElementById('print_time').innerText =
new Date().toLocaleString('zh-CN');
// 自动打印(稳定延迟) updateWatermark(data.customer_name);
// 自动打印
setTimeout(() => { setTimeout(() => {
window.print(); window.print();
}, 300); }, 300);