const SUPABASE_URL = 'https://chixssrphfgxvqqigkzo.supabase.co'; const SUPABASE_ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImNoaXhzc3JwaGZneHZxcWlna3pvIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzQ2OTE0OTEsImV4cCI6MjA5MDI2NzQ5MX0.Az_Ew2J2zdOMcSV0UNAjBS-LPqGpqhsaN4IyZ5R7iqU'; const sbClient = supabase.createClient(SUPABASE_URL, SUPABASE_ANON_KEY); let html5QrCode = null; document.getElementById('startScanBtn').addEventListener('click', async () => { document.getElementById('scanner-overlay').style.display = 'flex'; if (html5QrCode) { try { await html5QrCode.stop(); } catch (e) {} } html5QrCode = new Html5Qrcode("reader"); const config = { fps: 15, qrbox: { width: 250, height: 250 }, aspectRatio: 1.0 }; try { await html5QrCode.start({ facingMode: "environment" }, config, (text) => { document.getElementById('searchTerm').value = text; closeScanner(); handleSearch(); }); } catch (err) { alert("摄像头启动失败。"); closeScanner(); } }); async function closeScanner() { if (html5QrCode && html5QrCode.isScanning) { await html5QrCode.stop(); } document.getElementById('scanner-overlay').style.display = 'none'; } document.getElementById('stopScanBtn').addEventListener('click', closeScanner); async function handleSearch() { const searchTerm = document.getElementById('searchTerm').value.trim(); const dateFrom = document.getElementById('dateFrom').value; const dateTo = document.getElementById('dateTo').value; const resultsDiv = document.getElementById('searchResults'); resultsDiv.innerHTML = '
| 编号 | 姓名 | 事由 | 金额 | 日期 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| ${ticket.ticket_number || ''} | ${ticket.customer_name || ''} | ${displayReason} | ${amount} | ${ticket.created_at ? new Date(ticket.created_at).toLocaleDateString('zh-CN') : '-'} | ${ticket.processed ? '已处理' : '未处理'} |