index.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <template>
  2. <view class="warpbox">
  3. <view class="tablist_new">
  4. <view class="tabtn" @click="changeTab(0)" :class="{'tabtn_active':active == 0}">{{i18n['全部']}}</view>
  5. <view class="tabtn" @click="changeTab(1)" :class="{'tabtn_active':active == 1}">{{i18n['处理中']}}</view>
  6. <view class="tabtn" @click="changeTab(2)" :class="{'tabtn_active':active == 2}">{{i18n['已完成']}}</view>
  7. </view>
  8. <scroll-view scroll-y class="scrollbox" @scrolltolower="loadMore">
  9. <view class="listwarp">
  10. <progressItem :list="list"></progressItem>
  11. </view>
  12. </scroll-view>
  13. </view>
  14. </template>
  15. <script>
  16. import progressItem from './item.vue'
  17. import { netOrderList } from '@/api/api.js'
  18. export default{
  19. components:{
  20. progressItem
  21. },
  22. data() {
  23. return{
  24. active:0,
  25. page:1,
  26. totalPage:1,
  27. list:[]
  28. }
  29. },
  30. computed:{
  31. i18n() {
  32. return this.$t("progress")
  33. }
  34. },
  35. onLoad() {
  36. this.init()
  37. },
  38. onShow() {
  39. uni.setNavigationBarTitle({
  40. title: this.i18n['查看进度']
  41. })
  42. },
  43. methods:{
  44. changeTab(e) {
  45. this.active = e
  46. this.init()
  47. },
  48. init() {
  49. this.page = 1
  50. this.list = []
  51. this.getList()
  52. },
  53. getList() {
  54. let params = {
  55. type:this.active,
  56. page:this.page
  57. }
  58. netOrderList(params).then(res=>{
  59. this.list = this.list.concat(res.data.data)
  60. this.totalPage = res.data.last_page
  61. })
  62. },
  63. loadMore() {
  64. if(this.page >= this.totalPage) {
  65. return
  66. }
  67. this.page ++
  68. this.getList()
  69. }
  70. }
  71. }
  72. </script>
  73. <style lang="scss" scoped>
  74. .scrollbox{
  75. width:750rpx;
  76. height:calc(100vh - 100rpx);
  77. .listwarp{
  78. padding:24rpx;
  79. }
  80. }
  81. </style>