|
|
|
@@ -170,7 +170,6 @@ window.createSales = (event) => createResource(event, "sales");
|
|
|
|
window.createProposal = (event) => createResource(event, "proposals");
|
|
|
|
window.createProposal = (event) => createResource(event, "proposals");
|
|
|
|
window.createOperation = (event) => createResource(event, "operations");
|
|
|
|
window.createOperation = (event) => createResource(event, "operations");
|
|
|
|
window.createProduct = (event) => createResource(event, "products");
|
|
|
|
window.createProduct = (event) => createResource(event, "products");
|
|
|
|
window.createTask = (event, projectId) => createTask(event, projectId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function createTask(event, projectId) {
|
|
|
|
async function createTask(event, projectId) {
|
|
|
|
event.preventDefault();
|
|
|
|
event.preventDefault();
|
|
|
|
@@ -241,7 +240,7 @@ function showTaskModal(projectId) {
|
|
|
|
</form>
|
|
|
|
</form>
|
|
|
|
${phases.map((phase) => {
|
|
|
|
${phases.map((phase) => {
|
|
|
|
const pt = tasks.filter((t) => t.phase === phase);
|
|
|
|
const pt = tasks.filter((t) => t.phase === phase);
|
|
|
|
return `<div class="task-group"><div class="task-group-hd"><span class="task-group-icon"><i data-lucide="layers"></i></span><span class="task-group-label">${phase}</span><span class="task-group-n">${pt.length}</span></div><div class="task-group-list">${pt.length ? pt.map((t) => `<div class="task-row" data-id="${t.id}"><span class="task-dot"><i data-lucide="${t.status === 'done' ? 'check-circle' : 'circle'}"></i></span><span class="task-name">${t.task}</span></div>`).join("") : `<div class="task-none">暂无任务</div>`}</div></div>`;
|
|
|
|
return `<div class="task-group"><div class="task-group-hd"><span class="task-group-icon"><i data-lucide="layers"></i></span><span class="task-group-label">${phase}</span><span class="task-group-n">${pt.length}</span></div><div class="task-group-list">${pt.length ? pt.map((t) => `<div class="task-row" data-id="${t.id}"><span class="task-dot"><i data-lucide="${t.status === 'done' ? 'check-circle' : 'circle'}"></i></span><span class="task-name">${t.task}</span>${(t.owner || t.due_date) ? `<span class="task-meta">${t.owner || ""}${t.owner && t.due_date ? " · " : ""}${t.due_date || ""}</span>` : ""}</div>`).join("") : `<div class="task-none">暂无任务</div>`}</div></div>`;
|
|
|
|
}).join("")}</div></div></div>`;
|
|
|
|
}).join("")}</div></div></div>`;
|
|
|
|
document.querySelector("#taskModal").classList.add("active");
|
|
|
|
document.querySelector("#taskModal").classList.add("active");
|
|
|
|
if (window.lucide) window.lucide.createIcons();
|
|
|
|
if (window.lucide) window.lucide.createIcons();
|
|
|
|
|