1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import request from "@/utils/request";
 
// BOM 列表分页查询
export function listPage(query) {
  return request({
    url: "/technologyBom/listPage",
    method: "get",
    params: query,
  });
}
 
// 新增 BOM
export function add(data) {
  return request({
    url: "/technologyBom/add",
    method: "post",
    data: data,
  });
}
 
// 修改 BOM
export function update(data) {
  return request({
    url: "/technologyBom/update",
    method: "put",
    data: data,
  });
}
 
// 删除 BOM
export function batchDelete(ids) {
  return request({
    url: "/technologyBom/batchDelete",
    method: "delete",
    data: ids,
  });
}
 
// 复制 BOM
export function copy(data) {
  return request({
    url: "/technologyBom/copy",
    method: "post",
    data: data,
  });
}
 
// 获取产品列表 (用于新增BOM时选择产品)
export function getProductList(query) {
  return request({
    url: "/product/ledger/listPage",
    method: "get",
    params: query,
  });
}
 
// --- BOM 结构相关 ---
 
// 根据 BOM ID 获取结构列表
export function queryStructureList(bomId) {
  return request({
    url: "/technologyBomStructure/listByBomId/" + bomId,
    method: "get",
  });
}
 
// 保存 BOM 结构
export function addStructure(data) {
  return request({
    url: "/technologyBomStructure/batchSave",
    method: "post",
    data: data,
  });
}
 
// 删除 BOM 结构项
export function deleteStructure(id) {
  return request({
    url: "/technologyBomStructure/batchDelete/" + id,
    method: "delete",
  });
}
 
// --- BOM 版本启用/停用、齐套分析 ---
 
// BOM 启用/停用(status: 1启用 0停用,启用时后端自动停用同规格其它版本)
export function changeStatus(data) {
  return request({
    url: "/technologyBom/changeStatus",
    method: "put",
    data: data,
  });
}
 
// BOM 齐套分析(data: { bomId, demandQty })
export function kitCheck(data) {
  return request({
    url: "/technologyBom/kitCheck",
    method: "post",
    data: data,
  });
}
 
// 缺口生成采购需求(data 同 kitCheck)
export function generateDemand(data) {
  return request({
    url: "/technologyBom/kitCheck/generateDemand",
    method: "post",
    data: data,
  });
}