task_to_do.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <template>
  2. <view class="main pt0">
  3. <view class="tab">
  4. <u-tabs :list="tab" @click="tabClick"></u-tabs>
  5. </view>
  6. <view class="item_job" v-for="(item, index) in list" :key="index" @click="go('/pages/user/resume/application/task_detail?item=' + JSON.stringify(item))">
  7. <view class="top">
  8. <view class="title omit">{{ item.title }}</view>
  9. <view class="salary">{{ item.salary }}¥</view>
  10. </view>
  11. <view class="bot bt">
  12. <view class="address">{{ item.startDate }}至{{ item.endDate }}</view>
  13. <view class="distance">{{ item.createTime }}</view>
  14. </view>
  15. <view class="flex">
  16. <view class="f br agree" v-if="item.isComplete == 0">进行中...</view>
  17. <view class="f br agree" v-if="item.isComplete == 1">确认中...</view>
  18. <view class="f br agree" v-if="item.isComplete == 2">已完成</view>
  19. <view class="f br danger" v-if="item.isComplete == 3">未通过</view>
  20. </view>
  21. </view>
  22. <view class="loading" v-if="loadMore"><u-loadmore :status="loadMore ? 'loading' : 'nomore'" /></view>
  23. <u-empty v-if="!loadMore && list.length == 0"></u-empty>
  24. </view>
  25. </template>
  26. <script>
  27. export default {
  28. data() {
  29. return {
  30. tab: [
  31. { name: '全部', isComplete: '' },
  32. { name: '进行中', isComplete: 0 },
  33. { name: '确认中', isComplete: 1 },
  34. { name: '已完成', isComplete: 2 },
  35. { name: '未通过', isComplete: 3 }
  36. ],
  37. list: [],
  38. param: { pageNum: 1, pageSize: 10, state: 1, type: 1, isAccept: 1 },
  39. loadMore: true
  40. };
  41. },
  42. onLoad(e) {
  43. this.getData();
  44. },
  45. methods: {
  46. getData() {
  47. this.http.request({
  48. url: '/app/deliver/user/list',
  49. data: this.param,
  50. loading: 'false',
  51. success: (res) => {
  52. this.loadMore = res.data.pages > this.param.pageNum ? true : false;
  53. res.data.rows.forEach((item) => {
  54. item.createTime = uni.$u.timeFrom(Date.parse(item.createTime));
  55. this.list.push(item);
  56. });
  57. }
  58. });
  59. },
  60. go(url) {
  61. uni.navigateTo({ url: url });
  62. },
  63. tabClick(e) {
  64. this.param.isComplete = e.isComplete;
  65. this.refresh();
  66. },
  67. //刷新数据
  68. refresh() {
  69. this.loadMore = true;
  70. this.param.pageNum = 1;
  71. this.list = [];
  72. this.getData();
  73. }
  74. },
  75. //下拉刷新
  76. onPullDownRefresh() {
  77. setTimeout(() => {
  78. this.refresh();
  79. uni.stopPullDownRefresh();
  80. }, 1000);
  81. },
  82. //上拉加载
  83. onReachBottom() {
  84. if (this.loadMore) {
  85. this.param.pageNum++;
  86. this.getData();
  87. }
  88. }
  89. };
  90. </script>
  91. <style lang="scss"></style>