56 lines
4.9 KiB
Markdown
56 lines
4.9 KiB
Markdown
# 界面优化实施记录
|
||
|
||
依据 `界面优化方案.md` 实施,仅调整 macOS 客户端。未修改后端、小程序、Python 引擎及导出模板。
|
||
|
||
## 已实施
|
||
|
||
- 默认进入本地贴票;统一语义色、通知、搜索框、徽章和统计组件。
|
||
- 人工配对支持两栏独立搜索、日期/金额/文件名排序、三档缩略图、方向键导航、空格勾选及预览内勾选。单击卡片立即勾选或取消,不等待双击判定;放大预览使用卡片右上角按钮。已选连线持续显示,兼容一对一、一对多、多对一及多对多,不依赖悬停或焦点。同组材料通过中间主线和独立分支相连,分支沿网格间隙绕开相邻卡片,避免多对多交叉线遮挡票据。左右滚动实时更新连线位置,滚出视野的已选材料归并到上下边缘数量标记;连线限制在材料区内,不覆盖搜索栏和操作栏。
|
||
- 已核对按费用类型并排分列:固定类型表头,共用纵向滚动区,以紧凑凭证缩略图、金额、日期及份数展示每组材料。不再将未经确认的 OCR 商户候选或文件名作为卡片标题,详情标题使用组号,原始 OCR 数据保留用于搜索和核对。仅显示当前结果中有材料的类型,空列自动隐藏,有材料后自动出现,其余列自动分配可用宽度;窄窗口横向滚动。点击凭证打开详情,支持大图预览、前后组切换、修改类型及撤销配对。保留搜索、列内排序、需关注过滤、整列勾选、类型金额小计及筛选外勾选计数,选择汇总和导出集中到底部。
|
||
- 扫描页空工作区隐藏统计;待配对入口前移,提醒可关闭/折叠,统计与金额汇总紧凑化,分类金额增加占比条。
|
||
- 材料预览异步解码、先显示缩略图,支持取消和重试;没有缓存预览的 PDF 仍只显示首页。预览外围适配深色模式,纸张本身保留白底。
|
||
- 报销单、材料和模板窗口按屏幕可用范围限制尺寸。报销单正文可滚动,签字岗位支持快选与移除后撤销,空用途与重复用途提供反馈。
|
||
- 模板填写位置支持预览单元格点选、原文行悬停高亮、格式/范围/重复位置实时校验;窄预览使用紧凑缩放菜单。最终模板合法性仍交由原引擎验证。
|
||
- 收款资料保存反馈及尾号复制;成功与错误通知可分别显示、关闭,成功提示自动消失,导出成功提供访达入口。
|
||
- 项目管理拆为审批、成员、组别、权限、类型规则及操作记录六个页面,共享基础组件;增加审批列排序、已加载数量、横向导航、成功服务地址历史与扫码重试按钮。
|
||
- Store 缓存已核对排序、全局序号、分类汇总及需关注数量;扫描处理在 Dock 图标显示进度。
|
||
|
||
## 交互约定
|
||
|
||
- `Command-1/2/3` 切换本地页面,`Command-F` 聚焦搜索,`Command-,` 打开模板,原有 `Command-O` 导入保留。
|
||
- 撤销最近核对组采用 `Command-Option-Z`,避免覆盖文本编辑的标准 `Command-Z`。
|
||
- 搜索支持空格分隔多个条件。筛选不清空勾选,全选/取消全选只作用于当前结果。
|
||
- “需关注”包括自动证据分低于 90、缺少可验证评分,或包含识别失败材料的组;不修改配对结论。
|
||
- 表格排序不改变导出顺序。PPT 与报销单仍只导出所选组,行程表仍使用全部已核对材料。
|
||
- 用途重复仅提示,不跨费用类型重新合并;签字全部删除时仍沿用原默认岗位。金额口径、PPT 版式、模板指纹及预览/保存一致性校验不变。
|
||
- 再次导入替换工作区与危险操作的原确认流程保留。
|
||
|
||
## 验证
|
||
|
||
运行 Swift 回归测试:
|
||
|
||
```sh
|
||
node tests/run-ui-checks.mjs
|
||
```
|
||
|
||
运行上述测试以及隔离的原生界面检查:
|
||
|
||
```sh
|
||
node tests/run-ui-checks.mjs --render
|
||
```
|
||
|
||
仅重跑原生界面检查:
|
||
|
||
```sh
|
||
node tests/run-ui-checks.mjs --render-only
|
||
```
|
||
|
||
测试使用临时工作区、生成的样例材料与内存收款存储,不读取真实工作区或收款钥匙串。截图目录由脚本输出。
|
||
|
||
- 12 组 Swift 回归:搜索排序、需关注、隐藏勾选保留、金额汇总、证据评分、模板持久化与指纹、预览一致性、导入校验、收款存储、附件兼容、审批导出范围及规则编辑状态。
|
||
- 原生检查:1280×800、1024×640、900×560 的浅色/深色渲染、弹窗、窄表格预览;搜索焦点、不同缩放的单元格点击、异步图像缩放、PDF 首页及加载取消。
|
||
- 原有 `SpreadsheetLayoutTests.swift` 的排版与像素回归另行通过。
|
||
- 完整 Xcode Debug 构建及本地引擎指纹检查通过。
|
||
|
||
本轮未使用真实服务执行微信登录、在线审批或真实材料 OCR 验收。Dock 进度、VoiceOver 朗读及不同 macOS 版本的系统材质效果仍需交互验收。未引入无限历史通知队列,也未改变扫码轮询为自动重复生成二维码。
|