diy_pingd_buy.js 6.54 KB

var t = getApp(),
    a = t.request,
    o = t.globalData.setting,
    os = o,
    i = require("../../utils/util.js"),
    ut = i,
    s = require("../../utils/common.js");
var regeneratorRuntime = require('../../utils/runtime.js');

Component({
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
    object: {
      type: Object,
      value: null,
    },
    goods_array: {
      type: Array,
      value: []
    },
    newTime: {
      type: Number,
      value: 0
    },
  },
  data: {
    // 这里是一些组件内部数据
    yc: false,
    someData: null,
    ylp_img: "https://mshopimg.yolipai.net/",
    timer: null,
    iurl:o.imghost,
  },
  
  pageLifetimes:{
    //要处理一下,游客登录后的界面的变化,主要还该是改变会员
    show: function () {
  		var th=this;
  		if(this.data.goods_array.length>0){
  			th.data.timer = setInterval(function() {
  			  th.countDown2(th);
  			}, 1000);
  		}
  	},
      
    hide:function () {
        // 页面被被销毁的时候,清除定时器
        clearInterval(this.data.timer);
    }  
  },	

  ready: function() {
    console.log("ready");
    var g_id = this.data.object.data;
    var data_type = this.data.object.data_type;
    console.log(g_id);
    if(data_type!=2){
        g_id=null;
    }
    this.init(g_id);
  },
  detached() {
    // 页面被被销毁的时候,清除定时器
    clearInterval(this.data.timer);
  },
  methods: {
    // 这里是一个自定义方法
    customMethod: function() {},
    init: function(g_id) {

        var th = this;
        getApp().getConfig2(function (e) {
            var swithc_list = e.switch_list;
            var sw_arr = JSON.parse(swithc_list);

            if(sw_arr.is_retail_price){
                th.setData({is_retail_price:1});
            }
        })





       var  app = getApp(), all_array = [],
         index = 0,
         goodsidlist="",new_idlist="";
		 
		 //-- 当是默认的调用的时候 --		 
		 if(!g_id || g_id.length<=0 ){
			 th.no_gid_set();
		 }else{ 
			  //--先把商品ID串起来--
			  g_id.forEach(function(val, ind) {
          var item = {};
          goodsidlist+=val.goodsid+",";
          if (val.idlist) {            
            new_idlist += val.idlist + ",";
          }
        // new_idlist += val.idlist + ",";
			  })
        goodsidlist= goodsidlist.substr(0,goodsidlist.length-1);
        if (new_idlist) {      
          new_idlist= new_idlist.substr(0,new_idlist.length-1);
        }
 
     
        let url=""
        if (new_idlist) {
           url="/api/weshop/teamlist/getGoodsList?store_id=" +os.stoid+"&isnew=1&idlist="+new_idlist
        }else{
           url="/api/weshop/teamlist/getGoodsList?store_id=" +os.stoid+"&goodsidlist="+goodsidlist
        }

			  //--调用接口,读取拼单--
			  app.request.promiseGet(url, {}).then(res => {
				  //如果拼单的数组为空的时候
				  var goodslist=res.data.data;
				  if(goodslist && goodslist.length>0){
					  th.set_goods_list(g_id,goodslist);  
				  }
				
			  });
	  }
    },
		
	no_gid_set(){
		var th=this;
		var url= "/api/weshop/teamlist/pageteam/2?page=1&pageSize=9";
		getApp().request.promiseGet(url, {
		  data: {
        store_id: 
        os.stoid,
        is_end: 0,
        is_show: 1,	  
        user_id: getApp().globalData.user_id,
		  }
		}).then(res => {
		   if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){
				var goodslist=res.data.data.pageData;
				th.set_goods_list(null,goodslist);
		   } 
		})
	},
    
	//设置商品列表
	set_goods_list:function(g_id,goodslist){
		var th=this,all_array=[];
		if(g_id){
			/*--商品队列按照添加的顺序排列--*/
		
			  goodslist.forEach(function (vy,indy) {
				   all_array.push(vy);
				   //th.setData({goods_array:arr});
			  })
			
		}else{
			all_array=goodslist;
		}
				
		if(all_array.length==0){
		  all_array=goodslist;
		}
		
		var arr = new Array();
		//--三个三个一组---
		for(var i=0;i< all_array.length;i+=3){
		  arr.push(all_array.slice(i,i+3));
    }
		/*--熏染到前台--*/
		th.setData({goods_array:arr});
		  var newTime = ut.gettimestamp();
		  th.setData({ newTime: newTime });
		
		th.data.timer = setInterval(function() {
		  th.countDown2(th);
		}, 1000);
	},
	
	//---小于10的格式化函数----
    timeFormat: function(param) {
      return param < 10 ? '0' + param : param;
    },
    //----拼单倒计时函数-----
    countDown2: function(ob) {
      if (ob == undefined) return false;
      var ee = ob;
      // 获取当前时间,同时得到活动结束时间数组
      var newTime = ut.gettimestamp();
	  this.setData({newTime:newTime});
	  
      var List = ee.data.goods_array;
      if (List.length == 0) return false;
      for (var j = 0; j < List.length; j++) {
        // 对结束时间进行处理渲染到页面
        var endTimeList = List[j];
        for (var i = 0; i < endTimeList.length; i++) {
          var o = endTimeList[i];
          var endTime = o.end_time;
          //  if (o.status == 0) endTime = o.start_time;
          let obj = null;
          // 如果活动未结束,对时间进行处理
          if (endTime - newTime > 0) {
            let time = (endTime - newTime);
            // 获取天、时、分、秒
            let day = parseInt(time / (60 * 60 * 24));
            let hou = parseInt(time % (60 * 60 * 24) / 3600);
            let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
            let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
            obj = {
              day: this.timeFormat(day),
              hou: this.timeFormat(hou),
              min: this.timeFormat(min),
              sec: this.timeFormat(sec)
            }
          } else {
            //活动已结束,全部设置为'00'
            obj = {
              day: '00',
              hou: '00',
              min: '00',
              sec: '00'
            }
          }
          var txt = "goods_array[" + j + "][" + i + "].djs";
          ee.setData({
            [txt]: obj
          });
        }
      }
    },
    //图片失败,默认图片
    bind_bnerr3: function (e) {
      var _errImg = e.target.dataset.errorimg;
      var _Img = e.target.dataset.img;
      if (_errImg != undefined) {
        var _errObj = {};
        _errObj[_errImg] = "/public/images/default_goods_image_240.gif";
        this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
      }
    },
    go_to_pindlist:function () {
      wx.navigateTo({
        url:"/pages/activity/pind_list/pind_list"
      });
    }
  },


})