156 lines
7.6 KiB
Markdown
156 lines
7.6 KiB
Markdown
# 物料编号搜索功能设计说明
|
||
|
||
## 01-功能内容
|
||
|
||
本次功能是在项目中涉及物料搜索的页面和弹窗中,新增“物料编号/物料编码”独立搜索条件。
|
||
|
||
目标效果:
|
||
|
||
1. 用户可以直接输入物料编号定位物料。
|
||
2. 原有物料名称、图号/型号、库位、类型等搜索条件保持不变。
|
||
3. 新增编号搜索与原有条件可以组合查询。
|
||
4. 后端存储过程新增可选参数,未传物料编号时不影响原查询结果。
|
||
5. 导出场景同步支持物料编号条件,避免页面查询和导出数据不一致。
|
||
|
||
覆盖范围:
|
||
|
||
| 模块 | 页面/组件 | 查询入口 |
|
||
| --- | --- | --- |
|
||
| 仓储管理 | 库存盘点 | 主列表查询、导出 |
|
||
| 仓储管理 | 库存查询 | 主列表查询、导出 |
|
||
| 仓储管理 | 入库记录 | 主列表查询、导出 |
|
||
| 仓储管理 | 物料库位 | 主列表查询 |
|
||
| 仓储管理 | 领料/耗材 | 耗材物料选择查询 |
|
||
| 技术中心 | 物料查询 | 主列表查询 |
|
||
| 技术中心 | 物料维护 | 主列表查询 |
|
||
| 技术中心 | 图纸确认 | 物料选择弹窗 |
|
||
| 技术中心 | 图纸确认分配 | 物料选择弹窗 |
|
||
| 销售管理 | 订单管理 | 物料选择弹窗 |
|
||
| 销售管理 | 订单审核 | 物料选择弹窗 |
|
||
| 销售管理 | 订单查询 | 物料选择弹窗 |
|
||
| 装配管理 | 接收装配任务 | 物料选择弹窗 |
|
||
| 装配管理 | 接收滑台装配任务 | 物料选择弹窗 |
|
||
|
||
## 02-程序开发步骤
|
||
|
||
### 前端改造
|
||
|
||
1. 定位所有已有物料搜索入口,重点筛选包含 `物料名称_check`、`物料名称规格型号`、`仓储管理_通用库存_查询`、`物料管理_查询数据_分页` 的组件。
|
||
2. 在搜索栏或物料选择弹窗中新增输入框:
|
||
- `placeholder="物料编号"` 或 `placeholder="物料编码"`
|
||
- 使用 Vue 2 Options API 的 `data()` 字段维护输入值。
|
||
3. 在查询方法中新增判断变量:
|
||
- `物料编码_check = 1/0`
|
||
- `物料编码 = 输入值`
|
||
4. 将新增参数追加到原有 `param` 数组中。
|
||
5. 导出方法同步追加相同参数,保证查询和导出一致。
|
||
6. 保持原有 `CreateData`、`ExecDatabase` 调用方式,不新增请求封装。
|
||
|
||
### 后端改造
|
||
|
||
1. 对相关 SQL Server 存储过程增加可选参数:
|
||
- `@物料编码_check bit = null`
|
||
- `@物料编码 nvarchar(50) = null`
|
||
2. 在动态 SQL WHERE 条件中追加:
|
||
- 当 `@物料编码_check = 1` 时,按物料编码模糊查询。
|
||
3. 对 `sp_executesql` 同步补充参数声明和值传递。
|
||
4. 保持兼容性:未传编号条件时,原查询逻辑不变。
|
||
|
||
## 03-推进台账
|
||
|
||
| 轮次 | 做了什么 | 改了哪些文件/对象 | 验证了什么 | 下一步 |
|
||
| --- | --- | --- | --- | --- |
|
||
| 1 | 全局扫描物料搜索入口 | `src/views/**` | 找到物料名称搜索、物料选择弹窗、库存类查询入口 | 确定改造范围 |
|
||
| 2 | 仓储核心页面新增编号搜索 | 库存盘点、库存查询、入库记录 | 前端参数可生成 `物料编码_check/物料编码` | 补后端过程 |
|
||
| 3 | 共用物料选择弹窗新增编号搜索 | 销售、装配、技术确认相关页面 | 统一覆盖 `仓储管理_通用库存_查询` | 补共用查询过程 |
|
||
| 4 | 剩余物料主数据类入口新增编号搜索 | 物料查询、物料维护、物料库位、耗材领料 | 页面输入框与参数完整 | 补对应过程 |
|
||
| 5 | 执行 SQL Server 存储过程改造 | 9 个存储过程 | 直接调用过程验证编号条件不报错 | 前端解析验证 |
|
||
| 6 | 前端结构验证 | 14 个 `.vue` 文件 | `vue-template-compiler` 模板解析通过 | 形成文档 |
|
||
|
||
## 04-任务矩阵
|
||
|
||
| 任务编号 | 任务内容 | 状态 | 验收标准 |
|
||
| --- | --- | --- | --- |
|
||
| M-001 | 库存盘点增加物料编号搜索 | 已完成 | 页面可输入物料编号查询,导出同条件 |
|
||
| M-002 | 库存查询增加物料编号搜索 | 已完成 | 主查询和导出均带编号条件 |
|
||
| M-003 | 入库记录增加物料编号搜索 | 已完成 | 主查询和导出均带编号条件 |
|
||
| M-004 | 物料库位增加物料编号搜索 | 已完成 | 可按物料编号定位库位记录 |
|
||
| M-005 | 耗材领料增加物料编号搜索 | 已完成 | 耗材列表可按编号查询 |
|
||
| M-006 | 物料查询增加物料编码搜索 | 已完成 | 物料主文件查询可按编码过滤 |
|
||
| M-007 | 物料维护增加物料编码搜索 | 已完成 | 维护列表可按编码过滤 |
|
||
| M-008 | 共用库存物料选择弹窗增加编号搜索 | 已完成 | 销售、装配、技术确认弹窗可按编号查 |
|
||
| M-009 | 后端查询过程增加编号参数 | 已完成 | 存储过程直接传编号参数执行成功 |
|
||
| M-010 | 前端模板结构验证 | 已完成 | 改动 `.vue` 模板解析全部通过 |
|
||
|
||
## 05-验收证据
|
||
|
||
### 前端解析验证
|
||
|
||
验证命令:
|
||
|
||
```powershell
|
||
node -e "使用 vue-template-compiler 解析改动的 .vue 文件"
|
||
```
|
||
|
||
验证范围:
|
||
|
||
- `src/views/WarehouseManagement/InventoryCheck/index.vue`
|
||
- `src/views/WarehouseManagement/InventoryQuery/index.vue`
|
||
- `src/views/WarehouseManagement/WarehousingRecord/WarehousingRecord.vue`
|
||
- `src/views/WarehouseManagement/MaterialLocation/index.vue`
|
||
- `src/views/WarehouseManagement/MaterialRequisition/index.vue`
|
||
- `src/views/TechnologyCenter/MaterialQuery/index.vue`
|
||
- `src/views/TechnologyCenter/MaterialMaintain/index.vue`
|
||
- `src/views/AssemblyManagement/ReceiveAssemblyTask/index.vue`
|
||
- `src/views/AssemblyManagement/ReceiveAssemblyTaskSliding/index.vue`
|
||
- `src/views/SalesManagement/OrderExamine/index.vue`
|
||
- `src/views/SalesManagement/OrderManagement/index.vue`
|
||
- `src/views/SalesManagement/OrderInquiry/index.vue`
|
||
- `src/views/TechnologyCenter/DrawingConfirmation/index.vue`
|
||
- `src/views/TechnologyCenter/DrawingConfirmationDistribution/index.vue`
|
||
|
||
结果:全部 `ok`。
|
||
|
||
### SQL 执行验证
|
||
|
||
验证数据库:
|
||
|
||
- SQL Server:`192.168.1.27`
|
||
- 数据库:`ERPTOOL_JY_20250826Back`
|
||
|
||
验证方式:直接调用相关存储过程并传入 `@物料编码_check=1,@物料编码=N'0'`。
|
||
|
||
验证通过的过程:
|
||
|
||
- `物料管理_查询数据_分页`
|
||
- `仓储管理_物料库位_查询数据`
|
||
- `仓储管理_耗材出库_查询`
|
||
- `仓储管理_库存盘点_查询`
|
||
- `仓储管理_库存查询_查询`
|
||
- `仓储管理_通用库存_查询`
|
||
- `报表_仓储管理_通用库存_查询`
|
||
- `仓储管理_入库记录_查询`
|
||
- `仓储管理_入库记录_导出表格_查询`
|
||
|
||
结果:`all sql execution ok`。
|
||
|
||
## 06-决策记录
|
||
|
||
| 决策点 | 选择 | 原因 |
|
||
| --- | --- | --- |
|
||
| 搜索字段命名 | 前端显示“物料编号/物料编码”,后端参数使用 `物料编码` | 数据库字段主要为 `物料编码`,页面展示常称为物料编号 |
|
||
| 是否复用物料名称输入框 | 不复用,新增独立输入框 | 用户明确要求“添加物料编号搜索功能”,独立条件更清晰 |
|
||
| 后端参数是否必传 | 可选参数 | 保持旧页面、旧查询兼容 |
|
||
| 查询方式 | 模糊查询 | 与项目内物料名称、图号搜索习惯一致 |
|
||
| 共用弹窗处理 | 统一改 `仓储管理_通用库存_查询` 调用方 | 多个页面共用同一库存物料选择过程,统一补能避免重复逻辑 |
|
||
| 导出是否同步 | 同步 | 防止页面筛选结果和导出结果不一致 |
|
||
| 是否完整构建 | 未执行完整 build | 当前工作区已有 `dist.7z` 等既有脏文件,避免构建重写产物 |
|
||
|
||
## 07-后续注意事项
|
||
|
||
1. 新增物料搜索页面时,如表格展示 `物料编码`,搜索栏应同步提供物料编号输入框。
|
||
2. 新增后端查询过程时,建议统一支持:
|
||
- `@物料编码_check`
|
||
- `@物料编码`
|
||
3. 如果后续改为统一物料选择组件,可将物料编号、物料名称、图号/型号三个搜索项抽成共用弹窗,减少重复页面维护。
|