From ab54628f79746311c4ebba8f3688a728a09a56a0 Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Thu, 9 Oct 2025 17:51:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ele=20spu=20form=20=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/mall/product/spu/components/data.ts | 43 -- .../product/spu/components/delivery-form.vue | 86 --- .../spu/components/description-form.vue | 67 --- .../mall/product/spu/components/info-form.vue | 140 ----- .../mall/product/spu/components/model.d.ts | 25 - .../product/spu/components/other-form.vue | 87 --- .../spu/components/product-attributes.vue | 200 ------- .../components/product-property-add-form.vue | 133 ----- .../mall/product/spu/components/sku-form.vue | 248 -------- .../mall/product/spu/components/sku-list.vue | 533 ------------------ .../product/spu/components/spu-showcase.vue | 166 ------ .../spu/components/spu-table-select.vue | 359 ------------ 12 files changed, 2087 deletions(-) delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/data.ts delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/delivery-form.vue delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/description-form.vue delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/info-form.vue delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/model.d.ts delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/other-form.vue delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/product-attributes.vue delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/product-property-add-form.vue delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/sku-form.vue delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/sku-list.vue delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/spu-showcase.vue delete mode 100644 apps/web-ele/src/views/mall/product/spu/components/spu-table-select.vue diff --git a/apps/web-ele/src/views/mall/product/spu/components/data.ts b/apps/web-ele/src/views/mall/product/spu/components/data.ts deleted file mode 100644 index ded4e7666..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/data.ts +++ /dev/null @@ -1,43 +0,0 @@ -import type { PropertyAndValues } from './model'; - -import type { MallSpuApi } from '#/api/mall/product/spu'; - -/** - * 获得商品的规格列表 - 商品相关的公共函数 - * - * @param spu - * @return PropertyAndValues 规格列表 - */ -const getPropertyList = (spu: MallSpuApi.Spu): PropertyAndValues[] => { - // 直接拿返回的 skus 属性逆向生成出 propertyList - const properties: PropertyAndValues[] = []; - // 只有是多规格才处理 - if (spu.specType) { - spu.skus?.forEach((sku) => { - sku.properties?.forEach( - ({ propertyId, propertyName, valueId, valueName }) => { - // 添加属性 - if (!properties?.some((item) => item.id === propertyId)) { - properties.push({ - id: propertyId!, - name: propertyName!, - values: [], - }); - } - // 添加属性值 - const index = properties?.findIndex((item) => item.id === propertyId); - if ( - index !== undefined && - index >= 0 && - !properties[index]!.values?.some((value) => value.id === valueId) - ) { - properties[index]!.values?.push({ id: valueId!, name: valueName! }); - } - }, - ); - }); - } - return properties; -}; - -export { getPropertyList }; diff --git a/apps/web-ele/src/views/mall/product/spu/components/delivery-form.vue b/apps/web-ele/src/views/mall/product/spu/components/delivery-form.vue deleted file mode 100644 index 208a67304..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/delivery-form.vue +++ /dev/null @@ -1,86 +0,0 @@ - - diff --git a/apps/web-ele/src/views/mall/product/spu/components/description-form.vue b/apps/web-ele/src/views/mall/product/spu/components/description-form.vue deleted file mode 100644 index 139b8ead6..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/description-form.vue +++ /dev/null @@ -1,67 +0,0 @@ - - diff --git a/apps/web-ele/src/views/mall/product/spu/components/info-form.vue b/apps/web-ele/src/views/mall/product/spu/components/info-form.vue deleted file mode 100644 index 95d9cd413..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/info-form.vue +++ /dev/null @@ -1,140 +0,0 @@ - - diff --git a/apps/web-ele/src/views/mall/product/spu/components/model.d.ts b/apps/web-ele/src/views/mall/product/spu/components/model.d.ts deleted file mode 100644 index cc0ac0541..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/model.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -interface PropertyAndValues { - id: number; - name: string; - values?: PropertyAndValues[]; -} - -interface RuleConfig { - // 需要校验的字段 - // 例:name: 'name' 则表示校验 sku.name 的值 - // 例:name: 'productConfig.stock' 则表示校验 sku.productConfig.name 的值,此处 productConfig 表示我在 Sku 上扩展的属性 - name: string; - // 校验规格为一个毁掉函数,其中 arg 为需要校验的字段的值。 - // 例:需要校验价格必须大于0.01 - // { - // name:'price', - // rule:(arg: number) => arg > 0.01 - // } - rule: (arg: any) => boolean; - // 校验不通过时的消息提示 - message: string; -} - -export { getPropertyList, PropertyAndValues, RuleConfig }; - -export { default as SkuList } from './SkuList.vue'; diff --git a/apps/web-ele/src/views/mall/product/spu/components/other-form.vue b/apps/web-ele/src/views/mall/product/spu/components/other-form.vue deleted file mode 100644 index 02c4c6301..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/other-form.vue +++ /dev/null @@ -1,87 +0,0 @@ - - diff --git a/apps/web-ele/src/views/mall/product/spu/components/product-attributes.vue b/apps/web-ele/src/views/mall/product/spu/components/product-attributes.vue deleted file mode 100644 index 135fd5f43..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/product-attributes.vue +++ /dev/null @@ -1,200 +0,0 @@ - - - - diff --git a/apps/web-ele/src/views/mall/product/spu/components/product-property-add-form.vue b/apps/web-ele/src/views/mall/product/spu/components/product-property-add-form.vue deleted file mode 100644 index 48189d5c3..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/product-property-add-form.vue +++ /dev/null @@ -1,133 +0,0 @@ - - - diff --git a/apps/web-ele/src/views/mall/product/spu/components/sku-form.vue b/apps/web-ele/src/views/mall/product/spu/components/sku-form.vue deleted file mode 100644 index d1ef88718..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/sku-form.vue +++ /dev/null @@ -1,248 +0,0 @@ - - diff --git a/apps/web-ele/src/views/mall/product/spu/components/sku-list.vue b/apps/web-ele/src/views/mall/product/spu/components/sku-list.vue deleted file mode 100644 index 49f788027..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/sku-list.vue +++ /dev/null @@ -1,533 +0,0 @@ - - diff --git a/apps/web-ele/src/views/mall/product/spu/components/spu-showcase.vue b/apps/web-ele/src/views/mall/product/spu/components/spu-showcase.vue deleted file mode 100644 index 661136a51..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/spu-showcase.vue +++ /dev/null @@ -1,166 +0,0 @@ - - - - diff --git a/apps/web-ele/src/views/mall/product/spu/components/spu-table-select.vue b/apps/web-ele/src/views/mall/product/spu/components/spu-table-select.vue deleted file mode 100644 index 960302c1e..000000000 --- a/apps/web-ele/src/views/mall/product/spu/components/spu-table-select.vue +++ /dev/null @@ -1,359 +0,0 @@ - - -