erp-frontend/emergency-print.html
2026-04-06 21:14:31 +08:00

122 lines
4.7 KiB
HTML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

checkboxes.forEach(cb => cb.checked = false)
updateSelectionStatus()
updateStatus('选择已清除', 'success')
}
// 重置筛选
function resetFilter() {
document.getElementById('statusFilter').value = '1'
loadOrders()
}
// 打开打印对话框
function openPrintDialog() {
if (selectedOrderIds.size === 0) {
alert('请选择订单')
return
}
// 获取选中的订单
const selectedOrders = orders.filter(order => selectedOrderIds.has(order.id))
// 更新对话框内容
const ordersList = document.getElementById('selectedOrdersList')
ordersList.innerHTML = selectedOrders.slice(0, 10).map(order => `
<div class="order-item">
<span>${order.shortId}</span>
<span>${order.platformOrderSn}</span>
<span>${order.receiverName}</span>
</div>
`).join('')
if (selectedOrders.length > 10) {
ordersList.innerHTML += `<div class="order-item" style="text-align:center;color:#909399;">
还有 ${selectedOrders.length - 10} 个订单...
</div>`
}
// 重置表单
document.getElementById('expressSelect').value = ''
document.getElementById('templateSelect').value = ''
document.getElementById('remark').value = ''
// 显示对话框
document.getElementById('printDialog').style.display = 'flex'
}
// 关闭打印对话框
function closePrintDialog() {
document.getElementById('printDialog').style.display = 'none'
document.getElementById('printLoading').style.display = 'none'
document.getElementById('printError').style.display = 'none'
isPrinting = false
}
// 开始打印
function startPrint() {
if (isPrinting) return
const expressId = document.getElementById('expressSelect').value
const templateId = document.getElementById('templateSelect').value
if (!expressId || !templateId) {
alert('请选择快递公司和模板')
return
}
isPrinting = true
document.getElementById('startPrintBtn').disabled = true
document.getElementById('printLoading').style.display = 'block'
document.getElementById('printError').style.display = 'none'
// 模拟打印过程
setTimeout(() => {
try {
// 模拟打印成功
const selectedCount = selectedOrderIds.size
// 清空选择
selectedOrderIds.clear()
updateSelectionStatus()
// 关闭对话框
closePrintDialog()
// 显示成功消息
updateStatus(`成功打印 ${selectedCount} 个订单`, 'success')
alert(`打印完成!成功打印 ${selectedCount} 个订单`)
} catch (error) {
document.getElementById('printError').textContent = '打印失败: ' + error.message
document.getElementById('printError').style.display = 'block'
updateStatus('打印失败', 'error')
} finally {
isPrinting = false
document.getElementById('startPrintBtn').disabled = false
document.getElementById('printLoading').style.display = 'none'
}
}, 2000)
}
// 添加键盘快捷键
document.addEventListener('keydown', function(event) {
// ESC键关闭对话框
if (event.key === 'Escape') {
closePrintDialog()
}
// Ctrl+Enter 开始打印
if (event.ctrlKey && event.key === 'Enter') {
if (document.getElementById('printDialog').style.display === 'flex') {
startPrint()
}
}
})
// 初始化
console.log('🆘 紧急可用版初始化完成')
console.log('如果此页面正常但Vue页面空白说明是Vue编译问题')
console.log('请检查浏览器控制台是否有Vue编译错误')
</script>
</body>
</html>