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:
+14
-1
@@ -104,7 +104,7 @@ final class Schema
|
||||
* ⚠️ 它**不再**作为"要不要跑升级"的判据 —— 见 fingerprint() 的说明。
|
||||
* 它仍然要手工维护,因为它给人看(排查时一眼知道代码到哪一版了)。
|
||||
*/
|
||||
public const VERSION = '25';
|
||||
public const VERSION = '26';
|
||||
|
||||
/**
|
||||
* 「源码指纹」:拿**本文件自身的内容**算一个哈希,作为"要不要跑升级"的判据。
|
||||
@@ -1459,6 +1459,19 @@ SQL);
|
||||
"ADD COLUMN `board_id` INT UNSIGNED DEFAULT NULL COMMENT '属于哪个看板(用户自建;NULL=默认看板)' AFTER `family_id`");
|
||||
self::addColumn($db, 'tasks', 'category_id',
|
||||
"ADD COLUMN `category_id` INT UNSIGNED DEFAULT NULL COMMENT '属于哪个分类(用户自建;NULL=未分类)' AFTER `board_id`");
|
||||
/* 🔴 v24 第 26 批 用户第 3 条:看板可以选颜色。
|
||||
*
|
||||
* 用户原话:「任务在设置看板的时候,可以选择颜色,这样在首页列表中显示的时候,
|
||||
* 就可以更加直观的看到他属于哪个看板。」
|
||||
*
|
||||
* ⚠️ 默认值**留空**而不是给个具体色:空 = "没选过颜色",
|
||||
* 由渲染层按看板名**稳定地**算一个色(同名永远同色,见 Task::boardColor())。
|
||||
* 若这里给死 `#2F6BF7`,所有没设过的看板会全变成同一个蓝 ——
|
||||
* 那反而看不出"属于哪个看板"(正是这条需求要解决的问题)。
|
||||
* ⚠️ `addColumn` 自带"列不存在才加",所以老库/新装都走这一条,不必写两遍。
|
||||
* 列长 7 = `#RRGGBB`;不用枚举(用户可选任意色),合法性在入库时校验。 */
|
||||
self::addColumn($db, 'task_boards', 'color',
|
||||
"ADD COLUMN `color` CHAR(7) DEFAULT NULL COMMENT '看板色 #RRGGBB;NULL=按名字派生' AFTER `position`");
|
||||
// 每个家庭至少有一个看板,否则"看板"这个概念在界面上就是空的
|
||||
self::tryStep('给每个家庭补一个默认看板', static function () use ($db) {
|
||||
foreach ($db->query('SELECT id FROM families')->fetchAll() as $fam) {
|
||||
|
||||
Reference in New Issue
Block a user