-
+
diff --git a/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue b/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue
index bfddb52d..afe09552 100644
--- a/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue
+++ b/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue
@@ -2,84 +2,135 @@
-
-
-
-
-
+
-
-
-
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
- 建议尺寸:36 * 22
+ 建议尺寸:36 * 22
+
+
+
+ 文字
+ 图片
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 建议尺寸:56 * 56
+
+
+
+
@@ -88,24 +139,26 @@
diff --git a/src/views/mall/promotion/combination/components/CombinationShowcase.vue b/src/views/mall/promotion/combination/components/CombinationShowcase.vue
new file mode 100644
index 00000000..4ea6928a
--- /dev/null
+++ b/src/views/mall/promotion/combination/components/CombinationShowcase.vue
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/mall/promotion/combination/components/CombinationTableSelect.vue b/src/views/mall/promotion/combination/components/CombinationTableSelect.vue
new file mode 100644
index 00000000..6c8fc1d4
--- /dev/null
+++ b/src/views/mall/promotion/combination/components/CombinationTableSelect.vue
@@ -0,0 +1,332 @@
+
+
+
+
+
From 19789fabf548b2a1d57d537beca9cacc6be3c55d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=A2=E8=B6=8A?= <552369664@qq.com>
Date: Wed, 4 Sep 2024 10:39:57 +0800
Subject: [PATCH 33/50] =?UTF-8?q?=E3=80=90=E4=BB=A3=E7=A0=81=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E6=8B=BC=E5=9B=A2=E5=8D=A1=E7=89=87=E7=BB=84?=
=?UTF-8?q?=E4=BB=B6=E5=90=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/mobile/PromotionCombination/index.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue b/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
index 45e8b5a4..87c7423e 100644
--- a/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
+++ b/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
@@ -120,8 +120,8 @@ import * as ProductSpuApi from '@/api/mall/product/spu'
import * as CombinationActivityApi from '@/api/mall/promotion/combination/combinationActivity'
import {fenToYuan} from "@/utils";
-/** 商品卡片 */
-defineOptions({name: 'ProductCard'})
+/** 拼团卡片 */
+defineOptions({name: 'PromotionCombination'})
// 定义属性
// 定义属性
const props = defineProps<{ property: PromotionCombinationProperty }>();
From 757f10cbe6cc54d85e5ad5d737e84afeec5be940 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=A2=E8=B6=8A?= <552369664@qq.com>
Date: Wed, 4 Sep 2024 17:40:10 +0800
Subject: [PATCH 34/50] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E7=8E=B0=E5=9C=A8=E6=AF=8F=E6=AC=A1=E7=82=B9?=
=?UTF-8?q?=E5=87=BB=E8=A3=85=E4=BF=AE=E7=BB=84=E4=BB=B6=E9=83=BD=E5=88=B7?=
=?UTF-8?q?=E6=96=B0=E5=8F=B3=E4=BE=A7=E5=B1=9E=E6=80=A7=E7=AA=97=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/DiyEditor/components/ComponentContainer.vue | 2 +-
src/components/DiyEditor/index.vue | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/components/DiyEditor/components/ComponentContainer.vue b/src/components/DiyEditor/components/ComponentContainer.vue
index 2aa768fe..48567224 100644
--- a/src/components/DiyEditor/components/ComponentContainer.vue
+++ b/src/components/DiyEditor/components/ComponentContainer.vue
@@ -5,7 +5,7 @@
...style
}"
>
-
+
diff --git a/src/components/DiyEditor/index.vue b/src/components/DiyEditor/index.vue
index 700d32bd..d9fed0d2 100644
--- a/src/components/DiyEditor/index.vue
+++ b/src/components/DiyEditor/index.vue
@@ -151,8 +151,9 @@
class="m-[calc(0px-var(--el-card-padding))]"
view-class="p-[var(--el-card-padding)] p-b-[calc(var(--el-card-padding)+var(--el-card-padding))] property"
>
+
From 10c95406d82f3daeabaf9126305e008c608cdefc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=A2=E8=B6=8A?= <552369664@qq.com>
Date: Wed, 4 Sep 2024 22:58:16 +0800
Subject: [PATCH 35/50] =?UTF-8?q?=E3=80=90=E4=BB=A3=E7=A0=81=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E6=8E=A5=E5=8F=A3=E5=9C=B0=E5=9D=80=E4=BF=AE?=
=?UTF-8?q?=E6=AD=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/mall/promotion/combination/combinationActivity.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/api/mall/promotion/combination/combinationActivity.ts b/src/api/mall/promotion/combination/combinationActivity.ts
index f0d2e1de..483d6f07 100644
--- a/src/api/mall/promotion/combination/combinationActivity.ts
+++ b/src/api/mall/promotion/combination/combinationActivity.ts
@@ -50,7 +50,7 @@ export const getCombinationActivity = async (id: number) => {
// 查询拼团活动详情列表
export const getCombinationActivityDetailList = (ids: number[]) => {
- return request.get({url: `/promotion/combination-activity/list?combinationActivityIds=${ids}`})
+ return request.get({url: `/promotion/combination-activity/detail-list?ids=${ids}`})
}
// 新增拼团活动
From 03356576b3c9d981c8f4935f9399327b882448f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=A2=E8=B6=8A?= <552369664@qq.com>
Date: Wed, 4 Sep 2024 23:08:01 +0800
Subject: [PATCH 36/50] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E6=8B=BC=E5=9B=A2=E7=BB=84=E4=BB=B6=E9=BB=98?=
=?UTF-8?q?=E8=AE=A4=E4=B8=BA=E5=8D=95=E5=88=97=E5=A4=A7=E5=9B=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DiyEditor/components/mobile/PromotionCombination/config.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/DiyEditor/components/mobile/PromotionCombination/config.ts b/src/components/DiyEditor/components/mobile/PromotionCombination/config.ts
index 5a675d5a..ce51960a 100644
--- a/src/components/DiyEditor/components/mobile/PromotionCombination/config.ts
+++ b/src/components/DiyEditor/components/mobile/PromotionCombination/config.ts
@@ -65,7 +65,7 @@ export const component = {
name: '拼团',
icon: 'mdi:account-group',
property: {
- layoutType: 'oneColSmallImg',
+ layoutType: 'oneColBigImg',
fields: {
name: {show: true, color: '#000'},
introduction: {show: true, color: '#999'},
From 40fe63a3fbbfd33d779b6d4cc01993024e668edf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=A2=E8=B6=8A?= <552369664@qq.com>
Date: Thu, 5 Sep 2024 10:55:57 +0800
Subject: [PATCH 37/50] =?UTF-8?q?=E3=80=90=E4=BB=A3=E7=A0=81=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E6=8B=BC=E5=9B=A2=E6=B4=BB=E5=8A=A8=E5=92=8C?=
=?UTF-8?q?SPU=E8=AF=A6=E6=83=85=E5=88=86=E5=BC=80=E6=9F=A5=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/mobile/PromotionCombination/index.vue | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue b/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
index 87c7423e..99d4e583 100644
--- a/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
+++ b/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
@@ -123,7 +123,6 @@ import {fenToYuan} from "@/utils";
/** 拼团卡片 */
defineOptions({name: 'PromotionCombination'})
// 定义属性
-// 定义属性
const props = defineProps<{ property: PromotionCombinationProperty }>();
// 商品列表
const spuList = ref
([]);
@@ -150,13 +149,12 @@ watch(
.map(activity => activity.spuId)
.filter((spuId): spuId is number => typeof spuId === 'number');
- // 如果有有效的 spuId,调用 API 获取详细信息
+ // 如果存在有效的 spuId,调用 API 获取详细信息
if (spuIdList.value.length > 0) {
spuList.value = await ProductSpuApi.getSpuDetailList(spuIdList.value);
} else {
console.warn('没有用于获取详细信息的有效 spuId。');
}
-
// 更新 SPU 的最低价格
combinationActivityList.value.forEach(activity => {
activity.products.forEach(product => {
From 4870231b61546fec9c2374d0148a96c8d1fc6871 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=A2=E8=B6=8A?= <552369664@qq.com>
Date: Thu, 5 Sep 2024 12:46:58 +0800
Subject: [PATCH 38/50] =?UTF-8?q?=E3=80=90=E4=BB=A3=E7=A0=81=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../combination/combinationActivity.ts | 62 +++----
.../mobile/PromotionCombination/config.ts | 168 +++++++++---------
.../mobile/PromotionCombination/index.vue | 161 +++++++++--------
.../mobile/PromotionCombination/property.vue | 92 +++++-----
src/components/DiyEditor/index.vue | 6 +-
.../components/CombinationShowcase.vue | 89 ++++++----
.../components/CombinationTableSelect.vue | 143 ++++++++-------
7 files changed, 376 insertions(+), 345 deletions(-)
diff --git a/src/api/mall/promotion/combination/combinationActivity.ts b/src/api/mall/promotion/combination/combinationActivity.ts
index 483d6f07..a6c9aaa9 100644
--- a/src/api/mall/promotion/combination/combinationActivity.ts
+++ b/src/api/mall/promotion/combination/combinationActivity.ts
@@ -1,74 +1,74 @@
import request from '@/config/axios'
-import {Sku, Spu} from '@/api/mall/product/spu'
+import { Sku, Spu } from '@/api/mall/product/spu'
export interface CombinationActivityVO {
- id?: number
- name?: string
- spuId?: number
- totalLimitCount?: number
- singleLimitCount?: number
- startTime?: Date
- endTime?: Date
- userSize?: number
- totalCount?: number
- successCount?: number
- orderUserCount?: number
- virtualGroup?: number
- status?: number
- limitDuration?: number
- products: CombinationProductVO[]
- spuName?: string
- picUrl?: string
- marketPrice?: number
+ id?: number
+ name?: string
+ spuId?: number
+ totalLimitCount?: number
+ singleLimitCount?: number
+ startTime?: Date
+ endTime?: Date
+ userSize?: number
+ totalCount?: number
+ successCount?: number
+ orderUserCount?: number
+ virtualGroup?: number
+ status?: number
+ limitDuration?: number
+ products: CombinationProductVO[]
+ spuName?: string
+ picUrl?: string
+ marketPrice?: number
}
// 拼团活动所需属性
export interface CombinationProductVO {
- spuId: number
- skuId: number
- combinationPrice: number // 拼团价格
+ spuId: number
+ skuId: number
+ combinationPrice: number // 拼团价格
}
// 扩展 Sku 配置
export type SkuExtension = Sku & {
- productConfig: CombinationProductVO
+ productConfig: CombinationProductVO
}
export interface SpuExtension extends Spu {
- skus: SkuExtension[] // 重写类型
+ skus: SkuExtension[] // 重写类型
}
// 查询拼团活动列表
export const getCombinationActivityPage = async (params) => {
- return await request.get({url: '/promotion/combination-activity/page', params})
+ return await request.get({ url: '/promotion/combination-activity/page', params })
}
// 查询拼团活动详情
export const getCombinationActivity = async (id: number) => {
- return await request.get({url: '/promotion/combination-activity/get?id=' + id})
+ return await request.get({ url: '/promotion/combination-activity/get?id=' + id })
}
// 查询拼团活动详情列表
export const getCombinationActivityDetailList = (ids: number[]) => {
- return request.get({url: `/promotion/combination-activity/detail-list?ids=${ids}`})
+ return request.get({ url: `/promotion/combination-activity/detail-list?ids=${ids}` })
}
// 新增拼团活动
export const createCombinationActivity = async (data: CombinationActivityVO) => {
- return await request.post({url: '/promotion/combination-activity/create', data})
+ return await request.post({ url: '/promotion/combination-activity/create', data })
}
// 修改拼团活动
export const updateCombinationActivity = async (data: CombinationActivityVO) => {
- return await request.put({url: '/promotion/combination-activity/update', data})
+ return await request.put({ url: '/promotion/combination-activity/update', data })
}
// 关闭拼团活动
export const closeCombinationActivity = async (id: number) => {
- return await request.put({url: '/promotion/combination-activity/close?id=' + id})
+ return await request.put({ url: '/promotion/combination-activity/close?id=' + id })
}
// 删除拼团活动
export const deleteCombinationActivity = async (id: number) => {
- return await request.delete({url: '/promotion/combination-activity/delete?id=' + id})
+ return await request.delete({ url: '/promotion/combination-activity/delete?id=' + id })
}
diff --git a/src/components/DiyEditor/components/mobile/PromotionCombination/config.ts b/src/components/DiyEditor/components/mobile/PromotionCombination/config.ts
index ce51960a..f4fdf6e8 100644
--- a/src/components/DiyEditor/components/mobile/PromotionCombination/config.ts
+++ b/src/components/DiyEditor/components/mobile/PromotionCombination/config.ts
@@ -1,96 +1,96 @@
-import {ComponentStyle, DiyComponent} from '@/components/DiyEditor/util'
+import { ComponentStyle, DiyComponent } from '@/components/DiyEditor/util'
/** 拼团属性 */
export interface PromotionCombinationProperty {
- // 布局类型:单列 | 三列
- layoutType: 'oneColBigImg' | 'oneColSmallImg' | 'twoCol';
- // 商品字段
- fields: {
- // 商品名称
- name: PromotionCombinationFieldProperty
- // 商品简介
- introduction: PromotionCombinationFieldProperty
- // 商品价格
- price: PromotionCombinationFieldProperty
- // 市场价
- marketPrice: PromotionCombinationFieldProperty
- // 商品销量
- salesCount: PromotionCombinationFieldProperty
- // 商品库存
- stock: PromotionCombinationFieldProperty
- }
- // 角标
- badge: {
- // 是否显示
- show: boolean
- // 角标图片
- imgUrl: string
- }
- // 按钮
- btnBuy: {
- // 类型:文字 | 图片
- type: 'text' | 'img'
- // 文字
- text: string
- // 文字按钮:背景渐变起始颜色
- bgBeginColor: string
- // 文字按钮:背景渐变结束颜色
- bgEndColor: string
- // 图片按钮:图片地址
- imgUrl: string
- }
- // 上圆角
- borderRadiusTop: number
- // 下圆角
- borderRadiusBottom: number
- // 间距
- space: number
- // 拼团活动编号
- activityIds: number[]
- // 组件样式
- style: ComponentStyle
+ // 布局类型:单列 | 三列
+ layoutType: 'oneColBigImg' | 'oneColSmallImg' | 'twoCol'
+ // 商品字段
+ fields: {
+ // 商品名称
+ name: PromotionCombinationFieldProperty
+ // 商品简介
+ introduction: PromotionCombinationFieldProperty
+ // 商品价格
+ price: PromotionCombinationFieldProperty
+ // 市场价
+ marketPrice: PromotionCombinationFieldProperty
+ // 商品销量
+ salesCount: PromotionCombinationFieldProperty
+ // 商品库存
+ stock: PromotionCombinationFieldProperty
+ }
+ // 角标
+ badge: {
+ // 是否显示
+ show: boolean
+ // 角标图片
+ imgUrl: string
+ }
+ // 按钮
+ btnBuy: {
+ // 类型:文字 | 图片
+ type: 'text' | 'img'
+ // 文字
+ text: string
+ // 文字按钮:背景渐变起始颜色
+ bgBeginColor: string
+ // 文字按钮:背景渐变结束颜色
+ bgEndColor: string
+ // 图片按钮:图片地址
+ imgUrl: string
+ }
+ // 上圆角
+ borderRadiusTop: number
+ // 下圆角
+ borderRadiusBottom: number
+ // 间距
+ space: number
+ // 拼团活动编号
+ activityIds: number[]
+ // 组件样式
+ style: ComponentStyle
}
// 商品字段
export interface PromotionCombinationFieldProperty {
- // 是否显示
- show: boolean
- // 颜色
- color: string
+ // 是否显示
+ show: boolean
+ // 颜色
+ color: string
}
// 定义组件
export const component = {
- id: 'PromotionCombination',
- name: '拼团',
- icon: 'mdi:account-group',
- property: {
- layoutType: 'oneColBigImg',
- fields: {
- name: {show: true, color: '#000'},
- introduction: {show: true, color: '#999'},
- price: {show: true, color: '#ff3000'},
- marketPrice: {show: true, color: '#c4c4c4'},
- salesCount: {show: true, color: '#c4c4c4'},
- stock: {show: false, color: '#c4c4c4'}
- },
- badge: {show: false, imgUrl: ''},
- btnBuy: {
- type: 'text',
- text: '去拼团',
- bgBeginColor: '#FF6000',
- bgEndColor: '#FE832A',
- imgUrl: ''
- },
- borderRadiusTop: 8,
- borderRadiusBottom: 8,
- space: 8,
- style: {
- bgType: 'color',
- bgColor: '',
- marginLeft: 8,
- marginRight: 8,
- marginBottom: 8
- } as ComponentStyle
- }
+ id: 'PromotionCombination',
+ name: '拼团',
+ icon: 'mdi:account-group',
+ property: {
+ layoutType: 'oneColBigImg',
+ fields: {
+ name: { show: true, color: '#000' },
+ introduction: { show: true, color: '#999' },
+ price: { show: true, color: '#ff3000' },
+ marketPrice: { show: true, color: '#c4c4c4' },
+ salesCount: { show: true, color: '#c4c4c4' },
+ stock: { show: false, color: '#c4c4c4' }
+ },
+ badge: { show: false, imgUrl: '' },
+ btnBuy: {
+ type: 'text',
+ text: '去拼团',
+ bgBeginColor: '#FF6000',
+ bgEndColor: '#FE832A',
+ imgUrl: ''
+ },
+ borderRadiusTop: 8,
+ borderRadiusBottom: 8,
+ space: 8,
+ style: {
+ bgType: 'color',
+ bgColor: '',
+ marginLeft: 8,
+ marginRight: 8,
+ marginBottom: 8
+ } as ComponentStyle
+ }
} as DiyComponent
diff --git a/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue b/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
index 99d4e583..dfb16672 100644
--- a/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
+++ b/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
@@ -1,8 +1,8 @@
-
+
-
+
{{ spu.name }}
{{ spu.introduction }}
¥{{ fenToYuan(spu.price || Infinity) }}
¥{{ fenToYuan(spu.marketPrice) }}¥{{ fenToYuan(spu.marketPrice) }}
已售{{ (spu.salesCount || 0) + (spu.virtualSalesCount || 0) }}件
@@ -95,9 +95,9 @@
@@ -105,77 +105,80 @@
diff --git a/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue b/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue
index afe09552..6c551ad9 100644
--- a/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue
+++ b/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue
@@ -2,24 +2,24 @@
-
+
-
+
-
+
-
+
diff --git a/src/views/mall/promotion/combination/components/CombinationShowcase.vue b/src/views/mall/promotion/combination/components/CombinationShowcase.vue
index 4ea6928a..8e8e107f 100644
--- a/src/views/mall/promotion/combination/components/CombinationShowcase.vue
+++ b/src/views/mall/promotion/combination/components/CombinationShowcase.vue
@@ -1,41 +1,45 @@
+ v-for="(combinationActivity, index) in Activitys"
+ :key="combinationActivity.id"
+ class="select-box spu-pic"
+ >
-
+
-
+
-
+
diff --git a/src/components/DiyEditor/index.vue b/src/components/DiyEditor/index.vue
index 8504f3e1..700d32bd 100644
--- a/src/components/DiyEditor/index.vue
+++ b/src/components/DiyEditor/index.vue
@@ -151,13 +151,8 @@
class="m-[calc(0px-var(--el-card-padding))]"
view-class="p-[var(--el-card-padding)] p-b-[calc(var(--el-card-padding)+var(--el-card-padding))] property"
>
-
diff --git a/src/views/mall/product/spu/components/SpuShowcase.vue b/src/views/mall/product/spu/components/SpuShowcase.vue
index 8bee4004..b8527e05 100644
--- a/src/views/mall/product/spu/components/SpuShowcase.vue
+++ b/src/views/mall/product/spu/components/SpuShowcase.vue
@@ -85,6 +85,7 @@ const openSpuTableSelect = () => {
/**
* 选择商品后触发
+ *
* @param spus 选中的商品列表
*/
const handleSpuSelected = (spus: ProductSpuApi.Spu | ProductSpuApi.Spu[]) => {
@@ -94,6 +95,7 @@ const handleSpuSelected = (spus: ProductSpuApi.Spu | ProductSpuApi.Spu[]) => {
/**
* 删除商品
+ *
* @param index 商品索引
*/
const handleRemoveSpu = (index: number) => {
diff --git a/src/views/mall/promotion/combination/components/CombinationShowcase.vue b/src/views/mall/promotion/combination/components/CombinationShowcase.vue
index 8e8e107f..ba88434b 100644
--- a/src/views/mall/promotion/combination/components/CombinationShowcase.vue
+++ b/src/views/mall/promotion/combination/components/CombinationShowcase.vue
@@ -81,7 +81,7 @@ watch(
Activitys.value.length === 0 ||
Activitys.value.some((combinationActivity) => !ids.includes(combinationActivity.id!))
) {
- Activitys.value = await CombinationActivityApi.getCombinationActivityDetailList(ids)
+ Activitys.value = await CombinationActivityApi.getCombinationActivityListByIds(ids)
}
},
{ immediate: true }
From 3dc02f728269713544e90e4f915d074724e86c74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=A2=E8=B6=8A?= <552369664@qq.com>
Date: Fri, 6 Sep 2024 22:23:15 +0800
Subject: [PATCH 42/50] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91=E4=BF=AE=E5=A4=8D=E6=8B=BC=E5=9B=A2=E7=9A=84?=
=?UTF-8?q?=E4=BB=B7=E6=A0=BC=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../promotion/combination/combinationActivity.ts | 1 +
.../mobile/PromotionCombination/index.vue | 13 ++++++-------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/api/mall/promotion/combination/combinationActivity.ts b/src/api/mall/promotion/combination/combinationActivity.ts
index 87053085..64002672 100644
--- a/src/api/mall/promotion/combination/combinationActivity.ts
+++ b/src/api/mall/promotion/combination/combinationActivity.ts
@@ -16,6 +16,7 @@ export interface CombinationActivityVO {
virtualGroup?: number
status?: number
limitDuration?: number
+ combinationPrice?: number
products: CombinationProductVO[]
}
diff --git a/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue b/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
index efe18902..d41bf1c1 100644
--- a/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
+++ b/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue
@@ -152,13 +152,12 @@ watch(
// 更新 SPU 的最低价格
combinationActivityList.value.forEach((activity) => {
- activity.products.forEach((product) => {
- const spu = spuList.value.find((spu) => spu.id === product.spuId)
- if (spu) {
- // 哪个最便宜就赋值哪个
- spu.price = Math.min(product.combinationPrice || Infinity, spu.price || Infinity)
- }
- })
+ // 匹配spuId
+ const spu = spuList.value.find((spu) => spu.id === activity.spuId)
+ if (spu) {
+ // 赋值活动价格,哪个最便宜就赋值哪个
+ spu.price = Math.min(activity.combinationPrice || Infinity, spu.price || Infinity)
+ }
})
}
} catch (error) {
From 307743b7d06e9562ad8b283a71a30aef4f4403c8 Mon Sep 17 00:00:00 2001
From: zqx
Date: Sat, 7 Sep 2024 15:38:39 +0800
Subject: [PATCH 43/50] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91=E4=BF=AE=E5=A4=8D=E6=96=B0=E5=88=9B=E5=BB=BA?=
=?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9C=AA=E4=B8=8A=E4=BC=A0=E5=A4=B4=E5=83=8F?=
=?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=A4=B4=E5=83=8F=E4=B8=8D=E6=98=BE=E7=A4=BA?=
=?UTF-8?q?=E7=9A=84bug=E3=80=82=20=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91=E4=BF=AE=E5=A4=8D=E5=B8=83=E5=B1=80=E9=85=8D?=
=?UTF-8?q?=E7=BD=AE=E4=B8=AD=E6=A0=87=E7=AD=BE=E9=A1=B5=E5=9B=BE=E6=A0=87?=
=?UTF-8?q?key=E9=94=99=E8=AF=AF=E7=9A=84bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/layout/components/Setting/src/Setting.vue | 2 +-
src/layout/components/UserInfo/src/UserInfo.vue | 2 +-
src/layout/components/UserInfo/src/components/LockDialog.vue | 2 +-
src/layout/components/UserInfo/src/components/LockPage.vue | 2 +-
src/views/ai/chat/index/components/message/MessageList.vue | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/layout/components/Setting/src/Setting.vue b/src/layout/components/Setting/src/Setting.vue
index 717472ac..306cb238 100644
--- a/src/layout/components/Setting/src/Setting.vue
+++ b/src/layout/components/Setting/src/Setting.vue
@@ -129,7 +129,7 @@ const copyConfig = async () => {
// 标签页
tagsViewImmerse: ${appStore.getTagsViewImmerse},
// 标签页图标
- getTagsViewIcon: ${appStore.getTagsViewIcon},
+ tagsViewIcon: ${appStore.getTagsViewIcon},
// logo
logo: ${appStore.getLogo},
// 菜单手风琴
diff --git a/src/layout/components/UserInfo/src/UserInfo.vue b/src/layout/components/UserInfo/src/UserInfo.vue
index 5c5e3732..355aabc8 100644
--- a/src/layout/components/UserInfo/src/UserInfo.vue
+++ b/src/layout/components/UserInfo/src/UserInfo.vue
@@ -23,7 +23,7 @@ const { getPrefixCls } = useDesign()
const prefixCls = getPrefixCls('user-info')
-const avatar = computed(() => userStore.user.avatar ?? avatarImg)
+const avatar = computed(() => userStore.user.avatar || avatarImg)
const userName = computed(() => userStore.user.nickname ?? 'Admin')
// 锁定屏幕
diff --git a/src/layout/components/UserInfo/src/components/LockDialog.vue b/src/layout/components/UserInfo/src/components/LockDialog.vue
index f4ab7d4f..7257be16 100644
--- a/src/layout/components/UserInfo/src/components/LockDialog.vue
+++ b/src/layout/components/UserInfo/src/components/LockDialog.vue
@@ -21,7 +21,7 @@ const props = defineProps({
})
const userStore = useUserStore()
-const avatar = computed(() => userStore.user.avatar ?? avatarImg)
+const avatar = computed(() => userStore.user.avatar || avatarImg)
const userName = computed(() => userStore.user.nickname ?? 'Admin')
const emit = defineEmits(['update:modelValue'])
diff --git a/src/layout/components/UserInfo/src/components/LockPage.vue b/src/layout/components/UserInfo/src/components/LockPage.vue
index e53443fb..27d0a432 100644
--- a/src/layout/components/UserInfo/src/components/LockPage.vue
+++ b/src/layout/components/UserInfo/src/components/LockPage.vue
@@ -22,7 +22,7 @@ const showDate = ref(true)
const { getPrefixCls } = useDesign()
const prefixCls = getPrefixCls('lock-page')
-const avatar = computed(() => userStore.user.avatar ?? avatarImg)
+const avatar = computed(() => userStore.user.avatar || avatarImg)
const userName = computed(() => userStore.user.nickname ?? 'Admin')
const lockStore = useLockStore()
diff --git a/src/views/ai/chat/index/components/message/MessageList.vue b/src/views/ai/chat/index/components/message/MessageList.vue
index 2cc84079..b7402a9e 100644
--- a/src/views/ai/chat/index/components/message/MessageList.vue
+++ b/src/views/ai/chat/index/components/message/MessageList.vue
@@ -78,7 +78,7 @@ const userStore = useUserStore()
const messageContainer: any = ref(null)
const isScrolling = ref(false) //用于判断用户是否在滚动
-const userAvatar = computed(() => userStore.user.avatar ?? userAvatarDefaultImg)
+const userAvatar = computed(() => userStore.user.avatar || userAvatarDefaultImg)
const roleAvatar = computed(() => props.conversation.roleAvatar ?? roleAvatarDefaultImg)
// 定义 props
From 9faad6424eaf2687c67f60516a254260b55d2f92 Mon Sep 17 00:00:00 2001
From: Lcp <2767378157@qq.com>
Date: Sat, 7 Sep 2024 17:25:46 +0800
Subject: [PATCH 44/50] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91=E5=95=86=E5=9F=8E=EF=BC=9A=E5=8F=91=E9=80=81?=
=?UTF-8?q?=E5=95=86=E5=93=81=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=E5=92=8C=E6=89=93=E5=8C=85=E5=90=8E=E5=AE=A2=E6=9C=8D?=
=?UTF-8?q?=E8=81=8A=E5=A4=A9=E8=A1=A8=E6=83=85=E7=BC=BA=E5=A4=B1=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/mall/promotion/kefu/components/KeFuMessageList.vue | 2 +-
src/views/mall/promotion/kefu/components/tools/emoji.ts | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/views/mall/promotion/kefu/components/KeFuMessageList.vue b/src/views/mall/promotion/kefu/components/KeFuMessageList.vue
index bd1b9ce0..92f89646 100644
--- a/src/views/mall/promotion/kefu/components/KeFuMessageList.vue
+++ b/src/views/mall/promotion/kefu/components/KeFuMessageList.vue
@@ -86,7 +86,7 @@
diff --git a/src/views/mall/promotion/kefu/components/tools/emoji.ts b/src/views/mall/promotion/kefu/components/tools/emoji.ts
index ff7a12e7..a71b1397 100644
--- a/src/views/mall/promotion/kefu/components/tools/emoji.ts
+++ b/src/views/mall/promotion/kefu/components/tools/emoji.ts
@@ -66,7 +66,7 @@ export const useEmoji = () => {
)
for (const path in pathList) {
const imageModule: any = await pathList[path]()
- emojiPathList.value.push(imageModule.default)
+ emojiPathList.value.push({path: path, src: imageModule.default})
}
}
@@ -116,7 +116,8 @@ export const useEmoji = () => {
function getEmojiFileByName(name: string) {
for (const emoji of emojiList) {
if (emoji.name === name) {
- return emojiPathList.value.find((item: string) => item.indexOf(emoji.file) > -1)
+ const emojiPath = emojiPathList.value.find((item: {path:string,src:string}) => item.path.indexOf(emoji.file) > -1)
+ return emojiPath?emojiPath.src:undefined
}
}
return false
From ef56489d4667dda541e50e0dd64365a2e7899524 Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Sat, 7 Sep 2024 19:04:07 +0800
Subject: [PATCH 45/50] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91=E5=95=86=E5=9F=8E=EF=BC=9A=E5=8F=91=E9=80=81?=
=?UTF-8?q?=E5=95=86=E5=93=81=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=E5=92=8C=E6=89=93=E5=8C=85=E5=90=8E=E5=AE=A2=E6=9C=8D?=
=?UTF-8?q?=E8=81=8A=E5=A4=A9=E8=A1=A8=E6=83=85=E7=BC=BA=E5=A4=B1=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mall/promotion/kefu/components/KeFuMessageList.vue | 4 ++--
src/views/mall/promotion/kefu/components/tools/emoji.ts | 8 +++++---
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/views/mall/promotion/kefu/components/KeFuMessageList.vue b/src/views/mall/promotion/kefu/components/KeFuMessageList.vue
index 92f89646..483fdc24 100644
--- a/src/views/mall/promotion/kefu/components/KeFuMessageList.vue
+++ b/src/views/mall/promotion/kefu/components/KeFuMessageList.vue
@@ -423,9 +423,9 @@ const showTime = computed(() => (item: KeFuMessageRespVO, index: number) => {
// 消息气泡
.kefu-message {
- color: #A9A9A9;
+ color: #a9a9a9;
border-radius: 5px;
- box-shadow: 3px 3px 5px rgba(220,220,220, 0.1);
+ box-shadow: 3px 3px 5px rgba(220, 220, 220, 0.1);
padding: 5px 10px;
width: auto;
max-width: 50%;
diff --git a/src/views/mall/promotion/kefu/components/tools/emoji.ts b/src/views/mall/promotion/kefu/components/tools/emoji.ts
index a71b1397..0cbf95af 100644
--- a/src/views/mall/promotion/kefu/components/tools/emoji.ts
+++ b/src/views/mall/promotion/kefu/components/tools/emoji.ts
@@ -66,7 +66,7 @@ export const useEmoji = () => {
)
for (const path in pathList) {
const imageModule: any = await pathList[path]()
- emojiPathList.value.push({path: path, src: imageModule.default})
+ emojiPathList.value.push({ path: path, src: imageModule.default })
}
}
@@ -116,8 +116,10 @@ export const useEmoji = () => {
function getEmojiFileByName(name: string) {
for (const emoji of emojiList) {
if (emoji.name === name) {
- const emojiPath = emojiPathList.value.find((item: {path:string,src:string}) => item.path.indexOf(emoji.file) > -1)
- return emojiPath?emojiPath.src:undefined
+ const emojiPath = emojiPathList.value.find(
+ (item: { path: string; src: string }) => item.path.indexOf(emoji.file) > -1
+ )
+ return emojiPath ? emojiPath.src : undefined
}
}
return false
From 3c34602483066372b4c9b4ad9ac272990bf05251 Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Sat, 7 Sep 2024 19:14:34 +0800
Subject: [PATCH 46/50] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91=E5=95=86=E5=9F=8E=EF=BC=9A=E5=BA=97=E9=93=BA?=
=?UTF-8?q?=E8=A3=85=E4=BF=AE=E6=97=B6=EF=BC=8C=E2=80=9C=E6=82=AC=E6=B5=AE?=
=?UTF-8?q?=E6=8C=89=E9=92=AE=E2=80=9D=E9=BB=98=E8=AE=A4=E4=B8=8D=E9=80=89?=
=?UTF-8?q?=E4=B8=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DiyEditor/components/mobile/FloatingActionButton/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/DiyEditor/components/mobile/FloatingActionButton/index.vue b/src/components/DiyEditor/components/mobile/FloatingActionButton/index.vue
index 19e42cb6..c2b99263 100644
--- a/src/components/DiyEditor/components/mobile/FloatingActionButton/index.vue
+++ b/src/components/DiyEditor/components/mobile/FloatingActionButton/index.vue
@@ -44,7 +44,7 @@ defineOptions({ name: 'FloatingActionButton' })
defineProps<{ property: FloatingActionButtonProperty }>()
// 是否展开
-const expanded = ref(true)
+const expanded = ref(false)
// 处理展开/折叠
const handleToggleFab = () => {
expanded.value = !expanded.value
From d5f1e504955bd6e9a52eee7aee545a0acae7fc96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=A2=E8=B6=8A?= <552369664@qq.com>
Date: Sun, 8 Sep 2024 11:15:53 +0800
Subject: [PATCH 47/50] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E5=95=86=E5=9F=8E=EF=BC=9A=E7=A7=92=E6=9D=80?=
=?UTF-8?q?=E8=A3=85=E4=BF=AE=E9=87=8D=E6=9E=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mall/promotion/seckill/seckillActivity.ts | 6 +
.../mobile/PromotionSeckill/config.ts | 42 ++-
.../mobile/PromotionSeckill/index.vue | 256 ++++++++-----
.../mobile/PromotionSeckill/property.vue | 84 ++++-
.../seckill/components/SeckillShowcase.vue | 156 ++++++++
.../seckill/components/SeckillTableSelect.vue | 343 ++++++++++++++++++
6 files changed, 771 insertions(+), 116 deletions(-)
create mode 100644 src/views/mall/promotion/seckill/components/SeckillShowcase.vue
create mode 100644 src/views/mall/promotion/seckill/components/SeckillTableSelect.vue
diff --git a/src/api/mall/promotion/seckill/seckillActivity.ts b/src/api/mall/promotion/seckill/seckillActivity.ts
index 4bb0e8b1..795a25b8 100644
--- a/src/api/mall/promotion/seckill/seckillActivity.ts
+++ b/src/api/mall/promotion/seckill/seckillActivity.ts
@@ -18,6 +18,7 @@ export interface SeckillActivityVO {
singleLimitCount?: number
stock?: number
totalStock?: number
+ seckillPrice?: number
products?: SeckillProductVO[]
}
@@ -43,6 +44,11 @@ export const getSeckillActivityPage = async (params) => {
return await request.get({ url: '/promotion/seckill-activity/page', params })
}
+// 查询拼团活动列表,基于活动编号数组
+export const getSeckillActivityListByIds = (ids: number[]) => {
+ return request.get({ url: `/promotion/seckill-activity/list-by-ids?ids=${ids}` })
+}
+
// 查询秒杀活动详情
export const getSeckillActivity = async (id: number) => {
return await request.get({ url: '/promotion/seckill-activity/get?id=' + id })
diff --git a/src/components/DiyEditor/components/mobile/PromotionSeckill/config.ts b/src/components/DiyEditor/components/mobile/PromotionSeckill/config.ts
index 800398be..022be92c 100644
--- a/src/components/DiyEditor/components/mobile/PromotionSeckill/config.ts
+++ b/src/components/DiyEditor/components/mobile/PromotionSeckill/config.ts
@@ -3,13 +3,21 @@ import { ComponentStyle, DiyComponent } from '@/components/DiyEditor/util'
/** 秒杀属性 */
export interface PromotionSeckillProperty {
// 布局类型:单列 | 三列
- layoutType: 'oneCol' | 'threeCol'
+ layoutType: 'oneColBigImg' | 'oneColSmallImg' | 'twoCol'
// 商品字段
fields: {
// 商品名称
name: PromotionSeckillFieldProperty
+ // 商品简介
+ introduction: PromotionSeckillFieldProperty
// 商品价格
price: PromotionSeckillFieldProperty
+ // 市场价
+ marketPrice: PromotionSeckillFieldProperty
+ // 商品销量
+ salesCount: PromotionSeckillFieldProperty
+ // 商品库存
+ stock: PromotionSeckillFieldProperty
}
// 角标
badge: {
@@ -18,6 +26,19 @@ export interface PromotionSeckillProperty {
// 角标图片
imgUrl: string
}
+ // 按钮
+ btnBuy: {
+ // 类型:文字 | 图片
+ type: 'text' | 'img'
+ // 文字
+ text: string
+ // 文字按钮:背景渐变起始颜色
+ bgBeginColor: string
+ // 文字按钮:背景渐变结束颜色
+ bgEndColor: string
+ // 图片按钮:图片地址
+ imgUrl: string
+ }
// 上圆角
borderRadiusTop: number
// 下圆角
@@ -25,10 +46,11 @@ export interface PromotionSeckillProperty {
// 间距
space: number
// 秒杀活动编号
- activityId: number
+ activityIds: number[]
// 组件样式
style: ComponentStyle
}
+
// 商品字段
export interface PromotionSeckillFieldProperty {
// 是否显示
@@ -43,13 +65,23 @@ export const component = {
name: '秒杀',
icon: 'mdi:calendar-time',
property: {
- activityId: undefined,
- layoutType: 'oneCol',
+ layoutType: 'oneColBigImg',
fields: {
name: { show: true, color: '#000' },
- price: { show: true, color: '#ff3000' }
+ introduction: { show: true, color: '#999' },
+ price: { show: true, color: '#ff3000' },
+ marketPrice: { show: true, color: '#c4c4c4' },
+ salesCount: { show: true, color: '#c4c4c4' },
+ stock: { show: false, color: '#c4c4c4' }
},
badge: { show: false, imgUrl: '' },
+ btnBuy: {
+ type: 'text',
+ text: '立即秒杀',
+ bgBeginColor: '#FF6000',
+ bgEndColor: '#FE832A',
+ imgUrl: ''
+ },
borderRadiusTop: 8,
borderRadiusBottom: 8,
space: 8,
diff --git a/src/components/DiyEditor/components/mobile/PromotionSeckill/index.vue b/src/components/DiyEditor/components/mobile/PromotionSeckill/index.vue
index fe092a03..3d34a3d4 100644
--- a/src/components/DiyEditor/components/mobile/PromotionSeckill/index.vue
+++ b/src/components/DiyEditor/components/mobile/PromotionSeckill/index.vue
@@ -1,135 +1,201 @@
-
-
+
-
+
+
+
+
+
+
+
-
-
+
+
+ {{ spu.introduction }}
+
+
+
+
- {{ spu.name }}
-
-
-
-
- ¥{{ fenToYuan(spu.seckillPrice || spu.price || 0) }}
-
-
+ ¥{{ fenToYuan(spu.price || Infinity) }}
+
+
+
¥{{ fenToYuan(spu.marketPrice) }}
+
+
+
+
+ 已售{{ (spu.salesCount || 0) + (spu.virtualSalesCount || 0) }}件
+
+
+
+ 库存{{ spu.stock || 0 }}
+
+
+
+
+
+ {{ property.btnBuy.text }}
+
+
+
+
-
+
-
-
+
diff --git a/src/components/DiyEditor/components/mobile/PromotionSeckill/property.vue b/src/components/DiyEditor/components/mobile/PromotionSeckill/property.vue
index 306ec9b9..61287590 100644
--- a/src/components/DiyEditor/components/mobile/PromotionSeckill/property.vue
+++ b/src/components/DiyEditor/components/mobile/PromotionSeckill/property.vue
@@ -2,30 +2,31 @@
-
-
-
-
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
@@ -34,12 +35,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -47,10 +72,36 @@
- 建议尺寸:36 * 22
+ 建议尺寸:36 * 22
+
+
+
+ 文字
+ 图片
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 建议尺寸:56 * 56
+
+
+
+
()
const emit = defineEmits(['update:modelValue'])
const { formData } = usePropertyForm(props.modelValue, emit)
// 活动列表
-const activityList = ref([])
+const activityList = ref([])
onMounted(async () => {
const { list } = await SeckillActivityApi.getSeckillActivityPage({
status: CommonStatusEnum.ENABLE
diff --git a/src/views/mall/promotion/seckill/components/SeckillShowcase.vue b/src/views/mall/promotion/seckill/components/SeckillShowcase.vue
new file mode 100644
index 00000000..a924e8ca
--- /dev/null
+++ b/src/views/mall/promotion/seckill/components/SeckillShowcase.vue
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/mall/promotion/seckill/components/SeckillTableSelect.vue b/src/views/mall/promotion/seckill/components/SeckillTableSelect.vue
new file mode 100644
index 00000000..3e4e67e9
--- /dev/null
+++ b/src/views/mall/promotion/seckill/components/SeckillTableSelect.vue
@@ -0,0 +1,343 @@
+
+
+
+
+
From 25dff95fed9ce80684108a02a14be759be7470eb Mon Sep 17 00:00:00 2001
From: preschooler
Date: Sun, 8 Sep 2024 14:26:22 +0800
Subject: [PATCH 48/50] =?UTF-8?q?=F0=9F=90=9E=20fix:=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?=E8=B7=AF=E7=94=B1=E4=BA=8C=E7=BA=A7=E8=B7=AF=E5=BE=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/router/index.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/router/index.ts b/src/router/index.ts
index 8f66ca31..b818421c 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -5,7 +5,7 @@ import remainingRouter from './modules/remaining'
// 创建路由实例
const router = createRouter({
- history: createWebHistory(), // createWebHashHistory URL带#,createWebHistory URL不带#
+ history: createWebHistory(import.meta.env.VITE_BASE_PATH), // createWebHashHistory URL带#,createWebHistory URL不带#
strict: true,
routes: remainingRouter as RouteRecordRaw[],
scrollBehavior: () => ({ left: 0, top: 0 })
From 90656ddb51de48378eca30325bc735c6f6160375 Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Sun, 8 Sep 2024 19:13:32 +0800
Subject: [PATCH 49/50] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91=E5=95=86=E5=9F=8E=EF=BC=9A=E5=BA=97=E9=93=BA?=
=?UTF-8?q?=E8=A3=85=E4=BF=AE=E6=97=B6=EF=BC=8C=E2=80=9C=E6=82=AC=E6=B5=AE?=
=?UTF-8?q?=E6=8C=89=E9=92=AE=E2=80=9D=E9=BB=98=E8=AE=A4=E4=B8=8D=E9=80=89?=
=?UTF-8?q?=E4=B8=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DiyEditor/components/mobile/ProductList/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/DiyEditor/components/mobile/ProductList/index.vue b/src/components/DiyEditor/components/mobile/ProductList/index.vue
index adbd1b67..a51fc076 100644
--- a/src/components/DiyEditor/components/mobile/ProductList/index.vue
+++ b/src/components/DiyEditor/components/mobile/ProductList/index.vue
@@ -65,7 +65,7 @@