promate_pop.js 4.04 KB
const ut = require("../../utils/util.js");
Component({
  /*** 页面的初始数据***/
  data: {
	  type:0,     //0只显示再商品详情页面   1显示再有选择按钮
	  pro_pop:0,  //是否弹出
	  cx_prom_group:[], //弹出框的内容展示
	  is_cart:0
  },
  methods: {
	  //-- 初始化弹出框 --
	  set_init(type,cx_prom_group0,is_cart){

		 var cx_prom_group=JSON.parse(JSON.stringify(cx_prom_group0));
		 if(!type) type=0;
		 if(!is_cart) is_cart=0;

		 var fd=cx_prom_group.findIndex(function (gh){
			 return gh.sele
		 })
		 if(fd==-1){
			 cx_prom_group[0].sele=1;
		 }

		 //-- 优惠促销要重新组装 --
		 var yh_index=cx_prom_group.findIndex(function (p_time){
			  return p_time.prom_type==3;
		 })
		 if(yh_index>-1){
             var prom_list=cx_prom_group[yh_index].promGoodsListsDtos;
			 //规格参数
		 	 cx_prom_group[yh_index].more=ut.format_yh_act(prom_list[0]);
			 cx_prom_group[yh_index].yh_index=0;  //优惠阶梯


			 if(prom_list.length){
				 for(var i=1;i<prom_list.length;i++){
					 var copy_obj=JSON.parse(JSON.stringify(cx_prom_group[yh_index]));
					 delete copy_obj.promGoodsListsDtos
					 copy_obj.more=ut.format_yh_act(prom_list[i]);
					 copy_obj.is_no_sele=1;
					 copy_obj.condition=prom_list[i].condition + (prom_list[i].prom_type == 1 ? '件' : '元'),
					 copy_obj.yh_index=i;  //优惠阶梯
					 cx_prom_group.splice(yh_index+i,0,copy_obj);
				 }
			 }

		 }

         this.setData({
			 type:type,pro_pop:1,cx_prom_group,is_cart:is_cart
		 })
	  },

	  /*----pop的开关,如果按钮是‘确定’,就要返回参数给父层组件---*/
	  close_pro_pop: async function (e) {
		  this.setData({pro_pop: 0});
		  if(!this.data.type) return false;
		  var obj=this.data.cx_prom_group.find(function (e){
			  return e.sele==1;
		  })
		  this.triggerEvent('sure_cx_group',{sele_prom_type:obj.prom_type},{bubbles: true});
	  },

	  go_the_url:function (e){
		  var index=e.currentTarget.dataset.index;
		  var item=this.data.cx_prom_group[index];

		  var prom_id = item.prom_id;
		  if(!prom_id) prom_id=item.id;


		  var prom_type = item.prom_type;
		  var url='';
		  switch (parseInt(prom_type)){
			  case 3:
				  url = "/pages/goods/goodsList/goodsList?prom_type=3&prom_id=" + prom_id;
				  break;
			  case 5:
				  url = "/packageA/pages/prom_list/prom_list?goods_id=" + item.main_gid;
				  var room_id = getApp().globalData.room_id;
				  if (room_id && this.data.gid == getApp().globalData.room_goods_id) {
					  url += "&room_id=" + room_id;
				  }
				  break;
			  case 7:
				  url="/packageB/pages/zuhegou/index/index?id=" + prom_id
				  break;
			  case 10:
				  url="/pages/goods/goodsList/goodsList?ladder_id=" + prom_id;
				  break;
		  }
		  getApp().goto(url);
	  },

	  //-- 选择活动 --
	  sele_act:function (e){
		  var index=e.currentTarget.dataset.index;
		  var cx_prom_group=this.data.cx_prom_group;
		  for (var idx=0;idx<cx_prom_group.length;idx++){
              if(idx!=index) cx_prom_group[idx].sele=0;
			  else cx_prom_group[idx].sele=1;
		  }
		  this.setData({cx_prom_group})
	  },

	  // 促销 -> 送礼包 -> 查看详情
	  viewLbDetails(e) {
		  let id = e.currentTarget.dataset.id; // 获取礼包id
		  let flag = e.currentTarget.dataset.flag;
		  let url = '';
		  if (flag == 2) { // flag =1 控制跳转到专享礼包
			  url = `/packageE/pages/user/monthgiftbag/giftpackinfo/giftpackinfo?isBuy=1&id=${id}&is_act=1`;
			  // url = `/pages/giftpack/giftpacklist/giftpacklist?lbId=${id}&flag=1`;
		  } else if (flag == 1) { // flag =1 控制跳转到专享礼包
			  url = `/pages/giftpack/giftpacklist/giftpacklist?lbId=${id}&flag=1`;
		  } else {
			  url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮
		  };
		  // console.log('myurl', url);
		  getApp().goto(url);
	  },

	  //显示多赠品
	  show_zp: function (e) {
		  var prom_id = e.currentTarget.dataset.prom;
		  var index = e.currentTarget.dataset.index;
		  getApp().goto("/packageD/pages/gift/gift?prom_id=" + prom_id + "&index=" + index);
	  },


  }
})