feat(ocr): 扫描件与图片识别——OCR 进文字层、资质库上传识别、大图浏览

计划见 docs/architecture/vision-plan.md(VS1–VS13,docs/decisions.md)。

- 验证:OCR(RapidOCR + PP-OCRv6 small,CPU)和 DeepSeek Flash 看图在国动投标文件
  和 7 张证书上初测(tech-validation §7,代码 spikes/s5-ocr/)
- OCR 服务 services/ocr(镜像、Compose 服务):整页转正(含 180°)、红章附近按红色通道重读
- 扫描页和插图识别后并入文字层 v6,句子标 source=ocr;出处标「OCR」(迁移 0013);
  依据识别文字的问题降级,规则不查扫描附件;国动端到端见 check-eval §16
- 资质库上传识别:添加资质对话框最上面传证书照片,识别后填表,只预填和 OCR 文字
  对得上的字段;识别值留痕、照片挂成附件(迁移 0014,提示词 vision.cert_fields v1)
- 资质库改为查看详情(只读键值 + 附件缩略图),附件用大图浏览控件看,不开新标签页
  (设计规范 §7.23);PDF 附件按页出预览图

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
YANG JIANKUAN
2026-11-05 17:50:13 +08:00
parent 0b783ababa
commit 3344f09563
63 changed files with 4973 additions and 345 deletions

View File

@@ -517,6 +517,16 @@
- 日期输入框:可以直接键入,接受「2026/11/20 9:30」「2026.11.20 9:30」「2026年11月20日」等常见写法,离开输入框时整理成「2026-11-20 09:30」;下方小字显示界面写法「11月20日 09:30 · 剩 17 天」(v0.2)。
- 带时间的字段(如投标截止):日期选择器底部有时间输入框,24 小时制;输入框格式见 §9.3。
### 7.23 大图浏览(2026-11-05)
证书扫描件、附件图片在页面里看,**不开新标签页**。
- 深色蒙层(墨色 96%)铺满窗口,图片居中,打开时整张适应窗口;顶栏左边「文件名 · 第几张 / 共几张」,右边缩小、当前比例、放大、适应窗口、关闭。
- 滚轮按光标位置缩放,双击在适应窗口和 2 倍之间切换;放大后可以拖动;最多放大到原图的 6 倍。
- 多张图时两侧有上一张、下一张;PDF 附件按页出预览图(最多前 10 页),和图片一样浏览。
- 键盘:Esc 关闭(从对话框里打开时只关大图),+ / − 缩放,0 适应窗口,← / → 切换。
- 实现:`apps/web/src/components/ImageViewer.vue`(Reka UI 对话框打底:焦点锁定、焦点回到触发处)。
### 8.1 AI 产出 → 人工确认 → 留痕