laoyang
870a63df5a
首页任务浮层:补 ref_id,修复「编辑」按钮不显示 (#72)
用户 Console 提供决定性线索:
AntD 日期控件已挂上 5 处
⇒ 前端控件、资源加载全部正常,问题不在那里。
真根因:
entry_popup.js 的 paintDetail() 里
ed.hidden = !(isEvent && data.edit);
「编辑」按钮要求 data.source === event。
而 fb_entry_json() 算 source:
$evKind = $ev[\x27kind\x27] ?? \x27custom\x27; // 任务卡没传,默认 custom
$evRef = (int)($ev[\x27ref_id\x27] ?? 0); // 任务卡没传 ⇒ 0
$evOwn = ($evKind === \x27custom\x27 && $evRef > 0); // ⇒ false
\x27source\x27 => $evOwn ? \x27event\x27 : \x27derived\x27, // ⇒ derived
⇒ 编辑按钮恒不显示 ⇒ 用户点开任务只能看到只读面板
⇒ 压根没有进 _edit_form.php 的入口
⇒ 永远看不到「截止时间」(那控件只在那张表里)
讽刺的是:_card_tasks.php 是唯一给 panel 的卡片(注释还强调"只有任务会给"),
却也是唯一没给 ref_id 的调用方。
修法:第一个参数补 \x27ref_id\x27 => (int)$t[\x27id\x27]
不补 kind 的理由:fb_entry_json 的 kind 判据只用来区分
「日历里真正属于某本日历的条目」vs「从别的模块派生的」。
对任务来说它只关心"能不能在这里改",答案是能(有 tasks/edit),
走默认 \x27custom\x27 就对了。
副作用检查:del 仍为空(任务没有 calendar/event_del 那种路由,
面板里另有删除入口),所以「删除」按钮不显示 —— 这是正确的。
「编辑」只要 isEvent && data.edit 两者都满足就显示。
实测:
改后(带 ref_id):source = event ✅ 编辑显示 ref=49
改前(不带) :source = derived ❌ 编辑不显示(即 bug)
2026-11-05 17:35:54 +08:00
..
2026-09-30 00:49:53 +08:00
2026-10-26 06:45:38 +08:00
2026-11-05 16:00:19 +08:00
2026-10-26 06:45:38 +08:00
2026-11-05 17:35:54 +08:00
2026-10-03 19:27:14 +08:00
2026-10-26 06:45:38 +08:00
2026-10-26 06:45:38 +08:00
2026-10-28 12:48:47 +08:00
2026-10-28 20:13:22 +08:00
2026-10-09 07:25:08 +08:00
2026-11-01 19:55:40 +08:00
2026-10-28 17:50:51 +08:00
2026-11-01 19:55:40 +08:00
2026-10-26 06:45:38 +08:00
2026-11-05 13:06:29 +08:00
2026-11-05 13:14:51 +08:00
2026-10-21 20:01:23 +08:00
2026-10-21 20:01:23 +08:00
2026-10-26 06:45:38 +08:00
2026-10-25 14:52:43 +08:00
2026-10-17 00:15:06 +08:00
2026-10-07 05:52:40 +08:00
2026-10-08 14:46:16 +08:00
2026-10-07 15:31:26 +08:00
2026-09-30 00:49:53 +08:00
2026-09-30 00:49:53 +08:00
2026-10-21 13:22:37 +08:00
2026-10-28 18:29:59 +08:00
2026-11-01 19:55:40 +08:00
2026-11-01 19:55:40 +08:00
2026-11-01 19:55:40 +08:00
2026-11-01 19:55:40 +08:00
2026-10-19 17:27:37 +08:00