import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
/**
* 订单查询 type值 0 全部订单 1待付款 2 待收货 3 退款/退货
* @param type
* @return
*/
@RequestMapping("/list")
public R list(Integer type,Integer page,Integer pageSize){
System.out.println("type="+type);
List<Order>orderList=null;
Map<String,Object>resultMap=new HashMap<String,Object>();
Page<Order>pageOrder=new Page<>(page,pageSize);
if(type==0){ // 全部订单查询
// orderList=orderService.list(new QueryWrapper<Order>().orderByDesc("id"));
Page<Order> orderResult = orderService.page(pageOrder, new QueryWrapper<Order>().orderByDesc("id"));
System.out.println("总记录数:"+orderResult.getTotal());
System.out.println("总页数:"+orderResult.getPages());
System.out.println("当前页数据:"+orderResult.getRecords());orderList=orderResult.getRecords();
resultMap.put("total",orderResult.getTotal());
resultMap.put("totalPage",orderResult.getPages());}else{
// orderList = orderService.list(new QueryWrapper<Order>().eq("status", type).orderByDesc("id"));
Page<Order> orderResult = orderService.page(pageOrder, new QueryWrapper<Order>().eq("status", type).orderByDesc("id"));
System.out.println("总记录数:"+orderResult.getTotal());
System.out.println("总页数:"+orderResult.getPages());
System.out.println("当前页数据:"+orderResult.getRecords());orderList=orderResult.getRecords();
resultMap.put("total",orderResult.getTotal());
resultMap.put("totalPage",orderResult.getPages());}
resultMap.put("orderList",orderList);return R.ok(resultMap);}
前端定义分页参数:
// 接口参数
QueryParams:{
type:0,
page:1,// 第几页
pageSize:10 // 每页记录数
},
// 总页数
totalPage:1,
触底获取下一页数据:
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function(){
console.log("触底")
if(this.QueryParams.page>=this.totalPage){
// 没有下一页数据
console.log("没有下一页数据");
wx.showToast({
title: '没有下一页数据了'})}else{
console.log("有下一页数据");
this.QueryParams.page++;
this.getOrders();}},
拼接下一页数据:
/**
* 获取订单
*/
async getOrders(){
const res=await requestUtil({url:'/my/order/list',data:this.QueryParams});
console.log(res)this.totalPage=res.totalPage;
this.setData({
orders:[...this.data.orders,...res.orderList]})},
重置请求参数:
// 根据标题索引来激活选中的数据
changeTitleByIndex(index){
// 切换标题
let{tabs}=this.data;
tabs.forEach((v,i)=>i==index?v.isActive=true:v.isActive=false);
this.setData({
tabs
})},
/**
* tab点击事件处理
* @param {*} e
*/
handleItemTap(e){
const {index}=e.currentTarget.dataset;
this.changeTitleByIndex(index);
// console.log("index="+index)
// 获取订单列表
this.QueryParams.type=index;this.QueryParams.page=1;
this.setData({
orders:[]})
this.getOrders();},
下拉刷新实现:
开启下拉刷新:
{"usingComponents":{},
"navigationBarTitleText":"订单查询",
"enablePullDownRefresh":true,
"backgroundTextStyle":"dark"}
下拉刷新事件
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function(){
console.log("下拉刷新")this.QueryParams.page=1;
this.setData({
orders:[]})
this.getOrders();
// 手动关闭等待效果
wx.stopPullDownRefresh({})}
进入页面加载信息:
/**
* 生命周期函数--监听页面显示
*/
onShow: function(){
console.log("onShow")letpages=getCurrentPages();
console.log(pages)letcurrentPage=pages[pages.length-1];
const {type}=currentPage.options;
this.changeTitleByIndex(type);this.QueryParams.type=type;this.QueryParams.page=1;
this.getOrders();},
报错
2024-02-08 14:33:15.723 WARN 26256 --- [nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type'java.lang.String' to required type'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "undefined"]
链接
http://localhost:8080/my/order/list?type=undefined&page=1&pageSize=10
http://localhost:8080/my/order/list?type=0&page=1&pageSize=10
本文转载自: https://blog.csdn.net/m0_68935893/article/details/136078525
版权归原作者 九品印相 所有, 如有侵权,请联系我们删除。
版权归原作者 九品印相 所有, 如有侵权,请联系我们删除。