list.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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: { appId: '__gAPYBW4YxB3UePM3lqO', containTitle: '申请单', opentarget: 'detail', viewId: '__km3aURKW95BHxp12XVt', _currpage: 1 },
  28. list: [],
  29. tab: [{ name: '全部' }, { name: '主流程' }, { name: '数字实验室' }, { name: '数字实验室' }, { name: '实验流程' }, { name: '设备借用' }],
  30. show: false,
  31. loadMore: true
  32. };
  33. },
  34. onLoad(e) {
  35. //this.getaccessToken();
  36. //this.getData();
  37. },
  38. methods: {
  39. getData() {
  40. this.http.request({
  41. url: this.http.urls.myPending,
  42. data: this.param,
  43. method: 'POST',
  44. loading: 'false',
  45. success: res => {
  46. let totalPage = res.data.data.row_count < 10 ? 1 : res.data.data.row_count / 10;
  47. this.loadMore = totalPage > this.param._currpage ? true : false;
  48. res.data.data.data.forEach(item => {
  49. item.subject = JSON.parse(item.subject);
  50. item.subject.summaryText = item.subject.summaryText.replace(/\r|\n/gi, '');
  51. this.list.push(item);
  52. });
  53. }
  54. });
  55. },
  56. //选择tab
  57. click(e) {
  58. },
  59. //刷新数据
  60. refresh() {
  61. this.loadMore = true;
  62. this.param._currpage = 1;
  63. this.list = [];
  64. this.getData();
  65. },
  66. //跳转到详情
  67. detail(id, ste) {
  68. uni.navigateTo({
  69. url: '/pages/index/detail?id=' + id + '&ste=' + ste
  70. });
  71. },
  72. },
  73. //下拉刷新
  74. onPullDownRefresh() {
  75. setTimeout(() => {
  76. this.refresh();
  77. uni.stopPullDownRefresh();
  78. }, 1000);
  79. },
  80. //上拉加载
  81. onReachBottom() {
  82. if (this.loadMore) {
  83. this.param._currpage++;
  84. this.getData();
  85. }
  86. },
  87. //展开搜索
  88. onNavigationBarButtonTap() {
  89. this.show = !this.show;
  90. }
  91. };
  92. </script>
  93. <style lang="scss">
  94. .tab {
  95. background-color: white;
  96. }
  97. .list {
  98. padding: 5px 0px 0px 0px;
  99. }
  100. </style>