|
@@ -82,7 +82,7 @@
|
|
|
</view>
|
|
|
|
|
|
<view class="charge-list">
|
|
|
- <block v-for="(item,index) in pagedPayLog" :key="item.dayDate">
|
|
|
+ <block v-for="(item,index) in pagedPayLog" :key="index">
|
|
|
<view class="charge-date">
|
|
|
<view class="charge-date-left">{{item.dayDate}}</view>
|
|
|
<view class="charge-date-right">当日收费 {{item.dayTotal}}元</view>
|
|
@@ -144,9 +144,7 @@
|
|
|
myParkSites:[],
|
|
|
selectedParkVal:'all',
|
|
|
allParkIds:'',
|
|
|
- pagedPayLog:{
|
|
|
- datas:[]
|
|
|
- },
|
|
|
+ pagedPayLog:[],
|
|
|
loadParams:{}
|
|
|
|
|
|
}
|
|
@@ -181,27 +179,27 @@
|
|
|
if(crtParams.pageNum<crtParams.pageCount){
|
|
|
crtParams.pageNum+=1;
|
|
|
}
|
|
|
- else{ //更换日期,重置页码,其它参数不变
|
|
|
+ /* else{ //更换日期,重置页码,其它参数不变
|
|
|
crtParams.chargeDate=api.addDate(crtParams.chargeDate,-1);
|
|
|
crtParams.pageNum=1;
|
|
|
crtParams.pageCount=0;
|
|
|
- }
|
|
|
+ } */
|
|
|
}
|
|
|
else{//全新查询
|
|
|
- crtParams.chargeDate=this.filter.endDate;
|
|
|
crtParams.pageNum=1;
|
|
|
crtParams.pageCount=0;
|
|
|
let parkarg=this.selectedParkVal=="all"?this.allParkIds:this.selectedParkVal;
|
|
|
crtParams.parkingIds=parkarg;
|
|
|
crtParams.chargeStart=this.filter.startDate;
|
|
|
crtParams.chargeEnd=this.filter.endDate;
|
|
|
- crtParams.pageSize=10;
|
|
|
+ crtParams.pageSize=15;
|
|
|
}
|
|
|
|
|
|
return crtParams;
|
|
|
},
|
|
|
checkHadMore(){
|
|
|
- let rst=this.loadParams.pageNum<this.loadParams.pageCount||this.loadParams.chargeDate>this.loadParams.chargeStart;
|
|
|
+ //let rst=this.loadParams.pageNum<this.loadParams.pageCount||this.loadParams.chargeDate>this.loadParams.chargeStart;
|
|
|
+ let rst=this.loadParams.pageNum<this.loadParams.pageCount
|
|
|
this.loadMoreStat=rst?'loadmore':'nomore';
|
|
|
return rst;
|
|
|
},
|
|
@@ -214,8 +212,8 @@
|
|
|
this.filter.endDate=e.endDate;
|
|
|
},
|
|
|
selectFilter(filterSort,e){
|
|
|
- console.log(filterSort);
|
|
|
- console.log(e);
|
|
|
+ //console.log(filterSort);
|
|
|
+ //console.log(e);
|
|
|
if(e.target.dataset.val!=null){
|
|
|
this.filter[filterSort]=e.target.dataset.val;
|
|
|
}
|
|
@@ -243,11 +241,13 @@
|
|
|
})
|
|
|
},
|
|
|
loadPageData(param){ //全新查询,按chargeStart-chargeEnd 先查chargeEnd的
|
|
|
+ this.pagedPayLog=[] //新查先清空之前结果
|
|
|
+ this.rptPay={}
|
|
|
uni.showLoading({
|
|
|
title:'加载中...'
|
|
|
});
|
|
|
this.reachbtm=false; //全新查询重置该值
|
|
|
- console.log(param)
|
|
|
+ //console.log(param)
|
|
|
api.loadPageData(param).then(resp => {
|
|
|
//console.log(resp)
|
|
|
uni.hideLoading();
|
|
@@ -263,17 +263,13 @@
|
|
|
this.rptPay=tmp;
|
|
|
}
|
|
|
|
|
|
- if(resp.data.maxValiDate){ //实际查询的最大日期
|
|
|
- param.chargeDate=resp.data.maxValiDate
|
|
|
- }
|
|
|
this.pagedPayLog=this.parsePayLog(param,resp.data.payLogs.pagedData,resp.data.payLogs.dayGrp);
|
|
|
this.loadParams=param; //更新查询参数
|
|
|
|
|
|
- //console.log(this.pagedPayLog)
|
|
|
-
|
|
|
+ /*
|
|
|
if(!this.reachbtm&&this.checkHadMore()){ //未到底且还有数据,自动再加载一次
|
|
|
this.loadMoreData(this.getLoadParams(true));
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
}).catch(error => {
|
|
|
uni.hideLoading();
|
|
@@ -286,41 +282,41 @@
|
|
|
param.pageCount=pagedObj.pages;
|
|
|
//let viewObj={pageNum:pagedObj.current,pageCount:pagedObj.pages,pageSize:pagedObj.size};
|
|
|
if(datas==null||datas.length==0){
|
|
|
- //viewObj['datas']=[];
|
|
|
return [];
|
|
|
}
|
|
|
else{
|
|
|
- let dateMap={},mapItem=null,tmp=null,pkh=null;
|
|
|
- let listDatas=[];
|
|
|
- listDatas.push({dayDate:dayGrp.pay_date,dayTotal:(dayGrp.day_pay_amount||0).toFixed(2),dayDatas:[]});
|
|
|
|
|
|
- datas.forEach(function(item,index){
|
|
|
- /* if(dateMap[item.pay_date]==null){
|
|
|
- listDatas.push({dayDate:item.pay_date,dayTotal:0,dayDatas:[]});
|
|
|
- dateMap[item.pay_date]=listDatas.length-1;
|
|
|
- } */
|
|
|
+ let dayGrpMap={}
|
|
|
+ let preListDatas=dayGrp.map( (grp,idx) =>{
|
|
|
+ dayGrpMap[grp.pay_date]={dayDatas:[],dayDate:grp.pay_date,dayTotal:(grp.day_pay_amount||0).toFixed(2)}
|
|
|
+ return dayGrpMap[grp.pay_date]
|
|
|
+ })
|
|
|
+
|
|
|
+ //在dayGrpMap中填充每日明细记录
|
|
|
+ let tmp=null,pkh=null;
|
|
|
+ datas.forEach((item,index)=>{
|
|
|
+
|
|
|
item["pay_mode"]={"wechat":"微信","alipay":"支付宝"}[item.pay_name]||'其它';
|
|
|
|
|
|
tmp=item.parking_time;
|
|
|
pkh=Math.floor(tmp/60);
|
|
|
item['parking_time_txt']=pkh>0?(pkh.toFixed(0)+"小时"+(tmp-pkh*60)+"分钟"):(tmp+"分钟");
|
|
|
|
|
|
- //mapItem=listDatas[dateMap[item.pay_date]];
|
|
|
- //mapItem.dayTotal+=parseFloat((item.pay_amount||0).toFixed(2));
|
|
|
- //mapItem.dayDatas.push(item);
|
|
|
- listDatas[0].dayDatas.push(item);
|
|
|
+ if(dayGrpMap[item['pay_date']]){
|
|
|
+ dayGrpMap[item['pay_date']].dayDatas.push(item)
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
});
|
|
|
|
|
|
- //viewObj['datas']=listDatas;
|
|
|
- return listDatas;
|
|
|
+ return preListDatas;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
- loadMoreData(param){ //按chargeDate参数查询
|
|
|
- console.log(param);
|
|
|
+ loadMoreData(param){
|
|
|
+ //console.log(param);
|
|
|
api.queryChargeLog(param).then(resp => {
|
|
|
//console.log(resp)
|
|
|
if(!resp.success){
|
|
@@ -328,32 +324,22 @@
|
|
|
}
|
|
|
let newDatas=this.parsePayLog(param,resp.data.pagedData,resp.data.dayGrp);
|
|
|
this.loadParams=param; //更新查询参数
|
|
|
-
|
|
|
-
|
|
|
- if(newDatas&&newDatas.length>0){
|
|
|
- /* let preLastItm=this.pagedPayLog.datas[this.pagedPayLog.datas.length-1];
|
|
|
- let newFirstItm=newDatas.datas[0];
|
|
|
- if(preLastItm.dayDate==newFirstItm.dayDate){ //新旧数据有同日期的先合并再附加新数据
|
|
|
- preLastItm.dayTotal+=newFirstItm.dayTotal;
|
|
|
- preLastItm.dayDatas=preLastItm.dayDatas.concat(newFirstItm.dayDatas);
|
|
|
- newDatas.datas.shift(); //合并后删除避免重复
|
|
|
- }
|
|
|
- this.pagedPayLog.datas=this.pagedPayLog.datas.concat(newDatas.datas); */
|
|
|
- //新旧数据有同日期的先合并再附加新数据
|
|
|
- let preLastItm=this.pagedPayLog[this.pagedPayLog.length-1];
|
|
|
-
|
|
|
- if(preLastItm.dayDate==newDatas[0].dayDate){
|
|
|
- preLastItm.dayDatas=preLastItm.dayDatas.concat(newDatas[0].dayDatas);
|
|
|
- }
|
|
|
- else{
|
|
|
- this.pagedPayLog=this.pagedPayLog.concat(newDatas);
|
|
|
- }
|
|
|
-
|
|
|
+ if(newDatas==null || newDatas.length==0){
|
|
|
+ return
|
|
|
}
|
|
|
+ //新旧数据拼接(只会发生在旧尾新首间 同日期合并明细记录)
|
|
|
+ let oldLastGrp=this.pagedPayLog.pop()
|
|
|
+ let newFirstGrp=newDatas.shift()
|
|
|
+ if(oldLastGrp['dayDate']==newFirstGrp['dayDate']){
|
|
|
+ oldLastGrp['dayDatas']=oldLastGrp['dayDatas'].concat(newFirstGrp['dayDatas'])
|
|
|
+ }
|
|
|
+
|
|
|
+ this.pagedPayLog.push(oldLastGrp,...newFirstGrp)
|
|
|
|
|
|
this.checkHadMore();
|
|
|
|
|
|
}).catch(error =>{
|
|
|
+ console.log('load more data error',error)
|
|
|
});
|
|
|
}
|
|
|
|