v43 第 43 批:六条反馈(界面 5 + 条目详情浮层)
用户 2026-10-11 反馈六条,逐条定位真根因后修复: ① 纪念日「日期」多出一个控件 —— 只保留最新的那个 两层根因:(a)原生 `input[type=date]` 当初没包在 `.dt-native` 里, v42 那条"AntD 挂上后收起原生框"的选择器根本不命中;(b)更要命的是 `.dt-native` 基类写着 `display: contents` —— 该元素**没有盒子**, 给它 position/width 完全无效 ⇒ 必须把 display 显式改回 block 才收得起来。 ② 编辑纪念日把底层列表页弄没 —— 「修改」原来是整页跳 `days/edit` (套 layout = 一张只有弹框的空白页)。改为 `?embed=1` 只吐弹框那一块, 列表页 JS 取回来替换 `#anNewCard` 并打开 —— 与「新建」同一观感。 内嵌形态标 `$anModalOnly` 以免打 standalone 标记(关闭时不再跳页)。 ③ 拖图裁剪的层被弹框盖住 —— `.crop-overlay` 是 z-index:100 而 `.cal-modal` 是 200 ⇒ 裁剪层被整块盖住。提到 260(与 v41 的 .cn-modal 同一处理)。 ④ 行程弹框里"参与的人"弹不出选人框 —— person_picker.js 只绑定一次, 而弹框表单是 AJAX 片段 ⇒ 里面的 `.pp` 从未被 init。三件事一起: 暴露 `window.fbInitPickers()`(幂等)+ layout 暴露 `window.fbLoadPicker()` (脚本是按需加载的)+ 塞完片段后补调初始化。 ⑤ 日程新建排版/控件/文案 —— 改走观影式 `.mv-grid`(标签对齐 + 冒号); 起止补上 `$dtPlugin='antd'`(试点正式推广到日程);标签「时间范围」→「开始 / 结束」; 删三句提示(结束留空 / 多选提醒 / 全天)。 ⑥ 条目详情浮层(首页日程 / 首页近期任务 / 日程页条目)—— 点条目不再直接跳页,弹浮层显示详情;「详细信息」跳该来源详情页; 「编辑」就地换成该来源的编辑表单(四处 `?embed=1` 片段)。 新增 `templates/_entry_popup.php` + `assets/js/entry_popup.js` + `fb_entry_json()`(三个入口共用一个编码函数)。 验证:php -l 157 文件全过;div 深度 33 组合全配平;片段体检 20 片段无越界; 本地 e2e 1510/0;v43 真机 33/0;v43 反向验证 8/0;v38 36/0;v42 33/0; b31/b32 反向验证 8/0 与 5/0;部署断言本地空跑 RC=0;完整流水线 PUSH_RC=0。
This commit is contained in:
@@ -868,6 +868,18 @@ final class Calendar
|
||||
return in_array($v, ['confirmed', 'tentative', 'cancelled'], true) ? $v : 'confirmed';
|
||||
}
|
||||
|
||||
/**
|
||||
* 🔴 v43(用户第 6 条):日程状态的**中文说法** —— 条目详情浮层里要显示"状态"。
|
||||
* 与 `templates/calendar/_event_fields.php` 那个 <select> 的选项文案**一字不差**:
|
||||
* 两处各写一套必然有一天对不上("确定" vs "已确认")。
|
||||
*/
|
||||
public static function statusWord(string $status): string
|
||||
{
|
||||
return ['confirmed' => '确定', 'tentative' => '待定', 'cancelled' => '取消'][
|
||||
self::statusOf($status)
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 某个月(或某段日期)里**全部**日程:
|
||||
* 自定义日程(calendar_events)+ 观影(events kind=movie)+ 旅行(events kind=trip)
|
||||
@@ -960,6 +972,11 @@ final class Calendar
|
||||
'all_day' => !empty($e['all_day']),
|
||||
'kind' => 'custom',
|
||||
'ref_id' => (int)$e['id'],
|
||||
// 🔴 v43(用户第 6 条):条目详情浮层要显示"更多信息",
|
||||
// 所以地点/备注/状态也要带出去(原来模板只用得到 title/time)。
|
||||
'location' => (string)($e['location'] ?? ''),
|
||||
'note' => (string)($e['note'] ?? ''),
|
||||
'status_word' => self::statusWord((string)($e['status'] ?? 'confirmed')),
|
||||
// 带上这一天的日期,重复日程点进去才能定位到"改哪一次"
|
||||
'occ' => $day,
|
||||
'repeat' => $rr,
|
||||
|
||||
Reference in New Issue
Block a user