2026-02-12 09:43:51 +08:00
|
|
|
import request from '@/utils/request'
|
|
|
|
|
|
|
|
|
|
// 获取BOM列表
|
|
|
|
|
export function getBomList(params?: any) {
|
|
|
|
|
return request({
|
|
|
|
|
url: '/v1/bom/list',
|
|
|
|
|
method: 'get',
|
|
|
|
|
params
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取BOM详情
|
2026-03-06 10:30:04 +08:00
|
|
|
export function getBomDetail(bomNo: string, version?: string) {
|
2026-02-28 15:40:59 +08:00
|
|
|
// 去除首尾斜杠,保留中间斜杠并进行 URL 编码
|
2026-02-28 15:38:02 +08:00
|
|
|
const trimmed = bomNo.replace(/^\/+|\/+$/g, '');
|
2026-02-28 15:40:59 +08:00
|
|
|
const encoded = encodeURIComponent(trimmed);
|
2026-03-06 10:30:04 +08:00
|
|
|
const url = version
|
|
|
|
|
? `/v1/bom/detail/${encoded}?version=${encodeURIComponent(version)}`
|
|
|
|
|
: `/v1/bom/detail/${encoded}`;
|
2026-02-12 09:43:51 +08:00
|
|
|
return request({
|
2026-03-06 10:30:04 +08:00
|
|
|
url,
|
2026-02-12 09:43:51 +08:00
|
|
|
method: 'get'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 保存BOM
|
|
|
|
|
export function saveBom(data: any) {
|
|
|
|
|
return request({
|
|
|
|
|
url: '/v1/bom/save',
|
|
|
|
|
method: 'post',
|
|
|
|
|
data
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-06 09:55:59 +08:00
|
|
|
// 删除BOM
|
|
|
|
|
export function deleteBom(bomNo: string, version: string) {
|
2026-02-28 15:40:59 +08:00
|
|
|
// 去除首尾斜杠,保留中间斜杠并进行 URL 编码
|
|
|
|
|
const trimmed = bomNo.replace(/^\/+|\/+$/g, '');
|
|
|
|
|
const encoded = encodeURIComponent(trimmed);
|
2026-02-12 09:43:51 +08:00
|
|
|
return request({
|
2026-03-06 09:55:59 +08:00
|
|
|
url: `/v1/bom/${encoded}?version=${encodeURIComponent(version)}`,
|
2026-02-12 09:43:51 +08:00
|
|
|
method: 'delete'
|
|
|
|
|
})
|
|
|
|
|
}
|
2026-06-10 11:30:07 +08:00
|
|
|
|
|
|
|
|
// ==========================================
|
|
|
|
|
// BOM 草稿相关接口
|
|
|
|
|
// ==========================================
|
|
|
|
|
|
|
|
|
|
// 1. 暂存草稿
|
|
|
|
|
export function saveDraft(data: any) {
|
|
|
|
|
return request({ url: '/v1/bom/draft/save', method: 'post', data })
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 2. 读取草稿详情
|
|
|
|
|
export function getDraftDetail(params: { bom_no: string; version?: string }) {
|
|
|
|
|
return request({ url: '/v1/bom/draft/detail', method: 'get', params })
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 3. 发布草稿
|
|
|
|
|
export function publishDraft(data: { bom_no: string; version: string }) {
|
|
|
|
|
return request({ url: '/v1/bom/draft/publish', method: 'post', data })
|
|
|
|
|
}
|