// products.js — 产品迭代模块 function formHtml(fields, button) { return `
`; } async function createResource(event, resource) { event.preventDefault(); const form = event.currentTarget; const data = Object.fromEntries(new FormData(form).entries()); data.tenant = state.tenant; try { const result = await api(`/api/${resource}`, { method: "POST", body: JSON.stringify({ data }) }); const targetMap = { sales: "sales", proposals: "proposal", operations: "operation", products: "product" }; const resType = targetMap[resource] || resource; const name = data.project_name || data.target_customer || data.customer_or_project_name || data.product_name || ""; if (result.id && name) logActivity(resType, result.id, "创建了" + name); form.reset(); await load(); } catch (error) { toast("创建失败:" + error.message, "error"); } } window.createSales = (event) => createResource(event, "sales"); window.createProposal = (event) => createResource(event, "proposals"); window.createOperation = async (event) => { await createResource(event, "operations"); if (typeof closeNewProjectModal === "function") closeNewProjectModal(); }; window.openProductDrawer = () => { const drawer = document.querySelector("#productDrawer"); drawer.innerHTML = `${esc(p.version_goal) || '—'}