Commit Graph

196 Commits

Author SHA1 Message Date
TanWenyan 37134ff650 feat(evaluation): 完成模块2.6 - 评查点前端组件增强
- rules.list.tsx 新增批量操作功能:
  * 添加批量选择复选框
  * 实现批量启用/禁用评查点
  * 实现批量删除评查点
  * 添加操作结果提示和部分失败处理

- BasicInfo.tsx 新增异步编码验证:
  * 实现500ms防抖的实时编码唯一性验证
  * 集成 getRulesList API 进行编码查重
  * 编辑模式下排除当前评查点
  * 添加验证中状态和错误提示UI

- 通过TypeScript类型检查,无新增类型错误
- 批量操作支持部分成功场景,详细报告结果
- 改善用户体验,提供实时反馈
2025-11-25 13:23:36 +08:00
TanWenyan ac60d64775 feat(evaluation): 模块1.5(2/2) - 增强评查点分组列表页功能
功能变更:
1. 服务端筛选和分页
   - Loader函数使用增强的 getRuleGroups API
   - 支持名称、编码、状态筛选
   - 支持分页参数(page, pageSize)
   - 仅加载一级分组(pid: null)
   - 返回总数用于分页展示

2. 批量操作功能
   - 添加批量选择状态管理
   - 复选框列(全选/单选)
   - 批量启用按钮
   - 批量禁用按钮
   - 批量删除按钮
   - 显示选中数量提示
   - 操作后自动刷新列表

3. 用户体验优化
   - 仅对有编辑权限的用户显示批量操作
   - 批量按钮仅在有选中项时显示
   - 操作成功/失败的 Toast 提示
   - 删除前二次确认

技术实现:
- useState 管理选中ID列表
- 条件渲染批量操作按钮
- 类型安全的复选框列定义
- 防止事件冒泡(onClick stopPropagation)
- URL参数驱动的服务端筛选

安全性:
- 权限检查(hasEditPermission)
- 批量删除前确认
- 操作失败详细提示

验收标准:
 Loader使用服务端筛选和分页
 表格支持复选框多选
 批量操作按钮显示/隐藏正确
 批量启用/禁用功能正常
 批量删除功能正常
 无TypeScript类型错误
 仅有编辑权限的用户可见批量操作

符合实施计划:
- 阶段 1.5(2/2):rule-groups._index.tsx 更新 
- 模块 1.5 完成 

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 12:43:01 +08:00
TanWenyan 374e3626cc feat(evaluation): 模块1.5(1/2) - 优化评查点分组表单验证和父级分组选择
功能变更:
1. 优化父级分组选择
   - 使用增强的 getRuleGroups API 获取父级分组列表
   - 仅显示一级分组(pid: null)
   - 仅显示已启用的分组(is_enabled: true)
   - 提高分组选择的准确性和安全性

2. 新增编码唯一性异步验证
   - 实时验证分组编码唯一性
   - 防抖处理(500ms)避免频繁API调用
   - 编辑模式下自动排除当前分组自身
   - 显示"验证中..."状态提示用户
   - 验证失败时显示清晰的错误提示

3. 改进用户体验
   - 实时反馈编码是否可用
   - 防止提交重复编码的分组
   - 优雅的错误处理和状态管理

技术实现:
- 使用 useState 管理验证状态
- setTimeout 实现防抖机制
- 异步函数处理唯一性检查
- 类型安全的错误处理

验收标准:
 父级分组列表仅显示一级分组
 父级分组列表仅显示已启用的分组
 编码唯一性实时验证(防抖)
 编辑模式下排除自身
 显示验证状态
 无TypeScript类型错误

符合实施计划:
- 阶段 1.5(1/2):rule-groups.new.tsx 更新 

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 12:38:41 +08:00
TanWenyan 47107b45df 优化操作提示 2025-11-24 20:52:00 +08:00
LiangShiyong 93bae2de17 fix: 1. 修复角色权限管理报错误提示的问题 2025-11-24 19:46:52 +08:00
LiangShiyong 9b2ee6d9bd Merge branch 'Wren' into shiy-login 2025-11-24 18:42:29 +08:00
LiangShiyong 9376e8af6d 1. 添加 mocano-editor demo
2. 添加 react-pdf 高亮效果的 demo
2025-11-24 18:41:14 +08:00
TanWenyan 689ef6bc3d fix: 修复角色权限管理模块的API认证和数据加载问题
主要修复:
1. 修复所有RBAC API函数使用axios-client(自动添加JWT token)
   - getRoles, createRole, updateRole, deleteRole 从rbacFetch切换到axios-client
   - 解决401未授权导致的数据加载失败问题

2. 修复用户ID字段不匹配问题
   - getAllUsers函数使用user_id字段(兼容user.user_id || user.id)
   - 确保角色分配时使用正确的用户ID

3. 修复路由ID不匹配问题
   - getRoutes函数改用真实后端API(GET /rbac/user/routes)
   - 解决前端Mock路由ID与数据库不一致导致的400错误

4. 增强axios-client成功响应识别
   - 支持code=200作为成功状态(原本只支持code=0)
   - 兼容不同后端API的响应格式

5. 实现用户单角色限制功能
   - 添加getUserRoles API函数
   - 分配角色前检查用户现有角色
   - 在用户列表中显示当前角色标签

6. 改进创建角色的表单验证
   - role_key必须以字母开头(正则:^[a-z][a-z0-9_]*$)
   - 添加实时验证提示
   - 更新提示文案说明规则

7. 添加删除操作的安全确认机制
   - 删除角色/移除用户角色前显示确认模态框
   - 3秒倒计时后才能确认删除
   - 成功删除后自动刷新数据

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 18:03:57 +08:00
LiangShiyong d09d5b709d Merge branch 'PingChuan' into shiy-login
# Conflicts:
#	app/config/api-config.ts
fix: 1. 修复无法加载数据的问题:没有从入口页中进来会缺少数据。
2. 加强后端接口关于token的校验错误和权限校验错误的管理。

feat: 1. 对接后端的数据看板的接口。
2. 将系统设置单独抽出来作为管理员的固定一个入口。
2025-11-22 15:57:22 +08:00
LiangShiyong dab0835605 feat: 1.修改提示词模板的不用角色的操作权限。
2. 对接数据看板的数据。
3. 添加入口模块管理的页面。
2025-11-21 17:16:07 +08:00
PingChuan 7e7648383e feat:合同文档列表预览完成Collabora集成 2025-11-21 11:04:14 +08:00
PingChuan c3e4b3837f Merge remote-tracking branch 'origin/shiy-login' into PingChuan 2025-11-20 20:37:08 +08:00
PingChuan b9fe57c5fa temp:临时备份,测试合并兼容性 2025-11-20 20:36:42 +08:00
LiangShiyong 3850d05bdd feat: 1. 将大部分的请求从fetch改成axios方便管理。
2. 给文档类型添加入口模块和相关数据的渲染。并且给文档类型进行功能上的角色权限区分
3. 新增角色权限管理页面
2025-11-20 20:34:31 +08:00
LiangShiyong 6dc9b4e468 feat: 1. 完善文档列表的显示效果,数据对接后端接口返回。
2. 对评查点分组和文档类型的编辑删除新增操作进行限制。
2025-11-20 15:26:11 +08:00
LiangShiyong 2edde8a8ab feat: 1. 完善全局路由的访问权限的验证。 2. 完善接口返回的树形路由结构 3.优化评查点列表的查询,改用表连接的方式,废弃使用数据库的rpc函数,同时进行地区隔离和权限隔离。
4. 删除冗余的评查文件列表。      5.完善上传文档 页面初始化查询数据的时候 查询文件类型(改成动态指定)  6. 添加获取入口模块的查询接口。    7.完善服务端中判断token的有效性,失效则跳转到登录页。
8. 重构layout和sidebar的页面,改成由动态权限路由来渲染对应的菜单栏。       9.重构入口页面,通过动态查询根据不同地区的人返回不同的入口。
2025-11-20 01:35:30 +08:00
LiangShiyong adfb84a31d feat: 1. 修改完善全局路由检测。 2. 完善统一的token认证管理,token失效自动跳转到登录页。 2025-11-18 20:32:43 +08:00
LiangShiyong bfe39e45a9 feat: 1. 添加axios全局路由拦截进行自动添加请求jwt。 2.重新整理路由表。 3. 文档列表新增版本差异对比。 4.菜单路由可访问列表通过对接接口返回,添加全局路由检测。
5. 修改统一认证登录和管理员登录是通过接口形式进行,存储返回的accessToken。    6. 修改交叉评查的部分样式
2025-11-18 11:06:24 +08:00
LiangShiyong 8a50671c39 fix: 1.将主页和法务助手对话设置成手机也能够正确加载的响应式布局。
2. 修改合同重新上传模板的可接受文件类型,修改对接的上传模板对应的接口。
3. 交叉评查任务列表去除任务名称的点击效果。
4. 交叉评查文件预览在点击完成评查的按钮后会返回任务列表并打开任务的文档列表。
5.修复点击完成评查按钮造成页面刷新。
6. 修复创建任务的第3步无法返回列表。
2025-11-12 15:51:39 +08:00
LiangShiyong c20c168a13 fix: 修改单点登录保存用户的jwt的生成,通过user_id为login,绕过验证进行表的增改。 2025-11-11 21:09:11 +08:00
LiangShiyong 12ec2ad7bd fix: 完善单点登录传递回调地址和serverUrl的功能。优化token刷新机制,判断单点登录和管理员登录等等不同路径的处理机制。提示词管理的模板数据查找的时候只需要返回固定的5个类型。隐藏评查点设置中关于抽取的自定义模板的选择。 2025-11-11 14:25:44 +08:00
LiangShiyong 95381ddcc2 fix: 完善提示词管理页面的优化,数据库中添加相关字段来区分vlm和llm提示词。评查点设置中抽取设置的多模态抽取的类型通过查询数据库来返回数据。 2025-11-11 01:16:27 +08:00
LiangShiyong ddad57529d fix: 修改评查点设置中的多模态抽取设置的逻辑。 2025-11-10 20:40:08 +08:00
LiangShiyong b375c35825 fix: 1.将合同模板和交叉评查中的文件下载改用通过后端api进行转发获取文件来下载。 2.修复登录过程中token认证的代码问题。 3.完善api-config文件中不同端口号不同的回调地址配置。 2025-11-07 18:36:15 +08:00
LiangShiyong 6c09285ac9 修改省局的端口的判断为51707 2025-11-07 11:12:43 +08:00
LiangShiyong 730e7cb7fe fix: 修复提示词模板识别’{{}}‘的问题 2025-11-06 18:10:55 +08:00
LiangShiyong b99ae6df84 fix: 优化提示词模板的创建者的显示 2025-11-06 14:51:31 +08:00
TanWenyan 3254cec5ca 修复Dify对话记录加载问题:移除user参数,由后端自动管理
问题描述:
- 用户登录后无法加载历史对话记录
- 根本原因:前端传递的user值与实际用户不一致,导致Dify无法找到对应的对话

解决方案:
- 后端已实现user字段自动填充功能(v1.2.7-post2)
- 前端采用方案A:完全移除user参数传递
- 让后端从JWT中自动提取username并管理user字段

修改内容:
1. dify-client.server.ts
   - 移除所有方法的user参数
   - GET请求移除user查询参数
   - POST/DELETE请求移除user字段
   - 移除generateUserId工具函数

2. 所有API路由
   - 移除getSessionInfo中的user解构
   - 移除difyClient方法调用中的user参数传递
   - 日志中移除user信息输出

影响接口:
- GET /dify/conversations - 会话列表
- GET /dify/messages - 消息历史
- POST /dify/chat-messages - 发送消息
- POST /dify/conversations/{id}/name - 重命名会话
- DELETE /dify/conversations/{id} - 删除会话
- POST /dify/messages/{id}/feedbacks - 消息反馈

参考文档:docs/dify-frontend-user-field-guide.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 10:37:45 +08:00
TanWenyan c4c08cb59b 重构Dify客户端:改为通过FastAPI代理并使用JWT认证
主要变更:
- 修改 dify-client.server.ts 使用 JWT 认证通过 FastAPI 后端代理访问 Dify API
- 所有 Dify API 路由(chat-messages, parameters, conversations, messages)添加 JWT 获取和传递逻辑
- API_URL 从直连 Dify 改为 FastAPI 后端的 /dify 路由
- 增强 JWT 认证失败的错误处理(返回401状态码)
- 添加详细的日志输出,便于调试

安全提升:
- DIFY_API_KEY 从前端移至后端,不再暴露在客户端代码
- 使用统一的 JWT 认证体系,提高系统安全性

文档:
- 新增 dify-proxy-backend-integration.md - 后端对接文档(包含完整 FastAPI 实现示例)
- 新增 dify-frontend-modification-summary.md - 前端修改总结
- 新增 CLAUDE.md - 项目架构说明文档

影响范围:
- app/services/dify-client.server.ts - 核心服务层
- app/routes/api.chat-messages.tsx - 聊天消息
- app/routes/api.parameters.tsx - 应用参数
- app/routes/api.conversations.tsx - 会话列表
- app/routes/api.messages.tsx - 消息历史
- app/routes/api.conversations.$id.tsx - 删除会话
- app/routes/api.conversations.$id.name.tsx - 重命名会话

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 09:47:48 +08:00
LiangShiyong 064f05ffa5 添加根据合同/卷宗的入口进行分类评查点列表,同时区分卷宗添加的分组属于卷宗,合同添加的分组属于合同 2025-10-29 21:01:01 +08:00
LiangShiyong e56d199c3c 添加测试案卷的搜索条件 2025-10-29 18:40:18 +08:00
LiangShiyong 1f16ab2325 添加测试的行政处罚卷宗,添加登录的地区的字段(根据端口号) 2025-10-29 15:54:59 +08:00
LiangShiyong 59706b70d0 给所有请求都加上jwt,隐藏生成jwt的secret(放到.env中),隐藏app-secret(放在pm2运行配置文件中,后续直接读取环境配置即可) 2025-10-17 15:28:22 +08:00
jiangao 9ec6d30573 隐藏上传文件入口,交叉评查的文件查看添加防抖点击,升级pdf加载组件版本优化清晰度 2025-09-30 14:32:00 +08:00
TanWenyan 25c8c75aa5 优化按钮组件,统一使用button标签,调整样式以提升用户体验。 2025-09-22 20:39:05 +08:00
TanWenyan 75969253d0 移除Host头验证中间件及相关逻辑,简化OAuth相关API的请求处理,优化代码结构和可读性。 2025-09-22 20:29:46 +08:00
TanWenyan f2750773f9 优化文件上传逻辑,统一JWT令牌处理方式,简化请求头设置,提升代码可读性。 2025-09-22 11:48:12 +08:00
TanWenyan aec2e1fca2 Merge remote-tracking branch 'origin/shiy-login' into shiy-login 2025-09-22 11:19:18 +08:00
TanWenyan 1ea9fb205c 更新附件追加功能,优化文件选择和验证逻辑,支持多种文件格式,调整用户界面以提升操作体验。 2025-09-22 11:17:40 +08:00
LiangShiyong 18f22fc796 添加严格的域名访问限制 2025-09-16 12:08:27 +08:00
TanWenyan acb717c342 优化文件上传流程,增加上传进度步骤显示,调整上传完成后的文件处理逻辑。 2025-09-14 01:54:57 +08:00
TanWenyan a6c40b9fc0 优化文件上传进度计算逻辑,调整上传速度显示,简化上传完成后的状态处理。 2025-09-14 01:36:59 +08:00
TanWenyan a45884ef1e 优化文件上传进度管理,增加上传速度显示,调整上传完成后的状态处理逻辑。 2025-09-12 17:35:00 +08:00
TanWenyan 75923b7b04 新增文件上传功能,支持附件上传,优化合同上传逻辑,调整接口调用方式。 2025-09-12 16:21:55 +08:00
TanWenyan 75fcaa4885 撤销更新 2025-09-12 14:55:52 +08:00
TanWenyan 004a31ee08 更新附件追加功能,新增removeAnnotations参数以控制注释移除逻辑,优化文件上传接口调用。 2025-09-12 14:54:03 +08:00
TanWenyan 52af1008fe 更新文档和文件上传功能,新增前端JWT传递逻辑,优化用户信息处理。 2025-09-12 12:12:45 +08:00
TanWenyan bbad3cf00d 新增附件追加和合同模板上传功能,支持文件选择、验证及上传逻辑,优化用户界面和操作体验。 2025-09-12 11:52:28 +08:00
TanWenyan 86c4a36e63 更新文件上传功能,支持PDF和Word格式的文件验证,修改相关提示信息,优化文件选择器的接受格式。 2025-09-12 11:16:58 +08:00
TanWenyan 3c8c4e7391 更新文件上传功能,支持PDF和Word格式的文件验证,修改相关提示信息,优化文件选择器的接受格式。 2025-09-12 11:09:57 +08:00