From 5e4f90380779911a6b7dc6cc255cc8fcc7721f18 Mon Sep 17 00:00:00 2001 From: yangmf_0726 <13243152557@163.com> Date: Sat, 16 Aug 2025 16:06:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81?= =?UTF-8?q?=E6=B1=87=E6=80=BB=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/product/summary/index.ts | 115 +++---- .../summary/{SummaryForm.vue => SpuForm.vue} | 112 +++++-- src/views/mall/product/summary/index.vue | 300 ++++++++++++++---- 3 files changed, 369 insertions(+), 158 deletions(-) rename src/views/mall/product/summary/{SummaryForm.vue => SpuForm.vue} (56%) diff --git a/src/api/product/summary/index.ts b/src/api/product/summary/index.ts index 5a2f80a7..bd585317 100644 --- a/src/api/product/summary/index.ts +++ b/src/api/product/summary/index.ts @@ -1,79 +1,64 @@ -import request from "@/config/axios"; +import request from '@/config/axios' -// 商品汇总分页查询参数 -export interface SummaryPageReqVO { - pageNo: number; // 页码,从 1 开始 - pageSize: number; // 每页条数,最大值为 100 - name?: string; // 商品名称 - deviceId?: string; // 设备IMEI - barCode?: string; // SKU 的条形码 - keyword?: string; // 关键字 - introduction?: string; // 商品简介 - description?: string; // 商品详情 - categoryId?: string; // 商品分类编号 - brandId?: string; // 商品品牌编号 - picUrl?: string; // 商品封面图 - sliderPicUrls?: string; // 商品轮播图地址数组,以逗号分隔 最多上传15张 - sort?: string; // 排序字段 - price?: string; // 商品价格,单位使用:分 - marketPrice?: string; // 市场价,单位使用:分 - costPrice?: string; // 成本价,单位: 分 - createTime?: string[]; // 创建时间 -} - -// 商品汇总 VO -export interface SummaryVO { - id: number; // 商品编号,自增 - deviceId: string; // 设备IMEI - barCode: string; // SKU 的条形码 - name: string; // 商品名称 - keyword: string; // 关键字 - introduction: string; // 商品简介 - description: string; // 商品详情 - categoryId: number; // 商品分类编号 - brandId: number; // 商品品牌编号 - picUrl: string; // 商品封面图 - sliderPicUrls: string; // 商品轮播图地址 +// 商品spu VO +export interface SpuVO { + id: number // 商品 SPU 编号,自增 + name: string // 商品名称 + keyword: string // 关键字 + introduction: string // 商品简介 + description: string // 商品详情 + categoryId: number // 商品分类编号 + brandId: number // 商品品牌编号 + picUrl: string // 商品封面图 + sliderPicUrls: string // 商品轮播图地址 // 数组,以逗号分隔 - // 最多上传15张 - sort: number; // 排序字段 - price: number; // 商品价格,单位使用:分 - marketPrice: number; // 市场价,单位使用:分 - costPrice: number; // 成本价,单位: 分 + // 最多上传15张 + sort: number // 排序字段 + status: number // 商品状态: 1 上架(开启) 0 下架(禁用) -1 回收 + types: number // 商品类型: 0 商城商品 1 提货柜商品 + specType: boolean // 规格类型:0 单规格 1 多规格 + price: number // 商品价格,单位使用:分 + marketPrice: number // 市场价,单位使用:分 + costPrice: number // 成本价,单位: 分 + stock: number // 库存 + deliveryTypes: string // 配送方式数组 + deliveryTemplateId: number // 物流配置模板编号 + giveIntegral: number // 赠送积分 + subCommissionType: boolean // 分销类型 + salesCount: number // 商品销量 + virtualSalesCount: number // 虚拟销量 + browseCount: number // 商品点击量 } -// 商品汇总 API -export const SummaryApi = { - // 查询商品汇总分页 - getSummaryPage: async (params: SummaryPageReqVO) => { - return await request.get({ url: `/product/summary/sumPage`, params }); +// 商品spu API +export const SpuApi = { + // 查询商品spu分页 + getSpuPage: async (params: any) => { + return await request.get({ url: `/product/spu/page`, params }) }, - // 查询商品汇总详情 - getSummary: async (id: number) => { - return await request.get({ url: `/product/summary/get?id=` + id }); + // 查询商品spu详情 + getSpu: async (id: number) => { + return await request.get({ url: `/product/spu/get?id=` + id }) }, - // 新增商品汇总 - createSummary: async (data: SummaryVO) => { - return await request.post({ url: `/product/summary/create`, data }); + // 新增商品spu + createSpu: async (data: SpuVO) => { + return await request.post({ url: `/product/spu/create`, data }) }, - // 修改商品汇总 - updateSummary: async (data: SummaryVO) => { - return await request.put({ url: `/product/summary/update`, data }); + // 修改商品spu + updateSpu: async (data: SpuVO) => { + return await request.put({ url: `/product/spu/update`, data }) }, - // 删除商品汇总 - deleteSummary: async (id: number) => { - return await request.delete({ url: `/product/summary/delete?id=` + id }); + // 删除商品spu + deleteSpu: async (id: number) => { + return await request.delete({ url: `/product/spu/delete?id=` + id }) }, - // 导出商品汇总 Excel - exportSummary: async (params) => { - return await request.download({ - url: `/product/summary/export-excel`, - params, - }); - }, -}; + // 导出商品spu Excel + exportSpu: async (params) => { + return await request.download({ url: `/product/spu/export-excel`, params }) + } +} diff --git a/src/views/mall/product/summary/SummaryForm.vue b/src/views/mall/product/summary/SpuForm.vue similarity index 56% rename from src/views/mall/product/summary/SummaryForm.vue rename to src/views/mall/product/summary/SpuForm.vue index 23162e02..46d488a9 100644 --- a/src/views/mall/product/summary/SummaryForm.vue +++ b/src/views/mall/product/summary/SpuForm.vue @@ -7,12 +7,6 @@ label-width="100px" v-loading="formLoading" > - - - - - - @@ -34,22 +28,29 @@ - - + + 最多上传15张" /> + + + 请选择字典生成 + + + + + + + + 请选择字典生成 + + @@ -59,6 +60,32 @@ + + + + + + + + + + + + + + + 请选择字典生成 + + + + + + + + + + +