Skip to content

TigerChenXH/HR

Repository files navigation

🏢 Django HR管理系统

一个基于Django开发的现代化人力资源管理系统,采用橙色主题设计,提供完整的员工管理、部门管理、考勤管理、薪资管理和招聘管理等功能模块。系统具有美观的UI界面、完善的管理后台和丰富的数据可视化功能。

功能特性

🏢 部门管理

  • 层级部门结构管理
  • 部门负责人设置
  • 部门人员统计
  • 部门树形展示

👥 员工信息管理

  • 员工基本信息管理(增删改查)
  • 员工搜索和筛选
  • Excel批量导入/导出
  • 员工头像上传
  • 多种员工状态管理

⏰ 考勤管理

  • 在线签到签退
  • 请假申请和审批
  • 加班申请和审批
  • 考勤统计报表
  • 迟到早退统计

💰 薪资管理

  • 薪资结构配置
  • 自动薪资计算
  • 个人所得税计算
  • 薪资发放记录
  • 薪资报表导出

🎯 招聘管理

  • 职位发布和管理
  • 简历收集和管理
  • 面试安排和评价
  • Offer管理
  • 招聘统计分析

🔐 权限管理

  • 基于Django的用户认证
  • 管理员、HR、普通员工角色区分
  • 功能权限控制

📊 数据可视化

  • ECharts图表展示
  • 考勤统计图表
  • 薪资趋势分析
  • 部门人员分布
  • 招聘数据统计

🎨 UI/UX特性

  • 现代化橙色主题设计 (#D17764)
  • 响应式布局,支持移动端
  • 玻璃质感登录页面
  • 统一的卡片和按钮样式
  • 侧边栏导航,优化空间利用
  • 平滑动画和交互效果

⚙️ 管理后台增强

  • 完善的Django Admin配置
  • 批量操作功能(激活/停用、审批等)
  • 自定义显示字段和计算方法
  • 智能状态管理和转换
  • 丰富的过滤和搜索功能

技术栈

  • 后端: Django 4.2.7 + Python 3.8+
  • 数据库: MySQL 8.0
  • 前端: Bootstrap 5.3 + Django模板
  • 图表: ECharts 5.4
  • 表单: django-crispy-forms
  • 文件处理: openpyxl (Excel导入导出)

安装部署

1. 环境要求

  • Python 3.8+
  • MySQL 8.0+
  • pip

2. 克隆项目

git clone <repository-url>
cd HR

3. 安装依赖

pip install -r requirements.txt

4. 数据库配置

hr_system/settings.py 中配置数据库连接:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'hrmanage',
        'USER': 'root',
        'PASSWORD': 'your_password',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {
            'charset': 'utf8mb4',
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
        },
    }
}

5. 创建数据库

CREATE DATABASE hrmanage CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

6. 数据库迁移

python manage.py makemigrations
python manage.py migrate

7. 初始化数据

python manage.py shell < init_data.py

8. 启动服务

python manage.py runserver

访问 http://127.0.0.1:8000 即可使用系统。

默认账号

管理员账号

员工测试账号

  • 用户名: zhangsan 密码: 123456 (张三 - 高级前端工程师)
  • 用户名: lisi 密码: 123456 (李四 - HR专员)
  • 用户名: wangwu 密码: 123456 (王五 - 后端架构师)
  • 用户名: zhaoliu 密码: 123456 (赵六 - 会计)
  • 用户名: sunqi 密码: 123456 (孙七 - 销售经理)

目录结构

hr_system/
├── hr_system/              # Django项目配置
│   ├── settings.py         # 项目设置
│   ├── urls.py            # 主URL配置
│   └── wsgi.py            # WSGI配置
├── employees/              # 员工管理应用
├── departments/            # 部门管理应用
├── attendance/             # 考勤管理应用
├── salary/                # 薪资管理应用
├── recruitment/            # 招聘管理应用
├── templates/              # 模板文件
│   ├── base.html          # 基础模板
│   ├── registration/      # 登录模板
│   ├── employees/         # 员工模板
│   └── departments/       # 部门模板
├── static/                # 静态文件
├── media/                 # 媒体文件
├── requirements.txt       # 依赖包列表
├── init_data.py          # 数据初始化脚本
└── manage.py             # Django管理脚本

主要功能模块

员工管理 (/employees/)

  • 员工列表: 分页显示、搜索筛选
  • 员工详情: 完整信息展示
  • 添加员工: 表单验证、头像上传
  • 编辑员工: 信息更新
  • 批量导入: Excel文件导入
  • 数据导出: Excel格式导出

部门管理 (/departments/)

  • 部门列表: 树形结构展示
  • 部门详情: 人员统计
  • 创建部门: 层级关系设置
  • 编辑部门: 信息更新
  • 部门统计: 人员分布图表

考勤管理 (/attendance/)

  • 考勤仪表板: 个人考勤概览
  • 签到签退: 在线打卡
  • 请假申请: 流程化审批
  • 加班申请: 时长计算
  • 考勤统计: 图表分析

薪资管理 (/salary/)

  • 薪资仪表板: 个人薪资概览
  • 薪资记录: 详细薪资信息
  • 薪资计算: 自动税费计算
  • 薪资发放: 发放记录管理
  • 薪资统计: 趋势分析

招聘管理 (/recruitment/)

  • 招聘仪表板: 招聘数据概览
  • 职位管理: 职位发布和编辑
  • 候选人管理: 简历收集
  • 面试管理: 面试安排和评价
  • Offer管理: Offer发送和跟踪

数据模型

核心模型关系

User (Django内置)
├── Employee (一对一)
│   ├── Department (多对一)
│   ├── AttendanceRecord (一对多)
│   ├── SalaryRecord (一对多)
│   └── LeaveApplication (一对多)
├── Department
│   ├── parent (自关联)
│   └── manager (多对一 User)
└── JobPosition
    └── JobApplication (一对多)
        ├── Candidate (多对一)
        ├── Interview (一对多)
        └── OfferLetter (一对一)

开发说明

添加新功能模块

  1. 创建Django应用: python manage.py startapp app_name
  2. settings.py 中添加应用
  3. 创建模型、视图、表单
  4. 配置URL路由
  5. 创建模板文件
  6. 运行迁移: python manage.py makemigrations && python manage.py migrate

自定义配置

  • 修改 settings.py 中的数据库配置
  • 调整 AttendanceSettings 模型中的考勤规则
  • 修改 TaxSettings 模型中的税率设置
  • 自定义 templates/base.html 中的界面样式

常见问题

1. 数据库连接错误

检查MySQL服务是否启动,数据库配置是否正确。

2. 静态文件无法加载

确保 DEBUG=True 或正确配置静态文件服务。

3. 权限错误

检查用户是否有相应的权限,管理员账号可以访问所有功能。

4. Excel导入失败

检查Excel文件格式是否正确,列顺序是否匹配。

许可证

本项目采用 MIT 许可证。

贡献

欢迎提交Issue和Pull Request来改进项目。

联系方式

如有问题请通过以下方式联系:

About

Hr管理系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors