1. 05 Mar, 2026 2 commits
    • 375242562@qq.com's avatar
      fix/feat: Oracle thick mode 错误提示优化 + 向导步骤加载动画 · b6692c94
      375242562@qq.com authored
      - sync_adapters: thick mode 失败时抛出明确错误(含路径提示和操作指引)
        路径不存在时提前检测并打印日志,不再静默吞异常
      - main.py: 应用启动时提前初始化 Oracle thick mode 并输出日志
      - DataSyncPage: 新建任务向导步骤间加载动画
        Step0→1 获取表列表时显示半透明覆盖层 + 转圈 + 提示文字
        Step1→2 切换时显示过渡动画
        预览数据时右侧区域显示加载状态(转圈 + 说明文字)
        下一步/上一步按钮加载期间自动禁用防重复触发
      b6692c94
    • 375242562@qq.com's avatar
      feat: 数据同步、批量匹配、Dashboard 等核心功能 · 98876adf
      375242562@qq.com authored
      后端新增:
      - 数据同步模块: SyncSource/ConnectionProfile 模型, sync_adapters/sync_service
        支持 MySQL/PostgreSQL/Oracle/MSSQL, Oracle thick mode, SID/ServiceName
        3步向导式同步任务配置, 表发现(list-tables), 增量同步
      - 批量匹配模块: BatchMatchingJob 模型, 按试验筛选, 进度追踪, 取消支持
        操作日志 trial_title 字段, 分页接口
      - Dashboard 统计接口: 患者/试验/匹配/批量任务/通知 聚合数据
      
      前端新增:
      - DashboardPage: KPI卡片, 匹配状态分布, 最近批量记录, 系统概况
      - DataSyncPage: 连接管理(支持Oracle SID/ServiceName), 3步向导同步任务
      - 批量自动匹配: 必须选择试验项目, 操作日志分页(每页10条)
      - AI匹配页面: Tab分离手动/批量匹配, 批量为默认
      - 侧边栏新增数据概览入口, 首页跳转至 /dashboard
      98876adf
  2. 02 Mar, 2026 1 commit
    • 375242562@qq.com's avatar
      feat: 实现 RBAC 登录权限系统 · 21eca8c8
      375242562@qq.com authored
      后端:
      - 新增用户、科室、角色、权限数据模型(SQLAlchemy)
      - 实现 JWT 认证(PBKDF2-SHA256 密码加密)
      - 新增 auth/users/roles/permissions/departments REST API
      - 用户-角色、角色-权限通过关联表直接操作(避免异步懒加载问题)
      - 新增 init_auth_data 初始化脚本(默认科室/角色/权限/管理员)
      
      前端:
      - 新增登录页(LoginPage)与 AuthContext 认证上下文
      - 新增 PrivateRoute 路由守卫、PermissionButton/PermissionGuard 权限组件
      - Sidebar 根据用户菜单权限动态过滤,TopBar 展示用户信息与退出登录
      - 新增系统管理页(用户管理、角色管理含权限树、科室管理)
      - 所有业务页面的新增/编辑/删除按钮接入权限控制,无权限时自动隐藏
      Co-Authored-By: default avatarClaude Sonnet 4.6 <noreply@anthropic.com>
      21eca8c8
  3. 27 Feb, 2026 3 commits