// 客户订单管理 (() => { Router.register('/plan-mgmt/customer-order', async () => { // 先返回 HTML const html = `
下单时间 订单编号 客户名称 物料 订单数量 单价 操作
加载中...
`; // DOM 渲染后初始化 setTimeout(() => { const addBtn = document.getElementById('add-order-btn'); if (addBtn) { addBtn.addEventListener('click', () => { openModal(); }); } loadOrders(); }, 100); return html; }); async function loadOrders() { try { console.log('开始加载订单列表...'); const res = await fetch('/api/customer-orders'); console.log('API响应状态:', res.status); const data = await res.json(); console.log('订单数据:', data); const tbody = document.getElementById('order-list'); if (!tbody) { console.error('找不到 order-list 元素'); return; } if (!data.list || data.list.length === 0) { tbody.innerHTML = '暂无数据'; return; } tbody.innerHTML = data.list.map(order => ` ${order.order_date || '—'} ${order.order_no || '—'} ${order.customer_name || '—'} ${order.material || '—'} ${order.quantity || 0} ${order.unit_price || 0} `).join(''); console.log('订单列表加载完成'); } catch (err) { console.error('加载订单失败:', err); const tbody = document.getElementById('order-list'); if (tbody) { tbody.innerHTML = '加载失败,请刷新重试'; } API.toast('加载订单失败', 'error'); } } let materialRowIndex = 0; let productList = []; // 缓存BOM产品列表 async function loadProductList() { try { const res = await fetch('/api/bom/products'); const data = await res.json(); productList = (data.list || []).map(p => p.product_name).filter(Boolean); // 同时从已有订单中提取物料名称(去重) const orderRes = await fetch('/api/customer-orders'); const orderData = await orderRes.json(); if (orderData.list) { for (const o of orderData.list) { if (o.material && !productList.includes(o.material)) { productList.push(o.material); } } } } catch (e) { console.error('加载产品列表失败:', e); } } function buildMaterialOptions() { return productList.map(name => `