0; /* 分类名:Task::find 不带 join,这里按 id 在清单里找(清单一次查询就够, 比再跑一条 SQL 划算;找不到就当未分类)。 */ $tpCatName = ''; foreach ($tpCats as $tpCat) { if ((int)$tpCat['id'] === (int)($tpT['category_id'] ?? 0)) { $tpCatName = (string)$tpCat['name']; break; } } $tpDue = (string)($tpT['due_at'] ?? ''); $tpDueWord = \App\Task::dueWord($tpDue !== '' ? $tpDue : null); $tpLate = $tpDue !== '' && $tpStatus !== 'done' && \App\Task::isOverdue($tpDue); ?>
data-tk-url-due="" data-tk-url-save="">
状态
$tpSv): ?>
看板
` 而不是 `_person_picker.php` 的弹窗选人: 面板本身已在浮层里,再弹一层模态 = 两层遮罩,手机上很容易点错; 而且 picker 需要 `fbInitPickers()` 初始化,`loadPanel()` 目前没调它。 家庭成员通常 3~10 人,select 够用。**人多了再换弹窗**,那时记得 把 `fbInitPickers` 也补进 `loadPanel()`。 */ ?>
更多信息
截止
负责人 $tpT['assignee_name'], 'my_nickname' => $tpT['assignee_nick'] ?? ''])) : '不指定' ?>
分类
循环
备注
子任务 /

还没有子任务。

附件
'1']; require __DIR__ . '/../_attachments.php'; ?>

还没有附件。

点击或拖动进行上传
讨论

还没有留言。写 @名字 可以点名。