# 设计师任务抢单管理系统 - 项目需求文档 ## 📋 项目概述 ### 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 部门类型权限控制 **权限验证规则** ```javascript // 发起任务权限验证 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周] │ │ │ │ [重置为默认] [保存配置] │ └──────────────────────────────────────────────┘ ``` **消耗限制算法** ```javascript // 检查是否可以发起任务 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 数量输入与积分计算 **实时计算逻辑** ```javascript 总积分 = 需求类型单价 × 数量 预估完成时间 = 需求类型耗时 × 数量 ``` **积分验证机制** ``` 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 抢单机制 #### 抢单规则 1. **资格校验** - 用户角色为设计师 - 账号状态正常 - 当前任务负荷未超限(可配置) 2. **抢单冲突处理** - 并发控制:乐观锁/悲观锁 - 先到先得原则 - 数量限制(一个任务可被多人抢,每人抢部分数量) 3. **抢单确认** - 显示任务详细信息 - 确认接收数量 - 填写预计完成时间 - 填写交付地址信息 #### 抢单后流程 ``` 抢单成功 → 任务进入"我的任务" → 开始计时 → 设计师进度大厅更新 ``` ### 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. 点击"审核通过"按钮 2. 填写五星评价 - 质量评分(1-5星) - 时效评分(1-5星) - 沟通评分(1-5星) - 综合评分(自动计算平均值) - 评价内容(文字,可选) 3. 确认提交 4. 积分奖励发放给设计师 5. 任务状态更新为"已完成" **评价维度建议** ``` ┌──────────────────────────┐ │ 任务完成评价 │ ├──────────────────────────┤ │ 质量评分:★★★★★ │ │ 时效评分:★★★★☆ │ │ 沟通评分:★★★★★ │ │ ────────────────────── │ │ 综合评分:4.7分 │ │ ────────────────────── │ │ 评价内容: │ │ [文本框] │ │ 设计质量很高,符合要求... │ │ │ │ [取消] [提交] │ └──────────────────────────┘ ``` #### 打回修改 1. 点击"打回修改"按钮 2. 填写打回原因(必填) 3. 上传标注图片(可选) 4. 设置最晚交付时间(必填) 5. 确认提交 6. 发送通知给设计师 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. **负荷不均衡**:从繁忙设计师转移任务给空闲设计师 3. **技能匹配**:转移给更擅长该类型的设计师 4. **任务延期**:转移给效率更高的设计师加急处理 5. **质量问题**:转移给经验更丰富的设计师 **转移操作流程** **步骤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分 | **扣分计算公式** ```javascript 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分 │ │ │ │ [查看详情] [申诉] │ └─────────────────────────────────────┘ ``` **延误申诉机制** 设计师如果认为延误有正当理由,可以提出申诉: 1. 填写申诉原因 2. 上传证明材料(如病假条、邮件截图等) 3. 提交给管理员审核 4. 管理员审核通过后可撤销扣分或减少扣分 5. 记录申诉历史 **时效重新计算算法** ```javascript 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 智能推荐算法 **推荐设计师的评分算法** ```javascript 推荐分数 = 负荷权重 × (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天!积分即将清零" **智能建议功能** 系统根据剩余积分和常用任务类型,自动计算并推荐可发起的任务数量: ```javascript // 智能建议算法 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. 通知数据结构设计** 所有站内通知消息必须包含钉钉推送所需字段: ```javascript // 通知消息统一数据结构 { // 基础信息 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. 钉钉消息推送接口封装** ```javascript // 钉钉通知推送服务 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. 通知队列机制(推荐)** ```javascript // 使用消息队列异步处理钉钉推送 // 避免同步推送影响主业务性能 // 发送通知时 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. 数据库表设计(通知表扩展字段)** ```sql -- 通知消息表 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 响应格式 **成功响应** ```json { "code": 200, "message": "success", "data": { // 业务数据 }, "timestamp": 1699344000000 } ``` **失败响应** ```json { "code": 400, "message": "参数错误", "data": null, "timestamp": 1699344000000 } ``` **分页响应** ```json { "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) **字体家族** ```css /* 主字体(参考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 阴影系统 ```css /* 轻微阴影(悬浮卡片) */ 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 流畅体验) ```css /* 标准过渡时间 */ --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)** ```css /* 主按钮(品牌色) */ .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)** ```css .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)** ```css .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) ⚙️ 👤 张三 │ │ [通知] [设置] [用户] │ └─────────────────────────────────────────────────────────┘ ``` **详细样式说明** ```css /* 导航栏容器 */ .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天,快抓紧时间发起任务吧! │ │ │ │ [+ 发起新任务] [查看任务进度] │ │ │ └───────────────────────────────────────────────────────┘ ``` **样式实现** ```css .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 │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ ``` **样式实现** ```css .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% │ │ │ └────────────────────┘ │ │ └───────────────────┘ │ │ │ │ │ │ [查看全部任务 →] │ │ [查看详细报表 →] │ └──────────────────────────┘ └─────────────────────────┘ ``` **样式实现** ```css .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! │ │ │ └─────────────────────────────────────────────────────┘ ``` **样式实现** ```css .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 - 导航栏折叠为汉堡菜单 ```css @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 开源认证系统推荐 1. **Casdoor** - 官网:https://casdoor.org/ - 特点:UI友好,易于集成,支持多种身份提供商 2. **Keycloak** - 官网:https://www.keycloak.org/ - 特点:功能强大,企业级,支持复杂场景 3. **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 联系方式 - 项目负责人:[姓名] - 技术负责人:[姓名] - 产品负责人:[姓名] --- ## 📌 总结 本系统是一个**设计师任务抢单管理平台**,核心目标是: 1. ✅ 提高任务分配效率 2. ✅ 实现进度透明化管理 3. ✅ 建立公平的积分激励机制 4. ✅ 提供多维度的数据分析 **核心亮点**: - 🎯 灵活的任务发布方式(指定/招募/分配) - 🔄 **强大的任务调配功能(管理员可灵活调配进行中任务和任务池)** - 🏢 **清晰的部门职责划分(需求部门 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)** - 🎉 初始版本发布 - 完整的需求分析和功能设计 - 技术架构和实施方案 --- **祝项目开发顺利!** 🎉