list.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <template>
  2. <view>
  3. <view class="tab"><u-tabs :list="tab" :current="current" @click="click"></u-tabs></view>
  4. <view class="list">
  5. <view class="spitem" v-for="(item, index) in list" :key="index" @click="detail(item.formId, item.docId)">
  6. <view class="title">
  7. <text class="icon">&#xe602;</text>
  8. <text class="tit">[{{ item.flowName }}]</text>
  9. <view class="dev">{{ item.subject.summaryText }}</view>
  10. </view>
  11. <view class="desc">
  12. <view class="name">{{ item.initiator }}</view>
  13. <view class="bm omit">{{ item.initiatorDept }}</view>
  14. <view class="date">{{ item.actionTime }}</view>
  15. </view>
  16. <view class="clear"></view>
  17. </view>
  18. <view class="loading" v-if="loadMore"><u-loadmore :status="loadMore ? 'loading' : 'nomore'" /></view>
  19. <u-empty v-if="!loadMore && list.length == 0"></u-empty>
  20. </view>
  21. </view>
  22. </template>
  23. <script>
  24. export default {
  25. data() {
  26. return {
  27. param: { _currpage: 1 },
  28. list: [],
  29. tab: [{ name: '全部' }, { name: '主流程' }, { name: '数字实验室' }, { name: '数字实验室' }, { name: '实验流程' }, { name: '设备借用' }],
  30. show: false,
  31. loadMore: true,
  32. current:0,
  33. flowId:'__cdN7J1XsfNyfF40QotH'
  34. };
  35. },
  36. onLoad(e) {
  37. //this.getaccessToken();
  38. this.getnavData();
  39. this.getData();
  40. },
  41. methods: {
  42. getnavData() {
  43. this.http.request({
  44. url: this.http.urls.navspendings,
  45. data: this.param,
  46. method: 'GET',
  47. loading: 'false',
  48. success: res => {
  49. this.tab=[];
  50. res.data.data[0].pendingFlowList.forEach(item => {
  51. var badge={value:0}
  52. item.badge=badge;
  53. item.badge.value=item.num;
  54. this.tab.push(item);
  55. });
  56. }
  57. });
  58. },
  59. getData() {
  60. this.http.request({
  61. url: this.http.urls.flowcenters_pendings+'&flowId='+this.flowId+'&applicationId=__gAPYBW4YxB3UePM3lqO',
  62. data: this.param,
  63. method: 'GET',
  64. loading: 'false',
  65. success: res => {
  66. console.log('res' + JSON.stringify(res));
  67. let totalPage = res.data.data.rowCount < 10 ? 1 : res.data.data.rowCount / 10;
  68. this.loadMore = totalPage > this.param._currpage ? true : false;
  69. res.data.data.datas.forEach(item => {
  70. item.subject = JSON.parse(item.subject);
  71. item.subject.summaryText = item.subject.summaryText.replace(/\r|\n/gi, '');
  72. this.list.push(item);
  73. });
  74. }
  75. });
  76. },
  77. //选择tab
  78. click(e) {
  79. console.log('e:' + JSON.stringify(e));
  80. this.flowId=e.id;
  81. this.getData();
  82. },
  83. //刷新数据
  84. refresh() {
  85. this.loadMore = true;
  86. this.param._currpage = 1;
  87. this.list = [];
  88. this.getData();
  89. },
  90. //跳转到详情
  91. detail(id, ste) {
  92. uni.navigateTo({
  93. url: '/pages/index/detail?id=' + id + '&ste=' + ste
  94. });
  95. },
  96. },
  97. //下拉刷新
  98. onPullDownRefresh() {
  99. setTimeout(() => {
  100. this.refresh();
  101. uni.stopPullDownRefresh();
  102. }, 1000);
  103. },
  104. //上拉加载
  105. onReachBottom() {
  106. if (this.loadMore) {
  107. this.param._currpage++;
  108. this.getData();
  109. }
  110. },
  111. //展开搜索
  112. onNavigationBarButtonTap() {
  113. this.show = !this.show;
  114. }
  115. };
  116. </script>
  117. <style lang="scss">
  118. .tab {
  119. background-color: white;
  120. }
  121. .list {
  122. padding: 5px 0px 0px 0px;
  123. }
  124. </style>