shop_cart.js 7.2 KB
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    check_num: 0, //选中数量
    checkAll: false, //全选状态
    integral: 0, //总积分
    all_num: 0, //总数量
    token:'',
    login_new:'',
    selected:2,
    listarr:[{
              pagePath: "/packageA/pages/index/index",
              text: "商品",
              iconPath: "/images/tabbar/icon_75.png",
              selectedIconPath: "/images/tabbar/icon_68.png"
            },
            {
              pagePath: "/packageA/pages/message/message",
              text: "消息",
              iconPath: "/images/tabbar/message.png",
              selectedIconPath: "/images/tabbar/messageactive.png"
            },
            {
              pagePath: "/packageA/pages/shop_cart/shop_cart",
              text: "购物车",
              iconPath: "/images/tabbar/icon_70.png",
              selectedIconPath: "/images/tabbar/icon_73.png"
            },
            {
              pagePath"/packageA/pages/my/my",
              text"我的",
              iconPath"/images/tabbar/icon_71.png",
              selectedIconPath"/images/tabbar/icon_72.png"
            }]
  },

  //删除商品
  delete_shop: function(e) {
    let that = this
    let index = Number(e.detail.index)
    let id = e.detail.id
    let list = that.data.list
    wx.showModal({
      title: '提示',
      content: '是否删除此款商品',
      success(res) {
        if (res.confirm) {
          let url = app.interface.deletes
          let params = {
            shop_ids: id
          }
          app.post(url, params).then((res) => {
            list.splice(index, 1)
            that.setData({
              list: list
            })
            this.get_all()
          })

        } else if (res.cancel) {
        }
      }
    })
  },

  getmessagelist() {
    let that = this
    let url = '/information/get_all';
    let data = {
      page: 1,
      pageNum: 10,

    }
    app.post(url, data, "POST").then((r) => {
      // console.log(r)
      // that.setData({
      //   messagelist: that.data.messagelist.concat(r.msg)
      // })

      let newlist = [];
      r.msg.forEach(function (value, index, array) {
        console.log(newlist)
        if (value.status == 1) {
          newlist.push(value)
        }
      })

      console.log('77889944556', newlist)
      if (newlist.length != 0) {
        wx.showTabBarRedDot({
          index: 1,
          success: function (red) {

            wx.setTabBarBadge({
              index: 1,
              text: newlist.length.toString(),
            })
          }
        })
      }


    }).catch((err) => { })
  },

  //改变购物车数量
  change_num(e) {
    let index = Number(e.detail.index)
    this.setData({
      [`list[${index}].num`]: e.detail.num
    })
    this.save_num(e.detail.product_id, e.detail.type)
    this.get_all()
  },
  //改变商品状态
  check_type(e) {
    let index = Number(e.detail.index)
    this.setData({
      [`list[${index}].check_type`]: e.detail.check_type,
      check_num: e.detail.check_num
    })
    if (e.detail.check_num == this.data.list.length) {
      this.setData({
        checkAll: true
      })
    } else if (e.detail.check_num == 0) {
      this.setData({
        checkAll: false
      })
    }
    this.get_all()
  },
  //全选|全不选
  check_all() {
    let list = this.data.list
    for (let obj of list) {
      obj.check_type = !this.data.checkAll
    }
    this.setData({
      checkAll: !this.data.checkAll,
      list: list,
      check_num: !this.data.checkAll ? list.length : 0
    })
    this.get_all()
  },
  //获取选中总积分和总数量
  get_all() {
    let that = this
    let list = that.data.list
    let integral = 0 //总积分
    let all_num = 0 //总数量
    for (let obj of list) {
      if (obj.check_type) {
        all_num = obj.num + all_num
        if (obj.product.price2!=null){
          var item_integral = Number(obj.product.price2) * 100 * Number(obj.num) / 100
        }else{
          var item_integral = Number(obj.product.price) * 100 * Number(obj.num) / 100
        }
        
        integral = integral + item_integral

      }
    }
    that.setData({
      integral: integral,
      all_num: all_num
    })
  },

  // 保存购物车修改数量
  save_num(id, type) {
    let that = this
    let url = app.interface.gwcshop
    let params = {
      product_id: id,
      style: type
    }
    app.post(url, params).then((res) => {})
  },
//去结算
submit(){
  let that = this;
 

  if (that.data.all_num == 0){
    wx.showToast({
      title: '请先选择商品',
      icon: 'none',
      duration: 1000
    })
    return
  }
  if(app.globalData.status==0){
    wx.showToast({
      title: '您已被拉黑',
      icon:'none'
    })
    return false
  }
  let list = that.data.list
  let info = []
  for (let obj of list) {
    if (obj.check_type) {
      info.push({
        shop_id:obj.id,
        num:obj.num
      }) 
    }
  }
  wx.navigateTo({
    url: '/packageA/pages/order/order?type=4' + '&info=' + JSON.stringify(info)
  })
},

  //获取页面信息
  get_info() {
    let url = app.interface.shopcar
    app.post(url, {}).then((res) => {
      this.setData({
        list: res.msg ? res.msg : []
      })
    })
  },

  //判断登录状态
  judge() {
    if (!wx.getStorageSync("token") && (wx.getStorageSync('login') == 0 || !wx.getStorageSync('login'))) {
      this.setData({
        no_login: true
      })
    } else {
      this.setData({
        no_login: false
      })
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },
  //获取购物车数量
  get_shopnum() {
    let that = this
    let url = app.interface.shopcarNum
    app.post(url, {}).then((res) => {
      if (res.msg > 0) {
        wx.showTabBarRedDot({
          index: 2,
          success: function (red) {
            wx.setTabBarBadge({
              index: 2,
              text: res.msg.toString(),
            })
          }
        })
      } else {
        wx.hideTabBarRedDot({
          index: 2,
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
  
    this.setData({
      token:wx.getStorageSync('token'),
      login_new:app.globalData.login_new
    })

    this.get_info()
    this.judge()
    this.get_shopnum();
    this.getmessagelist()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {
    this.setData({
      check_num: 0, //选中数量
      checkAll: false, //全选状态
      integral: 0, //总积分
      all_num: 0 //总数量
    })
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})