电商系统 SKU 设计和优化

原文:
https://gitee.com/macrozheng/mall
https://gitee.com/macrozheng/mall-admin-web
https://gitee.com/macrozheng/mall-admin-web/blob/master/src/views/pms/product/components/ProductAttrDetail.vue
http://www.macrozheng.com/admin/index.html#/pms/addProduct
https://www.cnblogs.com/shensss/p/12989084.html

前言

初步优化
代码比较乱

效果



核心代码

 this.value.skuStockList = [];
            let skuList = this.value.skuStockList;
            console.log('sku 规格 选中数据 打印------------------------');
            console.log(this.selectProductAttr);


            // 自定义数据格式
            let skuChecked = [];// 选中的sku
            this.productAttrTableColumn = [];// 商品规格 table列

            this.selectProductAttr.forEach((item, index, array) => {
                if (item.values.length > 0) {
                    this.productAttrTableColumn.push(item);

                    var arrTemp = [];
                    item.values.forEach((item2, index2, array2) => {
                        arrTemp.push({
                            key: item.name,
                            value: item2
                        });
                    });
                    skuChecked.push(arrTemp);
                }                
            });
            console.log('自定义数据格式--------------')
            console.log(skuChecked);

            // 生成sku组合
            var cartesianProductOf = function () {// 原文:https://www.cnblogs.com/shensss/p/12989084.html                
                return Array.prototype.reduce.call(arguments, function (a, b) {
                    var ret = [];
                    a.forEach(function (a) {
                        b.forEach(function (b) {
                            ret.push(a.concat([b]));
                        });
                    });
                    return ret;
                }, [[]]);
            }
            let allSkuArr = cartesianProductOf(...skuChecked)
            console.log('所有的sku组合--------------')
            console.log(allSkuArr)

            // 添加到 商品sku库存信息
            allSkuArr.forEach((item, index, array) => {
                skuList.push({
                    spData: JSON.stringify(item)
                });
            });

原文地址:https://www.cnblogs.com/guxingy/p/14169115.html