import request from '@/utils/request'; import { AxiosPromise } from 'axios'; import { BaseVO, BaseForm, BaseQuery } from '@/api/product/base/types'; import { CategoryQuery, categoryTreeVO, CategoryVO } from '../category/types'; import { BrandQuery, BrandVO } from '../brand/types'; import { AttributesVO } from '../attributes/types'; import { EnsureQuery, EnsureVO } from '../ensure/types'; import { AfterSalesQuery, AfterSalesVO } from '../afterSales/types'; import { UnitQuery, UnitVO } from '../unit/types'; /** * 查询产品基础信息列表 * @param query * @returns {*} */ export const listBase = (query?: BaseQuery): AxiosPromise => { return request({ url: '/product/base/list', method: 'get', params: query }); }; /** * 查询产品基础信息详细 * @param id */ export const getBase = (id: string | number): AxiosPromise => { return request({ url: '/product/base/' + id, method: 'get' }); }; /** * 新增产品基础信息 * @param data */ export const addBase = (data: BaseForm) => { return request({ url: '/product/base', method: 'post', data: data }); }; /** * 修改产品基础信息 * @param data */ export const updateBase = (data: BaseForm) => { return request({ url: '/product/base', method: 'put', data: data }); }; /** * 删除产品基础信息 * @param id */ export const delBase = (id: string | number | Array) => { return request({ url: '/product/base/' + id, method: 'delete' }); }; /** * 获取产品分类树 * @param query * @returns {*} */ export const categoryTree = (query?: CategoryQuery): AxiosPromise => { return request({ url: '/product/base/categoryTree', method: 'get', params: query }); }; /** * 查询产品分类信息列表 * @param query * @returns {*} */ export const categoryList = (query?: CategoryQuery): AxiosPromise => { return request({ url: '/product/base/categoryList', method: 'get', params: query }); }; /** * 查询产品品牌信息列表 * @param query * @returns {*} */ export const brandList = (query?: BrandQuery): AxiosPromise => { return request({ url: '/product/base/brandList', method: 'get', params: query }); }; /** * 查询产品分类下的属性列表 * @param id * @returns {*} */ export const categoryAttributeList = (id: string | number): AxiosPromise => { return request({ url: '/product/base/getProductAttributeList/' + id, method: 'get' }); }; /** * 查询产品服务保障列表 * @param query * @returns {*} */ export const getServiceList = (query?: EnsureQuery): AxiosPromise => { return request({ url: '/product/base/getServiceList', method: 'get', params: query }); }; /** * 获取售后服务信息列表 * @param query * @returns {*} */ export const getAfterSaleList = (query?: AfterSalesQuery): AxiosPromise => { return request({ url: '/product/base/getAfterSalesList', method: 'get', params: query }); }; /** * 获取单位信息列表 * @param query * @returns {*} */ export const getUnitList = (query?: UnitQuery): AxiosPromise => { return request({ url: '/product/base/getUnitList', method: 'get', params: query }); }; /** * 商品审核 * @param data 审核信息(包含id、productReviewStatus、reviewComments) */ export const reviewBase = (data: BaseForm) => { return request({ url: '/product/base/review', method: 'post', data: data }); }; /** * 商品上下架 状态变更 * @param data 审核信息(包含id、productStatus、shelfComments) */ export const shelfReview = (data: BaseForm) => { return request({ url: '/product/base/shelfReview', method: 'post', data: data }); }; /** * 获取项目商品列表 * */ export const getProjectProductPage = (query?: BaseQuery): AxiosPromise => { return request({ url: '/product/base/getItemProductPage', method: 'get', params: query }); };