12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /**
- * @params sumary Map() 所有数据的集合
- * @params bundling Map() 套装数据的集合
- * @params goods_list 需要遍历的数据 array, 每个item是object, goods_id, goods_num, bl_id // bl_id > 0,查bundling 反之goods_id查sumary
- */
- // bl_id: 12, bl_name: "222", bl_price: 122, goods: Array(4), goods_num: 3 有套餐返回的数据样式, 渲染时判断bl_id 再循环goods即可。。。 goods_num通用
- // goods_id: 4807, goods_num: 1, bl_id: 0, goods_summary{} 无套餐返回的数据样式, 渲染时取goods_summary数据即可
-
- export default class Bundle {
- constructor(goods_list,sumary,bundling) {
- this.goods_list = goods_list
- this.sumary = sumary
- this.bundling = bundling
- // this.createOrders()
- }
- createOrders() {
- let arr = []
- this.goods_list.map(item => {
- if(item['bl_id'] > 0) {
- // 有套餐, 生成套餐数据
- let data = this.createBuildings(item)
- data = Object.assign({}, item, data)
- // data['goods_num'] = item['goods_num']
- let totalPrice = 0;
- data['goods'].map(value => {
- value['goods_summary'] = this.sumary.get(value['goods_id'])
- totalPrice += parseFloat(value['goods_summary']['goods_price'])
- })
- data['totalPrice'] = totalPrice
- arr.push(data)
- }
- else {
- let defaultData = this.createDefault(item)
- item['goods_summary'] = defaultData
- arr.push(item)
- }
- })
- return arr
- }
- createBuildings(item) {
- return this.bundling.get(item['bl_id'])
- }
- createDefault(item) {
- return this.sumary.get(item['goods_id'])
- }
- }
|