Commit Graph

55 Commits

Author SHA1 Message Date
Cheng Zhou 6a2e43f829 抽屉化物资与启动授权流程
1、将药物发货新建和编辑从独立页面迁移到抽屉,详情页支持权限控制和停用中心只读状态。

2、补充药物发货状态字段校验,统一 PENDING、IN_TRANSIT、SIGNED、EXCEPTION 状态及演示数据。

3、为物资设备增加详情页和编辑抽屉,复用通用附件上传并按项目权限控制操作入口。

4、将启动会和培训授权编辑迁移到抽屉,详情页按中心过滤培训记录并移除旧独立编辑路由。
2026-06-04 11:08:43 +08:00
Cheng Zhou 720c98765f 迁移合同费用通用附件
1、删除旧费用附件 API、CRUD、模型和专用前端面板,统一改用通用附件能力。

2、调整合同费用接口为 study_id 语义,并补充合同、凭证、发票等附件类型的权限映射。

3、将合同费用新建和编辑改为抽屉流程,详情页与列表页复用同一编辑组件。

4、补充数据库迁移、附件列表、合同费用抽屉和权限场景测试,覆盖旧权限移除与新流程。
2026-06-04 11:07:13 +08:00
Cheng Zhou 44d69c2d7b 清理全局角色残留并修复项目权限判断 2026-05-29 10:20:42 +08:00
Cheng Zhou 8611bd66f8 补齐业务路由与页面权限控制 2026-05-28 10:56:28 +08:00
Cheng Zhou fa961f1391 新增电子试验主文件目录与文件归档 2026-05-28 10:54:47 +08:00
Cheng Zhou d2b41ae454 将知识库笔记迁移为注意事项 2026-05-28 10:52:05 +08:00
Cheng Zhou 8da7fc715c 整合合同费用并移除旧财务合同 2026-05-28 10:49:08 +08:00
Cheng Zhou 747dd55225 feat(perm): 项目 PM 共管接口权限与监控并细化 PM 写权限边界
- deps 新增 list_active_pm_study_ids、is_active_project_pm 与
  require_admin_or_any_project_pm 依赖,用于把 PM 项目范围带进鉴权与
  监控。get_cra_site_scope 内部延后导入 site CRUD,避免循环依赖。
- system_permissions API 改用 PM/ADMIN 双角色入口,permissions/monitoring
  系统级权限新增 PM 配额,并细化访问日志、告警、监控指标的可见范围。
- members API 调整:项目 PM 仅可管理低于 PM 的项目角色,禁止互相
  改写或授予 PM。
- api_permissions API 增加 GET /api-permissions/me,返回当前用户在该
  项目的有效权限矩阵;保存权限矩阵时校验 PM 行为不被篡改。
- core/api_permissions:新增立项配置接口键、PM 默认拥有的监控/权限
  系统级条目,并在权限元信息中标注 PM 共享角色。
- core/project_permissions:role_has_api_permission 命中默认角色矩阵;
  replace_api_endpoint_permissions 改为部分更新且永不持久化 ADMIN/PM。
- studies setup-config 各端点改用接口级权限装饰器,与新的 setup_config
  权限键对齐。permission_monitor 新增 get_metrics 摘要供 PM 视图调用。
- 测试:新增 test_admin_pm_permissions 覆盖 PM 系统级权限、监控范围和
  成员管理边界;conftest 兼容 SA_UUID 列;权限相关用例同步移除已失效
  的 module_permission 链路。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 12:38:07 +08:00
Cheng Zhou a2add43fa5 feat(subject): 参与者状态依赖筛选日期并支持后续编辑
- 未填写筛选日期的参与者不再默认进入 SCREENING,状态显示为占位符。
- SubjectUpdate 不再开放 status 入参,改由后端依据日期推导,并新增
  screening_date 字段允许 PM/CRA 后续补录筛选日期。
- 参与者管理页与详情页同步:详情页支持编辑筛选日期,列表页与详情页
  在没有筛选日期时显示占位符而非旧 enum 值。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 12:36:33 +08:00
Cheng Zhou da6f2f2d41 feat: derive subject status from visits 2026-05-21 14:47:42 +08:00
Cheng Zhou 6d682103f3 项目总览界面UI美化与入组数据统计修复
- 重构总览页面布局:卡片化设计、顶部标题栏、图标装饰
- 美化进度时间线:hover高亮、呼吸动画、渐变连接线
- 重写入组图表:去除边框、虚线网格、渐变柱子、柔和背景
- 修复入组统计:同时匹配enrollment_date和ENROLLED状态
- 移除adapter中hasEnrollmentStage过滤,显示真实入组数

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 16:53:36 +08:00
Cheng Zhou 5b97ea32ab 移除用户系统级角色,权限完全迁移至项目级管理
- 用户注册/创建不再需要选择角色,账号管理只管资料和状态
- 移除前后端所有系统级 role 字段的暴露,改用 is_admin 标识管理员
- PM(项目负责人)角色自动拥有全部项目权限且不可修改
- 系统管理员在项目中的成员身份不可被删除
- 管理界面全面美化

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 15:52:17 +08:00
Cheng Zhou a17f4cc522 完善项目级权限与项目管理入口
- 新增项目成员候选用户接口,避免 PM 读取全局用户列表
- 按项目角色和权限矩阵控制项目管理、成员、中心与审计入口
- 合并侧边栏管理后台入口,统一从项目管理进入成员等模块
- 加强成员管理安全约束,禁止 PM 修改自己、系统管理员或更高权限角色
- 修复多项目角色缓存串用问题,并补充前后端回归测试
2026-05-13 14:16:15 +08:00
Cheng Zhou 77e842637d 中文:收口权限与中心/立项配置改造 2026-05-12 10:16:52 +08:00
Cheng Zhou 6e90370a5f 移除特殊费用模块 2026-05-12 10:15:18 +08:00
Cheng Zhou 917ab7ccf1 feat: refine subject visits and project workflows
Add early termination visit workflow with ordering, non-applicable visit handling, visit window display, and medication adherence support.

Extend monitoring visit issue template fields, site scoping, setup draft project info handling, login security UI, attachment behavior, and related tests/migrations.
2026-05-09 17:10:34 +08:00
Cheng Zhou 74feca4467 feat: harden auth and study workflows
- replace plaintext login and unlock requests with RSA-OAEP/AES-GCM encrypted payloads

- add login challenge replay protection, production RSA key validation, and auth tests

- wire compose to environment-driven dev/prod settings without committing local secrets

- update setup-config smoke scripts and Postman docs for encrypted login

- add visit schedule migrations/tests and update study/subject setup workflows
2026-05-08 22:16:43 +08:00
Cheng Zhou a67991740e feat: 统一生产初始化流程并保护系统管理员 2026-03-27 17:26:46 +08:00
Cheng Zhou 0cd03eefa8 立项配置版本管理优化(回滚逻辑、UI、下载功能) 2026-03-04 14:49:59 +08:00
Cheng Zhou 6c5e5770c6 小优化-立项配置-预览模式下“更新”显示 2026-02-28 16:41:20 +08:00
Cheng Zhou 9b36a42e6f 参与者管理- PD模块内容补充 2026-02-28 14:33:57 +08:00
Cheng Zhou af0c1b4b7d 补充监查访视问题模块内容、翻页功能UI统一 2026-02-28 09:51:13 +08:00
Cheng Zhou db2d38edbc 立项配置数据入库、审计日志数据入库、编辑页UI界面美化、设备管理内容补充、审计日志显示优化 2026-02-27 16:16:26 +08:00
Cheng Zhou 8f3f717e48 立项配置页初步优化 2026-02-24 16:53:22 +08:00
Cheng Zhou 737f84bf54 未知(继上次中断) 2026-02-04 10:52:34 +08:00
Cheng Zhou 8e258d21a7 chore: stop tracking frontend node_modules 2026-01-20 08:52:54 +08:00
Cheng Zhou 7fdcfdaadd 管理后台前后端逻辑、UI美化 2026-01-16 13:50:08 +08:00
Cheng Zhou 05c1f9579a 启动与授权-初步优化 2026-01-15 11:25:13 +08:00
Cheng Zhou 4fc5f0ee9b 立项与伦理-初步优化,新增.env 2026-01-14 15:33:52 +08:00
Cheng Zhou f9ef5c109f 文件版本管理-初步优化 2026-01-14 11:35:37 +08:00
Cheng Zhou ef1e67218c 药品流向管理内容优化-初步 2026-01-13 19:42:28 +08:00
Cheng Zhou 1db36f40b0 费用管理内容优化-初步 2026-01-13 16:49:55 +08:00
Cheng Zhou b3cd8e03f2 项目概览、参与者管理初步优化(未接入真实数据) 2026-01-13 10:10:28 +08:00
Cheng Zhou 1338fa7e2b 全局中文化 2026-01-12 11:14:04 +08:00
Cheng Zhou 9021c7fe2b 信息架构/菜单框架大重构-20260109 2026-01-09 11:19:04 +08:00
Cheng Zhou 0c1fc49f17 细节优化——1 2025-12-30 14:07:57 +08:00
Cheng Zhou 7c9befc3c9 优化“知识库模块“--基本完善 2025-12-26 14:07:28 +08:00
Cheng Zhou 712cef8298 readme、init修正 2025-12-23 17:19:32 +08:00
Cheng Zhou 6ddf9901a0 新增用户注册功能 2025-12-22 21:19:48 +08:00
Cheng Zhou b475d4f763 清除“Task”模块 2025-12-19 11:02:21 +08:00
Cheng Zhou 7137665410 修复前后端显示异常问题(受试者、中心、负责人、日期等) 2025-12-18 22:09:28 +08:00
Cheng Zhou eed83cec5a 帐号治理-帐号管理--更新 2025-12-18 19:14:38 +08:00
Cheng Zhou f6b89cb8c4 帐号治理-项目治理--初步优化 2025-12-18 16:58:12 +08:00
Cheng Zhou 1e6cae6b6e UX-3 附件上传删除功能 2025-12-17 16:16:47 +08:00
Cheng Zhou a54d7faf19 Step 11:百问百答(FAQ / Knowledge Base) 2025-12-16 19:50:44 +08:00
Cheng Zhou 156e02ff3a Step 10:费用管理 2025-12-16 19:35:26 +08:00
Cheng Zhou 882fcb0963 Step 9:药品管理(IMP) 2025-12-16 19:26:45 +08:00
Cheng Zhou 566ebdf749 Step 8:数据管理(Queries + SDV/SDR 进度) 2025-12-16 19:16:50 +08:00
Cheng Zhou f19faf1a1a Step 7:AE + 风险/问题管理(PV) 2025-12-16 17:55:53 +08:00
Cheng Zhou c77b20f932 Step 6:受试者(Subject)+ 访视(Visit)+ 随访进度 2025-12-16 17:43:11 +08:00