refactor: 统一术语BOM为物料清单并补充工位扩展能力
主要变更: 1. 后端:重构工位管理逻辑,新增工位自定义扩展能力,将工位号上限调整为999并支持14+虚拟工位 2. 前后端:全量替换"BOM"术语为"物料清单",包括提示语、注释和文档 3. WMS模块:新增AGV任务取消接口与前端页面,对接海康RCS取消任务逻辑 4. 权限与种子数据:新增工位新增权限并更新权限配置 5. 修复错误校验逻辑,优化AGV客户端签名与请求处理
This commit is contained in:
@@ -93,11 +93,11 @@ export const qtyReport = (data) => request.post('/api/qty-report', data)
|
||||
// 工位退料:{orderNo, stationNo, sn, materialCode, materialName, spec, qty, unit, reason}
|
||||
export const returnMaterial = (data) => request.post('/api/return-material', data)
|
||||
|
||||
// ---------- 在制品 / 0-13 上下线建档完工 / BOM 领料 / 追溯(代理 MES 内部 API) ----------
|
||||
// ---------- 在制品 / 0-13 上下线建档完工 / 物料清单领料 / 追溯(代理 MES 内部 API) ----------
|
||||
// 在制品列表:{stationNo}(<=0/空=全部, 0=上线位, 13=下线位, 其余物理工位)→ {list}
|
||||
export const getWip = (params) => request.get('/api/wip', { params })
|
||||
|
||||
// BOM 物料清单(上线建档「领料确认」应领料):{productCode, bomName}
|
||||
// 物料清单(上线建档「领料确认」应领料):{productCode, bomName}
|
||||
export const getBom = (params) => request.get('/api/bom', { params })
|
||||
|
||||
// 工单查询(选工单带出产品编码/名称):{orderNo}
|
||||
|
||||
@@ -84,7 +84,7 @@ export const helpPdf = {
|
||||
export const helpOnline = {
|
||||
title: '上线建档 使用说明',
|
||||
overview:
|
||||
'上线建档运行在产线进线口(工位号 0)。成品在此登记发号、按物料清单核对领料,建档上线后流转到第 1 道装配工位。\n\n标准流程:①选工单(带出产品与物料清单)→ ②按 BOM 核对应领料 → ③扫描/生成工件 SN → ④点「确认建档上线」。\n\n数据链路:工单/物料清单(MES) → 建档上线(MES 生成在制工件,工位号 0) → 流转到装配工位。',
|
||||
'上线建档运行在产线进线口(工位号 0)。成品在此登记发号、按物料清单核对领料,建档上线后流转到第 1 道装配工位。\n\n标准流程:①选工单(带出产品与物料清单)→ ②按物料清单核对应领料 → ③扫描/生成工件 SN → ④点「确认建档上线」。\n\n数据链路:工单/物料清单(MES) → 建档上线(MES 生成在制工件,工位号 0) → 流转到装配工位。',
|
||||
sections: [
|
||||
{
|
||||
title: '选工单与产品',
|
||||
@@ -96,9 +96,9 @@ export const helpOnline = {
|
||||
},
|
||||
{
|
||||
title: '领料确认(按物料清单核对)',
|
||||
overview: '按产品 BOM 列出本台应领物料,操作员逐项核对后勾选确认。',
|
||||
overview: '按产品物料清单列出本台应领物料,操作员逐项核对后勾选确认。',
|
||||
fields: [
|
||||
{ name: '应领料清单', source: 'MES 物料清单(BOM)。按产品编码查询。', purpose: '列明单台用量、图号、规格、管理方式、装配工位,指导备料', fill: '对照实物逐项核对,确认无误后勾选「我已核对」' },
|
||||
{ name: '应领料清单', source: 'MES 物料清单。按产品编码查询。', purpose: '列明单台用量、图号、规格、管理方式、装配工位,指导备料', fill: '对照实物逐项核对,确认无误后勾选「我已核对」' },
|
||||
{ name: '已核对勾选', source: '操作员确认。', purpose: '未勾选则无法提交建档,防止漏料上线', fill: '核对完成后勾选;有物料清单时必须勾选' }
|
||||
]
|
||||
},
|
||||
@@ -151,7 +151,7 @@ export const helpMaterial = {
|
||||
title: '装配物料绑定',
|
||||
overview: '先在「作业」页扫描工件 SN,再按本工位应绑物料逐项扫码绑定。',
|
||||
fields: [
|
||||
{ name: '应绑物料', source: 'MES 物料清单(BOM)。按产品与工位带出。', purpose: '列明本工位需绑定的物料及已绑/应绑数量', fill: '对照标签:电气件扫 SN、结构件扫批次号,回车或点「绑定」' },
|
||||
{ name: '应绑物料', source: 'MES 物料清单。按产品与工位带出。', purpose: '列明本工位需绑定的物料及已绑/应绑数量', fill: '对照标签:电气件扫 SN、结构件扫批次号,回车或点「绑定」' },
|
||||
{ name: '已绑标签', source: 'MES 绑定记录。', purpose: '展示已绑定的 SN/批次,可点 × 撤销', fill: '绑错时点标签上的 × 撤销重绑' },
|
||||
{ name: '已绑齐/未绑齐', source: '系统统计。已绑数 / 应绑数。', purpose: '提示本工位物料是否齐套', fill: '未绑齐会红色提示缺料,需补齐后才能完工' }
|
||||
]
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
|
||||
<el-empty v-if="!form.orderNo" description="请先选择工单" :image-size="70" />
|
||||
<el-empty v-else-if="!bomItems.length" description="该产品未配置物料清单(BOM)" :image-size="70" />
|
||||
<el-empty v-else-if="!bomItems.length" description="该产品未配置物料清单" :image-size="70" />
|
||||
<template v-else>
|
||||
<el-table :data="bomItems" border size="large" max-height="360">
|
||||
<el-table-column type="index" label="#" width="55" align="center" />
|
||||
@@ -162,7 +162,7 @@ async function loadOrders() {
|
||||
loadingOrder.value = false
|
||||
}
|
||||
|
||||
// 选工单 → 带出产品编码/名称 → 查 BOM 应领料
|
||||
// 选工单 → 带出产品编码/名称 → 查物料清单应领料
|
||||
async function onOrderChange(orderNo) {
|
||||
product.code = ''
|
||||
product.name = ''
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<title>工位终端</title>
|
||||
<!-- 系统图标:工位终端屏(内联 SVG,避免依赖外部文件) -->
|
||||
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='6' fill='%231668dc'/><rect x='6' y='7' width='20' height='14' rx='2' fill='none' stroke='%23fff' stroke-width='2'/><path d='M12 25h8M16 21v4' stroke='%23fff' stroke-width='2' stroke-linecap='round'/></svg>">
|
||||
<script type="module" crossorigin src="/assets/index-Bed51ON8.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-CETtbp9K.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-Dz4RGjfJ.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Reference in New Issue
Block a user