微信小程序> 小程序按月份查询账单

小程序按月份查询账单

浏览量:2523 时间: 来源:如果你是雨

按月份查询账单

  • 预览效果
      • 思路
    • 1.获取**当前时间**
    • 2.转换起止时间的时间格式(时间戳转字符串)
    • 3.获取数据(传参)
    • 4.data赋值
    • 5.页面导航渲染

预览效果

小程序

思路

一般后台接口会提供你两个查询参数:startDate和endDate 那么怎样用这两个参数做一个漂亮的账单页面呢?

1.获取当前时间

```javascriptvar YEAR = util.formatYear(new Date());    var MONTH = util.formatMonth(new Date());    var day = util.formatDay(new Date());    var endTime = new Date();

其中util中的几个方法:

//获取月份const formatMonth = date = {  const month = date.getMonth() + 1  return month;}//获取年份const formatYear = date = {  const year = date.getFullYear()  return year;}//获取天const formatDay = date = {  const day = date.getDate()  return day;}

别忘了在module.exports函数中添加方法名

2.转换起止时间的时间格式(时间戳转字符串)

var StringEndTime = this.DatetoYYYMMDD(endTime);    var StringStartTime = this.getLastMonthTime(StringEndTime);
//时间格式转换  DatetoYYYMMDD(dt) {    var str = dt.toISOString();    return str.substring(0, str.indexOf("T"));  },
//获取上月时间字符串  getLastMonthTime:function(time){    //console.log(time)    var year = parseInt(time.substring(0,4))    var month = parseInt(time.substring(5,7));    var day = parseInt(time.substring(8, 10));    var StringDate = '';   // console.log(year+'年'+month+'月'+day+'日')    if (month  10) {      if (day != 1) {        StringDate = year + '-' + month + '-01'      } else {        StringDate = year + '-' + (month - 1) + '-01'      }    } else if (month == 10) {      if (day != 1) {        StringDate = year + '-' + month + '-01'      } else {        StringDate = year + '-0' + (month - 1) + '-01'      }    } else if (month10 && month1) {      if (day != 1) {        StringDate = year + '-0' + month + '-01'      } else {        StringDate = year + '-0' + (month - 1) + '-01'      }    }  else if (month == 1) {      if (day != 1) {        StringDate = year + '-0' + month + '-01'      } else {        StringDate = (year - 1) + '-12' + '-01'      }    }    return StringDate  },

3.获取数据(传参)

this.loadData(StringStartTime, StringEndTime)
loadData: function (startTime,endTime){......}

4.data赋值

data: {    TabCur: 0,    scrollLeft: 0,    //当前月份    month:'',    //当前年份    year:'',    //时间    time:'',    //时间表    monthList:[],    startTime:'',    endTime:''  },
this.setData({      year:YEAR,      month:MONTH    });    for(var i=0; i12; i++){     // console.log('结束时间' + StringEndTime)      //console.log('开始时间'+ StringStartTime)      var newarray = [{        month: MONTH + ' 月',        startTime: StringStartTime,        endTime: StringEndTime,      }]      if(MONTH==0){        MONTH=12        var newarray = [{          month: MONTH + ' 月',          startTime: StringStartTime,          endTime: StringEndTime,        }]        this.setData({          monthList:  this .data.monthList.concat(newarray)        })      }else{        this.setData({          monthList: this.data.monthList.concat(newarray)        });      }      MONTH = MONTH - 1;      StringEndTime = StringStartTime;      StringStartTime = this.getLastMonthTime(StringStartTime)    }       // console.log(this.data.monthList)  },

5.页面导航渲染

UI组件我用的是colorUI  (百度colorUI就可以了)

tabSelect(e) {    this.setData({      endTime: e.currentTarget.dataset.endtime,      startTime: e.currentTarget.dataset.starttime,      TabCur: e.currentTarget.dataset.id,      scrollLeft: (e.currentTarget.dataset.id - 1) * 60    })    wx.showLoading({ title: '加载中...', mask: true });    this.setData({      currentPage: 1    });    var startTime = this.data.startTime;    var endTime = this.data.endTime;    //获取账单数据    this.loadData(startTime, endTime);    wx.hideLoading();  },

wxml

!--账单页面--view class="cu-bar bg-white solid-bottom margin-top"  view class="action"    text class="cuIcon-title text-blue "/text 我的账单(近一年)  /view/viewscroll-view scroll-x class="bg-white nav" scroll-with-animation scroll-left="{{scrollLeft}}"  view class="cu-item {{index==TabCur?'text-green cur':''}}" wx:key wx:for="{{monthList}}" bindtap="tabSelect" data-id="{{index}}" data-endtime="{{item.endTime}}" data-starttime="{{item.startTime}}"     {{item.month}}  /view/scroll-viewview wx:for="{{monthList}}" wx:key wx:if="{{index==TabCur}}"   view wx:for="{{contentlist}}" wx:key="id" wx:for-item="i" data-wtype="{{i.wtype}}" data-refoid="{{i.refoid}}" class="bg-grey padding margin" style="height:130rpx;"      view class="left"              /view      view class="right"/view    /view/view

至此,大功告成。有不明白的同学可以留言。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎