From e31b85e87ad30da0b9aa4830b7b79eb1aac6d6bd Mon Sep 17 00:00:00 2001 From: SunYF <123@hard_man.com> Date: Thu, 17 Sep 2026 18:27:07 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=85=A8=E9=93=BE=E8=B7=AF?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=B0=86=E7=89=A9=E6=96=99=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E6=94=B9=E7=A7=B0=E5=9B=BE=E5=8F=B7=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 统一全系统UI与文档中的"物料编码"为客户口径"图号",覆盖前端页面、后端导出表头与帮助文档 2. 优化入库模块: - 新增归属类型"其他"并完善注释 - 入库时自动回写入库单批次号 - 优化库位选择为三级联动下拉选择,替换原手动输入 - 新增入库归属编号录入功能 3. 更新需求文档,同步完成图号全链路改造的验收标记 --- bj_power_mes/frontend/src/help.js | 12 +- .../frontend/src/pages/Attachment.vue | 2 +- bj_power_mes/frontend/src/pages/Bom.vue | 10 +- .../frontend/src/pages/MaterialRequest.vue | 4 +- .../frontend/src/pages/ProcessCard.vue | 2 +- bj_power_mes/frontend/src/pages/QtyReport.vue | 4 +- bj_power_mes/frontend/src/pages/Scan.vue | 2 +- bj_power_mes/frontend/src/pages/Trace.vue | 2 +- bj_power_mes/internal/handler/inspection.go | 2 +- .../internal/handler/processcard_model.go | 2 +- bj_power_wms/frontend/src/help.js | 6 +- bj_power_wms/frontend/src/pages/BaseData.vue | 42 +++++-- bj_power_wms/frontend/src/pages/Inbound.vue | 105 ++++++++++++++---- .../frontend/src/pages/Inspection.vue | 2 +- bj_power_wms/internal/handler/inbound.go | 11 +- bj_power_wms/internal/handler/stock.go | 4 +- bj_power_workstation/frontend/src/help.js | 4 +- .../src/views/panels/InspectPanel.vue | 4 +- .../src/views/panels/MaterialPanel.vue | 6 +- 临时.md | 4 +- 20 files changed, 162 insertions(+), 68 deletions(-) diff --git a/bj_power_mes/frontend/src/help.js b/bj_power_mes/frontend/src/help.js index c2a77da..90d7bcc 100644 --- a/bj_power_mes/frontend/src/help.js +++ b/bj_power_mes/frontend/src/help.js @@ -5,7 +5,7 @@ export const helpProductType = { title: '产品型号(档案维护)', overview: - '产品型号 = 企业要生产哪些产品的分类档案,是整条产线的源头基础数据。\n\n主数据链条:产品型号 → 工单(选产品型号+物料清单) → 物料清单(给该产品编号配料) → 日排产 → 备料单 → 库房出库 → 产线生产 → 完工成品自动回流 WMS 入库。\n\n关系说明(几对几):\n· 产品型号 ↔ 工单:1 对 N。一个产品型号可以建多个工单(同一型号今天做一批、明天做一批,工单号不同、产品编号相同)。\n· 产品型号 ↔ 物料清单:1 对多(选用制)。同一型号可并存多份物料清单(不同厂家供货/含半成品结构),用「物料清单名称」区分,工单建单时选定一份,备料/装机都按工单锁定的那份算。\n· 产品型号 ↔ 备料单:间接。备料单由「日排产 × 工单锁定的物料清单」算出,与产品型号无直接约束。\n· 强约束:工单/物料清单都挂在产品编号下,产品型号编码变了,下游关联会断,建议建好后不要改。\n· 与 WMS 的关系:两套系统解耦。产品/物料编码主数据以 WMS 为单一来源,MES 实时拉取(WMS 不可达时允许手填、仅提示不强校验);成品完工后由系统自动生成 SN 回流 WMS 入库,无需人工对账。', + '产品型号 = 企业要生产哪些产品的分类档案,是整条产线的源头基础数据。\n\n主数据链条:产品型号 → 工单(选产品型号+物料清单) → 物料清单(给该产品编号配料) → 日排产 → 备料单 → 库房出库 → 产线生产 → 完工成品自动回流 WMS 入库。\n\n关系说明(几对几):\n· 产品型号 ↔ 工单:1 对 N。一个产品型号可以建多个工单(同一型号今天做一批、明天做一批,工单号不同、产品编号相同)。\n· 产品型号 ↔ 物料清单:1 对多(选用制)。同一型号可并存多份物料清单(不同厂家供货/含半成品结构),用「物料清单名称」区分,工单建单时选定一份,备料/装机都按工单锁定的那份算。\n· 产品型号 ↔ 备料单:间接。备料单由「日排产 × 工单锁定的物料清单」算出,与产品型号无直接约束。\n· 强约束:工单/物料清单都挂在产品编号下,产品型号编码变了,下游关联会断,建议建好后不要改。\n· 与 WMS 的关系:两套系统解耦。产品/图号主数据以 WMS 为单一来源,MES 实时拉取(WMS 不可达时允许手填、仅提示不强校验);成品完工后由系统自动生成 SN 回流 WMS 入库,无需人工对账。', fields: [ { name: '名称', source: '手工填写。用户自定义,无上游来源。', purpose: '产品型号的中文名,用于识别与下拉展示', fill: '如:智能电表、断路器、配电柜' }, { @@ -81,11 +81,11 @@ export const helpDailyPlan = { 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数据链路:先建「产品型号」→ 到本页选产品编号 + 命名物料清单,逐条添加物料 → 建工单时选定物料清单 → 仓库才能为对应工单领料。', + '物料清单 = 生产 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: '手工填写。必须与 WMS(库房) 物料档案的图号一致。', purpose: '该物料在库房的全库唯一编码,两系统靠它关联', fill: '如 螺丝=GJ-LUOSI-M16;图号对不上 WMS 将无法备料' }, { name: '物料名称', source: '手工填写。', purpose: '物料中文名,便于识别', fill: '如 十字螺丝、主控芯片' }, { name: '规格', source: '手工填写。', purpose: '物料规格型号', fill: '如 M16×80 / SMT-48脚' }, { name: '单位', source: '手工填写。', purpose: '计量单位,用于算量', fill: '个 / 件 / 套 / kg' }, @@ -389,7 +389,7 @@ export const helpInspect = { export const helpProcessCard = { title: '生产流程卡(产品型号级全景流程卡)', overview: - '这个菜单做什么用:按**产品型号**全方位展示该型号的完整制造定义,用于工艺交底、审核与客户查阅;与「工件追溯」页里按单个 SN 打印的流程卡互补——后者记的是“这一件实际怎么做的”,本页讲的是“这个型号应该怎么做”。\n\n内容构成(页面按页签展示,打印时全部输出):①工位流程总览——工位组合、每工位绑定的工艺流程、流程状态、步骤数、检验点数、拧紧步骤数、工艺图纸、该型号的历史作业时间;②工艺流程与步骤——逐工位列出每条步骤的采集方式(手工录入/自动采集/无需采集)、是否需检测确认、是否拧紧采集、考核标准(含上下限);③物料清单——该型号的 BOM 明细,按 BOM 名称分组,含物料编码/名称/规格/单位/管理方式/装配工位/单台用量/损耗率/需求总量;④检验卡项——把所有「需要检测确认」的步骤汇总成检验项清单,含判定标准。\n\n工位组合从哪来:优先取该产品编号最近一张工单的「工位组合」;若该型号还没有工单,则按全产线工位顺序(升序)展示,页面顶部会标注来源。\n\n打印/导出:点「打印 / 导出 PDF」,系统会在新窗口打开排版好的 A4 卡片版式,用浏览器打印即可(选择“另存为 PDF”即导出电子档)。', + '这个菜单做什么用:按**产品型号**全方位展示该型号的完整制造定义,用于工艺交底、审核与客户查阅;与「工件追溯」页里按单个 SN 打印的流程卡互补——后者记的是“这一件实际怎么做的”,本页讲的是“这个型号应该怎么做”。\n\n内容构成(页面按页签展示,打印时全部输出):①工位流程总览——工位组合、每工位绑定的工艺流程、流程状态、步骤数、检验点数、拧紧步骤数、工艺图纸、该型号的历史作业时间;②工艺流程与步骤——逐工位列出每条步骤的采集方式(手工录入/自动采集/无需采集)、是否需检测确认、是否拧紧采集、考核标准(含上下限);③物料清单——该型号的 BOM 明细,按 BOM 名称分组,含图号/名称/规格/单位/管理方式/装配工位/单台用量/损耗率/需求总量;④检验卡项——把所有「需要检测确认」的步骤汇总成检验项清单,含判定标准。\n\n工位组合从哪来:优先取该产品编号最近一张工单的「工位组合」;若该型号还没有工单,则按全产线工位顺序(升序)展示,页面顶部会标注来源。\n\n打印/导出:点「打印 / 导出 PDF」,系统会在新窗口打开排版好的 A4 卡片版式,用浏览器打印即可(选择“另存为 PDF”即导出电子档)。', fields: [ { name: '产品型号', source: '下拉选择,来自「产品型号」页。', purpose: '要查看哪个型号的全景流程', fill: '选定后自动带出产品编号' }, { name: '产品编号', source: '自动带出(也可手工填写,直接按编号生成)。', purpose: '匹配工单、物料清单的关键字', fill: '一般无需手填' }, @@ -409,7 +409,7 @@ export const helpQtyReport = { { 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: '只读' }, @@ -423,7 +423,7 @@ export const helpQuality = { overview: '质量检验 = 对物料/产品做检验判定并留痕,分「过程检」与「完工检」两个 Tab。来料检在 WMS 库房侧完成,本页不重复。\n\n录入流程:选图号(输入图号或名称远程检索 BOM 料,自动带出物料名称)→ 填报检单号/生产厂家/检验单号 → 上传附件 → 判定合格/不合格 → 保存。\n\n不合格闭环:结论为「不合格」时可当场选择处置方式(退货/返修/退换)并写处置说明;也可在列表操作列「处置」补录,或点「不合格单」一键导出《不合格单.xlsx》(预填本次检验数据)。\n\n查询:图号 / 物料名称 / 报检单号 / 记录日期范围组合筛选,每个框内模糊匹配、多框取交集;记录按时间倒序,后端真分页。', fields: [ - { name: '图号', source: '远程检索 BOM 料(/quality/bom-material),也可手填。', purpose: '被检物料的图号(即物料编码)', fill: '输入图号或名称关键字选择' }, + { name: '图号', source: '远程检索 BOM 料(/quality/bom-material),也可手填。', purpose: '被检物料的图号(即 WMS 物料档案的图号)', fill: '输入图号或名称关键字选择' }, { name: '物料名称', source: '选图号后自动带出,可手改。', purpose: '被检物料名称', fill: '一般无需手填' }, { name: '报检单号', source: '系统自动生成(RQ+时间戳),可改。', purpose: '本次报检的唯一编号,也是附件挂靠键', fill: '一般无需改,须唯一' }, { name: '生产厂家', source: '手工填写。', purpose: '该物料的生产/供货厂家', fill: '如 XX电气有限公司' }, diff --git a/bj_power_mes/frontend/src/pages/Attachment.vue b/bj_power_mes/frontend/src/pages/Attachment.vue index 37824ac..94e0006 100644 --- a/bj_power_mes/frontend/src/pages/Attachment.vue +++ b/bj_power_mes/frontend/src/pages/Attachment.vue @@ -10,7 +10,7 @@ - + diff --git a/bj_power_mes/frontend/src/pages/Bom.vue b/bj_power_mes/frontend/src/pages/Bom.vue index 1708a87..77a11ae 100644 --- a/bj_power_mes/frontend/src/pages/Bom.vue +++ b/bj_power_mes/frontend/src/pages/Bom.vue @@ -16,7 +16,7 @@ 查询 添加物料 + content="模板列(首行表头):产品编号 | 物料清单名称 | 图号 | 名称 | 规格 | 单位 | 单台用量 | 损耗率 | 装配工位 | 相关标准 | 备注。按(产品编号+物料清单名称)分组覆盖式导入。"> 导入 Excel @@ -32,7 +32,7 @@ {{ row.bomName }} - + @@ -65,14 +65,14 @@ + title="图号须与 WMS(库房)「物料档案」的图号完全一致,才能备料/出库。管理方式:电气件按 SN 逐件、结构件按批次。" /> - + @@ -149,7 +149,7 @@ function openAdd() { } async function save() { if (!add.productCode) return ElMessage.warning('请选择产品编号') - if (!add.materialCode) return ElMessage.warning('请填写物料编码') + if (!add.materialCode) return ElMessage.warning('请填写图号') const { requiredQty, ...item } = add if (!item.processCode) item.processCode = 0 await request.put('/bom', { productCode: add.productCode, bomName: bomName.value, items: [{ ...item }] }) diff --git a/bj_power_mes/frontend/src/pages/MaterialRequest.vue b/bj_power_mes/frontend/src/pages/MaterialRequest.vue index 654fb56..0065ce4 100644 --- a/bj_power_mes/frontend/src/pages/MaterialRequest.vue +++ b/bj_power_mes/frontend/src/pages/MaterialRequest.vue @@ -8,7 +8,7 @@ - + @@ -27,7 +27,7 @@ - + diff --git a/bj_power_mes/frontend/src/pages/ProcessCard.vue b/bj_power_mes/frontend/src/pages/ProcessCard.vue index 430a261..7205a3c 100644 --- a/bj_power_mes/frontend/src/pages/ProcessCard.vue +++ b/bj_power_mes/frontend/src/pages/ProcessCard.vue @@ -109,7 +109,7 @@
BOM:{{ g.bomName }}
- + diff --git a/bj_power_mes/frontend/src/pages/QtyReport.vue b/bj_power_mes/frontend/src/pages/QtyReport.vue index dc42b1a..06750a0 100644 --- a/bj_power_mes/frontend/src/pages/QtyReport.vue +++ b/bj_power_mes/frontend/src/pages/QtyReport.vue @@ -11,7 +11,7 @@ - + 查询 @@ -21,7 +21,7 @@ - + diff --git a/bj_power_mes/frontend/src/pages/Scan.vue b/bj_power_mes/frontend/src/pages/Scan.vue index 2443d89..3d5f76d 100644 --- a/bj_power_mes/frontend/src/pages/Scan.vue +++ b/bj_power_mes/frontend/src/pages/Scan.vue @@ -59,7 +59,7 @@ title="该产品未在当前装配工位配置需绑定物料(物料清单「装配工位」为空),不校验" />
- + diff --git a/bj_power_mes/frontend/src/pages/Trace.vue b/bj_power_mes/frontend/src/pages/Trace.vue index 831a6c3..560caa5 100644 --- a/bj_power_mes/frontend/src/pages/Trace.vue +++ b/bj_power_mes/frontend/src/pages/Trace.vue @@ -67,7 +67,7 @@ :title="data.bindTrace?.complete ? '装配物料已全部绑齐 ✓' : ('装配物料未绑齐:' + (data.bindTrace?.missing || ''))" show-icon /> - + diff --git a/bj_power_mes/internal/handler/inspection.go b/bj_power_mes/internal/handler/inspection.go index 7c5ae02..fe96258 100644 --- a/bj_power_mes/internal/handler/inspection.go +++ b/bj_power_mes/internal/handler/inspection.go @@ -135,7 +135,7 @@ func UnqualifiedReportHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { f := excelize.NewFile() sheet := "不合格单" f.SetSheetName("Sheet1", sheet) - headers := []string{"报检单号", "物料编码(图号)", "物料名称", "生产厂家", "检验单号", "结论", "处置方式", "处置说明", "记录时间"} + headers := []string{"报检单号", "图号", "物料名称", "生产厂家", "检验单号", "结论", "处置方式", "处置说明", "记录时间"} for c, h := range headers { cell, _ := excelize.CoordinatesToCellName(c+1, 1) _ = f.SetCellValue(sheet, cell, h) diff --git a/bj_power_mes/internal/handler/processcard_model.go b/bj_power_mes/internal/handler/processcard_model.go index 2320bee..ac3f2f3 100644 --- a/bj_power_mes/internal/handler/processcard_model.go +++ b/bj_power_mes/internal/handler/processcard_model.go @@ -531,7 +531,7 @@ func renderModelCard(c *modelCard) (string, error) { - + {{range .Items}} diff --git a/bj_power_wms/frontend/src/help.js b/bj_power_wms/frontend/src/help.js index 8e2ec99..d728472 100644 --- a/bj_power_wms/frontend/src/help.js +++ b/bj_power_wms/frontend/src/help.js @@ -61,7 +61,7 @@ export const helpInbound = { export const helpOutbound = { title: '出库管理(统一主表)', overview: - '所有出库都落在同一张「出库主表」(OutboundOrder),用"类型"区分,装箱信息(箱号/SN清单/合同号)也直接记在主表上,不再单独建装箱表。\n两个出库页签 + 一个记录页签:\n· 工单备料出库(MES):对接 MES 工单台账领料,强约束"单物料累计出库 ≤ 工单需求总量";未启用 MES 或工单未同步时,工单下拉可能为空,可直接手输工单号(需台账已同步)。\n· 通用出库:不依赖工单的手动出库(退料/样品/报废/发货),支持结构件批次与电气件 SN,填箱号即一并记录装箱;MES 不可用或无需挂靠工单时请用本页。\n· 出库记录:统一主表的全量查询与导出(一键导出 CSV,含装箱信息)。\n选用原则:有 MES 工单要按 物料清单 领料 → 工单备料出库;无工单的自由出库/装箱发货 → 通用出库。\n\n说明:出库列表中的"图号"即物料编码(客户口径统一称"图号");通用出库涵盖退料/样品/报废/发货等场景,无固定分类下拉,具体去向记在"备注"。质量门禁:质量状态为「不合格/待退」的批次禁止领料上线,须先完成不合格处置。', + '所有出库都落在同一张「出库主表」(OutboundOrder),用"类型"区分,装箱信息(箱号/SN清单/合同号)也直接记在主表上,不再单独建装箱表。\n两个出库页签 + 一个记录页签:\n· 工单备料出库(MES):对接 MES 工单台账领料,强约束"单物料累计出库 ≤ 工单需求总量";未启用 MES 或工单未同步时,工单下拉可能为空,可直接手输工单号(需台账已同步)。\n· 通用出库:不依赖工单的手动出库(退料/样品/报废/发货),支持结构件批次与电气件 SN,填箱号即一并记录装箱;MES 不可用或无需挂靠工单时请用本页。\n· 出库记录:统一主表的全量查询与导出(一键导出 CSV,含装箱信息)。\n选用原则:有 MES 工单要按 物料清单 领料 → 工单备料出库;无工单的自由出库/装箱发货 → 通用出库。\n\n说明:出库列表统一以"图号"展示物料(客户口径统一称"图号");通用出库涵盖退料/样品/报废/发货等场景,无固定分类下拉,具体去向记在"备注"。质量门禁:质量状态为「不合格/待退」的批次禁止领料上线,须先完成不合格处置。', fields: [ { name: '备料出库-工单号', source: '手动输入。数据来自 MES 已建的工单及导入的物料台账。', purpose: '出库挂靠的工单,决定可领料总量与需求缺口', fill: '输入工单号回车,查询该工单的物料台账' }, { name: '备料出库-目标工位', source: '下拉选择 DOCK01~DOCK20(选填,可过滤搜索)。', purpose: 'AGV 配送送达的接驳台(toDock 参数)', fill: '选择如 DOCK05;不选默认运到产线入口 DOCK01' }, @@ -216,9 +216,9 @@ export const helpZone = { export const helpMaterial = { title: '物料档案', overview: - '定义每一种物料的字典:叫什么、什么规格、什么品类(原材料/半成品/成品)、是【结构件(批次)】还是【电气件(SN)】。\n此处维护的物料会作为下拉选项出现在入库/出库/装箱等页面;其中"类型"直接决定后续入库方式——结构件走批次(一批多件)、电气件走 SN 逐件扫码(单件追溯)。\n\n品类说明:1=原材料(默认) / 2=半成品 / 3=成品。编码主数据单一来源在本表:产品型号档案即本表中"成品"品类的行(MES 实时拉取,不双录);库存主表 inventories 的品类与其呼应。列表支持按品类筛选,导出含品类列。\n\n物料档案是库房的另一道地基:先建好物料,入库时才能选到;类型选错会导致入库方式与追溯粒度不符。\n\n命名说明:物料编码在出库/看板等页面统一显示为"图号"(客户口径)。安全库存在本档案维护,可用量低于它时会在「库房看板」首页触发缺货预警。', + '定义每一种物料的字典:叫什么、什么规格、什么品类(原材料/半成品/成品)、是【结构件(批次)】还是【电气件(SN)】。\n此处维护的物料会作为下拉选项出现在入库/出库/装箱等页面;其中"类型"直接决定后续入库方式——结构件走批次(一批多件)、电气件走 SN 逐件扫码(单件追溯)。\n\n品类说明:1=原材料(默认) / 2=半成品 / 3=成品。编码主数据单一来源在本表:产品型号档案即本表中"成品"品类的行(MES 实时拉取,不双录);库存主表 inventories 的品类与其呼应。列表支持按品类筛选,导出含品类列。\n\n物料档案是库房的另一道地基:先建好物料,入库时才能选到;类型选错会导致入库方式与追溯粒度不符。\n\n命名说明:本档案维护的物料在出库/看板等页面统一以"图号"展示(客户口径)。安全库存在本档案维护,可用量低于它时会在「库房看板」首页触发缺货预警。', fields: [ - { name: '物料编码', source: '手工填写,仓库自定义(新增后不可改)。在出库/看板等页面显示为"图号"。', purpose: '物料唯一编号(即图号)', fill: '如 SCREW-M3;新增后不可改编码' }, + { name: '图号', source: '手工填写,仓库自定义(新增后不可改)。在出库/看板等页面显示为"图号"。', purpose: '物料唯一编号(即图号)', fill: '如 SCREW-M3;新增后不可改编码' }, { name: '名称', source: '手工填写。', purpose: '物料名称', fill: '如 螺丝 M3' }, { name: '简称', source: '手工填写(可空)。', purpose: '简写', fill: '可空' }, { name: '规格', source: '手工填写(可空)。', purpose: '规格型号', fill: '可空' }, diff --git a/bj_power_wms/frontend/src/pages/BaseData.vue b/bj_power_wms/frontend/src/pages/BaseData.vue index 6325276..a1652c1 100644 --- a/bj_power_wms/frontend/src/pages/BaseData.vue +++ b/bj_power_wms/frontend/src/pages/BaseData.vue @@ -1,7 +1,7 @@
BOM:{{.BomName}}
物料编码物料名称规格单位管理方式装配工位单台用量损耗率(%)需求总量
图号物料名称规格单位管理方式装配工位单台用量损耗率(%)需求总量