var util = require('../../utils/util.js'); var user = require('../../utils/user.js'); var api = require('../../config/api.js'); var check = require('../../utils/check.js'); var app = getApp(); Page({ data: { memberDiscount:'', isMember:false, orderId:'', payFailShow:false, choosePopup:false, noSerTimes:'', popupType:1,//1单次预约 2 选择服务频次 3选择首次预约时间 timeList:check.getTimeList(1), dateList:util.getDateList(new Date(new Date().getTime()+60*60*1000*24),1,60), // firstAppointList:util.getDateList(new Date(new Date().getTime()+60*60*1000*24),7), firstAppointList:[], timeIndex:0,//选中的时间段 dateIndex:2,//单次预约选中的日期 firstDateIndex:0,//首次预约时间 activeTab:1,//频次 weekIndex:0,//选中的周几 weekArrList:[ {id:1,week:'周一',num:0}, {id:2,week:'周二',num:0}, {id:3,week:'周三',num:0}, {id:4,week:'周四',num:0}, {id:5,week:'周五',num:0}, {id:6,week:'周六',num:0}, {id:0,week:'周日',num:0}, ], selectedWeekList:[], selectedDateList:[], selectTimeIndex:'null',//选中的时间段 oneTimeAppoint:'2021-04-22 周一 13:00-14:00', isNeedAppoint:false,//是否需要预约 isFinishAppoint:false,//已选择预约 isOneAppoint:true,//单次卡 appointFailTip:false,//预约失败提示 multiIndex: [0, 0, 0, 0, 0, 0], multiArray: [], array: [], year: "", month: "", day: "", startHour: "", endHour: "", orderData: "",//此时间为预计上门时间 checkedGoodsList: [], checkedAddress: {}, availableCouponLength: 0, // 可用的优惠券数量 goodsTotalPrice: 0.00, //商品总价 freightPrice: 0.00, //快递费 couponPrice: 0.00, //优惠券的价格 grouponPrice: 0.00, //团购优惠价格 orderTotalPrice: 0.00, //订单总价 actualPrice: 0.00, //实际需要支付的总价 cartId: 0, addressId: 0, couponId: 0, userCouponId: 0, message: '', grouponLinkId: 0, //参与的团购 grouponRulesId: 0, //团购规则ID nurseId:0,//安心包认证id petinfo:null,//宠物保险内容 shareId:0, userInfo:{}, remarkDisable:false, }, //获取checkou信息 getCheckoutInfo: function () { let that = this; util.request(api.CartCheckout, { cartId: that.data.cartId, addressId: that.data.addressId, couponId: that.data.couponId, userCouponId: that.data.userCouponId, grouponRulesId: that.data.grouponRulesId, shareId:that.data.shareId, }).then(function (res) { if (res.errno === 0) { that.setData({ isMember:res.data.isMember, memberDiscount:res.data.memberDiscount, checkedGoodsList: res.data.checkedGoodsList, checkedAddress: res.data.checkedAddress, availableCouponLength: res.data.availableCouponLength, actualPrice: res.data.actualPrice, couponPrice: res.data.couponPrice, grouponPrice: res.data.grouponPrice, freightPrice: res.data.freightPrice, goodsTotalPrice: res.data.goodsTotalPrice, orderTotalPrice: res.data.orderTotalPrice, addressId: res.data.addressId, couponId: res.data.couponId, userCouponId: res.data.userCouponId, grouponRulesId: res.data.grouponRulesId, isNeedAppoint: res.data.checkedGoodsList[0].goods.type===0?true:false,//0需要预约 服务类商品,1保险 2中介 3买约分离次卡 isOneAppoint:res.data.checkedGoodsList[0].goods.serviceTimes==1?true:false,//1为单次,其余为多次 popupType:res.data.checkedGoodsList[0].goods.serviceTimes==1?1:2 }); let serviceDuration=res.data.checkedGoodsList[0].goods.serviceDuration; let timeList=check.getTimeList(serviceDuration); that.setData({ timeList:timeList }); //是否为保险类商品 console.info(res.data.checkedAddress) //console.info(res.data.couponId) // var isIns=false; // res.data.checkedGoodsList.forEach(element=>{ // if(element.goods.type==1){ // isIns=true; // } // }) // if(isIns){ // //是否设置过保险信息 // var petinfo=wx.getStorageSync('petinfo'+that.data.cartId); // console.info(petinfo) // if(!petinfo){ // wx.navigateTo({ // url: '/pages/goods/pet/index?id='+that.data.cartId, // }) // }else{ // that.setData({ // petinfo:petinfo // }) // } // } } wx.hideLoading(); }); }, checkNurse(){ //是否包含安心包产品 如果含有 需要填写安心包产品内容 let that=this; let isNurse=false; var list=that.data.checkedGoodsList; for(var i=0;i { app.globalData.hasLogin = true; console.info("session 未过期") }).catch(() => { console.info("session 过期") app.globalData.hasLogin = false; wx.navigateTo({ url: '/pages/auth/login/login', }) }); wx.showLoading({ title: '加载中...', }); try { var cartId = wx.getStorageSync('cartId'); if (cartId === "") { cartId = 0; } var addressId = wx.getStorageSync('addressId'); if (addressId === "") { addressId = 0; } var couponId = wx.getStorageSync('couponId'); if (couponId === "") { couponId = 0; } var userCouponId = wx.getStorageSync('userCouponId'); if (userCouponId === "") { userCouponId = 0; } var grouponRulesId = wx.getStorageSync('grouponRulesId'); if (grouponRulesId === "") { grouponRulesId = 0; } var grouponLinkId = wx.getStorageSync('grouponLinkId'); if (grouponLinkId === "") { grouponLinkId = 0; } this.setData({ cartId: cartId, addressId: addressId, couponId: couponId, userCouponId: userCouponId, grouponRulesId: grouponRulesId, grouponLinkId: grouponLinkId }); this.getCheckoutInfo(); } catch (e) { // Do something when catch error console.log(e); } }, onHide: function () { // 页面隐藏 }, onUnload: function () { // 页面关闭 //清空宠物保险的缓存数据 console.info('checkout onload') //wx.setStorageSync('petinfo'+this.data.cartId, null); }, submitOrder: function () { let that=this; if (that.data.addressId <= 0) { util.showErrorToast('请选择收货地址'); return ; } // 检查是否已经预约 if (that.data.isNeedAppoint&&!that.data.isFinishAppoint) { // util.showErrorToast('请先预约服务时间'); wx.showToast({ title: '请先预约服务时间', icon: 'none', duration: 2000 }); return ; } //门店和商品是否符合 util.request(api.OrderCheck, { addressId: that.data.addressId, shopId: that.data.checkedAddress.shopId, cart:this.data.cartId }).then(function(res) { if (res.errno === 0) { that.submitInfo(); // if (res.data==false) { // wx.showModal({ // title: '提醒', // // content: '收货地址需在'+app.globalData.city+',请修改' // content: '收货地址需在服务范围内,请修改地址' // }); // that.submitInfo(); // }else{ // that.submitInfo(); // } }else{ wx.showModal({ title: '提醒', // content: '收货地址需在'+app.globalData.city+',请修改' content: res.errmsg }); } }).catch(res=>{ util.showErrorToast(res.errmsg) }); }, submitInfo(){ //是否含有保姆安心包产品 var isnurse=this.checkNurse(); if(isnurse&&this.data.nurseId==0){//跳转安心包注册页 wx.navigateTo({ url: '/pages/auth/register/register', }) return; } var orderInfo={ cartId: this.data.cartId, addressId: this.data.addressId, couponId: this.data.couponId, userCouponId: this.data.userCouponId, message: this.data.message, orderDate: this.data.orderData, grouponRulesId: this.data.grouponRulesId, grouponLinkId: this.data.grouponLinkId, nurseId:this.data.nurseId, petinfo:this.data.petinfo, shareId:this.data.shareId, //预约参数信息 }; //是宠物保险 var isInsure=this.checkInstance(); if(isInsure){ //缓存order数据,在宠物保险页提交 wx.setStorageSync('orderInfo', orderInfo); wx.navigateTo({ url: '/pages/goods/pet/index?id='+this.data.cartId, }) return; } // 如果是多次卡先预估,单次卡不用预估 if(!this.data.isOneAppoint){ // this.orderAppoint(); let weeks=[]; this.data.selectedDateList.forEach(item=>{ let obj={ dayOfWeek:this.data.weekArrList[item.week].id, startTime:item.time.split('-')[0], endTime:item.time.split('-')[1] }; weeks.push(obj); }); let tempStartDate=null; if(this.data.firstAppointList.length!=0&&this.data.firstAppointList.length>=this.data.firstDateIndex){ tempStartDate=this.data.firstAppointList[this.data.firstDateIndex].date; } let params={ weeks:weeks, type:this.data.activeTab, startDate:tempStartDate,//this.data.firstAppointList[this.data.firstDateIndex].date, lng:this.data.checkedAddress.lng, lat:this.data.checkedAddress.lat, shopId:this.data.checkedAddress.shopId, goodId:this.data.checkedGoodsList[0].goodsId }; console.log(params); this.orderPay(params); }else{ let weeks=[]; if(this.data.isNeedAppoint){ weeks=[{ dayOfWeek:(this.data.dateList[this.data.dateIndex]).id, startTime:(this.data.timeList[this.data.timeIndex].time.split('-'))[0], endTime:(this.data.timeList[this.data.timeIndex].time.split('-'))[1] }]; } let params={ weeks:weeks, type:0, startDate:this.data.dateList[this.data.dateIndex].date, lng:this.data.checkedAddress.lng, lat:this.data.checkedAddress.lat, shopId:this.data.checkedAddress.shopId, goodId:this.data.checkedGoodsList[0].goodsId }; console.log(params); this.orderPay(params); } }, orderPay(orderData){ var orderInfo={ cartId: this.data.cartId, addressId: this.data.addressId, couponId: this.data.couponId, userCouponId: this.data.userCouponId, message: this.data.message, orderDate: this.data.orderData, grouponRulesId: this.data.grouponRulesId, grouponLinkId: this.data.grouponLinkId, nurseId:this.data.nurseId, petinfo:this.data.petinfo, shareId:this.data.shareId, //预约参数信息 orderDate:orderData }; util.request(api.OrderSubmit, orderInfo, 'POST').then(res => { if (res.errno === 0) { console.log(res.data.isNeedPay); if(res.data.isNeedPay==false){ console.log("跳过支付"); util.redirect('/pages/ucenter/order/order'); return; } // 下单成功,重置couponId wx.setStorageSync('couponId', 0); const orderId = res.data.orderId; this.setData({orderId:orderId}); const grouponLinkId = res.data.grouponLinkId; util.request(api.OrderPrepay, { orderId: orderId }, 'POST').then(res=>{ if (res.errno === 0) { const payParam = res.data; console.log("支付过程开始"); wx.requestPayment({ 'timeStamp': payParam.timeStamp, 'nonceStr': payParam.nonceStr, 'package': payParam.packageValue, 'signType': payParam.signType, 'paySign': payParam.paySign, 'success': res=> { console.log("支付过程成功"); if (grouponLinkId) { setTimeout(() => { wx.redirectTo({ url: '/pages/groupon/grouponDetail/grouponDetail?id=' + grouponLinkId }) }, 1000); } else { wx.redirectTo({ url: '/pages/checkout/payResult/payResult?status=1&orderId=' + orderId+'&actualPrice='+this.data.actualPrice }); } }, 'fail': res=> { console.log("支付过程失败"); // wx.redirectTo({ // url: '/pages/checkout/payResult/payResult?status=0&orderId=' + orderId // }); // 弹出支付失败 this.setData({ payFailShow:true }); }, 'complete': function (res) { console.log("支付过程结束") } }); } else { // 弹出支付失败 this.setData({ payFailShow:true }); // wx.redirectTo({ // url: '/pages/checkout/payResult/payResult?status=0&orderId=' + orderId // }); } }); } else { util.showErrorToast(res.errmsg); } }); }, surplusMonth: function (year) { var date = new Date(); var year2 = date.getFullYear() var month = date.getMonth() + 1 var day = date.getDate() var hour = date.getHours() var minute = date.getMinutes() var second = date.getSeconds() var monthDatas = []; if (year == year2) { var surplusMonth = 12 - month; monthDatas.push(month + "月") for (var i = month; i < 12; i++) { monthDatas.push(i + 1 + "月") } } else { for (var i = 0; i < 12; i++) { monthDatas.push(i + 1 + "月") } } return monthDatas; }, //天数计算 surplusDay: function (year, month, day) { var days = 31; var dayDatas = []; var date = new Date(); var year2 = date.getFullYear() var month2 = date.getMonth() + 1 switch (parseInt(month)) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; //对于2月份需要判断是否为闰年 case 2: if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { days = 29; break; } else { days = 28; break; } case 4: case 6: case 9: case 11: days = 30; break; } if (year == year2 && month == month2) { // dayDatas.push(day + "日") for (var i = day; i < days; i++) { dayDatas.push(i + 1 + "日") } } else { console.log(month + "月" + days + "天") for (var i = 0; i < days; i++) { dayDatas.push(i + 1 + "日") } } return dayDatas; }, //时间计算 surplusHour: function (year, month, day, hour) { var date = new Date(); var year2 = date.getFullYear() var month2 = date.getMonth() + 1 var day2 = date.getDate(); var hourEnd = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]; var hours = [ ['09时', '10时', '11时', '12时', '13时', '14时', '15时', '16时', '17时', '18时', '19时', '20时'], ['10时', '11时', '12时', '13时', '14时', '15时', '16时', '17时', '18时', '19时', '20时', '21时'] ]; return hours; }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ userInfo: app.globalData.userInfo }); let that=this; if(options.nurseId){ this.setData({ nurseId:options.nurseId }) } if(typeof options.shareId!='undefined'&&options.shareId>0){ that.setData({ shareId:options.shareId }) } var date = new Date(); var year = date.getFullYear() var month = date.getMonth() + 1 var day = date.getDate() var hour = date.getHours() var surplusMonth = that.surplusMonth(year); console.log(surplusMonth) var surplusDay = this.surplusDay(year, month, day); console.log(surplusDay) var surplusHour = this.surplusHour(year, month, day, hour) console.log(surplusHour) //初始化picker that.setData({ multiArray: [ [year + '年', (year + 1) + '年', (year + 2) + '年'], surplusMonth, surplusDay, surplusHour[0], ['~'], surplusHour[1] ], year: year, month: month, day: day, startHour: surplusHour[0][0], endHour: surplusHour[1][0], }) }, varietiesChange: function (e) { var Varieties = this.data.array[parseInt(e.detail.value)] console.log(Varieties) this.setData({ Varieties: Varieties }) }, warehouseChange: function (e) { var Warehouse = this.data.array[parseInt(e.detail.value)] console.log(Warehouse) this.setData({ Warehouse: Warehouse }) }, //某一列的值改变时触发 bindMultiPickerColumnChange: function (e) { var date = new Date(); var year1 = date.getFullYear() var month1 = date.getMonth() + 1 var day1 = date.getDate() var hour1 = date.getHours() console.log("当前月份" + this.data.month + '修改的列为', e.detail.column, ',值为', e.detail.value); var data = { multiArray: this.data.multiArray, multiIndex: this.data.multiIndex, year: this.data.year, month: this.data.month, day: this.data.day, startHour: this.data.startHour, endHour: this.data.startHour, }; data.multiIndex[e.detail.column] = e.detail.value; switch (e.detail.column) { case 0: var yearStr = data.multiArray[e.detail.column][e.detail.value]; var year = yearStr.substring(0, yearStr.length - 1) data.year = parseInt(year); var surplusMonth = this.surplusMonth(year); data.multiArray[1] = surplusMonth; if (data.year == year1) { data.month = month1; } else { data.month = 1; } if (data.year == year1 && month1 == data.month) { data.day = day1; } else { data.day = 1; } var surplusDay = this.surplusDay(data.year, data.month, data.day); data.multiArray[2] = surplusDay; var surplusHour; if (data.year == year1 && month1 == data.month && data.day == day1) { surplusHour = this.surplusHour(data.year, data.month, data.day, hour1) } else { surplusHour = this.surplusHour(data.year, data.month, data.day, 1) } console.log(surplusHour) data.multiArray[3] = surplusHour[0]; data.multiArray[5] = surplusHour[1]; data.startHour = surplusHour[0]; data.endHour = surplusHour[1]; data.multiIndex[1] = 0; data.multiIndex[2] = 0; data.multiIndex[3] = 0; data.multiIndex[5] = 0; break; case 1: console.log('选择月份' + data.multiArray[e.detail.column][e.detail.value]); var monthStr = data.multiArray[e.detail.column][e.detail.value]; var month = monthStr.substring(0, monthStr.length - 1); data.month = month; data.day = 1; if (data.year == year1 && month1 == data.month) { data.day = day1; } else { data.day = 1; } var surplusDay = this.surplusDay(data.year, data.month, data.day); data.multiArray[2] = surplusDay; var surplusHour; if (data.year == year1 && month1 == data.month && data.day == day1) { surplusHour = this.surplusHour(data.year, data.month, data.day, hour1) } else { surplusHour = this.surplusHour(data.year, data.month, data.day, 1) } data.multiArray[3] = surplusHour[0]; data.multiArray[5] = surplusHour[1]; data.startHour = surplusHour[0]; data.endHour = surplusHour[1]; data.multiIndex[2] = 0; data.multiIndex[3] = 0; data.multiIndex[5] = 0; break; case 2: console.log('选择日' + data.multiArray[e.detail.column][e.detail.value]); var dayStr = data.multiArray[e.detail.column][e.detail.value]; var day = dayStr.substring(0, dayStr.length - 1); data.day = day; var surplusHour; if (data.year == year1 && month1 == data.month && data.day == day1) { surplusHour = this.surplusHour(data.year, data.month, data.day, hour1) } else { surplusHour = this.surplusHour(data.year, data.month, data.day, 1) } data.multiArray[3] = surplusHour[0]; data.multiArray[5] = surplusHour[1]; data.startHour = surplusHour[0]; data.endHour = surplusHour[1]; data.multiIndex[3] = 0; data.multiIndex[5] = 0; break; case 3: console.log('起始时间' + data.multiArray[e.detail.column][e.detail.value]); var hourStr = data.multiArray[e.detail.column][e.detail.value]; var hour = hourStr.substring(0, hourStr.length - 1); data.startHour = hour; console.log('起始时间' + hour + " day1:" + day1); /*var endhours2 = []; var end = ['09时', '11时', '12时', '13时', '14时', '15时', '16时', '17时', '18时', '19时', '20时', '20时']; for (var i = e.detail.value; i < end.length; i++) { endhours2.push(end[i]); } data.multiArray[5] = endhours2; */ if (e.detail.value > data.multiIndex[5]) data.multiIndex[5] = e.detail.value; break; case 5: var hourStr = data.multiArray[e.detail.column][e.detail.value]; var hour = hourStr.substring(0, hourStr.length - 1); data.endHour = hour; if (e.detail.value =2&&date!='2021-08-21'&&date!='2021-08-22'&&date!='2021-08-28'&&date!='2021-08-29'){//前三天不可预约 this.setData({ dateIndex:index }); } }, timeCheck(e){ let index=e.currentTarget.dataset.index; this.setData({ timeIndex:index }); }, weekCheck(e){ let index=e.currentTarget.dataset.index; this.setData({ weekIndex:index, // selectTimeIndex:'null' }); }, timeSelect(e){ let index=e.currentTarget.dataset.index; let time=e.currentTarget.dataset.time; if(this.data.activeTab!=2){ let weekList=this.data.weekArrList; weekList.forEach(item=>{ item.num=0; }); this.setData({ weekArrList:weekList, }); let itemData = "weekArrList[" + this.data.weekIndex + "].num"; let selectedDateList=[]; let dateItem={week:this.data.weekIndex,time:time,weekStr:this.data.weekArrList[this.data.weekIndex].week}; selectedDateList.push(dateItem); console.log(this.data); this.setData({ selectTimeIndex:index, [itemData]:1, selectedWeekList:[this.data.weekIndex], selectedDateList:selectedDateList }); console.log(this.data); }else{ // 如果选中的时间段小于2个 if(this.data.selectedDateList.length<2){ let itemData = "weekArrList[" + this.data.weekIndex + "].num"; let num=this.data.weekArrList[this.data.weekIndex].num; let selectedDateList=this.data.selectedDateList; selectedDateList.push({week:this.data.weekIndex,time:time,weekStr:this.data.weekArrList[this.data.weekIndex].week}); let selectedWeekList=this.data.selectedWeekList; if(selectedWeekList.indexOf(this.data.weekIndex)==-1){ selectedWeekList.push(this.data.weekIndex); } this.setData({ [itemData]:num+1, selectTimeIndex:index, // selectedWeekList:selectedWeekList, selectedWeekList:[this.data.weekIndex], selectedDateList:selectedDateList }); }else{ // 删除第一个 let firstTimeSelected=this.data.selectedDateList[0]; let firstWeekSelectedIndex=firstTimeSelected.week; // let firstWeekSelected=this.data.weekArrList[firstWeekSelectedIndex]; let itemDataDel = "weekArrList[" + firstWeekSelectedIndex + "].num"; let numDel=this.data.weekArrList[firstWeekSelectedIndex].num; let selectedDateListDel=this.data.selectedDateList; selectedDateListDel.shift(); this.setData({ [itemDataDel]:numDel-1, // selectTimeIndex:index, selectedDateList: selectedDateListDel }); // 加入新选中的 let itemData = "weekArrList[" + this.data.weekIndex + "].num"; let num=this.data.weekArrList[this.data.weekIndex].num; let selectedDateList=this.data.selectedDateList; selectedDateList.push({week:this.data.weekIndex,time:time,weekStr:this.data.weekArrList[this.data.weekIndex].week}); this.setData({ [itemData]:num+1, // selectTimeIndex:index, selectedDateList:selectedDateList }); let weekListNew=[]; this.data.selectedDateList.forEach(item=>{ if(weekListNew.indexOf(item.week)==-1){ weekListNew.push(item.week); } }); this.setData({ selectedWeekList:weekListNew, }); } console.log(this.data); } }, firstDateCheck(e){ let index=e.currentTarget.dataset.index; this.setData({ firstDateIndex:index }); }, onTabChange(e){ let weekList=this.data.weekArrList; weekList.forEach(item=>{ item.num=0; }); this.setData({ weekArrList:weekList, activeTab:e.detail.name, selectTimeIndex:'null', selectedWeekList:[], selectedDateList:[] }); }, showAppoint(){ this.setData({ choosePopup:true, remarkDisable:true, popupType:(this.data.popupType==3?2:this.data.popupType), isFinishAppoint:false }); if(this.data.popupType=='1'){ let index=2; let length=this.data.dateList.length; let list=this.data.dateList; for(let i=0;i=2&&list[i].date!='2021-08-21'&&list[i].date!='2021-08-22'&&list[i].date!='2021-08-28'&&list[i].date!='2021-08-29'){ index=i; break; } } console.log(index); this.setData({ dateIndex:index }) } }, confirmTime(){ console.log(this.data.activeTab); console.log(this.data); if(this.data.popupType==1){ let date=this.data.dateList[this.data.dateIndex].date; let week=this.data.dateList[this.data.dateIndex].week; let time=this.data.timeList[this.data.timeIndex].time; console.log(week,time); this.setData({ oneTimeAppoint:date+' '+week+' '+time, choosePopup:false, isFinishAppoint:true }); }else if(this.data.popupType==2){ if(this.data.activeTab==2){ if(this.data.selectedDateList.length<1){ wx.showToast({ title: '请选择服务时间', icon: 'none', duration: 2000 }); }else if(this.data.selectedDateList.length==1){ wx.showToast({ title: '请选择第二次服务时间', icon: 'none', duration: 2000 }); }else{ // 选择频次 let futureDateList=util.getDateList(new Date(new Date().getTime()+60*60*1000*24),1); let minIndex=Math.min.apply(null, this.data.selectedWeekList); console.log(minIndex); console.log((this.data.weekArrList[minIndex]).id); let beginDate=futureDateList.filter(item=>{return (new Date(item.date)).getDay()==(this.data.weekArrList[minIndex]).id}); console.log(beginDate); let inter=7; let firstAppointList=util.getDateList(new Date(new Date(beginDate[0].date).getTime()),inter); this.setData({ popupType:3, firstAppointList:firstAppointList }) } }else{ if(this.data.selectedDateList.length==0){ wx.showToast({ title: '请选择服务时间', icon: 'none', duration: 2000 }); }else{ // 选择频次 let futureDateList=util.getDateList(new Date(new Date().getTime()+60*60*1000*24),1); let minIndex=Math.min.apply(null, this.data.selectedWeekList); console.log(minIndex); let beginDate=futureDateList.filter(item=>{return (new Date(item.date)).getDay()==(this.data.weekArrList[minIndex]).id}); console.log(beginDate); let inter=(this.data.activeTab==3?14:7); let firstAppointList=util.getDateList(new Date(new Date(beginDate[0].date).getTime()),inter); this.setData({ popupType:3, firstAppointList:firstAppointList }) } } }else if(this.data.popupType==3){ let firstTime=this.data.firstAppointList[this.data.firstDateIndex].date; console.log(firstTime); console.log(this.data.selectedDateList); this.orderAppoint(); // this.setData({ // choosePopup:false, // isFinishAppoint:true // }); } }, orderAppoint(){ // 如果是多次卡先预估,单次卡不用预估 let weeks=[]; this.data.selectedDateList.forEach(item=>{ let obj={ dayOfWeek:this.data.weekArrList[item.week].id, startTime:item.time.split('-')[0], endTime:item.time.split('-')[1] }; weeks.push(obj); }); let params={ weeks:weeks, type:this.data.activeTab, startDate:this.data.firstAppointList[this.data.firstDateIndex].date, lng:this.data.checkedAddress.lng, lat:this.data.checkedAddress.lat, shopId:this.data.checkedAddress.shopId, goodId:this.data.checkedGoodsList[0].goodsId }; wx.showLoading({ title: '加载中', }); util.request(api.OrderAppoint, params, "POST") .then(res=> { wx.hideLoading(); if (res.errno == 0) { // this.orderPay(params); this.setData({ choosePopup:false, isFinishAppoint:true, popupType:2, noSerTimes:res.data, appointFailTip:(res.data>=1?true:false) }); } else { // util.showErrorToast(res.errmsg); wx.showToast({ title: res.errmsg, icon: 'none', duration: 2000 }); } }).catch(function (err) { console.log(err); wx.hideLoading(); wx.showToast({ title: err.errMsg, icon: 'none' }) }); }, cancelPay(){ this.setData({ payFailShow:false }); }, rePay(){ util.request(api.OrderPrepay, { orderId: this.data.orderId }, 'POST').then(res=> { if (res.errno === 0) { const payParam = res.data; console.log("支付过程开始") wx.requestPayment({ 'timeStamp': payParam.timeStamp, 'nonceStr': payParam.nonceStr, 'package': payParam.packageValue, 'signType': payParam.signType, 'paySign': payParam.paySign, 'success': res=>{ console.log("支付过程成功"); this.setData({ payFailShow:false }) wx.redirectTo({ url: '/pages/checkout/payResult/payResult?status=1&orderId=' +this.data.orderId+'&actualPrice='+this.data.actualPrice }); }, 'fail': res=> { console.log("支付过程失败") this.setData({ payFailShow:false }); util.showErrorToast('支付失败'); }, 'complete': res=> { console.log("支付过程结束"); } }); } }); }, goBuyMember(){ wx.navigateTo({ url: "/pages/member/buyMember/buyMember" }); }, });