فهرست منبع

feat(api): 添加产品管理相关API接口

- 新增产品分类关联API接口实现
- 新增产品黑名单管理API接口实现
- 新增产品池关联管理API接口实现
- 新增产品价格库存管理API接口实现
- 新增产品方案管理API接口实现
- 新增产品推荐关联API接口实现
- 新增产品规格关联API接口实现
- 新增产品税率配置API接口实现
- 新增产品单位管理API接口实现
- 定义各类API的数据传输对象类型
Lijingyang 1 ماه پیش
والد
کامیت
1e867352b3

+ 63 - 0
src/api/classification/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { ClassificationVO, ClassificationForm, ClassificationQuery } from '@/api/classification/types';
+
+/**
+ * 查询产品属性关联列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listClassification = (query?: ClassificationQuery): AxiosPromise<ClassificationVO[]> => {
+  return request({
+    url: '/product/classification/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品属性关联详细
+ * @param id
+ */
+export const getClassification = (id: string | number): AxiosPromise<ClassificationVO> => {
+  return request({
+    url: '/product/classification/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品属性关联
+ * @param data
+ */
+export const addClassification = (data: ClassificationForm) => {
+  return request({
+    url: '/product/classification',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品属性关联
+ * @param data
+ */
+export const updateClassification = (data: ClassificationForm) => {
+  return request({
+    url: '/product/classification',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品属性关联
+ * @param id
+ */
+export const delClassification = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/classification/' + id,
+    method: 'delete'
+  });
+};

+ 86 - 0
src/api/classification/types.ts

@@ -0,0 +1,86 @@
+export interface ClassificationVO {
+  /**
+   * 主键ID
+   */
+  id: string | number;
+
+  /**
+   * 产品id
+   */
+  productId: string | number;
+
+  /**
+   * 分类编号
+   */
+  categoryId: string | number;
+
+  /**
+   * 属性列表(JSON或分号分隔等格式)
+   */
+  attributesList: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface ClassificationForm extends BaseEntity {
+  /**
+   * 主键ID
+   */
+  id?: string | number;
+
+  /**
+   * 产品id
+   */
+  productId?: string | number;
+
+  /**
+   * 分类编号
+   */
+  categoryId?: string | number;
+
+  /**
+   * 属性列表(JSON或分号分隔等格式)
+   */
+  attributesList?: string;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface ClassificationQuery extends PageQuery {
+
+  /**
+   * 产品id
+   */
+  productId?: string | number;
+
+  /**
+   * 分类编号
+   */
+  categoryId?: string | number;
+
+  /**
+   * 属性列表(JSON或分号分隔等格式)
+   */
+  attributesList?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/product/blacklist/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { BlacklistVO, BlacklistForm, BlacklistQuery } from '@/api/product/blacklist/types';
+
+/**
+ * 查询产品黑名单列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listBlacklist = (query?: BlacklistQuery): AxiosPromise<BlacklistVO[]> => {
+  return request({
+    url: '/product/blacklist/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品黑名单详细
+ * @param id
+ */
+export const getBlacklist = (id: string | number): AxiosPromise<BlacklistVO> => {
+  return request({
+    url: '/product/blacklist/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品黑名单
+ * @param data
+ */
+export const addBlacklist = (data: BlacklistForm) => {
+  return request({
+    url: '/product/blacklist',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品黑名单
+ * @param data
+ */
+export const updateBlacklist = (data: BlacklistForm) => {
+  return request({
+    url: '/product/blacklist',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品黑名单
+ * @param id
+ */
+export const delBlacklist = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/blacklist/' + id,
+    method: 'delete'
+  });
+};

+ 86 - 0
src/api/product/blacklist/types.ts

@@ -0,0 +1,86 @@
+export interface BlacklistVO {
+  /**
+   * 主键ID
+   */
+  id: string | number;
+
+  /**
+   * 客户id(可为空,表示全局黑名单)
+   */
+  customerId: string | number;
+
+  /**
+   * 产品id(可为空,表示该客户对整个分类禁用)
+   */
+  productId: string | number;
+
+  /**
+   * 产品分类id(必填)
+   */
+  productCategoryId: string | number;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface BlacklistForm extends BaseEntity {
+  /**
+   * 主键ID
+   */
+  id?: string | number;
+
+  /**
+   * 客户id(可为空,表示全局黑名单)
+   */
+  customerId?: string | number;
+
+  /**
+   * 产品id(可为空,表示该客户对整个分类禁用)
+   */
+  productId?: string | number;
+
+  /**
+   * 产品分类id(必填)
+   */
+  productCategoryId?: string | number;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface BlacklistQuery extends PageQuery {
+
+  /**
+   * 客户id(可为空,表示全局黑名单)
+   */
+  customerId?: string | number;
+
+  /**
+   * 产品id(可为空,表示该客户对整个分类禁用)
+   */
+  productId?: string | number;
+
+  /**
+   * 产品分类id(必填)
+   */
+  productCategoryId?: string | number;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 132 - 0
src/api/product/poolLink/index.ts

@@ -0,0 +1,132 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { PoolLinkVO, PoolLinkForm, PoolLinkQuery } from '@/api/product/poolLink/types';
+export type { PoolLinkForm };
+
+/**
+ * 查询产品池和产品关联列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listPoolLink = (query?: PoolLinkQuery): AxiosPromise<PoolLinkVO[]> => {
+  return request({
+    url: '/product/poolLink/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品池和产品关联详细
+ * @param id
+ */
+export const getPoolLink = (id: string | number): AxiosPromise<PoolLinkVO> => {
+  return request({
+    url: '/product/poolLink/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品池和产品关联
+ * @param data
+ */
+export const addPoolLink = (data: PoolLinkForm) => {
+  return request({
+    url: '/product/poolLink',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品池和产品关联
+ * @param data
+ */
+export const updatePoolLink = (data: PoolLinkForm) => {
+  return request({
+    url: '/product/poolLink',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品池和产品关联
+ * @param id
+ */
+export const delPoolLink = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/poolLink/' + id,
+    method: 'delete'
+  });
+};
+
+/**
+ * 批量添加商品到商品池
+ * @param data 批量添加参数
+ */
+export interface BatchAddProductData {
+  poolId: string | number;
+  products: Array<{
+    productId: string | number;
+    agreementPrice?: number;
+  }>;
+}
+
+export const batchAddProducts = (data: BatchAddProductData) => {
+  return request({
+    url: '/product/poolLink/batchAdd',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 批量审核商品进入商品池
+ * @param data 审核参数列表
+ */
+export const batchReview = (data: PoolLinkForm[]) => {
+  return request({
+    url: '/product/poolLink/batchReview',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 提交审核商品到商品池
+ * @param data 提交审核参数列表
+ */
+export const reSubmit = (data: PoolLinkForm[]) => {
+  return request({
+    url: '/product/poolLink/reSubmit',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 编辑商品价格
+ * @param data 价格参数
+ */
+export const editPrice = (data: PoolLinkForm) => {
+  return request({
+    url: '/product/poolLink/editPrice',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 编辑商品库存
+ * @param data 库存参数
+ */
+export const editStock = (data: PoolLinkForm) => {
+  return request({
+    url: '/product/poolLink/editStock',
+    method: 'post',
+    data: data
+  });
+};

+ 267 - 0
src/api/product/poolLink/types.ts

@@ -0,0 +1,267 @@
+export interface PoolLinkVO {
+  /**
+   * 主键ID
+   */
+  id: string | number;
+
+  /**
+   * 所属池ID
+   */
+  poolId: string | number;
+
+  /**
+   * 产品池名称
+   */
+  poolName?: string;
+
+  /**
+   * 产品池类型 0普通产品池,1精选产品池,2协议产品池,3项目产品池,4分类产品池
+   */
+  type?: number;
+
+  /**
+   * 产品id
+   */
+  productId: string | number;
+
+  /**
+   * 产品价格
+   */
+  productPrice: number;
+
+  /**
+   * 是否在池中:1-是,0-否
+   */
+  isPoolStatus: string;
+
+  /**
+   * 产品审核状态 0=待提交,1=待审核,2=审核通过,3=审核驳回
+   */
+  productReviewStatus: string;
+
+  /**
+   * 审核原因
+   */
+  reviewReason: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+  /**
+   * 创建时间
+   */
+  createTime?: string;
+
+  /**
+   * 商品编号
+   */
+  productNo?: string;
+
+  /**
+   * 商品名称
+   */
+  itemName?: string;
+
+  /**
+   * 商品图片URL
+   */
+  productImageUrl?: string;
+
+  /**
+   * 品牌名称
+   */
+  brandName?: string;
+
+  /**
+   * 分类名称
+   */
+  categoryName?: string;
+
+  /**
+   * 单位名称
+   */
+  unitName?: string;
+
+  /**
+   * 库存
+   */
+  stock?: number;
+
+  /**
+   * 市场价
+   */
+  marketPrice?: number;
+
+  /**
+   * 平台售价
+   */
+  platformPrice?: number;
+
+  /**
+   * 最低售价
+   */
+  minPrice?: number;
+
+  /**
+   * 采购价
+   */
+  purchasePrice?: number;
+
+  /**
+   * 暂估毛利率
+   */
+  grossMargin?: number;
+
+  /**
+   * 商品状态:1=已上架,0=下架,2=上架中
+   */
+  productStatus?: string;
+
+  /**
+   * 供应商
+   */
+  supplier?: string;
+}
+
+export interface PoolLinkForm extends BaseEntity {
+  /**
+   * 主键ID
+   */
+  id?: string | number;
+
+  /**
+   * 所属池ID
+   */
+  poolId?: string | number;
+
+  /**
+   * 产品id
+   */
+  productId?: string | number;
+
+  /**
+   * 产品价格
+   */
+  productPrice?: number;
+
+  /**
+   * 是否在池中:1-是,0-否
+   */
+  isPoolStatus?: string;
+
+  /**
+   * 产品审核状态 0=待提交,1=待审核,2=审核通过,3=审核驳回
+   */
+  productReviewStatus?: string;
+
+  /**
+   * 审核原因
+   */
+  reviewReason?: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow?: string;
+
+  /**
+   * 库存
+   */
+  stock?: number;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface PoolLinkQuery extends PageQuery {
+
+  /**
+   * 所属池ID
+   */
+  poolId?: string | number;
+
+  /**
+   * 产品id
+   */
+  productId?: string | number;
+
+  /**
+   * 产品价格
+   */
+  productPrice?: number;
+
+  /**
+   * 是否在池中:1-是,0-否
+   */
+  isPoolStatus?: string;
+
+  /**
+   * 产品审核状态 0=待提交,1=待审核,2=审核通过,3=审核驳回
+   */
+  productReviewStatus?: string;
+
+  /**
+   * 审核原因
+   */
+  reviewReason?: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+  // ========== 查询扩展字段 ==========
+
+  /**
+   * 商品编号
+   */
+  productNo?: string;
+
+  /**
+   * 商品名称
+   */
+  itemName?: string;
+
+  /**
+   * 品牌ID
+   */
+  brandId?: string | number;
+
+  /**
+   * 分类ID
+   */
+  categoryId?: string | number;
+
+  /**
+   * 商品状态:1=已上架,0=下架,2=上架中
+   */
+  productStatus?: string;
+
+  /**
+   * 供应商
+   */
+  supplier?: string;
+
+  /**
+   * 日期范围参数
+   */
+  params?: any;
+}
+
+
+

+ 63 - 0
src/api/product/priceInventory/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { PriceInventoryVO, PriceInventoryForm, PriceInventoryQuery } from '@/api/product/priceInventory/types';
+
+/**
+ * 查询产品价格与库存信息列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listPriceInventory = (query?: PriceInventoryQuery): AxiosPromise<PriceInventoryVO[]> => {
+  return request({
+    url: '/product/priceInventory/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品价格与库存信息详细
+ * @param productId
+ */
+export const getPriceInventory = (productId: string | number): AxiosPromise<PriceInventoryVO> => {
+  return request({
+    url: '/product/priceInventory/' + productId,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品价格与库存信息
+ * @param data
+ */
+export const addPriceInventory = (data: PriceInventoryForm) => {
+  return request({
+    url: '/product/priceInventory',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品价格与库存信息
+ * @param data
+ */
+export const updatePriceInventory = (data: PriceInventoryForm) => {
+  return request({
+    url: '/product/priceInventory',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品价格与库存信息
+ * @param productId
+ */
+export const delPriceInventory = (productId: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/priceInventory/' + productId,
+    method: 'delete'
+  });
+};

+ 206 - 0
src/api/product/priceInventory/types.ts

@@ -0,0 +1,206 @@
+export interface PriceInventoryVO {
+  /**
+   * 关联 product_base.id
+   */
+  productId: string | number;
+
+  /**
+   * 市场价格
+   */
+  marketPrice: number;
+
+  /**
+   * 会员价格
+   */
+  memberPrice: number;
+
+  /**
+   * 最低销售价格
+   */
+  minSellingPrice: number;
+
+  /**
+   * 采购价格
+   */
+  purchasingPrice: number;
+
+  /**
+   * 最高采购价格
+   */
+  maxPurchasePrice: number;
+
+  /**
+   * 总库存量
+   */
+  totalInventory: number;
+
+  /**
+   * 当前可用库存
+   */
+  nowInventory: number;
+
+  /**
+   * 虚拟库存
+   */
+  virtualInventory: number;
+
+  /**
+   * 最小起订数量
+   */
+  minOrderQuantity: number;
+
+  /**
+   * 税率
+   */
+  taxRate: number;
+
+  /**
+   * 货币类型
+   */
+  currency: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface PriceInventoryForm extends BaseEntity {
+  /**
+   * 关联 product_base.id
+   */
+  productId?: string | number;
+
+  /**
+   * 市场价格
+   */
+  marketPrice?: number;
+
+  /**
+   * 会员价格
+   */
+  memberPrice?: number;
+
+  /**
+   * 最低销售价格
+   */
+  minSellingPrice?: number;
+
+  /**
+   * 采购价格
+   */
+  purchasingPrice?: number;
+
+  /**
+   * 最高采购价格
+   */
+  maxPurchasePrice?: number;
+
+  /**
+   * 总库存量
+   */
+  totalInventory?: number;
+
+  /**
+   * 当前可用库存
+   */
+  nowInventory?: number;
+
+  /**
+   * 虚拟库存
+   */
+  virtualInventory?: number;
+
+  /**
+   * 最小起订数量
+   */
+  minOrderQuantity?: number;
+
+  /**
+   * 税率
+   */
+  taxRate?: number;
+
+  /**
+   * 货币类型
+   */
+  currency?: string;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface PriceInventoryQuery extends PageQuery {
+
+  /**
+   * 市场价格
+   */
+  marketPrice?: number;
+
+  /**
+   * 会员价格
+   */
+  memberPrice?: number;
+
+  /**
+   * 最低销售价格
+   */
+  minSellingPrice?: number;
+
+  /**
+   * 采购价格
+   */
+  purchasingPrice?: number;
+
+  /**
+   * 最高采购价格
+   */
+  maxPurchasePrice?: number;
+
+  /**
+   * 总库存量
+   */
+  totalInventory?: number;
+
+  /**
+   * 当前可用库存
+   */
+  nowInventory?: number;
+
+  /**
+   * 虚拟库存
+   */
+  virtualInventory?: number;
+
+  /**
+   * 最小起订数量
+   */
+  minOrderQuantity?: number;
+
+  /**
+   * 税率
+   */
+  taxRate?: number;
+
+  /**
+   * 货币类型
+   */
+  currency?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/product/program/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { ProgramVO, ProgramForm, ProgramQuery } from '@/api/product/program/types';
+
+/**
+ * 查询产品解决方案/项目方案列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listProgram = (query?: ProgramQuery): AxiosPromise<ProgramVO[]> => {
+  return request({
+    url: '/product/program/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品解决方案/项目方案详细
+ * @param id
+ */
+export const getProgram = (id: string | number): AxiosPromise<ProgramVO> => {
+  return request({
+    url: '/product/program/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品解决方案/项目方案
+ * @param data
+ */
+export const addProgram = (data: ProgramForm) => {
+  return request({
+    url: '/product/program',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品解决方案/项目方案
+ * @param data
+ */
+export const updateProgram = (data: ProgramForm) => {
+  return request({
+    url: '/product/program',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品解决方案/项目方案
+ * @param id
+ */
+export const delProgram = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/program/' + id,
+    method: 'delete'
+  });
+};

+ 210 - 0
src/api/product/program/types.ts

@@ -0,0 +1,210 @@
+export interface ProgramVO {
+  /**
+   * 主键,自增ID
+   */
+  id: string | number;
+
+  /**
+   * 方案编号(唯一标识)
+   */
+  programNo: string;
+
+  /**
+   * 方案标题
+   */
+  title: string;
+
+  /**
+   * 方案描述(注意:字段名为 SQL 关键字,建议未来重命名为 description)
+   */
+  describe: string;
+
+  /**
+   * 所属分类编号或名称
+   */
+  category: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow: string;
+
+  /**
+   * 封面图片URL(可存储较长路径)
+   */
+  coverImage: string;
+
+  /**
+   * 封面图片URL(可存储较长路径)Url
+   */
+  coverImageUrl: string;
+  /**
+   * 方案内容(如简介、详情等)
+   */
+  content: string;
+
+  /**
+   * 所属行业编号或名称
+   */
+  industry: string;
+
+  /**
+   * 适配产品/设备编号
+   */
+  adaptNo: string;
+
+  /**
+   * 标签
+   */
+  label: string;
+
+  /**
+   * 内部广告内容(如 Banner 文案或链接)
+   */
+  innerAdvert: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface ProgramForm extends BaseEntity {
+  /**
+   * 主键,自增ID
+   */
+  id?: string | number;
+
+  /**
+   * 方案编号(唯一标识)
+   */
+  programNo?: string;
+
+  /**
+   * 方案标题
+   */
+  title?: string;
+
+  /**
+   * 方案描述(注意:字段名为 SQL 关键字,建议未来重命名为 description)
+   */
+  describe?: string;
+
+  /**
+   * 所属分类编号或名称
+   */
+  category?: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow?: string;
+
+  /**
+   * 封面图片URL(可存储较长路径)
+   */
+  coverImage?: string;
+
+  /**
+   * 方案内容(如简介、详情等)
+   */
+  content?: string;
+
+  /**
+   * 所属行业编号或名称
+   */
+  industry?: string;
+
+  /**
+   * 适配产品/设备编号
+   */
+  adaptNo?: string;
+
+  /**
+   * 标签
+   */
+  label?: string;
+
+  /**
+   * 内部广告内容(如 Banner 文案或链接)
+   */
+  innerAdvert?: string;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface ProgramQuery extends PageQuery {
+
+  /**
+   * 方案编号(唯一标识)
+   */
+  programNo?: string;
+
+  /**
+   * 方案标题
+   */
+  title?: string;
+
+  /**
+   * 方案描述(注意:字段名为 SQL 关键字,建议未来重命名为 description)
+   */
+  describe?: string;
+
+  /**
+   * 所属分类编号或名称
+   */
+  category?: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow?: string;
+
+  /**
+   * 封面图片URL(可存储较长路径)
+   */
+  coverImage?: string;
+
+  /**
+   * 方案内容(如简介、详情等)
+   */
+  content?: string;
+
+  /**
+   * 所属行业编号或名称
+   */
+  industry?: string;
+
+  /**
+   * 适配产品/设备编号
+   */
+  adaptNo?: string;
+
+  /**
+   * 标签
+   */
+  label?: string;
+
+  /**
+   * 内部广告内容(如 Banner 文案或链接)
+   */
+  innerAdvert?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/product/programLink/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { ProgramLinkVO, ProgramLinkForm, ProgramLinkQuery } from '@/api/product/programLink/types';
+
+/**
+ * 查询项目方案关联列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listProgramLink = (query?: ProgramLinkQuery): AxiosPromise<ProgramLinkVO[]> => {
+  return request({
+    url: '/product/programLink/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询项目方案关联详细
+ * @param id
+ */
+export const getProgramLink = (id: string | number): AxiosPromise<ProgramLinkVO> => {
+  return request({
+    url: '/product/programLink/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增项目方案关联
+ * @param data
+ */
+export const addProgramLink = (data: ProgramLinkForm) => {
+  return request({
+    url: '/product/programLink',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改项目方案关联
+ * @param data
+ */
+export const updateProgramLink = (data: ProgramLinkForm) => {
+  return request({
+    url: '/product/programLink',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除项目方案关联
+ * @param id
+ */
+export const delProgramLink = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/programLink/' + id,
+    method: 'delete'
+  });
+};

+ 71 - 0
src/api/product/programLink/types.ts

@@ -0,0 +1,71 @@
+export interface ProgramLinkVO {
+  /**
+   * 主键ID
+   */
+  id: string | number;
+
+  /**
+   * 项目编号
+   */
+  programId: string | number;
+
+  /**
+   * 产品编号
+   */
+  productId: string | number;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface ProgramLinkForm extends BaseEntity {
+  /**
+   * 主键ID
+   */
+  id?: string | number;
+
+  /**
+   * 项目编号
+   */
+  programId?: string | number;
+
+  /**
+   * 产品编号
+   */
+  productId?: string | number;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface ProgramLinkQuery extends PageQuery {
+
+  /**
+   * 项目编号
+   */
+  programId?: string | number;
+
+  /**
+   * 产品编号
+   */
+  productId?: string | number;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/product/recommendLink/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { RecommendLinkVO, RecommendLinkForm, RecommendLinkQuery } from '@/api/product/recommendLink/types';
+
+/**
+ * 查询产品推荐关联列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listRecommendLink = (query?: RecommendLinkQuery): AxiosPromise<RecommendLinkVO[]> => {
+  return request({
+    url: '/product/recommendLink/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品推荐关联详细
+ * @param id
+ */
+export const getRecommendLink = (id: string | number): AxiosPromise<RecommendLinkVO> => {
+  return request({
+    url: '/product/recommendLink/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品推荐关联
+ * @param data
+ */
+export const addRecommendLink = (data: RecommendLinkForm) => {
+  return request({
+    url: '/product/recommendLink',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品推荐关联
+ * @param data
+ */
+export const updateRecommendLink = (data: RecommendLinkForm) => {
+  return request({
+    url: '/product/recommendLink',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品推荐关联
+ * @param id
+ */
+export const delRecommendLink = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/recommendLink/' + id,
+    method: 'delete'
+  });
+};

+ 71 - 0
src/api/product/recommendLink/types.ts

@@ -0,0 +1,71 @@
+export interface RecommendLinkVO {
+  /**
+   * 主键ID
+   */
+  id: string | number;
+
+  /**
+   * 项目编号
+   */
+  recommendId: string | number;
+
+  /**
+   * 产品编号
+   */
+  productId: string | number;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface RecommendLinkForm extends BaseEntity {
+  /**
+   * 主键ID
+   */
+  id?: string | number;
+
+  /**
+   * 项目编号
+   */
+  recommendId?: string | number;
+
+  /**
+   * 产品编号
+   */
+  productId?: string | number;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface RecommendLinkQuery extends PageQuery {
+
+  /**
+   * 项目编号
+   */
+  recommendId?: string | number;
+
+  /**
+   * 产品编号
+   */
+  productId?: string | number;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/product/specs/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { SpecsVO, SpecsForm, SpecsQuery } from '@/api/product/specs/types';
+
+/**
+ * 查询产品规格关联列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listSpecs = (query?: SpecsQuery): AxiosPromise<SpecsVO[]> => {
+  return request({
+    url: '/product/specs/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品规格关联详细
+ * @param id
+ */
+export const getSpecs = (id: string | number): AxiosPromise<SpecsVO> => {
+  return request({
+    url: '/product/specs/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品规格关联
+ * @param data
+ */
+export const addSpecs = (data: SpecsForm) => {
+  return request({
+    url: '/product/specs',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品规格关联
+ * @param data
+ */
+export const updateSpecs = (data: SpecsForm) => {
+  return request({
+    url: '/product/specs',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品规格关联
+ * @param id
+ */
+export const delSpecs = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/specs/' + id,
+    method: 'delete'
+  });
+};

+ 86 - 0
src/api/product/specs/types.ts

@@ -0,0 +1,86 @@
+export interface SpecsVO {
+  /**
+   * 主键ID
+   */
+  id: string | number;
+
+  /**
+   * 主产品编号
+   */
+  productId: string | number;
+
+  /**
+   * 关联的规格产品id列表(如:逗号分隔的产品id)
+   */
+  specsProductIds: string | number;
+
+  /**
+   * 是否单向关联:0=双向,1=单向
+   */
+  isUnidirectional: string | number;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface SpecsForm extends BaseEntity {
+  /**
+   * 主键ID
+   */
+  id?: string | number;
+
+  /**
+   * 主产品编号
+   */
+  productId?: string | number;
+
+  /**
+   * 关联的规格产品id列表(如:逗号分隔的产品id)
+   */
+  specsProductIds?: string | number;
+
+  /**
+   * 是否单向关联:0=双向,1=单向
+   */
+  isUnidirectional?: string | number;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface SpecsQuery extends PageQuery {
+
+  /**
+   * 主产品编号
+   */
+  productId?: string | number;
+
+  /**
+   * 关联的规格产品id列表(如:逗号分隔的产品id)
+   */
+  specsProductIds?: string | number;
+
+  /**
+   * 是否单向关联:0=双向,1=单向
+   */
+  isUnidirectional?: string | number;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/product/taxrate/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { TaxrateVO, TaxrateForm, TaxrateQuery } from '@/api/product/taxrate/types';
+
+/**
+ * 查询产品税率配置列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listTaxrate = (query?: TaxrateQuery): AxiosPromise<TaxrateVO[]> => {
+  return request({
+    url: '/product/taxrate/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品税率配置详细
+ * @param id
+ */
+export const getTaxrate = (id: string | number): AxiosPromise<TaxrateVO> => {
+  return request({
+    url: '/product/taxrate/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品税率配置
+ * @param data
+ */
+export const addTaxrate = (data: TaxrateForm) => {
+  return request({
+    url: '/product/taxrate',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品税率配置
+ * @param data
+ */
+export const updateTaxrate = (data: TaxrateForm) => {
+  return request({
+    url: '/product/taxrate',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品税率配置
+ * @param id
+ */
+export const delTaxrate = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/taxrate/' + id,
+    method: 'delete'
+  });
+};

+ 116 - 0
src/api/product/taxrate/types.ts

@@ -0,0 +1,116 @@
+export interface TaxrateVO {
+  /**
+   * 主键,自增ID
+   */
+  id: string | number;
+
+  /**
+   * 税率编号
+   */
+  taxrateNo: string;
+
+  /**
+   * 税率名称
+   */
+  taxrateName: string;
+
+  /**
+   * 税率值)
+   */
+  taxrate: number;
+
+  /**
+   * 数据来源
+   */
+  dataSource: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface TaxrateForm extends BaseEntity {
+  /**
+   * 主键,自增ID
+   */
+  id?: string | number;
+
+  /**
+   * 税率编号
+   */
+  taxrateNo?: string;
+
+  /**
+   * 税率名称
+   */
+  taxrateName?: string;
+
+  /**
+   * 税率值)
+   */
+  taxrate?: number;
+
+  /**
+   * 数据来源
+   */
+  dataSource?: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow?: string;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface TaxrateQuery extends PageQuery {
+
+  /**
+   * 税率编号
+   */
+  taxrateNo?: string;
+
+  /**
+   * 税率名称
+   */
+  taxrateName?: string;
+
+  /**
+   * 税率值)
+   */
+  taxrate?: number;
+
+  /**
+   * 数据来源
+   */
+  dataSource?: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/product/volumeUnit/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { VolumeUnitVO, VolumeUnitForm, VolumeUnitQuery } from '@/api/product/volumeUnit/types';
+
+/**
+ * 查询产品体积单位列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listVolumeUnit = (query?: VolumeUnitQuery): AxiosPromise<VolumeUnitVO[]> => {
+  return request({
+    url: '/product/volumeUnit/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品体积单位详细
+ * @param id
+ */
+export const getVolumeUnit = (id: string | number): AxiosPromise<VolumeUnitVO> => {
+  return request({
+    url: '/product/volumeUnit/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品体积单位
+ * @param data
+ */
+export const addVolumeUnit = (data: VolumeUnitForm) => {
+  return request({
+    url: '/product/volumeUnit',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品体积单位
+ * @param data
+ */
+export const updateVolumeUnit = (data: VolumeUnitForm) => {
+  return request({
+    url: '/product/volumeUnit',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品体积单位
+ * @param id
+ */
+export const delVolumeUnit = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/volumeUnit/' + id,
+    method: 'delete'
+  });
+};

+ 71 - 0
src/api/product/volumeUnit/types.ts

@@ -0,0 +1,71 @@
+export interface VolumeUnitVO {
+  /**
+   * 主键ID
+   */
+  id: string | number;
+
+  /**
+   * 体积单位名称(如:立方米、升、立方厘米等)
+   */
+  unitName: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface VolumeUnitForm extends BaseEntity {
+  /**
+   * 主键ID
+   */
+  id?: string | number;
+
+  /**
+   * 体积单位名称(如:立方米、升、立方厘米等)
+   */
+  unitName?: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource?: string;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface VolumeUnitQuery extends PageQuery {
+
+  /**
+   * 体积单位名称(如:立方米、升、立方厘米等)
+   */
+  unitName?: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/product/weightUnit/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { WeightUnitVO, WeightUnitForm, WeightUnitQuery } from '@/api/product/weightUnit/types';
+
+/**
+ * 查询产品重量单位列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listWeightUnit = (query?: WeightUnitQuery): AxiosPromise<WeightUnitVO[]> => {
+  return request({
+    url: '/product/weightUnit/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品重量单位详细
+ * @param id
+ */
+export const getWeightUnit = (id: string | number): AxiosPromise<WeightUnitVO> => {
+  return request({
+    url: '/product/weightUnit/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品重量单位
+ * @param data
+ */
+export const addWeightUnit = (data: WeightUnitForm) => {
+  return request({
+    url: '/product/weightUnit',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品重量单位
+ * @param data
+ */
+export const updateWeightUnit = (data: WeightUnitForm) => {
+  return request({
+    url: '/product/weightUnit',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品重量单位
+ * @param id
+ */
+export const delWeightUnit = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/weightUnit/' + id,
+    method: 'delete'
+  });
+};

+ 71 - 0
src/api/product/weightUnit/types.ts

@@ -0,0 +1,71 @@
+export interface WeightUnitVO {
+  /**
+   * 主键ID
+   */
+  id: string | number;
+
+  /**
+   * 重量单位名称(如:千克、克、吨、磅等)
+   */
+  unitName: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface WeightUnitForm extends BaseEntity {
+  /**
+   * 主键ID
+   */
+  id?: string | number;
+
+  /**
+   * 重量单位名称(如:千克、克、吨、磅等)
+   */
+  unitName?: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource?: string;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface WeightUnitQuery extends PageQuery {
+
+  /**
+   * 重量单位名称(如:千克、克、吨、磅等)
+   */
+  unitName?: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/taxrate/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { TaxrateVO, TaxrateForm, TaxrateQuery } from '@/api/product/taxrate/types';
+
+/**
+ * 查询产品税率配置列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listTaxrate = (query?: TaxrateQuery): AxiosPromise<TaxrateVO[]> => {
+  return request({
+    url: '/product/taxrate/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品税率配置详细
+ * @param id
+ */
+export const getTaxrate = (id: string | number): AxiosPromise<TaxrateVO> => {
+  return request({
+    url: '/product/taxrate/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品税率配置
+ * @param data
+ */
+export const addTaxrate = (data: TaxrateForm) => {
+  return request({
+    url: '/product/taxrate',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品税率配置
+ * @param data
+ */
+export const updateTaxrate = (data: TaxrateForm) => {
+  return request({
+    url: '/product/taxrate',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品税率配置
+ * @param id
+ */
+export const delTaxrate = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/taxrate/' + id,
+    method: 'delete'
+  });
+};

+ 116 - 0
src/api/taxrate/types.ts

@@ -0,0 +1,116 @@
+export interface TaxrateVO {
+  /**
+   * 主键,自增ID
+   */
+  id: string | number;
+
+  /**
+   * 税率编号
+   */
+  taxrateNo: string;
+
+  /**
+   * 税率名称
+   */
+  taxrateName: string;
+
+  /**
+   * 税率值)
+   */
+  taxrate: number;
+
+  /**
+   * 数据来源
+   */
+  dataSource: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface TaxrateForm extends BaseEntity {
+  /**
+   * 主键,自增ID
+   */
+  id?: string | number;
+
+  /**
+   * 税率编号
+   */
+  taxrateNo?: string;
+
+  /**
+   * 税率名称
+   */
+  taxrateName?: string;
+
+  /**
+   * 税率值)
+   */
+  taxrate?: number;
+
+  /**
+   * 数据来源
+   */
+  dataSource?: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow?: string;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface TaxrateQuery extends PageQuery {
+
+  /**
+   * 税率编号
+   */
+  taxrateNo?: string;
+
+  /**
+   * 税率名称
+   */
+  taxrateName?: string;
+
+  /**
+   * 税率值)
+   */
+  taxrate?: number;
+
+  /**
+   * 数据来源
+   */
+  dataSource?: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/unit/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { UnitVO, UnitForm, UnitQuery } from '@/api/product/unit/types';
+
+/**
+ * 查询产品计量单位列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listUnit = (query?: UnitQuery): AxiosPromise<UnitVO[]> => {
+  return request({
+    url: '/product/unit/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品计量单位详细
+ * @param id
+ */
+export const getUnit = (id: string | number): AxiosPromise<UnitVO> => {
+  return request({
+    url: '/product/unit/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品计量单位
+ * @param data
+ */
+export const addUnit = (data: UnitForm) => {
+  return request({
+    url: '/product/unit',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品计量单位
+ * @param data
+ */
+export const updateUnit = (data: UnitForm) => {
+  return request({
+    url: '/product/unit',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品计量单位
+ * @param id
+ */
+export const delUnit = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/unit/' + id,
+    method: 'delete'
+  });
+};

+ 101 - 0
src/api/unit/types.ts

@@ -0,0 +1,101 @@
+export interface UnitVO {
+  /**
+   * 主键,自增ID
+   */
+  id: string | number;
+
+  /**
+   * 单位编号
+   */
+  unitNo: string;
+
+  /**
+   * 单位名称(如:件、箱、千克等)
+   */
+  unitName: string;
+
+  /**
+   * 数据来源
+   */
+  dataSource: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface UnitForm extends BaseEntity {
+  /**
+   * 主键,自增ID
+   */
+  id?: string | number;
+
+  /**
+   * 单位编号
+   */
+  unitNo?: string;
+
+  /**
+   * 单位名称(如:件、箱、千克等)
+   */
+  unitName?: string;
+
+  /**
+   * 数据来源
+   */
+  dataSource?: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow?: string;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface UnitQuery extends PageQuery {
+
+  /**
+   * 单位编号
+   */
+  unitNo?: string;
+
+  /**
+   * 单位名称(如:件、箱、千克等)
+   */
+  unitName?: string;
+
+  /**
+   * 数据来源
+   */
+  dataSource?: string;
+
+  /**
+   * 是否显示:1=是,0=否
+   */
+  isShow?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/volumeUnit/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { VolumeUnitVO, VolumeUnitForm, VolumeUnitQuery } from '@/api/product/volumeUnit/types';
+
+/**
+ * 查询产品体积单位列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listVolumeUnit = (query?: VolumeUnitQuery): AxiosPromise<VolumeUnitVO[]> => {
+  return request({
+    url: '/product/volumeUnit/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品体积单位详细
+ * @param id
+ */
+export const getVolumeUnit = (id: string | number): AxiosPromise<VolumeUnitVO> => {
+  return request({
+    url: '/product/volumeUnit/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品体积单位
+ * @param data
+ */
+export const addVolumeUnit = (data: VolumeUnitForm) => {
+  return request({
+    url: '/product/volumeUnit',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品体积单位
+ * @param data
+ */
+export const updateVolumeUnit = (data: VolumeUnitForm) => {
+  return request({
+    url: '/product/volumeUnit',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品体积单位
+ * @param id
+ */
+export const delVolumeUnit = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/volumeUnit/' + id,
+    method: 'delete'
+  });
+};

+ 71 - 0
src/api/volumeUnit/types.ts

@@ -0,0 +1,71 @@
+export interface VolumeUnitVO {
+  /**
+   * 主键ID
+   */
+  id: string | number;
+
+  /**
+   * 体积单位名称(如:立方米、升、立方厘米等)
+   */
+  unitName: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface VolumeUnitForm extends BaseEntity {
+  /**
+   * 主键ID
+   */
+  id?: string | number;
+
+  /**
+   * 体积单位名称(如:立方米、升、立方厘米等)
+   */
+  unitName?: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource?: string;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface VolumeUnitQuery extends PageQuery {
+
+  /**
+   * 体积单位名称(如:立方米、升、立方厘米等)
+   */
+  unitName?: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+

+ 63 - 0
src/api/weightUnit/index.ts

@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { WeightUnitVO, WeightUnitForm, WeightUnitQuery } from '@/api/product/weightUnit/types';
+
+/**
+ * 查询产品重量单位列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listWeightUnit = (query?: WeightUnitQuery): AxiosPromise<WeightUnitVO[]> => {
+  return request({
+    url: '/product/weightUnit/list',
+    method: 'get',
+    params: query
+  });
+};
+
+/**
+ * 查询产品重量单位详细
+ * @param id
+ */
+export const getWeightUnit = (id: string | number): AxiosPromise<WeightUnitVO> => {
+  return request({
+    url: '/product/weightUnit/' + id,
+    method: 'get'
+  });
+};
+
+/**
+ * 新增产品重量单位
+ * @param data
+ */
+export const addWeightUnit = (data: WeightUnitForm) => {
+  return request({
+    url: '/product/weightUnit',
+    method: 'post',
+    data: data
+  });
+};
+
+/**
+ * 修改产品重量单位
+ * @param data
+ */
+export const updateWeightUnit = (data: WeightUnitForm) => {
+  return request({
+    url: '/product/weightUnit',
+    method: 'put',
+    data: data
+  });
+};
+
+/**
+ * 删除产品重量单位
+ * @param id
+ */
+export const delWeightUnit = (id: string | number | Array<string | number>) => {
+  return request({
+    url: '/product/weightUnit/' + id,
+    method: 'delete'
+  });
+};

+ 71 - 0
src/api/weightUnit/types.ts

@@ -0,0 +1,71 @@
+export interface WeightUnitVO {
+  /**
+   * 主键ID
+   */
+  id: string | number;
+
+  /**
+   * 重量单位名称(如:千克、克、吨、磅等)
+   */
+  unitName: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource: string;
+
+  /**
+   * 备注
+   */
+  remark: string;
+
+}
+
+export interface WeightUnitForm extends BaseEntity {
+  /**
+   * 主键ID
+   */
+  id?: string | number;
+
+  /**
+   * 重量单位名称(如:千克、克、吨、磅等)
+   */
+  unitName?: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource?: string;
+
+  /**
+   * 备注
+   */
+  remark?: string;
+
+}
+
+export interface WeightUnitQuery extends PageQuery {
+
+  /**
+   * 重量单位名称(如:千克、克、吨、磅等)
+   */
+  unitName?: string;
+
+  /**
+   * 数据来源(如:系统配置、接口同步等)
+   */
+  dataSource?: string;
+
+  /**
+   * 平台标识
+   */
+  platformCode?: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}
+
+
+