diff --git a/static/app.js b/static/app.js index 8894db9..c85919f 100644 --- a/static/app.js +++ b/static/app.js @@ -170,6 +170,23 @@ window.createSales = (event) => createResource(event, "sales"); window.createProposal = (event) => createResource(event, "proposals"); window.createOperation = (event) => createResource(event, "operations"); window.createProduct = (event) => createResource(event, "products"); +window.createTask = (event, projectId) => createTask(event, projectId); + +async function createTask(event, projectId) { + event.preventDefault(); + const form = event.currentTarget; + const data = Object.fromEntries(new FormData(form).entries()); + data.project_id = projectId; + try { + await api("/api/tasks", { method: "POST", body: JSON.stringify({ data }) }); + form.reset(); + form.classList.add("hidden"); + await load(); + showTaskModal(projectId); + } catch (error) { + alert("创建失败:" + error.message); + } +} window.createFinance = (event) => createResource(event, "finance"); window.switchTab = switchTab; @@ -208,14 +225,31 @@ function showTaskModal(projectId) { const project = state.data.operations.find((x) => x.id === projectId); const tasks = (state.data.tasks || []).filter((t) => t.project_id === projectId); const phases = ["项目准备", "项目执行", "项目验收", "验收完毕"]; - document.querySelector("#taskModal").innerHTML = `