266 KiB
设计师任务抢单管理系统 - 项目需求文档
📋 项目概述
1.1 项目背景
本系统旨在建立一个高效的设计师任务分配与管理平台,通过积分制度和任务大厅机制,实现设计任务的智能分配、进度跟踪和绩效评估。
1.2 项目目标
- 提高设计任务分配效率
- 实现任务进度可视化管理
- 建立公平的积分激励机制
- 提供多维度的数据分析和绩效评估
- 增强团队协作和透明度
1.3 核心价值
- 效率提升:自动化任务分配,减少人工协调成本
- 透明化管理:实时查看任务进度和设计师工作负荷
- 激励机制:积分制度激发设计师积极性
- 数据驱动:多维度数据分析支持决策优化
🏗️ 系统架构设计
2.1 技术栈建议
前端技术栈
- 框架:Vue 3 + TypeScript / React 18 + TypeScript
- UI组件库:Ant Design Vue / Ant Design / Element Plus
- 状态管理:Pinia / Zustand / Redux Toolkit
- 路由管理:Vue Router / React Router
- 图表库:ECharts / Apache ECharts
- 日历组件:FullCalendar / Vue-Calendar
- 文件上传:Vue-Upload-Component / react-dropzone
- HTTP客户端:Axios
后端技术栈
- 主框架:Spring Boot 3.x / Node.js (NestJS / Express)
- 数据库:MySQL 8.0 + Redis
- ORM框架:MyBatis Plus / Hibernate / TypeORM
- 认证授权:
- OAuth 2.0 / OpenID Connect
- 推荐开源方案:Keycloak / Auth0 / Casdoor
- JWT Token
- 钉钉集成:DingTalk Open API SDK
- 文件存储:阿里云OSS / MinIO / 七牛云
- 任务调度:Quartz / XXL-JOB
- API文档:Swagger / OpenAPI
数据库设计
- 主数据库:MySQL(业务数据)
- 缓存层:Redis(会话、热点数据)
- 搜索引擎:Elasticsearch(可选,用于高级搜索)
部署方案
- 容器化:Docker + Docker Compose
- CI/CD:Jenkins / GitLab CI / GitHub Actions
- 服务器:Nginx(反向代理)+ 应用服务器
2.2 系统模块划分
├── 用户认证模块
│ ├── 开源认证系统集成
│ ├── 钉钉登录集成
│ └── 权限管理
├── 组织架构模块
│ ├── 组织架构同步
│ ├── 部门类型管理(需求部门/接单部门)
│ ├── 团队管理
│ ├── 部门负责人管理
│ └── 积分池管理
├── 任务管理模块
│ ├── 任务发起
│ ├── 任务分配
│ ├── 任务接收
│ ├── 任务审核
│ └── 任务调配(管理员)
├── 任务大厅模块
│ ├── 任务列表展示
│ ├── 任务搜索筛选
│ └── 任务抢单
├── 进度管理模块
│ ├── 我的任务进度
│ ├── 日历视图
│ └── 任务状态追踪
├── 设计师大厅模块
│ ├── 设计师列表
│ ├── 实时进度看板
│ └── 积分统计
├── 数据分析模块
│ ├── 绩效统计
│ ├── 需求统计展板
│ ├── 多维度报表
│ └── 排行榜
├── 系统配置模块
│ ├── 需求类型配置
│ ├── 品牌配置
│ ├── 类目配置
│ ├── 平台配置
│ └── 激励系统配置
├── 激励系统模块
│ ├── 成就勋章系统
│ ├── 实时排名系统
│ ├── 里程碑提醒
│ ├── 目标管理
│ ├── 每日签到
│ ├── 竞赛活动
│ ├── 团队PK
│ └── 智能推荐
├── 激励配置管理模块(管理员)
│ ├── 激励游戏开关
│ ├── 成就勋章配置
│ ├── 自动奖励规则配置
│ ├── 竞赛活动管理
│ ├── 团队PK管理
│ ├── 排名规则配置
│ └── 激励积分池管理
└── 通知提醒模块
├── 站内消息
├── 钉钉推送
└── 邮件通知
📝 功能需求详细说明
一、用户认证与授权模块
1.1 开源认证系统集成
推荐方案
Casdoor - 开源的身份访问管理平台
- 优势:
- 支持多种身份提供商(钉钉、企业微信等)
- 提供完整的UI界面
- 易于集成和定制
- 支持RBAC权限模型
- 开源免费
功能要点
- 用户注册与登录
- 单点登录(SSO)
- 会话管理
- 密码策略管理
- 安全日志记录
1.2 钉钉登录集成
实现方式
流程:
1. 用户点击"钉钉登录"
2. 跳转到钉钉授权页面
3. 用户授权后回调系统
4. 系统获取钉钉用户信息
5. 查询并同步组织架构
6. 匹配或创建系统用户
7. 生成JWT Token
8. 跳转到系统首页
组织架构同步
- 同步频率:定时任务(每天凌晨)+ 手动触发
- 同步内容:
- 部门层级结构
- 用户基本信息(姓名、工号、头像)
- 用户部门关系
- 团队积分池配置
权限角色设计
| 角色 | 权限说明 |
|---|---|
| 超级管理员 | 系统全部权限,配置管理,任务全局调配 |
| 管理员 | 任务调配、任务转移、查看全部任务数据 |
| 需求部门负责人 | 发起任务、查看本部门数据、设置积分消耗限制、管理部门成员 |
| 接单部门主管 | 任务分配、审核、查看所属团队数据 |
| 设计师(接单部门) | 接收任务、提交交付、查看个人数据 |
| 需求方(需求部门) | 发起任务、审核交付、查看自己发起的任务 |
| 观察者 | 只读权限,查看数据分析 |
一之二、组织架构与部门管理模块
1.3 功能概述
组织架构管理是系统的基础模块,通过部门分类(需求部门/接单部门)实现职责明确的任务流转。需求部门负责发起任务并提供积分,接单部门负责接收和完成任务。
1.4 部门类型管理
1.4.1 部门类型定义
两种部门类型
| 部门类型 | 职责 | 权限 | 积分关系 |
|---|---|---|---|
| 需求部门 | 发起设计需求 | 只能发布任务,不能接单 | 拥有积分池,发布任务消耗积分 |
| 接单部门 | 接收并完成任务 | 只能接单,不能发起任务 | 完成任务获得积分奖励 |
典型场景示例
需求部门:
- 产品部
- 市场部
- 运营部
- 电商部
接单部门:
- 设计部
- 视觉设计组
- UI设计组
- 视频制作组
1.4.2 部门类型配置界面
部门列表管理
┌──────────────────────────────────────────────────┐
│ 组织架构 - 部门管理 │
├──────────────────────────────────────────────────┤
│ 🔄 [同步钉钉组织架构] [+ 新增部门] │
│ ──────────────────────────────────────────── │
│ │
│ 🏢 公司总部 │
│ │ │
│ ├─ 📋 产品部 [需求部门] │
│ │ 负责人:张三 │
│ │ 成员:15人 | 积分池:5,000 │
│ │ 消耗限制:500分/周 │
│ │ [编辑] [查看详情] [设置负责人] │
│ │ │
│ ├─ 📋 市场部 [需求部门] │
│ │ 负责人:李四 │
│ │ 成员:12人 | 积分池:3,500 │
│ │ 消耗限制:无限制 │
│ │ [编辑] [查看详情] [设置负责人] │
│ │ │
│ ├─ 🎨 设计部 [接单部门] │
│ │ 主管:王五 │
│ │ 成员:25人 | 本月完成:156个任务 │
│ │ [编辑] [查看详情] [管理成员] │
│ │ │
│ └─ 📺 视频制作组 [接单部门] │
│ 主管:赵六 │
│ 成员:8人 | 本月完成:45个任务 │
│ [编辑] [查看详情] [管理成员] │
│ │
└──────────────────────────────────────────────────┘
编辑部门表单
┌───────────────────────────────────┐
│ 编辑部门 │
├───────────────────────────────────┤
│ 部门名称: │
│ [产品部] │
│ │
│ [必填] 部门类型: │
│ ● 需求部门 │
│ ○ 接单部门 │
│ │
│ 上级部门: │
│ [公司总部 ▼] │
│ │
│ 部门描述: │
│ ┌─────────────────────────────┐ │
│ │ 负责产品设计需求... │ │
│ └─────────────────────────────┘ │
│ │
│ === 需求部门专属配置 === │
│ │
│ 部门负责人: │
│ [张三 ▼] │
│ │
│ 积分池余额: │
│ [5000] 分 │
│ │
│ 积分消耗限制: │
│ ☑ 启用消耗限制 │
│ 周期:[每周 ▼] │
│ 限制:[500] 分 │
│ │
│ 预警设置: │
│ ☑ 剩余20%时预警 │
│ ☑ 超过限制时预警 │
│ │
│ === 接单部门专属配置 === │
│ (部门类型为需求部门时隐藏) │
│ │
│ 部门主管: │
│ [王五 ▼] │
│ │
│ 可接单的需求类型: │
│ ☑ 主图设计 │
│ ☑ 详情页设计 │
│ ☑ 视频剪辑 │
│ ☐ 图片修图 │
│ │
│ [取消] [保存] │
└───────────────────────────────────┘
1.4.3 部门类型权限控制
权限验证规则
// 发起任务权限验证
function canPublishTask(user) {
// 1. 检查用户所属部门
const userDept = user.department;
// 2. 验证部门类型
if (userDept.type !== 'DEMAND') {
return {
allowed: false,
message: '您所在的部门为接单部门,无权发起任务'
};
}
// 3. 检查积分余额
if (userDept.scoreBalance < minScore) {
return {
allowed: false,
message: '部门积分余额不足,请联系部门负责人充值'
};
}
// 4. 检查消耗限制
if (userDept.hasLimit && userDept.periodUsed >= userDept.periodLimit) {
return {
allowed: false,
message: `已达到本${userDept.limitPeriod}消耗上限,请等待下一周期或联系负责人调整`
};
}
return { allowed: true };
}
// 接单权限验证
function canReceiveTask(user, task) {
// 1. 检查用户所属部门
const userDept = user.department;
// 2. 验证部门类型
if (userDept.type !== 'RECEIVER') {
return {
allowed: false,
message: '您所在的部门为需求部门,无法接收任务'
};
}
// 3. 检查技能匹配(可选)
if (!userDept.allowedDemandTypes.includes(task.demandType)) {
return {
allowed: false,
message: '您所在部门不支持该类型的任务'
};
}
return { allowed: true };
}
前端权限控制
需求部门用户登录后:
✓ 显示"发起任务"按钮
✗ 隐藏"任务大厅"(抢单)
✓ 显示"我发起的任务"
✗ 隐藏"我接收的任务"
接单部门用户登录后:
✗ 隐藏"发起任务"按钮
✓ 显示"任务大厅"(抢单)
✗ 隐藏"我发起的任务"
✓ 显示"我接收的任务"
1.5 需求部门负责人管理
1.5.1 负责人设置
设置负责人
┌───────────────────────────────────┐
│ 设置部门负责人 │
├───────────────────────────────────┤
│ 部门:产品部(需求部门) │
│ 当前负责人:张三 │
│ │
│ 更改负责人: │
│ [搜索部门成员] │
│ ○ 张三(当前) │
│ ○ 李四 │
│ ● 王五 │
│ ○ 赵六 │
│ │
│ 授权权限: │
│ ☑ 查看部门所有任务 │
│ ☑ 管理部门积分池 │
│ ☑ 设置积分消耗限制 │
│ ☑ 审批部门成员发起的任务(可选)│
│ ☑ 查看部门数据统计 │
│ ☑ 管理部门成员 │
│ │
│ 生效时间: │
│ ● 立即生效 │
│ ○ 指定时间 [日期选择器] │
│ │
│ 通知方式: │
│ ☑ 站内消息 │
│ ☑ 钉钉通知 │
│ ☑ 邮件通知 │
│ │
│ [取消] [确认] │
└───────────────────────────────────┘
1.5.2 积分消耗限制管理
限制设置界面
┌──────────────────────────────────────────────┐
│ 积分消耗限制管理 - 产品部 │
├──────────────────────────────────────────────┤
│ 部门负责人:张三 │
│ 积分池余额:5,000 分 │
│ ──────────────────────────────────────── │
│ │
│ 消耗限制设置: │
│ ☑ 启用积分消耗限制 │
│ │
│ 限制周期: │
│ ○ 每天 │
│ ● 每周 │
│ ○ 每月 │
│ │
│ 限制额度: │
│ [500] 分 / 周 │
│ │
│ 本周期统计(2025.11.04 - 2025.11.10): │
│ ┌────────────────────────────────────┐ │
│ │ 已消耗:320 分(64%) │ │
│ │ 剩余额度:180 分 │ │
│ │ 进度:████████░░░ 64% │ │
│ │ │ │
│ │ 本周发起任务:18 个 │ │
│ │ 待审核:2 个 │ │
│ │ 进行中:12 个 │ │
│ │ 已完成:4 个 │ │
│ └────────────────────────────────────┘ │
│ │
│ 预警设置: │
│ ☑ 达到 80% 时预警(400分) │
│ ☑ 达到 100% 时禁止发起新任务 │
│ ☑ 每周一发送消耗报告 │
│ │
│ 超限处理: │
│ ● 禁止发起新任务 │
│ ○ 仅提醒,不限制 │
│ ○ 需要管理员审批 │
│ │
│ 历史记录: │
│ ┌────────────────────────────────────┐ │
│ │ 2025-11-04周:已用420/500(84%) │ │
│ │ 2025-10-28周:已用480/500(96%) │ │
│ │ 2025-10-21周:已用350/500(70%) │ │
│ │ [查看更多] │ │
│ └────────────────────────────────────┘ │
│ │
│ 临时调整: │
│ [本周期临时增加额度] [暂停限制1周] │
│ │
│ [重置为默认] [保存配置] │
└──────────────────────────────────────────────┘
消耗限制算法
// 检查是否可以发起任务
function checkScoreLimit(dept, taskScore) {
// 1. 检查是否启用限制
if (!dept.limitEnabled) {
return { allowed: true };
}
// 2. 获取当前周期
const currentPeriod = getCurrentPeriod(dept.limitPeriod);
// 3. 计算当前周期已使用
const periodUsed = calculatePeriodUsage(dept.id, currentPeriod);
// 4. 计算使用后的总额
const afterUse = periodUsed + taskScore;
// 5. 判断是否超限
if (afterUse > dept.periodLimit) {
return {
allowed: false,
message: `超过本${periodName}消耗限制`,
details: {
limit: dept.periodLimit,
used: periodUsed,
required: taskScore,
remaining: dept.periodLimit - periodUsed
}
};
}
// 6. 预警提示
const usageRate = afterUse / dept.periodLimit;
if (usageRate >= 0.8) {
return {
allowed: true,
warning: `将达到本${periodName}消耗限制的${(usageRate * 100).toFixed(0)}%`
};
}
return { allowed: true };
}
// 周期计算
function getCurrentPeriod(periodType) {
const now = new Date();
if (periodType === 'DAILY') {
return now.toISOString().split('T')[0]; // 2025-11-07
} else if (periodType === 'WEEKLY') {
const weekStart = getWeekStart(now); // 本周一
return weekStart.toISOString().split('T')[0];
} else if (periodType === 'MONTHLY') {
return `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, '0')}`;
}
}
超限提示
┌─────────────────────────────────────┐
│ ⚠️ 积分消耗限制提醒 │
├─────────────────────────────────────┤
│ 您的部门本周积分消耗即将达到上限 │
│ │
│ 部门:产品部 │
│ 本周限制:500 分 │
│ 已使用:420 分(84%) │
│ 剩余额度:80 分 │
│ │
│ 本次任务需要:100 分 │
│ │
│ ❌ 无法发起任务 │
│ │
│ 建议: │
│ 1. 等待下周一重置(还剩2天) │
│ 2. 联系部门负责人临时增加额度 │
│ 3. 降低任务规模减少积分消耗 │
│ │
│ [联系负责人] [知道了] │
└─────────────────────────────────────┘
1.6 部门数据权限
数据可见性规则
需求部门负责人可见:
✓ 本部门所有成员发起的任务
✓ 本部门积分使用明细
✓ 本部门消耗统计和趋势
✓ 本部门成员需求发起排名
✗ 其他部门的任务和数据
接单部门主管可见:
✓ 本部门所有设计师接收的任务
✓ 本部门设计师的进度和绩效
✓ 本部门获得的积分统计
✓ 本部门设计师排行榜
✗ 其他部门的设计师数据
超级管理员/管理员:
✓ 全部部门的所有数据
二、任务发起模块
2.1 功能流程图
开始 → 检查用户权限 → 查询团队积分 → 填写任务信息 → 计算所需积分
→ 积分验证 → 选择发布类型 → 提交审核 → 发送通知 → 结束
2.2 详细功能点
2.2.1 需求类型选择
配置管理(系统设置)
- 需求类型名称(如:主图设计、详情页设计、视频剪辑等)
- 单价分值(每个类型对应的积分单价)
- 预估耗时(小时/天)
- 类型状态(启用/禁用)
- 类型描述和要求
前端交互
- 下拉选择框展示已启用的需求类型
- 快速新增按钮(需管理员权限)
- 显示类型详细信息(单价、耗时)
数据示例
| 需求类型 | 单价分值 | 预估耗时 | 状态 |
|---|---|---|---|
| 主图设计 | 50 | 4小时 | 启用 |
| 详情页设计 | 200 | 2天 | 启用 |
| 视频剪辑 | 150 | 1天 | 启用 |
| 图片修图 | 30 | 2小时 | 启用 |
2.2.2 数量输入与积分计算
实时计算逻辑
总积分 = 需求类型单价 × 数量
预估完成时间 = 需求类型耗时 × 数量
积分验证机制
1. 实时查询用户所属团队的积分池余额
2. 对比:总积分 vs 团队余额
3. 不足时:
- 显示红色警告
- 显示当前余额和所需积分
- 提示联系管理员充值
- 禁用提交按钮
4. 充足时:
- 显示绿色提示
- 显示扣除后余额
- 允许提交
优化建议
- 添加积分预算预警功能(余额<阈值时提前通知)
- 团队积分充值审批流程
- 积分使用历史记录和统计
2.2.3 任务类型选择
- 新品:全新产品的设计需求
- 优化:对已有设计进行优化改进
- 改图:对现有图片进行修改
- 其它:自定义说明的其他需求
2.2.4 品牌选择
配置管理(系统设置)
- 品牌名称
- 品牌LOGO
- 品牌说明
- 品牌风格指南(可选)
- 状态(启用/禁用)
前端展示
- 下拉选择框
- 支持搜索过滤
- 显示品牌LOGO和名称
2.2.5 叶子类目选择
配置管理(系统设置)
- 多级类目树形结构
- 类目名称
- 类目层级(一级/二级/三级/叶子类目)
- 关联品牌(可选)
- 状态管理
前端交互
- 级联选择器
- 支持搜索
- 只能选择叶子类目
数据结构示例
服装
├── 女装
│ ├── 连衣裙 [叶子]
│ ├── T恤 [叶子]
│ └── 裤子 [叶子]
└── 男装
├── 衬衫 [叶子]
└── 牛仔裤 [叶子]
2.2.6 SPU信息输入
- 文本输入框
- 支持多行
- 字数限制(如500字)
- 支持复制粘贴
2.2.7 平台选择
配置管理(系统设置)
- 平台名称(淘宝、天猫、京东、拼多多、抖音等)
- 平台图标
- 平台设计规范说明
- 状态管理
前端交互
- 下拉选择或标签选择
- 支持多选(一个任务可发布到多个平台)
2.2.8 需求附件上传
⚠️ 重要说明
- 发布需求时:只需上传需求表格文件(Excel/Word),无需上传设计源文件(PSD、AI等)
- 设计师交付时:只需填写素材存储路径,无需上传文件到系统
文件类型支持(仅需求表格)
- 需求表格:.xls, .xlsx, .doc, .docx
- 参考文档:.pdf
- 压缩包:.zip(如需多个表格时)
文件限制
- 单文件大小:≤ 50MB
- 文件数量:≤ 5个(通常1-2个表格即可)
- 总大小:≤ 100MB
功能要求
- 拖拽上传
- 上传进度显示
- 文件预览(支持Excel/Word在线预览)
- 删除功能
- 下载功能
设计说明
┌────────────────────────────────────────┐
│ 上传需求表格 │
├────────────────────────────────────────┤
│ │
│ 📎 已上传文件: │
│ ┌──────────────────────────────────┐ │
│ │ 📄 11月主图设计需求表.xlsx │ │
│ │ 大小:2.3MB 上传时间:10:30 │ │
│ │ [预览] [下载] [删除] │ │
│ └──────────────────────────────────┘ │
│ │
│ [+ 点击上传] 或 拖拽文件到此处 │
│ │
│ 💡 提示: │
│ • 仅需上传需求说明表格 │
│ • 支持格式:Excel (.xlsx/.xls) │
│ • 无需上传设计源文件(PSD/AI等) │
│ • 设计师交付时仅需填写素材路径 │
│ │
└────────────────────────────────────────┘
2.2.9 任务发布类型
A. 指定任务
- 从设计师列表中选择指定人员
- 显示该设计师当前任务负荷
- 支持选择多人(任务拆分)
- 任务直接进入指定设计师的待办列表
B. 招募任务(任务大厅)
- 任务发布到任务大厅
- 所有设计师可见
- 设计师主动抢单
- 遵循"先到先得"或"评分优先"规则
C. 默认模式(主管分配)
- 任务进入主管待分配池
- 主管根据设计师负荷和专长分配
- 主管可设置任务优先级
- 分配后通知设计师
优化建议:智能推荐
- 根据设计师历史任务类型匹配度推荐
- 根据设计师当前负荷推荐
- 根据设计师评分推荐
- AI自动分配模式(可选)
2.2.10 交付地址信息(素材路径)
⚠️ 重要说明 设计师交付时无需上传文件到系统,只需填写或粘贴素材的存储路径即可。
信息收集(由接收任务人填写)
- 共享盘路径(如:\\server\design\2025-11\project01\)
- 云盘链接(如:https://pan.baidu.com/s/xxxxx)
- 本地服务器路径(如:/mnt/design/2025-11/)
- Git仓库地址(如:https://github.com/xxx/project.git)
- 其他说明(文件夹结构、命名规范等)
填写时机
- 任务接收时可选填写(预计交付位置)
- 任务进行中可修改
- 任务完成提交时必须填写(实际交付位置)
交付路径输入界面
┌────────────────────────────────────────┐
│ 填写素材交付路径 │
├────────────────────────────────────────┤
│ │
│ 素材存储路径:* │
│ ┌──────────────────────────────────┐ │
│ │ \\server\design\2025-11\main-img│ │
│ └──────────────────────────────────┘ │
│ │
│ 路径类型: │
│ ● 共享盘路径 ○ 云盘链接 ○ 其他 │
│ │
│ 文件夹结构说明: │
│ ┌──────────────────────────────────┐ │
│ │ /源文件(PSD、AI等) │ │
│ │ /导出图(JPG、PNG等) │ │
│ │ /参考素材 │ │
│ └──────────────────────────────────┘ │
│ │
│ 补充说明: │
│ ┌──────────────────────────────────┐ │
│ │ 已按需求表格顺序命名,请查收 │ │
│ └──────────────────────────────────┘ │
│ │
│ 💡 提示: │
│ • 请确保路径可访问 │
│ • 建议使用共享盘或云盘链接 │
│ • 无需上传文件到系统 │
│ • 确保文件夹权限已设置 │
│ │
│ [取消] [确认提交] │
└────────────────────────────────────────┘
路径验证规则
- 必填项:至少填写一个有效路径
- 格式检查:UNC路径、HTTP链接等格式验证
- 长度限制:单个路径≤500字符
- 支持多行输入:可填写多个路径
2.3 任务发起表单设计
表单布局建议
┌─────────────────────────────────────┐
│ 发起任务需求 │
├─────────────────────────────────────┤
│ │
│ 团队积分余额:1,000 分 │
│ │
│ [必填] 需求类型: │
│ [下拉选择 ▼] → [+ 新增] │
│ 显示:单价50分/个,预估4小时 │
│ │
│ [必填] 数量: │
│ [___] 个 │
│ ✓ 需消耗:250分 │
│ ✓ 剩余:750分 │
│ ✓ 预估完成时间:20小时 │
│ │
│ [必填] 任务类型: │
│ ○ 新品 ○ 优化 ○ 改图 ○ 其它 │
│ │
│ [必填] 品牌: │
│ [下拉选择 ▼] │
│ │
│ [必填] 叶子类目: │
│ [级联选择 ▼] │
│ │
│ [必填] SPU信息: │
│ [多行文本框] │
│ 0/500 字 │
│ │
│ [必填] 平台: │
│ [多选下拉 ▼] │
│ │
│ [必填] 需求附件: │
│ [拖拽上传区域或点击上传] │
│ 已上传:design.psd (5.2MB) [×] │
│ │
│ [必填] 发布类型: │
│ ○ 指定任务 [选择设计师 ▼] │
│ ○ 招募任务(发布到任务大厅) │
│ ● 默认模式(由主管分配) │
│ │
│ 期望完成时间: │
│ [日期选择器] │
│ │
│ 备注说明: │
│ [文本框] │
│ │
│ [取消] [保存草稿] [提交] │
│ │
└─────────────────────────────────────┘
三、任务大厅模块
3.1 功能概述
任务大厅是招募任务的展示平台,设计师可以浏览、筛选和抢单。
3.2 任务卡片展示
卡片信息结构
┌──────────────────────────────────────┐
│ [主图设计] 🔥热门 │
│ ────────────────────────────────── │
│ 发布人:张三(产品部) │
│ 发布时间:2025-11-07 10:30 │
│ 任务类型:新品 │
│ 预估积分:250分 │
│ 任务时效:2天 │
│ ────────────────────────────────── │
│ 📦 品牌:Nike │
│ 📑 类目:服装 > 女装 > 连衣裙 │
│ 🏷️ SPU:夏季新款连衣裙系列 │
│ 🌐 平台:淘宝、天猫 │
│ ────────────────────────────────── │
│ 数量:5个 | 还剩:2个可抢 │
│ │
│ [查看详情] [立即抢单] │
└──────────────────────────────────────┘
任务状态标识
- 🔥 热门任务(抢单人数多)
- ⚡ 紧急任务(时效短)
- 💎 高分任务(积分高)
- 🆕 新发布任务(1小时内)
3.3 筛选和搜索功能
筛选条件
- 任务类型(新品/优化/改图/其它)
- 需求类型(下拉多选)
- 品牌(下拉多选)
- 类目(树形选择)
- 平台(多选)
- 积分范围(滑块)
- 时效范围(今天/3天内/一周内/自定义)
- 发布时间(今天/本周/本月/自定义)
搜索功能
- 关键词搜索(SPU信息、任务描述)
- 发布人搜索
排序方式
- 最新发布
- 积分最高
- 时效最短
- 最热门
3.4 抢单机制
抢单规则
-
资格校验
- 用户角色为设计师
- 账号状态正常
- 当前任务负荷未超限(可配置)
-
抢单冲突处理
- 并发控制:乐观锁/悲观锁
- 先到先得原则
- 数量限制(一个任务可被多人抢,每人抢部分数量)
-
抢单确认
- 显示任务详细信息
- 确认接收数量
- 填写预计完成时间
- 填写交付地址信息
抢单后流程
抢单成功 → 任务进入"我的任务" → 开始计时 → 设计师进度大厅更新
3.5 任务详情页
展示内容
- 任务基本信息(扩展版卡片信息)
- 需求附件下载
- 发布人联系方式
- 任务历史记录(如被抢单记录)
- 相关任务推荐
四、我的任务进度模块
4.1 功能概述
为发布人和接收人提供任务进度的可视化管理界面。
4.2 双视角设计
视角一:发布人视角
- 查看自己发起的所有任务
- 查看每个任务的接收人和进度
- 审核任务交付
- 评价任务完成情况
视角二:接收人视角
- 查看自己接收的所有任务
- 更新任务进度
- 提交任务交付
- 查看任务评价
4.3 任务卡片(增强版)
卡片信息结构
┌──────────────────────────────────────────┐
│ [主图设计] #T20251107001 │
│ ──────────────────────────────────── │
│ 发布人:张三 接收人:李四 │
│ 发布时间:11-07 10:30 开始:11-07 11:00│
│ 任务类型:新品 预期:11-09 │
│ 预估积分:250分 │
│ ──────────────────────────────────── │
│ 📦 品牌:Nike │
│ 📑 类目:服装 > 女装 > 连衣裙 │
│ 🏷️ SPU:夏季新款连衣裙系列 │
│ 🌐 平台:淘宝、天猫 │
│ ──────────────────────────────────── │
│ 进度:███████████░░░░░ 75% │
│ 状态:⚙️ 进行中 │
│ ──────────────────────────────────── │
│ [查看详情] [更新进度] [提交交付] │
│ ──────────────────────────────────── │
│ 💬 备注:需要增加模特图... │
└──────────────────────────────────────────┘
任务状态流转
待接收 → 进行中 → 待审核 → [审核通过 / 打回修改] → 已完成
| 状态 | 说明 | 可操作 |
|---|---|---|
| 待接收 | 已分配但未开始 | 接收人:接受/拒绝 |
| 进行中 | 设计师正在处理 | 接收人:更新进度、提交交付 |
| 待审核 | 已提交交付 | 发布人:审核通过、打回修改 |
| 打回修改 | 审核未通过 | 接收人:重新提交 |
| 已完成 | 审核通过 | 发布人:评价 |
| 已取消 | 任务取消 | - |
4.4 审核功能
审核通过
- 点击"审核通过"按钮
- 填写五星评价
- 质量评分(1-5星)
- 时效评分(1-5星)
- 沟通评分(1-5星)
- 综合评分(自动计算平均值)
- 评价内容(文字,可选)
- 确认提交
- 积分奖励发放给设计师
- 任务状态更新为"已完成"
评价维度建议
┌──────────────────────────┐
│ 任务完成评价 │
├──────────────────────────┤
│ 质量评分:★★★★★ │
│ 时效评分:★★★★☆ │
│ 沟通评分:★★★★★ │
│ ────────────────────── │
│ 综合评分:4.7分 │
│ ────────────────────── │
│ 评价内容: │
│ [文本框] │
│ 设计质量很高,符合要求... │
│ │
│ [取消] [提交] │
└──────────────────────────┘
打回修改
- 点击"打回修改"按钮
- 填写打回原因(必填)
- 上传标注图片(可选)
- 设置最晚交付时间(必填)
- 确认提交
- 发送通知给设计师
- 任务状态更新为"打回修改"
打回记录
- 记录每次打回的原因和时间
- 显示打回次数(过多可能影响评分)
- 保留完整的沟通记录
4.5 日历视图
功能描述 以日历的形式展示任务的时间线和进度,类似项目甘特图。
视图类型
- 月视图
- 周视图
- 日视图
展示元素
周一 周二 周三 周四 周五
┌─────┬─────┬─────┬─────┬─────┐
张三 │█████│█████│ │ │ │ 主图设计
│ │ │░░░░░│░░░░░│ │ 详情页优化
├─────┼─────┼─────┼─────┼─────┤
李四 │ │█████│█████│█████│ │ 视频剪辑
│ │ │ │░░░░░│░░░░░│ 新品设计
└─────┴─────┴─────┴─────┴─────┘
图例:
█ 任务执行时间
░ 任务预留时间
红色边框:延期任务
黄色标记:即将到期
交互功能
- 点击任务条查看详情
- 拖拽调整任务时间(主管权限)
- 悬浮显示任务摘要
- 筛选显示(按人员、状态、类型)
优化建议
- 添加时间轴缩放功能
- 支持导出PDF/图片
- 支持打印功能
- 与钉钉日历同步
4.6 任务详情抽屉/弹窗
详细信息展示
- 任务完整信息
- 附件下载
- 交付地址信息
- 进度更新记录
- 沟通留言板
- 操作日志
四之二、管理员任务调配模块
4.7 功能概述
管理员任务调配模块是系统的核心管理功能之一,允许管理员对系统中的任务进行灵活调配,包括对进行中的任务进行转移、重新分配,以及对任务池(任务大厅)中的招募任务进行管理和调配。这个功能可以有效应对突发情况、优化资源分配、平衡设计师工作负荷。
4.8 任务调配权限
权限要求
- 超级管理员:可以调配所有任务,无限制
- 管理员:可以调配指定部门或团队的任务
- 主管:只能调配自己团队内的任务(可选功能)
权限控制
调配权限 = 角色权限 + 部门权限 + 特殊授权
4.9 进行中任务调配
4.9.1 功能入口
调配面板位置
- 我的任务进度页面(管理员视图)
- 设计师进度大厅页面
- 任务详情页面(管理员权限可见)
展示方式
┌──────────────────────────────────────────┐
│ 进行中的任务管理 │
├──────────────────────────────────────────┤
│ 🔍 筛选:[部门▼] [设计师▼] [任务状态▼] │
│ [批量调配] [导出] │
├──────────────────────────────────────────┤
│ │
│ ☑ [进行中] #T20251107001 - 主图设计 │
│ 接收人:张三 | 进度:60% | 剩余:1天 │
│ 发布人:产品部-王经理 │
│ [查看详情] [转移任务] [调整优先级] │
│ ──────────────────────────────────── │
│ ☑ [进行中] #T20251107002 - 详情页优化 │
│ 接收人:李四 | 进度:30% | 剩余:3天 │
│ 发布人:市场部-刘总监 │
│ [查看详情] [转移任务] [调整优先级] │
│ ──────────────────────────────────── │
│ ☑ [延期] #T20251107003 - 视频剪辑 │
│ 接收人:王五 | 进度:45% | 已延期2天 │
│ 发布人:运营部-陈主管 │
│ [查看详情] [转移任务] [调整优先级] │
│ │
│ [1] 2 3 ... 10 │
└──────────────────────────────────────────┘
4.9.2 任务转移功能
转移场景
- 设计师请假/离职:紧急转移任务给其他设计师
- 负荷不均衡:从繁忙设计师转移任务给空闲设计师
- 技能匹配:转移给更擅长该类型的设计师
- 任务延期:转移给效率更高的设计师加急处理
- 质量问题:转移给经验更丰富的设计师
转移操作流程
步骤1:选择任务
支持单个转移和批量转移
- 单个:点击任务卡片的"转移任务"按钮
- 批量:勾选多个任务,点击"批量调配"
步骤2:填写转移信息
┌─────────────────────────────────────┐
│ 任务转移 │
├─────────────────────────────────────┤
│ 当前任务:#T20251107001 - 主图设计 │
│ 当前接收人:张三(UI设计师) │
│ 当前进度:60% │
│ ───────────────────────────────── │
│ [必填] 转移给: │
│ [选择设计师 ▼] │
│ 智能推荐: │
│ ✓ 李四(负荷:40%,评分4.8) │
│ ✓ 赵六(负荷:35%,评分4.7) │
│ │
│ [必填] 转移原因: │
│ ○ 原设计师请假/离职 │
│ ○ 负荷调整 │
│ ○ 技能不匹配 │
│ ○ 任务延期 │
│ ● 其他(请说明) │
│ │
│ 详细说明: │
│ ┌─────────────────────────────┐ │
│ │ [文本框] │ │
│ │ 张三因病请假,任务紧急... │ │
│ └─────────────────────────────┘ │
│ │
│ 是否保留原进度: │
│ ☑ 是(新接收人继续当前进度) │
│ ☐ 否(任务重置为0%,重新开始) │
│ │
│ 调整交付时间: │
│ 原定:2025-11-09 │
│ 新定:[日期选择器] │
│ │
│ 积分处理: │
│ ○ 按进度分配(张三60%,李四40%) │
│ ○ 全部给新接收人 │
│ ● 由管理员最终确定 │
│ │
│ 通知设置: │
│ ☑ 通知原接收人 │
│ ☑ 通知新接收人 │
│ ☑ 通知发布人 │
│ ☑ 通知主管 │
│ │
│ [取消] [确认转移] │
└─────────────────────────────────────┘
步骤3:系统处理
1. 权限校验(管理员权限验证)
2. 检查新接收人状态(是否在职、负荷是否过高)
3. 计算原设计师的延误情况和扣分
- 判断是否存在延误(当前时间 > 原定交付时间)
- 如果延误,计算延误天数/小时
- 根据系统扣分规则计算扣分值
- 记录延误数据到原设计师档案
- 执行积分扣除操作
- 标注"因任务转移扣分"
4. 重新计算任务时效
- 评估剩余工作量(根据当前进度)
- 计算新的预计完成时间
- 考虑新设计师的当前负荷
- 设置新的交付期限
5. 更新任务接收人信息
6. 记录转移日志(原因、操作人、时间、延误扣分情况)
7. 处理积分分配(按进度分配奖励积分,扣除延误扣分)
8. 发送通知给相关人员(包含延误扣分信息)
9. 更新任务状态和时间线
10. 在任务详情中显示转移记录和延误记录
步骤4:转移记录
任务操作历史:
────────────────────────────────────
2025-11-07 14:30 [任务转移]
操作人:管理员-陈经理
转移:张三 → 李四
原因:原设计师请假
进度保留:是(60%)
⚠️ 延误情况:
- 原定交付时间:2025-11-07 12:00
- 转移时间:2025-11-07 14:30
- 延误时长:2小时30分钟
- 扣分:-5分(按延误扣分规则)
- 延误记录已记入张三档案
积分处理:
- 张三获得进度积分:150分(60%)
- 张三延误扣分:-5分
- 张三实际获得:145分
- 李四将获得:100分(40%)
时效重新计算:
- 原定交付时间:2025-11-07 12:00(已延误)
- 剩余工作量:40%
- 预估需要时间:8小时
- 新交付时间:2025-11-08 10:00
- 新接收人:李四(当前负荷:40%)
说明:张三因病请假,任务紧急转移给李四继续完成
────────────────────────────────────
2025-11-07 10:00 [任务开始]
接收人:张三
原定交付时间:2025-11-07 12:00
────────────────────────────────────
4.9.3 延误扣分机制
延误判定标准
延误判定 = 当前时间 > 原定交付时间
延误分类:
- 轻微延误:< 2小时
- 一般延误:2-8小时
- 严重延误:8-24小时
- 重大延误:> 24小时
扣分规则(在系统配置中可调整)
| 延误程度 | 延误时长 | 扣分规则 | 示例 |
|---|---|---|---|
| 轻微延误 | < 2小时 | 每小时扣2分 | 延误1.5小时 → 扣3分 |
| 一般延误 | 2-8小时 | 每小时扣3分 | 延误5小时 → 扣15分 |
| 严重延误 | 8-24小时 | 每小时扣5分 | 延误10小时 → 扣50分 |
| 重大延误 | > 24小时 | 基础50分+每天10分 | 延误2天 → 扣70分 |
扣分计算公式
function calculateDelayPenalty(delayHours) {
if (delayHours < 0) return 0; // 未延误
if (delayHours < 2) {
// 轻微延误
return Math.ceil(delayHours * 2);
} else if (delayHours < 8) {
// 一般延误
return Math.ceil(delayHours * 3);
} else if (delayHours < 24) {
// 严重延误
return Math.ceil(delayHours * 5);
} else {
// 重大延误
const days = Math.floor(delayHours / 24);
return 50 + days * 10;
}
}
// 示例
延误2.5小时 → 扣分 = 2.5 × 3 = 8分
延误10小时 → 扣分 = 10 × 5 = 50分
延误48小时 → 扣分 = 50 + 2 × 10 = 70分
延误数据留存
设计师延误档案
张三 - 延误记录:
┌──────────────────────────────────────┐
│ 延误记录 #1 │
├──────────────────────────────────────┤
│ 任务:#T20251107001 - 主图设计 │
│ 原定交付:2025-11-07 12:00 │
│ 实际情况:任务转移时延误 │
│ 延误时长:2小时30分钟 │
│ 延误程度:一般延误 │
│ 扣分:-5分 │
│ 原因标注:因病请假导致任务转移 │
│ 进度完成:60% │
│ 记录时间:2025-11-07 14:30 │
│ 操作人:管理员-陈经理 │
└──────────────────────────────────────┘
影响统计:
- 本月延误次数:1次
- 本月延误扣分:-5分
- 延误率:4.2%(1/24)
- 影响平均评分:-0.1分
延误记录字段
- 任务ID和名称
- 原定交付时间
- 延误发生时间
- 延误时长(精确到分钟)
- 延误程度分类
- 扣分值
- 原因标注(任务转移/正常延误)
- 当时进度完成情况
- 是否因特殊原因(病假/事假等)
- 管理员备注
- 是否申诉
延误扣分通知
通知原设计师
┌─────────────────────────────────────┐
│ ⚠️ 延误扣分通知 │
├─────────────────────────────────────┤
│ 您的任务因延误产生扣分 │
│ │
│ 任务:#T20251107001 - 主图设计 │
│ 原定交付:2025-11-07 12:00 │
│ 转移时间:2025-11-07 14:30 │
│ 延误时长:2小时30分钟 │
│ │
│ 扣分详情: │
│ - 延误扣分:-5分 │
│ - 进度积分:+150分(60%完成) │
│ - 实际获得:+145分 │
│ │
│ 原因:因病请假导致任务转移 │
│ 备注:管理员已标注特殊原因 │
│ │
│ 您的延误记录: │
│ - 本月延误次数:1次 │
│ - 本月延误扣分:-5分 │
│ │
│ [查看详情] [申诉] │
└─────────────────────────────────────┘
延误申诉机制
设计师如果认为延误有正当理由,可以提出申诉:
- 填写申诉原因
- 上传证明材料(如病假条、邮件截图等)
- 提交给管理员审核
- 管理员审核通过后可撤销扣分或减少扣分
- 记录申诉历史
时效重新计算算法
function recalculateDeadline(task, newDesigner) {
// 1. 计算剩余工作量
const remainingWork = 1 - task.progress; // 40% = 0.4
// 2. 获取原始预估时长
const originalEstimatedHours = task.demandType.estimateTime; // 20小时
// 3. 计算剩余工作时长
const remainingHours = originalEstimatedHours * remainingWork; // 8小时
// 4. 考虑新设计师的熟练度系数(可选)
const proficiencyFactor = calculateProficiency(newDesigner, task.demandType);
// 0.8 = 很熟练,1.0 = 正常,1.2 = 不太熟练
// 5. 考虑新设计师的当前负荷
const workloadFactor = calculateWorkloadFactor(newDesigner.currentWorkload);
// 负荷高则需要更多时间
// 负荷<50%: 1.0, 50-70%: 1.1, 70-90%: 1.2, >90%: 1.3
// 6. 计算实际需要时间
const actualHours = remainingHours * proficiencyFactor * workloadFactor;
// 8 × 1.0 × 1.1 = 8.8小时
// 7. 计算新的交付时间(考虑工作日历)
const newDeadline = calculateWorkingDeadline(
new Date(), // 从现在开始
actualHours, // 需要的小时数
'9:00-18:00' // 工作时间
);
return {
newDeadline: newDeadline,
estimatedHours: actualHours,
proficiencyFactor: proficiencyFactor,
workloadFactor: workloadFactor,
reason: '任务转移,时效重新计算'
};
}
// 示例输出
{
newDeadline: '2025-11-08 10:00',
estimatedHours: 8.8,
proficiencyFactor: 1.0,
workloadFactor: 1.1,
reason: '任务转移,时效重新计算'
}
时效重新计算展示
┌─────────────────────────────────────┐
│ 时效重新计算 │
├─────────────────────────────────────┤
│ 原定交付时间:2025-11-07 12:00(已过)│
│ 当前时间:2025-11-07 14:30 │
│ 已延误:2小时30分钟 │
│ │
│ 剩余工作量:40% │
│ 预估工作时长:8小时 │
│ │
│ 新接收人:李四 │
│ - 熟练度系数:1.0(熟练) │
│ - 负荷系数:1.1(负荷适中) │
│ │
│ 实际需要时间:8.8小时 │
│ 新交付时间:2025-11-08 10:00 │
│ │
│ [确认] [调整] │
└─────────────────────────────────────┘
4.9.4 智能推荐算法
推荐设计师的评分算法
推荐分数 =
负荷权重 × (1 - 当前负荷率) × 30% +
技能权重 × 技能匹配度 × 25% +
评分权重 × 历史平均评分 × 20% +
效率权重 × 按时完成率 × 15% +
经验权重 × 同类型任务完成数 × 10%
按推荐分数降序排列,展示Top 5
推荐标签
- 🔥 最佳匹配:综合评分最高
- ⚡ 效率之选:历史效率最高
- 💎 质量保证:历史评分最高
- 🆓 空闲优先:当前负荷最低
- 🎯 经验丰富:同类型任务完成最多
4.9.4 批量转移
批量转移场景
- 设计师长期离职,转移所有在手任务
- 部门调整,批量转移任务归属
- 紧急情况,批量分散任务
批量操作界面
┌─────────────────────────────────────┐
│ 批量任务转移 (已选择 5 个任务) │
├─────────────────────────────────────┤
│ 任务列表: │
│ ☑ #T001 - 主图设计 (张三, 60%) │
│ ☑ #T002 - 详情页优化 (张三, 30%) │
│ ☑ #T005 - 视频剪辑 (张三, 45%) │
│ ☑ #T008 - 改图 (张三, 80%) │
│ ☑ #T012 - 新品设计 (张三, 15%) │
│ ───────────────────────────────── │
│ 转移策略: │
│ ○ 统一转移给单人 │
│ ● 智能分配给多人(推荐) │
│ ○ 手动指定每个任务的接收人 │
│ │
│ 智能分配预览: │
│ 李四:接收2个任务 (#T001, #T002) │
│ 王五:接收2个任务 (#T005, #T008) │
│ 赵六:接收1个任务 (#T012) │
│ │
│ 转移原因:[必填] │
│ 积分处理:[选择策略] │
│ 通知设置:[勾选] │
│ │
│ [取消] [执行转移] │
└─────────────────────────────────────┘
4.9.5 任务优先级调整
优先级管理
优先级级别:
P0 - 特急(红色):需立即处理,1天内完成
P1 - 紧急(橙色):优先处理,3天内完成
P2 - 普通(蓝色):正常处理,1周内完成
P3 - 低优(灰色):可延后处理,2周内完成
优先级调整界面
┌───────────────────────────────┐
│ 调整任务优先级 │
├───────────────────────────────┤
│ 任务:#T20251107001 │
│ 标题:主图设计 │
│ 当前优先级:P2 (普通) │
│ ─────────────────────────── │
│ 调整为: │
│ ○ P0 - 特急 │
│ ● P1 - 紧急 │
│ ○ P2 - 普通 │
│ ○ P3 - 低优 │
│ │
│ 调整原因:[必填] │
│ ┌─────────────────────────┐ │
│ │ 客户要求提前上线... │ │
│ └─────────────────────────┘ │
│ │
│ 是否通知接收人: │
│ ☑ 站内消息 │
│ ☑ 钉钉推送 │
│ ☑ 短信提醒(紧急时) │
│ │
│ [取消] [确认] │
└───────────────────────────────┘
4.10 任务池(任务大厅)调配
4.10.1 功能概述
管理员可以对任务大厅中的招募任务进行管理,包括:
- 查看所有招募任务的状态
- 指定接收人(将招募任务转为指定任务)
- 撤回任务到待分配池
- 调整任务信息
- 关闭/取消任务
4.10.2 任务池管理界面
管理入口
任务大厅 → 管理员视图(切换按钮)
界面布局
┌──────────────────────────────────────────┐
│ 任务池管理(管理员) │
├──────────────────────────────────────────┤
│ 📊 统计: │
│ 招募中:23个 | 无人抢单:5个 | 今日新增:8个 │
│ ──────────────────────────────────── │
│ 🔍 筛选:[状态▼] [部门▼] [发布时间▼] │
│ [高级筛选] [批量操作▼] [刷新] │
│ ──────────────────────────────────── │
│ │
│ ┌────────────────────────────────────┐ │
│ │ 🔥 [招募中] #T20251107010 │ │
│ │ 主图设计 | 250分 | 2天 │ │
│ │ 发布人:产品部-王经理 │ │
│ │ 发布时间:2小时前 │ │
│ │ 浏览:15次 | 收藏:3人 | 抢单:0人│ │
│ │ ⚠️ 提示:发布2小时无人抢单 │ │
│ │ │ │
│ │ [查看详情] [指定接收人] [撤回] │ │
│ │ [调整] [推广] [关闭] │ │
│ └────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────┐ │
│ │ ✅ [已抢单] #T20251107011 │ │
│ │ 详情页优化 | 200分 | 1天 │ │
│ │ 发布人:市场部-刘总监 │ │
│ │ 接收人:李四 │ │
│ │ 抢单时间:30分钟前 │ │
│ │ │ │
│ │ [查看详情] [转移] [调整] │ │
│ └────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────┘
4.10.3 指定接收人功能
使用场景
- 招募任务长时间无人抢单
- 任务紧急需要快速分配
- 特定任务需要特定设计师处理
操作流程
┌─────────────────────────────────────┐
│ 为任务指定接收人 │
├─────────────────────────────────────┤
│ 任务:#T20251107010 - 主图设计 │
│ 当前状态:招募中(无人抢单) │
│ 发布时间:2小时前 │
│ ───────────────────────────────── │
│ 选择接收人: │
│ [搜索设计师] │
│ │
│ 智能推荐: │
│ ┌─────────────────────────────┐ │
│ │ ○ 李四 🔥 最佳匹配 │ │
│ │ UI设计师 | 负荷40% | 评分4.8 │ │
│ │ 同类型完成:28个 │ │
│ ├─────────────────────────────┤ │
│ │ ● 王五 ⚡ 效率之选 │ │
│ │ 视觉设计师 | 负荷35% | 评分4.6│ │
│ │ 同类型完成:22个 │ │
│ ├─────────────────────────────┤ │
│ │ ○ 赵六 🆓 空闲优先 │ │
│ │ UI设计师 | 负荷20% | 评分4.7 │ │
│ │ 同类型完成:15个 │ │
│ └─────────────────────────────┘ │
│ │
│ 指定原因: │
│ ○ 任务紧急 │
│ ● 长时间无人抢单 │
│ ○ 需要特定设计师 │
│ ○ 其他 │
│ │
│ 说明:[选填] │
│ ┌─────────────────────────────┐ │
│ │ 任务已发布2小时无人抢单... │ │
│ └─────────────────────────────┘ │
│ │
│ 是否通知: │
│ ☑ 接收人(钉钉+站内) │
│ ☑ 发布人(站内) │
│ │
│ 备注:指定后任务状态将变为"进行中" │
│ │
│ [取消] [确认指定] │
└─────────────────────────────────────┘
4.10.4 任务撤回功能
撤回场景
- 任务信息有误需要修改
- 任务需求变更
- 任务取消或暂停
- 重新评估任务优先级
撤回操作
┌───────────────────────────────┐
│ 撤回任务 │
├───────────────────────────────┤
│ 任务:#T20251107010 │
│ 当前状态:招募中 │
│ ─────────────────────────── │
│ 撤回后状态: │
│ ● 待分配(进入主管待办) │
│ ○ 草稿箱(暂时保存) │
│ ○ 取消任务(积分退回) │
│ │
│ 撤回原因:[必填] │
│ ┌─────────────────────────┐ │
│ │ 任务信息需要修改... │ │
│ └─────────────────────────┘ │
│ │
│ 积分处理: │
│ ☑ 退回到发布人团队积分池 │
│ │
│ 通知设置: │
│ ☑ 通知发布人 │
│ ☑ 通知关注的设计师 │
│ │
│ [取消] [确认撤回] │
└───────────────────────────────┘
4.10.5 任务推广功能
推广场景
- 重要任务长时间无人接单
- 紧急任务需要快速响应
- 高分任务需要更多曝光
推广方式
┌───────────────────────────────┐
│ 任务推广 │
├───────────────────────────────┤
│ 任务:#T20251107010 │
│ ─────────────────────────── │
│ 推广方式: │
│ ☑ 置顶显示(任务大厅顶部) │
│ ☑ 标记为热门任务 │
│ ☑ 钉钉群发通知 │
│ ☑ 站内消息推送(全体设计师)│
│ ☐ 短信通知(谨慎使用) │
│ │
│ 置顶时长: │
│ ○ 1小时 ● 3小时 ○ 6小时 │
│ ○ 12小时 ○ 24小时 │
│ │
│ 推广理由: │
│ ┌─────────────────────────┐ │
│ │ 紧急任务,需尽快接单... │ │
│ └─────────────────────────┘ │
│ │
│ [取消] [开始推广] │
└───────────────────────────────┘
4.10.6 批量调配任务池
批量操作
支持的批量操作:
- 批量指定接收人(选择多个任务,分配给不同设计师)
- 批量撤回(将多个任务从大厅撤回)
- 批量调整优先级
- 批量推广
- 批量关闭/取消
批量指定界面
┌─────────────────────────────────────┐
│ 批量指定接收人 (已选择 3 个任务) │
├─────────────────────────────────────┤
│ 任务列表: │
│ ☑ #T010 - 主图设计 (250分, 2天) │
│ ☑ #T011 - 详情页优化 (200分, 1天) │
│ ☑ #T015 - 视频剪辑 (150分, 1天) │
│ ───────────────────────────────── │
│ 分配策略: │
│ ○ 统一分配给单人 │
│ ● 智能分配(根据技能和负荷) │
│ ○ 手动指定每个任务 │
│ │
│ 智能分配预览: │
│ ┌─────────────────────────────┐ │
│ │ #T010 → 李四 │ │
│ │ 匹配度:95% | 当前负荷:40% │ │
│ ├─────────────────────────────┤ │
│ │ #T011 → 王五 │ │
│ │ 匹配度:88% | 当前负荷:35% │ │
│ ├─────────────────────────────┤ │
│ │ #T015 → 赵六 │ │
│ │ 匹配度:92% | 当前负荷:30% │ │
│ └─────────────────────────────┘ │
│ │
│ [调整分配] [取消] [确认批量指定] │
└─────────────────────────────────────┘
4.11 调配监控与统计
4.11.1 调配日志
完整记录
所有调配操作都会记录详细日志:
- 操作时间
- 操作人
- 操作类型(转移/指定/撤回/调整等)
- 任务信息
- 变更详情(从谁到谁)
- 操作原因
- 处理结果
日志查询界面
┌──────────────────────────────────────────┐
│ 任务调配日志 │
├──────────────────────────────────────────┤
│ 🔍 [时间范围▼] [操作人▼] [操作类型▼] │
│ [任务编号] [搜索] │
│ ──────────────────────────────────── │
│ 2025-11-07 14:30:25 │
│ [任务转移] 管理员-陈经理 │
│ #T20251107001 - 主图设计 │
│ 张三 → 李四 │
│ 原因:原设计师请假 │
│ 积分处理:按进度分配(60%:40%) │
│ [查看详情] │
│ ──────────────────────────────────── │
│ 2025-11-07 13:15:10 │
│ [指定接收人] 管理员-陈经理 │
│ #T20251107010 - 主图设计 │
│ 招募中 → 李四 │
│ 原因:长时间无人抢单 │
│ [查看详情] │
│ ──────────────────────────────────── │
└──────────────────────────────────────────┘
4.11.2 调配统计
统计维度
管理员工作台 - 任务调配统计
本月调配概况:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 调配次数 │ │ 转移任务 │ │ 指定任务 │
│ 156次 │ │ 89个 │ │ 67个 │
│ ↑ 较上月+12│ │ ↑ 较上月+8 │ │ ↑ 较上月+4 │
└─────────────┘ └─────────────┘ └─────────────┘
调配原因分布(饼图):
- 负荷调整:35%
- 设计师请假/离职:25%
- 任务延期:20%
- 技能不匹配:12%
- 无人抢单:8%
调配效果分析:
- 调配后按时完成率:94.5%
- 调配后平均评分:4.7⭐
- 调配后延误率:5.5%
4.12 调配权限审计
审计功能
系统自动审计调配操作:
1. 记录所有调配行为
2. 监控异常调配(如频繁转移同一任务)
3. 权限使用统计
4. 定期生成审计报告
5. 支持审计日志导出
异常告警
触发告警的场景:
- 同一任务被转移超过3次
- 管理员单日调配超过50次
- 非授权调配尝试
- 批量调配超过20个任务
- 积分异常变动
4.13 移动端调配支持
移动端功能
管理员可在钉钉工作台或移动App进行:
✓ 查看待调配任务列表
✓ 快速转移任务
✓ 指定接收人
✓ 调整优先级
✓ 接收调配提醒
✓ 审批调配申请(可选流程)
五、设计师进度大厅模块
5.1 功能概述
为管理层提供全局视角,实时查看所有设计师的工作状态、负荷和绩效。
5.2 设计师看板
看板布局
┌────────────────────────────────────────────────┐
│ 🔍 筛选:[部门▼] [在职状态▼] [排序:积分▼] │
├────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 👤 张三 │ │ 👤 李四 │ │ 👤 王五 │ │
│ │ UI设计师 │ │ 视觉设计师│ │ 视频剪辑师│ │
│ ├──────────┤ ├──────────┤ ├──────────┤ │
│ │📊 负荷:●●│ │📊 负荷:●●│ │📊 负荷:●○│ │
│ │ ●●●○○ │ │ ●●○○○ │ │ ●○○○○ │ │
│ │ │ │ │ │ │ │
│ │⚙️ 进行中:│ │⚙️ 进行中:│ │⚙️ 进行中:│ │
│ │ 3个 │ │ 2个 │ │ 1个 │ │
│ │ │ │ │ │ │ │
│ │📅 排队: │ │📅 排队: │ │📅 排队: │ │
│ │ 2个 │ │ 1个 │ │ 0个 │ │
│ │ │ │ │ │ │ │
│ │💎 累计积分│ │💎 累计积分│ │💎 累计积分│ │
│ │ 1,250 │ │ 980 │ │ 650 │ │
│ │ │ │ │ │ │ │
│ │⭐ 平均评分│ │⭐ 平均评分│ │⭐ 平均评分│ │
│ │ 4.8⭐ │ │ 4.5⭐ │ │ 4.9⭐ │ │
│ │ │ │ │ │ │ │
│ │⚠️ 延误: │ │⚠️ 延误: │ │⚠️ 延误: │ │
│ │ 0次 │ │ 1次 │ │ 0次 │ │
│ │ │ │ │ │ │ │
│ │✅ 完成: │ │✅ 完成: │ │✅ 完成: │ │
│ │ 25个 │ │ 18个 │ │ 12个 │ │
│ │ │ │ │ │ │ │
│ │[查看详情]│ │[查看详情]│ │[查看详情]│ │
│ └──────────┘ └──────────┘ └──────────┘ │
└────────────────────────────────────────────────┘
卡片信息项
| 指标 | 说明 |
|---|---|
| 负荷状态 | 用圆点数量表示当前任务饱和度 |
| 进行中任务 | 当前正在执行的任务数量 |
| 排队任务 | 已接收但未开始的任务数量 |
| 累计积分 | 本月/本季度/累计获得的积分 |
| 平均评分 | 历史任务的平均评分 |
| 延误次数 | 本月/累计延误交付的次数 |
| 完成数量 | 本月/累计完成的任务数量 |
负荷状态算法
负荷值 = (进行中任务数 × 1.5 + 排队任务数) / 设计师容量
负荷等级:
- 0-2分:空闲(○○○○○)
- 3-4分:轻度(●○○○○)
- 5-6分:适中(●●○○○)
- 7-8分:繁忙(●●●○○)
- 9-10分:饱和(●●●●○)
- 10+分:超负荷(●●●●●)红色警告
5.3 激励提示系统
5.3.1 功能概述
通过实时排名、成就系统、目标追踪等多种激励手段,激发设计师的工作积极性和竞争意识,营造良性竞争氛围。
5.3.2 实时排名提示
个人排名卡片
┌─────────────────────────────────────┐
│ 🏆 您的实时排名 │
├─────────────────────────────────────┤
│ 本月积分排名:#3 / 28 │
│ ▲ 较上月上升 2 名 │
│ │
│ 💪 再完成 2 个任务即可超越李四! │
│ (当前:980分,李四:1,050分) │
│ │
│ 🎯 本月目标:进入前 3 名 │
│ 进度:██████░░░░ 60% │
│ 还差:150 分 │
│ │
│ [查看详细排名] [设定新目标] │
└─────────────────────────────────────┘
排名变化实时提醒
📢 排名变动通知:
"恭喜!您在本月积分榜上升至第3名,超越了赵六!继续加油💪"
📢 被超越提醒:
"王五刚刚超过了你,当前排名第4。只差50分就能反超!🔥"
📢 接近目标提醒:
"距离您的目标(前3名)只差150分了,加油!还剩15天⏰"
5.3.3 成就勋章系统
成就类别
| 成就类型 | 成就名称 | 获得条件 | 奖励 |
|---|---|---|---|
| 数量类 | 🥉 百战老兵 | 累计完成100个任务 | +100积分 |
| 数量类 | 🥈 千锤百炼 | 累计完成500个任务 | +500积分 |
| 数量类 | 🥇 万事通 | 累计完成1000个任务 | +1000积分 |
| 质量类 | ⭐ 完美主义 | 连续10个5星好评 | +200积分 |
| 质量类 | 💎 品质保证 | 月均评分≥4.8分 | +150积分 |
| 质量类 | 👑 质量之王 | 季度评分第一 | +500积分 |
| 效率类 | ⚡ 闪电侠 | 单日完成5个任务 | +50积分 |
| 效率类 | 🚀 极速传说 | 连续7天按时交付 | +200积分 |
| 效率类 | ⏰ 守时达人 | 连续30天零延误 | +500积分 |
| 特殊类 | 🌟 新星 | 新人首月完成20个 | +100积分 |
| 特殊类 | 🔥 月度之星 | 月度积分第一 | +300积分 |
| 特殊类 | 🎖️ 全能战士 | 完成所有类型任务 | +200积分 |
成就展示
┌─────────────────────────────────────┐
│ 🏅 我的成就勋章 │
├─────────────────────────────────────┤
│ 已获得:8个 | 总积分奖励:1,500 │
│ ───────────────────────────────── │
│ │
│ ✨ 最新获得 │
│ 🥉 百战老兵 │
│ 2025-11-07 获得 │
│ 完成第100个任务! │
│ │
│ 📋 我的勋章墙 │
│ 🥇🥈🥉 ⭐💎 ⚡🚀⏰ 🌟🔥🎖️ │
│ 已解锁:●●●●●●●● ○○○○ │
│ │
│ 🎯 即将获得(还差一点) │
│ ⏰ 守时达人 │
│ 连续按时交付:21/30天 │
│ ███████░░░ 70% │
│ │
│ 💎 品质保证 │
│ 月均评分:4.75/4.8分 │
│ ████████░░ 80% │
│ │
│ [查看全部成就] [成就排行榜] │
└─────────────────────────────────────┘
成就获得通知
🎉 恭喜!您获得新成就!
┌─────────────────────────────────────┐
│ 🥉 百战老兵 │
│ │
│ 您已累计完成 100 个任务! │
│ │
│ 奖励积分:+100 分 │
│ 获得时间:2025-11-07 │
│ │
│ "每一次交付都是成长的印记" │
│ │
│ [分享成就] [继续努力] │
└─────────────────────────────────────┘
5.3.4 里程碑提醒
个人里程碑
📍 里程碑提醒:
✅ 已达成
• 本月完成第10个任务 🎯
• 本月获得500积分 💎
• 连续7天按时交付 ⚡
🎯 即将达成
• 本月完成20个任务(当前:18个)
还差:2个 | 预计:2天后达成
• 本月获得1000积分(当前:980分)
还差:20分 | 下个任务即可达成
• 累计完成100个任务(当前:98个)
还差:2个 | 历史性时刻即将到来!
💪 挑战目标
• 本月进入积分榜前3(当前:第4)
还差:70分 | 完成1个大任务即可
• 月均评分达到4.8⭐(当前:4.75⭐)
需要:接下来3个任务都拿5星
5.3.5 积分冲刺提示
月末冲刺
┌─────────────────────────────────────┐
│ 🔥 本月积分冲刺 │
├─────────────────────────────────────┤
│ 距离月底还有:5天 │
│ ───────────────────────────────── │
│ │
│ 您当前排名:#4 │
│ 本月积分:980 分 │
│ │
│ 🎯 冲刺目标:进入前3名 │
│ 需要超越:李四(1,050分) │
│ 还需积分:70+ 分 │
│ │
│ 💪 冲刺方案建议: │
│ • 接1个详情页任务(200分)✅ │
│ • 或接2个主图任务(100分)✅ │
│ • 或接3个改图任务(90分)✅ │
│ │
│ 📊 成功率预测:78% │
│ (基于您的历史效率和剩余时间) │
│ │
│ [查看可接任务] [设定提醒] │
└─────────────────────────────────────┘
周冲刺提醒
📢 周冲刺提醒:
"本周还剩2天,再完成1个任务即可达成本周目标(5个任务)!
任务大厅有3个适合您的主图设计任务,快去抢单吧!🚀"
5.3.6 同事对比(友好竞争)
与同事对比卡片
┌─────────────────────────────────────┐
│ 📊 与同事对比 │
├─────────────────────────────────────┤
│ 对比对象:李四(同部门/同职级) │
│ ───────────────────────────────── │
│ │
│ 本月任务完成数: │
│ 你:18个 ████████░░ 90% │
│ 他:20个 ██████████ 100% │
│ 差距:-2个 │
│ │
│ 本月积分: │
│ 你:980分 ████████░░ 93% │
│ 他:1,050分 ██████████ 100% │
│ 差距:-70分 │
│ │
│ 平均评分: │
│ 你:4.75⭐ █████████░ 95% │
│ 他:4.8⭐ ██████████ 100% │
│ 差距:-0.05⭐ │
│ │
│ 按时完成率: │
│ 你:95% ██████████░ 95% │
│ 他:92% █████████░░ 92% │
│ 领先:+3% 💪 │
│ │
│ 💡 超越建议: │
│ "再完成2个任务并保持5星好评, │
│ 本月你将在综合排名上超越李四!" │
│ │
│ [换个对比对象] [查看详细数据] │
└─────────────────────────────────────┘
5.3.7 每日激励卡片
每日签到激励
┌─────────────────────────────────────┐
│ 🌅 早安,张三! │
├─────────────────────────────────────┤
│ 今天是 2025-11-07 周四 │
│ ───────────────────────────────── │
│ │
│ 📅 连续签到:21天 🔥 │
│ 本月签到:21/30天 │
│ (连续签到30天可获得勋章+50积分) │
│ │
│ 📋 今日待办: │
│ • 主图设计 #T001(截止今天18:00)⚠️ │
│ • 详情页优化 #T015(截止明天) │
│ • 改图 #T028(排队中) │
│ │
│ 🎯 今日目标建议: │
│ • 完成1个任务(当前进度:2/5) │
│ • 保持5星好评(连续5星:4个) │
│ • 按时交付(连续按时:21天) │
│ │
│ 💪 加油语录: │
│ "每一次精心设计,都是向卓越迈进!" │
│ │
│ [开始工作] [查看任务] │
└─────────────────────────────────────┘
5.3.8 即时激励弹窗
完成任务时
✨ 任务完成!
┌─────────────────────────────────────┐
│ 🎉 恭喜完成任务! │
├─────────────────────────────────────┤
│ 任务:主图设计 #T001 │
│ 用时:1.5天(提前0.5天)✅ │
│ ───────────────────────────────── │
│ │
│ 获得积分:+50分 💎 │
│ 累计积分:1,030分 │
│ ───────────────────────────────── │
│ │
│ 📊 排名变化 │
│ 本月积分排名:#4 → #3 ▲ │
│ 超越了:李四 │
│ │
│ 🎯 里程碑 │
│ • 本月第19个任务 ✅ │
│ • 连续22天按时交付 🔥 │
│ • 距离"守时达人"勋章还差8天 │
│ │
│ 💪 激励 │
│ "太棒了!你的速度快人一步!" │
│ "继续保持,月度之星就是你!" │
│ │
│ [分享成果] [接下一个任务] │
└─────────────────────────────────────┘
获得好评时
⭐ 获得5星好评!
┌─────────────────────────────────────┐
│ 🌟 客户给了你5星好评! │
├─────────────────────────────────────┤
│ 任务:详情页优化 #T015 │
│ 评价:"设计质量非常高,超出预期!" │
│ ───────────────────────────────── │
│ │
│ 📊 评分统计 │
│ • 连续5星好评:5个 🔥 │
│ • 本月平均评分:4.8⭐ │
│ • 好评榜排名:#2 ▲ │
│ │
│ 🎯 成就进度 │
│ • "完美主义"勋章:5/10 个5星 │
│ █████░░░░░ 50% │
│ │
│ 💡 提示 │
│ 再获得5个5星好评即可解锁"完美主义" │
│ 勋章,奖励200积分! │
│ │
│ [查看评价详情] │
└─────────────────────────────────────┘
5.3.9 竞赛活动提示
月度竞赛
┌─────────────────────────────────────┐
│ 🏆 本月竞赛活动 │
├─────────────────────────────────────┤
│ 活动主题:"设计马拉松" │
│ 时间:11月1日-11月30日 │
│ ───────────────────────────────── │
│ │
│ 🎯 竞赛规则 │
│ • 完成任务数量排名 │
│ • 平均评分≥4.5分 │
│ • 零延误记录 │
│ │
│ 🏅 奖励设置 │
│ 🥇 第一名:2000积分 + 荣誉证书 │
│ 🥈 第二名:1500积分 │
│ 🥉 第三名:1000积分 │
│ 🎖️ 4-10名:500积分 │
│ │
│ 📊 您的当前排名:#5 │
│ 完成任务:18个 │
│ 平均评分:4.75⭐ │
│ 距离前3名:2个任务的差距 │
│ │
│ 💪 冲刺建议 │
│ "距离活动结束还有5天,加油冲刺!" │
│ "再完成3个高质量任务,进前3有望!" │
│ │
│ [查看排行榜] [活动规则] │
└─────────────────────────────────────┘
5.3.10 团队PK提示
部门团队PK
┌─────────────────────────────────────┐
│ ⚔️ 部门PK战 │
├─────────────────────────────────────┤
│ 设计部 UI组 vs 视觉组 │
│ ───────────────────────────────── │
│ │
│ 📊 实时战况 │
│ UI组: │
│ • 完成任务:45个 ████████░░ 82% │
│ • 团队积分:2,250分 │
│ • 平均评分:4.7⭐ │
│ │
│ 视觉组: │
│ • 完成任务:55个 ██████████ 100% │
│ • 团队积分:2,750分 │
│ • 平均评分:4.8⭐ │
│ │
│ 📈 差距分析 │
│ • 任务数:落后10个 │
│ • 积分:落后500分 │
│ • 每人需完成:2个任务 │
│ │
│ 💪 团队激励 │
│ "UI组加油!我们能行!" │
│ "张三、李四刚刚各完成1个任务!" │
│ "王五正在冲刺,距离完成还有2小时!" │
│ │
│ 🎁 获胜奖励 │
│ • 团队成员各+300积分 │
│ • 团队荣誉墙展示 │
│ • 团队聚餐基金 │
│ │
│ [为团队加油] [查看详情] │
└─────────────────────────────────────┘
5.3.11 智能提醒和建议
任务推荐
💡 智能推荐
基于你的历史表现,以下任务很适合你:
┌─────────────────────────────────────┐
│ 🎯 推荐任务 #T088 │
│ 类型:主图设计 │
│ 积分:50分 | 时效:1天 │
│ ───────────────────────────────── │
│ 推荐原因: │
│ ✓ 你在该类型任务上平均用时0.8天 │
│ ✓ 该类型任务的平均评分4.9⭐ │
│ ✓ 完成后可超越李四,升至第3名! │
│ ✓ 客户是你的老客户(5次合作) │
│ │
│ 预期收益: │
│ • 积分:+50分 │
│ • 排名:#4 → #3 │
│ • 里程碑:本月第20个任务达成 │
│ │
│ 成功率预测:95% 💪 │
│ │
│ [立即抢单] [查看详情] │
└─────────────────────────────────────┘
休息提醒
⏰ 适度休息提醒
张三,你今天已经连续工作5小时了,
完成了3个任务,表现非常出色!👍
建议休息15-20分钟,劳逸结合效率更高!
你的今日工作数据:
• 完成任务:3个 ✅
• 获得积分:150分 💎
• 工作时长:5小时
• 效率评分:优秀 ⭐
"休息是为了走更远的路" 😊
[休息一下] [继续工作]
5.3.12 可视化激励看板
个人激励看板
┌─────────────────────────────────────────────────┐
│ ✨ 我的激励看板 │
├─────────────────────────────────────────────────┤
│ │
│ 🏆 本月成就 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 积分排名 │ │ 完成任务 │ │ 好评数 │ │
│ │ #3 │ │ 18个 │ │ 15个 │ │
│ │ ▲ +2 │ │ ▲ +5 │ │ ▲ +3 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ 📈 趋势曲线(近30天) │
│ 积分 │ ╱ │
│ 1000│ ╱ │
│ 800│╱ │
│ 600└───────────────── │
│ 1周 2周 3周 4周 │
│ │
│ 🎯 目标进度 │
│ 月度目标:1200积分 │
│ 当前进度:980分 ████████░░ 82% │
│ 还需:220分(预计3天可达成) │
│ │
│ 🔥 连续记录 │
│ • 连续签到:21天 🔥🔥🔥 │
│ • 连续按时:22天 ⚡⚡⚡ │
│ • 连续5星:5个 ⭐⭐⭐ │
│ │
│ 💎 本月收获 │
│ • 获得积分:980分 │
│ • 解锁成就:2个 │
│ • 获得好评:15个 │
│ • 被感谢:8次 │
│ │
└─────────────────────────────────────────────────┘
5.4 实时进度跟踪
甘特图视图
- 横轴:时间线(按天/周显示)
- 纵轴:设计师列表
- 任务条:显示任务名称、进度、状态
- 颜色标识:
- 绿色:正常进行
- 黄色:即将到期
- 红色:已延期
- 灰色:已完成
时间线视图示例
设计师 11/7 11/8 11/9 11/10 11/11
────────────────────────────────────────────
张三 [████主图设计█████]
[░░░░详情页░░░░░░░░░░░░]
────────────────────────────────────────────
李四 [██████视频剪辑████]
[░新品░░░]
────────────────────────────────────────────
王五 [█改图█]
[░░░░░优化设计░░░░░░░]
5.4 数据分析看板
5.4.1 总览卡片
设计师团队总览
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 👥 团队人数 │ │ 📊 总任务量 │ │ ✅ 完成率 │
│ │ │ │ │ │
│ 28人 │ │ 156个 │ │ 92.3% │
│ │ │ │ │ │
│ ↑ 较上月+2 │ │ ↑ 较上月+8 │ │ ↓ 较上月-1%│
└─────────────┘ └─────────────┘ └─────────────┘
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ ⭐ 平均评分 │ │ ⚠️ 延误率 │ │ 💎 总积分 │
│ │ │ │ │ │
│ 4.6 ⭐ │ │ 5.2% │ │ 28,500 │
│ │ │ │ │ │
│ ↑ 较上月+0.2│ │ ↓ 较上月-2%│ │ ↑ 较上月+3K│
└─────────────┘ └─────────────┘ └─────────────┘
5.4.2 多维度分析图表
A. 任务完成趋势图(折线图)
- X轴:时间(周/月)
- Y轴:任务数量
- 多条线:发起、完成、延误
B. 需求类型分布(饼图)
- 各类型需求占比
- 点击可查看详细数据
C. 设计师积分排名(柱状图)
- 显示Top 20
- 对比上月排名变化
D. 任务时效分析(雷达图)
- 多维度:质量、时效、沟通、复用率、创新度
E. 品牌/类目热力图
- 哪些品牌/类目的任务最多
- 用于资源分配参考
F. 设计师负荷热力图
- 日历视图
- 颜色深浅代表负荷程度
5.4.3 排行榜
好评榜(五星好评榜)
排名 设计师 五星数 平均评分 完成任务数
─────────────────────────────────────────
🥇 张三 45 4.9⭐ 48
🥈 王五 38 4.8⭐ 42
🥉 李四 35 4.7⭐ 45
4 赵六 32 4.6⭐ 40
5 孙七 30 4.7⭐ 38
积分榜
排名 设计师 本月积分 累计积分 环比增长
─────────────────────────────────────────
🥇 李四 1,250 12,500 ↑15%
🥈 张三 1,180 15,200 ↑8%
🥉 王五 980 9,800 ↑12%
效率榜(按时完成率)
排名 设计师 完成任务 按时完成 按时率
─────────────────────────────────────────
🥇 王五 42 42 100%
🥈 张三 48 47 97.9%
🥉 李四 45 43 95.6%
勤奋榜(任务数量)
排名 设计师 本月完成 累计完成 月均完成
─────────────────────────────────────────
🥇 张三 48 520 43
🥈 李四 45 480 40
🥉 王五 42 450 38
5.4.4 高级筛选
筛选维度
- 时间范围:本周/本月/本季度/本年/自定义
- 部门/团队
- 设计师
- 任务类型
- 需求类型
- 品牌
- 状态
导出功能
- 导出Excel报表
- 导出PDF报告
- 定时邮件推送(周报/月报)
五之二、需求统计展板模块
5.5 功能概述
需求统计展板为管理层和各部门提供全局的需求发起数据分析,通过用户维度和部门维度的多角度统计,帮助了解需求分布、消耗趋势和团队协作情况。
5.6 统计展板首页
整体布局
┌──────────────────────────────────────────────────┐
│ 需求统计展板 │
├──────────────────────────────────────────────────┤
│ 筛选:[本月▼] [全部部门▼] [导出报表] │
│ ────────────────────────────────────────────── │
│ │
│ 📊 总览数据卡片 │
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │发起总数 │ │消耗积分 │ │完成率 │ │平均时效 │ │
│ │ 256个 │ │ 12,500 │ │ 92.3% │ │ 1.8天 │ │
│ │↑ +15% │ │↑ +8% │ │↓ -1.2% │ │↓ -0.3天│ │
│ └────────┘ └────────┘ └────────┘ └────────┘ │
│ │
│ ────────────────────────────────────────────── │
│ [部门维度] [用户维度] [趋势分析] [类型分析] │
│ ────────────────────────────────────────────── │
│ │
│ (下方显示对应的统计内容) │
│ │
└──────────────────────────────────────────────────┘
5.7 部门维度统计
部门积分余额消耗提醒看板
┌──────────────────────────────────────────────────┐
│ 💰 部门积分消耗月报(激励消耗) │
├──────────────────────────────────────────────────┤
│ 当前月份:2025年11月 | 剩余天数:⏰ 5天 │
│ ────────────────────────────────────────────── │
│ │
│ 🔥 消耗提醒:月底将至,抓紧消耗您的积分额度! │
│ │
│ ┌─────────────────────────────────────────┐ │
│ │ 产品部 - 负责人:张三 │ │
│ │ ───────────────────────────────────── │ │
│ │ 月度积分池:10,000 分 │ │
│ │ 已使用:4,250 分(42.5%) │ │
│ │ 剩余可用:5,750 分(57.5%) │ │
│ │ ▓▓▓▓▓▓▓▓░░░░░░░░░░░░ │ │
│ │ │ │
│ │ 💡 建议:还有5,750分可用,可发起约115个 │ │
│ │ 主图设计任务(50分/个) │ │
│ │ │ │
│ │ ⚠️ 提醒:月底剩余积分将清零,请合理利用! │ │
│ │ [立即发起任务] │ │
│ └─────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────┐ │
│ │ 市场部 - 负责人:李四 │ │
│ │ ───────────────────────────────────── │ │
│ │ 月度积分池:8,000 分 │ │
│ │ 已使用:3,400 分(42.5%) │ │
│ │ 剩余可用:4,600 分(57.5%) │ │
│ │ ▓▓▓▓▓▓▓▓░░░░░░░░░░░░ │ │
│ │ │ │
│ │ 💡 建议:还有4,600分可用 │ │
│ │ [立即发起任务] │ │
│ └─────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────┐ │
│ │ 运营部 - 负责人:王五 │ │
│ │ ───────────────────────────────────── │ │
│ │ 月度积分池:5,000 分 │ │
│ │ 已使用:4,800 分(96%) │ │
│ │ 剩余可用:200 分(4%)🎉 快消耗完了! │ │
│ │ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ │ │
│ │ │ │
│ │ ✅ 优秀:积分利用率高达96%! │ │
│ │ [立即发起任务] │ │
│ └─────────────────────────────────────────┘ │
│ │
│ 🏆 本月积分消耗率排行榜 │
│ 1. 运营部 96% (4,800/5,000) 🥇 第一名 │
│ 2. 电商部 85% (3,400/4,000) 🥈 第二名 │
│ 3. 产品部 42% (4,250/10,000) 🥉 第三名 │
│ 4. 市场部 42% (3,400/8,000) │
│ │
│ ⏰ 月底倒计时:还有 5 天 │
│ 📢 温馨提示:月底未使用的积分将清零,请各部门 │
│ 负责人合理安排任务发起,充分利用积分资源! │
│ │
│ [查看历史消耗] [导出消耗报告] [钉钉提醒] │
└──────────────────────────────────────────────────┘
积分消耗提醒规则
- 绿色区域(0-50%):🟢 消耗率偏低,提醒"还有XX分可用,请合理安排任务"
- 黄色区域(51-80%):🟡 消耗率适中,提醒"进度良好,还可继续使用"
- 橙色区域(81-95%):🟠 消耗率较高,提醒"积分利用率高,再接再厉"
- 红色区域(96-100%):🔴 即将用完,祝贺"太棒了!积分利用率极高"
月底倒计时提醒
- 距离月底30天:无特殊提醒
- 距离月底15天:显示"还有15天,请注意积分使用进度"
- 距离月底7天:显示"⚠️ 还有7天,抓紧时间消耗积分"
- 距离月底3天:显示"🔥 紧急提醒:还有3天!快发起任务"
- 距离月底1天:显示"⚡ 最后1天!积分即将清零"
智能建议功能 系统根据剩余积分和常用任务类型,自动计算并推荐可发起的任务数量:
// 智能建议算法
function calculateSuggestion(remainingScore, deptHistory) {
// 获取部门最常发起的任务类型
const topTaskTypes = getTopTaskTypes(deptHistory, 3);
const suggestions = topTaskTypes.map(taskType => {
const count = Math.floor(remainingScore / taskType.unitScore);
return {
taskTypeName: taskType.name,
unitScore: taskType.unitScore,
suggestedCount: count,
totalScore: count * taskType.unitScore
};
});
return suggestions;
}
部门排行榜
┌──────────────────────────────────────────────────┐
│ 需求部门统计排行(本月) │
├──────────────────────────────────────────────────┤
│ │
│ 排名 部门 发起数 消耗积分 完成率 平均评分│
│ ──────────────────────────────────────────── │
│ 🥇 产品部 85个 4,250 94.1% 4.8⭐ │
│ 负责人:张三 │
│ 本月积分池:10000分 | 已用:4250分(42%) │
│ 💰 剩余:5750分 🔥 抓紧消耗 │
│ [查看详情] [查看明细] [立即发起任务] │
│ ──────────────────────────────────────────── │
│ 🥈 市场部 68个 3,400 91.2% 4.7⭐ │
│ 负责人:李四 │
│ 本月积分池:8000分 | 已用:3400分(42%) │
│ 💰 剩余:4600分 🔥 抓紧消耗 │
│ [查看详情] [查看明细] [立即发起任务] │
│ ──────────────────────────────────────────── │
│ 🥉 运营部 52个 4,800 89.8% 4.6⭐ │
│ 负责人:王五 │
│ 本月积分池:5000分 | 已用:4800分(96%) │
│ ✅ 剩余:200分 优秀利用率 │
│ [查看详情] [查看明细] [立即发起任务] │
│ ──────────────────────────────────────────── │
│ 4 电商部 41个 3,400 93.7% 4.9⭐ │
│ 积分池:4000分 | 已用:3400分(85%) 🟠 │
│ 5 设计部 10个 500 95.0% 4.8⭐ │
│ 积分池:6000分 | 已用:500分(8%) 🟢 │
│ │
│ [查看全部部门] │
└──────────────────────────────────────────────────┘
部门详情卡片
┌──────────────────────────────────────────────────┐
│ 产品部 - 需求统计详情 │
├──────────────────────────────────────────────────┤
│ 负责人:张三 | 成员:15人 │
│ ────────────────────────────────────────────── │
│ │
│ 📈 本月概况(2025-11) │
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │发起任务 │ │消耗积分 │ │完成任务 │ │进行中 │ │
│ │ 85个 │ │ 4,250 │ │ 71个 │ │ 12个 │ │
│ └────────┘ └────────┘ └────────┘ └────────┘ │
│ │
│ 💰 积分使用情况 │
│ 本月限制:2,000 分 │
│ 实际消耗:4,250 分 ⚠️(超限2,250分) │
│ 进度:████████████████████░ 212% │
│ │
│ ⚠️ 提示:已超出本月限制,请控制需求发起 │
│ │
│ 📊 需求类型分布 │
│ ┌────────────────────────────────────────┐ │
│ │ ████████ 主图设计 35个 (41%) │ │
│ │ ██████ 详情页设计 25个 (29%) │ │
│ │ ████ 视频剪辑 15个 (18%) │ │
│ │ ██ 改图 10个 (12%) │ │
│ └────────────────────────────────────────┘ │
│ │
│ 📅 每周发起趋势 │
│ ┌────────────────────────────────────────┐ │
│ │ 25│ ● │ │
│ │ 20│ ● ● │ │
│ │ 15│ ● ● │ │
│ │ 10│ ● ● │ │
│ │ 0└───────────────────── │ │
│ │ W1 W2 W3 W4 W5 │ │
│ └────────────────────────────────────────┘ │
│ │
│ 👥 部门成员发起排名(Top 5) │
│ 1. 张三 28个 1,400分 ⭐4.9 │
│ 2. 李四 22个 1,100分 ⭐4.8 │
│ 3. 王五 18个 900分 ⭐4.7 │
│ 4. 赵六 12个 600分 ⭐4.6 │
│ 5. 孙七 5个 250分 ⭐4.8 │
│ │
│ [导出明细] [设置消耗限制] [积分充值] │
└──────────────────────────────────────────────────┘
5.8 用户维度统计
用户发起排行榜
┌──────────────────────────────────────────────────┐
│ 需求发起用户排行(本月) │
├──────────────────────────────────────────────────┤
│ 🔍 搜索:[姓名/工号] 筛选:[部门▼] [排序▼] │
│ ────────────────────────────────────────────── │
│ │
│ 排名 用户 部门 发起数 消耗积分 完成率│
│ ──────────────────────────────────────────── │
│ 🥇 张三 产品部 28个 1,400 96.4% │
│ 最常发起:主图设计(12个) │
│ 平均评分:4.9⭐ │
│ [查看详情] │
│ ──────────────────────────────────────────── │
│ 🥈 李四 市场部 25个 1,250 92.0% │
│ 最常发起:详情页设计(10个) │
│ 平均评分:4.8⭐ │
│ [查看详情] │
│ ──────────────────────────────────────────── │
│ 🥉 王五 产品部 22个 1,100 90.9% │
│ 最常发起:视频剪辑(8个) │
│ 平均评分:4.7⭐ │
│ [查看详情] │
│ ──────────────────────────────────────────── │
│ 4 赵六 运营部 20个 1,000 95.0% │
│ 5 孙七 市场部 18个 900 88.9% │
│ ... │
│ │
│ [查看全部] [导出列表] │
└──────────────────────────────────────────────────┘
用户详情分析
┌──────────────────────────────────────────────────┐
│ 张三 - 需求发起详情 │
├──────────────────────────────────────────────────┤
│ 👤 产品部 - 产品经理 | 工号:EP001 │
│ ────────────────────────────────────────────── │
│ │
│ 📊 统计概览 │
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │本月发起 │ │消耗积分 │ │完成率 │ │平均评分 │ │
│ │ 28个 │ │ 1,400 │ │ 96.4% │ │ 4.9⭐ │ │
│ │↑ +5个 │ │↑ +250 │ │↑ +2.1% │ │持平 │ │
│ └────────┘ └────────┘ └────────┘ └────────┘ │
│ │
│ 📈 需求类型偏好 │
│ ┌────────────────────────────────────────┐ │
│ │ ████████████ 主图设计 12个 (43%) │ │
│ │ ████████ 详情页设计 8个 (29%) │ │
│ │ ████ 视频剪辑 5个 (18%) │ │
│ │ ██ 改图 3个 (11%) │ │
│ └────────────────────────────────────────┘ │
│ │
│ 🎯 品牌分布 │
│ Nike: 10个 | Adidas: 8个 | Puma: 6个 | 其他: 4个│
│ │
│ 📅 发起时间分布 │
│ ┌────────────────────────────────────────┐ │
│ │ 周一: ███ 5个 │ │
│ │ 周二: ████ 6个 │ │
│ │ 周三: ████ 6个 │ │
│ │ 周四: ███ 5个 │ │
│ │ 周五: ██ 4个 │ │
│ │ 周六: █ 1个 │ │
│ │ 周日: █ 1个 │ │
│ └────────────────────────────────────────┘ │
│ │
│ ⏱️ 平均任务时效:1.6天 │
│ 📍 最常合作设计师:李四(接收8个任务) │
│ │
│ 📋 最近发起的任务(Top 5) │
│ 1. #T001 主图设计 已完成 ⭐5.0 2天 │
│ 2. #T015 详情页优化 进行中 - - │
│ 3. #T028 视频剪辑 已完成 ⭐4.8 1.5天 │
│ 4. #T042 改图 已完成 ⭐5.0 0.5天 │
│ 5. #T055 新品设计 待接收 - - │
│ │
│ [查看全部任务] [导出数据] │
└──────────────────────────────────────────────────┘
5.9 趋势分析
时间趋势图
┌──────────────────────────────────────────────────┐
│ 需求发起趋势分析 │
├──────────────────────────────────────────────────┤
│ 时间范围:[近6个月▼] 对比:[同比▼] │
│ ────────────────────────────────────────────── │
│ │
│ 📈 需求发起数量趋势 │
│ 300│ │
│ │ ●● │
│ 250│ ●● │
│ │ ●● │
│ 200│ ●● │
│ │ ●● │
│ 150│ ●● │
│ │ ●● │
│ 100│ ●● │
│ └───────────────────────────────── │
│ 6月 7月 8月 9月 10月 11月 │
│ │
│ 💰 积分消耗趋势 │
│ 15K│ │
│ │ ●● │
│ 12K│ ●● │
│ │ ●● │
│ 9K│ ●● │
│ │ ●● │
│ 6K│ ●● │
│ │ ●● │
│ 3K│ ●● │
│ └───────────────────────────────── │
│ 6月 7月 8月 9月 10月 11月 │
│ │
│ 📊 环比数据 │
│ 本月 vs 上月: │
│ - 发起数:256个 vs 223个 (↑14.8%) │
│ - 消耗积分:12,500 vs 11,580 (↑7.9%) │
│ - 完成率:92.3% vs 93.5% (↓1.3%) │
│ │
└──────────────────────────────────────────────────┘
5.10 类型分析
需求类型统计
┌──────────────────────────────────────────────────┐
│ 需求类型分析 │
├──────────────────────────────────────────────────┤
│ │
│ 📊 类型分布(本月) │
│ ┌────────────────────────────────────────┐ │
│ │ │ │
│ │ ██████████ 主图设计 40% │ │
│ │ ███████ 详情页设计 28% │ │
│ │ █████ 视频剪辑 20% │ │
│ │ ███ 改图 12% │ │
│ │ │ │
│ └────────────────────────────────────────┘ │
│ │
│ 类型 数量 占比 平均积分 平均时效 完成率 │
│ ──────────────────────────────────────────── │
│ 主图 102 40% 50分 1.5天 94% │
│ 详情 72 28% 200分 2.5天 91% │
│ 视频 51 20% 150分 2.0天 89% │
│ 改图 31 12% 30分 0.8天 98% │
│ │
│ 📈 类型趋势对比 │
│ (折线图显示各类型近6个月的变化) │
│ │
│ 🏆 最受欢迎:主图设计(102个,4,590分) │
│ 💎 最高价值:详情页设计(平均200分/个) │
│ ⚡ 最快完成:改图(平均0.8天) │
│ │
└──────────────────────────────────────────────────┘
5.11 导出与报表
导出功能
支持导出格式:
✓ Excel(详细明细)
✓ PDF(可视化报表)
✓ CSV(原始数据)
✓ 图片(图表截图)
导出内容:
✓ 部门统计数据
✓ 用户发起明细
✓ 任务完成情况
✓ 积分消耗记录
✓ 趋势分析图表
定时报表:
✓ 每周一早9:00发送上周统计
✓ 每月1号早9:00发送上月统计
✓ 季度/年度报告
报表订阅
┌───────────────────────────────┐
│ 统计报表订阅 │
├───────────────────────────────┤
│ 订阅类型: │
│ ☑ 周报(每周一) │
│ ☑ 月报(每月1号) │
│ ☐ 季报(每季度首日) │
│ │
│ 接收人: │
│ ☑ 自己 │
│ ☑ 部门负责人 │
│ ☑ 上级领导 │
│ ☐ 其他人员 [添加] │
│ │
│ 发送方式: │
│ ☑ 邮件 │
│ ☑ 钉钉 │
│ ☐ 短信 │
│ │
│ [取消] [保存] │
└───────────────────────────────┘
六、系统配置模块
6.1 功能清单
6.1.1 需求类型配置
列表视图:
ID 类型名称 单价分值 预估耗时 状态 操作
───────────────────────────────────────────────
1 主图设计 50 4小时 启用 [编辑] [禁用]
2 详情页设计 200 2天 启用 [编辑] [禁用]
3 视频剪辑 150 1天 启用 [编辑] [禁用]
4 图片修图 30 2小时 禁用 [编辑] [启用]
[+ 新增需求类型]
表单字段
- 类型名称(必填)
- 单价分值(必填,数字)
- 预估耗时(必填,小时/天)
- 类型描述(选填,富文本)
- 交付要求(选填,富文本)
- 排序(数字,用于前端显示顺序)
- 状态(启用/禁用)
6.1.2 品牌配置
列表视图(卡片或表格):
┌──────────┐ ┌──────────┐ ┌──────────┐
│ [LOGO] │ │ [LOGO] │ │ [LOGO] │
│ Nike │ │ Adidas │ │ Puma │
│ │ │ │ │ │
│ 任务数:25│ │ 任务数:18│ │ 任务数:12│
│ │ │ │ │ │
│[编辑][删] │ │[编辑][删] │ │[编辑][删] │
└──────────┘ └──────────┘ └──────────┘
[+ 新增品牌]
表单字段
- 品牌名称(必填)
- 品牌LOGO(图片上传)
- 品牌官网(选填)
- 品牌说明(选填)
- 设计风格指南(选填,富文本或附件)
- 排序
- 状态
6.1.3 类目配置
树形结构视图:
+ 服装
+ 女装
- 连衣裙 [编辑] [删除] [添加子类目]
- T恤 [编辑] [删除]
- 裤子 [编辑] [删除]
+ 男装
- 衬衫 [编辑] [删除]
- 牛仔裤 [编辑] [删除]
+ 鞋类
+ 运动鞋
- 跑步鞋 [编辑] [删除]
- 篮球鞋 [编辑] [删除]
+ 配饰
[+ 新增一级类目]
表单字段
- 类目名称(必填)
- 父级类目(选择,为空则为一级类目)
- 类目描述(选填)
- 是否叶子类目(系统自动判断)
- 排序
- 状态
功能要求
- 支持拖拽排序
- 支持批量导入(Excel)
- 支持批量操作(启用/禁用/删除)
- 删除校验(有关联任务时不允许删除)
6.1.4 平台配置
列表视图:
┌──────────┐ ┌──────────┐ ┌──────────┐
│ [图标] │ │ [图标] │ │ [图标] │
│ 淘宝 │ │ 天猫 │ │ 京东 │
│ │ │ │ │ │
│ 任务数:88│ │ 任务数:56│ │ 任务数:34│
│ │ │ │ │ │
│[编辑][删] │ │[编辑][删] │ │[编辑][删] │
└──────────┘ └──────────┘ └──────────┘
[+ 新增平台]
表单字段
- 平台名称(必填)
- 平台图标(图片上传)
- 平台官网(选填)
- 设计规范说明(选填,富文本或附件)
- 排序
- 状态
6.1.5 积分管理
团队积分池配置
团队列表:
团队名称 当前积分 已使用 总充值 操作
─────────────────────────────────────────────
产品一部 2,500 7,500 10,000 [充值] [明细]
产品二部 1,200 3,800 5,000 [充值] [明细]
市场部 800 1,200 2,000 [充值] [明细]
充值记录:[查看所有充值记录]
充值表单
- 选择团队
- 充值积分数量
- 充值原因/说明
- 审批人(可选)
积分明细
- 时间
- 操作类型(充值/消耗/退回)
- 积分变动
- 关联任务(如果是消耗)
- 操作人
- 余额
6.1.6 延误扣分规则配置
延误扣分规则管理
┌──────────────────────────────────────────────┐
│ 延误扣分规则配置 │
├──────────────────────────────────────────────┤
│ 规则状态:● 启用 ○ 禁用 │
│ ──────────────────────────────────────── │
│ 延误等级配置: │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 轻微延误 │ │
│ │ 延误时长:< 2 小时 │ │
│ │ 扣分规则:每小时 [2] 分 │ │
│ │ 状态:启用 [编辑] [删除] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 一般延误 │ │
│ │ 延误时长:2-8 小时 │ │
│ │ 扣分规则:每小时 [3] 分 │ │
│ │ 状态:启用 [编辑] [删除] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 严重延误 │ │
│ │ 延误时长:8-24 小时 │ │
│ │ 扣分规则:每小时 [5] 分 │ │
│ │ 状态:启用 [编辑] [删除] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 重大延误 │ │
│ │ 延误时长:> 24 小时 │ │
│ │ 扣分规则:基础 [50] 分 + 每天 [10] 分│ │
│ │ 状态:启用 [编辑] [删除] │ │
│ └─────────────────────────────────────┘ │
│ │
│ [+ 新增延误等级] │
│ ──────────────────────────────────────── │
│ 其他设置: │
│ ☑ 任务转移时自动计算延误扣分 │
│ ☑ 允许设计师申诉延误扣分 │
│ ☑ 显示延误预警提醒 │
│ □ 延误扣分翻倍(重复延误) │
│ │
│ 申诉审核: │
│ 审核人:[主管] ▼ │
│ 审核时限:[48小时] │
│ │
│ [重置为默认] [保存配置] │
└──────────────────────────────────────────────┘
编辑延误等级表单
┌───────────────────────────────┐
│ 编辑延误等级 │
├───────────────────────────────┤
│ 等级名称: │
│ [一般延误] │
│ │
│ 延误时长范围: │
│ 最小:[2] 小时 │
│ 最大:[8] 小时 │
│ │
│ 扣分规则: │
│ ○ 固定扣分 │
│ ● 按时长扣分 │
│ ○ 阶梯扣分 │
│ │
│ 按时长扣分参数: │
│ 每小时扣:[3] 分 │
│ 最高扣分:[24] 分(可选) │
│ │
│ 说明: │
│ ┌─────────────────────────┐ │
│ │ 一般程度的延误... │ │
│ └─────────────────────────┘ │
│ │
│ 状态:● 启用 ○ 禁用 │
│ │
│ [取消] [保存] │
└───────────────────────────────┘
延误扣分预览测试
输入延误时长:[10] 小时
计算结果:
- 匹配规则:严重延误(8-24小时)
- 扣分规则:每小时 5 分
- 计算过程:10 × 5 = 50 分
- 扣分结果:-50 分
[重新计算]
6.1.7 系统参数配置
通用配置
参数名称 当前值 操作
───────────────────────────────────────────────
设计师最大任务并发数 5 [修改]
任务抢单超时时间(分钟) 30 [修改]
任务延期预警提前时间(小时) 24 [修改]
积分预警阈值 500 [修改]
文件上传大小限制(MB) 100 [修改]
任务自动关闭时间(天) 30 [修改]
时效重新计算默认系数 1.0 [修改]
设计师熟练度系数范围 0.8-1.2 [修改]
通知配置
- 站内消息开关
- 钉钉通知开关
- 邮件通知开关
- 延误扣分通知开关
- 通知模板配置
6.1.8 激励系统配置
功能概述 管理员可以在后台对激励系统进行全面配置,包括:
- 激励游戏开关:控制各类激励功能的启用/禁用
- 奖励积分设置:为不同激励行为配置奖励积分
- 自动奖励周期:设置按周/月自动发放奖励
- 激励规则定制:自定义成就条件、排名规则等
6.1.8.1 激励游戏总开关
┌──────────────────────────────────────────────┐
│ 激励系统总控制面板 │
├──────────────────────────────────────────────┤
│ 系统状态:● 全局启用 ○ 全局禁用 │
│ ──────────────────────────────────────── │
│ 功能模块开关: │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 📊 实时排名系统 │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ 更新频率:[实时] ▼ │ │
│ │ 排名范围:[全体] ▼ │ │
│ │ [高级设置] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 🏅 成就勋章系统 │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ 弹窗提醒:☑ 启用 │ │
│ │ 勋章墙展示:☑ 启用 │ │
│ │ [成就管理] [奖励设置] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 🎯 里程碑提醒系统 │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ 提醒时机:☑ 达成时 ☑ 接近时 │ │
│ │ 奖励发放:● 自动 ○ 手动 │ │
│ │ [里程碑管理] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 🚀 积分冲刺提示 │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ 提醒周期:[每周一] ▼ │ │
│ │ 冲刺奖励:● 启用 ○ 禁用 │ │
│ │ [冲刺规则设置] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 👥 同事对比(友好竞争) │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ 对比维度:☑ 任务数 ☑ 积分 ☑ 评分 │ │
│ │ 显示模式:[匿名对比] ▼ │ │
│ │ [对比规则] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 📅 每日激励卡片 │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ 展示时间:[登录时] ▼ │ │
│ │ 签到奖励:● 启用 ○ 禁用 │ │
│ │ [卡片模板] [签到规则] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ ⚡ 即时激励弹窗 │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ 触发场景:☑ 任务完成 ☑ 好评收到 │ │
│ │ 弹窗频率:[适中] ▼ │ │
│ │ [弹窗模板] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 🏆 竞赛活动系统 │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ 当前竞赛:[月度设计之星] [管理] │ │
│ │ 下期竞赛:[未设置] [创建] │ │
│ │ [竞赛历史] [规则模板] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ ⚔️ 团队PK系统 │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ PK周期:[每月] ▼ │ │
│ │ 奖励分配:[胜方额外20%积分] ▼ │ │
│ │ [PK管理] [历史战况] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 🤖 智能提醒和建议 │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ 任务推荐:☑ 启用 │ │
│ │ 休息提醒:☑ 启用(连续4小时触发) │ │
│ │ [推荐算法调优] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 📊 可视化激励看板 │ │
│ │ 状态:● 启用 ○ 禁用 │ │
│ │ 默认视图:[综合视图] ▼ │ │
│ │ 数据范围:[近6个月] ▼ │ │
│ │ [看板布局] │ │
│ └─────────────────────────────────────┘ │
│ │
│ [全部启用] [全部禁用] [保存设置] │
└──────────────────────────────────────────────┘
6.1.8.2 成就勋章配置
成就勋章列表
┌──────────────────────────────────────────────────────────┐
│ 成就勋章管理 │
├──────────────────────────────────────────────────────────┤
│ 分类:[全部] [数量类] [质量类] [效率类] [特殊类] │
│ 状态:[全部] [启用] [禁用] [+ 新增成就] │
│ ────────────────────────────────────────────────────── │
│ │
│ 勋章 名称 类别 触发条件 奖励 状态 │
│ ──────────────────────────────────────────────────── │
│ 🏆 新手上路 数量 完成首个任务 +10 启用 [编辑]│
│ 💯 百任达人 数量 累计完成100任务 +100 启用 [编辑]│
│ ⭐ 五星之光 质量 连续10个五星好评 +50 启用 [编辑]│
│ 🚀 效率之王 效率 10次提前完成任务 +80 启用 [编辑]│
│ 🎯 精准狙击 效率 单日完成5个任务 +60 启用 [编辑]│
│ 🏅 月度冠军 特殊 月度排名第一 +200 启用 [编辑]│
│ 💪 连续奋进 特殊 连续签到30天 +30 启用 [编辑]│
│ 🎨 创意大师 质量 获得20个客户表扬 +150 启用 [编辑]│
│ ⏰ 守时模范 效率 30天零延误 +100 启用 [编辑]│
│ 🌟 全能选手 综合 各类任务都完成 +120 启用 [编辑]│
│ 📈 进步之星 特殊 月度排名提升10位 +50 禁用 [编辑]│
│ │
└──────────────────────────────────────────────────────────┘
成就编辑表单
┌───────────────────────────────────────┐
│ 编辑成就勋章 │
├───────────────────────────────────────┤
│ 成就名称: │
│ [五星之光] │
│ │
│ 成就图标: │
│ [⭐] [选择图标] [上传自定义] │
│ │
│ 成就类别: │
│ ○ 数量类 ● 质量类 ○ 效率类 │
│ ○ 特殊类 ○ 综合类 │
│ │
│ 触发条件类型: │
│ [连续好评次数] ▼ │
│ │
│ 条件参数设置: │
│ 连续获得:[10] 次 │
│ 评分要求:[5] 星 │
│ 时间限制:[不限] ▼ │
│ │
│ 成就描述: │
│ ┌─────────────────────────────────┐ │
│ │ 连续获得10个五星好评,你就是客户│ │
│ │ 心中的设计之光! │ │
│ └─────────────────────────────────┘ │
│ │
│ 奖励设置: │
│ 奖励积分:[50] 分 │
│ 额外奖励:[称号:五星设计师] │
│ 奖励有效期:[永久] ▼ │
│ │
│ 通知设置: │
│ ☑ 弹窗通知(即时) │
│ ☑ 站内消息 │
│ ☑ 钉钉推送 │
│ ☑ 勋章墙展示 │
│ │
│ 成就等级:(多级成就) │
│ ○ 单级成就 │
│ ● 多级成就: │
│ - 铜牌:5次五星 奖励20分 │
│ - 银牌:10次五星 奖励50分 │
│ - 金牌:20次五星 奖励100分 │
│ [+ 添加等级] │
│ │
│ 成就状态: │
│ ● 启用 ○ 禁用 │
│ │
│ 排序:[5] │
│ │
│ [取消] [保存] │
└───────────────────────────────────────┘
6.1.8.3 自动奖励规则配置
自动奖励周期设置
┌──────────────────────────────────────────────┐
│ 自动奖励规则配置 │
├──────────────────────────────────────────────┤
│ 功能状态:● 启用自动奖励 ○ 禁用 │
│ ──────────────────────────────────────── │
│ 奖励周期配置: │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 📅 每日奖励(按天) │ │
│ │ 状态:● 启用 │ │
│ │ ───────────────────────────────── │ │
│ │ • 每日签到奖励:+5 分 │ │
│ │ • 连续签到3天:+10 分 │ │
│ │ • 连续签到7天:+30 分 │ │
│ │ • 连续签到30天:+150 分 │ │
│ │ • 完成每日目标:+20 分 │ │
│ │ │ │
│ │ 发放时间:[自动,完成时即时发放] │ │
│ │ [编辑规则] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 📊 每周奖励(按周) │ │
│ │ 状态:● 启用 │ │
│ │ 发放时间:[每周一 09:00] │ │
│ │ ───────────────────────────────── │ │
│ │ 周度排名奖励: │ │
│ │ • 第1名:+300 分 │ │
│ │ • 第2名:+200 分 │ │
│ │ • 第3名:+150 分 │ │
│ │ • 第4-10名:+100 分 │ │
│ │ │ │
│ │ 周度任务量奖励: │ │
│ │ • 完成≥20个任务:+200 分 │ │
│ │ • 完成15-19个任务:+150 分 │ │
│ │ • 完成10-14个任务:+100 分 │ │
│ │ • 完成5-9个任务:+50 分 │ │
│ │ │ │
│ │ 周度好评奖励: │ │
│ │ • 五星好评率≥95%:+150 分 │ │
│ │ • 五星好评率≥90%:+100 分 │ │
│ │ • 五星好评率≥85%:+50 分 │ │
│ │ │ │
│ │ 周度零延误奖励: │ │
│ │ • 全周无延误:+100 分 │ │
│ │ • 延误≤1次:+50 分 │ │
│ │ │ │
│ │ [编辑规则] [测试发放] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 📆 每月奖励(按月) │ │
│ │ 状态:● 启用 │ │
│ │ 发放时间:[每月1日 10:00] │ │
│ │ ───────────────────────────────── │ │
│ │ 月度排名奖励: │ │
│ │ • 冠军(第1名):+1000 分 + 🏆 │ │
│ │ • 亚军(第2名):+800 分 + 🥈 │ │
│ │ • 季军(第3名):+600 分 + 🥉 │ │
│ │ • 第4-10名:+400 分 │ │
│ │ • 第11-20名:+200 分 │ │
│ │ │ │
│ │ 月度任务量奖励: │ │
│ │ • 完成≥80个任务:+800 分 │ │
│ │ • 完成60-79个任务:+600 分 │ │
│ │ • 完成40-59个任务:+400 分 │ │
│ │ • 完成20-39个任务:+200 分 │ │
│ │ │ │
│ │ 月度质量奖励: │ │
│ │ • 五星好评率≥98%:+500 分 │ │
│ │ • 五星好评率≥95%:+300 分 │ │
│ │ • 五星好评率≥90%:+200 分 │ │
│ │ │ │
│ │ 月度效率奖励: │ │
│ │ • 平均提前完成≥2天:+400 分 │ │
│ │ • 平均提前完成≥1天:+300 分 │ │
│ │ • 准时完成率100%:+200 分 │ │
│ │ │ │
│ │ 月度进步奖: │ │
│ │ • 排名提升≥20位:+300 分 │ │
│ │ • 排名提升≥10位:+200 分 │ │
│ │ • 排名提升≥5位:+100 分 │ │
│ │ │ │
│ │ 月度全勤奖: │ │
│ │ • 全月签到:+200 分 │ │
│ │ • 签到≥25天:+100 分 │ │
│ │ │ │
│ │ [编辑规则] [测试发放] [历史记录] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 🎊 季度/年度特殊奖励 │ │
│ │ 状态:● 启用 │ │
│ │ ───────────────────────────────── │ │
│ │ 季度MVP:+3000 分 + 专属称号 │ │
│ │ 年度最佳设计师:+10000 分 + 实物奖励 │ │
│ │ 年度进步之星:+5000 分 │ │
│ │ │ │
│ │ [编辑规则] │ │
│ └─────────────────────────────────────┘ │
│ │
│ ────────────────────────────────────── │
│ 奖励发放设置: │
│ ☑ 自动计算并发放 │
│ ☑ 发放前管理员审核 │
│ ☑ 发放后通知接收人 │
│ ☑ 发放记录留存归档 │
│ │
│ 积分来源: │
│ ● 系统积分池(无限) │
│ ○ 指定部门积分池:[运营部] ▼ │
│ │
│ [重置为默认] [测试奖励计算] [保存配置] │
└──────────────────────────────────────────────┘
自动奖励发放日志
┌──────────────────────────────────────────────────────┐
│ 自动奖励发放记录 │
├──────────────────────────────────────────────────────┤
│ 筛选:[本周] [本月] [本季度] [导出记录] │
│ ──────────────────────────────────────────────── │
│ │
│ 发放时间 周期 规则名称 发放人数 总积分│
│ ────────────────────────────────────────────────── │
│ 2025-11-04 09:00 每周 周度排名奖励 10人 1,500│
│ 2025-11-04 09:00 每周 周度任务量奖励 15人 1,800│
│ 2025-11-04 09:00 每周 周度好评奖励 12人 1,200│
│ 2025-11-04 09:00 每周 周度零延误奖励 8人 800 │
│ 2025-11-01 10:00 每月 月度排名奖励 20人 8,000│
│ 2025-11-01 10:00 每月 月度质量奖励 25人 7,500│
│ 2025-11-01 10:00 每月 月度效率奖励 18人 5,400│
│ │
│ [查看详情] [重新发放] [撤销发放] │
└──────────────────────────────────────────────────────┘
6.1.8.4 竞赛活动配置
竞赛活动管理
┌──────────────────────────────────────────────┐
│ 竞赛活动管理 │
├──────────────────────────────────────────────┤
│ [+ 创建新竞赛] [竞赛模板] │
│ ──────────────────────────────────────── │
│ 当前竞赛: │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 🏆 11月设计之星月度挑战赛 │ │
│ │ 状态:● 进行中 │ │
│ │ 时间:2025-11-01 至 2025-11-30 │ │
│ │ 参与人数:28人 │ │
│ │ ───────────────────────────────── │ │
│ │ 竞赛规则: │ │
│ │ • 完成任务数 × 2分 │ │
│ │ • 五星好评 × 10分 │ │
│ │ • 提前完成 × 5分 │ │
│ │ • 被表扬 × 15分 │ │
│ │ │ │
│ │ 奖励设置: │ │
│ │ • 第1名:+1500分 + 月度冠军勋章 │ │
│ │ • 第2名:+1000分 + 月度亚军勋章 │ │
│ │ • 第3名:+800分 + 月度季军勋章 │ │
│ │ • 参与奖:完成≥10任务 +100分 │ │
│ │ │ │
│ │ 实时排名:[查看] [导出] │ │
│ │ │ │
│ │ [编辑] [暂停] [提前结束] [结算奖励] │ │
│ └─────────────────────────────────────┘ │
│ │
│ 即将开始: │
│ • 无 [创建下期] │
│ │
│ 历史竞赛: │
│ • 10月设计之星(已结束) [查看] │
│ • 9月效率挑战赛(已结束) [查看] │
│ • 8月质量月(已结束) [查看] │
│ │
└──────────────────────────────────────────────┘
创建竞赛表单
┌───────────────────────────────────────┐
│ 创建竞赛活动 │
├───────────────────────────────────────┤
│ 竞赛名称: │
│ [12月年终冲刺赛] │
│ │
│ 竞赛类型: │
│ ● 月度竞赛 ○ 周度竞赛 ○ 专项竞赛 │
│ │
│ 竞赛时间: │
│ 开始:[2025-12-01 00:00] │
│ 结束:[2025-12-31 23:59] │
│ │
│ 参与对象: │
│ ● 全体设计师 │
│ ○ 指定部门:[选择部门] ▼ │
│ ○ 指定人员:[选择人员] │
│ │
│ 竞赛维度与权重: │
│ 任务完成数:[2] 分/个 权重30% │
│ 五星好评数:[10] 分/个 权重25% │
│ 提前完成次数:[5] 分/次 权重20% │
│ 被客户表扬:[15] 分/次 权重15% │
│ 无延误天数:[2] 分/天 权重10% │
│ [+ 添加维度] │
│ │
│ 排名计算方式: │
│ ● 综合得分排名 │
│ ○ 单项排名 │
│ ○ 混合排名 │
│ │
│ 奖励设置: │
│ ┌─────────────────────────────────┐ │
│ │ 排名 奖励积分 额外奖励 │ │
│ │ ───────────────────────────────│ │
│ │ 第1名 2000 年终冠军勋章 │ │
│ │ 第2名 1500 年终亚军勋章 │ │
│ │ 第3名 1000 年终季军勋章 │ │
│ │ 4-10名 500 优秀设计师称号 │ │
│ │ [+ 添加奖励档位] │ │
│ └─────────────────────────────────┘ │
│ │
│ 参与奖: │
│ ☑ 完成≥15个任务:+150分 │
│ ☑ 参与满30天:+100分 │
│ │
│ 通知设置: │
│ ☑ 竞赛开始通知(钉钉+站内) │
│ ☑ 每日进度提醒(站内) │
│ ☑ 排名变化提醒(站内) │
│ ☑ 竞赛结束通知(钉钉+站内) │
│ ☑ 奖励发放通知(钉钉+站内) │
│ │
│ 竞赛说明: │
│ ┌─────────────────────────────────┐ │
│ │ 年终冲刺,冲击年度最佳设计师!│ │
│ │ 让我们一起用实力说话... │ │
│ └─────────────────────────────────┘ │
│ │
│ 状态: │
│ ○ 草稿 ● 立即发布 ○ 定时发布 │
│ │
│ [保存为模板] [取消] [创建] │
└───────────────────────────────────────┘
6.1.8.5 团队PK配置
团队PK管理
┌──────────────────────────────────────────────┐
│ 团队PK管理 │
├──────────────────────────────────────────────┤
│ [+ 创建新PK] │
│ ──────────────────────────────────────── │
│ 当前PK: │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ ⚔️ 11月部门对抗赛 │ │
│ │ 状态:● 激战中 │ │
│ │ 时间:2025-11-01 至 2025-11-30 │ │
│ │ ───────────────────────────────── │ │
│ │ 🔵 设计一部(12人)VS 🔴 设计二部(15人)│ │
│ │ │ │
│ │ 当前比分: │ │
│ │ 设计一部:15,200 分 🔥 领先 │ │
│ │ 设计二部:14,800 分 ⚡ 追赶 │ │
│ │ 差距:400 分 │ │
│ │ │ │
│ │ PK维度: │ │
│ │ • 任务完成总数(当前:68 vs 72) │ │
│ │ • 五星好评总数(当前:45 vs 48) │ │
│ │ • 准时完成率(当前:92% vs 89%) │ │
│ │ • 平均任务评分(当前:4.7 vs 4.6)│ │
│ │ │ │
│ │ 奖励设置: │ │
│ │ • 胜方团队:每人+200分 │ │
│ │ • 败方团队:每人+100分(参与奖) │ │
│ │ • MVP(胜方最高贡献):额外+300分 │ │
│ │ │ │
│ │ 实时战况:[查看详情] │ │
│ │ │ │
│ │ [编辑] [暂停] [提前结束] [结算] │ │
│ └─────────────────────────────────────┘ │
│ │
│ 历史PK: │
│ • 10月部门对抗赛(设计一部胜) [查看] │
│ • 9月新老对决(老将队胜) [查看] │
│ │
└──────────────────────────────────────────────┘
6.1.8.6 排名规则配置
排名系统配置
┌──────────────────────────────────────────────┐
│ 排名系统规则配置 │
├──────────────────────────────────────────────┤
│ 排名维度与权重设置: │
│ │
│ 综合排名算法: │
│ ┌─────────────────────────────────────┐ │
│ │ 维度 权重 计分方式 │ │
│ │ ───────────────────────────────── │ │
│ │ 任务完成数 30% 1任务=2分 │ │
│ │ 五星好评数 25% 1好评=10分 │ │
│ │ 累计获得积分 20% 1积分=0.1分 │ │
│ │ 准时完成率 15% 比例×100分 │ │
│ │ 平均任务评分 10% 评分×20分 │ │
│ │ [+ 添加维度] [重置权重] │ │
│ └─────────────────────────────────────┘ │
│ │
│ 排名更新频率: │
│ ● 实时更新(每次任务变化) │
│ ○ 定时更新:[每小时] ▼ │
│ ○ 手动更新 │
│ │
│ 排名范围设置: │
│ 显示范围:[全体] [前50名] [前100名] ▼ │
│ 分组排名:☑ 启用部门内排名 │
│ ☑ 启用等级内排名 │
│ │
│ 排名变化通知: │
│ ☑ 排名上升≥5位时通知 │
│ ☑ 进入前10名时通知 │
│ ☑ 被他人超越时通知 │
│ ☑ 掉出前10名时通知 │
│ │
│ 排名保护机制: │
│ ☑ 新人保护期:入职[30]天内不显示排名 │
│ ☑ 休假保护:休假期间排名冻结 │
│ ☑ 异常保护:任务量<3时不参与排名 │
│ │
│ [预览排名结果] [保存配置] │
└──────────────────────────────────────────────┘
6.1.8.7 激励积分池管理
激励专用积分池
┌──────────────────────────────────────────────┐
│ 激励系统积分池 │
├──────────────────────────────────────────────┤
│ 积分来源: │
│ ● 系统独立积分池(推荐,不占用团队积分) │
│ ○ 从指定部门扣除 │
│ │
│ ──────────────────────────────────────── │
│ 系统积分池(当前月): │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 本月预算:50,000 分 │ │
│ │ 已发放: 28,500 分(57%) │ │
│ │ 剩余: 21,500 分(43%) │ │
│ │ │ │
│ │ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░ │ │
│ │ │ │
│ │ 预计本月总需求:45,000 分 │ │
│ │ 状态:✅ 充足 │ │
│ └─────────────────────────────────────┘ │
│ │
│ 月度预算设置: │
│ 每月预算:[50000] 分 │
│ 预警阈值:剩余 [20]% 时预警 │
│ 超支处理: │
│ ● 自动扩容 │
│ ○ 暂停发放 │
│ ○ 降低奖励 │
│ │
│ 分项预算分配(参考): │
│ • 每日签到奖励:约 4,200 分/月 │
│ • 每周奖励:约 8,000 分/月 │
│ • 每月奖励:约 15,000 分/月 │
│ • 成就奖励:约 8,000 分/月 │
│ • 竞赛奖励:约 10,000 分/月 │
│ • 团队PK奖励:约 5,000 分/月 │
│ • 其他奖励:约 3,000 分/月 │
│ │
│ 历史统计: │
│ • 10月发放:48,500 分 │
│ • 9月发放:46,200 分 │
│ • 8月发放:51,800 分 │
│ 平均:48,833 分/月 │
│ │
│ [查看详细记录] [导出报表] [调整预算] │
└──────────────────────────────────────────────┘
七、通知提醒模块
7.1 通知场景
| 场景 | 接收人 | 通知方式 |
|---|---|---|
| 任务发布(指定) | 指定设计师 | 站内+钉钉 |
| 任务发布(招募) | 所有设计师 | 站内 |
| 任务被抢单 | 发布人 | 站内+钉钉 |
| 任务分配(主管) | 接收设计师 | 站内+钉钉 |
| 任务被转移(原接收人) | 原接收设计师 | 站内+钉钉 |
| 任务被转移(新接收人) | 新接收设计师 | 站内+钉钉 |
| 任务被指定接收 | 指定设计师、发布人 | 站内+钉钉 |
| 任务被撤回 | 发布人、关注者 | 站内 |
| 任务优先级调整 | 接收设计师 | 站内+钉钉 |
| 任务被推广 | 全体设计师 | 站内+钉钉 |
| 任务转移延误扣分 | 原接收设计师 | 站内+钉钉 |
| 延误申诉提交 | 管理员、主管 | 站内 |
| 延误申诉审核结果 | 申诉设计师 | 站内+钉钉 |
| 部门消耗限制预警 | 部门负责人、部门成员 | 站内+钉钉 |
| 部门消耗超限 | 部门负责人、发起人 | 站内+钉钉+邮件 |
| 部门消耗周报/月报 | 部门负责人 | 邮件 |
| 部门负责人变更 | 新负责人、旧负责人 | 站内+钉钉 |
| 获得成就勋章 | 设计师本人 | 站内+弹窗 |
| 排名上升 | 设计师本人 | 站内 |
| 排名下降/被超越 | 设计师本人 | 站内 |
| 里程碑达成 | 设计师本人 | 站内+弹窗 |
| 冲刺提醒 | 设计师本人 | 站内 |
| 目标达成 | 设计师本人 | 站内+弹窗 |
| 竞赛开始/结束 | 参赛设计师 | 站内+钉钉 |
| 团队PK进度 | 团队成员 | 站内 |
| 连续记录提醒 | 设计师本人 | 站内 |
| 自动奖励发放(每日/每周/每月) | 获奖设计师 | 站内+弹窗 |
| 竞赛奖励发放 | 获奖设计师 | 站内+钉钉+弹窗 |
| 团队PK奖励发放 | 团队成员 | 站内+钉钉 |
| 激励积分池预警 | 超级管理员 | 站内+邮件 |
| 激励规则变更通知 | 全体设计师 | 站内 |
| 任务即将到期 | 接收设计师、发布人 | 站内+钉钉 |
| 任务延期 | 接收设计师、发布人、主管 | 站内+钉钉+邮件 |
| 任务提交交付 | 发布人 | 站内+钉钉 |
| 任务审核通过 | 接收设计师 | 站内+钉钉 |
| 任务被打回 | 接收设计师 | 站内+钉钉 |
| 积分不足 | 发布人、主管 | 站内+钉钉 |
| 积分充值 | 团队成员 | 站内 |
| 排行榜更新 | 相关设计师 | 站内(周/月) |
7.2 站内消息
消息中心
┌──────────────────────────────────────┐
│ 🔔 消息中心 (5) [全部已读] │
├──────────────────────────────────────┤
│ ● [系统通知] │
│ 您有一个新任务 #T20251107001 │
│ 2分钟前 │
│ │
│ ○ [任务提醒] │
│ 任务"主图设计"将在2小时后到期 │
│ 1小时前 │
│ │
│ ○ [审核通知] │
│ 您的任务"详情页优化"审核通过 │
│ 3小时前 │
└──────────────────────────────────────┘
消息类型
- 系统通知(红点)
- 任务提醒(黄点)
- 审核通知(蓝点)
- 积分变动(绿点)
- 调配通知(紫点)
7.3 钉钉通知集成
⚠️ 重要:钉钉通知链接预留 系统所有站内通知都需预留与钉钉通知的集成接口,确保重要通知能够同步推送到钉钉。
工作通知消息卡片
┌─────────────────────────────┐
│ 【新任务通知】 │
│ │
│ 任务:主图设计 │
│ 发布人:张三 │
│ 预估积分:250分 │
│ 期望完成:2025-11-09 │
│ │
│ [查看详情] [接受任务] │
└─────────────────────────────┘
钉钉集成技术实现
1. 通知数据结构设计 所有站内通知消息必须包含钉钉推送所需字段:
// 通知消息统一数据结构
{
// 基础信息
id: "notify_20251107_001",
type: "task_assign", // 通知类型
title: "新任务通知",
content: "您有一个新任务需要处理",
// 接收人信息
receiverUserId: "U123456",
receiverDingUserId: "ding_abc123", // 钉钉用户ID(关键)
// 跳转链接(H5页面或小程序)
link: "https://xxx.com/task/detail?id=T001",
mobileLink: "dingtalk://dingtalkclient/page/link?url=xxx",
// 时间信息
createTime: "2025-11-07 10:30:00",
sendTime: "2025-11-07 10:30:05", // 实际发送时间
// 钉钉推送相关
dingNotification: {
enabled: true, // 是否推送钉钉
messageType: "oa", // 消息类型:text/oa/markdown/actionCard
priority: "normal", // 优先级:normal/urgent
pushed: false, // 是否已推送
pushTime: null, // 推送时间
pushResult: null // 推送结果
},
// 业务数据(可选)
businessData: {
taskId: "T001",
taskType: "主图设计",
publisher: "张三",
score: 250
}
}
2. 钉钉消息推送接口封装
// 钉钉通知推送服务
class DingTalkNotificationService {
/**
* 发送工作通知消息
* @param {Object} notification 通知对象
* @returns {Promise}
*/
async sendWorkNotification(notification) {
// 1. 检查是否需要推送钉钉
if (!notification.dingNotification.enabled) {
return { success: true, skipped: true };
}
// 2. 获取钉钉access_token
const accessToken = await this.getAccessToken();
// 3. 构建钉钉消息体
const message = this.buildDingMessage(notification);
// 4. 调用钉钉API
const result = await this.callDingTalkAPI({
url: 'https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2',
accessToken,
body: {
agent_id: process.env.DING_AGENT_ID,
userid_list: notification.receiverDingUserId,
msg: message
}
});
// 5. 更新推送状态
await this.updatePushStatus(notification.id, result);
return result;
}
/**
* 构建不同类型的钉钉消息
*/
buildDingMessage(notification) {
const { type, title, content, link, businessData } = notification;
switch (notification.dingNotification.messageType) {
case 'oa':
// OA消息(推荐,样式美观)
return {
msgtype: 'oa',
oa: {
head: {
text: title,
bgcolor: 'FFBBBBBB'
},
body: {
title: title,
form: [
{ key: '任务类型:', value: businessData.taskType },
{ key: '发布人:', value: businessData.publisher },
{ key: '积分:', value: businessData.score + '分' }
]
},
message_url: link,
pc_message_url: link
}
};
case 'actionCard':
// 卡片消息(支持多按钮)
return {
msgtype: 'action_card',
action_card: {
title: title,
markdown: content,
single_title: '查看详情',
single_url: link
}
};
case 'markdown':
// Markdown消息
return {
msgtype: 'markdown',
markdown: {
title: title,
text: this.formatMarkdown(notification)
}
};
default:
// 文本消息(默认)
return {
msgtype: 'text',
text: {
content: `${title}\n${content}`
}
};
}
}
/**
* 格式化Markdown消息
*/
formatMarkdown(notification) {
const { title, businessData } = notification;
return `### ${title}\n` +
`- **任务类型**:${businessData.taskType}\n` +
`- **发布人**:${businessData.publisher}\n` +
`- **积分**:${businessData.score}分\n` +
`\n[点击查看详情](${notification.link})`;
}
}
3. 通知发送流程
站内消息生成 → 保存到数据库 → 检查是否需要钉钉推送
→ 异步推送到钉钉 → 更新推送状态 → 记录推送日志
4. 通知队列机制(推荐)
// 使用消息队列异步处理钉钉推送
// 避免同步推送影响主业务性能
// 发送通知时
async function sendNotification(notification) {
// 1. 保存站内消息
await saveNotification(notification);
// 2. 如需钉钉推送,加入队列
if (notification.dingNotification.enabled) {
await notificationQueue.add('ding-push', {
notificationId: notification.id,
priority: notification.dingNotification.priority
});
}
}
// 队列处理器
notificationQueue.process('ding-push', async (job) => {
const { notificationId } = job.data;
const notification = await getNotificationById(notificationId);
// 调用钉钉推送服务
await dingTalkService.sendWorkNotification(notification);
});
5. 数据库表设计(通知表扩展字段)
-- 通知消息表
CREATE TABLE `sys_notification` (
`id` bigint PRIMARY KEY,
`type` varchar(50) COMMENT '通知类型',
`title` varchar(200) COMMENT '标题',
`content` text COMMENT '内容',
`receiver_user_id` bigint COMMENT '接收人用户ID',
`receiver_ding_user_id` varchar(100) COMMENT '接收人钉钉UserID',
`link_url` varchar(500) COMMENT '跳转链接',
`mobile_link_url` varchar(500) COMMENT '移动端跳转链接',
-- 钉钉推送相关字段
`ding_enabled` tinyint DEFAULT 0 COMMENT '是否推送钉钉: 0-否, 1-是',
`ding_message_type` varchar(20) COMMENT '钉钉消息类型: text/oa/markdown/actionCard',
`ding_priority` varchar(20) DEFAULT 'normal' COMMENT '优先级: normal/urgent',
`ding_pushed` tinyint DEFAULT 0 COMMENT '是否已推送: 0-未推送, 1-已推送',
`ding_push_time` datetime COMMENT '推送时间',
`ding_task_id` varchar(100) COMMENT '钉钉任务ID',
`ding_push_result` text COMMENT '推送结果JSON',
`business_type` varchar(50) COMMENT '业务类型: task/score/achievement等',
`business_id` varchar(100) COMMENT '业务ID',
`business_data` json COMMENT '业务数据JSON',
`is_read` tinyint DEFAULT 0 COMMENT '是否已读',
`read_time` datetime COMMENT '阅读时间',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX `idx_receiver` (`receiver_user_id`, `is_read`),
INDEX `idx_ding_push` (`ding_enabled`, `ding_pushed`),
INDEX `idx_create_time` (`create_time`)
) COMMENT '系统通知表';
通知策略
- 工作时间(9:00-18:00)实时推送
- 非工作时间汇总推送(可配置)
- 紧急任务不限时间
- 用户可自定义免打扰时段
- 支持消息撤回和重推
- 推送失败自动重试(最多3次)
钉钉消息类型选择建议
- OA消息:适用于任务通知、审核通知(推荐)
- ActionCard:适用于需要操作按钮的场景
- Markdown:适用于内容丰富的通知
- Text:适用于简单文本通知
7.4 邮件通知
周报/月报
- 收件人:设计师本人、主管
- 内容:任务统计、积分统计、排行榜、评价汇总
- 发送时间:每周一早9:00 / 每月1号早9:00
紧急通知
- 任务严重延期
- 系统异常告警
八、数据库设计要点
8.1 核心表结构
用户表(sys_user)
- id, username, password, name, avatar, phone, email
- ding_user_id, ding_union_id, dept_id
- role, status, create_time, update_time
部门表(sys_dept)
- id, dept_name, parent_id, ding_dept_id
- dept_type(部门类型:DEMAND需求部门/RECEIVER接单部门)
- level, sort, leader_user_id, score_balance
- limit_enabled, limit_period(每天/每周/每月), period_limit
- alert_threshold, over_limit_action
- allowed_demand_types(接单部门可接的需求类型,JSON)
- description, status
- create_time, update_time
部门消耗限制记录表(dept_limit_record)
- id, dept_id, period_type, period_start, period_end
- period_limit, period_used, period_remaining
- task_count, is_over_limit
- create_time, update_time
任务表(task)
- id, task_no, title, description
- demand_type_id, demand_quantity, demand_score
- task_type, brand_id, category_id, spu_info, platform_ids
- publish_type, publish_user_id, publish_dept_id
- assign_user_id, assign_time
- expect_finish_time, actual_start_time, actual_finish_time
- status, progress, delivery_info
- review_score, review_comment
- create_time, update_time
需求类型表(demand_type)
- id, type_name, unit_score, estimate_time
- description, requirement, sort, status
- create_time, update_time
品牌表(brand)
- id, brand_name, logo_url, website
- description, style_guide, sort, status
- create_time, update_time
类目表(category)
- id, category_name, parent_id, level
- is_leaf, sort, status
- create_time, update_time
平台表(platform)
- id, platform_name, icon_url, website
- design_spec, sort, status
- create_time, update_time
任务附件表(task_attachment)
- id, task_id, file_name, file_url, file_size
- file_type, upload_user_id, upload_time
任务日志表(task_log)
- id, task_id, operation_type, operation_desc
- operator_id, create_time
任务调配记录表(task_transfer_log)
- id, task_id, transfer_type(转移/指定/撤回)
- from_user_id, to_user_id, operator_id
- reason, reason_detail, progress_keep
- score_allocation, old_deadline, new_deadline
- delay_hours, delay_penalty_score(延误时长、延误扣分)
- notify_settings, create_time
延误扣分记录表(delay_penalty_record)
- id, task_id, user_id, task_transfer_log_id
- original_deadline, actual_time(原定时间、实际时间)
- delay_hours, delay_minutes(延误小时、延误分钟)
- delay_level(延误等级:轻微/一般/严重/重大)
- penalty_score(扣分值)
- penalty_reason(原因:任务转移/正常延误)
- is_special_case(是否特殊情况:病假/事假等)
- admin_note(管理员备注)
- is_appealed, appeal_status(是否申诉、申诉状态)
- appeal_reason, appeal_result(申诉原因、申诉结果)
- create_time, update_time
延误扣分规则表(delay_penalty_rule)
- id, rule_name, level_name
- min_hours, max_hours(时长范围)
- penalty_type(扣分类型:固定/按时长/阶梯)
- penalty_rate(扣分比率,如每小时N分)
- base_penalty, daily_penalty(基础扣分、每天扣分,用于重大延误)
- max_penalty(最高扣分限制,可选)
- description, sort, status
- create_time, update_time
积分记录表(score_record)
- id, dept_id, user_id, score_change
- change_type, task_id, balance_after
- delay_penalty_record_id(关联延误扣分记录)
- remark, create_time
评价表(task_review)
- id, task_id, reviewer_id, reviewee_id
- quality_score, timeliness_score, communication_score
- avg_score, comment, review_time
成就勋章表(achievement)
- id, achievement_name, achievement_icon, achievement_desc
- achievement_type(数量类/质量类/效率类/特殊类)
- condition_type, condition_value(获得条件)
- reward_score(奖励积分)
- sort, status
- create_time, update_time
用户成就记录表(user_achievement)
- id, user_id, achievement_id
- achieve_time, is_shared
- create_time
用户目标表(user_goal)
- id, user_id, goal_type
- goal_name, goal_target, goal_period
- current_progress, is_completed
- start_time, complete_time
- create_time, update_time
用户签到记录表(user_check_in)
- id, user_id, check_in_date
- continuous_days, month_count
- create_time
激励系统配置表(incentive_config)
- id, config_key(配置键:ranking_enabled, achievement_enabled等)
- config_value(配置值)
- config_type(配置类型:boolean, string, number, json)
- module_name(模块名称:排名系统、成就系统等)
- description(配置说明)
- status(启用/禁用)
- create_time, update_time
自动奖励规则表(auto_reward_rule)
- id, rule_name, rule_type(每日/每周/每月/季度/年度)
- period_type(daily, weekly, monthly, quarterly, yearly)
- trigger_condition(触发条件:JSON格式)
- reward_score(奖励积分)
- extra_reward(额外奖励:JSON格式,如勋章、称号等)
- target_users(目标用户:all全体/部门/指定用户)
- schedule_time(定时发放时间)
- is_auto_issue(是否自动发放)
- need_approval(是否需要审核)
- description, status
- create_time, update_time
自动奖励发放记录表(auto_reward_log)
- id, rule_id, period_start, period_end
- issue_time(发放时间)
- user_count(获奖人数)
- total_score(总积分)
- status(pending待发放/issued已发放/cancelled已取消)
- operator_id(操作人)
- remark
- create_time, update_time
自动奖励明细表(auto_reward_detail)
- id, log_id, rule_id, user_id
- reward_score(奖励积分)
- extra_reward(额外奖励:JSON)
- trigger_data(触发数据:如完成任务数、好评数等)
- score_record_id(关联积分记录ID)
- status(issued已发放/failed失败)
- create_time
竞赛活动表(competition)
- id, competition_name, competition_type(月度/周度/专项)
- start_time, end_time
- participant_scope(参与范围:all/dept/users)
- participant_json(参与者JSON:如部门ID列表、用户ID列表)
- rule_dimensions(竞赛维度:JSON,包含权重)
- ranking_method(排名方式:综合得分/单项排名/混合排名)
- reward_config(奖励配置:JSON)
- participation_reward(参与奖配置:JSON)
- notify_settings(通知设置:JSON)
- description
- status(draft草稿/ongoing进行中/ended已结束/cancelled已取消)
- creator_id, create_time, update_time
竞赛排名表(competition_ranking)
- id, competition_id, user_id
- total_score(总得分)
- dimension_scores(各维度得分:JSON)
- final_rank(最终排名)
- reward_score(奖励积分)
- extra_reward(额外奖励:JSON)
- is_rewarded(是否已发放奖励)
- update_time
团队PK表(team_pk)
- id, pk_name, pk_type(部门对抗/分组对抗)
- start_time, end_time
- team_a_id, team_a_name, team_a_score
- team_b_id, team_b_name, team_b_score
- pk_dimensions(PK维度:JSON)
- reward_config(奖励配置:JSON)
- winner_team(获胜队伍:team_a/team_b/draw平局)
- status(ongoing进行中/ended已结束/cancelled已取消)
- creator_id, create_time, update_time
团队PK成员表(team_pk_member)
- id, pk_id, team_side(team_a/team_b)
- user_id, contribution_score(个人贡献分)
- task_count, good_review_count
- is_mvp(是否MVP)
- reward_score(获得积分)
- create_time
排名规则配置表(ranking_rule)
- id, rule_name, dimension_name(维度名称)
- dimension_weight(权重)
- score_formula(计分公式)
- dimension_order(排序)
- status
- create_time, update_time
激励积分池表(incentive_pool)
- id, period_month(周期月份:YYYY-MM)
- monthly_budget(月度预算)
- issued_score(已发放积分)
- remaining_score(剩余积分)
- alert_threshold(预警阈值)
- alert_status(预警状态:normal正常/warning预警/critical严重)
- daily_issued, weekly_issued, monthly_issued(各周期发放统计)
- achievement_issued, competition_issued, team_pk_issued(各模块发放统计)
- create_time, update_time
8.2 索引设计
- task表:task_no、publish_user_id、assign_user_id、status、publish_dept_id
- 复合索引:(status, publish_user_id)、(status, assign_user_id)
- 全文索引:task.description、task.spu_info(如需高级搜索)
8.3 数据字典
任务状态(task_status)
- 0: 待接收
- 1: 进行中
- 2: 待审核
- 3: 打回修改
- 4: 已完成
- 5: 已取消
任务类型(task_type)
- 1: 新品
- 2: 优化
- 3: 改图
- 4: 其它
发布类型(publish_type)
- 1: 指定任务
- 2: 招募任务
- 3: 默认模式(主管分配)
积分变动类型(score_change_type)
- 1: 充值
- 2: 任务消耗
- 3: 任务退回
- 4: 任务奖励
- 5: 调整
- 6: 延误扣分
- 7: 延误申诉返还
部门类型(dept_type)
- DEMAND: 需求部门(只能发起任务)
- RECEIVER: 接单部门(只能接收任务)
消耗限制周期(limit_period)
- DAILY: 每天
- WEEKLY: 每周
- MONTHLY: 每月
激励配置类型(incentive_config_type)
- boolean: 布尔值(开关)
- string: 字符串
- number: 数字
- json: JSON对象
奖励规则周期类型(reward_period_type)
- daily: 每日
- weekly: 每周
- monthly: 每月
- quarterly: 每季度
- yearly: 每年
自动奖励发放状态(reward_log_status)
- pending: 待发放
- issued: 已发放
- cancelled: 已取消
- failed: 发放失败
竞赛状态(competition_status)
- draft: 草稿
- ongoing: 进行中
- ended: 已结束
- cancelled: 已取消
团队PK状态(team_pk_status)
- ongoing: 进行中
- ended: 已结束
- cancelled: 已取消
积分池预警状态(pool_alert_status)
- normal: 正常
- warning: 预警
- critical: 严重(紧急)
九、接口设计要点
9.1 RESTful API 规范
基础路径
/api/v1
认证方式
Authorization: Bearer {JWT_TOKEN}
9.2 核心接口列表
认证模块
POST /auth/login # 用户名密码登录
POST /auth/ding-login # 钉钉登录
POST /auth/refresh-token # 刷新Token
POST /auth/logout # 登出
GET /auth/user-info # 获取当前用户信息
任务模块
POST /tasks # 创建任务
GET /tasks # 任务列表(分页、筛选)
GET /tasks/:id # 任务详情
PUT /tasks/:id # 更新任务
DELETE /tasks/:id # 删除任务
POST /tasks/:id/grab # 抢单
POST /tasks/:id/assign # 分配任务
PUT /tasks/:id/progress # 更新进度
POST /tasks/:id/submit # 提交交付
POST /tasks/:id/review # 审核任务
POST /tasks/:id/reject # 打回任务
GET /tasks/my-published # 我发布的任务
GET /tasks/my-received # 我接收的任务
GET /tasks/hall # 任务大厅列表
GET /tasks/calendar # 日历视图数据
# 任务调配(管理员)
POST /tasks/:id/transfer # 转移任务
POST /tasks/batch-transfer # 批量转移任务
POST /tasks/:id/designate # 指定接收人(从任务池)
POST /tasks/batch-designate # 批量指定接收人
POST /tasks/:id/withdraw # 撤回任务
POST /tasks/batch-withdraw # 批量撤回任务
PUT /tasks/:id/priority # 调整任务优先级
POST /tasks/:id/promote # 推广任务
GET /tasks/admin-view # 管理员任务视图
GET /tasks/pool # 任务池管理(管理员)
GET /tasks/transfer-logs # 调配日志
GET /tasks/transfer-stats # 调配统计
POST /tasks/:id/recommend # 获取推荐设计师列表
设计师模块
GET /designers # 设计师列表
GET /designers/:id # 设计师详情
GET /designers/:id/tasks # 设计师任务列表
GET /designers/:id/stats # 设计师统计数据
GET /designers/:id/delays # 设计师延误记录
GET /designers/leaderboard # 排行榜
激励系统模块
# 成就勋章
GET /achievements # 获取成就列表
GET /achievements/:id # 获取成就详情
GET /user/achievements # 我的成就勋章
GET /user/achievements/progress # 成就进度
POST /user/achievements/:id/share # 分享成就
GET /achievements/leaderboard # 成就排行榜
# 排名和对比
GET /user/ranking # 我的实时排名
GET /user/ranking/trend # 排名趋势
GET /user/compare/:userId # 与同事对比
GET /user/milestones # 我的里程碑
GET /user/sprint-status # 冲刺状态
# 目标管理
GET /user/goals # 我的目标列表
POST /user/goals # 设定新目标
PUT /user/goals/:id # 更新目标
DELETE /user/goals/:id # 删除目标
GET /user/goals/:id/progress # 目标进度
# 签到和激励
POST /user/check-in # 每日签到
GET /user/check-in/records # 签到记录
GET /user/daily-motivation # 每日激励卡片
GET /user/motivation-board # 激励看板
# 竞赛活动
GET /competitions # 竞赛活动列表
GET /competitions/:id # 竞赛详情
GET /competitions/:id/ranking # 竞赛排名
POST /competitions/:id/join # 参加竞赛
# 团队PK
GET /team-pk # 团队PK列表
GET /team-pk/:id # PK详情
GET /team-pk/:id/realtime # 实时战况
POST /team-pk/:id/cheer # 为团队加油
# 智能推荐
GET /recommendations/tasks # 推荐任务
GET /recommendations/rest # 休息提醒
激励配置管理模块(管理员)
# 激励总开关配置
GET /admin/incentive/config # 获取激励系统总配置
PUT /admin/incentive/config # 更新激励系统总配置
PUT /admin/incentive/config/modules/:module # 更新指定模块开关(ranking/achievement等)
POST /admin/incentive/config/batch-enable # 批量启用模块
POST /admin/incentive/config/batch-disable # 批量禁用模块
# 成就勋章配置
GET /admin/achievements # 获取成就配置列表
POST /admin/achievements # 创建新成就
PUT /admin/achievements/:id # 更新成就配置
DELETE /admin/achievements/:id # 删除成就
PUT /admin/achievements/:id/status # 启用/禁用成就
POST /admin/achievements/batch-update # 批量更新成就
GET /admin/achievements/:id/statistics # 成就获得统计
# 自动奖励规则配置
GET /admin/reward-rules # 获取自动奖励规则列表
POST /admin/reward-rules # 创建新规则
PUT /admin/reward-rules/:id # 更新规则
DELETE /admin/reward-rules/:id # 删除规则
PUT /admin/reward-rules/:id/status # 启用/禁用规则
POST /admin/reward-rules/:id/test # 测试规则(计算预估奖励)
POST /admin/reward-rules/:id/execute # 手动触发执行规则
# 自动奖励发放记录
GET /admin/reward-logs # 获取发放记录列表
GET /admin/reward-logs/:id # 获取发放记录详情
GET /admin/reward-logs/:id/details # 获取发放明细
POST /admin/reward-logs/:id/reissue # 重新发放
POST /admin/reward-logs/:id/cancel # 取消发放
GET /admin/reward-logs/statistics # 发放统计数据
POST /admin/reward-logs/export # 导出发放记录
# 竞赛活动管理
GET /admin/competitions # 获取竞赛列表
POST /admin/competitions # 创建新竞赛
PUT /admin/competitions/:id # 更新竞赛
DELETE /admin/competitions/:id # 删除竞赛
PUT /admin/competitions/:id/status # 更改竞赛状态(开始/暂停/结束)
POST /admin/competitions/:id/settle # 结算竞赛奖励
GET /admin/competitions/:id/ranking # 查看竞赛排名
POST /admin/competitions/:id/ranking/refresh # 刷新排名
GET /admin/competitions/templates # 获取竞赛模板
POST /admin/competitions/from-template # 从模板创建竞赛
# 团队PK管理
GET /admin/team-pk # 获取PK列表
POST /admin/team-pk # 创建新PK
PUT /admin/team-pk/:id # 更新PK
DELETE /admin/team-pk/:id # 删除PK
PUT /admin/team-pk/:id/status # 更改PK状态
POST /admin/team-pk/:id/settle # 结算PK奖励
GET /admin/team-pk/:id/realtime # 实时战况(详细数据)
POST /admin/team-pk/:id/adjust # 调整PK参数(如延长时间)
# 排名规则配置
GET /admin/ranking-rules # 获取排名规则配置
PUT /admin/ranking-rules # 更新排名规则
POST /admin/ranking-rules/preview # 预览规则效果
POST /admin/ranking-rules/reset # 重置为默认规则
POST /admin/ranking/refresh # 刷新全局排名
# 激励积分池管理
GET /admin/incentive-pool # 获取积分池状态
GET /admin/incentive-pool/:month # 获取指定月份积分池
PUT /admin/incentive-pool/:month/budget # 调整月度预算
GET /admin/incentive-pool/statistics # 积分池统计数据
GET /admin/incentive-pool/forecast # 积分池预测(基于历史数据)
POST /admin/incentive-pool/export # 导出积分池报表
# 激励数据分析
GET /admin/incentive/analytics/overview # 激励系统总览
GET /admin/incentive/analytics/effectiveness # 激励效果分析
GET /admin/incentive/analytics/participation # 参与度分析
GET /admin/incentive/analytics/trends # 趋势分析
POST /admin/incentive/analytics/export # 导出分析报告
延误扣分模块
GET /delay-penalties # 延误扣分记录列表
GET /delay-penalties/:id # 延误扣分记录详情
POST /delay-penalties/:id/appeal # 提交延误申诉
PUT /delay-penalties/:id/appeal # 审核延误申诉
GET /delay-penalties/my-records # 我的延误记录
GET /delay-penalties/stats # 延误统计数据
POST /delay-penalties/calculate # 计算延误扣分(用于预览)
部门管理模块
GET /departments # 获取部门列表(树形结构)
GET /departments/:id # 获取部门详情
POST /departments # 创建部门
PUT /departments/:id # 更新部门
DELETE /departments/:id # 删除部门
POST /departments/sync-dingtalk # 同步钉钉组织架构
PUT /departments/:id/leader # 设置部门负责人
PUT /departments/:id/limit # 设置积分消耗限制
GET /departments/:id/limit-usage # 获取部门消耗情况
POST /departments/:id/limit-adjust # 临时调整消耗限制
GET /departments/:id/members # 获取部门成员
GET /departments/:id/tasks # 获取部门任务列表
GET /departments/:id/stats # 获取部门统计数据
需求统计模块
GET /demand-stats/overview # 需求统计总览
GET /demand-stats/departments # 部门维度统计
GET /demand-stats/departments/:id # 指定部门详情统计
GET /demand-stats/users # 用户维度统计
GET /demand-stats/users/:id # 指定用户详情统计
GET /demand-stats/trends # 需求发起趋势
GET /demand-stats/types # 需求类型分析
GET /demand-stats/export # 导出统计报表
POST /demand-stats/subscribe # 订阅定时报表
配置模块
# 需求类型
GET /config/demand-types
POST /config/demand-types
PUT /config/demand-types/:id
DELETE /config/demand-types/:id
# 品牌
GET /config/brands
POST /config/brands
PUT /config/brands/:id
DELETE /config/brands/:id
# 类目
GET /config/categories/tree
POST /config/categories
PUT /config/categories/:id
DELETE /config/categories/:id
# 平台
GET /config/platforms
POST /config/platforms
PUT /config/platforms/:id
DELETE /config/platforms/:id
# 延误扣分规则
GET /config/delay-penalty-rules # 获取延误扣分规则列表
POST /config/delay-penalty-rules # 创建延误扣分规则
PUT /config/delay-penalty-rules/:id # 更新延误扣分规则
DELETE /config/delay-penalty-rules/:id # 删除延误扣分规则
POST /config/delay-penalty-rules/test # 测试延误扣分计算
积分模块
GET /scores/dept/:id # 部门积分信息
POST /scores/recharge # 积分充值
GET /scores/records # 积分记录
数据分析模块
GET /stats/overview # 总览数据
GET /stats/trends # 趋势数据
GET /stats/distribution # 分布数据
GET /stats/leaderboard # 排行榜数据
通知模块
GET /notifications # 消息列表
PUT /notifications/:id/read # 标记已读
PUT /notifications/read-all # 全部已读
文件上传
POST /upload/file # 文件上传
POST /upload/image # 图片上传
9.3 响应格式
成功响应
{
"code": 200,
"message": "success",
"data": {
// 业务数据
},
"timestamp": 1699344000000
}
失败响应
{
"code": 400,
"message": "参数错误",
"data": null,
"timestamp": 1699344000000
}
分页响应
{
"code": 200,
"message": "success",
"data": {
"list": [],
"total": 100,
"page": 1,
"page_size": 20
}
}
十、UI/UX 设计规范
⚠️ 重要声明:严格遵循 OpenAI 官方 UI 设计规范
本项目页面外观开发必须严格按照 OpenAI 官方 UI 设计规范进行设计和实现,以确保界面的现代性、简洁性和用户体验的一致性。
10.1 OpenAI 风格设计规范
10.1.1 核心设计原则
1. 极简主义(Minimalism)
- 去除一切不必要的视觉元素
- 专注于内容和功能本身
- 留白充足,让界面呼吸感更强
- 避免过度装饰和复杂渐变
2. 现代化与科技感(Modern & Tech-forward)
- 使用柔和的深色模式和明亮的浅色模式
- 流畅的动画过渡
- 微妙的交互反馈
- 前沿的视觉设计语言
3. 清晰的信息层次(Clear Hierarchy)
- 使用字重、大小、颜色来建立视觉层级
- 重要信息突出显示
- 次要信息适当弱化
- 引导用户视线流动
4. 一致性(Consistency)
- 统一的间距系统
- 统一的圆角规范
- 统一的阴影样式
- 统一的动效规则
10.1.2 配色方案(参考 OpenAI)
深色模式(主推荐,符合OpenAI风格)
背景色系:
- 主背景:#0D0D0D / #171717(极深黑)
- 次背景:#202020 / #2A2A2A(深灰)
- 卡片背景:#2A2A2A / #353535(中深灰)
- 悬浮背景:#353535 / #404040(灰)
文字色系:
- 主文字:#ECECEC / #FFFFFF(接近白色)
- 次文字:#AFAFAF / #B4B4B4(浅灰)
- 辅助文字:#737373 / #808080(中灰)
- 禁用文字:#4A4A4A(深灰)
品牌色(参考OpenAI):
- 主品牌色:#10A37F(翠绿色,OpenAI经典色)
- 悬浮状态:#1A7F64(深翠绿)
- 按下状态:#0D8B6D(更深翠绿)
功能色:
- 成功:#10A37F(翠绿,与品牌色统一)
- 警告:#FFA500(橙色)
- 错误:#EF4444(红色)
- 信息:#3B82F6(蓝色)
边框色:
- 主边框:#3A3A3A / #404040(深灰边框)
- 次边框:#2A2A2A(更深边框)
- 分割线:#262626(极细分割线)
浅色模式(可选)
背景色系:
- 主背景:#FFFFFF(纯白)
- 次背景:#F7F7F8(极浅灰)
- 卡片背景:#FFFFFF(纯白)
- 悬浮背景:#F0F0F0(浅灰)
文字色系:
- 主文字:#0D0D0D(极深黑)
- 次文字:#666666(深灰)
- 辅助文字:#8E8E8E(中灰)
品牌色与功能色:同深色模式
10.1.3 字体规范(参考 OpenAI)
字体家族
/* 主字体(参考OpenAI使用的字体) */
font-family:
"Söhne",
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
"Helvetica Neue",
Arial,
"Noto Sans",
sans-serif,
"Apple Color Emoji",
"Segoe UI Emoji";
/* 中文字体 */
font-family:
-apple-system,
BlinkMacSystemFont,
"PingFang SC",
"Microsoft YaHei",
"Helvetica Neue",
Helvetica,
Arial,
sans-serif;
/* 等宽字体(用于代码、路径等) */
font-family:
"SF Mono",
"Monaco",
"Cascadia Code",
"Roboto Mono",
"Consolas",
monospace;
字体大小系统
超大标题:32px / 2rem(页面主标题)
大标题: 24px / 1.5rem(区块标题)
中标题: 20px / 1.25rem(卡片标题)
小标题: 16px / 1rem(列表项标题)
正文: 14px / 0.875rem(主要内容)
辅助文字:12px / 0.75rem(次要信息)
小字: 11px / 0.6875rem(标签、时间戳)
字重规范
Bold(700): 重要标题、强调文字
Semibold(600):次级标题
Medium(500): 按钮文字、标签
Regular(400):正文
Light(300): 辅助说明
10.1.4 间距系统(8px 基准)
XXS:2px - 细微间距
XS: 4px - 极小间距
SM: 8px - 小间距(基准单位)
MD: 16px - 中间距
LG: 24px - 大间距
XL: 32px - 特大间距
XXL:48px - 超大间距
XXXL:64px - 巨大间距
内边距:
- 紧凑卡片:16px
- 标准卡片:24px
- 宽松卡片:32px
外边距:
- 组件间隔:16px
- 区块间隔:24px
- 页面边距:32px
10.1.5 圆角规范(参考 OpenAI)
微圆角: 4px - 按钮、输入框、标签
小圆角: 8px - 小卡片、下拉菜单
中圆角: 12px - 标准卡片
大圆角: 16px - 大型容器
特大圆角:24px - 模态框、抽屉
完全圆角:50% - 头像、图标按钮
10.1.6 阴影系统
/* 轻微阴影(悬浮卡片) */
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
/* 标准阴影(卡片) */
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
/* 浮起阴影(悬浮状态) */
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
/* 强阴影(模态框) */
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
/* 深色模式阴影(更柔和) */
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
10.1.7 动画与过渡(参考 OpenAI 流畅体验)
/* 标准过渡时间 */
--transition-fast: 150ms;
--transition-base: 250ms;
--transition-slow: 350ms;
/* 缓动函数(OpenAI风格) */
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
--ease-in-out: cubic-bezier(0.45, 0, 0.55, 1);
/* 常用过渡 */
transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
动效原则
- 所有交互都应有微妙的动效反馈
- 避免突兀的变化
- 状态切换使用淡入淡出
- 悬浮效果:轻微上浮 + 阴影增强
- 按钮点击:微缩放 + 颜色变化
- 加载状态:优雅的骨架屏或脉冲动画
10.1.8 组件设计规范
按钮(参考 OpenAI)
/* 主按钮(品牌色) */
.btn-primary {
background: #10A37F;
color: #FFFFFF;
border: none;
border-radius: 8px;
padding: 10px 20px;
font-size: 14px;
font-weight: 500;
transition: all 250ms ease;
}
.btn-primary:hover {
background: #1A7F64;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(16, 163, 127, 0.3);
}
/* 次按钮(轮廓) */
.btn-secondary {
background: transparent;
color: #ECECEC;
border: 1px solid #3A3A3A;
border-radius: 8px;
padding: 10px 20px;
}
.btn-secondary:hover {
border-color: #10A37F;
color: #10A37F;
}
/* 文字按钮 */
.btn-text {
background: transparent;
color: #AFAFAF;
border: none;
padding: 8px 12px;
}
.btn-text:hover {
color: #10A37F;
}
输入框(参考 OpenAI)
.input {
background: #2A2A2A;
border: 1px solid #3A3A3A;
border-radius: 8px;
color: #ECECEC;
padding: 10px 16px;
font-size: 14px;
transition: all 250ms ease;
}
.input:focus {
border-color: #10A37F;
outline: none;
box-shadow: 0 0 0 3px rgba(16, 163, 127, 0.1);
}
.input::placeholder {
color: #737373;
}
卡片(参考 OpenAI)
.card {
background: #2A2A2A;
border: 1px solid #3A3A3A;
border-radius: 12px;
padding: 24px;
transition: all 250ms ease;
}
.card:hover {
border-color: #404040;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
transform: translateY(-2px);
}
10.2 首页 UI 布局设计(重点)
10.2.1 首页整体布局
布局结构(深色模式,OpenAI风格)
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┌─────────────────────────────────────────────────┐ ┃
┃ │ 🎨 Logo 工作台 任务大厅 我的任务 数据分析 │👤│ ┃ ← 顶部导航栏
┃ └─────────────────────────────────────────────────┘ ┃ (高度: 64px)
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ ┃
┃ ┌────────────────────────────────────────────┐ ┃
┃ │ 👋 欢迎回来,张三 │ ┃ ← 欢迎区域
┃ │ 今天是2025年11月7日 星期四 │ ┃ (Hero Section)
┃ └────────────────────────────────────────────┘ ┃
┃ ┃
┃ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┃
┃ │ 📊 │ │ ✅ │ │ ⏰ │ │ 💎 │ ┃ ← 数据卡片区
┃ │ 8个 │ │ 12个 │ │ 2个 │ │ 1,250│ ┃ (Data Cards)
┃ │进行中 │ │已完成 │ │待审核 │ │ 积分 │ ┃
┃ └───────┘ └───────┘ └───────┘ └───────┘ ┃
┃ ┃
┃ ┌─────────────────────┐ ┌──────────────────┐ ┃
┃ │ 📋 今日待办 │ │ 📈 本周数据 │ ┃
┃ │ ───────────────── │ │ ────────────── │ ┃ ← 主要内容区
┃ │ • 主图设计 [紧急] │ │ [图表] │ ┃ (Main Content)
┃ │ • 详情页优化 │ │ 任务完成趋势 │ ┃
┃ │ • 视频剪辑 │ │ │ ┃
┃ │ │ │ │ ┃
┃ │ [查看全部任务] │ │ [查看详情] │ ┃
┃ └─────────────────────┘ └──────────────────┘ ┃
┃ ┃
┃ ┌───────────────────────────────────────────┐ ┃
┃ │ 🏆 设计师排行榜 │ ┃ ← 排行榜区域
┃ │ 🥇 李四 28个任务 4.9⭐ │ ┃ (Leaderboard)
┃ │ 🥈 王五 22个任务 4.8⭐ │ ┃
┃ │ 🥉 赵六 18个任务 4.7⭐ │ ┃
┃ └───────────────────────────────────────────┘ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
10.2.2 顶部导航栏详细设计
导航栏规范
┌─────────────────────────────────────────────────────────┐
│ │
│ 🎨 DesignHub 工作台 任务大厅 我的任务 数据分析 │
│ [Logo + 名称] [导航菜单] │
│ │
│ 🔔(3) ⚙️ 👤 张三 │
│ [通知] [设置] [用户] │
└─────────────────────────────────────────────────────────┘
详细样式说明
/* 导航栏容器 */
.navbar {
height: 64px;
background: #171717; /* 深色背景 */
border-bottom: 1px solid #262626; /* 极细分割线 */
padding: 0 32px;
display: flex;
align-items: center;
justify-content: space-between;
position: sticky;
top: 0;
z-index: 1000;
backdrop-filter: blur(12px); /* 毛玻璃效果 */
}
/* Logo 区域 */
.navbar-logo {
display: flex;
align-items: center;
gap: 12px;
font-size: 20px;
font-weight: 600;
color: #ECECEC;
}
.navbar-logo-icon {
width: 32px;
height: 32px;
border-radius: 8px;
background: linear-gradient(135deg, #10A37F 0%, #1A7F64 100%);
}
/* 导航菜单 */
.navbar-menu {
display: flex;
gap: 8px;
}
.nav-item {
padding: 8px 16px;
border-radius: 8px;
font-size: 14px;
font-weight: 400;
color: #AFAFAF;
cursor: pointer;
transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
}
.nav-item:hover {
color: #ECECEC;
background: #2A2A2A;
}
.nav-item.active {
color: #10A37F;
background: rgba(16, 163, 127, 0.1);
}
/* 右侧操作区 */
.navbar-actions {
display: flex;
align-items: center;
gap: 16px;
}
.navbar-icon {
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #AFAFAF;
cursor: pointer;
position: relative;
transition: all 250ms ease;
}
.navbar-icon:hover {
background: #2A2A2A;
color: #ECECEC;
}
.navbar-icon .badge {
position: absolute;
top: 6px;
right: 6px;
width: 18px;
height: 18px;
background: #EF4444;
border-radius: 50%;
font-size: 11px;
color: white;
display: flex;
align-items: center;
justify-content: center;
}
10.2.3 欢迎区域(Hero Section)
┌───────────────────────────────────────────────────────┐
│ │
│ 👋 欢迎回来,张三 │
│ 今天是2025年11月7日 星期四 ☀️ │
│ │
│ 您的部门积分余额:5,750 分 [充值] │
│ 💡 本月还剩5天,快抓紧时间发起任务吧! │
│ │
│ [+ 发起新任务] [查看任务进度] │
│ │
└───────────────────────────────────────────────────────┘
样式实现
.hero-section {
margin: 32px auto;
max-width: 1200px;
padding: 48px;
background: linear-gradient(135deg, #2A2A2A 0%, #1F1F1F 100%);
border: 1px solid #3A3A3A;
border-radius: 16px;
position: relative;
overflow: hidden;
}
/* 装饰性背景 */
.hero-section::before {
content: '';
position: absolute;
top: -50%;
right: -10%;
width: 500px;
height: 500px;
background: radial-gradient(circle, rgba(16, 163, 127, 0.05) 0%, transparent 70%);
border-radius: 50%;
}
.hero-title {
font-size: 32px;
font-weight: 700;
color: #ECECEC;
margin-bottom: 8px;
}
.hero-subtitle {
font-size: 16px;
color: #AFAFAF;
margin-bottom: 24px;
}
.hero-info {
display: flex;
align-items: center;
gap: 16px;
padding: 16px;
background: rgba(16, 163, 127, 0.1);
border: 1px solid rgba(16, 163, 127, 0.2);
border-radius: 12px;
margin-bottom: 24px;
}
.hero-actions {
display: flex;
gap: 16px;
}
10.2.4 数据卡片区域(Data Cards)
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 📊 │ │ ✅ │ │ ⏰ │ │ 💎 │
│ │ │ │ │ │ │ │
│ 8 个 │ │ 12 个 │ │ 2 个 │ │ 1,250 │
│ 进行中 │ │ 已完成 │ │ 待审核 │ │ 积分 │
│ │ │ │ │ │ │ │
│ ↑ +2 今日 │ │ ↑ +3 今日 │ │ ⚠️ 紧急 │ │ ↑ +150 │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
样式实现
.data-cards {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
margin: 32px auto;
max-width: 1200px;
}
.data-card {
background: #2A2A2A;
border: 1px solid #3A3A3A;
border-radius: 12px;
padding: 24px;
transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);
cursor: pointer;
}
.data-card:hover {
border-color: #10A37F;
transform: translateY(-4px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}
.data-card-icon {
font-size: 32px;
margin-bottom: 16px;
}
.data-card-value {
font-size: 36px;
font-weight: 700;
color: #ECECEC;
margin-bottom: 4px;
}
.data-card-label {
font-size: 14px;
color: #AFAFAF;
margin-bottom: 12px;
}
.data-card-trend {
font-size: 12px;
color: #10A37F;
display: flex;
align-items: center;
gap: 4px;
}
.data-card-trend.down {
color: #EF4444;
}
10.2.5 主要内容区域(双列布局)
┌──────────────────────────┐ ┌─────────────────────────┐
│ 📋 今日待办 [全部3个] │ │ 📈 本周数据 │
│ ─────────────────────── │ │ ────────────────────── │
│ │ │ │
│ ┌────────────────────┐ │ │ [折线图] │
│ │ ⏰ 主图设计 │ │ │ 任务完成趋势 │
│ │ 截止:今天 18:00 │ │ │ │
│ │ 🔥 紧急 │ │ │ 本周完成:15个 │
│ │ [查看详情] │ │ │ 上周:12个 ↑25% │
│ └────────────────────┘ │ │ │
│ │ │ │
│ ┌────────────────────┐ │ │ ┌───────────────────┐ │
│ │ 📝 详情页优化 │ │ │ │ 🎯 本周目标 │ │
│ │ 截止:明天 12:00 │ │ │ │ 完成20个任务 │ │
│ │ [查看详情] │ │ │ │ ████░░░░ 75% │ │
│ └────────────────────┘ │ │ └───────────────────┘ │
│ │ │ │
│ [查看全部任务 →] │ │ [查看详细报表 →] │
└──────────────────────────┘ └─────────────────────────┘
样式实现
.main-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin: 32px auto;
max-width: 1200px;
}
.content-card {
background: #2A2A2A;
border: 1px solid #3A3A3A;
border-radius: 12px;
padding: 24px;
min-height: 400px;
}
.content-card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24px;
padding-bottom: 16px;
border-bottom: 1px solid #3A3A3A;
}
.content-card-title {
font-size: 18px;
font-weight: 600;
color: #ECECEC;
display: flex;
align-items: center;
gap: 8px;
}
.task-item {
background: #1F1F1F;
border: 1px solid #3A3A3A;
border-radius: 8px;
padding: 16px;
margin-bottom: 12px;
transition: all 250ms ease;
}
.task-item:hover {
border-color: #10A37F;
background: #252525;
}
.task-item-title {
font-size: 16px;
font-weight: 500;
color: #ECECEC;
margin-bottom: 8px;
}
.task-item-meta {
display: flex;
gap: 16px;
font-size: 12px;
color: #AFAFAF;
}
.task-urgent {
display: inline-flex;
align-items: center;
padding: 4px 8px;
background: rgba(239, 68, 68, 0.1);
border: 1px solid rgba(239, 68, 68, 0.3);
border-radius: 4px;
color: #EF4444;
font-size: 11px;
font-weight: 500;
}
10.2.6 排行榜区域
┌─────────────────────────────────────────────────────┐
│ 🏆 本月设计师排行榜 [查看全部] │
│ ──────────────────────────────────────────────────│
│ │
│ 🥇 李四 28个任务 4.9⭐ +1,400分 │
│ UI设计师 本月第一 │
│ ────────────────────────────────────────────────│
│ 🥈 王五 22个任务 4.8⭐ +1,100分 │
│ 视觉设计师 本月第二 │
│ ────────────────────────────────────────────────│
│ 🥉 赵六 18个任务 4.7⭐ +900分 │
│ 平面设计师 本月第三 │
│ ────────────────────────────────────────────────│
│ │
│ 你当前排名第8位,再完成2个任务即可进入前5! │
│ │
└─────────────────────────────────────────────────────┘
样式实现
.leaderboard {
background: #2A2A2A;
border: 1px solid #3A3A3A;
border-radius: 12px;
padding: 24px;
margin: 32px auto;
max-width: 1200px;
}
.leaderboard-item {
display: flex;
align-items: center;
gap: 16px;
padding: 16px;
background: #1F1F1F;
border: 1px solid #3A3A3A;
border-radius: 8px;
margin-bottom: 12px;
transition: all 250ms ease;
}
.leaderboard-item:hover {
background: #252525;
border-color: #10A37F;
transform: translateX(4px);
}
.leaderboard-rank {
font-size: 32px;
min-width: 48px;
text-align: center;
}
.leaderboard-info {
flex: 1;
}
.leaderboard-name {
font-size: 18px;
font-weight: 600;
color: #ECECEC;
margin-bottom: 4px;
}
.leaderboard-role {
font-size: 12px;
color: #737373;
}
.leaderboard-stats {
display: flex;
gap: 24px;
font-size: 14px;
color: #AFAFAF;
}
.leaderboard-highlight {
padding: 16px;
background: rgba(16, 163, 127, 0.1);
border: 1px solid rgba(16, 163, 127, 0.2);
border-radius: 8px;
text-align: center;
color: #10A37F;
font-size: 14px;
margin-top: 16px;
}
10.2.7 响应式适配
桌面端(≥1200px)
- 数据卡片:4列
- 主要内容:2列
- 最大宽度:1200px
平板端(768px - 1199px)
- 数据卡片:2列
- 主要内容:1列
- 侧边距:24px
移动端(<768px)
- 数据卡片:1列
- 主要内容:1列
- 侧边距:16px
- 导航栏折叠为汉堡菜单
@media (max-width: 1199px) {
.data-cards {
grid-template-columns: repeat(2, 1fr);
}
.main-content {
grid-template-columns: 1fr;
}
}
@media (max-width: 767px) {
.data-cards {
grid-template-columns: 1fr;
}
.navbar {
padding: 0 16px;
}
.hero-section {
padding: 24px;
}
}
10.3 响应式设计
- 支持桌面端(主要)
- 支持平板端
- 支持移动端(查看为主)
10.4 交互动效
- 页面切换:淡入淡出
- 卡片悬浮:轻微上浮 + 阴影加深
- 按钮点击:涟漪效果
- 加载状态:骨架屏/加载动画
- 数据更新:数字滚动动效
10.4 关键页面布局
任务大厅
┌──────────────────────────────────────┐
│ Logo 任务大厅 我的任务 设计师大厅 │ 顶部导航栏
│ 系统配置 [通知] [头像]│
├──────────────────────────────────────┤
│ ┌──────────────┐ │
│ │ 筛选条件 │ 任务列表(卡片流) │
│ │ │ ┌────┐ ┌────┐ │
│ │ 任务类型 │ │卡片│ │卡片│ │
│ │ ☑ 新品 │ └────┘ └────┘ │
│ │ ☑ 优化 │ ┌────┐ ┌────┐ │
│ │ │ │卡片│ │卡片│ │
│ │ 品牌 │ └────┘ └────┘ │
│ │ [搜索框] │ │
│ │ │ [加载更多] │
│ │ 积分范围 │ │
│ │ [滑块] │ │
│ └──────────────┘ │
└──────────────────────────────────────┘
我的任务(日历视图)
┌──────────────────────────────────────┐
│ Logo 任务大厅 我的任务 设计师大厅 │
│ 系统配置 [通知] [头像]│
├──────────────────────────────────────┤
│ ┌列表视图┐ ┌日历视图┐ │
│ └────────┘ └────────┘ │
│ │
│ 2025年11月 < > │
│ │
│ 日 一 二 三 四 五 六 │
│ 1 2 3 4 │
│ 5 6 7 8 9 10 11 │
│ 12 13 14 15 16 17 18 │
│ │
│ 当日任务: │
│ ┌────────────────────┐ │
│ │ 主图设计 [进行中] │ │
│ │ 进度:75% │ │
│ └────────────────────┘ │
└──────────────────────────────────────┘
10.5 无障碍设计
- 支持键盘快捷键
- 色盲友好的颜色组合
- 合理的对比度(符合WCAG AA标准)
- 图片ALT文本
十一、安全性设计
11.1 认证与授权
- JWT Token机制
- Token过期和刷新策略
- 权限控制(RBAC)
- 接口权限校验
11.2 数据安全
- 密码加密存储(BCrypt)
- 敏感信息脱敏
- SQL注入防护(参数化查询)
- XSS攻击防护
- CSRF防护
11.3 文件安全
- 文件类型校验
- 文件大小限制
- 恶意文件扫描
- 文件访问权限控制
11.4 日志与审计
- 操作日志记录
- 异常日志记录
- 登录日志
- 敏感操作审计
十二、性能优化
12.1 前端优化
- 代码分割(Code Splitting)
- 懒加载
- 图片懒加载和压缩
- CDN加速
- 浏览器缓存
- Gzip压缩
12.2 后端优化
- 数据库索引优化
- Redis缓存热点数据
- 接口响应时间监控
- SQL查询优化
- 连接池配置
12.3 数据库优化
- 读写分离
- 分库分表(数据量大时)
- 慢查询监控
- 定期数据归档
十三、测试策略
13.1 测试类型
- 单元测试
- 集成测试
- 接口测试
- 前端E2E测试
- 性能测试
- 安全测试
13.2 测试覆盖率
- 核心业务逻辑:>80%
- 工具类方法:>90%
13.3 测试环境
- 开发环境(Dev)
- 测试环境(Test)
- 预发布环境(Staging)
- 生产环境(Production)
十四、部署与运维
14.1 部署方案
前端:Nginx静态资源服务
后端:Docker容器 + Kubernetes(可选)
数据库:主从复制 + 定期备份
缓存:Redis集群
14.2 监控告警
- 应用性能监控(APM)
- 服务器资源监控
- 数据库监控
- 日志监控
- 告警通知(钉钉群/邮件/短信)
14.3 备份策略
- 数据库:每日全量备份 + 实时binlog
- 文件:定期备份到对象存储
- 配置:版本控制
十五、项目计划
15.1 开发阶段
第一阶段:基础框架搭建(2周)
- 技术选型确认
- 项目初始化
- 数据库设计
- 认证系统集成(开源方案)
- 钉钉登录集成
- 组织架构同步
第二阶段:核心功能开发(4周)
- 任务发起模块
- 任务大厅模块
- 任务分配和接收
- 进度跟踪
- 审核评价
第三阶段:配置与管理(2周)
- 系统配置模块
- 积分管理
- 权限管理
- 通知模块
第四阶段:数据分析与展示(2周)
- 设计师进度大厅
- 数据统计
- 图表展示
- 排行榜
第五阶段:优化与测试(2周)
- UI/UX优化
- 性能优化
- 全面测试
- Bug修复
第六阶段:部署上线(1周)
- 部署环境准备
- 数据迁移
- 上线部署
- 培训和文档
15.2 时间线
总计:13周(约3个月)
十六、风险与挑战
16.1 技术风险
| 风险 | 影响 | 应对措施 |
|---|---|---|
| 钉钉API变更 | 登录和同步失败 | 关注官方文档,及时适配 |
| 并发抢单冲突 | 超卖问题 | 使用锁机制,充分测试 |
| 大文件上传 | 性能问题 | 分片上传,限制大小 |
| 数据库性能 | 响应慢 | 索引优化,缓存策略 |
16.2 业务风险
| 风险 | 影响 | 应对措施 |
|---|---|---|
| 积分滥用 | 激励失效 | 审批机制,日志审计 |
| 恶意抢单 | 资源浪费 | 限制规则,信用体系 |
| 任务延期 | 影响业务 | 预警机制,责任追溯 |
16.3 团队风险
| 风险 | 影响 | 应对措施 |
|---|---|---|
| 人员变动 | 进度延误 | 代码规范,文档完善 |
| 需求变更 | 开发返工 | 敏捷开发,小步迭代 |
十七、后续优化方向
17.1 功能增强
- AI智能分配:基于历史数据,AI推荐最合适的设计师
- 任务拆分:大任务自动拆分为子任务
- 协同设计:多人协作完成同一任务
- 版本管理:设计稿版本控制和对比
- 移动端App:独立的移动应用
- 消息即时通讯:任务内置聊天功能
- 积分商城:积分兑换奖品
- 成长体系:设计师等级和勋章系统
17.2 技术优化
- 微服务架构:拆分为多个独立服务
- GraphQL:更灵活的API查询
- WebSocket:实时消息推送
- 大数据分析:更深入的数据挖掘
- 机器学习:任务时长预测、质量评估
17.3 集成扩展
- 集成更多设计工具:Figma、Sketch等
- 集成项目管理工具:Jira、Trello等
- 对接财务系统:积分与奖金挂钩
- 对接HR系统:绩效考核数据同步
十八、参考资料
18.1 开源认证系统推荐
-
Casdoor
- 官网:https://casdoor.org/
- 特点:UI友好,易于集成,支持多种身份提供商
-
Keycloak
- 官网:https://www.keycloak.org/
- 特点:功能强大,企业级,支持复杂场景
-
Auth0(部分开源)
- 官网:https://auth0.com/
- 特点:云服务,集成简单
18.2 技术文档
- Vue 3官方文档:https://vuejs.org/
- React官方文档:https://react.dev/
- Spring Boot官方文档:https://spring.io/projects/spring-boot
- 钉钉开放平台:https://open.dingtalk.com/
- Ant Design:https://ant.design/
18.3 最佳实践
- RESTful API设计规范
- 前端工程化实践
- 数据库设计范式
- 安全编码规范
十九、附录
19.1 术语表
| 术语 | 说明 |
|---|---|
| SPU | Standard Product Unit,标准产品单位 |
| 叶子类目 | 类目树中最底层、不可再分的类目 |
| 抢单 | 设计师主动接受任务大厅中的招募任务 |
| 积分池 | 每个团队拥有的可用积分总额 |
| 甘特图 | 项目进度的条形图表示 |
| 任务调配 | 管理员对进行中任务和任务池任务进行转移、指定、撤回等管理操作 |
| 任务转移 | 将进行中的任务从一个设计师转移给另一个设计师 |
| 指定接收人 | 管理员为任务池中的招募任务指定具体接收设计师 |
| 任务撤回 | 将任务从任务大厅撤回到待分配状态 |
| 任务池 | 任务大厅中所有招募任务的集合 |
| 智能推荐 | 基于设计师负荷、技能、评分等维度推荐最合适的设计师 |
| 延误扣分 | 当任务转移时如果存在延误,根据延误时长对原设计师进行积分扣除 |
| 时效重新计算 | 任务转移给新设计师后,根据剩余工作量和新设计师情况重新计算交付时间 |
| 延误等级 | 将延误按时长分为轻微、一般、严重、重大四个等级 |
| 延误申诉 | 设计师对延误扣分有异议时,可提交申诉由管理员审核 |
| 熟练度系数 | 设计师对特定类型任务的熟练程度系数,影响时效计算(0.8-1.2) |
| 负荷系数 | 设计师当前工作负荷对新任务完成时间的影响系数(1.0-1.3) |
| 需求部门 | 只能发起任务、不能接单的部门,拥有积分池消耗积分 |
| 接单部门 | 只能接单、不能发起任务的部门,完成任务获得积分奖励 |
| 部门负责人 | 需求部门的管理者,可设置积分消耗限制和管理部门成员 |
| 积分消耗限制 | 对需求部门按天/周/月设置的积分使用上限,用于控制资源合理使用 |
| 需求统计展板 | 展示需求发起数据的可视化看板,包含部门和用户维度的多角度分析 |
| 成就勋章 | 设计师达成特定条件后获得的虚拟勋章,附带积分奖励 |
| 里程碑 | 设计师在工作过程中达成的重要节点(如完成100个任务) |
| 实时排名 | 根据积分、任务数等维度实时更新的设计师排名 |
| 冲刺提示 | 在周末或月末提醒设计师完成目标的激励信息 |
| 同事对比 | 将个人数据与同部门同事进行对比,激发竞争意识 |
| 竞赛活动 | 系统组织的短期比赛活动,如"设计马拉松" |
| 团队PK | 不同部门或小组之间的团队对抗赛 |
| 连续记录 | 设计师连续达成某个目标的天数(如连续21天按时交付) |
| 激励看板 | 综合展示设计师成就、排名、目标等激励信息的可视化界面 |
| 激励游戏开关 | 管理员控制各种激励功能(排名、成就等)的启用/禁用开关 |
| 自动奖励规则 | 系统按周期(每日/周/月)自动计算并发放奖励的规则配置 |
| 奖励积分配置 | 为各种激励行为(签到、完成任务、好评等)设置的积分奖励值 |
| 激励积分池 | 专门用于激励系统奖励发放的独立积分池,不占用团队积分 |
| 竞赛模板 | 预设的竞赛活动配置模板,可快速创建新竞赛 |
| 排名规则 | 综合排名的计算规则,包含各维度的权重和计分公式 |
| 自动发放 | 系统根据设定规则自动计算并发放奖励,无需人工干预 |
| 奖励审核 | 管理员对系统自动计算的奖励进行审核后再发放 |
19.2 联系方式
- 项目负责人:[姓名]
- 技术负责人:[姓名]
- 产品负责人:[姓名]
📌 总结
本系统是一个设计师任务抢单管理平台,核心目标是:
- ✅ 提高任务分配效率
- ✅ 实现进度透明化管理
- ✅ 建立公平的积分激励机制
- ✅ 提供多维度的数据分析
核心亮点:
- 🎯 灵活的任务发布方式(指定/招募/分配)
- 🔄 强大的任务调配功能(管理员可灵活调配进行中任务和任务池)
- 🏢 清晰的部门职责划分(需求部门 vs 接单部门)
- 💰 智能积分消耗控制(按天/周/月限制,防止资源滥用)
- 📊 多维度需求统计展板(部门/用户视角,数据可视化)
- 🎮 游戏化激励系统(成就勋章、排名竞赛、团队PK)
- ⚙️ 完善的激励配置后台(自动奖励、积分配置、游戏开关)
- 💎 积分制度激励设计师
- 📈 可视化的进度管理(日历/甘特图)
- 🏆 多维度排行榜和数据分析
- 🤖 智能推荐算法(任务转移时推荐最合适设计师)
- ⚠️ 延误扣分与申诉机制(公平透明)
- 🔔 完善的通知提醒机制
- 🔐 企业级的认证授权体系
- 📝 完整的调配日志和审计功能
技术特点:
- 前后端分离架构
- 开源认证系统集成
- 钉钉生态深度集成
- 现代化UI/UX设计
- 高性能和高可用性
📝 文档版本
- 版本:v1.7
- 日期:2025-11-07
- 状态:待评审
更新记录
v1.7 (2025-11-07)
- 🎨 新增:OpenAI 官方 UI 设计规范(10.1章节)
- 明确要求严格遵循 OpenAI 官方 UI 设计规范
- 核心设计原则(极简主义、现代化、清晰层次、一致性)
- 完整配色方案(深色模式为主,参考OpenAI经典翠绿色#10A37F)
- 字体规范(Söhne字体家族、字体大小系统、字重规范)
- 间距系统(8px基准、统一内外边距)
- 圆角规范(4px-24px分级圆角)
- 阴影系统(4级阴影深度)
- 动画与过渡(OpenAI流畅体验、标准缓动函数)
- 组件设计规范(按钮、输入框、卡片等完整CSS实现)
- 🏠 新增:首页 UI 布局详细设计(10.2章节)
- 首页整体布局(导航栏+欢迎区+数据卡片+内容区+排行榜)
- 顶部导航栏详细设计(含完整CSS实现、毛玻璃效果)
- 欢迎区域(Hero Section)设计(含积分余额提醒)
- 数据卡片区域(4列网格、悬浮动效)
- 主要内容区域(双列布局、今日待办+本周数据)
- 排行榜区域(本月设计师Top3展示)
- 响应式适配方案(桌面/平板/移动端)
- 📐 完善:所有UI组件提供完整的CSS代码示例
- 🎯 特色:深色模式优先、OpenAI经典翠绿色品牌色、流畅动效体验
v1.6 (2025-11-07)
- 💰 新增:部门积分余额消耗提醒看板(5.7章节)
- 部门积分消耗月报展示(月底倒计时、消耗率排行)
- 智能建议功能(根据剩余积分推荐可发起任务数)
- 积分消耗提醒规则(分级提醒:绿/黄/橙/红)
- 月底倒计时提醒(30天/15天/7天/3天/1天分级提醒)
- 部门排行榜增加积分余额和消耗率展示
- 目的:激发需求部门在月底前充分利用积分资源
- 📎 优化:文件上传和交付方式说明(2.2.8、2.2.10章节)
- 明确发布需求时仅需上传需求表格(Excel/Word)
- 明确设计师交付时无需上传文件,仅填写素材路径
- 添加交付路径输入界面设计
- 支持共享盘路径、云盘链接、服务器路径等多种方式
- 添加路径验证规则和格式检查
- 🔔 完善:钉钉通知集成技术方案(7.3章节)
- 详细的通知数据结构设计(包含钉钉推送所需字段)
- 钉钉消息推送接口封装(DingTalkNotificationService类)
- 支持多种钉钉消息类型(OA/ActionCard/Markdown/Text)
- 通知队列机制(异步处理,避免影响主业务性能)
- 通知表数据库设计(sys_notification表,含钉钉推送字段)
- 推送策略和失败重试机制
- 确保所有站内通知都预留钉钉推送接口
v1.5 (2025-11-07)
- ⚙️ 新增:激励系统后台配置管理功能(6.1.8章节)
- 激励游戏总开关(11个独立模块开关控制)
- 成就勋章配置(创建、编辑、多级成就、奖励设置)
- 自动奖励规则配置(每日/周/月/季度/年度,多种奖励类型)
- 竞赛活动配置(创建竞赛、设置规则、奖励结算、模板管理)
- 团队PK配置(对抗赛创建、实时战况、结算管理)
- 排名规则配置(维度权重、更新频率、保护机制)
- 激励积分池管理(预算设置、实时监控、趋势预测)
- 📝 更新:数据库设计(增加10张配置管理表)
- 激励系统配置表(incentive_config)
- 自动奖励规则表(auto_reward_rule)
- 自动奖励发放记录表(auto_reward_log)
- 自动奖励明细表(auto_reward_detail)
- 竞赛活动表(competition)
- 竞赛排名表(competition_ranking)
- 团队PK表(team_pk)
- 团队PK成员表(team_pk_member)
- 排名规则配置表(ranking_rule)
- 激励积分池表(incentive_pool)
- 📝 更新:接口设计
- 新增:激励配置管理模块API(62个管理接口)
- 涵盖:总开关管理、成就配置、自动奖励、竞赛管理、团队PK、排名规则、积分池、数据分析
- 📝 更新:通知场景(增加5个自动奖励通知)
- 📝 更新:数据字典(增加7个配置相关枚举类型)
- 📝 更新:系统模块划分(增加激励配置管理模块)
- 📝 更新:核心亮点(增加完善的激励配置后台)
- 📝 更新:术语表(增加8个配置相关术语)
- 💡 特色:管理员可灵活配置激励规则,系统自动按周期发放奖励,激励游戏可独立开关控制
v1.4 (2025-11-07)
- ✨ 新增:设计师激励提示系统(5.3章节)
- 实时排名提示(排名变化、超越提醒)
- 成就勋章系统(12种成就,积分奖励)
- 里程碑提醒(已达成/即将达成/挑战目标)
- 积分冲刺提示(月末冲刺、周冲刺)
- 同事对比功能(友好竞争)
- 每日激励卡片(签到、待办、加油语录)
- 即时激励弹窗(完成任务、获得好评)
- 竞赛活动提示(月度竞赛)
- 团队PK提示(部门对抗赛)
- 智能提醒建议(任务推荐、休息提醒)
- 可视化激励看板(趋势曲线、目标进度)
- 📝 更新:数据库设计
- 新增:成就勋章表(achievement)
- 新增:用户成就记录表(user_achievement)
- 新增:用户目标表(user_goal)
- 新增:用户签到记录表(user_check_in)
- 📝 更新:接口设计
- 新增:激励系统模块API(28个接口)
- 涵盖:成就、排名、目标、签到、竞赛、团队PK、智能推荐
- 📝 更新:通知场景(增加9个激励相关通知)
- 💡 特色:通过游戏化设计激发设计师积极性和竞争意识
v1.3 (2025-11-07)
- ✨ 新增:组织架构与部门管理模块(一之二章节)
- 部门类型管理(需求部门/接单部门)
- 部门权限控制(发起/接单分离)
- 需求部门负责人管理
- 积分消耗限制功能(按天/周/月)
- 部门数据权限隔离
- ✨ 新增:需求统计展板模块(五之二章节)
- 部门维度统计和排行榜
- 用户维度统计和排行榜
- 需求发起趋势分析
- 需求类型分析
- 数据导出和报表订阅
- 📝 更新:权限角色设计
- 新增:需求部门负责人角色
- 区分:接单部门主管 vs 需求部门负责人
- 细化:设计师和需求方的部门归属
- 📝 更新:数据库设计
- 更新:部门表(增加部门类型、消耗限制等字段)
- 新增:部门消耗限制记录表(dept_limit_record)
- 📝 更新:接口设计
- 新增:部门管理模块API(12个接口)
- 新增:需求统计模块API(9个接口)
- 📝 更新:数据字典
- 新增:部门类型枚举(DEMAND/RECEIVER)
- 新增:消耗限制周期枚举(DAILY/WEEKLY/MONTHLY)
- 📝 更新:通知场景(增加4个部门管理相关通知)
- 📝 更新:术语表(增加5个术语)
- 📝 更新:核心亮点(突出部门管理和统计功能)
v1.2 (2025-11-07)
- ✨ 新增:延误扣分机制(4.9.3章节)
- 延误判定标准(4级延误分类)
- 可配置的扣分规则(轻微/一般/严重/重大)
- 延误扣分计算公式和算法
- 设计师延误档案和数据留存
- 延误扣分通知系统
- 延误申诉机制
- ✨ 新增:时效重新计算算法
- 剩余工作量计算
- 设计师熟练度系数
- 设计师负荷系数
- 智能计算新交付时间
- ✨ 新增:延误扣分规则配置(6.1.6章节)
- 可视化规则管理界面
- 延误等级配置(可增删改)
- 扣分规则测试工具
- 申诉审核配置
- 📝 更新:任务转移流程(增加延误检测和扣分步骤)
- 📝 更新:数据库设计
- 新增:延误扣分记录表(delay_penalty_record)
- 新增:延误扣分规则表(delay_penalty_rule)
- 更新:任务调配记录表(增加延误字段)
- 更新:积分记录表(增加延误扣分关联)
- 📝 更新:接口设计
- 新增:延误扣分模块API(7个接口)
- 新增:延误扣分规则配置API(5个接口)
- 更新:设计师模块API(增加延误记录查询)
- 📝 更新:积分变动类型(增加延误扣分和申诉返还)
- 📝 更新:通知场景(增加3个延误相关通知)
- 📝 更新:系统参数配置(增加时效计算相关参数)
v1.1 (2025-11-07)
- ✨ 新增:管理员任务调配模块(四之二章节)
- ✨ 新增:进行中任务转移功能(单个/批量)
- ✨ 新增:任务池管理功能(指定接收人、撤回、推广)
- ✨ 新增:智能推荐算法(推荐最合适的设计师)
- ✨ 新增:任务优先级调整功能
- ✨ 新增:调配日志和统计功能
- ✨ 新增:调配权限审计功能
- 📝 更新:权限角色设计(增加管理员角色)
- 📝 更新:系统模块划分(增加任务调配模块)
- 📝 更新:接口设计(增加13个调配相关API)
- 📝 更新:数据库设计(增加任务调配记录表)
- 📝 更新:通知场景(增加6个调配相关通知)
- 📝 更新:术语表(增加调配相关术语)
v1.0 (2025-11-07)
- 🎉 初始版本发布
- 完整的需求分析和功能设计
- 技术架构和实施方案
祝项目开发顺利! 🎉