175 lines
3.7 KiB
Markdown
175 lines
3.7 KiB
Markdown
# 医院绩效考核管理系统
|
||
|
||
一个为县级中医院设计的绩效考核管理系统,支持科室管理、员工管理、考核指标管理、绩效考核流程、数据分析报表和绩效工资核算。
|
||
|
||
## 技术栈
|
||
|
||
### 后端
|
||
- **FastAPI** - 高性能异步Web框架
|
||
- **SQLAlchemy 2.0** - 异步ORM
|
||
- **PostgreSQL** - 数据库
|
||
- **Alembic** - 数据库迁移
|
||
- **Pydantic** - 数据验证
|
||
|
||
### 前端
|
||
- **Vue 3** - 渐进式JavaScript框架
|
||
- **Element Plus** - UI组件库
|
||
- **Pinia** - 状态管理
|
||
- **ECharts** - 图表库
|
||
- **Vite** - 构建工具
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
hospital-performance/
|
||
├── backend/ # 后端服务
|
||
│ ├── app/
|
||
│ │ ├── core/ # 核心配置
|
||
│ │ ├── models/ # 数据模型
|
||
│ │ ├── schemas/ # Pydantic模式
|
||
│ │ ├── api/ # API路由
|
||
│ │ ├── services/ # 业务逻辑
|
||
│ │ └── utils/ # 工具函数
|
||
│ ├── alembic/ # 数据库迁移
|
||
│ └── requirements.txt
|
||
├── frontend/ # 前端应用
|
||
│ ├── src/
|
||
│ │ ├── views/ # 页面组件
|
||
│ │ ├── components/ # 通用组件
|
||
│ │ ├── api/ # API调用
|
||
│ │ ├── stores/ # 状态管理
|
||
│ │ └── router/ # 路由配置
|
||
│ └── package.json
|
||
└── README.md
|
||
```
|
||
|
||
## 功能模块
|
||
|
||
### 1. 基础数据管理
|
||
- 科室信息管理(支持树形结构)
|
||
- 员工信息管理
|
||
- 考核指标管理
|
||
|
||
### 2. 绩效考核流程
|
||
- 考核记录创建与编辑
|
||
- 考核提交与审核流程
|
||
- 批量创建考核
|
||
|
||
### 3. 数据分析报表
|
||
- 科室绩效统计
|
||
- 员工绩效排名
|
||
- 趋势分析图表
|
||
- 绩效分布分析
|
||
|
||
### 4. 绩效工资核算
|
||
- 根据考核自动计算工资
|
||
- 批量生成工资记录
|
||
- 工资确认与发放
|
||
|
||
## 快速开始
|
||
|
||
### 环境要求
|
||
- Python 3.10+
|
||
- Node.js 18+
|
||
- PostgreSQL 14+
|
||
|
||
### 后端启动
|
||
|
||
```bash
|
||
# 创建虚拟环境
|
||
cd backend
|
||
python -m venv venv
|
||
source venv/bin/activate # Linux/Mac
|
||
# venv\Scripts\activate # Windows
|
||
|
||
# 安装依赖
|
||
pip install -r requirements.txt
|
||
|
||
# 配置环境变量
|
||
cp .env.example .env
|
||
# 编辑 .env 文件配置数据库连接
|
||
|
||
# 创建数据库
|
||
createdb hospital_performance
|
||
|
||
# 运行数据库迁移
|
||
alembic upgrade head
|
||
|
||
# 启动服务
|
||
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
||
```
|
||
|
||
### 前端启动
|
||
|
||
```bash
|
||
cd frontend
|
||
|
||
# 安装依赖
|
||
npm install
|
||
|
||
# 启动开发服务器
|
||
npm run dev
|
||
```
|
||
|
||
### 访问系统
|
||
- 前端地址: http://localhost:5173
|
||
- API文档: http://localhost:8000/api/v1/docs
|
||
|
||
## API文档
|
||
|
||
启动后端服务后,访问以下地址查看API文档:
|
||
- Swagger UI: http://localhost:8000/api/v1/docs
|
||
- ReDoc: http://localhost:8000/api/v1/redoc
|
||
|
||
## 默认账号
|
||
- 用户名: admin
|
||
- 密码: admin123
|
||
|
||
## 数据库设计
|
||
|
||
### 主要表结构
|
||
- `departments` - 科室信息表
|
||
- `staff` - 员工信息表
|
||
- `indicators` - 考核指标表
|
||
- `assessments` - 考核记录表
|
||
- `assessment_details` - 考核明细表
|
||
- `salary_records` - 工资核算表
|
||
- `users` - 系统用户表
|
||
|
||
## 性能优化
|
||
|
||
1. **数据库层面**
|
||
- 合理的索引设计
|
||
- 连接池配置
|
||
- 异步查询
|
||
|
||
2. **应用层面**
|
||
- 异步IO处理
|
||
- 分页查询
|
||
- 缓存策略
|
||
|
||
3. **前端层面**
|
||
- 路由懒加载
|
||
- 组件按需加载
|
||
- 图表数据缓存
|
||
|
||
## 可维护性设计
|
||
|
||
1. **代码规范**
|
||
- 模块化设计
|
||
- 分层架构
|
||
- 类型注解
|
||
|
||
2. **文档完善**
|
||
- API自动文档
|
||
- 代码注释
|
||
- README文档
|
||
|
||
3. **测试覆盖**
|
||
- 单元测试
|
||
- 集成测试
|
||
|
||
## License
|
||
|
||
MIT
|