task_list.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <view class="container">
  3. <view class="uni-container">
  4. <uni-card v-for="(item, index) in tableData" :key="index" title="任务名称" :sub-title="item.code"
  5. extra="进行中" @click="onClick(item)">
  6. <view class=" flex flex-direction">
  7. <text class="text-cut">截止日期:{{item.createTime}}</text>
  8. <text class="text-cut">任务说明:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...</text>
  9. </view>
  10. </uni-card>
  11. </view>
  12. </view>
  13. </template>
  14. <script>
  15. import {
  16. addRole,
  17. changeRoleStatus,
  18. delRole,
  19. exportRole,
  20. getRole,
  21. listRole,
  22. updateRole
  23. } from "@/api/system/role";
  24. export default {
  25. data() {
  26. return {
  27. // 人员数据
  28. tableData: [],
  29. // 每页数据量
  30. pageSize:20,
  31. // 当前页
  32. pageNo: 1,
  33. // 数据总量
  34. total: 0,
  35. // tableData数据加载中
  36. loading: false,
  37. }
  38. },
  39. onLoad() {
  40. this.getData(1)
  41. },
  42. methods: {
  43. // 获取数据
  44. getData(pageNo, value = '') {
  45. this.loading = true
  46. this.pageNo = pageNo
  47. listRole({
  48. pageNo: this.pageNo,
  49. pageSize: this.pageSize,
  50. }).then(response => {
  51. // 为数据赋值:通过展开运算符的形式,进行新旧数据的拼接
  52. this.tableData = [...this.tableData, ...response.data.list]
  53. // this.tableData = response.data.list;
  54. this.total = response.data.total;
  55. this.loading = false;
  56. });
  57. },
  58. onClick(val) {
  59. uni.navigateTo({
  60. url: '/pages/s9Unit/task/task_details/task_details',
  61. events: {
  62. // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
  63. acceptDataFromOpenedPage: function(val) {
  64. },
  65. },
  66. success: function(res) {
  67. // 通过eventChannel向被打开页面传送数据
  68. res.eventChannel.emit('acceptDataFromOpenerPage',val)
  69. }
  70. })
  71. },
  72. // 触底的事件
  73. onReachBottom() {
  74. // 判断是否还有下一页数据
  75. if (this.pageNo * this.pageSize >= this.total) return uni.showToast({
  76. title: `数据加载完毕`
  77. })
  78. // 判断是否正在请求其它数据,如果是,则不发起额外的请求
  79. if (this.loading) return
  80. this.pageNo += 1
  81. this.getData(this.pageNo)
  82. }
  83. }
  84. }
  85. </script>
  86. <style lang="scss">
  87. </style>