正在加载,请稍候…
加载较慢或资源未能就绪
请检查网络后刷新页面(Ctrl + F5)
⚠️ 无法连接平台服务,数据可能不完整。正在自动重试(每10秒)…
选择跟单员:
🔄 中台数据同步完成,订单数据已更新
⏳ 收到新的延期申请
{{ delayToast }}
供应商筛选 已筛选:{{ portalSupplierFilter.code }} {{ portalSupplierFilter.name }} 当前范围:全部供应商({{ portalScope.supplierCount || 0 }} 家有数据)
无匹配供应商
在途项目
{{ portalSix.activeProjects || 0 }}
占总数 {{ portalSix.totalProjects || 0 }} 的 {{ portalSix.projectsRatio || 0 }}%
在途订单
{{ portalSix.active || 0 }}
占总数 {{ portalSix.total || 0 }} 的 {{ portalSix.activeRatio || 0 }}%
在途产前样订单
{{ portalSix.sampleActive || 0 }}
占总数 {{ portalSix.sampleTotal || 0 }} 的 {{ portalSix.sampleRatio || 0 }}%
7天内到期 ✔
{{ portalSix.dueIn7 || 0 }}
其中今日到期 {{ portalSix.dueToday || 0 }}
已逾期未交付 ✔
{{ portalSix.overdueUndone || 0 }}
交期已过 & 仍未完工
预警
{{ portalSix.alertTotal || 0 }}
红 {{ portalSix.alertRed || 0 }} · 橙 {{ portalSix.alertOrange || 0 }} · 黄 {{ portalSix.alertYellow || 0 }}
加载中…
订单看板 · 交期视图 {{ portalBoardOrders.length }} 个PO 逾期 {{ portalBoardOverdueCount }} {{ portalQuickFilter==='due7' ? '仅看 7 天内到期' : '仅看已逾期未交付' }} ×
已选定 {{ portalDayFilter }} ×
类型: 产前样 大货样 大货 同一 PO 同时含大货样与大货时,两边的最后交期会各出现一次(带 ⇄ 标记)
{{ d.key.slice(5).replace('-', '/') }}
{{ d.count }}
逾期 {{ d.overdueCount }}
{{ it.poCode }}⇄ {{ it.type }} {{ it.supplierName }}
请选择日期范围
订单 {{ portalBoardOrders.length }} 个PO 逾期 {{ portalBoardOverdueCount }} {{ portalQuickFilter==='due7' ? '仅看 7 天内到期' : '仅看已逾期未交付' }} × 交期 {{ portalDayFilter }} · 取消选定
{{ portalDayFilter ? '该日期没有订单' : (portalQuickFilter ? '没有符合条件的订单' : '暂无订单') }}
PO号采购类型供应商项目交期(按采购类型)物料数总数量操作
{{ r.poCode }} {{ r.poTypeLabel }} {{ r.supplierName }} {{ r.projectCode ? (r.projectCode + ' - ' + r.projectName) : '-' }} {{ m.type }} {{ m.date ? m.date.slice(5) : '未填' }} {{ r.materialCount }} {{ r.totalQty }}
每页最多 {{ PORTAL_ORDER_PAGE_SIZE }} 条
统计维度: (按{{ alertDimUnit }}统计)
{{ viewMode==='tracker' ? '我的订单(PO)' : '总订单数(PO)' }}
{{ overview.totalOrders || 0 }}
{{ overview.activeOrders || 0 }} 个PO进行中 · {{ overview.totalOrderLines || 0 }} 条物料行
红色预警
{{ overview.redAlerts || 0 }}
需立即处理
橙色预警
{{ overview.orangeAlerts || 0 }}
跟单员需介入
黄色提醒
{{ overview.yellowAlerts || 0 }}
已自动提醒
准时率
{{ overview.onTimeRateDisplay || ((overview.onTimeRate || 0) + '%') }}
{{ overview.completedOrders || 0 }} 个PO已完成
{{ viewMode==='tracker' ? '涉及项目' : '活跃项目(PI)' }}
{{ viewMode==='tracker' ? (overview.totalProjects || 0) : (overview.activeProjects || 0) }}
{{ overview.totalSuppliers || 0 }} 家供应商 | {{ overview.productTypeCount || 0 }} 种产品类型
{{ viewMode==='tracker' ? '我的待处理预警' : '活跃预警' }}
[ ]
暂无活跃预警
!
{{ alert.summary || alert.message }}
{{ alert.order ? alert.order.orderCode : '' }} | {{ alert.order ? alert.order.productName : '' }} | {{ alert.supplier ? alert.supplier.name : '' }}
跟单员: {{ alert.tracker.name }} | 创建: {{ formatDateTime(alert.earliestCreated || alert.createdAt) }} | 截止: {{ formatDate(alert.firstPlannedDate) }}
去处理 查看供应商 无供应商信息
{{ viewMode==='abnormal' ? '异常项目' : viewMode==='normal' ? '正常项目' : '项目风险概览' }}
{{ projectSearch ? '未找到匹配的项目' : '暂无项目' }}
{{ p.code }} {{ p.name }}
{{ p.redAlerts }} 红 {{ p.orangeAlerts }} 橙
{{ p.orderCount }} 个PO | 完成 {{ p.completedOrderCount }} 个PO | {{ p.supplierCount }} 家供应商
{{ projectFilter==='abnormal' ? '异常项目列表' : projectFilter==='normal' ? '正常项目列表' : '项目列表' }}
{{ projectSearch ? '未找到匹配的项目' : '暂无项目' }}
风险 项目编号 项目名称 客户 交货日期 订单数(PO) 进行中 已完成 完成率 供应商数 预警
{{ p.code }} {{ p.name }} {{ p.customer }} {{ formatDate(p.deliveryDate) }} {{ p.orderCount }} {{ p.activeOrderCount }} {{ p.completedOrderCount }} {{ p.orderCount ? Math.round(p.completedOrderCount / p.orderCount * 100) + '%' : '-' }} {{ p.supplierCount }} {{ p.redAlerts }}红 {{ p.orangeAlerts }}橙 {{ p.activeAlerts - p.redAlerts - p.orangeAlerts }}黄 正常
延期审批 待审批 {{ delayPendingCount }} 供应商报工时的延期申请,须跟单审批后才生效
{{ delayList.length }} 条
已选 {{ delaySelected.length }} 条
{{ delayTab==='pending' ? '暂无待审批的延期申请' : '暂无审批记录' }}
PO号 / 供应商 物料 节点 原计划 → 申请延期至 延期 原因 影响大货 审批结果 申请时间 操作
{{ r.orderCode }}
{{ r.supplierName }}
{{ r.materialName || '—' }}
{{ r.materialCode }}
{{ r.nodeName }} {{ (r.oldDate||'').slice(0,10) }} → {{ (r.newDate||'').slice(0,10) }} {{ delayDays(r) }} 天 {{ r.reason }} 影响 — {{ r.status==='approved' ? '已同意' : '已驳回' }}
{{ r.reviewedBy }}
意见:{{ r.reviewComment }}
{{ formatDateTime(r.requestedAt) }}
进行中 ({{ orderPoStats.active }})
已完成 ({{ orderPoStats.completed }})
全部 ({{ orderPoStats.total }})
{{ viewMode==='tracker' ? '我的订单' : '订单列表' }}
[ ]
暂无订单
{{ g.poCode }} {{ g.poTypeLabel }} {{ g.supplier ? g.supplier.name : '-' }} {{ g.project.code }}
交期 {{ formatDate(g.deliveryDate) }} {{ g.materialCount }} 个物料 总量 {{ g.totalQty }} {{ g.undone ? '进行中' : '已完成' }}
风险 采购类型 物料编码 物料名称 后道 物料分组 跟单员 数量 进度 状态 当前节点
{{ o.poType || '大货' }} {{ o.materialCode || '-' }} {{ o.productName }} {{ o.postProcess || '-' }} {{ o.materialGroup || '-' }} {{ o.tracker ? o.tracker.name : '-' }} {{ o.quantity }} {{ o.unit }}
{{ o.completedNodes || 0 }}/{{ o.nodeCount || 0 }}
{{ statusLabel(o.status) }} {{ currentNodeName(o) }}
[ ]
暂无订单
订单编号 采购类型 供应商 项目 交期 物料数 总量 进度 状态 操作
共 {{ orderTotal }} 个采购单(PO),每页 {{ PO_PAGE_SIZE }} 个 第 {{ orderPage }} / {{ orderTotalPages }} 页
关注品类
{{ keyFocusOverview.materialGroups ? keyFocusOverview.materialGroups.join('、') : '-' }}
{{ keyFocusOverview.totalOrders || 0 }} 个订单 / {{ keyFocusOverview.totalProjects || 0 }} 个项目
红色预警
{{ keyFocusOverview.redAlerts || 0 }}
预警共 {{ keyFocusOverview.totalAlerts || 0 }} 条
逾期订单
{{ keyFocusOverview.overdueOrders || 0 }}
进行中 {{ keyFocusOverview.activeOrders || 0 }} 个
平均进度
{{ keyFocusOverview.avgProgress || 0 }}%
{{ keyFocusOverview.totalSuppliers || 0 }} 家供应商
风险 订单编号 采购类型 物料名称 后道 物料分组 供应商 跟单员 项目 销售项目名称 数量 交货日期 进度 状态 当前节点
{{ o.orderCode }} {{ o.poType || '大货' }} {{ o.materialName }} {{ o.postProcess || '-' }} {{ o.materialGroup || '-' }} {{ o.supplierName || '-' }} {{ o.trackerName || '-' }} {{ o.projectCode || '-' }} {{ o.projectName || '-' }} {{ o.quantity }} {{ o.unit }} {{ formatDate(o.deliveryDate) }} ⚠逾期
{{ o.progressPct || 0 }}%
{{ statusLabel(o.status) }} {{ o.currentNode || '-' }}
暂无重点关注订单
{{ p.name || p.code }} {{ p.redAlerts }}红 {{ p.alertCount }}预警 正常
订单数 {{ p.orderCount }} (完成{{ p.completedOrders }})
供应商 {{ p.suppliers ? p.suppliers.length : 0 }} 家
平均进度 {{ p.avgProgress }}%
暂无重点关注项目
品类分组统计
物料分组 订单总数 进行中 预警总数 红色预警 平均进度
{{ g.materialGroup }} {{ g.orderCount }} {{ g.activeOrders }} {{ g.alerts }} {{ g.redAlerts }}
{{ g.avgProgress }}%
跟单员总数
{{ teamStats.trackers ? teamStats.trackers.length : 0 }}
{{ teamStats.teams ? teamStats.teams.length : 0 }} 个小组
团队总订单
{{ teamTotalOrders }}
进行中 {{ teamTotalActive }}
红色预警
{{ teamTotalRed }}
需关注
团队平均准时率
{{ teamAvgOnTime }}%
全员平均值
{{ team.team }}
{{ team.totalOrders }} 订单 {{ team.totalRed }} 红色预警 准时率 {{ team.avgOnTimeRate }}%
{{ t.avatar }}
{{ t.name }}
{{ t.team }}
订单
{{ t.totalOrders }}
进行中
{{ t.activeOrders }}
预警
{{ t.activeAlerts }}
准时率
{{ t.onTimeRate }}%
{{ t.redAlerts }} 个红色预警
Excel订单导入
使用说明:
1. 点击上方"下载模板"获取标准Excel模板(也可使用采购系统导出的Excel)
2. 将订单数据填入Excel,确保包含:销售项目编号、供应商、单据编号、类型I、物料编码、物料名称、后道、采购数量等必填列("后道"填写特殊工艺,如 烫印/UV/滚金边,基表中TS工艺仅在后道命中时才计算)
3. 交货日期取数规则:系统按"类型I"自动取对应日期列——产前样→"产前样-预计完成时间"、大货样→"大货样-预计完成时间"、大货→"大货-计划出货时间";请确保对应类型列已填写
4. 点击下方区域上传Excel文件,系统将自动解析并导入订单
5. 导入模式:增量导入 — 已存在的订单号将更新,新订单将自动创建供应商、项目和工艺节点
⚠ 权限限制:手动导入仅限主管理员、管理员使用。
📂
点击或拖拽Excel文件到此处
支持 .xlsx / .xls 格式
📄
{{ importFile.name }}
{{ formatFileSize(importFile.size) }}
导入预览差异
新增 {{ importPreview.summary.createdCount }} 条
更新 {{ importPreview.summary.updatedCount }} 条
关闭 {{ importPreview.summary.closedCount }} 条
跳过 {{ importPreview.summary.skippedCount }} 条
新供应商 {{ importPreview.summary.newSupplierCount }} 个
同交期合并数量 {{ importPreview.summary.mergedRows }} 行
交期不一致拆分 {{ importPreview.summary.splitWarningCount }} 处(需人工介入)
以下 PO 因相同物料出现多条不一致的交期变更,导入时将拆分为多行(第一条保留报工进度,新拆分行报工状态初始化),请人工介入核对:
{{ w.message }}(物料编码:{{ w.materialCode }})
新增订单({{ importPreview.created.length }})
订单号供应商交货日期物料数量
{{ c.orderCode }}{{ c.supplierName }}{{ c.deliveryDate }}{{ c.materialName }}{{ c.quantity }}
更新订单({{ importPreview.updated.length }})
订单号供应商变化字段原交期新交期
{{ u.orderCode }}{{ u.supplierName }}{{ u.changes }}{{ u.oldDeliveryDate }}{{ u.newDeliveryDate }}
将关闭订单({{ importPreview.closed.length }})
订单号供应商当前状态
{{ c.orderCode }}{{ c.supplierName }}{{ c.currentStatus }}
{{ importProgress || 0 }}%
{{ importProgressMsg || '正在解析和导入,请稍候...' }}
新增订单
{{ importResult.created }}
更新订单
{{ importResult.updated }}
已恢复
{{ importResult.reactivated || 0 }}
已关闭
{{ importResult.closed || 0 }}
错误
{{ importResult.errors.length }}
新增 {{ importResult.newSuppliers }} 家供应商 新增 {{ importResult.newProjects }} 个项目 新增 {{ importResult.newTrackersCount }} 名跟单员 同交期合并数量 {{ importResult.mergedRows }} 行
⚠ 需人工介入({{ importResult.splitWarnings.length }} 处):以下 PO 因相同物料出现多条不一致的交期变更,已拆分为多行数据(第一条保留报工进度,新拆分行报工状态初始化):
{{ w.message }}(物料编码:{{ w.materialCode }})
以下跟单员原不在档案中,已自动建档并开通登录账号
初始密码统一为 Track@2026,请提醒他们尽快修改密码;可到「系统设置 - 跟单员档案」改名或合并。
{{ nt.name }} — 账号 {{ nt.username }}
错误详情 (前{{ Math.min(importResult.errors.length, 20) }}条)
{{ err.orderCode }}: {{ err.error }}
已跳过 {{ importResult.parseSkipped }} 行(缺少有效交货日期,未计入导入,不影响其余数据)
{{ s.orderCode }}: {{ s.reason }}
导入完成后数据统计:{{ importResultStats.suppliers }} 家供应商 | {{ importResultStats.projects }} 个项目(PI) | {{ importResultStats.orders }} 个采购单(PO) | {{ importResultStats.alerts }} 条预警(物料)
!
导入失败
{{ importError }}
Excel文件夹自动导入 未启用 已启用
功能说明:将Excel文件放入服务器 import-watch/ 目录,系统会自动扫描并导入。
导入完成后文件自动移动到 import-watch/processed/ 目录。
适合定期从采购系统导出Excel放到固定目录自动同步的场景。
⚠ 已开启"关闭缺失订单":每次导入时,不在Excel中的活跃订单将被自动关闭。请确认放入的是全量订单表。
进行中 ({{ orderChangeStats.active }})
已完成 ({{ orderChangeStats.completed }})
全部 ({{ orderChangeStats.total }})
清单展示全部变更记录(按更新时间倒序,每页 {{ ORDER_CHANGE_PAGE_SIZE }} 个采购单);左侧导航角标的数字仅为当日更新的采购单数。 今日({{ orderChangeToday.date }})更新 {{ orderChangeToday.poCount }} 个 PO。
[ ]
暂无变更记录(导入订单且物料明细发生变化后才会生成)
更新日期 单据编号 供应商 类型 物料编码 物料名称 尺寸信息 材质 印刷 后道 采购数量 交货日期 变更类型 操作
{{ isOrderChangePoExpanded(g.poCode) ? '▾' : '▸' }} {{ g.poCode }} {{ g.items.length }} 个物料 {{ g.supplierName || '-' }} {{ t }} 更新 {{ formatDate(g.updatedAt) }}
共 {{ orderChangePageInfo.total }} 个采购单(PO),每页 {{ ORDER_CHANGE_PAGE_SIZE }} 个 第 {{ orderChangePage }} / {{ orderChangePageInfo.totalPages }} 页
基表管理
订单类型:
修改基表后仅对新导入/新创建的订单生效;已有订单需点击品类下方的「应用到未开工订单」才会按新基表重建节点(只重建所有节点均无报工进度的订单,有进度的订单一律跳过保护数据)。
加载中...
物料品类 物料分组 序号 工艺节点 标准工时(天) 标准工时(小时) 操作
该订单类型暂无基表数据
按订单类型(产前样/大货样/大货)分别配置预警阈值。
大货/大货样:三级阈值模式,超期比例 = 超期天数 ÷ 标准工时天数,超过对应阈值触发相应级别预警。
产前样:单阈值模式,超期比例 ≥ 阈值即触发红色预警(记录 #20)。
说明:超期天数 = 当前日期 - 计划完成日期(仅对 pending 节点计算)
加载中...
订单类型 阈值模式 黄色阈值(%) 橙色阈值(%) 红色阈值(%) 说明 操作
{{ poType }} 单阈值 三级阈值 - -
✓ 已保存 「立即检查」按当前阈值重新计算全部订单的预警
阈值说明
级别含义建议操作
● 黄色超期比例≥黄色阈值(仅三级模式)跟单员关注进度,提醒供应商
● 橙色超期比例≥橙色阈值(仅三级模式)跟单员介入,联系供应商确认
● 红色超期比例≥红色阈值(两种模式均触发)严重影响交期,需立即处理
● 单阈值产前样专用:超期比例≥红色阈值即红色预警产前样周期短,简化为单级预警
供应商绩效
等级 编码 供应商名称 分类 物料分组 进行中 已完成 预警 准时率
{{ s.tier }}级 {{ s.code }} {{ s.name }} {{ s.category === '印刷品' ? '印刷品' : '配件' }} {{ s.materialGroups ? s.materialGroups.join(', ') : '-' }} {{ s.activeOrders }} {{ s.completedOrders }} {{ s.activeAlerts }} 0 {{ s.onTimeRate }}% -
门户
{{ selectedSupplierForOrders.name }} - 订单进度
总订单
{{ supplierOrders.length }}
进行中
{{ supplierOrders.filter(o=>o.status!=='completed'&&o.status!=='rejected').length }}
已完成
{{ supplierOrders.filter(o=>o.status==='completed').length }}
预警数
{{ supplierOrders.filter(o=>o.riskLevel==='red'||o.riskLevel==='orange').length }}
[ ]
暂无订单
风险 订单编号 采购类型 物料名称 物料分组 项目 跟单员 数量 交货日期 进度 状态 当前节点
{{ o.orderCode }} {{ o.poType || '大货' }} {{ o.productName }} {{ o.materialGroup || '-' }} {{ o.project ? o.project.code : '-' }} {{ o.tracker ? o.tracker.name : '-' }} {{ o.quantity }} {{ o.unit }} {{ formatDate(o.deliveryDate) }}
{{ o.completedNodes || 0 }}/{{ o.nodeCount || 0 }}
{{ statusLabel(o.status) }} {{ currentNodeName(o) }}
中台数据同步 上次同步: {{ formatDateTime(overview.lastSync) }} 未同步
数据流向:金蝶ERP → 中台 → 本平台
中台通过 POST /api/sync/orders 接口推送订单数据到本平台。
接口支持新增和更新订单,自动创建工艺节点并倒排排程。
同步时间 来源 接收 新增 更新 跳过 错误
{{ formatDateTime(log.receivedAt) }} {{ log.source }} {{ log.received }} {{ log.created }} {{ log.updated }} {{ log.skipped }} {{ log.errors }}0
暂无同步记录
审计日志
记录登录、账号管理、导入、报工、配置修改等关键操作。
时间 操作人 操作 目标 详情
{{ formatDateTime(log.at) }} {{ log.actorName }} {{ auditActionLabel(log.action) }} {{ log.target }} {{ log.detail }}
暂无审计记录
数据备份与恢复 未启用 已启用
定期将数据备份到服务器 backups/ 目录;每次订单导入前也会自动备份一份。
备份文件按时间命名,超出保留数量后自动清理最旧的。
⚠ 服务器上的备份无法抵御硬盘损坏 / 服务器故障,请定期点「⬇ 导出到本地」把备份存到自己电脑或网盘(建议每周一次)。
正在生成快照并下载,数据量较大时可能需要 1~2 分钟(当前出口带宽有限),请勿关闭页面…
备份文件 大小 时间 操作
{{ b.file }} {{ b.sizeMB }} MB {{ formatDateTime(b.createdAt) }}
暂无备份
一键清空订单数据 危险操作
用途:测试完成后正式上线前,一键清空全部订单数据,保证平台上线后的数据干净度。
清空范围:订单、工艺节点、预警、上传文件;保留:用户账号、品类/工艺基表、供应商与项目主数据、各项配置。
安全措施:清空前系统会自动备份当前数据(pre-clear),清空后可在"自动备份"中随时恢复。
产品类型与工艺模板 ({{ productTypes.length }} 种)
每种产品类型对应一套标准生产工艺,系统根据工艺模板自动生成订单跟进节点并倒排计划日期。
产品类型 工序数 标准总工时 工艺流程
{{ pt.name }} 通用fallback {{ pt.processCount }} {{ pt.totalStandardDays }}天 ({{ pt.totalStandardHours }}h) {{ p.processName }}({{ p.standardDays }}天) →
跟单员档案 ({{ filteredTrackerList.length }} 人)
导入订单时,若 Excel 中的跟单员不在档案内,系统会自动建档并开通登录账号(初始密码 Track@2026,请提醒其尽快修改)。
可在此改名、停用、合并重复档案(如同一人有两条记录)。
姓名 角色 登录账号 在跟订单 进行中 状态 操作
{{ t.name }} {{ roleLabel(t.role) }} {{ t.username || '—' }} {{ t.totalOrders || 0 }} {{ t.activeOrders || 0 }} 启用 停用
暂无跟单员档案
账号管理 ({{ filteredUsers.length }} 个账号)
管理平台用户账号,包括管理员、跟单员和供应商。供应商账号仅能查看本供应商的订单。
用户名 姓名 角色 关联 状态 创建时间 操作
{{ u.username }} {{ u.name }} {{ roleLabel(u.role) }} {{ u.supplierName }} {{ u.trackerName }} - 启用 禁用 {{ formatDate(u.createdAt) }}