From 7c43b4d6b8f95d04a237e0df89fb111dffdd474c Mon Sep 17 00:00:00 2001 From: wangxiaowei <1121133807@qq.com> Date: Wed, 4 Jun 2025 18:04:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84sku?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/goods.ts | 23 + src/utils/util.ts | 18 +- src/views/goods/components/SkuForm.vue | 794 ------------------------- src/views/goods/components/index.js | 25 - src/views/goods/components/sku.vue | 628 ++++++++++--------- src/views/goods/components/type.d.ts | 39 -- src/views/goods/edit copy.vue | 591 ------------------ src/views/goods/edit.vue | 562 +++-------------- src/views/goods/goods.vue | 178 ------ src/views/goods/power-set.js | 28 - src/views/goods/sku.vue | 240 -------- 11 files changed, 474 insertions(+), 2652 deletions(-) delete mode 100644 src/views/goods/components/SkuForm.vue delete mode 100644 src/views/goods/components/index.js delete mode 100644 src/views/goods/components/type.d.ts delete mode 100644 src/views/goods/edit copy.vue delete mode 100644 src/views/goods/goods.vue delete mode 100644 src/views/goods/power-set.js delete mode 100644 src/views/goods/sku.vue diff --git a/src/api/goods.ts b/src/api/goods.ts index 1c00a4a..60f9dfe 100644 --- a/src/api/goods.ts +++ b/src/api/goods.ts @@ -34,3 +34,26 @@ export function checkCategory() { export function uploadImage(params: any) { return request.post({ url: '/upload/image', params }) } + +export type SkuNameValue = { + value: string + image: string +} +export type SkuNameList = { + name: string + value: SkuNameValue[] + has_image?: number +} +export type SkuItemList = { + id?: number | string + ids?: number[] + image?: string + sku_value_arr: string[] + price: string + line_price: string + market_price: string + stock: number + weight: number + volume: string + code: string +} \ No newline at end of file diff --git a/src/utils/util.ts b/src/utils/util.ts index 8039c34..b6846a9 100644 --- a/src/utils/util.ts +++ b/src/utils/util.ts @@ -19,6 +19,18 @@ export const isEmpty = (value: unknown) => { return value == null && typeof value == 'undefined' } +/** + * @description 数组扁平化 + * @param arr { Array } 扁平化对象 + * @return { Array } 扁平化后的数组 + */ +export const flatten = (arr: any[]): any[] => { + return arr.reduce((result, item) => { + return result.concat(Array.isArray(item) ? flatten(item) : item) + }, []) +} + + /** * @description 树转数组,队列实现广度优先遍历 * @param {Array} data 数据 @@ -185,9 +197,9 @@ export const calcColor = (color: string, opacity: number): string => { const fullHex = hex.length === 3 ? hex - .split('') - .map((h) => h + h) - .join('') + .split('') + .map((h) => h + h) + .join('') : hex // 转换为 RGB diff --git a/src/views/goods/components/SkuForm.vue b/src/views/goods/components/SkuForm.vue deleted file mode 100644 index 337536b..0000000 --- a/src/views/goods/components/SkuForm.vue +++ /dev/null @@ -1,794 +0,0 @@ - - - - - diff --git a/src/views/goods/components/index.js b/src/views/goods/components/index.js deleted file mode 100644 index db3bc34..0000000 --- a/src/views/goods/components/index.js +++ /dev/null @@ -1,25 +0,0 @@ -import SkuForm from './SkuForm.vue' - -// 版本信息 -const version = '1.0.0' - -// 组件安装函数 -const install = (app) => { - app.component('SkuForm', SkuForm) -} - -// 组件库对象 -const SkuFormLib = { - version, - install, - SkuForm -} - -// Vue插件安装函数 -SkuForm.install = app => { - app.component('SkuForm', SkuForm) -} - -// 导出方式支持 ES Module、CommonJS 和全局变量 -export { version, SkuForm } -export default SkuFormLib diff --git a/src/views/goods/components/sku.vue b/src/views/goods/components/sku.vue index 5c64540..5451989 100644 --- a/src/views/goods/components/sku.vue +++ b/src/views/goods/components/sku.vue @@ -1,307 +1,371 @@