电商系统 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)
                });
            });
                    
                
                
            
        
浙公网安备 33010602011771号