androidList.js 8.8 KB
// pages/classify/androidList/androidList.js
const app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    moudel: false,
    goodsdetaillist: [],
    goodtype: [],
    goodsmode:[],//机型
    degreelist: [],
    pricelist:[],
    sid: '', //系统id
    bid: '', //传参的品牌id
    tid: '', //选中品牌的id
    mid: '', //机型id
    did: '', //新旧程度id
    price:'',//价格区间
    curr_state1id: '',//品牌id
    curr_state2id: '',//机型id
    curr_state3content: '',//价格区间
    curr_state4id: '',//新旧程度id
  },

  //点击tab改变标题样式
  chargeStyle1(e) {
   let that=this;
    var curr_state1id = e.currentTarget.dataset.id//
    var id = e.currentTarget.dataset.id;
    if (e.currentTarget.dataset.id==''){
      that.getallmode();//获取全部机型
    }else{
      that.goodmode(id);//获取指定品牌机型
    }
    console.log('id:' + id);
    that.setData({
      curr_state1id: curr_state1id,
      tid: id,
      mid: '', //机型id
      did: '', //新旧程度id
      price: '',//价格区间
    })
  },
  //点击tab改变标题样式
  chargeStyle2(e) {
    console.log(e)
    var curr_state2id = e.currentTarget.dataset.id
    var id = e.currentTarget.dataset.id
    this.setData({
      curr_state2id: curr_state2id,
      mid: id,
      // tid: '', //选中品牌的id
      did: '', //新旧程度id
      price: '',//价格区间
    })
  },
  //点击tab改变标题样式
  chargeStyle3(e) {
    let price = e.currentTarget.dataset.price;
    this.setData({
      curr_state3content: price,
      price: price,
      // tid: '', //选中品牌的id
      // mid: '', //机型id
      did: '', //新旧程度id
    })
  },
  //点击tab改变标题样式
  chargeStyle4(e) {
    var curr_state4id = e.currentTarget.dataset.id
    var id = e.currentTarget.dataset.id
    this.setData({
      curr_state4id: curr_state4id,
      did: id,
      // tid: '', //选中品牌的id
      // mid: '', //机型id
      //price: '',//价格区间
    })
  },

  //隐藏弹窗
  hideMask() {
    this.setData({
      moudel: false,//品牌
      moudel1: false,//机型
      moudel2: false,//价格
      moudel3: false,//新旧程度
    })
  },

  // 品牌
  showMask(e) {
   
    this.setData({
      moudel: true,
      moudel1: false,
      moudel2: false,
      moudel3: false,//新旧程度
    })
  },

  // 机型
  showMask1(e) {
    this.setData({
      moudel: false,
      moudel1: true,
      moudel2: false,
      moudel3: false,//新旧程度
    })
  },
  // 新旧程度
  showMask2(e) {
    this.setData({
      moudel: false,
      moudel1: false,
      moudel2: true,
      moudel3: false,
    })
  },

  // 新旧程度
  showMask3(e) {
    this.setData({
      moudel: false,
      moudel1: false,
      moudel2: false,
      moudel3: true,
    })
  },

  //获取机型id有值的情况
  goodmode(id) {
    let url = 'goods/getTypeById'
    let params = {
      parentID: id
    }
    app.post(url, params).then((res) => {
      if (res.data.code == 200) {
        let goodsmode=[];
        let tem = {
          id: '',
          name: "全部"
        };
        goodsmode.push(tem)
        for (let obj of res.data.data){
          goodsmode.push(obj)
        }
        this.setData({
          goodsmode: goodsmode
        })
      }
      console.log(res.data.data)
    })
  },
  //全部获取机型
  getallmode(){
    let that=this;
   
    let url ='goods/getGoodsModel';
    let params={
      system: that.data.sid
    }
    app.post(url, params).then((res)=>{
      if(res.data.code==200){
        let goodsmode = [];
        let tem = {
          id: '',
          name: "全部"
        };
        goodsmode.push(tem)
        for (let obj of res.data.data) {
          goodsmode.push(obj)
        }
        this.setData({
          goodsmode: goodsmode
        })
      }
    }).catch((errMsg)=>{
      console.log(errMsg)
    })

  },
  //得到品牌类型
  goodType1(sid) {
   
    let url = 'goods/getTypeById'
    let params = {
      parentID: sid
    }
    app.post(url, params).then((res) => {
      if (res.data.code == 200) {
        let brandlist = [];
        let tem = {
          id: '',
          name: '全部'
        };
        brandlist.push(tem);
        for (let obj of res.data.data){
          brandlist.push(obj)
        } 
        this.setData({
          brandlist: brandlist
        })
      }
      console.log(this.data.brandlist)
    })
  },
  //得到价格区间
  getprice(){
    let that=this;
    let url ='goods/screenPrice';
    app.post(url,{}).then((res)=>{
      if(res.data.code==200){
        let pricelist = [];
        let tem={
          id:'',
          price:'全部'
        }
        pricelist.push(tem)
        for (let obj of res.data.data){
          pricelist.push(obj)
        }
        that.setData({
          pricelist: pricelist
        })
      }else{
        that.setData({
          pricelist:[]
        })
      }
    }).catch((errMsg)=>{
    console.log(errMsg)
    })
},

  //获取新旧程度
  getDegree() {
    let url = 'goods/getDegree'
    let params = {}
    app.post(url, params).then((res) => {
      if (res.data.code == 200) {

        let degreelist = [];
        let tem={
          id:'',
          degree:'全部'
        };
        degreelist.push(tem);
        for (let obj of res.data.data){
          degreelist.push(obj)
        }
        this.setData({
          degreelist: degreelist
        })
      }
    })
  },
  //根据类型选择商品
  goodScreening() {
    let that=this;
    let url = 'goods/goodScreening'
    let params = {
      system: this.data.sid, 
      brand: this.data.tid, //选中品牌的id
      model: this.data.mid, //机型id
      price: (this.data.price == '全部') ? '' : this.data.price,//价格区间
      degree: this.data.did, //新旧程度id
    }
    app.post(url, params).then((res) => {
    
      if (res.data.code == 200) {
       that.setData({
          goodsdetaillist: res.data.data.datalist
        })
      } else if (res.data.code == 302) {
        wx.showToast({
          title: '商品不存在',
          icon: 'none',
          duration: 2000,
          success:function(){
            that.setData({
              goodsdetaillist:[]
            })
          }
        })
      }
    })
  },

  //商品详情
  productDetail(e) {
    console.log(e)
    console.log(e.currentTarget.dataset.discount)
    var goods_id = e.currentTarget.dataset.id
    var discount = e.currentTarget.dataset.discount ? 1 : 0
    wx.navigateTo({
      url: '../../index/productDetail/productDetail?goods_id=' + goods_id + '&discount=' + discount,
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    console.log(options)
    this.setData({
      sid: options.sid,//系统ID
      tid: options.id,//品牌
      curr_state1id: options.id  //品牌
    })
    // this.goodType(options.id) //专场详情
    this.goodType1(options.sid) //得到品牌类型
    if (options.id){
      this.goodmode(options.id)//获取机型需要id
    }else{
      this.getallmode()//获取全部机型
    } 
    this.getDegree() //获取新旧程度
    this.goodScreening() //显示筛选列表
    this.getprice();//得到价格区间
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

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

  },

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

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

  },

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

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    let that = this;
    var shareObj = {
      title: '金钻手机商场', // 默认是小程序的名称(可以写slogan等)
      path: 'pages/start/start', // 默认是当前页面,必须是以‘/’开头的完整路径
      imgUrl: '',//自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
      success: function (res) {
        // 转发成功之后的回调
        if (res.errMsg == 'shareAppMessage:ok') { }
      },
      fail: function () {
        // 转发失败之后的回调
        if (res.errMsg == 'shareAppMessage:fail cancel') {
          // 用户取消转发
        } else if (res.errMsg == 'shareAppMessage:fail') {
          // 转发失败,其中 detail message 为详细失败信息
        }
      },
      complete: function () {
        // 转发结束之后的回调(转发成不成功都会执行)
      }
    }   // 来自页面内的按钮的转发
    return shareObj;
  }
})