# Batch 1: WMS API 模块建设 - 前端修改文档
## 涉及页面
- 新增页面:库存预留管理页面
- 修改页面:库存查询页面(新增预留数量显示)
---
## API
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | /wms/inventory-reserve/page | 库存预留分页查询 |
| POST | /wms/inventory-reserve/release | 释放库存预留 |
| GET | /wms/inventory-reserve/get | 获取预留详情 |
**请求参数(分页查询):**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageNo | Integer | 是 | 页码 |
| pageSize | Integer | 是 | 每页数量 |
| reserveNo | String | 否 | 预留单号 |
| bizType | Integer | 否 | 业务类型 |
| bizNo | String | 否 | 业务单据号 |
| status | Integer | 否 | 状态 |
**响应:**
```json
{
"code": 0,
"data": {
"list": [
{
"id": 1,
"reserveNo": "RES202606260001",
"bizType": 10,
"bizTypeName": "销售预留",
"bizId": 100,
"bizNo": "SO202606260001",
"skuId": 1,
"skuName": "商品A-红色-L",
"warehouseId": 1,
"warehouseName": "主仓库",
"reserveQuantity": 100.00,
"usedQuantity": 0.00,
"status": 0,
"statusName": "预留中",
"expireTime": "2026-06-30 00:00:00",
"createTime": "2026-06-26 10:00:00"
}
],
"total": 1
}
}
```
---
## 前端修改点
### 1. 新增库存预留管理页面
**文件路径:** `src/views/wms/inventory/reserve/index.vue`
```vue
搜索
重置
释放
```
### 2. 新增 API 接口文件
**文件路径:** `src/api/wms/inventory/reserve/index.ts`
```typescript
import request from '@/config/axios'
// 库存预留分页查询
export const getInventoryReservePage = async (params: any) => {
return await request.get({ url: '/wms/inventory-reserve/page', params })
}
// 获取库存预留详情
export const getInventoryReserve = async (id: number) => {
return await request.get({ url: '/wms/inventory-reserve/get?id=' + id })
}
// 释放库存预留
export const releaseInventoryReserve = async (id: number) => {
return await request.post({ url: '/wms/inventory-reserve/release?id=' + id })
}
```
### 3. 字典类型新增
**文件路径:** `src/utils/dict.ts`
在 `DICT_TYPE` 中新增:
```typescript
WMS_RESERVE_BIZ_TYPE = 'wms_reserve_biz_type',
WMS_RESERVE_STATUS = 'wms_reserve_status',
WMS_TRANSACTION_TYPE = 'wms_transaction_type'
```
---
## 注意事项
1. 本批次主要新增库存预留功能,前端改动较小
2. 库存预留页面提供预留查询和手动释放功能
3. 后续批次(ERP/MES 集成)会自动调用预留 API,无需前端干预
4. 建议先执行数据库脚本,再部署后端代码,最后更新前端
---
## 后端新增文件清单
```
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/
├── api/inventory/
│ ├── WmsInventoryApi.java
│ ├── WmsInventoryApiImpl.java
│ └── dto/
│ ├── WmsInventoryQueryReqDTO.java
│ ├── WmsInventoryRespDTO.java
│ ├── WmsReceiptReqDTO.java
│ ├── WmsReceiptResultDTO.java
│ ├── WmsReserveReqDTO.java
│ ├── WmsShipmentReqDTO.java
│ ├── WmsShipmentResultDTO.java
│ └── WmsUseReserveReqDTO.java
├── controller/admin/inventory/
│ ├── WmsInventoryReserveController.java
│ └── vo/
│ ├── WmsInventoryReservePageReqVO.java
│ └── WmsInventoryReserveRespVO.java
├── dal/dataobject/inventory/
│ ├── WmsInventoryReserveDO.java
│ └── WmsInventoryTransactionDO.java
├── dal/mysql/inventory/
│ ├── WmsInventoryReserveMapper.java
│ └── WmsInventoryTransactionMapper.java
├── enums/inventory/
│ ├── WmsInventoryBizTypeEnum.java
│ ├── WmsReserveBizTypeEnum.java
│ ├── WmsReserveStatusEnum.java
│ └── WmsTransactionTypeEnum.java
└── service/inventory/
├── WmsInventoryReserveService.java
├── WmsInventoryReserveServiceImpl.java
├── WmsInventoryTransactionService.java
└── WmsInventoryTransactionServiceImpl.java
```
---
**文档版本**: v1.0
**创建日期**: 2026-06-26