Commit Graph

501 Commits

Author SHA1 Message Date
wren 7dbeaac5f8 fix: bootstrap session after password login 2026-04-29 15:58:59 +08:00
wren 0369de68cc fix: complete admin login redirect flow 2026-04-29 15:53:10 +08:00
wren de3edd4049 chore: point frontend api config to 172.15.0.59 2026-04-29 12:37:28 +08:00
wren 23ab13dd1e feat: hook document list to leaudit list api 2026-04-29 12:20:16 +08:00
wren c10b70b286 chore: point dev api config to local leaudit platform 2026-04-29 12:01:16 +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
LiangShiyong dd94e97f3c Merge branch 'PingChuan' into shiy-login 2026-04-14 09:47:24 +08:00
LiangShiyong cdf1d4f096 fix: 修复首页交叉评查和知识库入口的渲染逻辑。 2026-04-14 09:45:12 +08:00
LiangShiyong 6aaced82da Merge branch 'Wren-dev' into shiy-login 2026-04-10 16:46:32 +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 cd852ee721 fix(frontend): guard response.error.includes against non-string error values
If the API returns a non-string error (e.g. numeric HTTP status code),
calling .includes() directly on it throws "N.includes is not a function".
Convert to string via JSON.stringify first.

Fixes save button crash on rules/new page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 17:32:21 +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 64893e7dad fix: processFieldName handles object fields ({name, multi_entity}) format
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 21:11:04 +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 5d3cb2ba34 fix: unwrap PostgREST proxy response format for pointCode 2026-03-23 20:56:27 +08:00
TanWenyan 138cb5c606 fix: fetch pointCode directly via PostgREST in route loader
Vite tree-shakes pointCode from intermediate data objects. Fix by
querying evaluation_points.code directly in the route loader with
postgrestGet, then patching pointCode onto reviewPoints before
returning to the client. Works for both legacy and GraphRAG paths.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 20:49:45 +08:00
TanWenyan 2694eeb011 fix: bypass Vite tree-shake for pointCode via pointCodeMap
Vite's SSR build strips pointCode from ReviewPointResult return objects.
Workaround: pass a separate pointCodeMap from reviews.ts and apply it
in the route loader (reviews.tsx) which Vite preserves.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 20:39:08 +08:00
TanWenyan 20a8ed4466 fix: use String() instead of 'as string' for pointCode to survive Vite build 2026-03-23 20:36:21 +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
DocAuditAI Dev 6563686bb3 Merge branch 'Wren-dev' of http://git.7bm.co:1024/leke/docreview into Wren-dev 2026-03-23 18:03:56 +08:00
DocAuditAI Dev e1ac39cb3a chore: revert broken text_bbox integration changes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 18:03:34 +08:00
DocAuditAI Dev 4942c89cd8 chore: revert broken text_bbox integration changes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 18:03:19 +08:00
DocAuditAI Dev 61fdfec3d0 fix(api): disable HTTP keep-alive to prevent ECONNRESET on reused sockets
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 17:01:32 +08:00
LiangShiyong b6b4cee489 Merge branch 'Wren-dev' into shiy-login 2026-03-23 16:51:38 +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
LiangShiyong 4de16d66da fix: 添加湛江的地区选择 2026-03-23 16:45:35 +08:00