index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <template>
  2. <view class='purchase-list'>
  3. <my-tabs @change="tapChange" :modelData="modelData" :initIndex="initIndex"></my-tabs>
  4. <scroll-view class="purchase-body" scroll-y="true" @scrolltolower="scrolltolower" @scrolltoupper="scrolltoupper" @scroll="scroll" @touchstart="touchstart" @touchend="touchend">
  5. <my-unit v-for="(item,index) in listData" :key="index" :info="item" :initIndex="initIndex"></my-unit>
  6. </scroll-view>
  7. </view>
  8. </template>
  9. <script>
  10. import { getTodoTaskPage, getDoneTaskPage,getMyProcessInstancePage } from "@/api/work/index"
  11. import myTabs from '@/components/myTabs/myTabs.vue'
  12. import myUnit from '@/components/myUnits/purchaseUnit/unit.vue'
  13. import myPull from '@/static/js/myPull.js'
  14. export default {
  15. components:{myTabs,myUnit},
  16. data() {
  17. return {
  18. initIndex:0,
  19. pageNo: 1,
  20. pageSize: 10
  21. }
  22. },
  23. onShow(){
  24. let option = uni.getStorageSync('option');
  25. this.initIndex = option.initIndex;
  26. this.refresh();
  27. },
  28. methods: {
  29. /**
  30. * @name 获取列表
  31. */
  32. getList(page,done){
  33. console.log(`获取第${page}页数据`);
  34. if(this.initIndex==0){
  35. getTodoTaskPage({pageNo:page,pageSize: this.pageSize}).then(response => {
  36. let dataList = response.data.list;
  37. let list = []
  38. dataList.forEach(v => {
  39. list.push({
  40. title:v.processInstance.name,
  41. status: v.name,
  42. time:v.createTime,
  43. nickname:v.processInstance.startUser.nickname
  44. })
  45. })
  46. done(list);
  47. });
  48. }
  49. if(this.initIndex==1){
  50. getDoneTaskPage({pageNo:page,pageSize: this.pageSize}).then(response => {
  51. let dataList = response.data.list;
  52. let list = []
  53. dataList.forEach(v => {
  54. list.push({
  55. title:v.processInstance.name,
  56. status: v.name,
  57. time:v.createTime,
  58. nickname:v.processInstance.startUser.nickname
  59. })
  60. })
  61. done(list);
  62. });
  63. }
  64. if(this.initIndex==2){
  65. getMyProcessInstancePage({pageNo:page,pageSize: this.pageSize}).then(response => {
  66. let dataList = response.data.list;
  67. let list = []
  68. dataList.forEach(v => {
  69. list.push({
  70. title:v.name,
  71. status: v.status,
  72. time:v.startTime,
  73. nickname:v.currentAuditUser?v.currentAuditUser.nickname:''
  74. })
  75. })
  76. done(list);
  77. });
  78. }
  79. },
  80. /**
  81. * @name 触底加载
  82. */
  83. scrolltolower(event){
  84. this.getList(this.page,this.__pulldone)
  85. },
  86. scroll(e){
  87. // 重新设置pulldown
  88. this.setPullDown(e.detail.scrollTop<10)
  89. },
  90. scrolltoupper(){
  91. },
  92. /**
  93. * @name 改变tab
  94. * @param val 索引
  95. */
  96. tapChange(val){
  97. this.initIndex=val;
  98. uni.setStorageSync('option',{initIndex:val, val:'switchTab'})
  99. this.page = 1;
  100. this.getList(this.page,this.__pulldone)
  101. }
  102. },
  103. mixins:[myPull({})],
  104. }
  105. </script>
  106. <style lang='scss' scoped>
  107. .purchase-list {
  108. background-color: #f5f5f5;
  109. height: 100%;
  110. overflow: hidden;
  111. .purchase-body{
  112. height: calc(100% - 88upx);
  113. overflow: auto
  114. }
  115. }
  116. </style>