优化结构
Vercel Deploy / deploy (push) Successful in 2m8s

This commit is contained in:
2026-05-01 08:29:46 +08:00
Unverified
parent bad707fce1
commit b3a2199f28
25 changed files with 906 additions and 902 deletions
+2 -134
View File
@@ -6,91 +6,7 @@
<link rel="stylesheet" href="../css/notice-banner.css">
<style>
body {
font-family: Arial, "Microsoft YaHei";
background: white;
}
/* ===== A4 容器 ===== */
.page {
width: 210mm;
min-height: 297mm;
margin: auto;
padding: 20mm;
position: relative;
background: white;
}
/* ===== 水印 ===== */
.watermark {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(-30deg);
font-size: 50px;
color: rgba(0, 0, 0, 0.08);
white-space: nowrap;
pointer-events: none;
z-index: 0;
text-align: center;
}
/* ===== 标题 ===== */
.title {
text-align: center;
font-size: 22px;
font-weight: bold;
margin-bottom: 20px;
}
/* ===== 信息表格 ===== */
.table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
position: relative;
z-index: 1;
}
.table td {
border: 1px solid #ddd;
padding: 10px;
font-size: 14px;
}
.label {
width: 25%;
background: #f5f5f5;
}
/* ===== 页脚 ===== */
.footer {
position: absolute;
bottom: 20mm;
left: 20mm;
right: 20mm;
font-size: 12px;
color: #666;
display: flex;
justify-content: space-between;
}
/* ===== 打印优化 ===== */
@media print {
.no-print {
display: none;
}
body {
margin: 0;
}
.page {
box-shadow: none;
}
}
</style>
<link rel="stylesheet" href="../css/ticket-print.css">
</head>
<body>
@@ -123,55 +39,7 @@ body {
<script src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2"></script>
<script>
const SUPABASE_URL = 'https://chixssrphfgxvqqigkzo.supabase.co';
const SUPABASE_ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImNoaXhzc3JwaGZneHZxcWlna3pvIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzQ2OTE0OTEsImV4cCI6MjA5MDI2NzQ5MX0.Az_Ew2J2zdOMcSV0UNAjBS-LPqGpqhsaN4IyZ5R7iqU';
const sb = window.supabase.createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
function formatDate(d){
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() {
const id = new URLSearchParams(location.search).get('id');
const { data } = await sb.from('tickets').select('*').eq('id', id).single();
if (!data) return;
document.getElementById('ticket_number').innerText = data.ticket_number || '';
document.getElementById('customer_name').innerText = data.customer_name || '';
document.getElementById('reason').innerText = data.reason || '';
document.getElementById('amount').innerText = '¥' + (data.amount || 0).toFixed(2);
document.getElementById('issuer').innerText = data.issuer || '';
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');
updateWatermark(data.customer_name);
// 自动打印
setTimeout(() => {
window.print();
}, 300);
}
load();
</script>
<script src="../js/ticket-print.js"></script>
<script src="https://cdn.jsdmirror.cn/gh/bishshi/wechat-detect@main/wechat-detect.js"></script>
<script src="../js/notice-banner.js"></script>
</body>