# 物料主数据新增辅单位与默认仓库字段
## 涉及页面
- 物料主数据新增/编辑页面
- 物料主数据列表页面
- 物料详情页面
## API
| 方法 | 路径 | 说明 |
|------|------|------|
| POST | /mdm/item/create | 创建物料(新增辅单位、仓库字段) |
| PUT | /mdm/item/update | 更新物料(新增辅单位、仓库字段) |
| GET | /mdm/item/get | 获取物料详情(新增辅单位名称、仓库名称) |
| GET | /mdm/item/page | 获取物料分页(新增辅单位名称、仓库名称) |
**请求参数(新增字段):**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| unitMeasureId2 | Long | 否 | 辅单位1编号,关联计量单位表 |
| unitMeasureRate1 | BigDecimal | 否 | 辅单位1换算比率(主单位与辅单位1的换算比率,如1箱=12个,则比率为12) |
| unitMeasureId3 | Long | 否 | 辅单位2编号,关联计量单位表 |
| unitMeasureRate2 | BigDecimal | 否 | 辅单位2换算比率 |
| warehouseId | Long | 否 | 默认仓库编号,关联仓库表 |
| warehouseCode | String | 否 | 默认仓库编码 |
**响应(新增字段):**
| 参数 | 类型 | 说明 |
|------|------|------|
| unitMeasureId2 | Long | 辅单位1编号 |
| unitMeasureName2 | String | 辅单位1名称 |
| unitMeasureRate1 | BigDecimal | 辅单位1换算比率 |
| unitMeasureId3 | Long | 辅单位2编号 |
| unitMeasureName3 | String | 辅单位2名称 |
| unitMeasureRate2 | BigDecimal | 辅单位2换算比率 |
| warehouseId | Long | 默认仓库编号 |
| warehouseCode | String | 默认仓库编码 |
| warehouseName | String | 默认仓库名称 |
## 前端修改点
### 1. 新增/编辑表单 - 添加辅单位和仓库字段
```html
```
### 2. data 数据
```js
data() {
return {
// ... 原有数据
form: {
// ... 原有字段
unitMeasureId2: undefined,
unitMeasureRate1: undefined,
unitMeasureId3: undefined,
unitMeasureRate2: undefined,
warehouseId: undefined,
warehouseCode: undefined,
},
warehouseList: [], // 仓库下拉列表
}
}
```
### 3. 列表表格 - 添加列
```html
```
### 4. 方法
```js
// 仓库选择变更时,同步设置仓库编码
handleWarehouseChange(warehouseId) {
const warehouse = this.warehouseList.find(w => w.id === warehouseId);
this.form.warehouseCode = warehouse ? warehouse.code : undefined;
},
// 打开新增/编辑弹窗时,加载仓库下拉列表
async openForm(id) {
// ... 原有逻辑
this.warehouseList = await getWarehouseSimpleList();
// ...
}
```
### 5. API 接口调用
```js
// 需要引入仓库 API
import { getWarehouseSimpleList } from '@/api/mdm/warehouse';
// 或在物料 API 文件中新增仓库简单列表接口
// api/mdm/warehouse.js
export function getWarehouseSimpleList() {
return request({ url: '/mdm/warehouse/simple-list', method: 'get' });
}
```
## 注意事项
- 辅单位1和辅单位2均关联计量单位表(mdm_unit_measure),下拉选项与主单位共用同一数据源
- 换算比率为 BigDecimal(24,6),前端使用 `el-input-number` 组件时需设置 `:precision="6"` 保持精度一致
- 默认仓库编码(warehouseCode)为冗余字段,选择仓库后自动填充,无需用户手动输入
- 辅单位和默认仓库均为非必填字段
- 列表页如字段较多,可考虑将辅单位信息折叠展示或仅在详情页显示