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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请选择字典生成
+
+
+
+
+
+
+
+
+
+
+
确 定
@@ -67,10 +94,10 @@