feat(erp): 采购计划/采购审核/到货跟踪 + 供应商管理
- 采购计划:选合同自动带出明细、合同/供应商表格选择器、批量填充(可生成N行)、卷号/数量列、送审/重新送审流程 - 采购审核:通过/驳回 + 申请意见,每次审核留痕(erp_purchase_plan_audit_log),计划详情展示审核历史/驳回理由 - 到货跟踪:上传到货Excel按牌号+规格回填明细到货量与状态,列校验/kg→t纠正,满额自动归档 - 供应商管理页(复用既有 erp_supplier 后端) - 综合搜索(计划号/供货商/合同号)、左右分栏工作台、全局表单按钮对齐修复 - 清理无用旧 erp 页面(看板/需求/订单/收货/退货/汇总) - DDL 与菜单脚本:docs/purchase-plan-ddl.sql(按 path 解析父目录、可重复执行) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
124
klp-ui/src/api/erp/purchasePlan.js
Normal file
124
klp-ui/src/api/erp/purchasePlan.js
Normal file
@@ -0,0 +1,124 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 采购计划列表
|
||||
export function listPurchasePlan(query) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 总体到货进度统计(已完成 N / 共 M)
|
||||
export function purchasePlanStatistics(query) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan/statistics',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 采购计划详情
|
||||
export function getPurchasePlan(planId) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan/' + planId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 按销售合同取明细(选合同自动带出明细)
|
||||
export function getItemsByOrders(orderIds) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan/itemsByOrders',
|
||||
method: 'get',
|
||||
params: { orderIds: (orderIds || []).join(',') }
|
||||
})
|
||||
}
|
||||
|
||||
// 合同列表(左侧,含每个合同已有计划数)
|
||||
export function listContracts(query) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan/contracts',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 某合同下的所有采购计划
|
||||
export function listPlansByContract(orderId) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan/byContract/' + orderId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增采购计划
|
||||
export function addPurchasePlan(data) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改采购计划
|
||||
export function updatePurchasePlan(data) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 审核(通过/驳回 + 申请意见)
|
||||
export function auditPurchasePlan(data) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan/audit',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 送审 / 重新送审
|
||||
export function submitPurchasePlan(planId) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan/submit/' + planId,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
// 删除采购计划
|
||||
export function delPurchasePlan(planIds) {
|
||||
return request({
|
||||
url: '/erp/purchasePlan/' + planIds,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导入到货 Excel
|
||||
export function importDelivery(planId, file) {
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
return request({
|
||||
url: `/erp/purchasePlan/${planId}/importDelivery`,
|
||||
method: 'post',
|
||||
data: formData,
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
})
|
||||
}
|
||||
|
||||
// 某计划的到货明细
|
||||
export function listDelivery(planId) {
|
||||
return request({
|
||||
url: `/erp/purchasePlan/${planId}/delivery`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 删除到货明细
|
||||
export function delDelivery(deliveryId) {
|
||||
return request({
|
||||
url: `/erp/purchasePlan/delivery/${deliveryId}`,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user