夏日,要加油啊 2023-05-22 18:02 采纳率: 0%
浏览 12

电商后台添加规格,sku表的增删改

#项目中遇到一个问题
这是一个电商后台
在新增商品 模块中,有一项功能 添加规格
页面是这样的:
1.上方是对规格和规格项的增删改,
2.下方是根据上方规格项排列组合生成的sku表

img

我现在需要解决的问题是:对规格项进行增删改时,同步改变下方sku库存表,并且不影响原有数据,如果是新增规格项,则排序要与正常排列组合生成的排序一致。
例如原来的规格是这样的:

img

例如 规格是总共有三种:网络类型,机身颜色,存储容量,
其中网络类型仅一项规格项,机身颜色6项,存储容量3项,
排列组合生成的sku库存表就有18组数据,
如果在机身颜色上新添加一个颜色,那怎么才能在sku表的对应颜色的下方都插入新添加的那组数据。
本质是在数组的不同位置插入多行数据

//规格列表
let typeList=[
    {
        "id": "305",
        "name": "网络类型",
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "data": [
            {
                "color": "4G全网通"
            }
        ]
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "name": "机身颜色",
        "data": [
            {
                "color": "亮黑色"
            },
            {
                "color": "珠光贝母",
                "pic": ""
            },
            {
                "color": "极光色",
                "pic": ""
            },
            {
                "color": "天空之境",
                "pic": ""
            },
            {
                "color": "赤茶橘",
                "pic": ""
            },
            {
                "color": "天空之境·限量版",
                "pic": ""
            }
        ],
        "isAdd": true
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "name": "存储容量",
        "data": [
            {
                "color": "8+128GB"
            },
            {
                "color": "8+256GB",
                "pic": ""
            },
            {
                "color": "8+512GB",
                "pic": ""
            }
        ],
        "isAdd": true
    }
] 
//sku列表
let ZSpecification = [
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,亮黑色,8+128GB",
        "type0": "4G全网通",
        "type1": "亮黑色",
        "type2": "8+128GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,亮黑色,8+256GB",
        "type0": "4G全网通",
        "type1": "亮黑色",
        "type2": "8+256GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,亮黑色,8+512GB",
        "type0": "4G全网通",
        "type1": "亮黑色",
        "type2": "8+512GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,珠光贝母,8+128GB",
        "type0": "4G全网通",
        "type1": "珠光贝母",
        "type2": "8+128GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,珠光贝母,8+256GB",
        "type0": "4G全网通",
        "type1": "珠光贝母",
        "type2": "8+256GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,珠光贝母,8+512GB",
        "type0": "4G全网通",
        "type1": "珠光贝母",
        "type2": "8+512GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,极光色,8+128GB",
        "type0": "4G全网通",
        "type1": "极光色",
        "type2": "8+128GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,极光色,8+256GB",
        "type0": "4G全网通",
        "type1": "极光色",
        "type2": "8+256GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,极光色,8+512GB",
        "type0": "4G全网通",
        "type1": "极光色",
        "type2": "8+512GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,天空之境,8+128GB",
        "type0": "4G全网通",
        "type1": "天空之境",
        "type2": "8+128GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,天空之境,8+256GB",
        "type0": "4G全网通",
        "type1": "天空之境",
        "type2": "8+256GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,天空之境,8+512GB",
        "type0": "4G全网通",
        "type1": "天空之境",
        "type2": "8+512GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,赤茶橘,8+128GB",
        "type0": "4G全网通",
        "type1": "赤茶橘",
        "type2": "8+128GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,赤茶橘,8+256GB",
        "type0": "4G全网通",
        "type1": "赤茶橘",
        "type2": "8+256GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,赤茶橘,8+512GB",
        "type0": "4G全网通",
        "type1": "赤茶橘",
        "type2": "8+512GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,天空之境·限量版,8+128GB",
        "type0": "4G全网通",
        "type1": "天空之境·限量版",
        "type2": "8+128GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,天空之境·限量版,8+256GB",
        "type0": "4G全网通",
        "type1": "天空之境·限量版",
        "type2": "8+256GB"
    },
    {
        "productId": "ca4773696f70461285ec52af81ba75f9",
        "typeClassify": "4G全网通,天空之境·限量版,8+512GB",
        "type0": "4G全网通",
        "type1": "天空之境·限量版",
        "type2": "8+512GB"
    }
]
  • 写回答

1条回答 默认 最新

  • Soulic 2023-05-23 07:20
    关注

    从JSON数据看,使用穷举法既遍历typeList,使用对应的color值和ZSpecification中的对比,没有的就加一条记录

    评论

报告相同问题?

问题事件

  • 创建了问题 5月22日

悬赏问题

  • ¥30 计算机硬件实验报告寻代
  • ¥15 51单片机写代码,要求是图片上的要求,请大家积极参与,设计一个时钟,时间从12:00开始计时,液晶屏第一行显示time,第二行显示时间
  • ¥15 用C语言判断命题逻辑关系
  • ¥15 原子操作+O3编译,程序挂住
  • ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
  • ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?
  • ¥15 AD9910输出波形向上偏移,波谷不为0V
  • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘
  • ¥15 抖音直播广场scheme