2025-12-20 15:13:10 +08:00
|
|
|
|
import { newService } from '/@/utils/request';
|
|
|
|
|
|
|
|
|
|
|
|
// 资产列表查询参数
|
|
|
|
|
|
export interface AssetQueryParams {
|
|
|
|
|
|
name?: string;
|
|
|
|
|
|
type?: string;
|
|
|
|
|
|
status?: number;
|
2026-01-09 09:17:53 +08:00
|
|
|
|
pageNum?: number;
|
2025-12-20 15:13:10 +08:00
|
|
|
|
pageSize?: number;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取资产列表
|
|
|
|
|
|
export function listAssets(params?: AssetQueryParams) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/listAssets',
|
|
|
|
|
|
method: 'get',
|
|
|
|
|
|
params,
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 更新资产状态
|
|
|
|
|
|
export function updateAssetStatus(id: string, status: number) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/updateAssetStatus',
|
|
|
|
|
|
method: 'put',
|
|
|
|
|
|
data: { id, status },
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 删除资产
|
|
|
|
|
|
export function deleteAsset(id: string) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/deleteAsset',
|
|
|
|
|
|
method: 'delete',
|
|
|
|
|
|
params: { id },
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
2025-12-20 17:57:24 +08:00
|
|
|
|
|
|
|
|
|
|
// 获取资产详情
|
|
|
|
|
|
export function getAsset(id: string) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/getAsset',
|
|
|
|
|
|
method: 'get',
|
|
|
|
|
|
params: { id },
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取分类选项
|
|
|
|
|
|
export function getAssetCategories() {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/getAsset',
|
|
|
|
|
|
method: 'get',
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-12-24 17:59:50 +08:00
|
|
|
|
// 新增资产
|
|
|
|
|
|
export function createAsset(data: any) {
|
2025-12-20 17:57:24 +08:00
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/createAsset',
|
|
|
|
|
|
method: 'post',
|
|
|
|
|
|
data,
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-12-24 17:59:50 +08:00
|
|
|
|
// 修改资产
|
|
|
|
|
|
export function updateAsset(data: any) {
|
2025-12-20 17:57:24 +08:00
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/updateAsset',
|
|
|
|
|
|
method: 'put',
|
|
|
|
|
|
data,
|
2025-12-24 17:59:50 +08:00
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 上传资产图片
|
|
|
|
|
|
export function uploadAssetImage(file: File) {
|
|
|
|
|
|
const formData = new FormData();
|
|
|
|
|
|
formData.append('file', file);
|
|
|
|
|
|
return newService({
|
2025-12-26 14:57:58 +08:00
|
|
|
|
url: '/oss/file/uploadFile',
|
2025-12-24 17:59:50 +08:00
|
|
|
|
method: 'post',
|
|
|
|
|
|
data: formData,
|
2025-12-20 17:57:24 +08:00
|
|
|
|
headers: {
|
|
|
|
|
|
'Content-Type': 'multipart/form-data',
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
2025-12-26 17:14:17 +08:00
|
|
|
|
|
|
|
|
|
|
// SKU 列表查询参数
|
|
|
|
|
|
export interface SkuQueryParams {
|
|
|
|
|
|
assetId: string;
|
|
|
|
|
|
status?: number;
|
|
|
|
|
|
keyword?: string;
|
|
|
|
|
|
minPrice?: number;
|
|
|
|
|
|
maxPrice?: number;
|
2026-01-09 09:17:53 +08:00
|
|
|
|
pageNum?: number;
|
2025-12-26 17:14:17 +08:00
|
|
|
|
pageSize?: number;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// SKU 创建参数
|
|
|
|
|
|
export interface CreateSkuParams {
|
|
|
|
|
|
assetId: string;
|
|
|
|
|
|
assetName: string;
|
|
|
|
|
|
skuName: string;
|
|
|
|
|
|
imageUrl?: string;
|
|
|
|
|
|
specValues?: Record<string, any>;
|
|
|
|
|
|
price: number;
|
|
|
|
|
|
unlimitedStock: boolean;
|
|
|
|
|
|
stock: number;
|
|
|
|
|
|
sort?: number;
|
|
|
|
|
|
status?: number;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取 SKU 列表
|
|
|
|
|
|
export function listAssetSkus(params: SkuQueryParams) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/sku/listAssetSkus',
|
|
|
|
|
|
method: 'get',
|
|
|
|
|
|
params,
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 创建 SKU
|
|
|
|
|
|
export function createAssetSku(data: CreateSkuParams) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/sku/createAssetSku',
|
|
|
|
|
|
method: 'post',
|
|
|
|
|
|
data,
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 获取 SKU 详情
|
|
|
|
|
|
export function getAssetSku(id: string) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/sku/getAssetSku',
|
|
|
|
|
|
method: 'get',
|
|
|
|
|
|
params: { id },
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-01-13 18:06:53 +08:00
|
|
|
|
// 修改 SKU(支持部分更新,只传递修改过的字段)
|
|
|
|
|
|
export function updateAssetSku(data: Partial<CreateSkuParams> & { id: string }) {
|
2025-12-26 17:14:17 +08:00
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/sku/updateAssetSku',
|
|
|
|
|
|
method: 'put',
|
|
|
|
|
|
data,
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 删除 SKU
|
|
|
|
|
|
export function deleteAssetSku(id: string) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/asset/sku/deleteAssetSku',
|
|
|
|
|
|
method: 'delete',
|
|
|
|
|
|
params: { id },
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
2026-01-13 16:12:02 +08:00
|
|
|
|
|
|
|
|
|
|
// 获取规格单位选项
|
|
|
|
|
|
export function getSpecsUnitOptions(assetType: string) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/enum/getSpecsUnit',
|
|
|
|
|
|
method: 'get',
|
|
|
|
|
|
params: { assetType },
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
2026-01-14 16:53:02 +08:00
|
|
|
|
|
|
|
|
|
|
// 获取库存表单字段
|
|
|
|
|
|
export function getStockFormFields(assetSkuId: string) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/stock/manage/getStockFormFields',
|
|
|
|
|
|
method: 'get',
|
|
|
|
|
|
params: { assetSkuId },
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 库存操作
|
|
|
|
|
|
export interface StockOperationParams {
|
|
|
|
|
|
assetSkuId: string;
|
|
|
|
|
|
stock?: number;
|
|
|
|
|
|
batchNo?: string;
|
|
|
|
|
|
productionDate?: string;
|
|
|
|
|
|
expiryDate?: string;
|
|
|
|
|
|
expiryWarningDate?: string;
|
|
|
|
|
|
[key: string]: any; // 支持动态字段
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export function stockOperation(data: StockOperationParams) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/stock/manage/stockOperation',
|
|
|
|
|
|
method: 'post',
|
|
|
|
|
|
data,
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
2026-01-16 14:19:24 +08:00
|
|
|
|
|
|
|
|
|
|
// 操作日志查询参数
|
|
|
|
|
|
export interface LogQueryParams {
|
|
|
|
|
|
collection_id: string;
|
|
|
|
|
|
pageNum?: number;
|
|
|
|
|
|
pageSize?: number;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 操作日志信息
|
|
|
|
|
|
export interface OperationLogInfo {
|
|
|
|
|
|
id: string;
|
|
|
|
|
|
service_name: string;
|
|
|
|
|
|
collection: string;
|
|
|
|
|
|
collection_id: string[];
|
|
|
|
|
|
operation: string;
|
|
|
|
|
|
creator: string;
|
|
|
|
|
|
createdAt: string;
|
|
|
|
|
|
data: { FieldName: string; FieldValue: any }[] | null;
|
|
|
|
|
|
ip_address: string;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 查询操作日志
|
|
|
|
|
|
export function listLogs(params: LogQueryParams) {
|
|
|
|
|
|
return newService({
|
|
|
|
|
|
url: '/assets/log/listLogs',
|
|
|
|
|
|
method: 'get',
|
|
|
|
|
|
params,
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|