소스 검색

feat(api): 添加多个业务模块的API接口和服务

- 新增公司收支模块的API接口,包含查询、新增、修改、删除功能
- 新增产品扩展信息模块的API接口,支持产品详细信息管理
- 新增产品标签模块的API接口,实现标签分类功能
- 新增产品池模块的API接口,支持产品审核流程管理
- 新增产品推荐模块的API接口,提供推荐功能支持
- 新增供应商授权类型等级模块的API接口,完善供应商管理体系
- 定义各模块的数据传输对象和查询参数类型
- 统一API请求方式,基于axios封装标准CRUD操作方法
Lijingyang 1 개월 전
부모
커밋
b11ff4ff79

+ 41 - 0
src/api/company/revenueExpense/index.ts

@@ -0,0 +1,41 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { RevenueExpenseVO, RevenueExpenseForm, RevenueExpenseQuery } from '@/api/company/revenueExpense/types';
+
+export const listRevenueExpense = (query?: RevenueExpenseQuery): AxiosPromise<RevenueExpenseVO[]> => {
+  return request({
+    url: '/company/revenueExpense/list',
+    method: 'get',
+    params: query
+  });
+};
+
+export const getRevenueExpense = (id: string | number): AxiosPromise<RevenueExpenseVO> => {
+  return request({
+    url: '/company/revenueExpense/' + id,
+    method: 'get'
+  });
+};
+
+export const addRevenueExpense = (data: RevenueExpenseForm) => {
+  return request({
+    url: '/company/revenueExpense',
+    method: 'post',
+    data
+  });
+};
+
+export const updateRevenueExpense = (data: RevenueExpenseForm) => {
+  return request({
+    url: '/company/revenueExpense',
+    method: 'put',
+    data
+  });
+};
+
+export const delRevenueExpense = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/company/revenueExpense/' + id,
+    method: 'delete'
+  });
+};

+ 18 - 0
src/api/company/revenueExpense/types.ts

@@ -0,0 +1,18 @@
+export interface RevenueExpenseVO {
+  id?: string | number;
+  expenseCode?: string;
+  expenseName?: string;
+  expenseFlag?: string;
+  remark?: string;
+}
+
+export interface RevenueExpenseForm extends RevenueExpenseVO {}
+
+export interface RevenueExpenseQuery {
+  pageNum?: number;
+  pageSize?: number;
+  expenseCode?: string;
+  expenseName?: string;
+  expenseFlag?: string;
+  params?: Record<string, any>;
+}

+ 41 - 0
src/api/product/extend/index.ts

@@ -0,0 +1,41 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { ExtendVO, ExtendForm, ExtendQuery } from '@/api/product/extend/types';
+
+export const listExtend = (query?: ExtendQuery): AxiosPromise<ExtendVO[]> => {
+  return request({
+    url: '/product/extend/list',
+    method: 'get',
+    params: query
+  });
+};
+
+export const getExtend = (id: string | number): AxiosPromise<ExtendVO> => {
+  return request({
+    url: '/product/extend/' + id,
+    method: 'get'
+  });
+};
+
+export const addExtend = (data: ExtendForm) => {
+  return request({
+    url: '/product/extend',
+    method: 'post',
+    data
+  });
+};
+
+export const updateExtend = (data: ExtendForm) => {
+  return request({
+    url: '/product/extend',
+    method: 'put',
+    data
+  });
+};
+
+export const delExtend = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/extend/' + id,
+    method: 'delete'
+  });
+};

+ 92 - 0
src/api/product/extend/types.ts

@@ -0,0 +1,92 @@
+export interface ExtendVO {
+  productId?: string | number;
+  promotionTitle?: string;
+  invoiceName?: string;
+  invoiceType?: string | number;
+  specificationsCode?: string;
+  barCoding?: string;
+  productDescription?: string;
+  productWeight?: string | number;
+  weightUnit?: string;
+  productVolume?: string | number;
+  volumeUnit?: string;
+  afterSalesService?: string;
+  serviceGuarantee?: string;
+  isInstallService?: string | number;
+  installAmount?: string | number;
+  distributionPrice?: string | number;
+  standardSizes?: string;
+  gramWeight?: string | number;
+  opacity?: string | number;
+  isCustomize?: string | number;
+  customDescription?: string;
+  productProfit?: string | number;
+  reportRequire?: string;
+  reviewComments?: string;
+  supplierNo?: string;
+  pushStatus?: string | number;
+  dataSource?: string;
+  invoiceSpecs?: string;
+  increment?: string | number;
+  purchaseNo?: string;
+  purchaseName?: string;
+  supplierName?: string;
+  purchaseManagerNo?: string;
+  purchaseManagerName?: string;
+  referenceLink?: string;
+  salesVolume?: string | number;
+  deliveryTime?: string;
+  pitTime?: string;
+  createSupplier?: string;
+  otherInfo?: string;
+  platformCode?: string;
+  remark?: string;
+}
+
+export interface ExtendForm extends ExtendVO {}
+
+export interface ExtendQuery {
+  pageNum?: number;
+  pageSize?: number;
+  promotionTitle?: string;
+  invoiceName?: string;
+  invoiceType?: string | number;
+  specificationsCode?: string;
+  barCoding?: string;
+  productDescription?: string;
+  productWeight?: string | number;
+  weightUnit?: string;
+  productVolume?: string | number;
+  volumeUnit?: string;
+  afterSalesService?: string;
+  serviceGuarantee?: string;
+  isInstallService?: string | number;
+  installAmount?: string | number;
+  distributionPrice?: string | number;
+  standardSizes?: string;
+  gramWeight?: string | number;
+  opacity?: string | number;
+  isCustomize?: string | number;
+  customDescription?: string;
+  productProfit?: string | number;
+  reportRequire?: string;
+  reviewComments?: string;
+  supplierNo?: string;
+  pushStatus?: string | number;
+  dataSource?: string;
+  invoiceSpecs?: string;
+  increment?: string | number;
+  purchaseNo?: string;
+  purchaseName?: string;
+  supplierName?: string;
+  purchaseManagerNo?: string;
+  purchaseManagerName?: string;
+  referenceLink?: string;
+  salesVolume?: string | number;
+  deliveryTime?: string;
+  pitTime?: string;
+  createSupplier?: string;
+  otherInfo?: string;
+  platformCode?: string;
+  params?: Record<string, any>;
+}

+ 41 - 0
src/api/product/lable/index.ts

@@ -0,0 +1,41 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { LableVO, LableForm, LableQuery } from '@/api/product/lable/types';
+
+export const listLable = (query?: LableQuery): AxiosPromise<LableVO[]> => {
+  return request({
+    url: '/product/lable/list',
+    method: 'get',
+    params: query
+  });
+};
+
+export const getLable = (id: string | number): AxiosPromise<LableVO> => {
+  return request({
+    url: '/product/lable/' + id,
+    method: 'get'
+  });
+};
+
+export const addLable = (data: LableForm) => {
+  return request({
+    url: '/product/lable',
+    method: 'post',
+    data
+  });
+};
+
+export const updateLable = (data: LableForm) => {
+  return request({
+    url: '/product/lable',
+    method: 'put',
+    data
+  });
+};
+
+export const delLable = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/lable/' + id,
+    method: 'delete'
+  });
+};

+ 14 - 0
src/api/product/lable/types.ts

@@ -0,0 +1,14 @@
+export interface LableVO {
+  id?: string | number;
+  productLabelName?: string;
+  productQuantity?: number;
+}
+
+export interface LableForm extends LableVO {}
+
+export interface LableQuery {
+  pageNum?: number;
+  pageSize?: number;
+  productLabelName?: string;
+  params?: Record<string, any>;
+}

+ 26 - 0
src/api/product/pool/index.ts

@@ -0,0 +1,26 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { PoolVO, PoolQuery, PoolReviewForm } from '@/api/product/pool/types';
+
+export const listPool = (query?: PoolQuery): AxiosPromise<PoolVO[]> => {
+  return request({
+    url: '/product/pool/list',
+    method: 'get',
+    params: query
+  });
+};
+
+export const getPool = (id: string | number): AxiosPromise<PoolVO> => {
+  return request({
+    url: '/product/pool/' + id,
+    method: 'get'
+  });
+};
+
+export const updatePool = (data: PoolReviewForm) => {
+  return request({
+    url: '/product/pool',
+    method: 'put',
+    data
+  });
+};

+ 40 - 0
src/api/product/pool/types.ts

@@ -0,0 +1,40 @@
+export interface PoolVO {
+  id?: string | number;
+  poolNo?: string;
+  itemId?: string | number;
+  categoryId?: string | number;
+  type?: number;
+  name?: string;
+  isShow?: string | number;
+  productReviewStatus?: string;
+  reviewReason?: string;
+  createBy?: string;
+  reviewBy?: string;
+  remark?: string;
+  waitApplyCount?: number;
+  waitReviewCount?: number;
+  approvedCount?: number;
+  rejectedCount?: number;
+}
+
+export interface PoolReviewForm {
+  id?: string | number;
+  itemId?: string | number;
+  categoryId?: string | number;
+  type?: number;
+  productReviewStatus?: string;
+  reviewReason?: string;
+}
+
+export interface PoolQuery {
+  pageNum?: number;
+  pageSize?: number;
+  itemId?: string | number;
+  categoryId?: string | number;
+  type?: number;
+  name?: string;
+  productReviewStatus?: string;
+  createBy?: string;
+  reviewBy?: string;
+  params?: Record<string, any>;
+}

+ 41 - 0
src/api/product/recommend/index.ts

@@ -0,0 +1,41 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { RecommendVO, RecommendForm, RecommendQuery } from '@/api/product/recommend/types';
+
+export const listRecommend = (query?: RecommendQuery): AxiosPromise<RecommendVO[]> => {
+  return request({
+    url: '/product/recommend/list',
+    method: 'get',
+    params: query
+  });
+};
+
+export const getRecommend = (id: string | number): AxiosPromise<RecommendVO> => {
+  return request({
+    url: '/product/recommend/' + id,
+    method: 'get'
+  });
+};
+
+export const addRecommend = (data: RecommendForm) => {
+  return request({
+    url: '/product/recommend',
+    method: 'post',
+    data
+  });
+};
+
+export const updateRecommend = (data: RecommendForm) => {
+  return request({
+    url: '/product/recommend',
+    method: 'put',
+    data
+  });
+};
+
+export const delRecommend = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/recommend/' + id,
+    method: 'delete'
+  });
+};

+ 24 - 0
src/api/product/recommend/types.ts

@@ -0,0 +1,24 @@
+export interface RecommendVO {
+  id?: string | number;
+  recommendNo?: string;
+  recommendName?: string;
+  recommendDescribe?: string;
+  isShow?: string | number;
+  recommendCoverphoto?: string;
+  remark?: string;
+  platformCode?: string;
+}
+
+export interface RecommendForm extends RecommendVO {}
+
+export interface RecommendQuery {
+  pageNum?: number;
+  pageSize?: number;
+  recommendNo?: string;
+  recommendName?: string;
+  recommendDescribe?: string;
+  isShow?: string | number;
+  recommendCoverphoto?: string;
+  platformCode?: string;
+  params?: Record<string, any>;
+}

+ 63 - 0
src/api/supplier/authorizetypeLevel/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { AuthorizetypeLevelVO, AuthorizetypeLevelForm, AuthorizetypeLevelQuery } from '@/api/supplier/authorizetypeLevel/types';
+
+/**
+ * 查询供应商授权等级和授权类型列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listAuthorizetypeLevel = (query?: AuthorizetypeLevelQuery): AxiosPromise<AuthorizetypeLevelVO[]> => {
+  return request({
+    url: '/system/authorizetypeLevel/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询供应商授权等级和授权类型详细
+ * @param id
+ */
+export const getAuthorizetypeLevel = (id: string | number): AxiosPromise<AuthorizetypeLevelVO> => {
+  return request({
+    url: '/system/authorizetypeLevel/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增供应商授权等级和授权类型
+ * @param data
+ */
+export const addAuthorizetypeLevel = (data: AuthorizetypeLevelForm) => {
+  return request({
+    url: '/system/authorizetypeLevel',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改供应商授权等级和授权类型
+ * @param data
+ */
+export const updateAuthorizetypeLevel = (data: AuthorizetypeLevelForm) => {
+  return request({
+    url: '/system/authorizetypeLevel',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除供应商授权等级和授权类型
+ * @param id
+ */
+export const delAuthorizetypeLevel = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/system/authorizetypeLevel/' + id,
+    method: 'delete'
+  });
+};

+ 71 - 0
src/api/supplier/authorizetypeLevel/types.ts

@@ -0,0 +1,71 @@
+export interface AuthorizetypeLevelVO {
+  /**
+   * ID
+   */
+  id: string | number;
+
+  /**
+   * 授权类型
+   */
+  authorizeType: string;
+
+  /**
+   * 授权等级
+   */
+  authorizeLevel: number;
+
+  /**
+   * 状态(0正常 1停用)
+   */
+  status: string;
+
+}
+
+export interface AuthorizetypeLevelForm extends BaseEntity {
+  /**
+   * ID
+   */
+  id?: string | number;
+
+  /**
+   * 授权类型
+   */
+  authorizeType?: string;
+
+  /**
+   * 授权等级
+   */
+  authorizeLevel?: number;
+
+  /**
+   * 状态(0正常 1停用)
+   */
+  status?: string;
+
+}
+
+export interface AuthorizetypeLevelQuery extends PageQuery {
+
+  /**
+   * 授权类型
+   */
+  authorizeType?: string;
+
+  /**
+   * 授权等级
+   */
+  authorizeLevel?: number;
+
+  /**
+   * 状态(0正常 1停用)
+   */
+  status?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+