goods_list.js 4.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");

Component({
  data: {
    url: o.imghost,
    object: null,
    curPage:1,
    is_no_more:1,//加载完所有数据的控制器
    load_complete:0,//加载完成,
	rank_switch:false,
	card_field:"",
	card_name:"",
	max_card_field:"",
	card_list:null
  },
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
  },
  ready: function () {
   	 
  },

  methods: { 
       init:function(){
         var th = this;   
         getApp().request.get("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.user_id, {
           success: function (e) {
             getApp().globalData.userInfo = e.data.data;
             getApp().getConfig2(function (e) {
               var swithc_list = e.switch_list;
               var sw_arr = JSON.parse(swithc_list);
               //---如果后台又开等级卡的开关---
               if (sw_arr.rank_switch && sw_arr.rank_switch == "2") {
                 th.setData({ rank_switch: true });
                 var user = getApp().globalData.userInfo;
                 var ti = setInterval(function () {
                   if (!user) return false;
                   clearInterval(ti);
                   //---回调卡的列表---
                   th.getPlusCardType(function (ob) {
                     th.setData({ card_list: ob.card_list });
                     if (user.card_field) {
                       var str = user['card_expiredate'].replace(/-/g, '/');
                       var end = new Date(str);
                       end = Date.parse(end) / 1000;
                       var now = ut.gettimestamp();

                       //--- 判断是等级会员,且在有效期范围内 ---
                       if (user.card_field && now < end) {
                         var card_name = ob.name_map.get(user.card_field);
                         if (card_name.length > 4) card_name = card_name.substring(0, 4);
                         th.setData({ card_field: user.card_field, card_name: card_name, card_list: ob.card_list });
                       }
                     }
                   })
                 }, 500)
               }
             })
           }
         })

       },


       get_list:function(){      
         var that = this;
         if (that.data.is_no_more == 0) return false;
         var curPage = that.data.curPage;
         getApp().request.get('/api/weshop/goods/page?page', {
           data: {
             is_mainshow: 1, isonsale: 1,
             is_recommend: 1, is_on_sale: 1,
             store_id: o.stoid,
             page: curPage,
             pageSize: 6,
           },
           success: function (res) {
             var data = res.data;
             var total = data.data.total;
             if (total <= curPage * 6) {
               that.setData({ is_no_more: 0 });
             } else {
               that.data.curPage++;
             }

             //加载完成
             if (data.data.pageData) {
               that.setData({ load_complete: 1 });
             }
             if (that.data.recommend != null) {
               var ra = that.data.recommend.concat(data.data.pageData);
               that.setData({ recommend: ra });
             } else {
               that.setData({ recommend: data.data.pageData });
             }
           }
         })      
       },

          
    bind_bnerr_xc: function (e) {
        var _errImg = e.target.dataset.errorimg;
        var _errurl = e.target.dataset.url;    
        var _errObj = {};
        _errObj[_errImg] = "/miniapp/images/default_g_img.gif";
        this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;      
    },
 
       reset:function(){
         curPage=1;
       },
	   
	   //---  获取卡类列表 ---
	   getPlusCardType: function (func) {
	      var storid = o.stoid;
	      var th = this;
	      getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => {
	        var plusCard = res.data.data;
	        var arr = [1219, 2089, 3031];
	        var new_arr = new Array();
	   		  var card_name_map=new Map();
	        for (var i = 0; i < plusCard.length; i++) {	       
	   			var name="card"+plusCard[i].CorrPrice.toLowerCase();
	   			card_name_map.set(name,plusCard[i].CardName);				       
	        }
	     			  
	   		  var ob={"card_list":plusCard,"name_map":card_name_map};
	   		  func(ob);	
	      })
	    },
	   
    },
	
	
	
})