电商项目中的SKU设计,前端后端数据逻辑

电商商品中常常能看到

其中,Color, 与Size,就是所谓的商品属性; 

1.数据库如何设计

(1)商品表:goods

         这个表很简单,根据需求来设计

(2)规格表:goods_attr

 

(3)规格属性:goods_attr_vals

(4)商品SKU:goods_sku

到这里数据库,基本上设计完了

2.给前端接口中的数据结构

我的做法是后端处理好结构返回数据

(1)商品信息:info

 

(2)商品属性:attr

(3)商品SKU:sku

 (4)有效属性:tags

 

解释:

info,商品信息,就没什么要求,反正需要显示的。

attr,是商品的规格,用来循环属性名称,以及属性下的子属性值,id 与 SKU中的 “k1_4_9”关联

tags,作用是,从goods_sku中的 attr_group分解读出。id与id之间的关联。(就类似,选中白色,S,和8G 的id 就会有关联),这个方便前端点击规格后,那些关联规格高亮(就是有效)

sku,最后通过选择每个属性中的一个具体子属性值,selected = {0:1,1:4,2:9}(这是前端选择属性时,组成的一个当前选中属性值对象。序号0,1,2代表3个规格attr的序号,1,4,9,代表选中对应的id),最后通过组成 "k1_4_9"。可在sku中找到对应sku数据。

3.前端如何处理多个规格中,点击其中一个,其余高亮

我的思路是,一个商品,goods_attr_vals属性值是以id做主键,所以必然不会重复。

tags数据结构,当选中1时,所有子属性值中,id = “1,4,9”高亮。

当选中,4时[1,2,4,9,10],与[1,4,9]取交集,结果是[1,4,9]。依次类推。便可得出。

其中没有说到的,

每次点击时,根据 selected 来值来判断,初始selected = {},当选中某个规格时,selected = {0:1} 或者 selected = {1:4}。

然后循环selected 来查看tags 中 对应的数组值,将其进行取交集便可得出

代码:

    /**
     * 选中规格
     */  
     onAttr(i, k) {
      if (this.selected[i] === k) {
        delete this.selected[i];
      } else {
        this.selected[i] = this.attr[i][k].id;
      }
   /**
     * 判断交集规格
     */
    hasAttr() {
      let temp = [];
      const arr = this.tags;
      for (let i in this.selected) {
        const id = this.selected[i];
        if(temp.length == 0){
          temp = [].concat(arr[id]);
        }else{
          temp = temp.filter((item) => arr[id].indexOf(item) > -1);
        }
      }
      return temp;
    },

 

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: ERP品管理SKU表结构的设计应考虑到品属性、属性值、库存以及价格等因素。 首先,SKU表需包含品基本信息,如品ID、品名称、品描述等。同时,每个SKU可以对应多种品属性,因此还需添加属性表和属性值表。属性表可以包括属性ID、属性名称等字段,属性值表可以包括属性值ID、属性值名称以及对应的属性ID等字段,以方便SKU与属性的关联。 其次,SKU表还需考虑库存管理。可以在SKU添加库存字段,记录当前SKU的库存数量。此外,还可添加预警字段,当库存数量低于设定值时,可以通过预警系统提醒相关人员及时补充库存。 此外,价格管理也是SKU表的重要一部分。可以在SKU添加价格字段,记录当前SKU的价格。如果存在活动价和原价区分,可以添加活动价字段和原价字段,以便进行价格展示和计算。 在设计SKU表结构时,还需考虑到品与SKU的关系。一个品可以对应多个SKU,而一个SKU只能对应一个品。因此可以在SKU添加品ID字段,将SKU品进行关联。 总之,ERP品管理SKU表结构的设计应当综合考虑品属性、属性值、库存以及价格等因素,以便实现品属性管理、库存管理和价格管理等功能。 ### 回答2: ERP品管理SKU(Stock Keeping Unit)表结构的设计应考虑以下几个方面: 1. 品基本信息:包括品ID、品名称、品描述等字段,用于唯一标识品和展示品基本信息。 2. SKU属性信息:不同SKU可能存在不同的属性,如颜色、尺寸、款式等,可以通过添加属性字段来描述SKU的不同属性。 3. SKU库存信息:包括SKU的库存数量、可售数量等字段,用于实时更新和管理SKU的库存情况。 4. SKU价格信息:包括单价、折扣、促销价等字段,用于管理SKU的定价和促销活动。 5. SKU销售属性:对于存在销售属性的SKU,如鞋子的尺码、颜色等,可以通过添加销售属性字段来记录每个SKU的销售属性组合,方便在下单时进行选择。 6. SKU关联品信息:对于有关联关系的品,如套装、推荐组合等,可以通过添加关联品字段来建立SKU与其他品的关联关系。 7. SKU图片信息:每个SKU可能有不同的展示图片,可以通过添加图片字段来关联SKU对应的图片信息,方便展示和管理。 8. SKU状态信息:记录SKU的状态,如上架、下架、缺货、预售等,方便管理SKU的上下架和库存状态。 综上所述,ERP品管理SKU表结构的设计应综合考虑品基本信息、SKU属性、库存信息、价格信息、销售属性、关联品、图片和状态等多个方面,以便有效管理和展示SKU的信息。 ### 回答3: ERP品管理SKU表的设计需要考虑到以下几个方面。 首先,SKU是指库存单位,它应该包括品的唯一识别码以及与该品相关的属性信息,以便于与品进行关联。因此,SKU表应该包含一列用来存储品的唯一识别码,比如品编号或条形码。此外,还可以添加其他列来存储品的属性信息,例如颜色、尺码、款式等。 其次,SKU表的结构应该考虑到品的多样性和组合性。同一款品可能有多个SKU,每个SKU对应于不同的属性组合。因此,可以使用多列来存储不同的属性信息,然后使用这些列的组合作为SKU的唯一识别码。例如,如果品具有颜色和尺码两个属性,则可以添加两列分别存储颜色和尺码的信息。 此外,SKU表还应该包含与库存相关的字段。例如,可以添加一列来存储该SKU对应的库存数量,以便实时跟踪品的库存情况。还可以添加一列来存储该SKU对应的价格信息,以便查询和更新品的价格。 最后,SKU表的设计还应该考虑到性能和扩展性的需求。如果SKU表的数据量较大,可以考虑使用索引来优化查询性能。另外,可以添加其他辅助表或字段来存储与SKU相关的数据,如销售记录、供应信息等,以便于扩展和管理。 综上所述,ERP品管理SKU表的设计应该综合考虑品属性、库存信息、性能需求和扩展性,以便于准确、高效地管理和查询品信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值