一个基于 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/ # 脚本文件
系统支持三种用户角色:
- 查看和填写自己的绩效考核
- 对考核结果提交异议申请
- 接收并处理邀请评分任务
- 对其他员工进行客观评分
- 查看系统设置
- 访问帮助中心
- 员工的所有功能
- 管理部门员工
- 评估下属的绩效考核
- 导出考核数据
- 所有系统功能的完全访问权限
- 管理部门和员工
- 创建和管理 KPI 模板
- 配置绩效规则和权重比例
- 发起和管理邀请评分
- 处理员工异议申请
- 系统设置配置
- 数据统计分析
- 创建考核 - HR 或主管创建考核任务,选择模板和被考核人员
- 员工自评 - 员工填写自我评价,对各项指标进行评分
- 主管评估 - 主管对员工进行评估,给出评分和反馈
- 邀请评分(可选)- HR 可邀请其他人员对员工进行评分,获取多方面评价
- HR 审核 - HR 审核评估结果,根据绩效规则计算最终评分
- 员工确认 - 员工确认最终得分,考核流程完成
- 异议处理(可选)- 员工如对评分有异议,可提交异议申请,HR 处理并调整得分
- 多角度评价:通过邀请不同人员参与评分,获得更全面的员工评价
- 灵活邀请:HR 可以选择合适的人员进行邀请,支持多人同时评分
- 状态管理:实时跟踪邀请状态(待接受、进行中、已完成、已拒绝)
- 客观评分:被邀请人员基于对员工的了解进行客观评分
- 发起邀请 - HR 在主管评估完成后发起邀请评分
- 选择评分人 - 选择了解被评估员工的人员进行邀请
- 接受邀请 - 被邀请人员可以选择接受或拒绝邀请
- 进行评分 - 接受邀请后对员工各项指标进行评分
- 提交结果 - 完成评分并提交评价结果
- HR 参考 - HR 将邀请评分作为审核的重要参考
- HR 管理员:发起邀请、管理邀请进展、查看评分结果
- 被邀请人员:接收邀请、进行评分、提供客观评价
- 被评估员工:邀请评分的对象,无需参与邀请评分过程
- 客观公正:基于对员工的实际了解进行评分
- 具体详实:提供具体的评分依据和改进建议
- 保密性:评分结果仅 HR 可查看完整详情
- 可选性:如对员工不够了解,可选择拒绝邀请
绩效规则用于配置不同场景下各项评分的权重比例,系统会根据配置自动计算最终得分。
- 自评权重:员工自评的权重百分比
- 上级评分权重:主管评分的权重百分比
- 合计必须为 100%
- 自评权重:员工自评的权重百分比
- 邀请评分权重:被邀请人员评分的权重百分比
- 上级评分权重:主管评分的权重百分比
- 合计必须为 100%
- 启用规则:打开绩效规则开关,规则生效
- 配置权重:根据公司制度设置各场景下的权重百分比
- 保存生效:保存后立即生效,影响后续的考核评分计算
- 禁用规则:关闭开关后,系统使用默认评分方式
- 仅 HR 管理员 可以访问和配置绩效规则
- 配置修改后立即生效,影响所有后续考核
异议处理功能允许员工对考核结果提出异议,HR 可以审核并调整最终得分,确保考核过程的公平性和透明度。
-
员工提交异议
- 在"待确认"状态时,员工可以提交异议申请
- 填写详细的异议原因和说明
- 提交后系统自动通知上级和 HR
- 考核状态变为"异议处理中"
-
HR 处理异议
- HR 查看员工提交的异议原因
- 审核考核过程和评分依据
- 可以调整最终得分(如有必要)
- 填写处理原因和说明
- 处理完成后系统通知员工
-
员工确认结果
- 员工查看 HR 的处理结果和调整后的得分
- 确认后考核流程完成
- 如仍有异议,可再次提交(需 HR 重新处理)
- 公平透明:员工可以对考核结果提出异议,保障员工权益
- 流程规范:异议处理流程清晰,状态可追踪
- 及时通知:异议提交和处理都会及时通知相关人员
- 可追溯性:异议原因和处理结果完整记录,便于追溯
- 员工:在待确认状态可以提交异议,查看处理结果
- HR 管理员:查看和处理所有异议,调整最终得分
- 上级主管:收到异议通知,了解员工反馈
- 只有在"待确认"状态才能提交异议
- 每个考核只能提交一次异议
- HR 处理异议后,员工需要重新确认最终得分
- 异议处理记录会永久保存,作为考核历史的一部分
- Node.js 18+
- Go 1.23+
- 克隆项目
git clone https://github.com/dootask/kpi
cd kpi- 安装前端依赖
npm install- 安装后端依赖
cd server
go mod tidy
cd ..- 启动开发环境
# 同时启动前后端(推荐)
npm run dev:all
# 或者分别启动
npm run dev # 仅启动前端
cd server && CGO_ENABLED=1 go run main.go # 仅启动后端- 访问系统
- 构建前端
npm run build
npm run start- 构建后端
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):
- 账户:[email protected]
- 姓名:孙八
- 职位:HR经理
- 权限:系统全部功能
- 技术总监:[email protected] (张三)
- 市场总监:[email protected] (赵六)
- 财务经理:[email protected] (周九)
- 权限:部门管理、员工考核、数据导出
- 技术员工:[email protected] (李四)、[email protected] (王五)
- 市场员工:[email protected] (钱七)
- 权限:查看和填写个人考核
本项目仅供学习和参考使用。
基于 Next.js 和 Go 开发的现代化 KPI 管理系统。