plus.js 12.8 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"),
  w = require("../../../utils/wxParse/wxParse.js"),t_pay = require("../../../utils/pay2.js");
  var regeneratorRuntime = require('../../../utils/runtime.js');

Page({
  /**
   * 页面的初始数据
   */
  data: {
    currentId: 0,
    url: o.imghost,
    screenWidth: 0,
    screenheight: 0,
    canvasHidden: true,
    shareImgPath: null,
    is_plusCard: "",//卡的列表
    imagePath: "",
    is_pulscardname: "",//plus会员的名字
    is_card: 0,//用于判断是否是续费页和购买页面 0不是puls会员
    content: "",//等级卡规则
    is_card_rule: "",//等级卡规则判断用
    is_show: 0,       //页面要加载完才能显示
    open_yq: 0,       //显示打开邀请码的弹窗
    by_index:null,    //购买卡的下班

    isyaoqingma:0,   //是否邀请码
    is_salesman:0,   //是否营业员
    inp_recommon: null,   //输入的邀请码
    inp_serviceman: null, //输入的营业员
    is_fengxiang: 0,      //是不是分享过来的
    def_recommon: null,    //分享人的手机号
    def_serviceman: null,  //分享人的营业员
  	fir_leader:0,          //分享人的ID

  },
  swiperChange: function (e) {
    var currentId = e.detail.current;
    this.setData({
      currentId: currentId
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this,th=that;
  	var store_id=getApp().globalData.setting.stoid;
    //获取用户设备信息,屏幕宽度
    wx.getSystemInfo({
      success: res => {
        that.setData({screenWidth: res.screenWidth})
      }
    })
    var fir_leader = options.scene;
    if (fir_leader)	that.setData({fir_leader:fir_leader})
    //--先判断会员状态--
    var user_info = getApp().globalData.userInfo;
    if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
       wx.navigateTo({ url: '/pages/getphone/getphone?first_leader=' + fir_leader, })
       return false;
    }		 
    //-----------商家配置信息----- 等级卡规则,是否又开邀请码,营业员------------
    getApp().request.get("/api/weshop/storeconfig/get/" + store_id, {
      success: function (res) {
        var is_cardrule = res.data.data.cardrules;
        var switch_list= res.data.data.switch_list;
        var swi_arr=JSON.parse(switch_list);

        w.wxParse("content", "html", is_cardrule, that, 6);
        that.setData({
           is_card_rule: is_cardrule,
           isyaoqingma:parseInt(swi_arr.isyaoqingma),
           is_salesman:parseInt(swi_arr.is_staffno)
        });
      }
    });
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
	var user_info = getApp().globalData.userInfo;  
	if(!user_info) return false;
	  
    var th=this,that=th,app_d=getApp().globalData;
  	var store_id=os.stoid;
    var fir_leader=this.data.fir_leader;

    if (fir_leader != null && fir_leader != undefined && fir_leader != "") {
      var r_url = "/api/weshop/plus/vip/mem/list?storeId=" + store_id + "&userId=" + fir_leader
      getApp().request.get(r_url, {
        success: function (res) {
          var is_ok = 1;
          if (res.data.code == -1) {
            getApp().my_warnning("未找到分享会员", 0, that);
            is_ok = 0;
            that.back_user();
          }
          var user_information = res.data.data[0];
          if (user_information['GradeCardID'] == null || user_information['GradeCardID'] == "" || user_information['GradeCardID'] == undefined) {
            getApp().my_warnning("分享会员不是plus会员", 0, that);
            is_ok = 0;
            that.back_user();
          }
          //--获取当前的时间--
          var now = ut.gettimestamp();
          if (user_information['ExpiryDate']) {
            var str = user_information['ExpiryDate'].replace(/-/g, '/');
            var end = new Date(str);
            end = Date.parse(end) / 1000;
            if (end < now) {
              getApp().my_warnning("分享plus会员已经过期", 0, that);
              is_ok = 0;
              that.back_user();
            }
          } else {
            getApp().my_warnning("分享plus会员已经过期", 0, that);
            is_ok = 0;
            that.back_user();
          }
          if (is_ok == 1) {
            //--保存或者更新会员信息--
            that.setData({ def_recommon: user_information.MobileTel, def_serviceman: user_information.StaffNo, is_fengxiang: 1 })
			th.save_th_plus_user();
          }
        }
      });
    } else {
      th.get_user_plus();
    }

    getApp().request.get("/api/weshop/users/get/" + os.stoid + "/" + app_d.user_id, {
      success: function (e) {
        var userInfo = e.data.data;
        if(userInfo['card_field']){   
               var u_url = "/pages/user/cardinfo/cardinfo";
               wx.reLaunch({url: u_url})        
        }
      },
    });

    this.getPlusCardType();     
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    var goods_list = this.selectComponent("#goods_list"); //组件的id
    goods_list.get_list();
  },

  //---  获取卡类列表 ---
  getPlusCardType: function (e) {
    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();
      for (var i = 0; i < plusCard.length; i++) {
        //plusCard[i].free=arr[i];
       
        
            if (plusCard[i].CardImg == "") plusCard[i].CardImg =  th.data.url + "/miniapp/images/plus/bg"+(i + 1)+ ".jpg?v=1";
            var item = {"fee": plusCard[i].CardFee, 'index': i}
            new_arr.push(item);
       
      }
      //根據距離遠近排序,越近在前面,升序
      new_arr.sort(function (a, b) {
        if (a.fee < b.fee) {
          return -1;
        } else if (a.fee == b.fee) {
          return 0;
        } else {
          return 1;
        }
      });
      //---给数组添加立省多少钱---
      for (i = 0; i < plusCard.length; i++) {
         //判断是否停用
       
          for (var j = 0; j < new_arr.length; j++) {
            if (i == new_arr[j].index) {
              plusCard[i].free = arr[j];
              break;
            }
        

        }
      }
      th.setData({
        is_plusCard: plusCard, is_show: 1
      })

     setTimeout(function(){
         var goods_list = th.selectComponent("#goods_list"); //组件的id
         goods_list.init();
         goods_list.get_list();
     },1000)

    })
  },

  //--开通会员---接受前端index,弹起窗口---
  Opening: function (e) {
    var th = this;
    th.data.by_index = e.currentTarget.dataset.ind;

    if (th.data.is_fengxiang) {
      th.buy_card();
    } else {
      //--如果后台都没有勾邀请码,营业员,立即购买--
      if (!th.data.isyaoqingma && !th.data.is_salesman) {th.buy_card(); return false;}
      th.setData({open_yq: 1})
    }
  },

  //--立即购买卡--
  buy_card: async function () {
    var th = this;
    var is_card = 0;
    //--商家是不是有等级卡功能,开通的人数是不是够用,开通是时间是不是到期--
    await getApp().request.promiseGet("/api/weshop/plus/plus/card/register",
        {data: {storeId: os.stoid}}).then(res => {
      if (res.data.code == 0) is_card = 1;
    })
    if (is_card == 0) getApp().my_warnning("请联系商家升级plus功能", 0, th);
    var item = th.data.is_plusCard[th.data.by_index];
    var req = {};
    req.cardId = item.CardId;
    req.rechargeType = 3;
    //如果不是你导购,也不是等级会员分享
    if (th.data.is_fengxiang == 1) {
       if (th.data.def_recommon) req.recommon = th.data.def_recommon
       if (th.data.def_serviceman) req.serviceman = th.data.def_serviceman
    } else {
      //---后台要求要输入邀请码---
      if (th.data.isyaoqingma) {
        if (!th.data.inp_recommon) {
          getApp().my_warnning("请输入邀请码", 0, th);
          return false;
        }
		
		//--邀请人不能是自己的手机号--
		if(th.data.inp_recommon==getApp().globalData.userInfo.mobile){
			getApp().my_warnning("邀请人不能填自已", 0, th);
			return false;
		}
		
        req.recommon = th.data.inp_recommon
      }
      //--后台要求要输入营业员--
      if (th.data.is_salesman) {
        if (!th.data.inp_serviceman) {
          getApp().my_warnning("请输入营业员", 0, th);
          return false;
        }
        req.serviceman = th.data.inp_serviceman
      }
    }
    req.storeId = os.stoid;
    req.userId = getApp().globalData.user_id;
    //--如果有邀请码,和营业员的情况下--
    if(req.recommon ||  req.serviceman ) {
      var req_data = {storeId: os.stoid, userId: req.userId};
	  if(req.recommon) req_data.inviteCode=req.recommon;
	  if(req.serviceman) req_data.staffNo=req.serviceman;
      getApp().request.get("/api/weshop/plus/vip/mem/referee/code/check", {
        data:req_data,
        success:function(res){
            if(res.data.code==0) {
              t_pay.pay(req, th.success, function () {
                getApp().my_warnning("支付失败", 0, th);
              });
            }else{
			  getApp().my_warnning(res.data.msg, 0, th);
			}
         }
      })
    }else{
      t_pay.pay(req, th.success, function () {
        getApp().my_warnning("支付失败", 0, th);
      });
    }
  },
  //返回会员页面
  OpeningClose: function() {
     this.setData({open_yq:0});
  },

  //返回会员中心
  back_user:function () {
    setTimeout(function () {
      wx.reLaunch({url:"/pages/user/index/index"});
    },1000)
  },
  
  //--支付成功,跳转到等级卡续费页面--
  success:function () {
    var u_url = "/pages/user/cardinfo/cardinfo";
    wx.reLaunch({url: u_url})
  },

  //--绑定邀请码的输入--
  b_input:function (e) {
      var value=e.detail.value;
      var name=e.currentTarget.dataset.name;
      var ob={};
      ob[name]=value
      this.setData(ob);
  },

  get_user_plus:async function(){
      var user_id=getApp().globalData.user_id;
      var fuser=null;
      var user_information =null;
      var store_id = os.stoid;
      var that=this;
      //--获取登记卡邀请信息--
      await getApp().request.promiseGet("/api/weshop/usersPlus/get/" + os.stoid + "/" + user_id,{1:1}).then(res=>{
        if (res.data.code==0){
          fuser=res.data.data;
        }
      })    
      if (!fuser) return false;
      var r_url = "/api/weshop/plus/vip/mem/list?storeId=" + store_id + "&userId=" + fuser.plus_user_id;	
      //--获取等级卡信息--
      await getApp().request.promiseGet(r_url,{1:1}).then(res=>{
         if (res.data.code == 0) {
           user_information = res.data.data[0];
         }
      })
      if (user_information){
        var now = ut.gettimestamp();
        var is_ok = 1;
        if (user_information['ExpiryDate']) {
          var str = user_information['ExpiryDate'].replace(/-/g, '/');
          var end = new Date(str);
          end = Date.parse(end) / 1000;
          if (end < now) { is_ok = 0;}
        } else {
          is_ok = 0;
        }

        if (is_ok == 1) {
           var fir_leader=fuser.plus_user_id
           that.setData({ def_recommon: user_information.MobileTel, def_serviceman: user_information.StaffNo, is_fengxiang: 1,fir_leader:fir_leader })
           //--先判断会员状态--
           var user_info = getApp().globalData.userInfo;
           if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
              wx.navigateTo({ url: '/pages/getphone/getphone?first_leader=' + fir_leader, })
              return false;
          }		   
      }
     }
  },
  
  save_th_plus_user:async function(){
    var f_user_id=this.data.fir_leader;
    if (f_user_id){
      var user_id = getApp().globalData.user_id;
      var user_plus = null;
      var now=ut.gettimestamp();
      //--获取登记卡邀请信息--
      await getApp().request.promiseGet("/api/weshop/usersPlus/get/" + os.stoid + "/" + user_id, { 1: 1 }).then(res => {
        if (res.data.code == 0) {
          user_plus = res.data.data;
        }
      }) 
      
      //--如果有值,要更新--
      if (!user_plus){
          getApp().request.post("/api/weshop/usersPlus/save", {
            data: { store_id: os.stoid, user_id: user_id, plus_user_id: f_user_id, addtime: now },
             success: function (res) { }
          })
      }else{
          getApp().request.put("/api/weshop/usersPlus/update",{
            data: { store_id: os.stoid, user_id: user_id, plus_user_id: f_user_id, edittime: now},
               success:function(res){ }
          })
      }
    }  
  }
})