Files
HaHafeng 66255368b7 feat(admin): Add user management and upgrade to module permission system
Features - User Management (Phase 4.1):
- Database: Add user_modules table for fine-grained module permissions
- Database: Add 4 user permissions (view/create/edit/delete) to role_permissions
- Backend: UserService (780 lines) - CRUD with tenant isolation
- Backend: UserController + UserRoutes (648 lines) - 13 API endpoints
- Backend: Batch import users from Excel
- Frontend: UserListPage (412 lines) - list/filter/search/pagination
- Frontend: UserFormPage (341 lines) - create/edit with module config
- Frontend: UserDetailPage (393 lines) - details/tenant/module management
- Frontend: 3 modal components (592 lines) - import/assign/configure
- API: GET/POST/PUT/DELETE /api/admin/users/* endpoints

Architecture Upgrade - Module Permission System:
- Backend: Add getUserModules() method in auth.service
- Backend: Login API returns modules array in user object
- Frontend: AuthContext adds hasModule() method
- Frontend: Navigation filters modules based on user.modules
- Frontend: RouteGuard checks requiredModule instead of requiredVersion
- Frontend: Remove deprecated version-based permission system
- UX: Only show accessible modules in navigation (clean UI)
- UX: Smart redirect after login (avoid 403 for regular users)

Fixes:
- Fix UTF-8 encoding corruption in ~100 docs files
- Fix pageSize type conversion in userService (String to Number)
- Fix authUser undefined error in TopNavigation
- Fix login redirect logic with role-based access check
- Update Git commit guidelines v1.2 with UTF-8 safety rules

Database Changes:
- CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled)
- ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code)
- INSERT 4 permissions + role assignments
- UPDATE PUBLIC tenant with 8 module subscriptions

Technical:
- Backend: 5 new files (~2400 lines)
- Frontend: 10 new files (~2500 lines)
- Docs: 1 development record + 2 status updates + 1 guideline update
- Total: ~4900 lines of code

Status: User management 100% complete, module permission system operational
2026-01-16 13:42:10 +08:00

111 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DC - 数据清洗整理
> **模块代号:** DC (Data Cleaning)
> **开发状态:** ⏳ 规划中
> **商业价值:** ⭐⭐⭐⭐⭐ 可独立售卖
> **独立性:** ⭐⭐⭐⭐⭐
> **优先级:** P1
---
## 📋 模块概述
数据清洗整理模块提供专业工具处理医院导出的海量百万行级、多表格的Excel数据。
**核心价值:** 核心差异化功能,解决医学科研痛点
---
## 🎯 核心功能
### 1. 表格ETL重点
- 多张Excel表格导入
- 按"患者ID"和"时间"自动JOIN
- 重组为干净的分析宽表
### 2. 文本提取NER重点
- 从病理报告提取结构化字段
- 从住院小结提取关键信息
- TNM分期自动识别
### 3. 数据质量报告
- 缺失值统计
- 异常值检测
- 数据质量评分
### 4. 导出标准化数据
- Excel导出
- SPSS格式
- R语言格式
---
## 📂 文档结构
```
DC-数据清洗整理/
├── [AI对接] DC快速上下文.md # ⏳ 待创建
├── 00-项目概述/
│ └── 01-产品需求文档(PRD).md # ⏳ 待创建
├── 01-设计文档/
│ ├── 01-ETL引擎设计.md # ⏳ 待创建
│ └── 02-医学NLP设计.md # ⏳ 待创建
└── README.md # ✅ 当前文档
```
---
## 🔗 依赖的通用能力
- **LLM网关** - 医学NER提取云端版
- **文档处理引擎** - Excel/Docx读取
- **ETL引擎** - 数据清洗和转换
- **医学NLP引擎** - 实体识别(单机版)
---
## 🎯 商业模式
**目标客户:** 临床科室、数据管理员
**售卖方式:** 独立产品
**定价策略:** 按项目数或一次性License
---
## ⚠️ 技术难点
1. **大数据处理** - 百万行数据的内存管理
2. **隐私保护** - 单机版必须100%本地化
3. **NER准确率** - 医学术语复杂
---
**最后更新:** 2025-11-06
**维护人:** 技术架构师