编辑页面

修改后将从当前时间重新计算过期时间
`; document.getElementById('modal-confirm').textContent = '确认'; document.getElementById('modal-confirm').onclick = function() { const selectedItem = parseInt(document.getElementById('refund-item').value); const refundType = document.getElementById('refund-type').value; // 从订单中移除该菜品 o.items.splice(selectedItem, 1); // 重新计算金额 o.amount = o.items.reduce((sum, item) => sum + item.price * item.qty, 0); closeModal(); alert(refundType === 'refund' ? '退菜成功!' : '赠菜成功!'); renderOrders(); // 刷新订单列表 renderCheckoutTables(); // 刷新结算桌台 }; document.getElementById('modal').classList.remove('hidden'); }; // 更新订单数量 window.updateOrderCount = function() { const count = orders.filter(o => o.status !== 'completed').length; const badge = document.getElementById('order-count'); if (count > 0) { badge.textContent = count; badge.classList.remove('hidden'); } else { badge.classList.add('hidden'); } }; // 渲染收银桌台列表 window.renderCheckoutTables = function() { const list = document.getElementById('checkout-table-list'); const statusColors = { idle: 'bg-gray-100', occupied: 'bg-orange-50' }; list.innerHTML = tables.filter(t => t.status === 'occupied').map(t => `
${t.name}桌 ${t.people}人
¥${t.amount}
`).join('') || '
暂无可结算桌台
'; }; // 显示结算面板 window.showCheckoutByTable = function(t) { if (!t) return; currentTable = t; const o = orders.find(o => o.table === t.name && o.status !== 'completed'); const panel = document.getElementById('checkout-panel'); if (o) { panel.innerHTML = `

${t.name}桌 账单

${o.people}人 | ${o.time}
${o.items.map(item => ` `).join('')}
菜品 数量 单价 小计
${item.name} ${item.qty} ¥${item.price} ¥${item.price * item.qty}
优惠折扣
原价:¥${o.amount}
实付:¥${o.amount}

支付方式

`; } else { panel.innerHTML = `

该桌台暂无待结算账单

`; } // 切换到结算页面 document.querySelectorAll('.page').forEach(p => p.classList.add('hidden')); document.getElementById('page-checkout').classList.remove('hidden'); document.querySelectorAll('.nav-item').forEach(n => n.classList.remove('active')); document.querySelectorAll('.nav-item')[3].classList.add('active'); }; // 处理支付 window.processPayment = function(method) { const methods = { wechat: '微信支付', alipay: '支付宝', cash: '现金', card: '银行卡' }; document.getElementById('modal-title').textContent = '收款'; document.getElementById('modal-body').innerHTML = `
需支付金额
¥${currentTable?.amount || 0}
支付方式:${methods[method]}
${method === 'cash' ? `
找零:0.00
` : `
请出示付款码
`}
`; document.getElementById('modal-confirm').textContent = '确认收款'; document.getElementById('modal-confirm').onclick = function() { currentTable.status = 'idle'; currentTable.people = 0; currentTable.amount = 0; closeModal(); alert('支付成功!'); renderCheckoutTables(); }; document.getElementById('modal').classList.remove('hidden'); }; // 打印小票 window.printReceipt = function() { alert('正在打印小票...'); }; // 会员折扣 window.showMemberDiscount = function() { document.getElementById('modal-title').textContent = '会员折扣'; document.getElementById('modal-body').innerHTML = `
`; document.getElementById('modal-confirm').textContent = '关闭'; document.getElementById('modal-confirm').onclick = closeModal; document.getElementById('modal').classList.remove('hidden'); }; // 应用会员折扣 window.applyMemberDiscount = function() { alert('会员折扣已应用!'); }; // 搜索会员 window.searchMember = function() { const search = document.getElementById('member-search').value; const result = document.getElementById('member-result'); if (!search) return; const found = members.find(m => m.phone.includes(search) || m.name.includes(search)); if (found) { result.innerHTML = `
${found.name}
${found.phone}
${found.level === 'gold' ? '金卡' : found.level === 'silver' ? '银卡' : '普通'} 余额: ¥${found.balance}
`; showMemberDetail(found.id); } else { result.innerHTML = '
未找到会员
'; document.getElementById('member-detail').innerHTML = `

选择会员查看详情

`; } }; // 会员详情 window.showMemberDetail = function(id) { const m = members.find(m => m.id === id); if (!m) return; document.getElementById('member-detail').innerHTML = `

${m.name}

${m.phone}
${m.level === 'gold' ? '金卡会员' : m.level === 'silver' ? '银卡会员' : '普通会员'}
账户余额
¥${m.balance}
积分余额
${m.points}
会员等级
${m.level === 'gold' ? '金卡' : m.level === 'silver' ? '银卡' : '普通'}
`; }; // 充值弹窗 window.showRechargeModal = function(id) { document.getElementById('modal-title').textContent = '会员充值'; document.getElementById('modal-body').innerHTML = `
`; document.getElementById('modal-confirm').textContent = '确认充值'; document.getElementById('modal-confirm').onclick = function() { const amount = document.getElementById('recharge-amount').value; if (amount >= 500) { closeModal(); alert('充值成功!'); } else { alert('最少充值500元'); } }; document.getElementById('modal').classList.remove('hidden'); }; // 选择充值金额 window.selectRecharge = function(amount) { document.getElementById('recharge-amount').value = amount; }; // 消费弹窗 window.showConsumeModal = function(id) { document.getElementById('modal-title').textContent = '会员消费'; document.getElementById('modal-body').innerHTML = `
可用余额
¥${members.find(m => m.id === id).balance}
`; document.getElementById('modal-confirm').textContent = '确认消费'; document.getElementById('modal-confirm').onclick = function() { closeModal(); alert('消费成功!'); }; document.getElementById('modal').classList.remove('hidden'); }; // 服务呼叫 window.showServiceModal = function() { document.getElementById('service-modal').classList.remove('hidden'); }; window.closeServiceModal = function() { document.getElementById('service-modal').classList.add('hidden'); }; window.handleService = function() { serviceQueue.shift(); closeServiceModal(); if (serviceQueue.length === 0) { document.getElementById('service-alert').classList.add('hidden'); } }; // 模拟服务呼叫 function simulateServiceCall() { const calls = [ { table: 'A02', type: '加水', time: '刚刚' }, { table: 'A03', type: '结账', time: '刚刚' }, { table: 'B01', type: '其他服务', time: '刚刚' } ]; const call = calls[Math.floor(Math.random() * calls.length)]; serviceQueue.push(call); document.getElementById('service-content').innerHTML = `
${call.table}桌呼叫
${call.type}
${call.time}
`; document.getElementById('service-alert').classList.remove('hidden'); } // 关闭模态框 window.closeModal = function() { document.getElementById('modal').classList.add('hidden'); }; // 设置 window.showSettings = function() { document.getElementById('modal-title').textContent = '系统设置'; document.getElementById('modal-body').innerHTML = `
自动打印小票
结账后自动打印
服务呼叫声音
有新呼叫时播放声音
`; document.getElementById('modal-confirm').textContent = '关闭'; document.getElementById('modal-confirm').onclick = closeModal; document.getElementById('modal').classList.remove('hidden'); }; window.refreshOrders = function() { renderOrders(); }; // 初始化 renderTables(); renderOrders(); renderCheckoutTables(); // 模拟服务呼叫(每30秒一次) setInterval(() => { if (Math.random() > 0.5) simulateServiceCall(); }, 30000); })();
取消
访问码: gkqi4u6m