From 45fe29144d5d6356b332e4f48121aa9a858bae67 Mon Sep 17 00:00:00 2001 From: yvan.ni <765199919@qq.com> Date: Fri, 17 Jan 2020 09:25:44 +0800 Subject: [PATCH] 券显示包邮券的功能制作 --- pages/user/coupons/coupons.js | 336 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------- pages/user/coupons/coupons.wxml | 24 +++++++++++++++++++++++- pages/user/coupons/query/index.js | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------- pages/user/coupons/query/index.wxml | 41 +++++++++++++++++++++++++++++++++++------ 4 files changed, 330 insertions(+), 211 deletions(-) diff --git a/pages/user/coupons/coupons.js b/pages/user/coupons/coupons.js index cc3b4f7..b4a1052 100644 --- a/pages/user/coupons/coupons.js +++ b/pages/user/coupons/coupons.js @@ -26,7 +26,9 @@ Page({ * 页面的初始数据 */ data: { - sheng:3, + sheng:1, //是否有更多 + overdue_sheng:1, //是否有更多 + details: [], //可使用的数据 sum: 0, //全部票 val: 0, //可使用票 @@ -49,14 +51,20 @@ Page({ udata: null, iurl:os.imghost, is_show_dhwz:0, + + b_can_arr:null, //包邮券的未使用内容 + b_out_arr:null, //包邮券的已过期的内容 + b_isuse_arr:null,//包邮券的已使用的内容 + + isloading:0, //正在加载中的代码 }, // 点击选中二维码 click: function(e) { var val = e.currentTarget.dataset.cashrepno; getApp().globalData.val =val; - wx.navigateTo({ - url: 'qr_code/qr_code', - }) + wx.navigateTo({ + url: 'qr_code/qr_code', + }) }, // 点击返回主页 @@ -136,134 +144,158 @@ Page({ var json_d = JSON.parse(ee.switch_list); th.setData({ is_show_dhwz: json_d.dhwz_switch }); }) + }, onShow: function() { - // this.setData({ - // details: [], - - // }); - this.myyhj(); - + var th=this; + wx.setNavigationBarTitle({ title: "我的优惠券", }) + //--先判断会员状态-- 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', }) return false; } - wx.setNavigationBarTitle({ - title: "我的优惠券", - }) + this.init(th.myyhj); + }, + + //----------券的界面初始化----------- + init:function(func){ + var user_id = getApp().globalData.user_id; + var store_id = os.stoid; + var th=this; + rq.get("/api/weshop/users/getinfo/" + os.stoid + "/" + user_id, { + isShowLoading: 0, + success: function (su) { + + var data = su.data.data; + data.cashcount = parseInt(data.CashCount); + getApp().globalData.Integral = data.Integral; + + getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea",{data:{user_id: user_id, store_id: os.stoid, pageSize:200}}).then(res=>{ + if(res.data.code==0 && res.data.data && res.data.data.total>0 ){ + var b_arr=res.data.data.pageData; + var b_can_arr=[]; //未使用 + var b_out_arr=[]; //已过期 + var b_isuse_arr=[]; //已过期 + for(var i in b_arr){ + b_arr[i].isby=1; + if(b_arr[i].isuse==0){ + if(b_arr[i].use_end_time { - var a = res.data; - val = a.data.total; - - var details = a.data.pageData; - - if (details.length == 0) { - - this.setData({sheng:0}); - getApp().showWarning("未找更多数据"); - return false; - } - - details.forEach(function (val, ind) { - - big_arr.push(val); - }) - - this.setData({ - details: big_arr, - }); - setTimeout(function () { - - for (var i = 0; i < details.length; i++) { - var no = i + len; - qrcode('qrcode' + no, details[i].CashRepNo, 460, 460); - } - wx.hideLoading(); - }, 1000) - - }) - this.setData({ - val: val - }); - } - var get_data = { - user_id: user_id, - store_id: store_id, - IsUse:2, - pageSize: 1, - page: e.data.current_page - }; + var get_data = { + user_id: user_id, + store_id: store_id, + IsUse: 0, + pageSize: 10, + page: e.data.current_page + }; + var big_arr = this.data.details; + //可用券加入包邮券 + if(big_arr.length==0 && this.data.b_can_arr){ + big_arr=this.data.b_can_arr; + } + init_num=this.data.b_can_arr.length; + + wx.showLoading(); th.data.isloading=1; + getApp().request.promiseGet("/api/weshop/users/listQuan", { + data: get_data, + }).then(res => { + th.data.isloading=0; + + var a = res.data; + val = a.data.total; + var details = a.data.pageData; + + //没有找到优惠券的时候 + if (details.length == 0 && th.data.current_page==1) { + this.setData({sheng:0}); + getApp().showWarning("未找更多数据"); + if(big_arr.length>0) { + th.setData({ details: big_arr, }); + th.setData({ val: init_num}); + setTimeout(function(){ + details=big_arr; + for (var i = 0; i < details.length; i++) { + var no = i + len; + qrcode('qrcode' + no, details[i].CashRepNo?details[i].CashRepNo:details[i].no, 460, 460); + } + },1000) + } + return false; + } + + th.setData({ val: val+init_num }); + + //数组合并 + big_arr=big_arr.concat(details); + //设置数组 + th.setData({ details: big_arr, }); + + //延迟显示二维码的内容 + setTimeout(function () { + if(th.data.current_page==1) details=big_arr; + for (var i = 0; i < details.length; i++) { + var no = i + len; + qrcode('qrcode' + no, details[i].CashRepNo?details[i].CashRepNo:details[i].no, 460, 460); + } + wx.hideLoading(); + }, 1200) + + }) + - var big_arrs = this.data.details; - await getApp().request.promiseGet("/api/weshop/users/listQuan" - , { - data: get_data, - }).then(res => { - var a = res.data; - number= a.data.total; - - var details = a.data.pageData; - - - }) - this.setData({ - number: number - }); - - + }, - async overdue(){ + + overdue:function(){ + if(this.data.isloading) return; var len = this.data.details.length; this.data.current_page++; - var e = this, - sum, val, number; + var e = this,sum, val, number; var user_id = getApp().globalData.user_id; - var store_id = os.stoid; + var store_id = os.stoid,init_num=0,th=this; var get_data = { user_id: user_id, @@ -273,57 +305,74 @@ Page({ page: e.data.current_page }; var big_arr= this.data.details; - wx.showLoading(); - await getApp().request.promiseGet("/api/weshop/users/listQuan" + //可用券加入包邮券 + if(big_arr.length==0 && this.data.b_out_arr){ + big_arr=this.data.b_can_arr; + } + init_num=this.data.b_out_arr.length; + + + wx.showLoading();th.data.isloading=1; + getApp().request.promiseGet("/api/weshop/users/listQuan" , { data: get_data, }).then(res => { + + th.data.isloading=0; var a = res.data; - number = a.data.total; - + number = a.data.total; var details = a.data.pageData; - if (details.length == 0) { - //this.data.is_no_more = 1; + this.setData({overdue_sheng:0}); getApp().showWarning("未找更多数据"); + if( big_arr.length>0 && th.data.current_page==1) { + th.setData({ details: big_arr, }); + th.setData({ number: init_num}); + setTimeout(function(){ + details=big_arr; + for (var i = 0; i < details.length; i++) { + var no = i + len; + qrcode('qrcode' + no, details[i].CashRepNo?details[i].CashRepNo:details[i].no, 460, 460); + } + },1000) + + } return false; } - details.forEach(function (val, ind) { - - big_arr.push(val); - }) - - + big_arr=big_arr.concat(details); + this.setData({ - details: big_arr, + details: big_arr, number:number+init_num, }); + + + setTimeout(function () { + if(th.data.current_page==1) details=big_arr; for (var i = 0; i < details.length; i++) { var no = i + len; - qrcode('qrcode' + no, details[i].CashRepNo, 460, 460); + qrcode('qrcode' + no, details[i].CashRepNo?details[i].CashRepNo:details[i].no, 460, 460); } wx.hideLoading(); - }, 800) }) }, + //---加载更多是靠这个函数---- onReachBottom: function() { - var sheng=this.data.sheng; - - if (sheng==3){ - this.myyhj(); - }else{ - getApp().showWarning("未找更多数据"); - } - + if(this.data.isloading) return false; //正在加载中,则不处理 var currentTab=this.data.currentTab; if (currentTab==2){ - this.overdue(); + if(this.data.overdue_sheng==0) return false; + this.overdue(); } + if (currentTab==0){ + if(this.data.sheng==0) return false; + this.myyhj(); + } }, /** * 生命周期函数--监听页面隐藏 @@ -333,21 +382,6 @@ Page({ }, /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function() { - - }, - - - /** * 用户点击右上角分享 */ onShareAppMessage: function() { diff --git a/pages/user/coupons/coupons.wxml b/pages/user/coupons/coupons.wxml index 595edc7..83ec009 100644 --- a/pages/user/coupons/coupons.wxml +++ b/pages/user/coupons/coupons.wxml @@ -28,6 +28,27 @@ + + + {{detail.no}} + + 包邮券 + + 微券来源: 微信商城 + + + 有效期: {{time.format_time(detail.use_start_time)}}至{{time.format_time(detail.use_end_time)}} + + + 有效期: time.format_time(detail.use_start_time)至不限 + 有效期:不限 + + 使用说明: 包邮券,全场通用,满 {{detail.condition}}元使用 {{detail.title==null?"":",不包邮地区:"+detail.title}} + + + + + {{detail.CashRepNo}} @@ -42,10 +63,11 @@ 有效期:不限 - 使用说明: {{filter.getNum(detail.Sum)}}元优惠券,{{(detail.UseObjectID==null || detail.UseObjectID=='')?"全场通用":"仅限"+(detail.UseObjectName)+"使用"}},满 {{detail.BuySum==null?filter.getNum(0):filter.getNum(detail.BuySum)}}元使用{{detail.region_list_name==null?"":",不包邮地区:"+region_list_name}} + 使用说明: {{filter.getNum(detail.Sum)}}元优惠券,{{(detail.UseObjectID==null || detail.UseObjectID=='')?"全场通用":"仅限"+(detail.UseObjectName)+"使用"}},满 {{detail.BuySum==null?filter.getNum(0):filter.getNum(detail.BuySum)}}元使用 {{detail.region_list_name==null?"":",不包邮地区:"+region_list_name}} + \ No newline at end of file diff --git a/pages/user/coupons/query/index.js b/pages/user/coupons/query/index.js index ecfaac6..47431f0 100644 --- a/pages/user/coupons/query/index.js +++ b/pages/user/coupons/query/index.js @@ -30,7 +30,9 @@ Page({ ], display:false, is_no_more: 0, - current_page:0, + current_page:1, + by_list:[], + islading:0, }, /** * 生命周期函数--监听页面加载 @@ -65,9 +67,7 @@ Page({ // }, //监听输入框显示清空按钮 watchPassWord: function (event) { - console.log("监听输入框显示清空按钮"); var val = event.detail.value; - console.log("是什么", val); if (val != "" && val != null) { var isBind = false; this.setData({ isBind: isBind }); @@ -78,7 +78,6 @@ Page({ * 点击下拉框 */ bindShowMsg() { - console.log(!this.data.select); this.setData({ select: !this.data.select }) @@ -87,7 +86,6 @@ Page({ * 已选下拉框 */ mySelect(e) { - console.log(e) var name = e.currentTarget.dataset.name; this.setData({ grade_name: name, @@ -103,41 +101,38 @@ Page({ var stime = th.data.datet; var etime = th.data.dates; var tpye = th.data.grade_name; - console.log(tpye,"选中类型",stime, "数据绑定", etime) + //开始获取时间结束 - console.log(stime, "结束开始", etime); //删除字符中的—— var datatk = stime.replace(/[-]/g, ""); - console.log("aaa", datak); - var dataj = etime.replace(/[-]/g, ""); - console.log("开始", datatk, "结束", dataj); + var dataj = etime.replace(/[-]/g, ""); //转换类型 var datak = parseInt(datatk); var dataj = parseInt(dataj); - console.log("sk", datak, "js", dataj); + //判断初始时间小于结束时间 if (datak > dataj) { - console.log("开始时间", datak, '结束时间', dataj, "时间判断"); - getApp().showWarning("结束时间错误"); - + getApp().showWarning("结束时间错误"); } else { this.setData({ details: [] }); - console.log(datak, dataj, "时间判断2"); - console.log("有进来吗", stime, etime); - this.setData({ current_page: 0 }); + this.data.current_page=1; + this.data.is_no_more=0; + this.data.by_list=[]; + this.data.details=[]; this.wjquery(); } }, //微卷查询流水明细 - async wjquery() { - console.log("进来wjquery", this.data.is_no_more); - - //if (this.data.is_no_more) return; + async wjquery() { + if (this.data.islading) return; + if(this.data.is_no_more) return; + this.data.islading=1; + var th=this; + var len = this.data.details.length; - this.data.current_page++; - var e = this, - sum, val, number; + + var e = this,sum, val, number; var user_id = getApp().globalData.user_id; var store_id = os.stoid; var stime = this.data.datet; @@ -152,69 +147,108 @@ Page({ pageSize: 10, page: e.data.current_page }; + + var dd={ user_id: user_id, store_id: store_id,pageSize: 100}; + dd.isuse=0; // 判断下拉框,添加类型 - if (tpye == "已使用"){ - console.log("已使用"); + if (tpye == "已使用"){ get_data.IsUse = 1; - } else if (tpye == "已过期"){ - console.log("已过期"); + dd.isuse=1; + } else if (tpye == "已过期"){ get_data.IsUse = 2; } else if (tpye == "未使用"){ - get_data.IsUse = 0; + get_data.IsUse = 0; } if (etime != "" && etime != null) { get_data.EndDate = etime; + + //时间要转成时间戳 + var new_t=new Date(etime)/1000; + dd.etime=new_t; } if (stime != "" && stime != null) { - get_data.BeginDate= stime; + get_data.BeginDate= stime; + //时间要转成时间戳 + var new_t=new Date(stime)/1000; + dd.stime=new_t; } + + var by_list=[]; + if(th.data.current_page==1){ + //先拿包邮券 + await getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", { + data: dd, + }).then(res => { + if(res.data.code==0 && res.data.data && res.data.data.total>0){ + by_list=res.data.data.pageData; + for(var i in by_list){ + by_list[i].isby=1; + //过滤是时间的范围 + if(get_data.IsUse == 2 && by_list[i].use_end_time>=ut.gettimestamp()){ + th.data.by_list.push(by_list[i]); + }else if(get_data.IsUse == 0 && by_list[i].use_end_time0) + big_arr=th.data.by_list; + + await getApp().request.promiseGet("/api/weshop/users/listQuan", { data: get_data, isShowLoading: 1 }).then(res => { - console.log("1" + res); + + th.data.islading=0; var a = res.data; var len = e.data.details.length; var details = a.data.pageData; - console.log("无限大乱斗" + details); - - if (details.length == 0) { + + if (details.length == 0 ) { this.data.is_no_more = 1; getApp().showWarning("未找更多数据"); - + if(th.data.by_list && th.data.current_page==1){ + th.setData({ val: val,details:th.data.by_list}); + details=th.data.by_list; + setTimeout(function () { + for (var i = 0; i < details.length; i++) { + var no = i + len; + qrcode('qrcode' + no, details[i].no,460, 460); + } + }, 100) + } return false; } - console.log("无限大乱斗" + details); - - val = a.data.total; - - - console.log("长度", details.length); - details.forEach(function (val, ind) { - big_arr.push(val); - }) - + + th.data.current_page++; + val = a.data.total+th.data.by_list.length; + big_arr=big_arr.concat(details); this.setData({ - details: big_arr, + details: big_arr,val: val }); setTimeout(function () { + if(by_list) details=big_arr; for (var i = 0; i < details.length; i++) { var no = i + len; - qrcode('qrcode' + no, details[i].CashRepNo,460, 460); - console.log("是三生三世" + no); + qrcode('qrcode' + no, details[i].CashRepNo?details[i].CashRepNo:details[i].no,460, 460); } }, 100) }) - this.setData({ - val: val - }); + + + }, //---加载更多是靠这个函数---- onReachBottom: function () { diff --git a/pages/user/coupons/query/index.wxml b/pages/user/coupons/query/index.wxml index f8d6213..af3319f 100644 --- a/pages/user/coupons/query/index.wxml +++ b/pages/user/coupons/query/index.wxml @@ -52,10 +52,39 @@ - - - - + + + + + + + {{detail.no}} + + + 包邮券 + + 微券来源: 微信商城 + + + 有效期: + {{detail.use_start_time==null?" " : time.format_time(detail.use_start_time)}} + 至 {{ time.format_time(detail.use_end_time)}} + + + 有效期: 不限 + + 使用说明: 包邮券,全场通用,满 {{detail.condition}}元使用{{detail.title?",不包邮地区:"+detail.title:""}} + + + + + + + + + + + {{detail.CashRepNo}} @@ -77,6 +106,6 @@ - - + + -- libgit2 0.21.4