v26 第 26 批(5 条):财务多选按集合取图 / 首页全天置顶与红线定位 / 任务复选框去提示与看板颜色 / 导航搜索引擎切换与站点复用 / 详情页去复选框
- 财务:勾选多个标签时上面那张「总金额」图按**选中集合**统计(新增 ledger/total_chart 路由 + 单一容器 data-ck-total-host,按集合现取并缓存; Ledger::timeline 第二参数放宽为 string|array) - 首页日程:全天日程移出滚动容器固定置顶;进场把当前时刻红线居中 (scrollTop 计算,不用 scrollIntoView),触发条件不绑 $showNow - 任务:复选框去除 title 提示;看板可设颜色(Task::boardColor/updateBoard), 首页任务行用该颜色显示所属看板 - 导航:展示页补回 id=engine-tabs(切换搜索引擎无效的根因);补内置引擎; 新增站点输 URL 可复用他人已加过的站点(sharedByUrl/copyIconFile/adoptSite) - 任务详情页页头去掉复选框(已有「标记完成」按钮)
This commit is contained in:
@@ -30,14 +30,22 @@ $categories = $categories ?? [];
|
||||
$colList = [];
|
||||
foreach ($boards as $b) {
|
||||
$bid = (int)$b['id'];
|
||||
$colList[] = ['id' => $bid, 'name' => (string)$b['name'], 'rows' => $cols[$bid] ?? []];
|
||||
/* 🔴 v24 第 26 批 用户第 3 条:列头带上**看板色**。
|
||||
用户要的是"一眼看出属于哪个看板" —— 列头本身就是一个看板,
|
||||
给它一个色点,比只在卡片上标色更直观(卡片散落各处,列头是它们的归属地)。 */
|
||||
$colList[] = [
|
||||
'id' => $bid,
|
||||
'name' => (string)$b['name'],
|
||||
'color' => \App\Task::boardColor($b['color'] ?? null, (string)$b['name']),
|
||||
'rows' => $cols[$bid] ?? [],
|
||||
];
|
||||
}
|
||||
if (!empty($cols[0])) {
|
||||
$colList[] = ['id' => 0, 'name' => '其他', 'rows' => $cols[0]];
|
||||
$colList[] = ['id' => 0, 'name' => '其他', 'color' => '', 'rows' => $cols[0]];
|
||||
}
|
||||
// 一个看板都没有(也不该发生:ensureDefaultBoard 保证至少一个)→ 给一句人话
|
||||
if (!$colList) {
|
||||
$colList[] = ['id' => 0, 'name' => '任务', 'rows' => $cols[0] ?? []];
|
||||
$colList[] = ['id' => 0, 'name' => '任务', 'color' => '', 'rows' => $cols[0] ?? []];
|
||||
}
|
||||
$firstColId = (int)($colList[0]['id'] ?? 0);
|
||||
$lastColIdx = count($colList) - 1;
|
||||
@@ -208,6 +216,9 @@ $lastColIdx = count($colList) - 1;
|
||||
<?php foreach ($colList as $ci => $col): $cid = (int)$col['id']; ?>
|
||||
<section class="kb-col" data-board="<?= $cid ?>">
|
||||
<header class="kb-head">
|
||||
<?php if ((string)($col['color'] ?? '') !== ''): ?>
|
||||
<i class="kb-dot" style="--bc: <?= e((string)$col['color']) ?>;" aria-hidden="true"></i>
|
||||
<?php endif; ?>
|
||||
<b><?= e((string)$col['name']) ?></b>
|
||||
<span class="kb-n"><?= count($col['rows']) ?></span>
|
||||
</header>
|
||||
@@ -244,10 +255,16 @@ $lastColIdx = count($colList) - 1;
|
||||
?>
|
||||
<div class="kb-meta">
|
||||
<?php if ($canWrite): ?>
|
||||
<?php /* ⚠️ v24 第 26 批 用户第 3 条:这里原来有 `title="现在:待办;点一下改成「进行中」"`。
|
||||
那串提示在卡片里离**完成复选框**很近(kb-top 下一行),鼠标一停就弹出来压住它
|
||||
—— 用户报的正是「提示把复选框都盖住了」。
|
||||
去掉 title:状态**已经写在按钮文字上**(待办/进行中),
|
||||
点一下会变成下一档这件事由按钮的样式(可点)表达,不需要再弹一段长文。
|
||||
`aria-label` 也一并去掉 —— 它同样会生成浮层;无障碍改用 visually-hidden 文本。 */ ?>
|
||||
<button class="kb-st is-<?= e($stNow) ?>" type="button"
|
||||
data-st-id="<?= $tid ?>" data-st="<?= e($stNow) ?>" data-next="<?= e($stNext) ?>"
|
||||
title="现在:<?= e(\App\Task::statusWord($stNow)) ?>;点一下改成「<?= e(\App\Task::statusWord($stNext)) ?>」">
|
||||
data-st-id="<?= $tid ?>" data-st="<?= e($stNow) ?>" data-next="<?= e($stNext) ?>">
|
||||
<?= e(\App\Task::statusWord($stNow)) ?>
|
||||
<span class="visually-hidden">,点一下改成「<?= e(\App\Task::statusWord($stNext)) ?>」</span>
|
||||
</button>
|
||||
<?php else: ?>
|
||||
<span class="kb-st is-<?= e($stNow) ?> is-static"><?= e(\App\Task::statusWord($stNow)) ?></span>
|
||||
|
||||
Reference in New Issue
Block a user