feat(projects): 工作台部分组件调成真实数据
This commit is contained in:
@@ -2,12 +2,9 @@ import dayjs from 'dayjs';
|
||||
import type {
|
||||
WorkbenchActivityItemSource,
|
||||
WorkbenchKpiSource,
|
||||
WorkbenchMyExecutionItemSource,
|
||||
WorkbenchMyWeekWorklogSource,
|
||||
WorkbenchOwnedProjectItemSource,
|
||||
WorkbenchProgressBarSource,
|
||||
WorkbenchProjectHealthCardSource,
|
||||
WorkbenchProjectItemSource,
|
||||
WorkbenchTeamLoadSource,
|
||||
WorkbenchTeamWorklogSource,
|
||||
WorkbenchTodoItemSource
|
||||
@@ -208,245 +205,6 @@ export const workbenchActivityMock = [
|
||||
}
|
||||
] satisfies WorkbenchActivityItemSource[];
|
||||
|
||||
export const workbenchMyExecutionMock = [
|
||||
// 商城 V2 升级 · 3 条(分组测试主项目)
|
||||
{
|
||||
id: 'exec-1',
|
||||
executionName: '迭代 24.05 · 后端联调',
|
||||
projectId: 'prj-mall-v2',
|
||||
projectName: '商城 V2 升级',
|
||||
statusCode: 'active',
|
||||
statusName: '进行中',
|
||||
priority: '1',
|
||||
plannedStartDate: iso(now.subtract(10, 'day').startOf('day')),
|
||||
plannedEndDate: iso(now.add(3, 'day').endOf('day')),
|
||||
actualStartDate: iso(now.subtract(8, 'day').startOf('day')),
|
||||
actualEndDate: null,
|
||||
progressRate: 68,
|
||||
projectRequirementId: 'req-mall-001',
|
||||
projectRequirementName: '订单履约后端拆分(一期)'
|
||||
},
|
||||
{
|
||||
id: 'exec-2',
|
||||
executionName: '会员等级提示文案',
|
||||
projectId: 'prj-mall-v2',
|
||||
projectName: '商城 V2 升级',
|
||||
statusCode: 'active',
|
||||
statusName: '进行中',
|
||||
priority: '3',
|
||||
plannedStartDate: iso(now.subtract(4, 'day').startOf('day')),
|
||||
plannedEndDate: iso(now.add(6, 'day').endOf('day')),
|
||||
actualStartDate: iso(now.subtract(3, 'day').startOf('day')),
|
||||
actualEndDate: null,
|
||||
progressRate: 25,
|
||||
projectRequirementId: 'req-mall-002',
|
||||
projectRequirementName: '会员等级 UI 升级'
|
||||
},
|
||||
{
|
||||
id: 'exec-3',
|
||||
executionName: '订单退款流程拆分',
|
||||
projectId: 'prj-mall-v2',
|
||||
projectName: '商城 V2 升级',
|
||||
statusCode: 'paused',
|
||||
statusName: '已暂停',
|
||||
priority: '2',
|
||||
plannedStartDate: iso(now.subtract(20, 'day').startOf('day')),
|
||||
plannedEndDate: iso(now.add(10, 'day').endOf('day')),
|
||||
actualStartDate: iso(now.subtract(15, 'day').startOf('day')),
|
||||
actualEndDate: null,
|
||||
progressRate: 50
|
||||
},
|
||||
// 风控引擎 · 2 条(含一条计划已过期)
|
||||
{
|
||||
id: 'exec-4',
|
||||
executionName: '关键路径优化',
|
||||
projectId: 'prj-risk',
|
||||
projectName: '风控引擎',
|
||||
statusCode: 'active',
|
||||
statusName: '进行中',
|
||||
priority: '1',
|
||||
plannedStartDate: iso(now.subtract(20, 'day').startOf('day')),
|
||||
plannedEndDate: iso(now.subtract(2, 'day').endOf('day')),
|
||||
actualStartDate: iso(now.subtract(18, 'day').startOf('day')),
|
||||
actualEndDate: null,
|
||||
progressRate: 42,
|
||||
projectRequirementId: 'req-risk-001',
|
||||
projectRequirementName: '风控决策链路压缩'
|
||||
},
|
||||
{
|
||||
id: 'exec-5',
|
||||
executionName: '黑名单规则改造',
|
||||
projectId: 'prj-risk',
|
||||
projectName: '风控引擎',
|
||||
statusCode: 'pending',
|
||||
statusName: '待开始',
|
||||
priority: '3',
|
||||
plannedStartDate: iso(now.add(5, 'day').startOf('day')),
|
||||
plannedEndDate: iso(now.add(20, 'day').endOf('day')),
|
||||
actualStartDate: null,
|
||||
actualEndDate: null,
|
||||
progressRate: 0
|
||||
},
|
||||
// 收银台 V3 · 1 条
|
||||
{
|
||||
id: 'exec-6',
|
||||
executionName: '多币种支持 · 计算引擎',
|
||||
projectId: 'prj-cashier',
|
||||
projectName: '收银台 V3',
|
||||
statusCode: 'pending',
|
||||
statusName: '待开始',
|
||||
priority: '2',
|
||||
plannedStartDate: iso(now.add(2, 'day').startOf('day')),
|
||||
plannedEndDate: iso(now.add(15, 'day').endOf('day')),
|
||||
actualStartDate: null,
|
||||
actualEndDate: null,
|
||||
progressRate: 0,
|
||||
projectRequirementId: 'req-cashier-001',
|
||||
projectRequirementName: '多币种结算(含汇率快照)'
|
||||
},
|
||||
// 订单中心 · 1 条
|
||||
{
|
||||
id: 'exec-7',
|
||||
executionName: '订单导出 V2',
|
||||
projectId: 'prj-order',
|
||||
projectName: '订单中心',
|
||||
statusCode: 'active',
|
||||
statusName: '进行中',
|
||||
priority: '4',
|
||||
plannedStartDate: iso(now.subtract(15, 'day').startOf('day')),
|
||||
plannedEndDate: iso(now.add(7, 'day').endOf('day')),
|
||||
actualStartDate: iso(now.subtract(12, 'day').startOf('day')),
|
||||
actualEndDate: null,
|
||||
progressRate: 35
|
||||
},
|
||||
// 已完成 —— builder 应过滤掉
|
||||
{
|
||||
id: 'exec-8',
|
||||
executionName: '上一迭代 · 前端联调',
|
||||
projectId: 'prj-mall-v2',
|
||||
projectName: '商城 V2 升级',
|
||||
statusCode: 'completed',
|
||||
statusName: '已完成',
|
||||
priority: '3',
|
||||
plannedStartDate: iso(now.subtract(40, 'day').startOf('day')),
|
||||
plannedEndDate: iso(now.subtract(15, 'day').endOf('day')),
|
||||
actualStartDate: iso(now.subtract(38, 'day').startOf('day')),
|
||||
actualEndDate: iso(now.subtract(14, 'day').endOf('day')),
|
||||
progressRate: 100
|
||||
},
|
||||
// 已取消 —— builder 应过滤掉
|
||||
{
|
||||
id: 'exec-9',
|
||||
executionName: '促销活动 · 春节专题',
|
||||
projectId: 'prj-marketing',
|
||||
projectName: '营销中台',
|
||||
statusCode: 'cancelled',
|
||||
statusName: '已取消',
|
||||
priority: '3',
|
||||
plannedStartDate: iso(now.subtract(30, 'day').startOf('day')),
|
||||
plannedEndDate: iso(now.subtract(10, 'day').endOf('day')),
|
||||
actualStartDate: null,
|
||||
actualEndDate: null,
|
||||
progressRate: 15
|
||||
},
|
||||
// 进度 100 但状态未扭转 —— builder 应过滤掉
|
||||
{
|
||||
id: 'exec-10',
|
||||
executionName: '风控规则升级(待扭转)',
|
||||
projectId: 'prj-risk',
|
||||
projectName: '风控引擎',
|
||||
statusCode: 'active',
|
||||
statusName: '进行中',
|
||||
priority: '2',
|
||||
plannedStartDate: iso(now.subtract(8, 'day').startOf('day')),
|
||||
plannedEndDate: iso(now.add(1, 'day').endOf('day')),
|
||||
actualStartDate: iso(now.subtract(6, 'day').startOf('day')),
|
||||
actualEndDate: null,
|
||||
progressRate: 100
|
||||
}
|
||||
] satisfies WorkbenchMyExecutionItemSource[];
|
||||
|
||||
export const workbenchOwnedProjectMock = [
|
||||
{
|
||||
id: 'p1',
|
||||
name: '商城 V2 升级',
|
||||
code: 'MALL-V2',
|
||||
progress: 70,
|
||||
executionCount: 5,
|
||||
taskCount: 32,
|
||||
memberCount: 6,
|
||||
overdueCount: 1,
|
||||
remainingDays: 12,
|
||||
myRole: '项目负责人',
|
||||
milestones: [
|
||||
{ id: 'm1', title: 'SSO 改造提测', timeLabel: '今日 18:00', tone: 'amber' },
|
||||
{ id: 'm2', title: '迭代 24.05 关闭', timeLabel: '今日', tone: 'amber' },
|
||||
{ id: 'm3', title: '多币种支持评审', timeLabel: '05-26', tone: 'slate' }
|
||||
],
|
||||
members: [
|
||||
{ name: '张三', load: 50, level: 'ok' },
|
||||
{ name: '李四', load: 30, level: 'ok' },
|
||||
{ name: '王五', load: 90, level: 'over' }
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'p2',
|
||||
name: '风控引擎接入',
|
||||
code: 'RISK-ENGINE',
|
||||
progress: 45,
|
||||
executionCount: 3,
|
||||
taskCount: 18,
|
||||
memberCount: 4,
|
||||
overdueCount: 2,
|
||||
remainingDays: 30,
|
||||
myRole: '项目负责人',
|
||||
milestones: [
|
||||
{ id: 'm4', title: '分片设计评审', timeLabel: '明日', tone: 'amber' },
|
||||
{ id: 'm5', title: '缓存穿透优化交付', timeLabel: '05-28', tone: 'slate' }
|
||||
],
|
||||
members: [
|
||||
{ name: '李四', load: 30, level: 'ok' },
|
||||
{ name: '钱七', load: 65, level: 'warn' }
|
||||
]
|
||||
}
|
||||
] satisfies WorkbenchOwnedProjectItemSource[];
|
||||
|
||||
export const workbenchProjectMock = [
|
||||
{
|
||||
id: 'prj-1',
|
||||
name: '收银台 V3',
|
||||
code: 'CASHIER-V3',
|
||||
status: 'active',
|
||||
myRole: '项目负责人',
|
||||
progress: 72,
|
||||
myTaskCount: 6,
|
||||
myPendingTaskCount: 2,
|
||||
lastActiveTime: iso(now.subtract(35, 'minute'))
|
||||
},
|
||||
{
|
||||
id: 'prj-2',
|
||||
name: '会员中心',
|
||||
code: 'MEMBER',
|
||||
status: 'active',
|
||||
myRole: '后端负责人',
|
||||
progress: 58,
|
||||
myTaskCount: 4,
|
||||
myPendingTaskCount: 1,
|
||||
lastActiveTime: iso(now.subtract(3, 'hour'))
|
||||
},
|
||||
{
|
||||
id: 'prj-3',
|
||||
name: '订单中心',
|
||||
code: 'ORDER-CENTER',
|
||||
status: 'preview',
|
||||
myRole: '产品经理',
|
||||
progress: 95,
|
||||
myTaskCount: 4,
|
||||
myPendingTaskCount: 0,
|
||||
lastActiveTime: iso(now.subtract(2, 'day').hour(10))
|
||||
}
|
||||
] satisfies WorkbenchProjectItemSource[];
|
||||
|
||||
const currentWeekStart = now.startOf('isoWeek').format('YYYY-MM-DD');
|
||||
const previousWeekStart = now.subtract(1, 'week').startOf('isoWeek').format('YYYY-MM-DD');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user