一个现代化的人力资源HC(Human Capital)管理系统,支持复杂Excel文件上传和实时数据可视化展示。
Windows用户:
# 双击运行启动脚本
start.bat
Linux/Mac用户:
# 给脚本执行权限并运行
chmod +x start.sh
./start.sh
git clone https://github.com/yaozhiqi-zhixiao/hc-management-system.git
cd hc-management-system
npm install
cd server && npm install && cd ..
cd client && npm install && cd ..
cd server && npm run dev
cd client && npm start
4. **访问系统**
- 前端地址:http://localhost:3000
- 后端API:http://localhost:5000
## 📁 项目结构
hc-management-system/ ├── client/ # 前端React应用 │ ├── public/ # 静态资源 │ ├── src/ │ │ ├── components/ # React组件 │ │ ├── services/ # API服务 │ │ ├── types/ # TypeScript类型定义 │ │ └── App.tsx # 主应用组件 │ └── package.json ├── server/ # 后端Node.js应用 │ ├── src/ │ │ ├── routes/ # API路由 │ │ ├── database.ts # 数据库操作 │ │ └── index.ts # 服务器入口 │ ├── data/ # SQLite数据库文件 │ ├── uploads/ # 上传文件存储 │ └── package.json ├── .github/workflows/ # GitHub Actions配置 ├── start.bat # Windows启动脚本 ├── start.sh # Linux/Mac启动脚本 ├── deploy-to-github-final.bat # GitHub部署脚本 ├── DEPLOYMENT.md # 部署指南 └── README.md # 项目说明
## 📋 Excel数据格式
系统支持复杂的Excel格式,包含以下字段:
### 部门层级字段(必需)
| 列名 | 说明 | 示例 |
|------|------|------|
| 一级部门 | 顶级部门 | 技术中心 |
| 二级部门 | 二级部门 | 研发部 |
| 三级部门 | 三级部门 | 前端组 |
| 四级部门 | 四级部门 | 核心团队 |
| 五级部门 | 五级部门 | 专项小组 |
| 六级部门 | 六级部门 | 项目组 |
### 员工信息字段(可选)
| 列名 | 说明 | 示例 |
|------|------|------|
| 员工类型 | 员工分类 | 正式员工 |
| job family | 职位族群 | Engineering |
| job group | 职位组 | Frontend |
| 职级 | 员工职级 | P6 |
| 城市 | 工作城市 | 北京 |
### 月度HC数据字段(必需)
| 列名 | 说明 |
|------|------|
| 1月-12月 | 各月份HC数量 |
### 示例数据
一级部门 二级部门 三级部门 员工类型 job family 职级 城市 1月 2月 3月 技术中心 研发部 前端组 正式员工 Engineering P6 北京 5 6 7 技术中心 研发部 后端组 正式员工 Engineering P7 上海 8 9 10 产品中心 产品部 用户体验 正式员工 Product P5 深圳 3 4 5
## 📖 使用说明
### 1. 数据上传
- 点击"选择文件上传"按钮或拖拽文件到上传区域
- 系统自动解析Excel文件并验证数据格式
- 支持.xlsx和.xls格式,文件大小限制10MB
### 2. 数据可视化
- **统计卡片**:显示总HC数量、记录数、部门数、月份数
- **部门统计图**:柱状图展示各部门HC总数(支持多级部门)
- **月度趋势图**:折线图展示12个月HC数量变化
- **热力图**:部门×月份的HC分布热力图
### 3. 数据筛选
- **部门筛选**:支持多级部门筛选
- **时间筛选**:选择月份范围查看特定时期数据
- **组合筛选**:支持部门和时间的组合筛选
### 4. 数据管理
- **数据导出**:将筛选后的数据导出为Excel文件
- **数据清空**:清空所有已上传的数据
- **数据表格**:详细查看所有HC记录,支持排序和筛选
## 🔧 API接口
### 文件上传
```http
POST /api/upload
Content-Type: multipart/form-data
GET /api/data # 获取所有数据
GET /api/data/filter # 筛选数据
GET /api/data/statistics # 获取统计信息
GET /api/data/departments # 获取部门列表
GET /api/data/months # 获取月份列表
GET /api/data/export # 导出Excel文件
DELETE /api/data/clear # 清空所有数据
deploy-to-github-final.bat yaozhiqi-zhixiao
git init
git add .
git commit -m "Initial commit: HC Management System"
git remote add origin https://github.com/yaozhiqi-zhixiao/hc-management-system.git
git push -u origin main
# 构建项目
npm run build
npm run server:build
# 启动生产服务器
npm start
docker build -t hc-system .
docker run -d -p 5000:5000 hc-system
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
如果您在使用过程中遇到问题或有改进建议,请:
HC管理系统 - 让人力资源数据管理更简单、更直观、更专业!
🌐 在线演示:https://yaozhiqi-zhixiao.github.io/hc-management-system