diff --git a/static/app.js b/static/app.js
index e101b51..fc369b6 100644
--- a/static/app.js
+++ b/static/app.js
@@ -193,6 +193,7 @@ window.openTaskForm = (projectId, taskId) => {
document.querySelector(`#task-owner-${projectId}`).value = task.owner || "";
document.querySelector(`#task-due-${projectId}`).value = task.due_date || "";
document.querySelector(`#task-notes-${projectId}`).value = task.notes || "";
+ document.querySelector(`#task-blockers-${projectId}`).value = task.blockers || "";
document.querySelector(`#task-submit-btn-${projectId}`).textContent = "保存修改";
}
form.scrollIntoView({ behavior: "smooth" });
@@ -266,6 +267,7 @@ function showTaskModal(projectId) {
+
@@ -275,7 +277,7 @@ function showTaskModal(projectId) {
${phases.map((phase) => {
const pt = tasks.filter((t) => t.phase === phase);
if (!pt.length) return "";
- return `
${phase}${pt.length}
${pt.map((t) => `
${t.task}${t.notes ? `${t.notes}` : ""}
${t.owner || ""}${t.due_date || ""}`).join("")}
`;
+ return `
${phase}${pt.length}
${pt.map((t) => `
${t.task}${t.notes ? `${t.notes}` : ""}${t.blockers ? `⚠ ${t.blockers}` : ""}
${t.owner || ""}${t.due_date || ""}`).join("")}
`;
}).join("")}
`;
document.querySelector("#taskModal").classList.add("active");
if (window.lucide) window.lucide.createIcons();
diff --git a/static/styles.css b/static/styles.css
index 9f9e174..85267b8 100644
--- a/static/styles.css
+++ b/static/styles.css
@@ -538,6 +538,7 @@ td {
.task-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.task-name { color: #1e293b; font-size: 13px; }
.task-desc { color: #94a3b8; font-size: 12px; word-wrap: break-word; overflow-wrap: break-word; }
+.task-blocker { color: #dc2626; font-size: 12px; word-wrap: break-word; overflow-wrap: break-word; }
.task-col { color: #64748b; font-size: 12px; white-space: nowrap; width: 100px; text-align: right; }
.task-col-badge { color: #64748b; font-size: 12px; white-space: nowrap; width: 90px; text-align: right; }
.task-none { color: #94a3b8; font-size: 13px; padding: 12px 14px; text-align: center; border-top: 1px solid #f1f5f9; }