feat(purchase): 采购批次号支持,同一批提交的记录可分组查看/统计

背景: 循环提交把一批物品生成多条独立申请,无法识别'哪些是同一批采购'

后端:
- purchase_request 模型新增 batch_no 字段(同一批提交共享)
- create 接口接收 batch_no,无则自动生成 BATCH-yyyyMMdd-HHmm-随机
- 新增 GET /purchase/batch/<batch_no> 按批次查询所有记录
- 批量审批接口支持按 batch_no 一键审批整批

前端:
- 提交时生成 batch_no 共享给所有行
- 列表新增批次号列(可点击)
- 新增'整批查看'弹窗:显示同批次所有记录 + 一键批量通过本批
- 操作列新增'整批'按钮

数据库需执行: ALTER TABLE purchase_request ADD COLUMN batch_no VARCHAR(100);
This commit is contained in:
yueli
2026-08-31 13:46:46 +08:00
parent 4b62c81baa
commit 664127ee30
5 changed files with 183 additions and 6 deletions

View File

@ -89,7 +89,8 @@ export function approvePurchase(id: number, data: {
// 批量审批采购申请(循环提交产生的多条记录可一次审批)
export function batchApprovePurchase(data: {
ids: number[]
ids?: number[]
batch_no?: string
action: 'approve' | 'reject'
reject_reason?: string
}) {
@ -100,6 +101,14 @@ export function batchApprovePurchase(data: {
})
}
// 按批次号查询同批次的采购申请记录
export function getPurchaseByBatch(batchNo: string) {
return request({
url: `/purchase/batch/${encodeURIComponent(batchNo)}`,
method: 'get'
})
}
// 获取可选审批人列表
export function getPurchaseApprovers() {
return request({