diff --git a/packageA/pages/checkin/checkin.js b/packageA/pages/checkin/checkin.js index aa25fef..76da363 100644 --- a/packageA/pages/checkin/checkin.js +++ b/packageA/pages/checkin/checkin.js @@ -12,6 +12,9 @@ Page({ day: '', weekArr: ['日', '一', '二', '三', '四', '五', '六'], dateArr: [], + n_dateArr:[], //本月的日期 + s_dateArr:[], //上月的日期 + firstDay: '', lastDay: '', param: null, @@ -52,10 +55,8 @@ Page({ this.setDate(); var res = wx.getSystemInfoSync(); this.setData({ - param: res.windowHeight / 12, - + param: res.windowHeight / 12, }) - // 判断会员是否授权登录, // 没有登录则跳转到登录页, @@ -103,14 +104,12 @@ Page({ }); }, - // 点击"我的积分"和"去购物"进行跳转 goto(e) { let url = e.target.dataset.url; app.goto(url); }, - // 点击显示签到规则 showRules() { if(this.data.isShowRules) { @@ -127,34 +126,87 @@ Page({ // 加载签到记录 loadCheckedRecord() { - let newDateArr = this.data.dateArr; + let newDateArr=[]; let list; let bqlist; + //--判断什么日子是签到的,上个月的-- + if(this.data.res.qdsdaylist) { + list = this.data.res.qdsdaylist.split(','); + for(var i in this.data.s_dateArr){ + var item=this.data.s_dateArr[i]; + if(this.check_is_qd(item,list)){ + item.isCheckIn = true; + }else{ + item.isCheckIn = false; + } + } + } + newDateArr=newDateArr.concat(this.data.s_dateArr); + //--判断什么日子是签到的,这个月的-- if(this.data.res.qddaylist) { list = this.data.res.qddaylist.split(','); - for(let item of list) { - newDateArr[item-1].isCheckIn = true; - }; + for(var i in this.data.n_dateArr){ + var item=this.data.n_dateArr[i]; + if(this.check_is_qd(item,list)){ + item.isCheckIn = true; + }else{ + item.isCheckIn = false; + } + } } + newDateArr=newDateArr.concat(this.data.n_dateArr); + + //--判断什么日子是要补签的-- if(this.data.res.curbqdaynum) { bqlist = this.data.res.curbqdaynum.split(','); - for(let item of bqlist) { - var date = new Date(item); - newDateArr[date.getDate()-1].isBq = true; - } + for(var i in newDateArr){ + var item=newDateArr[i]; + if(this.check_is_bq(item,bqlist)){ + item.isBq = true; + }else{ + item.isBq = false; + } + } } this.setData({ dateArr: newDateArr }); }, + + //判断是不是同一个日期,签到的 + check_is_qd(item,bqlist){ + for(var i in bqlist){ + var c_item=JSON.parse(JSON.stringify(item)); + if(c_item.num<10) c_item.num="0"+c_item.num; + if(c_item.num==bqlist[i]){ + return true; + } + } + return false; + }, + + //判断是不是同一个日期,补签到的 + check_is_bq(item,bqlist){ + for(var i in bqlist){ + if(item.date==bqlist[i]){ + return true; + } + } + return false; + }, + // 点击签到 checkInToday() { const self = this; // 获取今天的签到状态 - let isCheckInToday = this.data.dateArr[this.data.day-1].isCheckIn; + //let isCheckInToday = this.data.dateArr[this.data.day-1].isCheckIn; + var ck=this.data.day; + if(parseInt(ck)<10) ck="0"+ck; + var isCheckInToday=this.data.res.qddaylist.indexOf(ck); + // 如果还没签到, 可以点击签到 - if(!isCheckInToday) { + if(isCheckInToday==-1) { app.request.promisePost('/api/weshop/qdrecord/saveQd', { data: { store_id: app.globalData.setting.stoid, @@ -163,8 +215,16 @@ Page({ }).then(res => { // 改变签到状态,由false置为true // let newDateArr = self.data.dateArr; - // newDateArr[self.data.day-1].isCheckIn = true; - + // newDateArr[self.data.day-1].isCheckIn = true; + + for(var i in self.data.dateArr) { + self.data.dateArr[i].isCheckIn=false; + self.data.dateArr[i].isBq=false; + } + self.setData({ + dateArr: self.data.dateArr + }); + self.loadQd(function() { wx.showToast({ title: self.data.res.qdintro, @@ -198,20 +258,23 @@ Page({ } }).then(res => { // 改变签到状态,由false置为true - // let newDateArr = self.data.dateArr; - // newDateArr[self.data.day-1].isCheckIn = true; - var bqlist = self.data.res.curbqdaynum.split(',').sort(); - var list = []; + // let newDateArr = self.data.dateArr; + // newDateArr[self.data.day-1].isCheckIn = true; + //var bqlist = self.data.res.curbqdaynum.split(',').sort(); + //var list = []; + /*-- for(let item of bqlist) { var date = new Date(item); list.push(date.getDate()); - } - - self.data.dateArr[list[0]-1].isBq = false; + }--*/ + + for(var i in self.data.dateArr) { + self.data.dateArr[i].isCheckIn=false; + self.data.dateArr[i].isBq=false; + } self.setData({ dateArr: self.data.dateArr - }); - + }); self.loadQd(function() { self.data.flag = true; wx.showToast({ @@ -227,10 +290,6 @@ Page({ } }, - - - - getDate: function() { //获取当月日期 var mydate = new Date(); var year = mydate.getFullYear(); @@ -240,7 +299,7 @@ Page({ this.data.month = months; this.data.day = mydate.getDate(); //获取当月日期: 1~31 var fist = new Date(year, month, 1); - this.data.firstDay = fist.getDay(); //获取当月第一天 + this.data.firstDay = fist.getDay(); //获取当月第一天 var last = new Date(year, months, 0); //0表示当月最后一天 this.data.lastDay = last.getDate(); //获取当月最后一天 @@ -249,22 +308,43 @@ Page({ month: this.data.month, day: this.data.day, firstDay: this.data.firstDay, - lastDay: this.data.lastDay + lastDay: this.data.lastDay, + fist:fist }) console.log("今天:" + this.data.day); }, setDate: function() { var day; - for (var i = 1; i < this.data.lastDay + 1; i++) { - day = { - num: i, - }; - this.data.dateArr.push(day); + for(var i=0;i - + +{{res.cday1}} - {{myUtil.setDate(year, res.sday2, 0)}}日 + {{res.sday2}} - + +{{res.daynum}} 今日 - + +{{res.tdayc1}} 明日 - + +{{res.tdayc2}} {{myUtil.setDate(year, res.sday3, 2)}}日 - + +{{res.tdayc3}} {{myUtil.setDate(year, res.sday3, 3)}}日 - + +{{res.tdayc4}} {{myUtil.setDate(year, res.sday3, 4)}}日 - + +{{res.tdayc5}} {{myUtil.setDate(year, res.sday3, 5)}}日 @@ -40,12 +40,12 @@ - {{!dateArr[day-1].isCheckIn ? '立即签到':'今日已签到'}} + {{!myUtil.setDate_is_act(year, res.sday3, 0,res.qddaylist) ? '立即签到':'今日已签到'}} 签到请登录 - 补签(-10分) + 补签(-{{res.getBQIntegral}}分) @@ -60,7 +60,8 @@ {{year}}年{{month}}月 - 补签卡:{{res.getkbqnum}} + + 补签卡:{{res.getkbqnum}} @@ -77,7 +78,7 @@ - + {{item.num}} diff --git a/packageA/pages/checkin/checkin.wxs b/packageA/pages/checkin/checkin.wxs index 540a1ed..2fd0f66 100644 --- a/packageA/pages/checkin/checkin.wxs +++ b/packageA/pages/checkin/checkin.wxs @@ -1,20 +1,25 @@ var myUtil = { - setDate: function(year, startDate, num) { + setDate_is_act: function(year, startDate, num,qdlist) { var date = getDate(year + '-' + startDate); date.setDate(date.getDate() + num); date = getDate(date).getDate(); - return date; + if(date<10) date="0"+date; + if(!qdlist) return false; + if(qdlist.indexOf(date)!=-1){ + return true + } + return false; }, - // dateDiff: function(firstDate,secondDate) { - // var firstDate = new Date(firstDate); - // var secondDate = new Date(secondDate); - // var diff = Math.abs(firstDate.getTime() - secondDate.getTime()); - // var result = parseInt(diff / (1000 * 60 * 60 * 24)); - // return result; - // }, + setDate:function(year, startDate, num){ + var date = getDate(year + '-' + startDate); + date.setDate(date.getDate() + num); + date = getDate(date).getDate(); + return date; + } }; module.exports = { setDate: myUtil.setDate, + setDate_is_act: myUtil.setDate_is_act, }; \ No newline at end of file