index.ts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. import request from '@/utils/request';
  2. import { AxiosPromise } from 'axios';
  3. import { BaseVO, BaseForm, BaseQuery } from '@/api/product/base/types';
  4. import { CategoryQuery, categoryTreeVO, CategoryVO } from '../category/types';
  5. import { BrandQuery, BrandVO } from '../brand/types';
  6. import { AttributesVO } from '../attributes/types';
  7. import { EnsureQuery, EnsureVO } from '../ensure/types';
  8. import { AfterSalesQuery, AfterSalesVO } from '../afterSales/types';
  9. import { UnitQuery, UnitVO } from '../unit/types';
  10. /**
  11. * 查询产品基础信息列表
  12. * @param query
  13. * @returns {*}
  14. */
  15. export const listBase = (query?: BaseQuery): AxiosPromise<BaseVO[]> => {
  16. return request({
  17. url: '/product/base/list',
  18. method: 'get',
  19. params: query
  20. });
  21. };
  22. /**
  23. * 查询产品基础信息详细
  24. * @param id
  25. */
  26. export const getBase = (id: string | number): AxiosPromise<BaseVO> => {
  27. return request({
  28. url: '/product/base/' + id,
  29. method: 'get'
  30. });
  31. };
  32. /**
  33. * 新增产品基础信息
  34. * @param data
  35. */
  36. export const addBase = (data: BaseForm) => {
  37. return request({
  38. url: '/product/base',
  39. method: 'post',
  40. data: data
  41. });
  42. };
  43. /**
  44. * 修改产品基础信息
  45. * @param data
  46. */
  47. export const updateBase = (data: BaseForm) => {
  48. return request({
  49. url: '/product/base',
  50. method: 'put',
  51. data: data
  52. });
  53. };
  54. /**
  55. * 删除产品基础信息
  56. * @param id
  57. */
  58. export const delBase = (id: string | number | Array<string | number>) => {
  59. return request({
  60. url: '/product/base/' + id,
  61. method: 'delete'
  62. });
  63. };
  64. /**
  65. * 获取产品分类树
  66. * @param query
  67. * @returns {*}
  68. */
  69. export const categoryTree = (query?: CategoryQuery): AxiosPromise<categoryTreeVO[]> => {
  70. return request({
  71. url: '/product/base/categoryTree',
  72. method: 'get',
  73. params: query
  74. });
  75. };
  76. /**
  77. * 查询产品分类信息列表
  78. * @param query
  79. * @returns {*}
  80. */
  81. export const categoryList = (query?: CategoryQuery): AxiosPromise<CategoryVO[]> => {
  82. return request({
  83. url: '/product/base/categoryList',
  84. method: 'get',
  85. params: query
  86. });
  87. };
  88. /**
  89. * 查询产品品牌信息列表
  90. * @param query
  91. * @returns {*}
  92. */
  93. export const brandList = (query?: BrandQuery): AxiosPromise<BrandVO[]> => {
  94. return request({
  95. url: '/product/base/brandList',
  96. method: 'get',
  97. params: query
  98. });
  99. };
  100. /**
  101. * 查询产品分类下的属性列表
  102. * @param id
  103. * @returns {*}
  104. */
  105. export const categoryAttributeList = (id: string | number): AxiosPromise<AttributesVO[]> => {
  106. return request({
  107. url: '/product/base/getProductAttributeList/' + id,
  108. method: 'get'
  109. });
  110. };
  111. /**
  112. * 查询产品服务保障列表
  113. * @param query
  114. * @returns {*}
  115. */
  116. export const getServiceList = (query?: EnsureQuery): AxiosPromise<EnsureVO[]> => {
  117. return request({
  118. url: '/product/base/getServiceList',
  119. method: 'get',
  120. params: query
  121. });
  122. };
  123. /**
  124. * 获取售后服务信息列表
  125. * @param query
  126. * @returns {*}
  127. */
  128. export const getAfterSaleList = (query?: AfterSalesQuery): AxiosPromise<AfterSalesVO[]> => {
  129. return request({
  130. url: '/product/base/getAfterSalesList',
  131. method: 'get',
  132. params: query
  133. });
  134. };
  135. /**
  136. * 获取单位信息列表
  137. * @param query
  138. * @returns {*}
  139. */
  140. export const getUnitList = (query?: UnitQuery): AxiosPromise<UnitVO[]> => {
  141. return request({
  142. url: '/product/base/getUnitList',
  143. method: 'get',
  144. params: query
  145. });
  146. };
  147. /**
  148. * 商品审核
  149. * @param data 审核信息(包含id、productReviewStatus、reviewComments)
  150. */
  151. export const reviewBase = (data: BaseForm) => {
  152. return request({
  153. url: '/product/base/review',
  154. method: 'post',
  155. data: data
  156. });
  157. };
  158. /**
  159. * 商品上下架 状态变更
  160. * @param data 审核信息(包含id、productStatus、shelfComments)
  161. */
  162. export const shelfReview = (data: BaseForm) => {
  163. return request({
  164. url: '/product/base/shelfReview',
  165. method: 'post',
  166. data: data
  167. });
  168. };
  169. /**
  170. * 获取项目商品列表
  171. * */
  172. export const getProjectProductPage = (query?: BaseQuery): AxiosPromise<BaseVO[]> => {
  173. return request({
  174. url: '/product/base/getItemProductPage',
  175. method: 'get',
  176. params: query
  177. });
  178. };