index.vue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <template>
  2. <view>
  3. <uni-nav-bar fixed="true" statusBar="true" left-icon="back" title="备品备件申请单" @clickLeft="back"></uni-nav-bar>
  4. <pickCard :list="list" />
  5. <view v-show="list.length === 0" class="no_data">
  6. <u-empty mode="data"></u-empty>
  7. </view>
  8. </view>
  9. </template>
  10. <script>
  11. import pickCard from '@/pages/maintenanceWorkorder/components/pickCard.vue'
  12. import {
  13. getList
  14. } from '@/api/repair'
  15. let [page, size, isEnd] = [1, 10, true]
  16. export default {
  17. components: {
  18. pickCard
  19. },
  20. data() {
  21. return {
  22. list: [],
  23. }
  24. },
  25. onShow() {
  26. this.getFirstList()
  27. },
  28. onReachBottom: function() {
  29. console.log(11, 'a')
  30. if (isEnd) {
  31. return
  32. }
  33. // 显示加载图标
  34. uni.showLoading({
  35. title: '数据加载中'
  36. })
  37. this.getMoreLists()
  38. },
  39. methods: {
  40. getFirstList: function() {
  41. page = 1
  42. isEnd = true
  43. this.getList()
  44. },
  45. getMoreLists: function() {
  46. //获取更多数据
  47. page++
  48. this.getList()
  49. },
  50. getList() {
  51. uni.showLoading({
  52. title: '数据加载中'
  53. })
  54. let params = {
  55. pageNum: page,
  56. size
  57. }
  58. getList(params)
  59. .then(res => {
  60. if (page == 1) {
  61. this.list = res.list
  62. } else {
  63. res.list.forEach(element => {
  64. this.list.push(element)
  65. })
  66. }
  67. isEnd = this.list.length >= res.count
  68. uni.hideLoading()
  69. })
  70. .catch(() => {
  71. uni.hideLoading()
  72. })
  73. },
  74. }
  75. }
  76. </script>
  77. <style lang="scss" scoped>
  78. </style>