// pages/member/coupon_v2/coupon_v2.js var app = getApp(); Page({ /** * 页面的初始数据 */ data: { language: '', selected: 0, selectedidx: '1', page: 1, pageSize: 10, total_page: 0, isPresenter: false, //待使用 wait_used: [], overdue: [], used: [], usermessage: { value: '', item: '', index: '' }, presentershow: false, display: 99999, listData: [{ type: 1 }, { type: 2 }, { type: 3 }, { type: 4 }, { type: 5 }, { type: 6 }, { type: 7 } ], bottomIndex: '', // types:['全部','平台','门店','酒店','指定商品','分类商品','兑换卷','满减卷','折扣卷','快过期'], types: [], typesIndex: 0, kFootshow: true, write_off_coupon: false, share_coupon: false, combine_show: false, couponListDataSet: [], //数据集 couponListData: [], colors: ['#fbbd5c', '#ff8383', '#a291ff', '#f095ed', '#6dccf8', '#fb946c', '#cecece'], }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, tapGo(e) { if (this.data.selectedidx == '1') { // let info = JSON.stringify(e.currentTarget.dataset.info); let info = e.currentTarget.dataset.info; // let mun; if (this.data.isPresenter) { info.isPresenter = this.data.isPresenter; } console.log(); if (info.num) { console.log(info); wx.navigateTo({ url: '/packageA/member/coupon_v2_detail/coupon_v2_detail?info=' + JSON.stringify(info) + '&combine=' + this.data.combine, }); } else { info.num = '1'; wx.navigateTo({ url: '/packageA/member/coupon_v2_detail/coupon_v2_detail?info=' + JSON.stringify(info) + '&combine=' + this.data.combine, }); } } }, showButton(evt) { let index = evt.detail; console.log(evt.detail); if (this.data.selectedidx == 1) { this.data.wait_used[index].openIs = !this.data.wait_used[index].openIs; this.setData({ wait_used: this.data.wait_used }); } else if (this.data.selectedidx == 2) { this.data.overdue[index].openIs = !this.data.overdue[index].openIs; this.setData({ overdue: this.data.overdue }); } else if (this.data.selectedidx == 3) { this.data.used[index].openIs = !this.data.used[index].openIs; this.setData({ used: this.data.used }); } }, setTypesIndex(evt) { let index = evt.currentTarget.dataset.index; if (index == this.data.typesIndex) return; this.setData({ typesIndex: index }); this._getNetData(this.data.selectedidx, index); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { let language = wx.getStorageSync('langIndex'); this.setData({ 'language': language.en }); }, /** * 生命周期函数--监听页面显示 */ onShow: function () { this._initData(); this._getNetData(1, this.data.typesIndex); }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { let page = this.data.page; let pageSize = this.data.pageSize; let pageStart = page * pageSize; let pageEnd = (page + 1) * pageSize; console.log(pageStart, pageEnd); if (pageStart >= this.data.couponListDataSet.length) return; if (pageEnd > this.data.couponListDataSet.length) pageEnd = this.data.couponListDataSet.length; let moreData = this.data.couponListDataSet.slice(pageStart, pageEnd); this.setData({ page: (page + 1), couponListData: this.data.couponListData.concat(moreData) }); console.log(this.data.page); }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, onShareTimeline(){}, getmemberInfo(e) { let val = e.detail.value; var that = this; let urlStr = app.getNetAddresss("member.member.memberInfo"); urlStr += '&uid=' + val; app._getNetWork({ url: urlStr, success: function (resdata) { var res = resdata.data; if (res.result == 1) { that.setData({ memberInfo: res.data.nickname ? res.data.nickname : '' }); } }, fail: function (res) { console.log(res); } }); }, //发起http请求 _getNetData(type, coupon_type) { if (wx.tempCqSwipeCell) { wx.tempCqSwipeCell.setData({ prevBox: 0 }); } this.setData({ couponListData: [], }); let that = this; this.data.page = 1; let urlStr = app.getNetAddresss("coupon.member-coupon.coupons-of-member-by-status-v2"); if (app.globalData.store_alone_temp == 1) { // 开启门店独立模块 urlStr = app.getNetAddresss("plugin.store-alone-temp.frontend.coupon.coupons-of-member-by-status-v2"); } urlStr += "&status_request=" + type; urlStr += "&coupon_type=" + coupon_type; urlStr += "&page=1"; app._getNetWork({ url: urlStr, success: function (resdata) { var res = resdata.data; if (res.result == 1) { var myData = res.data; that.data.total_page = res.data.total ? res.data.total : 0; that.data.couponListDataSet = myData.data; console.log(typeof (res.data.search_array)); if (res.data.set) { that.setData({ isPresenter: res.data.set.transfer }); } if (res.data.search_array) { that.setData({ types: res.data.search_array || [] }); for (let i = 0; i < myData.data.length; i++) { myData.data[i].openIs = false; myData.data[i].ind = i; if (myData.data[i].belongs_to_coupon.coupon_type_name == '门店商品') { myData.data[i].type = 6; } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '平台商品') { myData.data[i].type = 1; } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '兑换券') { myData.data[i].type = 2; } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '分类商品') { myData.data[i].type = 3; } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '指定商品') { myData.data[i].type = 4; } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '酒店商品') { myData.data[i].type = 5; } else if (myData.data[i].belongs_to_coupon.coupon_type_name == '商品和门店') { myData.data[i].type = 8; } } } that.setData({ couponListData: that.data.couponListDataSet.slice(0, that.data.pageSize), }); } else { wx.showToast({ icon: 'none', title: res.msg, duration: 1000 }); } }, fail: function (res) { console.log(res); } }); }, //切换优惠券状态列表 switchItem(e) { let index = e.detail.index; if ((index + 1) == this.data.selectedidx) return; if (index == 0) { this.setData({ selectedidx: '1' }); } else if (index == 1) { this.setData({ selectedidx: '2' }); } else if (index == 2) { this.setData({ selectedidx: '3' }); } this._initData(); console.log(this.data.typesIndex); this._getNetData(this.data.selectedidx, this.data.typesIndex); }, _initData() { this.setData({ page: 1, goload: true, total_page: 0, allLoaded: false, isLoadMore: true, isPresenter: false }); }, presenterOnce(e) { console.log(e); let item = e.detail.item; let ind = e.detail.ind; this.presenter(item, ind); }, //赠送优惠券 presenter(item, index) { let that = this; // let item = e.currentTarget.dataset.item; // let index = e.currentTarget.dataset.index; that.setData({ 'usermessage.value': '', 'usermessage.item': '', 'usermessage.index': '', memberInfo: '' }); that.setData({ 'usermessage.item': item, 'usermessage.index': index, 'presentershow': true }); }, onconfirm(event) { let that = this; if (app._isTextEmpty(this.data.usermessage.value)) { wx.showToast({ icon: 'none', title: '用户ID不能为空', duration: 1000 }); this.setData({ presentershow: false }); return; } that._presenterPost(this.data.usermessage.value, this.data.usermessage.item, this.data.usermessage.index); }, onclose(event) { let that = this; that.setData({ 'usermessage.value': '', 'usermessage.item': '', 'usermessage.index': '' }); that.setData({ presentershow: false }); }, usermesbut: function (e) { let val = e.detail.value; this.setData({ 'usermessage.value': val }); }, //赠送post _presenterPost(value, item, index) { let that = this; let urlStr = app.getNetAddresss("coupon.coupon-transfer.index"); urlStr += "&recipient=" + value; urlStr += "&record_id=" + item.id; app._getNetWork({ url: urlStr, success: function (resdata) { var res = resdata.data; if (res.result == 1) { if (that.data.wait_used.length > 0) { let wait_used = that.data.wait_used; wait_used.splice(index, 1); that.setData({ wait_used: wait_used }); wx.showToast({ icon: 'none', title: '操作成功', duration: 1500 }); } that.setData({ presentershow: false }); } else { wx.showToast({ icon: 'none', title: res.msg, duration: 1500 }); that.setData({ presentershow: false }); } }, fail: function (res) { console.log(res); } }); }, goBuyOnce(e) { console.log(e); let item = e.detail.item; let ind = e.detail.ind; this.goBuy(item, ind); }, //通过类型去查询可用商品 goBuy(item, ind) { // let item = e.currentTarget.dataset.item; console.log('packageB/member/category/search_v2/search_v2'); if (item.belongs_to_coupon.use_type == 0) { //0商城通用 this.goHome(); } else if (item.belongs_to_coupon.use_type == 1) { //1指定分类 wx.navigateTo({ url: '/packageB/member/category/catelist/catelist?id=' + JSON.stringify(item.belongs_to_coupon.category_ids) + '&fromHome=1' }); } else if (item.belongs_to_coupon.use_type == 2) { //2指定商品 wx.navigateTo({ url: '/packageB/member/category/search_v2/search_v2?coupon=' + item.belongs_to_coupon.id + '&fromHome=1' }); } else if ( item.belongs_to_coupon.use_type === 4 && Array.isArray(item.belongs_to_coupon.storeids) ) { //4门店列表 wx.navigateTo({ url: '/packageC/o2o/o2oHome/o2oHome' }); } else if ( item.belongs_to_coupon.use_type === 5 && typeof item.belongs_to_coupon.storeids === "number" ) { //5单门店 wx.navigateTo({ url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + item.belongs_to_coupon.storeids }); } else if ( item.belongs_to_coupon.use_type === 7 && Array.isArray(item.belongs_to_coupon.hotel_ids) ) { wx.navigateTo({ url: '/packageC/hotel/HotelIndex/HotelIndex' }); } else if ( item.belongs_to_coupon.use_type === 6 && typeof item.belongs_to_coupon.hotel_ids === "number" ) { wx.navigateTo({ url: '/packageC/hotel/HotelHome/HotelHome?id=' + item.belongs_to_coupon.hotel_ids }); } else if ( item.belongs_to_coupon.use_type === 8 ) { wx.navigateTo({ url: '/packageB/member/category/search_v2/search_v2?keyword=' + item.belongs_to_coupon.goods_ids[0] }); } else { this.goHome(); } }, goHome() { wx.reLaunch({ url: '/packageG/index/index' }); }, toggle(e) { let index = e.currentTarget.dataset.index; if (this.data.display == index) { this.setData({ display: 99999 }); } else { this.setData({ display: index }); } }, delteteItem(e) { console.log(e); let item = e.currentTarget.dataset.item; let index = e.currentTarget.dataset.index; let urlStr = app.getNetAddresss("coupon.member-coupon.delete"); urlStr += "&id=" + item.id; if (wx.tempCqSwipeCell) { wx.tempCqSwipeCell.setData({ prevBox: 0 }); } app._getNetWork({ url: urlStr, success: (resdata) => { var res = resdata.data; if (res.result == 1) { let couponListData = this.data.couponListData; couponListData.splice(index, 1); this.setData({ couponListData }); wx.showToast({ icon: 'none', title: '操作成功', duration: 1000 }); } else { wx.showToast({ icon: 'none', title: res.msg, duration: 1000 }); } }, fail: function (res) { console.log(res); } }); }, gocouponStore() { //跳转到领卷中心 wx.redirectTo({ url: '/packageD/coupon/coupon_store' }); }, usermesbutInput(e) { let val = e.detail.value; this.data.usermessage.value = val; }, tabrshowbtn(e) { let bol = e.detail; if (bol) { this.setData({ kFootshow: false }); } } });