v24 第 12 批:5 条(删除按钮位置/日期控件三修/日历跳转/节气节日/财务图)
用户 2026-10-05 的 5 条。第 11 批交付后用户追问"确定这些需求都做完了?"—— 没有, 这 5 条是进一步要求。实现过程中查出 4 个真 bug。 #1 详情页删除按钮紧贴「开通账号」 上一版放在页面最下方独立区块(danger-zone),用户要「就放在开通账号按钮下面, 紧挨着,长度大小和开通账号一样,颜色改成红色」。→ 搬进「登录账号」卡片内 (.del-inline + 细分隔线 + .btn-block-lg)。 线上几何实测:同一张卡片、左边缘对齐 255==255、宽度一致 990==990、红色 rgb(192,83,63)。 #2 日期控件三修(两个真 bug + 一次闪烁) · 灰底:Semi **外层** .semi-datepicker-input 自带 rgba(46,50,56,.05)、高 32px; 内层 wrapper 白底 40px → 灰的露在外面。实测「灰底元素」= 1 个 → 修后 0 个。 · 不垂直居中:外层 32px < 内层 40px,实测 gapTop=1 / **gapBottom=17**(文字贴顶) → 修后 gapTop=1 / gapBottom=1。 · 闪烁:实测首 **200ms** 原生输入框可见(要等 3.4MB React 解析)。 用 no-js/js 二态:<html class="no-js"> + head 内联脚本立刻换 js + CSS `html.js .dt-input:not(.is-semi) .dt-native { visibility:hidden }` (配同高骨架 ::after 防布局跳动)。实测「出现过原生可见」= False。 #3 日历跳转保留视图 + 下拉日历 原来写死 view=day(在月视图点跳转会被踢进日视图)。→ 表单带当前 $view(月还带 ym); 选择器从"居中弹窗"改成**按钮下方下拉** .cal-jump-drop。 实测:月视图跳 8/15 仍在月视图且是 8 月;周视图跳 8/15 → 落 8/10 那一周; 日视图跳 8/15 → 显示 8/15。 #4 传统节日 + 二十四节气两个系统本(Schema v18) Holiday::SOLAR_TERMS(24 项 C 常数近似公式 + 例外表)+ traditionalRange (农历推导;除夕用"次日是否正月初一"反推,写死腊月廿九会有一半年份错)。 实测 2026:节气 24 条全对(清明 4/5、冬至 12/22);春节 2/17、除夕 2/16、中秋 9/25。 ⚠️ ENUM 必须显式 ALTER(对已存在的表不生效)——同一坑第二次踩,VERSION 17→18。 #5 财务(一个真 bug + 一个假起点 + 一个真 bug) · chart_line 读 `cents` 而 timeline() 返回 `net` → 键名不匹配,**总资产图每点读成 0** (正是用户说的"图上是 0")。修:兼容 cents ?? net ?? asset。 实测 timeline net=800000(8000 元),线上 polyline 有真实起伏。 · 去掉 timeline 人为插的"前一天=0"假起点(用户:"总资产不应该是 0, 应该是所有账目创建时的金额的总数")。 · ppSetSelected 只用 document.querySelector 按名字找,而财务页有**两个** person_id 组件(「记一笔」+ 修改弹框)→ 永远灌到第一个。加 root 参数、调用方传 panel。 验证:e2e 786/0、交互 92/0、升级 129/0(+3 条 v18 断言)、batch_e 91/0、batch10 46/0、 batch9 38/0、picker_unify 28/0、picker_lazy 11/0、crop 17/0、formbloat 9/0、semi 27/0、 mobile 688/0、drag 5/0、geom 5/5;第 12 批专项:财务 7/0、日历 19/0。 部署静态断言新增 5 组(含反向验证:注入回退 → FAIL=1)。 线上自检 19/19;线上真实账号验收 **30/0**(含真实浏览器几何量删除按钮位置)。
This commit is contained in:
+28
-34
@@ -619,45 +619,39 @@ $shortKind = \App\Birthday::KINDS;
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php /* ==================== 危险操作:删除 ====================
|
||||
用户 2026-10-05 第 12 批 #1 原话:「名册详情页面,删除按钮,就放在
|
||||
开通账号按钮下面,紧挨着,长度大小,和开通账号一样,就是颜色改成红色。」
|
||||
→ 上一版把它放在**页面最下方的独立区块**(danger-zone),用户要的是
|
||||
**紧挨着「开通账号」**。所以搬进这张「登录账号」卡片里、放在同一列,
|
||||
尺寸与「开通账号」完全一致(同 .btn 家族 + 100% 宽),只把颜色换成红。
|
||||
破坏性操作仍保留两步确认(第一次点露出「确认删除/取消」)。 */ ?>
|
||||
<?php if ($admin): ?>
|
||||
<div class="del-inline">
|
||||
<p class="del-inline-tip">
|
||||
删除会把他从名册中移除,<b>并且</b>删掉登录账号与全部亲属关系连线,<b>不可恢复</b>。
|
||||
若只想让他从<b>你的</b>名册里消失,用名册列表的「⋯ → 从我的名册移走」。
|
||||
</p>
|
||||
<button type="button" class="btn btn-danger btn-block-lg" id="delBigBtn">
|
||||
删除 <?= e((string)$p['name']) ?>
|
||||
</button>
|
||||
<form method="post" action="<?= e(url('people/destroy')) ?>" id="delBigForm" hidden>
|
||||
<?= csrf_field() ?>
|
||||
<input type="hidden" name="id" value="<?= $pid ?>">
|
||||
</form>
|
||||
<div class="del-big-confirm" id="delBigConfirm" hidden>
|
||||
<span>确定删除?此操作无法撤销。</span>
|
||||
<button class="btn btn-danger" type="button" id="delBigYes">确认删除</button>
|
||||
<button class="btn btn-ghost" type="button" id="delBigNo">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div><?php /* /detail-stack —— 名片卡下方的全宽堆叠到此结束 */ ?>
|
||||
|
||||
<?php /* ==================== 危险操作:删除(用户 2026-10-03 第 2 条)====================
|
||||
「删除」从右上角搬到了页面**最下方**、「开通登录账号」下面。
|
||||
放在最后 + 用 <details> 两步确认:破坏性操作不该一眼就看到、更不该一键完成。
|
||||
⚠️ 措辞改成了「从名册中删除」并写明会连带删掉什么 ——
|
||||
原来那句"从名册里移除"听着像"只是从我的名册里移走",
|
||||
实际会删账号与亲属关系,说法与后果不符。 */ ?>
|
||||
<?php if ($admin): ?>
|
||||
<?php /* 用户 2026-10-04 第 11 批 #2 原话:「个人详情页,最下面的删除,竟然是个链接,
|
||||
应该是个按钮,跟开通账号一样,是个大按钮,只不过背景用红色。」
|
||||
→ 从 <details> + 文字链接 + 小按钮,改成**与「开通登录账号」同规格的大按钮**,
|
||||
只把底色换成红色。确认仍保留(破坏性操作),但改成弹框式的二次确认,
|
||||
不再用浏览器原生 confirm(那玩意儿在不同浏览器里长相差异大)。 */ ?>
|
||||
<div class="danger-zone">
|
||||
<div class="del-big">
|
||||
<p class="del-big-tip">
|
||||
删除会把他从名册中移除,<b>并且</b>删掉登录账号与全部亲属关系连线,<b>不可恢复</b>。<br>
|
||||
如果你只是想让他从<b>你的</b>名册里消失,用名册列表上的「⋯ → 从我的名册移走」。
|
||||
</p>
|
||||
<button type="button" class="btn btn-danger btn-block-lg" id="delBigBtn">
|
||||
删除 <?= e((string)$p['name']) ?>
|
||||
</button>
|
||||
<form method="post" action="<?= e(url('people/destroy')) ?>" id="delBigForm" hidden>
|
||||
<?= csrf_field() ?>
|
||||
<input type="hidden" name="id" value="<?= $pid ?>">
|
||||
</form>
|
||||
<div class="del-big-confirm" id="delBigConfirm" hidden>
|
||||
<span>确定删除?此操作无法撤销。</span>
|
||||
<button class="btn btn-danger" type="button" id="delBigYes">确认删除</button>
|
||||
<button class="btn btn-ghost" type="button" id="delBigNo">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<script>
|
||||
/* 大删除按钮的两步确认(用户第 11 批 #2):第一次点露出"确认删除/取消",
|
||||
第二次点才真的提交。比原生 confirm 可控,也与页面其它确认长得一致。 */
|
||||
|
||||
Reference in New Issue
Block a user