Files
cashier-web/src/api/product/index.ts
2026-01-30 16:01:44 +08:00

509 lines
8.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import request from "@/utils/request";
const baseURL = "/product/admin/product";
// 商品管理-商品列表
const AuthAPI = {
/** 分页*/
getPage(params: any) {
return request<any, Responseres>({
url: `${baseURL}/page`,
method: "get",
params,
});
},
list(params: any) {
return request<any, Responseres>({
url: `${baseURL}/list`,
method: "get",
params,
});
},
// 新增
addunit(data: any) {
console.log(data, '提示121');
if (data.images.length == 0) {
data.images = null
}
if (data.proGroupVo.length == 0) {
data.proGroupVo = null
}
return request<any, Responseres>({
url: `${baseURL}`,
method: "post",
data,
});
},
// 详情
getunitinfo(id: number) {
return request<any, Responseres>({
url: `${baseURL}/${id}`,
method: "get",
});
},
// 编辑
update(data: Object) {
return request<any, Responseres>({
url: `${baseURL}`,
method: "put",
data,
});
},
// 删除
deleteByIds(id: number | String) {
return request<any, Responseres>({
url: `${baseURL}/${id}`,
method: "delete",
});
},
// 同步
refundToStock(data: any) {
return request<any, Responseres>({
url: `${baseURL}/refundToStock`,
method: "post",
data,
});
},
// 退款退回
sync(data: any) {
return request<any, Responseres>({
url: `${baseURL}/sync`,
method: "post",
data,
});
},
// 耗材列表
productcons(params: any) {
return request<any, Responseres>({
url: `/product/admin/product/cons/page`,
method: "get",
params
});
},
// 上下架
onOff(data: any) {
return request<any, Responseres>({
url: `${baseURL}/onOff`,
method: "post",
data,
});
},
// 商品详情
getDetail(id: number) {
return request<any, Responseres>({
url: `${baseURL}/${id}`,
method: "get",
});
},
// 统计
statistics(params: object) {
return request<any, Responseres>({
url: `${baseURL}/statistics`,
method: "get",
params
});
},
stockFlow(params: object) {
return request<any, Responseres>({
url: `${baseURL}/stockFlow`,
method: "get",
params
});
},
// 报损
reportDamage(data: any) {
return request<any, Responseres>({
url: `${baseURL}/reportDamage`,
method: "post",
data,
});
},
// 商品-绑定耗材
bind(data: any) {
return request<any, Responseres>({
url: `${baseURL}/bind`,
method: "post",
data,
});
},
// 库存预警
stockWarning(data: any) {
return request<any, Responseres>({
url: `${baseURL}/stockWarning?warnLine=${data}`,
method: "post",
});
},
// 售罄
markIsSoldOut(data: any) {
return request<any, Responseres>({
url: `${baseURL}/markIsSoldOut`,
method: "post",
data,
});
},
// 库存修改
modifyStock(data: any) {
return request<any, Responseres>({
url: `${baseURL}/modifyStock`,
method: "post",
data,
});
},
// 入库单识别
stockOcr(data: any) {
return request<any, Responseres>({
url: `${baseURL}/stock/ocr`,
method: "post",
data,
});
},
// ocr识别结果
ocrResult(params: any) {
return request<any, Responseres>({
url: `${baseURL}/stock/ocrResult`,
method: "get",
params,
});
},
// 耗材入库
stockIn(data: any) {
return request<any, Responseres>({
url: `${baseURL}/stock/in`,
method: "POST",
data,
});
},
// 供应商-列表
vendorList(params: any) {
return request<any, Responseres>({
url: `${baseURL}/vendor/list`,
method: "get",
params,
});
},
// 导出商品
exportProducts(params: any) {
return request<any, Responseres>({
url: `${baseURL}/export`,
method: "get",
params,
responseType: 'blob'
});
}
};
export interface Responseres {
code?: number | null;
data?: any;
msg?: null | string;
[property: string]: any;
}
export default AuthAPI;
export interface Response {
code: number;
data: Data;
msg: string;
[property: string]: any;
}
export interface Data {
pageNumber: string;
pageSize: string;
records: Record[];
totalPage: string;
totalRow: string;
[property: string]: any;
}
export interface Record {
/**
* 分类id
*/
categoryId: string;
/**
* 分类名称
*/
categoryName: string;
/**
* 封面图url
*/
coverImg: string;
/**
* 创建时间
*/
createTime: string;
/**
* 定时上下架周期
*/
days: string;
/**
* 起用结束时间
*/
endTime: string;
/**
* 团购卷分类,可有多个分类
*/
groupCategoryId: string;
/**
* 套餐内容
*/
groupSnap: GroupSnap[];
/**
* 套餐类型0 固定套餐 1可选套餐
*/
groupType: number;
/**
* 商品id
*/
id: string;
/**
* 封面图urls
*/
images: string[];
/**
* 是否允许临时改价
*/
isAllowTempModifyPrice: number;
/**
* 是否逻辑删除
*/
isDel: number;
/**
* 是否推荐
*/
isHot: number;
/**
* 退款是否退回库存
*/
isRefundStock: number;
/**
* 是否上架
*/
isSale: number;
/**
* 是否售罄
*/
isSoldStock: number;
/**
* 是否启用库存
*/
isStock: number;
/**
* 会员最低价
*/
lowMemberPrice: number;
/**
* 商品最低价
*/
lowPrice: number;
/**
* 商品名称
*/
name: string;
/**
* 打包费
*/
packFee: number;
/**
* 套餐详情入参使用
*/
proGroupVo: string[];
selectSpecInfo: { [key: string]: any };
/**
* 店铺id
*/
shopId: string;
/**
* 商品介绍
*/
shortTitle: string;
/**
* sku集合
*/
skuList: SkuList[];
/**
* 排序值
*/
sort: number;
/**
* 规格完整名称
*/
specFullName: string;
/**
* 规格id
*/
specId: null;
/**
* 规格名称
*/
specName: string;
/**
* 起用开始时间
*/
startTime: string;
/**
* 库存
*/
stockNumber: number;
/**
* 商品类型single-单规格商品 sku-多规格商品 package-套餐商品 weight-称重商品 coupon-团购券
*/
type: string;
/**
* 单位id
*/
unitId: string;
/**
* 单位名称
*/
unitName: string;
/**
* 更新时间
*/
updateTime: string;
/**
* 库存警戒线
*/
warnLine: number;
/**
* 重量
*/
weight?: number;
[property: string]: any;
}
export interface GroupSnap {
/**
* 套餐内商品总数
*/
count: number;
/**
* 套餐内商品列表
*/
goods: Good[];
/**
* 可选套餐几选几,固定套餐没有值
*/
number: number;
/**
* 可选套餐名称
*/
title: string;
[property: string]: any;
}
export interface Good {
/**
* 商品数量
*/
number: string;
/**
* 商品单价
*/
price: number;
/**
* 商品ID
*/
proId: number;
/**
* 商品名称
*/
proName: string;
/**
* skuId
*/
skuId: number;
/**
* sku名称
*/
skuName: string;
/**
* 单位名称
*/
unitName: string;
[property: string]: any;
}
export interface SkuList {
/**
* 条形码
*/
barCode: string;
/**
* 成本价
*/
costPrice: number;
/**
* 封面图
*/
coverImg: string;
/**
* 创建时间
*/
createTime: string;
/**
* sku-id
*/
id: string;
/**
* 是否已删除
*/
isDel: number;
/**
* 是否上架
*/
isGrounding: number;
/**
* 是否售罄
*/
isPauseSale: number;
/**
* 会员价
*/
memberPrice: number;
/**
* 原价
*/
originPrice: number;
/**
* 商品id
*/
productId: string;
/**
* 销量
*/
realSalesNumber: number;
/**
* 售价
*/
salePrice: number;
/**
* 店铺id
*/
shopId: string;
/**
* 规格详情
*/
specInfo: string;
/**
* 起售数量
*/
suitNum: number;
/**
* 更新时间
*/
updateTime: string;
/**
* 重量
*/
weight: null;
[property: string]: any;
}