feat: 完成多模块迭代更新
- 新增过程巡检按步骤上报、数量不符上报、工位退料功能 - 增加工单工程编号三级归属字段 - 新增物料安全库存与缺货预警 - 新增附件管理、退库单管理模块 - 优化生产看板展示逻辑与前端页面文案 - 清理冗余的工艺路线相关代码与备份文件
This commit is contained in:
@@ -23,13 +23,16 @@ export const helpProductType = {
|
||||
export const helpWorkOrder = {
|
||||
title: '工单管理(新建 / 编辑 / 删除工单)',
|
||||
overview:
|
||||
'工单 = 一个"合同/生产批次"的唯一载体,是生产执行和仓库出库挂靠的核心对象。\n\n全流程:先有产品型号 → 建工单(选产品型号、选定物料清单、定数量、勾选工位组合) → 进"物料清单"给该产品配料 → 到"日排产"排哪天产多少 → 仓库按排产备料出库 → 产线装配/拧紧/报工 → 完工(成品 SN 系统自动生成,并自动回流 WMS 入库为"成品"品类)。\n工单号会贯穿 备料单、拧紧查询、手动报工、工件追溯、操作日志 全链路。\n\n查询:支持按 工单号 / 产品编号 / 产品名称(模糊) / 状态 组合筛选;删除:仅「已创建 / 待排产 / 已发布」且无排产、备料、生产数据的工单可删除(操作列「删除」),生产中或已完成的工单不可删除。',
|
||||
'工单 = 一个"合同/生产批次"的唯一载体,是生产执行和仓库出库挂靠的核心对象。\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: '如 智能电表' },
|
||||
@@ -103,7 +106,7 @@ export const helpMaterial = {
|
||||
}
|
||||
|
||||
export const helpPlc = {
|
||||
title: '工艺路线派工(下发录入 / 下发记录)',
|
||||
title: '工位组合下发(下发录入 / 下发记录)',
|
||||
overview:
|
||||
'这个菜单做什么用:把某工单/工件的「工位组合」写入产线设备(如 PLC 控制器),产线传送带据此只停靠勾选的工位,其余工位不加工。\n\n页面分两个页签:「下发录入」(默认打开)、「下发记录」(点击才加载,可按工单号/状态筛选)。\n\n操作流程:选工单号 → 下拉选出该工单已上线未完工的工件 SN(也可扫码/手输) → 系统按工件实际进度自动带出「当前工位」(只读) → 工位组合中 ≤ 当前工位的编号视为已完成,自动剔除且禁选 → 勾选剩余要走的工位 → 下发。\n\n为什么单独一个菜单:产线偶尔需要人工干预——比如本该走 3 号工位却做成了半成品,人工在此只勾剩余工位重上线,完成闭环。\n\n核心约束:系统遵循「上一条未收到完成信号,不下发下一条」,确保产线不串序。\n\n数据链路:工单(含工位组合) → 本页下发到产线设备 → 产线设备驱动传送带/工位 → 收到完成信号再下发下一条。',
|
||||
fields: [
|
||||
@@ -303,11 +306,16 @@ export const helpInspect = {
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '过程巡检',
|
||||
title: '过程巡检(按步骤逐条提交)',
|
||||
overview:
|
||||
'选择工单后,系统自动拉出该工单「工位组合」里每个工位绑定的工艺步骤,逐步骤填报巡检结果——与工位终端的执行顺序一致,确保每一道工序都有检验留痕。\n\n全部步骤提交完成后,点「一键生成《工序间检验记录》」,系统把该工单的 PROCESS 类巡检按步骤汇总成一张可核对/打印的记录表。',
|
||||
fields: [
|
||||
{ name: '工单号', source: '手动选择/搜索。来自【工单管理】已建工单。', purpose: '对哪个工单巡检,可查看其当前工位进度', fill: '搜索选择工单号' },
|
||||
{ name: '合格/不合格', source: '手动选择(合格/不合格)。', purpose: '本次巡检结论', fill: '选择合格或不合格' },
|
||||
{ name: '签字', source: '手写/输入签字内容。', purpose: '检验人签字留证', fill: '输入签字内容' }
|
||||
{ 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: '全部步骤提交后点击' }
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -337,17 +345,35 @@ export const helpInspect = {
|
||||
]
|
||||
}
|
||||
|
||||
export const helpRoute = {
|
||||
title: '工艺路线(有序并行工位段)',
|
||||
overview: '工艺路线 = 一个产品从上线到完工所经过的「有序并行工位段」序列,是工单自动生成工位组合的源头。路线由若干「段」组成,段按序号顺序执行;每段 = 一个工艺流程(可空) + 一组并行工位(谁空停谁);段类型 LINE=在线(工位须存在于工位主数据),OFFLINE=线下位(如 0/13 不连 PLC、不拧紧)。建工单时选定一条「启用」的工艺路线,系统按路线展开所有在线工位的并集(去重、按工位号排序)自动生成工位组合;不选路线则手动勾选工位组合。路线可绑定产品型号,绑定后建该型号工单时优先带出对应路线。',
|
||||
|
||||
export const helpProcessCard = {
|
||||
title: '生产流程卡(产品型号级全景流程卡)',
|
||||
overview:
|
||||
'这个菜单做什么用:按**产品型号**全方位展示该型号的完整制造定义,用于工艺交底、审核与客户查阅;与「工件追溯」页里按单个 SN 打印的流程卡互补——后者记的是“这一件实际怎么做的”,本页讲的是“这个型号应该怎么做”。\n\n内容构成(页面按页签展示,打印时全部输出):①工位流程总览——工位组合、每工位绑定的工艺流程、流程状态、步骤数、检验点数、拧紧步骤数、工艺图纸、该型号的历史作业时间;②工艺流程与步骤——逐工位列出每条步骤的采集方式(手工录入/自动采集/无需采集)、是否需检测确认、是否拧紧采集、考核标准(含上下限);③物料清单——该型号的 BOM 明细,按 BOM 名称分组,含物料编码/名称/规格/单位/管理方式/装配工位/单台用量/损耗率/需求总量;④检验卡项——把所有「需要检测确认」的步骤汇总成检验项清单,含判定标准。\n\n工位组合从哪来:优先取该产品编号最近一张工单的「工位组合」;若该型号还没有工单,则按全产线工位顺序(升序)展示,页面顶部会标注来源。\n\n打印/导出:点「打印 / 导出 PDF」,系统会在新窗口打开排版好的 A4 卡片版式,用浏览器打印即可(选择“另存为 PDF”即导出电子档)。',
|
||||
fields: [
|
||||
{ name: '路线名称', source: '手工填写。', purpose: '工艺路线标识', fill: '如 标准三相表产线' },
|
||||
{ name: '产品型号', source: '下拉选择,可选。来自「产品型号」页。', purpose: '按型号带出路线', fill: '可选;绑定后更易复用' },
|
||||
{ name: '状态', source: '启用/停用。', purpose: '仅「启用」的路线可在建工单时被选择', fill: '默认启用' },
|
||||
{ name: '路线段-序号', source: '手工填 >=0,可上移/下移排序。', purpose: '段执行顺序', fill: '0 起,越小越靠前' },
|
||||
{ name: '路线段-段类型', source: 'LINE 在线 / OFFLINE 线下。', purpose: 'LINE 段工位须已在「关联工位」维护;OFFLINE 用于 0/13 等不连 PLC 的线下位', fill: '在线装配段选 LINE;上/下料等线下位选 OFFLINE' },
|
||||
{ name: '路线段-工艺流程', source: '下拉选择,可选。来自「工艺流程」页。', purpose: '本段执行的作业步骤来源', fill: '可空(仅占位段)' },
|
||||
{ name: '路线段-并行工位', source: '多选。工位数以数据库为准。', purpose: '本段并行的工位集合', fill: '在线段勾选真实工位;线下段可选 0/13' },
|
||||
{ name: '路线段-备注', source: '手工填写,可空。', purpose: '补充说明', fill: '可不填' }
|
||||
{ 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 helpQtyReport = {
|
||||
title: '数量不符上报',
|
||||
overview:
|
||||
'这个菜单做什么用:记录「工位收料时实收数量 ≠ 备料单应发数量」的差异,形成闭环——上报→落预警→生产/仓库核实处理。\n\n上报入口有两处:①工位终端「巡检/异常」面板——操作工现场发现数量不符时直接上报;②本页(MES 电脑端)——由生产调度/线长代录或复核。\n\n差异怎么算:系统自动按「实收 − 应发」计算差异(正数=多收、负数=少收);上报后同步落一条预警中心消息(type=qty_diff),未读状态可提醒相关人员。\n\n处理流程:仓库/生产核实后在预警中心标记已读,本页记录保持存档,供后续对账与追溯。',
|
||||
fields: [
|
||||
{ name: '工位', source: '工位终端上报自动带入;本页手录时手动选择(工位数以数据库为准)。', purpose: '差异发生在哪个工位', fill: '选工位号' },
|
||||
{ name: '工单号', source: '工位终端上报自动带入;来自【工单管理】。', purpose: '定位是哪张工单的物料', fill: '搜索/输入工单号' },
|
||||
{ name: '产品序列号', source: '工位终端上报自动带入(当前作业件)。', purpose: '追溯到具体那一件', fill: '扫描/输入 SN' },
|
||||
{ name: '物料编码/名称', source: '工位终端上报自动带入(当前收料物料)。', purpose: '是哪一种物料数量不符', fill: '选择/输入物料' },
|
||||
{ name: '应发数量', source: '手动/自动带入备料单应发数。', purpose: '作为差异计算基准', fill: '填应发数' },
|
||||
{ name: '实收数量', source: '手动填写(现场实际清点结果)。', purpose: '作为差异计算基准', fill: '填实收数' },
|
||||
{ name: '差异', source: '系统自动计算(实收−应发)。', purpose: '一眼看出多收/少收', fill: '只读' },
|
||||
{ name: '原因', source: '手动填写。', purpose: '说明数量不符的原因(如供应商短装/破损/漏发)', fill: '描述原因' },
|
||||
{ name: '状态', source: '系统维护(待处理/已处理)。', purpose: '跟踪闭环进度', fill: '只读,筛选用' }
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user