From ae0f3d39a21cfed280a9ec3a4fc97fa83bd63ed4 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Wed, 22 Oct 2025 16:27:57 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90mall=20=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E3=80=91promotion=20=E5=85=AC=E5=85=B1=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E3=80=90antd=E3=80=91100%:=20=E8=BF=81=E7=A7=BB=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/mall/promotion/components/index.ts | 5 + .../promotion/components/spu-and-sku-list.vue | 243 +++++++++++++ .../promotion/components/spu-sku-select.vue | 341 ++++++++++++++++++ .../views/mall/promotion/components/types.ts | 15 + 4 files changed, 604 insertions(+) create mode 100644 apps/web-antd/src/views/mall/promotion/components/index.ts create mode 100644 apps/web-antd/src/views/mall/promotion/components/spu-and-sku-list.vue create mode 100644 apps/web-antd/src/views/mall/promotion/components/spu-sku-select.vue create mode 100644 apps/web-antd/src/views/mall/promotion/components/types.ts diff --git a/apps/web-antd/src/views/mall/promotion/components/index.ts b/apps/web-antd/src/views/mall/promotion/components/index.ts new file mode 100644 index 000000000..dd1f9d3c8 --- /dev/null +++ b/apps/web-antd/src/views/mall/promotion/components/index.ts @@ -0,0 +1,5 @@ +export { default as SpuAndSkuList } from './spu-and-sku-list.vue'; +export { default as SpuSkuSelect } from './spu-sku-select.vue'; + +export type * from './types'; + diff --git a/apps/web-antd/src/views/mall/promotion/components/spu-and-sku-list.vue b/apps/web-antd/src/views/mall/promotion/components/spu-and-sku-list.vue new file mode 100644 index 000000000..1011e52bc --- /dev/null +++ b/apps/web-antd/src/views/mall/promotion/components/spu-and-sku-list.vue @@ -0,0 +1,243 @@ + + + + diff --git a/apps/web-antd/src/views/mall/promotion/components/spu-sku-select.vue b/apps/web-antd/src/views/mall/promotion/components/spu-sku-select.vue new file mode 100644 index 000000000..2b77a3bf8 --- /dev/null +++ b/apps/web-antd/src/views/mall/promotion/components/spu-sku-select.vue @@ -0,0 +1,341 @@ + + + + diff --git a/apps/web-antd/src/views/mall/promotion/components/types.ts b/apps/web-antd/src/views/mall/promotion/components/types.ts new file mode 100644 index 000000000..649c46717 --- /dev/null +++ b/apps/web-antd/src/views/mall/promotion/components/types.ts @@ -0,0 +1,15 @@ +import type { PropertyAndValues } from '#/views/mall/product/spu/form'; + +/** + * SPU 属性配置 + * 用于活动商品选择中,关联 SPU 和其属性列表 + */ +export interface SpuProperty { + /** SPU ID */ + spuId: number; + /** SPU 详情 */ + spuDetail: T; + /** 属性列表 */ + propertyList: PropertyAndValues[]; +} +