ownersinfo.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <template>
  2. <view>
  3. <u-navbar
  4. title="车主信息"
  5. title-color="#fff"
  6. :custom-back="customBack"
  7. :border-bottom="false"
  8. back-icon-color="#CCE8FF"
  9. :background="{background: 'linear-gradient(145deg, #41AFF9 0%, #2D8CFB 100%)' }"></u-navbar>
  10. <!-- <u-empty class="u-m-t-50" text="很棒!没有欠费订单!" mode="list" v-if="listEmpty"></u-empty> -->
  11. <mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" >
  12. <view class="owelist">
  13. <view class="owelist-item" v-for="(item,index) in owelist" :key="item.id">
  14. <view class="item-header u-flex u-row-between">
  15. <view class="vehicle-no">{{item.vehicleNo}}</view>
  16. <view class="space-name">{{item.spaceName}}</view>
  17. </view>
  18. <view class="road-name u-flex">
  19. <u-icon name="map-fill" color="#3397FA" size="36"></u-icon>
  20. {{item.roadName}}
  21. </view>
  22. <view class="info-item">进场时间:{{item.inTime}}</view>
  23. <view class="info-item">出场时间:{{item.outTime}}</view>
  24. <view class="info-item">停车时长:{{item.duration}}</view>
  25. <view class="info-item">收费员:{{item.payeeName}}</view>
  26. <view class="info-item">支付金额:<span class="amount">{{item.payAmount}}元</span></view>
  27. <view class="info-item">订单状态:{{item.orderStatus|filterOrderStatus}}</view>
  28. </view>
  29. </view>
  30. </mescroll-body>
  31. <u-toast ref="uToast" />
  32. </view>
  33. </template>
  34. <script>
  35. import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
  36. export default{
  37. mixins: [MescrollMixin], // 使用mixin
  38. data(){
  39. return{
  40. vehicleNo:'',
  41. listEmpty:false,
  42. owelist:[],
  43. pagination:Object.assign({}, {pageNo: 1,pageSize: 10}),
  44. }
  45. },
  46. onLoad(page){
  47. this.vehicleNo = page.vehicleNo;
  48. console.log('this.vehicleNo',this.vehicleNo)
  49. },
  50. onShow(){
  51. // this.owelist = [];
  52. },
  53. onReachBottom() {
  54. // this.getData();
  55. },
  56. methods:{
  57. customBack(){
  58. this.$u.route({
  59. // type:'switchTab',
  60. url: 'pages/index/index'
  61. });
  62. },
  63. downCallback(){
  64. this.mescroll.resetUpScroll();
  65. },
  66. upCallback(page){
  67. console.log('upCallback ',page);
  68. let pageNum = page.num; // 页码, 默认从1开始
  69. let pageSize = page.size; // 页长, 默认每页10条
  70. this.$u.api.vehicleList({vehicleNo:this.vehicleNo,pageNum:pageNum,pageSize:pageSize})
  71. .then(res=>{
  72. // uni.hideLoading();
  73. // this.$refs.uToast.show({
  74. // title: res.msg,
  75. // type: 'success',
  76. // });
  77. //设置列表数据
  78. let curPageData = res.data.rows;
  79. // 接口返回的当前页数据长度 (如列表有26个数据,当前页返回8个,则curPageLen=8)
  80. let curPageLen = curPageData.length;
  81. let totalPage = res.data.pages;
  82. if(page.num == 1) this.owelist = []; //如果是第一页需手动置空列表
  83. this.owelist = this.owelist.concat(curPageData); //追加新数据
  84. // 请求成功,隐藏加载状态
  85. //后台接口有返回列表的总页数 totalPage
  86. this.mescroll.endByPage(curPageLen, totalPage);
  87. this.leaveDetail = res.data;
  88. for (let item of res.data.rows) {
  89. this.owelist.push(item)
  90. }
  91. if(this.owelist.length<=0){this.listEmpty = true};
  92. console.log('vehicleList',res)
  93. }).catch(err=>{
  94. // uni.hideLoading();
  95. this.$refs.uToast.show({
  96. title: err.msg,
  97. type: 'error',
  98. });
  99. console.log('vehicleList ',err)
  100. });
  101. }
  102. }
  103. }
  104. </script>
  105. <style lang="scss">
  106. @import './ownersinfo.scss'
  107. </style>