2026-08-29 08:11:44 +08:00
// MES 管理后台 页面级操作说明:整体流程 + 各字段 数据来源/用途/怎么填
2026-08-28 17:23:44 +08:00
// 由 components/PageHelp.vue 在左下角 "?" 按钮弹出展示。
2026-08-29 08:11:44 +08:00
// 说明:这里的"数据来源"特指该字段的数据由谁产生、从哪个系统/页面来,帮助跑通真实流程。
2026-08-28 17:23:44 +08:00
export const helpProductType = {
2026-08-29 08:11:44 +08:00
title : '产品类型(档案维护)' ,
overview :
'产品类型是"生产什么产品"的分类档案,是整条产线的源头基础数据。\n\n生产主数据链条:产品类型 → 建工单(选产品类型) → 配物料清单(BOM) → 日排产 → 备料 → PLC/AGV 配送 → 工位装配。\n必须先在这里维护好产品类型,后面所有环节(工单/BOM/备料/拧紧/追溯)才有可选对象。' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 08:11:44 +08:00
{ name : '名称' , source : '手工填写。用户自定义,无上游来源。' , purpose : '产品类型的中文名,用于识别与下拉展示' , fill : '如:智能电表、断路器、配电柜' },
2026-08-29 15:30:25 +08:00
{
name : '编码' ,
source : '系统自动生成 + 可手动修改。新建时会自动带出(格式 PROD-YYYYMMDD-序号),你可直接使用或改为自定义编码;编辑时保留已存值。一个产品编码可对应多个工单(同一型号今天做一批、明天做一批,工单号不同,产品编码相同)。' ,
purpose : '产品唯一编码。它是 MES 内部识别该产品的标识,决定该产品的物料清单(BOM)内容,也是工单、备料、拧紧、追溯的挂靠键。' ,
fill : '建议用有意义的编码,如 METER-01。要点:①本编码与 WMS 是两套系统、互相解耦,MES 这边独立维护,WMS 那边各自单独录入;②成品入库时,由操作人员把本编码**手动录入 WMS**,两系统靠人工对齐;③如产品编码就是"产品类型",则直接沿用该类型编码即可;④建好后不要随意改,否则下游工单/追溯的关联会断。'
},
2026-08-29 08:11:44 +08:00
{ name : '类别' , source : '手工填写。可选,无上游来源。' , purpose : '产品所属大类,便于分类统计' , fill : '如:计量表 / 开关柜;可空' },
{ name : '启用' , source : '开关选择。默认开启。' , purpose : '启用后才允许在新建工单/备料的下拉里被选到' , fill : '默认开启;暂时停产的可关闭(不删除,保留档案)' },
{ name : '备注' , source : '手工填写。可选。' , purpose : '补充说明' , fill : '可不填' }
2026-08-28 17:23:44 +08:00
]
}
export const helpWorkOrder = {
title : '工单管理(新建 / 编辑工单)' ,
2026-08-29 08:11:44 +08:00
overview :
2026-08-29 15:30:25 +08:00
'工单 = 一个"合同/生产批次"的唯一载体,是生产执行和仓库出库挂靠的核心对象。\n\n全流程:先有产品类型 → 建工单(选产品类型、定数量、定工序组合) → 进"物料清单"给该产品配料 → 行内"日排产"排哪天产多少 → 仓库按排产备料出库 → 产线装配/拧紧/报工 → 完工。\n工单号会贯穿 备料单、拧紧查询、手动报工、工件追溯、操作日志 全链路。' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 08:11:44 +08:00
{ name : '工单号' , source : '系统自动生成(WO+时间戳),可手工改。新建时自动带出。' , purpose : '唯一标识一个工单,备料/出库/报工/追溯都挂在此号下' , fill : '打开新建对话框时已自动生成,一般不用改;如改动须保证唯一' },
{ name : '产品类型' , source : '下拉选择。数据来自"产品类型"页面已启用的记录。' , purpose : '说明这批生产的是什么产品,并决定物料清单内容' , fill : '先到"产品类型"页面建好记录,再到这边下拉选择;没有可选项=还没建产品类型' },
{ name : '产品编码' , source : '手工填写。通常与所选产品类型的编码一致。' , purpose : '产品唯一编码,用于展示与追溯' , fill : '如 METER-01,与产品类型编码对齐' },
{ name : '产品名称' , source : '手工填写。通常与产品类型名称一致。' , purpose : '产品中文名,用于展示' , fill : '如 智能电表' },
{ name : '数量' , source : '手工填写整数。' , purpose : '本工单生产总数量(合同台数),决定需求量与排产上限' , fill : '整数 ≥1,如 100' },
{ name : '工序组合' , source : '手工填写数字序列。' , purpose : '本工单要在产线执行的工序集合,PLC 按此组合下发到各工位' , fill : '组合写入PLC: 135=只做第1/3/5序;全工序=123456789101112' },
{ name : '状态' , source : '手动选择(新建时)。后续由系统流程自动推进。' , purpose : '工单生命周期:创建→发布→生产→完成' , fill : '新建时选"已创建",后续按流程推进无需手改' }
2026-08-28 17:23:44 +08:00
],
sections : [
{
2026-08-29 08:11:44 +08:00
title : '行内"日排产"弹窗' ,
overview : '对当前这行工单,排"哪天生产多少台"。排产结果会通知仓库按此备料/配送。' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 08:11:44 +08:00
{ name : '日期' , source : '手动选择日期。' , purpose : '计划生产日期,仓库按它哪天备料' , fill : '选一个日期,可对同一工单排未来多天' },
{ name : '计划数量' , source : '手动填写整数。' , purpose : '当天计划产量,作为仓库备料/AGV配送的前瞻依据' , fill : '≤ 工单总数量;如今天产 20 台' }
2026-08-28 17:23:44 +08:00
]
2026-08-29 15:30:25 +08:00
},
{
title : '行内"工序组合"弹窗' ,
overview : '对当前这行工单快速维护要执行的工序组合,PLC 按此组合下发到工位。\n可自由拆组合、补工序(半成品再上线):如本应做第3/5序却做成了半成品,可在此把该件的组合改成只做漏掉的第2序,重上线完成闭环。' ,
fields : [
{ name : '工序组合' , source : '人工自由维护。' , purpose : '本工单在产线执行的工序集合,PLC 组合下发' , fill : '只做第1/3/5序填 135;全序填 123456789101112;半成品补做第2序填 2' }
]
2026-08-28 17:23:44 +08:00
}
]
}
2026-08-29 15:30:25 +08:00
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 : '系统自动累计。只读。' , purpose : '该排产已实际完成多少件' , fill : '无需填写' },
{ name : '状态' , source : '系统维护。只读。' , purpose : '排产执行状态(待排产/已确认)' , fill : '无需填写' }
]
}
2026-08-28 17:23:44 +08:00
export const helpBom = {
2026-08-29 15:30:25 +08:00
title : '物料清单(产品 BOM) ' ,
2026-08-29 08:11:44 +08:00
overview :
2026-08-29 15:30:25 +08:00
'物料清单 = 生产 1 台该产品需要哪些物料、各用多少。\n按产品编码维护:同型号产品今天做一批、明天做一批,工单号不同、产品编码相同,共用这一份 BOM。\n仓库(库房)按工单取其产品的 BOM 计算备料/出库需求量,并强约束累计出库 ≤ 需求总量。\n\n职责分工:本页(MES)只维护「产品由哪几种料、各用几个」;每种物料叫什么、规格、是批次件还是 SN 件、库存有多少,统一在 WMS(库房)的「物料档案」里维护,两套系统互相解耦。\n\n数据链路:先建「产品类型」→ 到本页选产品编码,为它逐条添加物料(编码要与 WMS 物料档案一致) → 之后仓库才能为对应工单领料。' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 15:30:25 +08:00
{ name : '产品编码' , source : '下拉/输入选择。来自「产品类型」管理里建的编码;同一型号可对应多个工单。' , purpose : '要为哪个产品配置物料清单' , fill : '选择产品编码后加载该产品已有清单' },
2026-08-29 08:11:44 +08:00
{ name : '物料编码' , source : '手工填写。必须与 WMS(库房) 物料档案的编码一致。' , purpose : '该物料在库房的全库唯一编码,两条系统靠它关联' , fill : '如 螺丝=SCREW-M3、主控芯片=IC-001;编码对不上 WMS 将无法备料' },
{ name : '物料名称' , source : '手工填写。' , purpose : '物料中文名,便于识别' , fill : '如 十字螺丝、主控芯片' },
{ name : '规格' , source : '手工填写。' , purpose : '物料规格型号' , fill : '如 M3× 8 / 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 : '一般自动算,不必改' }
2026-08-28 17:23:44 +08:00
]
}
export const helpMaterial = {
2026-08-29 08:11:44 +08:00
title : '备料单(查询)' ,
overview :
'备料单按"日排产"自动算出某天需要的全部物料,仓库据此备料、由 AGV 配送到各工位(DOCK)。\n本页是只读查询,不修改数据。\n\n数据链路:日排产(工单内) → 本页按日期取那天所有工单的物料汇总 → 仓库出库 → AGV 配送。' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 08:11:44 +08:00
{ name : '日期' , source : '手动选择。筛选条件。' , purpose : '查看哪一天的备料需求' , fill : '选择某排产日期' },
{ name : '工单号' , source : '手动输入。筛选条件。' , purpose : '只查看指定工单的备料' , fill : '可空,空=看全部工单' },
{ name : '状态' , source : '下拉。数据来自备料执行状态。' , purpose : '按备料进度筛选' , fill : '可空' }
2026-08-28 17:23:44 +08:00
]
}
export const helpPlc = {
title : 'PLC 工序下发' ,
2026-08-29 08:11:44 +08:00
overview :
'把工序组合写入西门子 S7-1214 PLC 寄存器,产线传送带据此只执行对应工序。\n系统遵循"未收到完成信号不下发下一条",确保产线不串序。\n\n数据链路:工单(含工序组合) → 下发到 S7-1214 → PLC 驱动工位/传送带 → 收到完成信号再下发下一条。' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 08:11:44 +08:00
{ name : '工单号' , source : '手动输入/选择。来自工单。' , purpose : '当前生产的工单,追溯依据' , fill : '选择或输入工单号' },
{ name : '工件SN' , source : '扫码枪扫描。来自工件条码。' , purpose : '当前流经的工件唯一序列号' , fill : '扫码枪扫入;可空(按工单整体下发)' },
{ name : '工位' , source : '手动填写。' , purpose : '下发到哪个工位(1~12)' , fill : '输入 1~12 的整数' },
{ name : '工序组合' , source : '手动填写。通常与工单的工序组合一致。' , purpose : '该工位要执行的工序,PLC 组合执行' , fill : '如 135(做第1/3/5序);全序=123456789101112' }
2026-08-28 17:23:44 +08:00
]
}
export const helpTorque = {
2026-08-29 08:11:44 +08:00
title : '拧紧数据(查询/录入)' ,
overview :
'接收丹尼科尔拧紧工具的采集结果(扭矩/角度/时间/结果/操作人),用于质量追溯。\n数据在工位终端点"工序完成上报"后由拧紧枪数据同步到 MES。本页可查询,也可手工补录。' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 08:11:44 +08:00
{ name : 'SN' , source : '扫码枪/手工。来自工件条码。' , purpose : '被拧紧的工件唯一序列号' , fill : '扫码枪扫描' },
{ name : '工单号' , source : '自动带出/选择。来自工单。' , purpose : '该工件所属工单' , fill : '选择工单号' },
{ name : '工位' , source : '手动填写。' , purpose : '拧紧发生在哪道工位' , fill : '如 3' },
{ name : '扭矩' , source : '拧紧枪自动采集(丹尼科尔工具)。' , purpose : '实际拧紧扭矩(N·m),判定是否达标' , fill : '工具自动带出;补录时手填' },
{ name : '角度' , source : '拧紧枪自动采集。' , purpose : '实际旋转角度(°),判定滑牙/屈服' , fill : '工具自动带出;补录时手填' },
{ name : '操作人' , source : '登录账号自动带出。' , purpose : '执行拧紧的人,用于追溯' , fill : '默认当前登录用户,可改' }
2026-08-28 17:23:44 +08:00
]
}
export const helpScan = {
2026-08-29 15:30:25 +08:00
title : '手动报工(工位工序完成上报)' ,
overview :
'每个工位装配/检测相对工序完成后,在【手动报工】页选择工位、扫入工件SN、选工序号,系统按该工序已维护的【工艺参数】模板动态展开需要采集的参数,人工录入并提交。\n提交后写工序实绩 + 步骤数据,系统按步骤考核标准自动判定 OK/NG。\n\n数据链路:工艺参数(维护每道工序要收集哪些参数、判定标准) → 手动报工页扫SN逐参数录入 → 判 OK/NG → 工件追溯可见。' ,
fields : [
{ name : '工位' , source : '下拉选择(1~12)。' , purpose : '哪个工位在报工' , fill : '选择工位 1~12' },
{ name : '工件SN' , source : '扫码枪扫描。来自工件条码。' , purpose : '工件的唯一序列号,报工对象' , fill : '扫码枪扫入,触发载入参数模板' },
{ name : '工序号' , source : '手动选择(1~12)。' , purpose : '本次完成的工序,展开该工序的参数模板' , fill : '选择 1~12' },
{ name : '各步骤采集值' , source : '手工填写 或 拧紧枪自动带出(视采集方式)。字段由【工艺参数】维护页人为定义,可增加/删除/改采集方式与判定标准。' , purpose : '收集该工序的扭矩/角度/尺寸等参数,按标准判定合格与否' , fill : '逐条填采集值,未维护标准的步骤仅记录' }
]
}
export const helpProcessStep = {
title : '工艺参数(工序步骤与考核标准维护)' ,
2026-08-29 08:11:44 +08:00
overview :
2026-08-29 15:30:25 +08:00
'人为维护【每道工序要收集哪些参数】及【合格判定标准】,是手动报工的基础——报工页按这里的模板动态渲染参数输入框。\n· 一道工序可有多个步骤(参数);\n· 每步可选择采集方式:拧紧枪自动 / 手填 / 仅记录;\n· 每步可设考核标准(如扭矩在 [35,45] N·m 为合格),报工时系统自动判 OK/NG。' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 15:30:25 +08:00
{ name : '工序号' , source : '手动选择(1~12)。' , purpose : '给哪道工序配置步骤' , fill : '选择工序号,加载该工序现有步骤' },
{ name : '步骤名称' , source : '人为定义。' , purpose : '该参数叫什么(如 装配完成/拧紧扭矩)' , fill : '输入中文名称' },
{ name : '采集方式' , source : '人为选择。' , purpose : '该参数怎么来:拧紧枪自动/手填/仅记录' , fill : 'AUTO=拧紧枪自动;MANUAL=手填;NONE=仅记录' },
{ name : '是否为拧紧' , source : '开关。' , purpose : '标识是否属于拧紧采集' , fill : '拧紧扭矩/角度步骤打开' },
{ name : '判定标准' , source : '人为定义。可为一条或多条。' , purpose : '报工时自动判定 OK/NG 的依据' , fill : '如 扭矩 RANGE [35,45];角度 GE 90 等' }
2026-08-28 17:23:44 +08:00
]
}
export const helpTrace = {
title : '工件追溯' ,
2026-08-29 08:11:44 +08:00
overview :
'输入工件 SN,查它的完整履历:进线/完工时间、各工序时间线、步骤考核数据(扭矩/角度)、拧紧记录、以及它用了哪些批次/精密件。\n\n数据来源:全部由前端各环节自动写入(扫码报工、拧紧采集、PLC下发、工序完成),本页只读查询。' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 08:11:44 +08:00
{ name : '工件SN' , source : '扫码枪/手输。来自工件条码。' , purpose : '要追溯的工件唯一序列号' , fill : '扫 SN 或手动输入后点查询' }
2026-08-28 17:23:44 +08:00
]
}
export const helpRbac = {
2026-08-29 08:11:44 +08:00
title : '角色权限管理(用户/角色/权限)' ,
overview :
'管控谁能登录、能看哪些菜单。建议只给操作员分配其工序所需菜单权限。\n登录 token 有效期短(1800秒),超时自动失效需重新登录。' ,
2026-08-28 17:23:44 +08:00
sections : [
{
2026-08-29 08:11:44 +08:00
title : '用户(新建/编辑)' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 08:11:44 +08:00
{ name : '用户名' , source : '手工填写。' , purpose : '登录账号,唯一' , fill : '如 operator1' },
{ name : '密码' , source : '手工填写,保存时加密存储。' , purpose : '登录密码' , fill : '≥6位;编辑时留空=不修改' },
{ name : '姓名' , source : '手工填写。' , purpose : '真实姓名,操作日志追溯用' , fill : '如 张三' },
{ name : '角色' , source : '下拉选择。来自"角色"页已建的角色。' , purpose : '决定该用户的菜单权限' , fill : '选择已建角色' },
{ name : '状态' , source : '选择。' , purpose : '禁用后无法登录' , fill : '启用 / 禁用' }
2026-08-28 17:23:44 +08:00
]
},
{
2026-08-29 08:11:44 +08:00
title : '角色(新建/编辑)' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 08:11:44 +08:00
{ name : '名称' , source : '手工填写。' , purpose : '角色中文名' , fill : '如 装配工、质检员' },
{ name : '编码' , source : '手工填写。' , purpose : '角色唯一编码(SUPER_ADMIN 为内置超级管理员,勿改)' , fill : '如 OPERATOR' },
{ name : '备注' , source : '手工填写。' , purpose : '说明' , fill : '可空' },
{ name : '权限' , source : '多选。来自"权限"页的权限码。' , purpose : '勾选该角色可见的菜单/功能' , fill : '勾选所需权限码(如 produce.workorder)' }
2026-08-28 17:23:44 +08:00
]
},
{
2026-08-29 08:11:44 +08:00
title : '权限(新增/编辑)' ,
2026-08-28 17:23:44 +08:00
overview : '通常由系统预置,一般无需手动新增。' ,
fields : [
2026-08-29 08:11:44 +08:00
{ name : '编码' , source : '系统预置/手工。' , purpose : '权限唯一码' , fill : '如 produce.workorder' },
{ name : '名称' , source : '手工填写。' , purpose : '权限名' , fill : '如 工单管理' },
{ name : '类型' , source : '手工填写。' , purpose : 'MENU=菜单权限 / API=接口权限' , fill : '如 MENU' },
{ name : '路径' , source : '手工填写。' , purpose : 'MENU 对应的前端路由路径' , fill : '如 /work-order' },
{ name : '排序' , source : '手工填写。' , purpose : '菜单显示顺序' , fill : '数字,越小越靠前' }
2026-08-28 17:23:44 +08:00
]
}
]
}
export const helpEventLog = {
title : '操作日志' ,
2026-08-29 08:11:44 +08:00
overview :
'记录所有关键业务操作(建工单、物料清单维护、备料、PLC下发、拧紧、扫码报工等),按工单号、操作人、实体可追溯。\n数据由系统在各操作发生时自动写入,本页只读查询。' ,
2026-08-28 17:23:44 +08:00
fields : [
2026-08-29 08:11:44 +08:00
{ name : '工单号' , source : '筛选条件。数据来自日志中的 workOrderNo 字段。' , purpose : '按工单号过滤该工单的所有操作' , fill : '输入工单号,可空=全部' },
{ name : '操作人' , source : '筛选条件。数据来自日志中的 operator 字段。' , purpose : '按操作人过滤' , fill : '输入姓名/账号,可空=全部' },
{ name : '类型' , source : '筛选条件。数据来自日志中的事件类型字段。' , purpose : '按事件类型过滤' , fill : '如 EVENT_WORK_ORDER / EVENT_TORQUE,可空' }
2026-08-28 17:23:44 +08:00
]
2026-08-31 08:06:55 +08:00
}
export const helpProcessFlow = {
title : '工艺流程(流程图 ↔ 工序编号 ↔ 工位)' ,
overview :
'维护「流程图 → 工序编号(1~12) → 工位」三层关系,是工位终端和巡检的基础。\n\n模型:一个流程图只包含一个工序编号(如"工序3"),一个工序编号可有多个流程图版本(如 工序3_2026版/工序3_2027版),一个工位同时只绑定一个流程图。工位绑定流程图后,工位终端报工时 processCode 从流程取。\n\n数据链路:本页维护流程图+步骤模板+考核标准 → 工位绑定流程图 → 工位终端扫码采集按步骤模板渲染 → 报工写步骤数据并按标准判 OK/NG → 工件追溯/绩效报表可见。\n步骤的采集方式与考核标准与【工艺参数】页共用同一套模板数据。' ,
fields : [
{ name : '流程名称' , source : '手工填写。人为定义。' , purpose : '流程图版本名,用于区分同工序的不同版本' , fill : '如 工序3_2026版' },
{ name : '工序编号' , source : '下拉选择(1~12)。与产线 12 道工序一一对应。' , purpose : '该流程图绑定哪道工序;一个流程只能绑一道' , fill : '如 3' },
{ name : '工艺图纸(PDF)' , source : '本页上传。上传的文件由 MES 服务器保存,生成文件名。' , purpose : '该工序的作业指导图,工位终端打开并预览' , fill : '选择 PDF 文件上传,上传成功后显示文件名,可预览' },
{ name : '步骤模板' , source : '本页维护(步骤名/采集方式/是否拧紧)。采集方式三选一:AUTO=拧紧枪自动采集、MANUAL=手动录入、NONE=仅记录。' , purpose : '工位终端报工时按此模板动态渲染参数输入;AUTO 步骤的值由拧紧枪采集结果带出' , fill : '如 拧紧扭矩(MANUAL)、装配完成(NONE)' },
{ name : '考核标准' , source : '本页为每个步骤维护(名称/单位/判定逻辑/目标值或上下限)。' , purpose : '报工时系统按此标准自动判定该步骤 OK/NG,判定结果进入追溯与流程卡' , fill : '如 扭矩 RANGE [35,45];角度 GE 90' },
{ name : '工位号' , source : '【工位管理】tab 维护。下拉选择本页流程,即完成工位绑定。' , purpose : '工位(1~12)绑定哪个流程图;一个工位同时只绑一个' , fill : '选择工位号 + 该工位要用的流程' }
]
}
export const helpPerformance = {
title : '绩效报表(工人工作量统计)' ,
overview :
'按 操作人 × 日期 × 工序 汇总每个工人的完成/合格/NG 数量,用于工作量与绩效统计。\n\n数据来源:全部由工位终端/手动报工的「工序完成上报」自动写入工序实绩(workpiece_process),本页只读统计,不手工录入。\n\n数据链路:工位终端报工(写工序实绩) → 本页按人/天/工序聚合 → 出报表。' ,
fields : [
{ name : '操作人' , source : '筛选条件。来自工序实绩的 operator 字段(工位终端登录人)。' , purpose : '只看某个工人的工作量' , fill : '输入姓名/账号,可空=全部' },
{ name : '日期范围' , source : '筛选条件。来自工序实绩的产生时间。' , purpose : '按时间段统计' , fill : '选择起止日期,可空=全部' },
{ name : '完成数' , source : '自动汇总。该 操作人×日期×工序 的报工次数。' , purpose : '工作量核心指标' , fill : '只读' },
{ name : '合格数/NG数' , source : '自动汇总。按工序实绩 result 字段(OK/NG)分类计数。' , purpose : '质量指标,OK+NG=完成数' , fill : '只读' },
{ name : '合格率' , source : '自动计算 = 合格数/完成数。' , 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 : '开工签到' ,
fields : [
{ name : '班次' , source : '手动选择(早/中/晚)。' , purpose : '记录开工班次' , fill : '选早/中/晚' },
{ name : '拍照' , source : '调用浏览器相册/摄像头(input file capture)。照片上传到 MES 服务器。' , purpose : '留证现场开工状态' , fill : '点击拍照并上传' },
{ name : '提交' , source : '提交时自动记录:时间、拍照人(登录账号)、工位号。' , purpose : '形成签到记录,供追溯' , fill : '选班次+拍照后提交' }
]
},
{
title : '工位点检' ,
fields : [
{ name : '工位号' , source : '手动选择(1~12)。' , purpose : '点检哪个工位' , fill : '选 1~12' },
{ name : '点检项' , source : '手动多选(设备运行正常/安全防护到位/工具齐全/工位清洁)。' , purpose : '点检的项目清单' , fill : '勾选已完成的项目' },
{ name : '拍照' , source : '浏览器相册/摄像头上传。' , purpose : '留证' , fill : '拍照上传' }
]
},
{
title : '过程巡检' ,
fields : [
{ name : '工单号' , source : '手动选择/搜索。来自【工单管理】已建工单。' , purpose : '对哪个工单巡检,可查看其当前工序进度' , fill : '搜索选择工单号' },
{ name : '合格/不合格' , source : '手动选择(OK/NG)。' , purpose : '本次巡检结论' , fill : '选择合格或不合格' },
{ name : '签字' , source : '手写/输入签字内容。' , purpose : '检验人签字留证' , fill : '输入签字内容' }
]
},
{
title : '完工确认' ,
fields : [
{ name : '工单号' , source : '手动选择/搜索。来自【工单管理】。' , purpose : '确认哪个工单全部工序完成' , fill : '搜索选择工单号' },
{ name : '确认全部工序完成' , source : '手动勾选。' , purpose : '声明该工单全部工序已完成' , fill : '勾选确认' },
{ name : '签字' , source : '手写/输入。' , purpose : '确认人签字留证' , fill : '输入签字内容' }
]
},
{
title : '异常上报' ,
fields : [
{ name : '工位号' , source : '手动选择(1~12)。' , 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 : '只读' }
]
}
]
2026-08-28 17:23:44 +08:00
}