healthReportHistory.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <template>
  2. <view class="container">
  3. <mescroll-body ref="mescrollRef" @init="mescrollInit" :down="downOption" :up="upOption" @down="downCallback" @up="upCallback">
  4. <view>
  5. <view class="list-item" v-for="(item,index) in dataList" :key="index" @click="handleDetail(item)">
  6. {{item}} 健康报告
  7. </view>
  8. </view>
  9. </mescroll-body>
  10. </view>
  11. </template>
  12. <script>
  13. import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
  14. import {queryMonthByDeviceId} from "@/api/pages_watch/health.js"
  15. export default {
  16. data() {
  17. return {
  18. queryParam: {
  19. deviceId: uni.getStorageSync("deviceId") || 0,
  20. pageSize: 10,
  21. pageNum: 1,
  22. },
  23. mescroll:null,
  24. downOption: { //下拉刷新
  25. use:true,
  26. auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
  27. },
  28. upOption: {
  29. onScroll:false,
  30. use: true, // 是否启用上拉加载; 默认true
  31. page: {
  32. pae: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
  33. size: 10 // 每页数据的数量,默认10
  34. },
  35. noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
  36. textNoMore:"已经到底了",
  37. empty: {
  38. icon:'https://cos.his.cdwjyyh.com/fs/20240423/cf4a86b913a04341bb44e34bb4d37aa2.png',
  39. tip: '暂无数据'
  40. }
  41. },
  42. dataList: []
  43. }
  44. },
  45. methods: {
  46. mescrollInit(mescroll) {
  47. this.mescroll = mescroll;
  48. },
  49. /*下拉刷新的回调 */
  50. downCallback() {
  51. this.mescroll.resetUpScroll()
  52. },
  53. /*上拉加载的回调*/
  54. upCallback(page) {
  55. //联网加载数据
  56. var that = this;
  57. this.queryParam.pageNum = page.num
  58. this.queryParam.pageSize = page.size
  59. queryMonthByDeviceId(this.queryParam).then(res => {
  60. if(res.code==0){
  61. if (page.num == 1) {
  62. that.dataList = res.rows;
  63. } else {
  64. that.dataList = that.dataList.concat(res.rows);
  65. }
  66. that.mescroll.endBySize(res.rows.length, res.total);
  67. }else{
  68. uni.showToast({
  69. icon:'none',
  70. title: "请求失败",
  71. });
  72. that.dataList = null;
  73. that.mescroll.endErr();
  74. }
  75. });
  76. },
  77. handleDetail(item) {
  78. uni.$emit('refreshReport', item);
  79. uni.navigateBack()
  80. }
  81. }
  82. }
  83. </script>
  84. <style lang="scss" scoped>
  85. .container{
  86. padding: 24rpx;
  87. padding-bottom: calc(var(--window-bottom) + 24rpx);
  88. box-sizing: border-box;
  89. .list-item {
  90. padding: 30rpx 24rpx;
  91. margin-bottom: 24rpx;
  92. border-radius: 16rpx;
  93. overflow: hidden;
  94. background-color: #fff;
  95. }
  96. }
  97. </style>