index.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <template>
  2. <view class="total-page page_env-20 page-box sys-list-background-color">
  3. <view class="task-bg">
  4. <Nav :title="'资产评估'" :genre="1" :back="false" is_fixed></Nav>
  5. <view>
  6. <Search :placeholder="'请输入资产名称'" @setSearch="setSearch"></Search>
  7. <view class="page-box-bg-fff m-lr20 r-20">
  8. <z-tabs ref="tabs" :list="tabsList"
  9. :active-style="{color:'#10B261',fontWeight:'bold',fontSize:'30rpx'}"
  10. :bar-style="{background:'#10B261'}" :inactive-style="{fontWeight:'bold',fontSize:'28rpx'}"
  11. :current="listData.status" :bar-animate-mode="'worm'" @change="tabsChange" />
  12. </view>
  13. </view>
  14. <EnScroll ref="scroll" :navHeight="100" is_tabHeight @onRefresh="onRefresh" @onScrollBottom="onScrollBottom">
  15. <LoanItem :task-list="list" @onCalculate="onCalculate"></LoanItem>
  16. </EnScroll>
  17. <view class="add-box" @click="addLaw">
  18. 新增查询
  19. </view>
  20. <!-- <en-button :is_both="0" :text="'新建查询'" @onSubmit="addLaw"> </en-button> -->
  21. <Tab class="tabs_height" :tab-index="2"></Tab>
  22. </view>
  23. </view>
  24. </template>
  25. <script>
  26. import LoanItem from "./loan-item.vue";
  27. import {getPredictList} from "@/api/valuation";
  28. export default {
  29. components: {
  30. LoanItem
  31. },
  32. data() {
  33. return {
  34. tabsList: [{
  35. name: '全部',
  36. disabled: false
  37. }, {
  38. name: '待认证',
  39. dot_color: 'red',
  40. is_dot: false,
  41. disabled: false
  42. }, {
  43. name: '查询中',
  44. dot_color: 'red',
  45. is_dot: false,
  46. disabled: false
  47. }, {
  48. name: '已完成',
  49. dot_color: 'red',
  50. is_dot: false,
  51. disabled: false
  52. }],
  53. list: [],
  54. listData: {
  55. status: 0,
  56. page: 1,
  57. total: 100,
  58. limit: 20,
  59. id_number: ''
  60. }
  61. }
  62. },
  63. watch: {},
  64. onShow() {
  65. // this.startList()
  66. },
  67. mounted() {
  68. this.startList()
  69. },
  70. methods: {
  71. startList() {
  72. this.listData = {
  73. status: 0,
  74. page: 1,
  75. total: 100,
  76. limit: 20,
  77. id_number: ''
  78. }
  79. this.list = []
  80. this.getPredictList()
  81. },
  82. getPredictList() {
  83. if (this.isAjax || (this.listData.total <= this.list.length)) {
  84. return;
  85. }
  86. getPredictList(this.listData).then((res) => {
  87. if (res.code === 0) {
  88. res.data.items.forEach(item=>{
  89. item.data=JSON.parse(item.data)
  90. this.list.push(item)
  91. })
  92. this.listData.total = res.data.total
  93. ++this.listData.page
  94. }
  95. })
  96. },
  97. addLaw() {
  98. console.log('aaaaaaaaaaaaaaaaaaaaaaaaaa')
  99. uni.navigateTo({
  100. url: "/pages/task/task"
  101. })
  102. },
  103. setSearch(text) {
  104. },
  105. onCalculate(data) {
  106. },
  107. onClose() {
  108. },
  109. tabsChange(index) {
  110. if (index && this.listData.status != index) {
  111. this.listData.status = index;
  112. this.listData.page = 1
  113. this.list = []
  114. this.lawOrderList()
  115. }
  116. },
  117. onRefresh() {
  118. if (this.list.length < this.listData.total) {
  119. this.listData.page++
  120. this.lawOrderList()
  121. }
  122. setTimeout(() => {
  123. this.$refs.scroll.onEndPulling()
  124. }, 200)
  125. console.log("下拉刷新");
  126. },
  127. // 滚动到底部
  128. onScrollBottom() {
  129. uni.showLoading({
  130. title: '数据加载中'
  131. })
  132. setTimeout(() => {
  133. uni.showToast({
  134. title: '加载完成',
  135. icon: 'none'
  136. })
  137. }, 1000)
  138. console.log("到底部了");
  139. },
  140. },
  141. }
  142. </script>
  143. <style lang="scss" scoped>
  144. .add-box {
  145. width: 100rpx;
  146. height: 100rpx;
  147. background: #10B261;
  148. border-radius: 50%;
  149. position: fixed;
  150. bottom: 300rpx;
  151. right: 10rpx;
  152. color: #fff;
  153. font-size: 27rpx;
  154. text-align: center;
  155. font-weight: bold;
  156. padding: 12rpx;
  157. box-sizing: border-box;
  158. }
  159. </style>