diff --git a/交付物/项目管理界面/project-board.html b/交付物/项目管理界面/project-board.html index 47c0da7..e1db0a3 100644 --- a/交付物/项目管理界面/project-board.html +++ b/交付物/项目管理界面/project-board.html @@ -49,7 +49,8 @@ border-radius:999px;padding:1px 9px;font-size:12px;color:var(--dim)} .cards{padding:10px;display:flex;flex-direction:column;gap:9px;flex:1} - /* ── 卡片 ── */ + /* ── 统一视图:卡片上的「目标」标签(🔴 归属靠标签,⛔ 不靠分区)── */ + .badge.goal{border-color:var(--accent);color:var(--accent)} .card{background:var(--panel2);border:1px solid var(--line);border-left-width:3px; border-radius:8px;padding:10px 11px;cursor:pointer; transition:transform .08s ease,border-color .12s ease} @@ -94,6 +95,40 @@ .fnote.bad{color:#f2a09a} .facts{display:flex;align-items:center;gap:10px} + /* ── 「!」状态图标 + 悬浮说明(⚠️ 提示一律收进这里,⛔ 不铺在工作台上)── */ + .info{position:relative;display:inline-flex;align-items:center;justify-content:center; + width:22px;height:22px;border-radius:50%;font-size:13px;font-weight:700;line-height:1; + border:1px solid var(--line);background:var(--panel2);color:var(--dim);cursor:pointer; + user-select:none;flex:none} + .info.idle{opacity:.42} /* 没内容时淡掉,但仍在位 */ + .info.fancy:not(.idle){border-color:var(--warn);color:var(--warn)} + .info:focus{outline:2px solid var(--accent);outline-offset:2px} + .infopop{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(480px,92vw); + background:var(--panel);border:1px solid var(--line);border-radius:10px; + box-shadow:0 12px 34px rgba(0,0,0,.34);padding:12px 14px;display:none} + .infopop.on{display:block} + .infopop .ih{font-size:12px;color:var(--dim2);font-weight:600;letter-spacing:.5px; + text-transform:uppercase;margin:0 0 8px} + .infopop .iw{font-size:13px;line-height:1.62;padding:7px 0;border-top:1px dashed var(--line); + color:var(--fg)} + .infopop .iw:first-of-type{border-top:0;padding-top:0} + .infopop .iw b{color:var(--warn)} + .infopop .iw code{background:var(--panel2);padding:1px 5px;border-radius:4px;font-size:12px} + + /* ── 一次性操作反馈(自动消失;⛔ 不常驻)── */ + .toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);z-index:60; + max-width:min(680px,92vw);padding:11px 15px;border-radius:10px;font-size:13px; + line-height:1.55;border:1px solid var(--line);background:var(--panel); + box-shadow:0 10px 30px rgba(0,0,0,.3);opacity:0;pointer-events:none; + transition:opacity .16s ease, transform .16s ease;word-break:break-word} + .toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto} + .toast.ok{border-color:var(--ok)} + .toast.err{border-color:var(--bad);color:#f2a09a} + .toast pre.out{margin:8px 0 0;max-height:150px} + + /* 时效警示:数据 > 15 秒没动 ⇒ 转黄(⛔ 不靠用户猜"刷新了没") */ + .stamp.is-stale{color:var(--warn)} + /* ── 抽屉 ── */ .mask{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none; transition:opacity .15s ease;z-index:40} @@ -130,17 +165,20 @@
加载中… + ! - +
-
+
+