Skip to content
/ kpi Public

🎯 现代化 KPI 绩效考核管理系统 - 基于 Next.js 和 Go 构建,支持多角色协作、数据统计分析和 Excel 导出,可作为 DooTask 插件使用。

Notifications You must be signed in to change notification settings

dootask/kpi

Repository files navigation

DooTask KPI 绩效考核系统

一个基于 Next.js 和 Go 的现代化 KPI 绩效考核管理系统,支持多角色协作,让绩效管理变得更加高效和透明。

🚀 技术栈

前端

  • Next.js 15.3.5 - React 全栈框架
  • React 19 - 用户界面库
  • TypeScript - 类型安全的 JavaScript
  • Tailwind CSS - 实用优先的 CSS 框架
  • Radix UI - 高质量的 UI 组件库
  • Recharts - 数据可视化图表库
  • Axios - HTTP 请求库
  • React Hook Form - 表单处理库
  • Zod - 数据验证库

后端

  • Go 1.23 - 高性能编程语言
  • Gin - 轻量级 HTTP Web 框架
  • GORM - Go 语言 ORM 库
  • SQLite - 嵌入式数据库
  • JWT - 用户认证和授权
  • bcrypt - 密码加密
  • Excelize - Excel 文件处理

📋 系统功能

🎯 核心功能

  • 考核管理 - 创建、填写和管理绩效考核
  • 邀请评分 - 邀请同事参与评分,获得多角度评价
  • 异议处理 - 员工可对考核结果提出异议,HR 审核并调整得分
  • 统计分析 - 考核数据的图表和报表分析
  • 仪表板 - 系统概览和关键指标展示

👥 管理功能

  • 部门管理 - 组织架构和部门信息管理
  • 员工管理 - 员工信息和权限管理
  • KPI 模板 - 考核模板的创建和维护
  • 绩效规则 - 配置不同场景下自评、上级及邀请评分的权重比例

⚙️ 系统功能

  • 用户认证 - 登录、注册和权限管理
  • 系统设置 - 个性化配置和系统管理
  • 数据导出 - Excel 格式数据导出
  • 帮助中心 - 系统使用指南

🏗️ 系统架构

dootask-kpi/
├── app/                    # Next.js 应用目录
│   ├── auth/              # 认证页面
│   ├── departments/       # 部门管理
│   ├── employees/         # 员工管理
│   ├── evaluations/       # 考核管理
│   ├── performance-rules/ # 绩效规则配置
│   ├── statistics/        # 统计分析
│   ├── templates/         # 模板管理
│   └── settings/          # 系统设置
├── components/            # React 组件
│   └── ui/               # UI 组件库
├── lib/                  # 工具库和上下文
├── server/               # Go 后端服务
│   ├── handlers/         # HTTP 处理器
│   ├── models/           # 数据模型
│   ├── routes/           # 路由配置
│   └── utils/            # 工具函数
└── scripts/              # 脚本文件

🔐 用户角色

系统支持三种用户角色:

👤 普通员工 (employee)

  • 查看和填写自己的绩效考核
  • 对考核结果提交异议申请
  • 接收并处理邀请评分任务
  • 对其他员工进行客观评分
  • 查看系统设置
  • 访问帮助中心

👔 部门主管 (manager)

  • 员工的所有功能
  • 管理部门员工
  • 评估下属的绩效考核
  • 导出考核数据

👨‍💼 HR 管理员 (hr)

  • 所有系统功能的完全访问权限
  • 管理部门和员工
  • 创建和管理 KPI 模板
  • 配置绩效规则和权重比例
  • 发起和管理邀请评分
  • 处理员工异议申请
  • 系统设置配置
  • 数据统计分析

📊 考核流程

  1. 创建考核 - HR 或主管创建考核任务,选择模板和被考核人员
  2. 员工自评 - 员工填写自我评价,对各项指标进行评分
  3. 主管评估 - 主管对员工进行评估,给出评分和反馈
  4. 邀请评分(可选)- HR 可邀请其他人员对员工进行评分,获取多方面评价
  5. HR 审核 - HR 审核评估结果,根据绩效规则计算最终评分
  6. 员工确认 - 员工确认最终得分,考核流程完成
  7. 异议处理(可选)- 员工如对评分有异议,可提交异议申请,HR 处理并调整得分

🤝 邀请评分功能

📋 功能特点

  • 多角度评价:通过邀请不同人员参与评分,获得更全面的员工评价
  • 灵活邀请:HR 可以选择合适的人员进行邀请,支持多人同时评分
  • 状态管理:实时跟踪邀请状态(待接受、进行中、已完成、已拒绝)
  • 客观评分:被邀请人员基于对员工的了解进行客观评分

🔄 邀请流程

  1. 发起邀请 - HR 在主管评估完成后发起邀请评分
  2. 选择评分人 - 选择了解被评估员工的人员进行邀请
  3. 接受邀请 - 被邀请人员可以选择接受或拒绝邀请
  4. 进行评分 - 接受邀请后对员工各项指标进行评分
  5. 提交结果 - 完成评分并提交评价结果
  6. HR 参考 - HR 将邀请评分作为审核的重要参考

👥 参与角色

  • HR 管理员:发起邀请、管理邀请进展、查看评分结果
  • 被邀请人员:接收邀请、进行评分、提供客观评价
  • 被评估员工:邀请评分的对象,无需参与邀请评分过程

📊 评分原则

  • 客观公正:基于对员工的实际了解进行评分
  • 具体详实:提供具体的评分依据和改进建议
  • 保密性:评分结果仅 HR 可查看完整详情
  • 可选性:如对员工不够了解,可选择拒绝邀请

⚙️ 绩效规则配置

📋 功能说明

绩效规则用于配置不同场景下各项评分的权重比例,系统会根据配置自动计算最终得分。

🎯 配置场景

无邀请评分场景

  • 自评权重:员工自评的权重百分比
  • 上级评分权重:主管评分的权重百分比
  • 合计必须为 100%

有邀请评分场景(员工)

  • 自评权重:员工自评的权重百分比
  • 邀请评分权重:被邀请人员评分的权重百分比
  • 上级评分权重:主管评分的权重百分比
  • 合计必须为 100%

🔧 使用方式

  1. 启用规则:打开绩效规则开关,规则生效
  2. 配置权重:根据公司制度设置各场景下的权重百分比
  3. 保存生效:保存后立即生效,影响后续的考核评分计算
  4. 禁用规则:关闭开关后,系统使用默认评分方式

👥 权限说明

  • HR 管理员 可以访问和配置绩效规则
  • 配置修改后立即生效,影响所有后续考核

🔔 异议处理功能

📋 功能说明

异议处理功能允许员工对考核结果提出异议,HR 可以审核并调整最终得分,确保考核过程的公平性和透明度。

🔄 异议流程

  1. 员工提交异议

    • 在"待确认"状态时,员工可以提交异议申请
    • 填写详细的异议原因和说明
    • 提交后系统自动通知上级和 HR
    • 考核状态变为"异议处理中"
  2. HR 处理异议

    • HR 查看员工提交的异议原因
    • 审核考核过程和评分依据
    • 可以调整最终得分(如有必要)
    • 填写处理原因和说明
    • 处理完成后系统通知员工
  3. 员工确认结果

    • 员工查看 HR 的处理结果和调整后的得分
    • 确认后考核流程完成
    • 如仍有异议,可再次提交(需 HR 重新处理)

🎯 功能特点

  • 公平透明:员工可以对考核结果提出异议,保障员工权益
  • 流程规范:异议处理流程清晰,状态可追踪
  • 及时通知:异议提交和处理都会及时通知相关人员
  • 可追溯性:异议原因和处理结果完整记录,便于追溯

👥 参与角色

  • 员工:在待确认状态可以提交异议,查看处理结果
  • HR 管理员:查看和处理所有异议,调整最终得分
  • 上级主管:收到异议通知,了解员工反馈

⚠️ 注意事项

  • 只有在"待确认"状态才能提交异议
  • 每个考核只能提交一次异议
  • HR 处理异议后,员工需要重新确认最终得分
  • 异议处理记录会永久保存,作为考核历史的一部分

🛠️ 安装和使用

环境要求

  • Node.js 18+
  • Go 1.23+

快速启动

  1. 克隆项目
git clone https://github.com/dootask/kpi
cd kpi
  1. 安装前端依赖
npm install
  1. 安装后端依赖
cd server
go mod tidy
cd ..
  1. 启动开发环境
# 同时启动前后端(推荐)
npm run dev:all

# 或者分别启动
npm run dev          # 仅启动前端
cd server && CGO_ENABLED=1 go run main.go  # 仅启动后端
  1. 访问系统

生产环境部署

  1. 构建前端
npm run build
npm run start
  1. 构建后端
cd server
CGO_ENABLED=1 go build -o kpi-server main.go
./kpi-server

🗄️ 数据库

系统使用 SQLite 作为数据库,数据文件位于 server/db/kpi.db

数据表结构

  • departments - 部门信息
  • employees - 员工信息
  • kpi_templates - KPI 模板
  • kpi_items - KPI 考核项目
  • kpi_evaluations - 考核记录
  • kpi_scores - 考核得分
  • evaluation_comments - 评估评论
  • evaluation_invitations - 邀请评分记录
  • invited_scores - 邀请评分得分
  • performance_rules - 绩效规则配置
  • system_settings - 系统设置

📱 响应式设计

系统采用响应式设计,完美适配:

  • 桌面端(1200px+)
  • 平板端(768px - 1199px)
  • 移动端(< 768px)

🌓 主题支持

系统支持明暗主题切换,用户可以根据个人喜好选择合适的主题。

📈 功能特性

  • ✅ 完整的用户认证和授权系统
  • ✅ 多角色权限管理
  • ✅ 邀请评分功能,支持360度评估
  • ✅ 异议处理功能,保障考核公平性
  • ✅ 绩效规则配置,灵活设置评分权重
  • ✅ 响应式设计,支持移动端
  • ✅ 实时数据统计和图表展示
  • ✅ Excel 数据导出功能
  • ✅ 完整的考核流程管理
  • ✅ 系统设置和配置管理
  • ✅ 暗黑模式支持
  • ✅ 组件化设计,易于扩展

🤝 默认测试账户

系统启动后会自动创建测试数据,包括以下默认账户(默认密码均为:123456):

HR 管理员账户

  • 账户[email protected]
  • 姓名:孙八
  • 职位:HR经理
  • 权限:系统全部功能

部门主管账户

普通员工账户

📄 许可证

本项目仅供学习和参考使用。

👨‍💻 作者

基于 Next.js 和 Go 开发的现代化 KPI 管理系统。

About

🎯 现代化 KPI 绩效考核管理系统 - 基于 Next.js 和 Go 构建,支持多角色协作、数据统计分析和 Excel 导出,可作为 DooTask 插件使用。

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages