dashboardData.ts 5.43 KB
// REQ-USR-003: 主页静态 demo 数据(全量复刻原型内联 kpiRows / 角色树,D1/D2)。
// 不取后端:KPI 看板、角色/流程树均为前端静态配置。

/** KPI 头条统计(复刻原型 .kpi-head) */
export const KPI_STATS = { todayPending: 37428, openTotal: 56433 } as const;

export interface GroupItem {
  label: string;
  count: number;
}

/** 「按角色」分组(复刻原型左侧树第一段;「所有部门」为汇总条) */
export const ROLE_GROUPS: GroupItem[] = [
  { label: '所有部门', count: 37428 },
  { label: '核价人员', count: 17 },
  { label: '销售人员', count: 0 },
  { label: '印前', count: 11 },
  { label: '客服部', count: 30127 },
  { label: '技术研发部', count: 47 },
  { label: '车间主管', count: 316 },
  { label: '工艺部', count: 6 },
  { label: '物控部', count: 728 },
  { label: '生产计划部', count: 225 },
  { label: '版房', count: 120 },
  { label: '生产车间', count: 596 },
  { label: '工艺技术部', count: 0 },
  { label: '品质管理部', count: 589 },
  { label: '储运部', count: 3496 },
  { label: '通用', count: 0 },
  { label: '外发组', count: 867 },
  { label: '材料仓管', count: 0 },
  { label: '机修组', count: 42 },
  { label: '应收', count: 30 },
  { label: '出纳', count: 211 },
  { label: '应付', count: 0 },
  { label: '客服', count: 0 },
];

/** 「按流程」分组(复刻原型左侧树第二段) */
export const PROCESS_GROUPS: GroupItem[] = [
  { label: '估价管理流程', count: 17 },
  { label: '设计制作流程', count: 11 },
  { label: '新品研发流程', count: 11 },
  { label: '材料测试流程', count: 51 },
  { label: '订单下达流程', count: 30118 },
];

/** KPI 网格行(字段名与原型 kpiRows 一致,D2) */
export interface KpiRow {
  role: string | null;
  item: string;
  desc: string;
  today: string;
  total: string;
  sub?: string;
  red?: boolean;
  navTypeFirst?: boolean;
  roleSpan?: number;
  subSpan?: number;
}

/** KPI 网格 7 列表头(逐字复刻原型 kpiHeader) */
export const KPI_HEADERS = [
  '导航类型',
  '角色',
  'KPI待处理事项(当前行双击进入)',
  'KPI内容描述及处理结果(点击蓝色查看明细)',
  '今日未处理',
  '未清总数',
  '子流程',
] as const;

/** 全量复刻原型 kpiRows(17 行) */
export const KPI_ROWS: KpiRow[] = [
  // group 1: 估价管理流程 — 5 rows, 核价人员 span 4, 销售人员 1
  { role: '核价人员', item: '01/04【新增】新报价单', desc: '报价单明细', today: '-', total: '-', sub: '估价管理流程', navTypeFirst: true, roleSpan: 4, subSpan: 5 },
  { role: null, item: '02/04 审核后报价单->客户确认价格', desc: '报价单明细', today: '16', total: '16', red: true },
  { role: null, item: '03/04 客户不认可->二次确认', desc: '报价单明细', today: '-', total: '-' },
  { role: null, item: '04/04 报价单->销售订单', desc: '销售订单明细', today: '1', total: '1', red: true },
  { role: '销售人员', item: '04/04 报价单->销售订单(标签)', desc: '销售订单明细(标签)', today: '0', total: '0', red: true },
  // group 2: 设计制作流程 — 印前 (2 rows), span 2
  { role: '印前', item: '1/2 新增设计申请单', desc: '设计申请明细', today: '-', total: '-', sub: '设计制作流程', roleSpan: 2, subSpan: 2 },
  { role: null, item: '2/2 设计申请->设计制作', desc: '根据设计申请单进行设计制作,当日16:00前审核的为今日任务,16:00后(含)顺延至次日', today: '11', total: '11', red: true },
  // group 3: 新品研发流程
  { role: '客服部', item: '1/1 研发申请->文件制作', desc: '根据研发申请单,制作电子文件,当日16:00前下达的为今日任务,16:00后(含)顺延至次日', today: '0', total: '12', red: true, sub: '新品研发流程', subSpan: 5 },
  { role: '客服部', item: '1/5 新增研发申请单', desc: '研发申请明细', today: '-', total: '-' },
  { role: '技术研发部', item: '2/5 研发申请>>研发工单', desc: '及时开立研发工单,当日16:00前审核的为今日任务,16:00后(含)顺延至次日', today: '4', total: '4', red: true, roleSpan: 2 },
  { role: null, item: '3/5 研发工单>>完工处理', desc: '计划人员在交货日期前确认工单完工', today: '7', total: '7', red: true },
  { role: '客服部', item: '4/5 研发工单->客户确认', desc: '工单完工后需在7天内和客户确认样品', today: '-', total: '2703' },
  { role: '技术研发部', item: '5/5 客户确认->工艺卡', desc: '根据客户已经确认的研发工单,生成产品工艺卡。当日16:00前确认的为今日任务,16:00后(含)顺延至次日', today: '0', total: '1632', red: true, sub: '', subSpan: 0 },
  // group 4: 材料测试流程
  { role: '车间主管', item: '1/3 工单(测试部门数)->车间反馈', desc: '车间主管在工单完工前对测试材料进行数据反馈', today: '10', total: '115', red: true, sub: '材料测试流程', subSpan: 3 },
  { role: null, item: '2/3 车间反馈->车间补充(多部门)', desc: '补充新材料测试信息,车间反馈次日16:00前的为当日任务,16:00后(含)顺延一日', today: '8', total: '8', red: true, roleSpan: 2 },
  { role: '技术研发部', item: '2/3 车间反馈->工程部反馈(单部门)', desc: '工程部对新材料的测试结果进行反馈,车间反馈次日16:00前的为当日任务,16:00后(含)顺延一日', today: '23', total: '23', red: true },
];