1. 新增跨平台磁盘空间监控能力,每日7点自动检测附件目录剩余空间,触发阈值告警 2. 重构附件存储方案为年/月/日/文件类型分层结构,统一MES与WMS的附件管理逻辑 3. 对齐物料档案与入库单的质量状态校验规则,仅合格品计入库存与出库 4. 实现入库单作废功能与区域库位的多级父子结构管理 5. 删除物料简称字段,补充规格型号与单位必填项,统一系统数据口径 6. 新增附件中心与磁盘状态查询接口,完善权限控制与操作日志
473 lines
54 KiB
JavaScript
473 lines
54 KiB
JavaScript
// MES 管理后台 页面级操作说明:整体流程 + 各字段 数据来源/用途/怎么填
|
||
// 由 components/PageHelp.vue 在左下角 "?" 按钮弹出展示。
|
||
// 说明:这里的"数据来源"特指该字段的数据由谁产生、从哪个系统/页面来,帮助跑通真实流程。
|
||
|
||
export const helpProductType = {
|
||
title: '物料档案(档案维护)',
|
||
overview:
|
||
'物料档案 = 本页是 WMS「基础数据(物料主数据)」中"成品"品类在本系统的视图,与 WMS 指向同一份主数据(以 WMS 为准,实时拉取、不双录)。本页承载的是"要生产哪些成品",是整条产线的源头基础数据。\n\n品类来源(与 WMS 一致):原材料=进货来的(外购);半成品、成品=自己生产的;其他=辅料/工装/试验设备等。成品还可以作为零部件,放进另一个成品的物料清单(BOM)里被再次加工成新的成品。\n\n主数据链条:物料档案(成品) → 工单(选成品+物料清单) → 物料清单(给该产品编号配料) → 日排产 → 备料单 → 库房出库 → 产线生产 → 完工成品自动回流 WMS 入库。\n\n关系说明(几对几):\n· 成品 ↔ 工单:1 对 N。一个成品可以建多个工单(同一型号今天做一批、明天做一批,工单号不同、产品编号相同)。\n· 成品 ↔ 物料清单:1 对多(选用制)。同一成品可并存多份物料清单(不同厂家供货/含半成品结构),用「物料清单名称」区分,工单建单时选定一份,备料/装机都按工单锁定的那份算。\n· 成品 ↔ 备料单:间接。备料单由「日排产 × 工单锁定的物料清单」算出,与成品无直接约束。\n· 强约束:工单/物料清单都挂在产品编号下,成品编码变了,下游关联会断,建议建好后不要改。\n· 与 WMS 的关系:两套系统解耦。物料/图号主数据以 WMS 为单一来源,MES 实时拉取(WMS 不可达时降级为本地只读缓存);成品完工后由系统自动生成 SN 回流 WMS 入库,无需人工对账。',
|
||
fields: [
|
||
{ name: '名称', source: '手工填写(必填)。用户自定义,无上游来源。', purpose: '成品的中文名,用于识别与下拉展示', fill: '如:智能电表、断路器、配电柜' },
|
||
{
|
||
name: '编码',
|
||
source: '系统自动生成 + 可手动修改。新建时会自动带出(格式 PROD-YYYYMMDD-序号),你可直接使用或改为自定义编码;编辑时保留已存值。一个产品编号可对应多个工单(同一型号今天做一批、明天做一批,工单号不同,产品编号相同)。',
|
||
purpose: '产品唯一编码。它是 MES 内部识别该产品的标识,决定该产品的物料清单内容,也是工单、备料、拧紧、追溯的挂靠键。',
|
||
fill: '建议用有意义的编码,如 METER-01。要点:①编码主数据以 WMS(库房) 为单一来源,本系统实时从 WMS 拉取物料/成品档案;WMS 不可达时降级为本地只读缓存;②成品完工后系统自动生成 SN 并回流 WMS 入库,无需人工对账;③如产品编号就是成品编码,则直接沿用该编码即可;④建好后不要随意改,否则下游工单/追溯的关联会断。'
|
||
},
|
||
{ name: '规格', source: '手工填写(必填)。与 WMS 物料档案必填口径一致。', purpose: '成品的规格型号,用于识别与打印', fill: '如:500×300×200' },
|
||
{ name: '单位', source: '手工填写(必填)。与 WMS 物料档案必填口径一致。', purpose: '计量单位', fill: '如:台 / 套' },
|
||
{ name: '类别', source: '手工填写。可选,无上游来源。', purpose: '产品所属大类,便于分类统计', fill: '如:计量表 / 开关柜;可空' },
|
||
{ name: '启用', source: '开关选择。默认开启。', purpose: '启用后才允许在新建工单/备料的下拉里被选到', fill: '默认开启;暂时停产的可关闭(不删除,保留档案)' }
|
||
]
|
||
}
|
||
|
||
export const helpWorkOrder = {
|
||
title: '工单管理(新建 / 编辑 / 删除工单)',
|
||
overview:
|
||
'工单 = 一个"合同/生产批次"的唯一载体,是生产执行和仓库出库挂靠的核心对象。\n\n全流程:先有产品型号(在「物料档案」里建档) → 建工单(选产品型号、选定物料清单、定数量、勾选工位组合) → 进"物料清单"给该产品配料 → 到"日排产"排哪天产多少 → 仓库按排产备料出库 → 产线装配/拧紧/报工 → 完工(成品 SN 系统自动生成,并自动回流 WMS 入库为"成品"品类)。\n工单号会贯穿 备料单、拧紧查询、手动报工、工件追溯、操作日志 全链路。\n\n工程编号:一个合同对应一个工程编号,一个工程编号下对应各个产品的产品序号——即「合同号 → 工程编号 → 产品序号」三级归属,用于按合同/工程项目归集与追溯。\n\n查询:支持按 工单号 / 产品编号 / 产品名称(模糊) / 合同号 / 工程编号 / 状态 组合筛选;删除:仅「已创建 / 待排产 / 已发布」且无排产、备料、生产数据的工单可删除(操作列「删除」),生产中或已完成的工单不可删除。',
|
||
sections: [
|
||
{
|
||
title: '工单基本信息',
|
||
fields: [
|
||
{ name: '工单号', source: '系统自动生成(WO+时间戳),可手工改。新建时自动带出。', purpose: '唯一标识一个工单,备料/出库/报工/追溯都挂在此号下', fill: '一般不用改;如改动须保证唯一' },
|
||
{ name: '产品型号', source: '下拉选择。数据来自「物料档案」页面已启用的记录。', purpose: '说明这批生产的是什么产品,并决定物料清单内容', fill: '先到「物料档案」页面建好记录再选择' },
|
||
{ name: '合同号', source: '手工填写。', purpose: '标记本工单所属的合同(一个合同对应一个工程编号)', fill: '如 HT-2026-001(可空)' },
|
||
{ name: '工程编号', source: '手工填写。', purpose: '标记本工单所属的工程编号(一个工程编号下挂多个产品序号)', fill: '如 GC-2026-001(可空)' },
|
||
{ name: '产品序号', source: '手工填写。', purpose: '本产品在该工程编号下的序号,用于区分同工程下的不同产品', fill: '如 01、02(可空)' },
|
||
|
||
{ name: '产品编号', source: '手工填写。通常与所选产品型号的编码一致。', purpose: '产品唯一编码,用于展示与追溯', fill: '如 METER-01,与产品型号编码对齐' },
|
||
{ name: '产品名称', source: '手工填写。通常与产品型号名称一致。', purpose: '产品中文名,用于展示', fill: '如 智能电表' },
|
||
{ name: '数量', source: '手工填写整数。', purpose: '本工单生产总数量(合同台数),决定需求量与排产上限', fill: '整数 ≥1,如 100' },
|
||
{ name: '工位组合', source: '勾选要经过的工位(工位数以数据库为准)。', purpose: '本工单要经过的工位集合,产线设备按此组合下发控制产线', fill: '勾选要经过的工位即可,系统自动按工位号顺序执行(传送带不回走);半成品再上线可只勾漏做的工位' },
|
||
{ name: '状态', source: '新建时选"已创建",后续由流程推进。', purpose: '工单生命周期:创建→发布→生产→完成', fill: '新建时选"已创建";也可在列表操作列点「状态」快捷流转(发布/开工/完工)' },
|
||
{ name: '完成日期', source: '手工填写,完工时必填。', purpose: '记录工单实际完成日期,用于交付与绩效统计', fill: '完工流转时选择日期,必填' },
|
||
{ name: '创建人', source: '系统自动记录(当前登录账号)。', purpose: '追溯工单由谁创建', fill: '只读,自动带入' }
|
||
]
|
||
},
|
||
{
|
||
title: '行内"工位组合"维护',
|
||
overview: '对当前工单快速维护要经过的工位组合。\n可自由勾选、补工位(半成品再上线):如本应走第3/5工位却做成半成品,可在此只勾第2工位重上线完成闭环。',
|
||
fields: [
|
||
{ name: '工位组合', source: '勾选要经过的工位。', purpose: '本工单经过的工位集合,产线设备组合下发', fill: '勾选即可,按工位号顺序执行;全选=全部工位' }
|
||
]
|
||
},
|
||
{
|
||
title: '自动排产(引导式)',
|
||
overview: '列表页「自动排产」按钮:选工单 + 日期区间 + 排产方式,一键把工单未开工数量分摊到多天日排产。',
|
||
fields: [
|
||
{ name: '日期区间', source: '日历选择起止日期。', purpose: '在哪段时间内排产', fill: '选开始/结束日期' },
|
||
{ name: '排产方式', source: '二选一:平均分摊 / 固定日产。', purpose: '决定每天排多少', fill: '平均分摊=总量÷天数自动均分;固定日产=每天排指定数量,排满为止' },
|
||
{ name: '每日数量', source: '固定日产方式下手工填写。', purpose: '固定每天的生产量', fill: '选固定日产时填写,如每天 20' },
|
||
{ name: '生成', source: '一键生成日排产记录。', purpose: '批量创建该工单的日排产,合计不超过工单未开工数量', fill: '确认后生成,可到「日排产」页查看/调整' }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
|
||
export const helpDailyPlan = {
|
||
title: '日排产(生产计划)',
|
||
overview:
|
||
'日排产 = 安排"哪个工单、在哪天、生产多少",是备料和出库的触发依据。\n\n数据链路:工单(总数) → 日排产(按天拆分量,合计不得超过工单总数) → 仓库按日排产备料出库 → 产线按日生产。\n可以按 工单号 / 排产日期 两个维度查询,也可直接新增/编辑/删除排产。',
|
||
fields: [
|
||
{ name: '工单号', source: '下拉选择。来自"工单管理"已建的工单。', purpose: '该排产对应哪个生产工单', fill: '选择工单号;也可手动输入未列出的工单号' },
|
||
{ name: '排产日期', source: '日历选择。', purpose: '计划在哪一天生产', fill: '选具体日期,如 2026-08-29' },
|
||
{ name: '计划数量', source: '手工填写整数。', purpose: '这一天计划生产多少件', fill: '整数≥1;注意:该工单所有日排产的数量合计不能超过工单总数量' },
|
||
{ name: '送达接驳台', source: '排产时人工确认(可多选 DOCK01~20产线 / DOCK21库房)。', purpose: '该工单物料经 AGV 送到哪些接驳台(DOCK n↔工位n),备料单据此填 target_dock', fill: '默认推荐该工单上次使用的接驳台,可修改;至少选一个。AGV 按把这些料送到对应工位' },
|
||
{ name: '已完成', source: '系统自动累计。只读。', purpose: '该排产已实际完成多少件', fill: '无需填写' },
|
||
{ name: '状态', source: '系统维护。只读。', purpose: '排产执行状态(待排产/已确认)', fill: '无需填写' },
|
||
{ name: '启用/停用', source: '行内开关。', purpose: '停用后该条排产不参与备料/生产,可临时挂起某天计划', fill: '拨动开关切换;停用的排产不计入备料' }
|
||
]
|
||
}
|
||
|
||
export const helpBom = {
|
||
title: '产品物料清单',
|
||
overview:
|
||
'物料清单 = 生产 1 台该产品需要哪些物料、各用多少。\n按「产品编号 + 物料清单名称」维护:同一产品编号可并存多份物料清单(选用制)——不同厂家供货、含半成品的结构差异,都用不同的物料清单名称区分(缺省叫「默认」,不用 V1/V2 版本号)。\n工单建单时选定其中一份,之后该工单的备料算料、装机绑定校验都锁定这份物料清单,不同厂家的料单互不串。\n\n与 WMS 的关系:本页(MES)只维护「产品由哪几种料、各用几个」;每种物料叫什么、规格、是电气件(SN)还是结构件(批次)、库存有多少,统一在 WMS(库房)的「物料档案」里维护,两套系统互相解耦、通过图号对齐。\n\n编码对应规则:本页的「图号」必须与 WMS 物料档案里的「图号」完全一致;「管理方式」也要对应(电气件=SN 逐件,结构件=批次)。编码对不上,WMS 将无法为对应工单备料/出库。\n\n保护规则:某份物料清单一旦被工单选用过,就不允许再从中移除物料(防止历史工单追溯断链);新建/改名的物料清单名称在本页「物料清单名称」下拉直接输入即可创建。\n\n数据链路:先建「物料档案」→ 到本页选产品编号 + 命名物料清单,逐条添加物料 → 建工单时选定物料清单 → 仓库才能为对应工单领料。',
|
||
fields: [
|
||
{ name: '物料清单名称', source: '下拉选择/输入(可搜索,输入新名即创建)。缺省「默认」。', purpose: '同一产品编号下多份物料清单的区分名,工单建单时按此选定', fill: '如「默认」「A厂料单」「含半成品」;同一型号下名称唯一' },
|
||
{ name: '产品编号', source: '下拉选择。来自「物料档案」里建的编码。', purpose: '要为哪个产品配置物料清单', fill: '在查询区或「添加物料」弹窗里选择产品编号' },
|
||
{ name: '图号', source: '手工填写。必须与 WMS(库房) 物料档案的图号一致。', purpose: '该物料在库房的全库唯一编码,两系统靠它关联', fill: '如 螺丝=GJ-LUOSI-M16;图号对不上 WMS 将无法备料' },
|
||
{ name: '物料名称', source: '手工填写。', purpose: '物料中文名,便于识别', fill: '如 十字螺丝、主控芯片' },
|
||
{ name: '规格', source: '手工填写。', purpose: '物料规格型号', fill: '如 M16×80 / SMT-48脚' },
|
||
{ name: '单位', source: '手工填写。', purpose: '计量单位,用于算量', fill: '个 / 件 / 套 / kg' },
|
||
{ name: '管理方式', source: '单选。按物料类型决定,与 WMS 一致。', purpose: '电气件=逐件按SN管理;结构件=按批次管理', fill: '电子件/电气件选"电气件 SN";螺丝等标准件选"结构件 批次"' },
|
||
{ name: '单台用量', source: '手工填写。', purpose: '生产 1 台产品用的该物料数量', fill: '如每台 8 颗螺丝 → 填 8' },
|
||
{ name: '损耗率%', source: '手工填写。', purpose: '考虑报废/损耗的加放比例', fill: '如 2% 填 2;0=不计算损耗' },
|
||
{ name: '需求量', source: '自动计算 = 数量×单台用量×(1+损耗率),可覆盖。', purpose: '该物料总需求,出库不能超它', fill: '一般自动算,不必改' },
|
||
{ name: '相关标准', source: '手工填写/导入带入。', purpose: '该物料对应的检验/工艺标准(如国标、图号标准),供质量检验与流程卡引用', fill: '如 GB/T xxx;可在导入模板中一列填入' },
|
||
{ name: '导入', source: 'Excel 模板导入(列表页「导入」按钮)。', purpose: '批量维护物料清单,减少逐条录入', fill: '下载模板→填写→上传,系统预检(编码/管理方式/数值)并提示错误行,确认后入库' }
|
||
]
|
||
}
|
||
|
||
export const helpMaterial = {
|
||
title: '备料单(按日排产自动算料)',
|
||
overview:
|
||
'备料单 = 仓库备料的依据:某天要生产的所有工单,各需要哪些物料、各要多少。\n\n操作方式:① 先到「日排产」排好某天的计划数量;② 回到本页选该「日期」;③ 点「按日排产生成备料」,系统按各产品物料清单自动计算(计划数量 × 单台用量 × (1+损耗率))并生成备料单明细;④ 仓库据此备料出库,由 AGV 配送到各工位。\n\n数据链路:日排产 → 本页按日期自动算料生成备料单 → 仓库出库 → AGV 配送。',
|
||
sections: [
|
||
{
|
||
title: '生成备料',
|
||
overview: '按所选日期,取当天所有排产工单,依据各自产品的物料清单自动汇总所需物料。',
|
||
fields: [
|
||
{ name: '日期', source: '手动选择。', purpose: '按哪个排产日期生成备料', fill: '先选择排产日期,再点「按日排产生成备料」' }
|
||
]
|
||
},
|
||
{
|
||
title: '查询字段',
|
||
fields: [
|
||
{ name: '工单号', source: '手动输入。筛选条件。', purpose: '只查看指定工单的备料', fill: '可空,空=看全部工单' },
|
||
{ name: '状态', source: '下拉。待备料/已确认。', purpose: '按备料进度筛选', fill: '可空' }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
|
||
export const helpPlc = {
|
||
title: '工位组合下发(下发录入 / 下发记录)',
|
||
overview:
|
||
'这个菜单做什么用:把某工单/工件的「工位组合」写入产线设备(如 PLC 控制器),产线传送带据此只停靠勾选的工位,其余工位不加工。\n\n页面分两个页签:「下发录入」(默认打开)、「下发记录」(点击才加载,可按工单号/状态筛选)。\n\n操作流程:选工单号 → 下拉选出该工单已上线未完工的工件 SN(也可扫码/手输) → 系统按工件实际进度自动带出「当前工位」(只读) → 工位组合中 ≤ 当前工位的编号视为已完成,自动剔除且禁选 → 勾选剩余要走的工位 → 下发。\n\n为什么单独一个菜单:产线偶尔需要人工干预——比如本该走 3 号工位却做成了半成品,人工在此只勾剩余工位重上线,完成闭环。\n\n核心约束:系统遵循「上一条未收到完成信号,不下发下一条」,确保产线不串序。\n\n数据链路:工单(含工位组合) → 本页下发到产线设备 → 产线设备驱动传送带/工位 → 收到完成信号再下发下一条。',
|
||
fields: [
|
||
{ name: '工单号', source: '下拉选择/输入。来自工单。', purpose: '当前生产的工单,选中后带出该工单可下发的工件 SN', fill: '选择或输入工单号' },
|
||
{ name: '工件SN', source: '下拉选择(该工单已上线未完工的 SN,可搜索),也可扫码枪扫入手输。', purpose: '当前流经的工件唯一序列号', fill: '优先下拉选已上线 SN;扫码手输时须是已上线的工件才能带出当前工位' },
|
||
{ name: '当前工位', source: '自动带出(只读)。按所选工件的实际生产进度识别。', purpose: '从哪一站开始继续下发', fill: '无需填写;未带出说明工件未上线或 SN 有误' },
|
||
{ name: '工位组合', source: '勾选要经过的工位;≤当前工位的编号已禁选(视为完成)。', purpose: '该工件还要经过的工位,产线设备控制停靠', fill: '勾选剩余要走的工位即可,按工位号顺序执行' }
|
||
]
|
||
}
|
||
|
||
export const helpTorque = {
|
||
title: '拧紧数据(查询 / 统计 / 审核签字)',
|
||
overview:
|
||
'接收丹尼科尔拧紧工具的采集结果(扭矩/角度/时间/结果/操作人),用于质量追溯。\n\n数据接入(TCP 抽象):拧紧枪数据由工位终端采集后自动上报 MES;内置模拟数据源供联调(正式丹尼科尔协议接入后直接插入同一链路,无需改页面)。本页不提供后台手工补录。\n\n一级按「工单号 + SN + 工位」汇总,并按工艺文件自动判定「应拧 vs 实拧」是否满足;点「拧紧结果」进二级明细,逐颗查看并审核签字。',
|
||
sections: [
|
||
{
|
||
title: '查询条件',
|
||
overview: '四条件复合取交集,SN / 工单号 不区分大小写。',
|
||
fields: [
|
||
{ name: 'SN / 工单号', source: '手工填写。', purpose: '按工件或工单缩小范围', fill: '可空=全部;不区分大小写' },
|
||
{ name: '工位', source: '手工填写。', purpose: '只看某道工位的拧紧汇总', fill: '如 3,可空' },
|
||
{ name: '日期区间', source: '日期选择器。', purpose: '按采集时间筛选', fill: '选开始/结束日期,含当天' }
|
||
]
|
||
},
|
||
{
|
||
title: '一级汇总与统计',
|
||
overview: '每行代表一个工件在某工位的拧紧总体情况。',
|
||
fields: [
|
||
{ name: '拧紧数量(应拧/实拧)', source: '应拧数来自工艺流程 isTorque 步骤数;实拧数来自拧紧记录。', purpose: '对比工艺要求与实际拧紧颗数', fill: '只读;应拧显示「未配置」表示该工位未绑定含扭矩步骤的工艺' },
|
||
{ name: '合格/不合格', source: '拧紧记录统计。', purpose: '看该工件合格与不合格颗数', fill: '只读;不合格>0 会标红' },
|
||
{ name: '拧紧结果', source: '系统判定:应拧>0 且 实拧>=应拧 且 无不合格 = 满足。', purpose: '一眼判定该工件拧紧是否达标', fill: '点「满足/不满足」链接进入二级明细' },
|
||
{ name: '审核状态', source: '系统统计。分组内全部记录已审核才计已审核。', purpose: '提示检验员是否已完成签字', fill: '只读' }
|
||
]
|
||
},
|
||
{
|
||
title: '二级明细与审核签字',
|
||
overview: '抽屉顶部展示应拧/实拧/合格/不合格统计,下方逐颗列出拧紧记录。',
|
||
fields: [
|
||
{ name: '螺丝号/扭矩/角度/结果', source: '拧紧枪自动采集上报。', purpose: '每颗螺丝的具体拧紧参数与判定', fill: '只读' },
|
||
{ name: '审核签字', source: '检验员操作,写入审核人/时间。', purpose: '两人签字:操作人(采集自动带入) + 审核人(当前登录账号)', fill: '点「审核签字」→ 填审核意见 → 确认;已审核不可重复' },
|
||
{ name: '留痕', source: '系统自动记录 torque_audit_log。', purpose: '展示该记录的审核/修改历史时间线', fill: '点「留痕」查看操作人/动作/改前改后/备注' }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
|
||
export const helpScan = {
|
||
title: '手动报工(工位工序步骤完成上报)',
|
||
overview:
|
||
'页面分两个页签:「报工录入」(默认打开)、「报工记录」(点击才加载,分页)。\n\n录入流程:选择工位、扫入/输入工件 SN 后,系统自动载入该工位「启用」工艺流程的工序步骤(扭矩/角度/尺寸等采集项),逐参数录入提交;提交后写报工实绩 + 步骤数据,系统按考核标准自动判定 合格/不合格。\n\n装机绑定:若该产品在本工序配置了需绑定的装配物料(物料清单「装配工位」),会出现装机绑定区——电气件扫 SN、结构件扫/输批次号,逐项绑齐(已绑/需绑)后才允许提交报工;未配置物料则不校验。\n\n数据链路:工艺流程(工序步骤+考核标准) + 物料清单 装机配置 → 本页选工位扫 SN 自动载入 → 绑料+录参数 → 判 合格/不合格 → 工件追溯可见。',
|
||
fields: [
|
||
{ name: '工位', source: '下拉选择(工位数以数据库为准)。', purpose: '哪个工位在报工,选择后自动载入该工位的工序步骤', fill: '选择工位 1~12' },
|
||
{ name: '工件SN', source: '扫码枪扫描或手输。来自工件条码。', purpose: '工件的唯一序列号,报工对象', fill: '扫码枪扫入,与工位一起触发自动载入' },
|
||
{ name: '各步骤采集值', source: '手工填写 或 拧紧枪自动带出(视采集方式)。字段由【工艺流程】的工序步骤人为定义。', purpose: '收集该工位的扭矩/角度/尺寸等参数,按标准判定合格与否', fill: '逐条填采集值,未维护标准的步骤仅记录' },
|
||
{ name: '装机绑定(物料/已绑/需绑)', source: '来自物料清单的「装配工位」配置(按工单锁定的物料清单过滤)。', purpose: '该工件本工序应装哪些料;电气件按 SN、结构件按批次绑定,齐套后才允许报工', fill: '在绑定输入框扫码或录入后点「绑定」,绑齐后提交报工' },
|
||
{ name: '报工记录查询(SN / 工单号)', source: '「报工记录」页签筛选条件,分页查看。', purpose: '查历史报工实绩', fill: '可空=全部' }
|
||
]
|
||
}
|
||
|
||
export const helpStation = {
|
||
title: '关联工位(工位总览)',
|
||
overview:
|
||
'工位数以数据库为准。工位分「内置」与「自定义」两类:内置工位由种子/初始化数据产生(数据库 is_builtin=true),对应实体产线位置,需与 PLC 通讯并必须按工位号顺序流转,不允许修改工位类型、不允许删除;自定义工位是在本页点击「新增工位」创建的,可修改类型、可删除。\n\n本页是工位总览:查看每个工位当前绑定了哪个工艺流程,可修改工位名称、删除自定义工位。\n\n绑定关系由本页单独维护:在下拉中选择「启用」的工艺流程即绑定到该工位;一个工位只能有一个启用的工艺流程(先停用旧流程再绑新流程);流程停用后自动解绑。\n\n「是否有接驳台」对应实体位置(1~10 号工位各 2 个接驳台;0/11/12/13 号无),由内置数据给定,页面不可手动更改。\n\n数据链路:关联工位页(选启用流程绑定) → 手动报工/工位终端按该流程的工序步骤采集 → 报工判定 合格/不合格。',
|
||
fields: [
|
||
{ name: '工位号', source: '内置工位由系统预置;自定义工位由本页「新增工位」填写。', purpose: '产线物理工位编号', fill: '新增时自定义,可与现有工位不连续(如 14、15…)' },
|
||
{ name: '工位名称', source: '可编辑。默认如 装配工位1。', purpose: '工位的显示名称', fill: '如 一号装配工位' },
|
||
{ name: '类型', source: '内置工位由系统给定且不可修改;自定义工位可改。', purpose: '线上位(连 PLC)/线下位(虚拟,不连 PLC)', fill: '内置工位只读;自定义工位可在改名弹窗切换' },
|
||
{ name: '来源', source: '系统标识(数据库 is_builtin)。', purpose: '区分内置工位与自定义工位', fill: '只读' },
|
||
{ name: '接驳台', source: '内置数据给定(对应实体位置),不可手动更改。', purpose: '该工位位置是否有接驳台', fill: '只读' },
|
||
{ name: '绑定工艺流程', source: '自动来自本页:为工位选择「启用」的工艺流程即绑定。', purpose: '该工位执行的工艺流程(决定工序步骤/考核标准/PDF)', fill: '到本页为该工位选择启用流程;本页只读展示' },
|
||
{ name: '删除', source: '本页操作。', purpose: '删除自定义工位', fill: '仅自定义工位可删除;内置工位不显示删除按钮' },
|
||
{ name: '虚拟工位 0 / 13', source: '系统预置。工位号 0=上线位、13=下线位。', purpose: '产线进线口建档上线、出料口完工入库,由 PAD 操作,不连 PLC/拧紧枪', fill: '只读;上线位/下线位在工位终端(PAD)用「上线建档」「下线完工」面板操作' }
|
||
]
|
||
}
|
||
|
||
export const helpTrace = {
|
||
title: '工件追溯',
|
||
overview:
|
||
'输入工件 SN,查它的完整履历:进线/完工时间、各工位时间线、步骤考核数据(扭矩/角度)、拧紧记录、以及它用了哪些批次/电气件。\n\n数据来源:全部由前端各环节自动写入(扫码报工、拧紧采集、产线设备下发、工位完成),本页只读查询。',
|
||
fields: [
|
||
{ name: '工件SN', source: '扫码枪/手输。来自工件条码。', purpose: '要追溯的工件唯一序列号', fill: '扫 SN 或手动输入后点查询' }
|
||
]
|
||
}
|
||
|
||
export const helpAccount = {
|
||
title: '账号管理',
|
||
overview:
|
||
'管理可登录 MES 的账号:新建、编辑、停用,并为其分配角色(角色决定菜单与按钮权限)。\n建议只给操作员分配其工位所需菜单权限。系统内置 admin 账号不可修改/删除。',
|
||
sections: [
|
||
{
|
||
title: '列表',
|
||
fields: [
|
||
{ name: '状态', source: '行内开关。', purpose: '停用后该账号无法登录', fill: '直接拨动开关;内置账号(admin)已锁定' },
|
||
{ name: '工位终端/允许工位', source: '账号设置。', purpose: '是否允许登录工位终端及各终端允许的工位号', fill: '未开通=不能登录工位终端;允许工位留空=全部' }
|
||
]
|
||
},
|
||
{
|
||
title: '新建 / 编辑',
|
||
fields: [
|
||
{ name: '用户名', source: '手工填写。', purpose: '登录账号,唯一;创建后不可改', fill: '如 operator1' },
|
||
{ name: '密码', source: '手工填写,保存时加密存储。', purpose: '登录密码', fill: '≥6位且不能纯数字;编辑时留空=不修改' },
|
||
{ name: '姓名', source: '手工填写。', purpose: '真实姓名,操作日志追溯用', fill: '如 张三' },
|
||
{ name: '角色', source: '下拉选择。来自"角色管理"页。', purpose: '决定该账号的菜单与功能权限', fill: '选择已建角色' },
|
||
{ name: '状态', source: '下拉选择。', purpose: '停用后无法登录', fill: '启用 / 停用' }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
|
||
export const helpRole = {
|
||
title: '角色管理',
|
||
overview:
|
||
'角色决定账号能看哪些菜单(勾选菜单)与能用哪些功能(勾选其下按钮),勾选互不影响。\n内置角色:超级管理员(全部权限)、生产操作员、质检员——不可删除;超级管理员权限不可编辑。',
|
||
sections: [
|
||
{
|
||
title: '新增 / 编辑权限',
|
||
fields: [
|
||
{ name: '角色名称', source: '手工填写。', purpose: '角色中文名', fill: '如 库房管理员' },
|
||
{ name: '角色编码', source: '手工填写。', purpose: '角色唯一编码,创建后不可改', fill: '如 intro-manager' },
|
||
{ name: '权限树', source: '勾选。来自系统预置的权限菜单与按钮。', purpose: '决定该角色可见菜单与可用按钮', fill: '勾选菜单=可见;勾选按钮=可用(两者独立)' }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
|
||
export const helpEventLog = {
|
||
title: '操作日志',
|
||
overview:
|
||
'审计查看关键业务操作(工单/日排产/物料清单/备料/下发/拧紧/扫码报工/完工等),由系统自动写入,本页只读。\n支持按业务域类型、工单号、操作人、时间范围筛选,分页查看。',
|
||
sections: [
|
||
{
|
||
title: '查询区',
|
||
fields: [
|
||
{ name: '事件类型', source: '下拉。', purpose: '按业务域过滤(工单/日排产/报工…)', fill: '选一族或留空=全部' },
|
||
{ name: '工单号', source: '输入。', purpose: '只看某工单的全部操作', fill: '可空=全部' },
|
||
{ name: '操作人', source: '输入。', purpose: '只看某人的操作', fill: '可空=全部' },
|
||
{ name: '时间范围', source: '日历选择。', purpose: '限定发生时间区间', fill: '不选=全部时间' }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
|
||
export const helpProcessFlow = {
|
||
title: '工艺流程(作业指导,含工序步骤)',
|
||
overview:
|
||
'页面分「流程列表」「流程配置」两个页签:列表查看全部流程并做启用/停用/删除;配置页维护流程基本信息与工序步骤(新增与编辑共用,不再弹窗套弹窗)。\n\n工艺流程 = 一份「菜谱」:只描述某个产品该怎么装配(步骤名、采集方式、考核标准),不绑定具体工位。\n\n概念统一说明:\n· 工位:产线上的物理工位(工位数以数据库为准,仅改名称不增删),相当于「灶台」。\n· 工艺流程:一份作业指导,可有多版本(如 总装流程_2026版);其启用状态决定是否参与生产。\n· 工序步骤:流程内包含多个工序步骤(如:装配完成、拧紧扭矩、测试)。\n\n绑定关系在「关联工位」页维护:在该页为某工位选择启用的工艺流程即绑定;一个工位只能有一个启用的流程。手动报工/工位终端按所选工位的绑定流程载入工序步骤。\n\n数据链路:本页维护流程+工序步骤+考核标准 → 关联工位页绑定 → 手动报工/工位终端按工序步骤采集 → 报工按考核标准自动判 合格/不合格 → 工件追溯/绩效报表可见。',
|
||
sections: [
|
||
{
|
||
title: '流程基本信息',
|
||
fields: [
|
||
{ name: '流程名称', source: '手工填写。人为定义。', purpose: '流程版本名,用于区分同一工位的不同版本', fill: '如 总装流程 / 总装流程_2026版' },
|
||
|
||
{ name: '状态', source: '下拉选择 启用/停用。也可在列表操作列点「启用/停用」快捷切换。', purpose: '启用=该流程可被「关联工位」页绑定到工位并参与生产;停用=不可绑定、不参与生产', fill: '启用后可在「关联工位」页绑定到工位;停用后不可绑定' },
|
||
{ name: '工艺图纸(PDF)', source: '本页上传。文件由 MES 服务器保存。', purpose: '该工位的作业指导图,工位终端打开预览', fill: '选择 PDF 上传,成功后显示文件名可预览' },
|
||
{ name: '工序步骤', source: '本页维护(步骤名/采集方式/是否拧紧/考核标准)。', purpose: '手动报工/工位终端报工时按此动态渲染参数输入', fill: '一个流程可含多个工序步骤,按序号顺序执行' },
|
||
{ name: '步骤附件/图纸', source: '每个工序步骤单独上传(绑定式)。文件由 MES 服务器保存。', purpose: '把图纸精确绑定到具体步骤,工位终端按当前步骤自动展示对应图纸', fill: '在步骤行上传该步骤图纸/附件(可多个);随工序自动分发到工位终端' }
|
||
]
|
||
},
|
||
{
|
||
title: '采集方式(每个工序步骤三选一)',
|
||
overview: '决定该步骤的数值从哪里来。',
|
||
fields: [
|
||
{ name: '拧紧枪自动', source: '拧紧枪设备自动回传。', purpose: '扭矩/角度等由拧紧枪采集,工人无需手输', fill: '选「拧紧枪自动」,并在「是否拧紧」打开开关' },
|
||
{ name: '手填', source: '工人在工位终端/报工页手动输入数值。', purpose: '无法自动采集的参数(如尺寸、电压)由人工录入', fill: '选「手填」' },
|
||
{ name: '仅记录', source: '无数据,只做操作步骤确认(如"装配完成")。', purpose: '记录该步骤已执行,不采集数值、不判定', fill: '选「仅记录」' }
|
||
]
|
||
},
|
||
{
|
||
title: '考核标准(每个步骤可设多条)',
|
||
overview: '用于报工时自动判定该步骤「合格/不合格」。在哪用:工位终端/手动报工提交该步骤数值时,系统按此标准判 合格/不合格,结果进入工件追溯与流程卡。如何收集:数值来自上面的采集方式(拧紧枪自动或手填)。',
|
||
fields: [
|
||
{ name: '指标名', source: '人为定义。', purpose: '标准叫什么(如 扭矩/角度/尺寸)', fill: '如 扭矩' },
|
||
{ name: '单位', source: '人为填写。', purpose: '数值单位', fill: '如 N·m、°、mm' },
|
||
{ name: '逻辑', source: '下拉选择 ≥/≤/>/</区间/=。', purpose: '判定关系', fill: '区间需填上下限;其余填目标值' },
|
||
{ name: '目标值/下限/上限', source: '人为填写。', purpose: '合格范围', fill: '如 扭矩区间 [35,45] N·m' }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
|
||
export const helpPerformance = {
|
||
title: '绩效报表(工人工作量统计)',
|
||
overview:
|
||
'按 操作人 × 日期 × 工位 汇总每个工人的完成/合格/NG 数量,用于工作量与绩效统计。\n\n页面提供「按人 / 按工位 / 明细」三个页签:按人看每人汇总,按工位看每工位汇总,明细看逐条记录(含工序名);三个视图各自独立分页,均受上方筛选条件约束。\n\n筛选与导出:支持 操作人 / 工位 / 日期范围 组合筛选(默认近 90 天);顶部汇总卡随查询刷新;「导出 xlsx」一次导出三个 sheet(按人/按工位/明细),导出遵循统一时间硬规则(时间范围为空默认近 3 个月、只传一端报错、跨度超 1 年报错)。\n\n数据来源:全部由工位终端/手动报工的「工位完成上报」自动写入报工实绩(workpiece_process),本页只读统计,不手工录入。',
|
||
fields: [
|
||
{ name: '操作人', source: '筛选条件。来自报工实绩的 operator 字段(工位终端登录人)。', purpose: '只看某个工人的工作量', fill: '输入姓名/账号,可空=全部' },
|
||
{ name: '工位', source: '下拉选择(工位数以数据库为准)。', purpose: '只看某个工位的报工情况', fill: '可空=全部工位' },
|
||
{ name: '日期范围', source: '筛选条件。来自报工实绩的产生时间,默认近 90 天。', purpose: '按时间段统计', fill: '选择起止日期;导出时同一范围' },
|
||
{ name: '完成数', source: '自动汇总。该 操作人×日期×工位 的报工次数。', purpose: '工作量核心指标', fill: '只读' },
|
||
{ name: '合格数/不合格数', source: '自动汇总。按报工实绩 result 字段(合格/不合格)分类计数。', purpose: '质量指标,OK+NG=完成数', fill: '只读' },
|
||
{ name: '合格率', source: '自动计算 = 合格数/完成数。', purpose: '质量表现', fill: '只读' },
|
||
{ name: '平均作业时长', source: '自动计算 = 累计作业时长 ÷ 完成数(取自报工实绩 duration_sec)。', purpose: '衡量单件平均耗时', fill: '只读' },
|
||
{ name: '效率(件/小时)', source: '自动计算 = 完成数 ÷ (累计作业时长/3600)。', purpose: '衡量单位时间产出', fill: '只读' }
|
||
]
|
||
}
|
||
|
||
export const helpInspect = {
|
||
title: '巡检终端(PAD / PC 通用)',
|
||
overview:
|
||
'检验员/线长用手持平板(PAD)或电脑浏览器做巡检与检验确认,PC 与 PAD 访问同一地址、前端自适应。\n\n数据来源:全部记录提交后写入 MES 巡检记录表(inspection_record),用于追溯和流程卡输出,也可在看板触发报警。\n\n权限:菜单「巡检终端」+ 各功能独立按钮权限码(sys.inspect:checkin/point/process/done/alarm/view),由【角色权限管理】统一分配。操作工通常无此菜单。',
|
||
sections: [
|
||
{
|
||
title: '打开方式(PAD / 手机独立访问)',
|
||
overview:
|
||
'电脑端:左侧菜单「巡检终端」打开。\n\nPAD / 手机独立打开:在浏览器地址栏输入\n' +
|
||
window.location.origin + '/inspect\n' +
|
||
'(如上所示即本机当前访问地址,例如 http://192.168.1.100:8888/inspect)。\n\n' +
|
||
'首次打开会跳转登录页,登录一次后(浏览器记住登录态)再次打开将直接进入巡检页;PAD 与电脑需在同一局域网。\n\n' +
|
||
'功能按权限显示:无「巡检终端」菜单或按钮权限的账号无法使用。',
|
||
fields: []
|
||
},
|
||
{
|
||
title: '开工签到',
|
||
fields: [
|
||
{ name: '班次', source: '手动选择(早/中/晚)。', purpose: '记录开工班次', fill: '选早/中/晚' },
|
||
{ name: '拍照', source: '调用浏览器相册/摄像头(input file capture)。照片上传到 MES 服务器。', purpose: '留证现场开工状态', fill: '点击拍照并上传' },
|
||
{ name: '提交', source: '提交时自动记录:时间、拍照人(登录账号)、工位号。', purpose: '形成签到记录,供追溯', fill: '选班次+拍照后提交' }
|
||
]
|
||
},
|
||
{
|
||
title: '工位点检',
|
||
fields: [
|
||
{ name: '工位号', source: '手动选择(工位数以数据库为准)。', purpose: '点检哪个工位', fill: '选 1~12' },
|
||
{ name: '点检项', source: '手动多选(设备运行正常/安全防护到位/工具齐全/工位清洁)。', purpose: '点检的项目清单', fill: '勾选已完成的项目' },
|
||
{ name: '拍照', source: '浏览器相册/摄像头上传。', purpose: '留证', fill: '拍照上传' }
|
||
]
|
||
},
|
||
{
|
||
title: '过程巡检(按步骤逐条提交)',
|
||
overview:
|
||
'选择工单后,系统自动拉出该工单「工位组合」里每个工位绑定的工艺步骤,逐步骤填报巡检结果——与工位终端的执行顺序一致,确保每一道工序都有检验留痕。\n\n全部步骤提交完成后,点「一键生成《工序间检验记录》」,系统把该工单的 PROCESS 类巡检按步骤汇总成一张可核对/打印的记录表。',
|
||
fields: [
|
||
{ name: '工单号', source: '手动选择/搜索。来自【工单管理】已建工单。', purpose: '对哪个工单巡检', fill: '搜索选择工单号' },
|
||
{ name: '步骤列表', source: '自动带出:该工单工位组合 → 各工位 station.flow_id 指向的工艺流程步骤。', purpose: '逐步骤填报,避免漏检', fill: '只读,系统自动展开' },
|
||
{ name: '实测值', source: '手动填写该步骤的实测数据。', purpose: '留存检验实测量', fill: '按步骤要求填写' },
|
||
{ name: '合格/不合格', source: '手动选择。', purpose: '该步骤的巡检结论', fill: '选择合格或不合格' },
|
||
{ name: '签字', source: '输入检验人姓名。', purpose: '检验人签字留证', fill: '输入签字内容' },
|
||
{ name: '生成《工序间检验记录》', source: '一键汇总。', purpose: '输出该工单的工序间检验汇总记录', fill: '全部步骤提交后点击' }
|
||
]
|
||
},
|
||
{
|
||
title: '完工确认',
|
||
fields: [
|
||
{ name: '工单号', source: '手动选择/搜索。来自【工单管理】。', purpose: '确认哪个工单全部工位完成', fill: '搜索选择工单号' },
|
||
{ name: '确认全部工位完成', source: '手动勾选。', purpose: '声明该工单全部工位已完成', fill: '勾选确认' },
|
||
{ name: '签字', source: '手写/输入。', purpose: '确认人签字留证', fill: '输入签字内容' }
|
||
]
|
||
},
|
||
{
|
||
title: '异常上报',
|
||
fields: [
|
||
{ name: '工位号', source: '手动选择(工位数以数据库为准)。', purpose: '异常发生在哪个工位', fill: '选 1~12' },
|
||
{ name: '异常类型', source: '手动多选(设备故障/物料异常/工艺偏差/安全隐患/其他)。', purpose: '异常分类', fill: '勾选异常类型' },
|
||
{ name: '拍照', source: '浏览器相册/摄像头上传。', purpose: '留证异常现场', fill: '拍照上传' },
|
||
{ name: '文字描述', source: '手动填写。', purpose: '异常详细说明', fill: '描述异常情况' }
|
||
]
|
||
},
|
||
{
|
||
title: '记录查看',
|
||
fields: [
|
||
{ name: '类型/操作人/日期', source: '筛选条件。来自巡检记录表各字段。', purpose: '过滤历史巡检记录', fill: '可空=全部' },
|
||
{ name: '图片', source: '提交时上传的照片,MES 服务器存储。', purpose: '点击缩略图放大查看留证照片', fill: '只读' }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
|
||
|
||
export const helpProcessCard = {
|
||
title: '生产流程卡(产品型号级全景流程卡)',
|
||
overview:
|
||
'这个菜单做什么用:按**产品型号**全方位展示该型号的完整制造定义,用于工艺交底、审核与客户查阅;与「工件追溯」页里按单个 SN 打印的流程卡互补——后者记的是“这一件实际怎么做的”,本页讲的是“这个型号应该怎么做”。\n\n内容构成(页面按页签展示,打印时全部输出):①工位流程总览——工位组合、每工位绑定的工艺流程、流程状态、步骤数、检验点数、拧紧步骤数、工艺图纸、该型号的历史作业时间;②工艺流程与步骤——逐工位列出每条步骤的采集方式(手工录入/自动采集/无需采集)、是否需检测确认、是否拧紧采集、考核标准(含上下限);③物料清单——该型号的物料清单明细,按物料清单名称分组,含图号/名称/规格/单位/管理方式/装配工位/单台用量/损耗率/需求总量;④检验卡项——把所有「需要检测确认」的步骤汇总成检验项清单,含判定标准。\n\n工位组合从哪来:优先取该产品编号最近一张工单的「工位组合」;若该型号还没有工单,则按全产线工位顺序(升序)展示,页面顶部会标注来源。\n\n打印/导出:点「打印 / 导出 PDF」,系统会在新窗口打开排版好的 A4 卡片版式,用浏览器打印即可(选择“另存为 PDF”即导出电子档)。',
|
||
fields: [
|
||
{ name: '产品型号', source: '下拉选择,来自「物料档案」页。', purpose: '要查看哪个型号的全景流程', fill: '选定后自动带出产品编号' },
|
||
{ name: '产品编号', source: '自动带出(也可手工填写,直接按编号生成)。', purpose: '匹配工单、物料清单的关键字', fill: '一般无需手填' },
|
||
{ name: '工位组合', source: '只读,自动带出。', purpose: '该型号要走哪些工位、按什么顺序', fill: '-' },
|
||
{ name: '工位流程总览-工艺图纸', source: '来自「工艺流程」页上传的图纸文件名。', purpose: '该工位是否有可查阅的工艺图', fill: '-' },
|
||
{ name: '工位流程总览-作业时间', source: '按本型号历史报工实绩聚合的首末作业时间。', purpose: '了解各环节实际耗时', fill: '无实绩时显示“暂无实绩”' },
|
||
{ name: '检验卡项', source: '自动汇总所有「检测确认」步骤。', purpose: '作为检验清单使用', fill: '-' }
|
||
]
|
||
}
|
||
|
||
|
||
export const helpQuality = {
|
||
title: '质量检验(过程检 / 完工检)',
|
||
overview:
|
||
'质量检验 = 对物料/产品做检验判定并留痕,分「过程检」与「完工检」两个 Tab。来料检在 WMS 库房侧完成,本页不重复。\n\n录入流程:选图号(输入图号或名称远程检索物料清单,自动带出物料名称)→ 填报检单号/生产厂家/检验单号 → 上传附件 → 判定合格/不合格 → 保存。\n\n不合格闭环:结论为「不合格」时可当场选择处置方式(退货/返修/退换)并写处置说明;也可在列表操作列「处置」补录,或点「不合格单」一键导出《不合格单.xlsx》(预填本次检验数据)。\n\n查询:图号 / 物料名称 / 报检单号 / 记录日期范围组合筛选,每个框内模糊匹配、多框取交集;记录按时间倒序,后端真分页。',
|
||
fields: [
|
||
{ name: '图号', source: '远程检索物料清单(/quality/bom-material),也可手填。', purpose: '被检物料的图号(即 WMS 物料档案的图号)', fill: '输入图号或名称关键字选择' },
|
||
{ name: '物料名称', source: '选图号后自动带出,可手改。', purpose: '被检物料名称', fill: '一般无需手填' },
|
||
{ name: '报检单号', source: '系统自动生成(RQ+时间戳),可改。', purpose: '本次报检的唯一编号,也是附件挂靠键', fill: '一般无需改,须唯一' },
|
||
{ name: '生产厂家', source: '手工填写。', purpose: '该物料的生产/供货厂家', fill: '如 XX电气有限公司' },
|
||
{ name: '检验单号', source: '手工填写。', purpose: '对应的检验单据编号', fill: '如 INS-2026-001' },
|
||
{ name: '附件', source: '上传登记(bizType=quality,bizId=报检单号)。', purpose: '检验报告/照片等佐证材料', fill: '选择文件上传,可多个' },
|
||
{ name: '检验结论', source: '人工判定。', purpose: '合格(OK)/不合格(NG)', fill: '单选' },
|
||
{ name: '处置方式', source: '不合格时选择。', purpose: '退货/返修/退换', fill: '仅不合格需填' },
|
||
{ name: '处置说明', source: '手工填写。', purpose: '补充处置细节', fill: '可空' }
|
||
]
|
||
}
|
||
|
||
export const helpWip = {
|
||
title: '在制品(跨天在制视图)',
|
||
overview:
|
||
'在制品 = 已进线但尚未完工的工件(状态 已上线/在制/返修),跨天继续停留在此列表中。\n\n数据来源:MES 工件实时状态(GET /workpieces/in-process)。当前工位支持 0=上线位(虚拟)、1~12=物理工位、13=下线位(虚拟),工位数以数据库为准。\n\n与日排产的关系:已进线未完工的工件跨天继续,日排产仅排「未开工数量」,不会重复排产。停留时长自进线起算,便于发现滞留件。',
|
||
fields: [
|
||
{ name: '当前工位', source: '按工件状态与工位组合推算。', purpose: '工件此刻停在哪一工位', fill: '只读,可筛选' },
|
||
{ name: '状态', source: '系统维护。', purpose: '已上线/在制/返修', fill: '只读,可筛选' },
|
||
{ name: '进度', source: '已完成工序数 / 工位组合总工序数。', purpose: '看该件走到第几步', fill: '只读' },
|
||
{ name: '停留时长', source: '自上线时间起算。', purpose: '发现长时间滞留的在制品', fill: '只读' }
|
||
]
|
||
}
|
||
|
||
export const helpAlertCenter = {
|
||
title: '预警中心(系统自动触发)',
|
||
overview:
|
||
'预警中心汇集全系统自动产生的异常/提醒消息,人工无需配置规则——全部由内置触发源自动落库并推送。顶部铃铛角标显示未读数,点击进入本页处理。\n\n八类内置触发源:\n· 扭紧不合格(torque_ng):拧紧扭矩/角度超考核标准时自动告警;\n· 检验不合格(inspection_ng):质量检验判定 NG 时告警;\n· 备料未齐套(material_shortage):工单装机绑定物料未齐套时告警;\n· 库存偏低(inventory_low):可用量低于安全库存时告警;\n· 工单超时(task_overdue):工单超过完成日期未完工时告警;\n· 缓存位满(cache_full):产线缓存/接驳台占满时告警;\n· 数量不符(qty_diff):工位收料实收≠应发时告警(MES 仅预警,明细由 WMS 处理);\n· 应急呼叫(emergency_call):工位终端现场发起的紧急呼叫。\n\n应急呼叫闭环:操作工在工位终端点「应急呼叫」(设备故障/质量异常/缺料/安全等紧急情形)→ 系统即时落一条 type=emergency_call 的未读预警并通过 SSE 推到大屏/看板 → 线长、维修、仓库等相关人员在本页看到未读告警并到场处置 → 处置完点「标记已读」闭环。\n\n处理流程:按 状态(全部/未读/已读)、预警类型、开始时间(默认当天)、结束时间(默认不限)筛选并分页浏览,核实后点行末「标记已读」;已读记录留存备查。',
|
||
fields: [
|
||
{ name: '状态', source: '系统维护(未读/已读)。', purpose: '区分待处理与已处理预警', fill: '筛选项单选:全部/未读/已读' },
|
||
{ name: '预警类型', source: '内置触发源自动写入。', purpose: '只关注某一类异常', fill: '下拉选择八类之一,留空=全部' },
|
||
{ name: '开始时间 / 结束时间', source: '系统记录触发时刻。', purpose: '按时间范围缩小排查范围', fill: '开始时间默认当天;结束时间留空=不限' },
|
||
{ name: '类型', source: '内置触发源自动写入。', purpose: '区分八类预警(含应急呼叫)', fill: '只读' },
|
||
{ name: '标题 / 内容', source: '触发时系统自动生成。', purpose: '说明预警的具体对象与原因', fill: '只读' },
|
||
{ name: '关联ID', source: '系统写入(工单号/SN/工位等业务键)。', purpose: '定位预警来源的具体业务对象', fill: '只读' },
|
||
{ name: '时间', source: '系统记录触发时刻。', purpose: '追溯预警发生时间', fill: '只读' },
|
||
{ name: '标记已读', source: '人工在本页操作。', purpose: '处置完成后闭环该预警', fill: '核对处置后点「标记已读」' }
|
||
]
|
||
}
|
||
|
||
export const helpAttachment = {
|
||
title: '附件中心(统一存储与查阅)',
|
||
overview:
|
||
'附件中心集中登记并查阅全系统附件(图纸、检验照片、检验报告、工艺流程、流程卡、包装照片、Excel 导入等),新增在各业务页面内完成,本页负责查阅、下载、删除与归档清理。\n\n统一存储规则:所有附件按「附件根目录/年/月/日/文件类型/文件」分层存放,文件类型目录全部大写(PROCESS_PDF、INSPECTION_PHOTO、INSPECTION_PDF、DRAWING、PROCESS_CARD、PACKAGE_PHOTO、EXCEL_IMPORT、OTHER);文件名统一用 UUID,扩展名小写,不含中文与特殊字符;数据库只存相对路径(如 2026/09/19/INSPECTION_PHOTO/xxx.jpg),不存绝对路径。附件根目录由配置文件 Upload.Dir 指定,不硬编码。\n\n上传为流式写入(边写边算 MD5),同业务对象同 MD5 自动秒传不重复占空间;单文件大小按文件类型配置上限(默认 20MB)。\n\n删除为逻辑删除:库内标记「已删除」并记录删除人/时间,物理文件保留,勾选「含已删除」可追溯。\n\n归档清理:本地只保留最近「配置的年数」(默认 1 年),更早的附件可一键归档到外部备份目录并标记「已归档」,释放本地磁盘。\n\n磁盘空间监控:系统每天早上 7 点自动检测磁盘剩余空间,剩余低于 20% 告警、低于 10% 提示执行备份归档清理(本页顶部同步横幅提示,critical 时可直接点「立即归档清理」)。',
|
||
fields: [
|
||
{ name: '文件类型', source: '上传时由业务场景指定或按扩展名推断(大写枚举)。', purpose: '决定存储目录分层,也是查阅时的主要筛选维度', fill: '下拉单选八类之一,留空=全部' },
|
||
{ name: '业务类型', source: '上传时随附件记录写入(工单/物料/工艺流程/检验/入库 等)。', purpose: '区分附件挂在哪种业务单据上', fill: '下拉单选,留空=全部' },
|
||
{ name: '业务ID', source: '上传时写入的业务键(工单号/图号/SN)。', purpose: '定位某个具体单据的全部附件', fill: '支持模糊匹配,如输入工单号' },
|
||
{ name: '文件名', source: '上传时的原始文件名。', purpose: '按名称模糊查找', fill: '支持模糊匹配' },
|
||
{ name: '上传时间', source: '系统记录上传时刻。', purpose: '按时间区间缩小范围', fill: '可选起止日期,留空=不限' },
|
||
{ name: '含已删除', source: '勾选后包含逻辑删除的记录。', purpose: '追溯已删除附件', fill: '默认不勾选' },
|
||
{ name: '相对路径', source: '系统按统一规则生成(年/月/日/类型/UUID.ext)。', purpose: '直观看到物理存放位置;点击即在线预览', fill: '只读' },
|
||
{ name: '大小', source: '系统统计上传达字节数。', purpose: '评估占用空间', fill: '只读' },
|
||
{ name: '状态', source: '系统维护(有效/已归档/已删除)。', purpose: '区分当前可用的与已归档/已删除的附件', fill: '只读' },
|
||
{ name: '预览 / 下载', source: '预览走免鉴权直链(PDF/图片浏览器内联打开);下载走鉴权路由并带回中文文件名。', purpose: '查看或另存附件', fill: '点击对应按钮' },
|
||
{ name: '删除', source: '人工在本页操作(逻辑删除,需二次确认)。', purpose: '移除无效附件(保留可追溯索引)', fill: '点「删除」并确认' },
|
||
{ name: '归档清理', source: '人工在本页操作(先预览数量再确认执行)。', purpose: '把早于本地保留年数的附件移到外部备份目录并标记已归档,释放磁盘', fill: '点「归档清理」→确认' }
|
||
]
|
||
}
|