Commit Graph

272 Commits

Author SHA1 Message Date
wren c54f84382b feat: align frontend document and rule management flows 2026-05-06 09:40:37 +08:00
jandejang 9e0909ab35 完善规则配置页交互细节 2026-04-30 17:59:43 +08:00
wren b31707661b fix: sync frontend token from server session 2026-04-29 18:52:58 +08:00
wren 7dbeaac5f8 fix: bootstrap session after password login 2026-04-29 15:58:59 +08:00
jandejang 84d2e0a1a5 对齐规则列表页交互样式 2026-04-29 11:22:20 +08:00
jandejang dce5ac0c9a 保存规则库 YAML 维护改造进展 2026-04-28 22:00:00 +08:00
LiangShiyong 7b86293263 Merge branch 'PingChuan' into shiy-login 2026-04-21 15:09:44 +08:00
LiangShiyong a3fd2c7fed feat: 初步完成评查详情页面的work文档和pdf文档的加载的页面三栏设计的重构。 2026-04-21 15:08:14 +08:00
PingChuan 5ea7e2f44e Merge branch 'shiy-login' into PingChuan 2026-04-20 17:56:52 +08:00
PingChuan 5aa040c94e feat:自建 RAG 聊天应用,限制知识库文档格式,只允许上传(".pdf", ".docx", ".md", ".txt") 2026-04-20 17:55:49 +08:00
LiangShiyong 4e19672b38 添加pdf的略缩图组件的实现。 2026-04-17 19:01:52 +08:00
PingChuan 5bee9288b9 feat:替换 Dify 为自建 RAG去实现
1、修复了若干无权限时的失败提示语
2、新增了一个生成后续建议问题的功能
3、重构了知识问答部分的权限管理模块
4、修复了若干渲染不恰当的样式渲染
2026-04-10 16:20:32 +08:00
TanWenyan f525707358 feat(rules): VLM 字段补齐多实体逐字段开关,对齐 LLM 字段行为
- 多实体总开关开启后,VLM 字段可点击单独切换 multi_entity(绿色=已开启)
- 新增 VLM 字段时默认写入 multi_entity: false
- 删除按钮 stopPropagation 避免触发多实体切换

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 15:12:17 +08:00
TanWenyan aec34d139a fix(frontend): comprehensive defensive guards in ReviewSettings
Multiple locations in ReviewSettings.tsx call .includes() or .filter()
on variables that could theoretically be non-arrays:

1. availableFields.filter/.includes - added safeAvailableFields guard
2. newFields.map field.includes('_') - added typeof===string guard + filter
3. (prior fix) cfgAvailableFields includes/every in renderRuleConfig
4. (prior fix) selectedFields includes in renderFieldTags

These prevent TypeError crashes when config objects contain unexpected
types (e.g. {} instead of []) from stale API data.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 17:29:21 +08:00
TanWenyan 804e24eff9 fix(frontend): guard availableFields.includes in renderRuleConfig
config.availableFields may be undefined or a non-array value (e.g. {}),
causing TypeError when calling .includes/.every directly on it.
Precompute cfgAvailableFields with Array.isArray guard before use.

Fixes: N.includes is not a function on rules/new page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 17:04:10 +08:00
TanWenyan a8949d9abf fix(frontend): guard against non-array selectedFields in renderFieldTags
When config.fields is a non-array value (e.g. empty object {}),
the fallback logic could still result in a non-array if both
config.fields and config.selectedFields are abnormal values.
Added double-guard: after the fallback chain, explicitly assert
Array.isArray before using selectedFields.includes().

Fixes: TypeError: _.includes is not a function on rules/new page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 16:59:24 +08:00
TanWenyan d226ada0fe fix(ui): use inline style for multi-entity green background to override ant-btn
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 20:25:03 +08:00
TanWenyan 623cf8c427 fix(ui): match extraction field chips with review settings style, green only for multi-entity
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 20:20:32 +08:00
TanWenyan 9d6a5364bb fix(ui): use inline tailwind for field chips instead of scoped CSS class
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 20:16:59 +08:00
TanWenyan 95351893c6 fix(ui): compact multi-entity field chips to match tag-button size
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 20:04:21 +08:00
TanWenyan bc3e26c93e feat(frontend): field-level multi_entity toggle in extraction settings
- evaluation_points.ts: LLMFieldConfig type, LLMFieldType union,
  VLMField.multi_entity
- ExtractionSettings.tsx:
  - LLM fields render as colored buttons (green=multi_entity, gray=normal)
  - Click to toggle individual field multi_entity when switch is on
  - Toggle switch on: converts all string fields to {name, multi_entity:true}
  - Toggle switch off: converts back to plain strings
  - New fields default to multi_entity:true when switch is on

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 19:34:45 +08:00
TanWenyan 7ad9e479cd fix: add pointCode to ReviewPointResult interface to survive build
Vite/Remix tree-shaking was stripping pointCode from the return object
because it wasn't declared in the ReviewPointResult interface.
Also removed debug console.logs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 20:33:38 +08:00
TanWenyan ca1cc23c99 debug: log all keys to find pointCode issue 2026-03-23 20:28:21 +08:00
TanWenyan 38a43133c0 debug: add server-side point.code logging and enlarge badge 2026-03-23 20:25:30 +08:00
TanWenyan daca126ee2 debug: add pointCode fallback and console log 2026-03-23 20:11:53 +08:00
TanWenyan 2fe773909e feat(ui): display evaluation point code and support code search
- Add pointCode field to ReviewPoint interface and data pipeline
- Show code badge (e.g., JZ-DJ-001) before evaluation point name
- Search bar now matches against point code in addition to name
- Updated placeholder to indicate code search support

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 20:02:35 +08:00
TanWenyan 13e16f4046 fix(ui): increase table tooltip max height to 80vh
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 19:51:02 +08:00
TanWenyan 9f9cfea0e6 fix(ui): dynamic tooltip width/height based on table dimensions
Table tooltip now calculates maxWidth from column count (140px/col,
min 400, max 85vw) and maxHeight from row count (30px/row, min 150,
max 70vh) for better readability of large tables.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 19:48:53 +08:00
TanWenyan cbe9a0f74e fix(ui): show table summary with hover tooltip for full table view
Table fields now show a compact summary (first row preview + table icon)
with the full rendered table appearing on hover via Tooltip component,
consistent with the existing overflow tooltip behavior.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 19:45:00 +08:00
TanWenyan 93b8673363 fix(ui): handle single-line markdown tables and pipe-delimited tables
- parseMarkdownTable now handles tables stored as single line by
  counting columns from separator row and grouping cells accordingly
- Added isPipeTable detection for pipe-delimited data without header
  (e.g., "1 | name | qty\n2 | name | qty")
- Added renderPipeTable for headerless pipe tables

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 19:30:44 +08:00
TanWenyan d0124b0121 feat(ui): support markdown table rendering in evaluation field values
ReactTableTooltip now detects and renders markdown tables (| delimited)
in addition to existing tab-delimited tables. Table content is rendered
directly as an HTML table instead of showing raw markdown text.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 19:19:53 +08:00
DocAuditAI Dev ebcaf05625 revert: reset to 32bee87 for clean text_bbox baseline
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 18:14:11 +08:00
LiangShiyong 702b7d3e3a fix: 修复甲方和乙方的公司名称是用第一个key内的value值来进行查询。 2026-03-23 16:45:35 +08:00
LiangShiyong 519287c7f4 feat: 渲染大模型的评查结果也添加上true和false的判断 2026-03-23 16:45:35 +08:00
DocAuditAI Dev 33fbd6b860 feat(pdf): support GraphRAG text_bbox highlighting in PDF viewer
When documents are processed through GraphRAG pipeline, coordinate
enrichment produces text_bbox (paragraph-level coordinates) instead of
char_positions (character-level OCR coordinates). Added resolveCharPositions()
helper that converts text_bbox to CharPosition[] format, enabling PDF
highlight rendering for GraphRAG-processed documents.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 16:44:22 +08:00
TanWenyan 32bee87998 fix(reviews): show field value when res=false instead of showing '缺失'
Second rendering path (entity fields) incorrectly hid values when
res=false, showing '缺失' even for fields with extracted values.
Fixed to match first rendering path: only show '缺失' when both
res=false AND value is empty. Values always display when present.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 01:05:48 +08:00
TanWenyan c0f8004278 feat(reviews): display not-applicable evaluation points in review list
- Create placeholder reviewPoints from not_applicable unified results
- Merge with existing reviewPoints for display
- Count notApplicable from reviewPoints for accurate statistics

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 19:29:48 +08:00
TanWenyan 0d8b9b1976 fix(reviews): make not-applicable button clickable with filter toggle
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 19:16:35 +08:00
TanWenyan b13e758db1 fix(reviews): map failed_count to warning, always show not-applicable badge
- failed_count should be 'warning' not 'error' for scored eval
- Show '未涉及' badge always, not only when count > 0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 19:08:33 +08:00
TanWenyan 48f605a5c4 feat(reviews): add not-applicable count display in evaluation statistics
- Add notApplicable field to Statistics interface
- Show blue "未涉及" badge when count > 0 (display only, no filter)
- Map backend not_applicable_count to frontend statistics

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 18:27:41 +08:00
TanWenyan 306cb24c70 feat(frontend): integrate GraphRAG scored evaluation results
- Add getUnifiedEvaluationResults API function
- Extend ReviewPointsListProps with flowType, scoredResults, scoredSummary
- Add ScoredResultCard rendering for graphrag flow_type
- Modify reviews.tsx loader to call unified API
- Add scored evaluation component imports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 09:42:30 +08:00
TanWenyan 11c00d34bc fix(ReviewPointsList): 读取后端传入的 per-field res 替代前端自行判定
renderModelRule 对 AI 评查点的 res 计算改为优先使用后端写入
config.fields[key].res 的值,fallback 到原来的 value 非空判定。

解决了评查点不通过但所有细项都显示绿色的问题。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 15:50:12 +08:00
LiangShiyong b97d0e1a0b 1. 登录返回总公司,分公司,部门信息。
2. 修改角色权限管理的分配用户的数据渲染和接口。
3. 交叉评查任务的创建的组织架构组件的重构。
2026-01-21 10:04:04 +08:00
LiangShiyong 9951f16e50 1.同步包版本。
2.交叉评查的任务中上传文件。
3.添加dify库名解决保存配置失败的问题。
2026-01-20 17:29:55 +08:00
LiangShiyong 1fca1a2e2e 1. 添加新的正式环境的secret配置信息。
2. 动态回调地址,如果是钉钉应用则用对应的回调地址。
3. 高频错误评查点改成显示出错次数。
4. 添加开关的通用组件,评查点列表方便修改状态。
2026-01-19 16:22:21 +08:00
LiangShiyong e332d05e5d 评查点规则编辑中添加多实体开关控制。
修复文档类型删除失败的bug
2026-01-16 10:11:53 +08:00
LiangShiyong ea896f98fd 添加开关组件,在评查点规则列表中添加单个状态控制的开关 2026-01-16 09:59:38 +08:00
LiangShiyong ae89b377b7 添加甲方,乙方的企查查入口按钮 2026-01-16 09:52:11 +08:00
LiangShiyong 66d2f7cef4 1.添加移动端用户的检测工具类,移动端用户只能访问对话页面。
2.评查点列表添加文档属性类型字段。
3.优化dify的对话侧边栏的显示效果。
4.评查点规则添加使用文档属性类型的输入框。添加多实体开关的操作开关。
2025-12-30 18:35:48 +08:00
LiangShiyong 616f059f1e feat: 1. 完善评查点分组的删除逻辑,会涉及文档类型绑定的一级分组,分组绑定的评查点规则。新增一个评查点分组换绑的。
2. 修复交叉评查的任务中的文档列表的历史文档的查看跳转路径。
3. 修复评查点新增中评查点类型只能显示当前文档类型绑定的这几个一级分组。评查点类型=一级分组。
4. 修复文档列表关于pdf的下载失败的问题。
2025-12-19 00:21:49 +08:00