# 需求:R-025 设置页 Tab 设置排序落点统一为间隙高亮线 · 已定稿 > 登记:2026-09-10 | 来源:老师指令(迭代 20 复盘遗留第 2 项确认)| 状态:**已定稿(2026-09-10 老师指令)** > 归属:迭代 21-Tab设置排序间隙高亮统一 | 实现状态:未开始 ## 诉求(老师,2026-09-10) > 神之一手设置页的分组 tab 排序(Tab 设置),也改一下上面(列设置弹层)的拖动高亮显示形式。 ## 背景 - R-024/迭代 20 列设置弹层拖拽落点已从整行高亮改为**行间间隙高亮线**(UI约束-007),老师确认「直观多了」; - 复盘遗留第 2 项:设置页「Tab 设置」的排序仍是整行高亮(overId → 行淡蓝底,UI约束-003),存在同样的 「无法判断插入前/后」观感问题;老师指令统一为间隙线形式。 ## 定稿结论(2026-09-10 老师指令) 设置页「Tab 设置」排序落点从整行高亮改为**行间间隙高亮线**(复用 UI约束-007 / R-024 已验证模式): - 拖动悬停时按鼠标在目标行内的 Y 坐标(上半/下半)判定,间隙线画在目标行上缘(插其前)/下缘(插其后); - drop 事件内按坐标重算插入位置(不依赖 state 闭包);拖回原位置(to===from 或 to===from+1)跳过写库; - 保留 onDragEnd 清理残留;整行高亮背景(color-mix 12%)移除; - 其余维持不变:≡ 手柄、显隐开关、落点立即持久化(tabs/update)、「刷新页面后生效」提示、内置/策略徽标、 saving 期间禁用拖拽。 ## 决策记录 | 项 | 结论 | 讨论 | |---|---|---| | 范围 | 仅 Tab 设置(SettingsSection.jsx TabSettings)落点指示 | 老师指令;不动表格结构、不动持久化、不动开关 | | 落点形式 | 行间间隙高亮线(上缘=前/下缘=后) | 与 R-024 弹层全同,UI约束-007 已定义 | | 判定 | 目标行内 Y 坐标上下半区 | 与 R-024 全同 | | 无操作 | to===from 或 to===from+1 跳过写库 | 复用 R-024 数学式 | | 服务端/API | 零改动 | tabs/update 整表语义不变 | | 约束更新 | UI约束-003 变更:落点从整行高亮改间隙线;UI约束-007 补「Tab 设置已统一」 | 2026-09-10 老师指令 | ## 关联 - 上游:UI约束-007(排序交互间隙线标准)、R-024(同款模式实证)、迭代 20 复盘遗留第 2 项; - 迭代 20 复盘遗留第 1 项(test-r013-columns 期望过期)不在本需求范围。