list.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <template>
  2. <view class="listbox">
  3. <view class="fixedt">
  4. <!-- tab -->
  5. <view class="tablists flexc">
  6. <block v-for="(ite,idx) in tabList" >
  7. <view v-if="!ite.limit||ite.limit&&checkPermi([ite.limit])" @click="getTabFn(ite.val)" :class="{act:tabval==ite.val}" :key="idx">{{ite.tit}}</view>
  8. </block>
  9. </view>
  10. <!-- 选择器 -->
  11. <view class="flexc checkbox">
  12. <picker mode="date" @change='bindDateChangea'>
  13. <view class="chekt">
  14. <view>{{sbsj|| "申报时间"}}</view>
  15. <image :src="upimg"></image>
  16. </view>
  17. </picker>
  18. <picker range-key='label' :value="shidx" :range="shlist" @change='bindDateChangeb'>
  19. <view class="chekt">
  20. <view>{{shzt || "审核状态"}}</view>
  21. <image :src="upimg"></image>
  22. </view>
  23. </picker>
  24. <picker range-key='label' :value="shidx" :range="shlist" @change='bindDateChangeb'>
  25. <view class="chekt">
  26. <view>{{shzt || "申贷银行"}}</view>
  27. <image :src="upimg"></image>
  28. </view>
  29. </picker>
  30. <picker range-key='label' :value="shidx" :range="shlist" @change='bindDateChangeb'>
  31. <view class="chekt">
  32. <view>{{shzt || "担保类型"}}</view>
  33. <image :src="upimg"></image>
  34. </view>
  35. </picker>
  36. <view class="reset" @click="getResetFn">
  37. <image :src="resetimg"></image>
  38. </view>
  39. </view>
  40. </view>
  41. <!-- 列表 -->
  42. <view class="plr18">
  43. <bus-list :datalist="list" :wtdt="wtdt" :type="type" @getDetail="getDetail"></bus-list>
  44. </view>
  45. </view>
  46. </template>
  47. <script>
  48. import config from '@/config'
  49. const baseUrl = config.baseUrl
  50. import busList from "@/work/components/business/list.vue"
  51. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  52. export default{
  53. components:{busList},
  54. data(){
  55. return{
  56. upimg:require('@/work/static/images/sup.png'),
  57. resetimg:require('@/work/static/images/reset.png'),
  58. list:[{tit:'123'}],
  59. pageSize: 10,
  60. pageNum: 1,
  61. reachflag: true,
  62. wtdt:'',
  63. // limit:''
  64. type:'work',
  65. tabval:'0',
  66. tabList:[
  67. {tit:'全部',val:'0',},{tit:'申报审核',val:'1',},{tit:'担保初审',val:'2',},
  68. {tit:'尽职调查',val:'3',},{tit:'评审会',val:'4',},{tit:'签署合同',val:'5',},
  69. ],
  70. sbsj:'',
  71. shidx:0,
  72. shzt:'',
  73. shztid:'',
  74. shlist:[{label:"未审",value:'0'},{label:"已审",value:'1'},{label:"已拒",value:'2'}]
  75. }
  76. },
  77. // 上拉触底加载更多触发事件
  78. onReachBottom() {
  79. // if (this.reachflag) {
  80. // this.pageNum++
  81. // this.getDataFn()
  82. // }
  83. },
  84. methods:{
  85. checkPermi, checkRole,
  86. getDetail(){
  87. this.$tab.navigateTo("/work/pages/business/details")
  88. },
  89. getTabFn(val){
  90. this.tabval=val
  91. },
  92. bindDateChangea(e){
  93. var val=e.detail.value;
  94. this.sbsj=val;
  95. this.getrefreshData()
  96. },
  97. bindDateChangeb(e){
  98. var val=e.detail.value;
  99. this.shzt=this.shlist[val].label;
  100. this.shztid=this.shlist[val].value;
  101. this.getrefreshData()
  102. },
  103. getResetFn(){
  104. // 重置
  105. this.getrefreshData()
  106. },
  107. getrefreshData(){
  108. // this.pageNum=1;
  109. // this.list=[];
  110. // this.reachflag=true;
  111. // this.getDataFn()
  112. },
  113. getDataFn(){
  114. var params={
  115. pageSize:this.pageSize,
  116. pageNum: this.pageNum,
  117. }
  118. getCaseListFn(params).then(res=>{
  119. if(res.code==200){
  120. if (res.rows.length < this.pageSize) {
  121. this.reachflag = false
  122. this.wtdt = '到底了~';
  123. } else {
  124. var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum - 1)
  125. if (num < res.total) {
  126. this.reachflag = true
  127. this.wtdt = ''
  128. } else {
  129. this.reachflag = false
  130. this.wtdt = '到底了~';
  131. }
  132. }
  133. if (this.pageNum == 1) {
  134. this.list = res.rows;
  135. } else {
  136. this.list = this.list.concat(res.rows)
  137. }
  138. }else{
  139. this.$toast(res.msg)
  140. }
  141. })
  142. },
  143. },
  144. }
  145. </script>
  146. <style lang="scss" scoped>
  147. .fixedt{position: fixed;left: 0;right: 0;top: 0;z-index: 2;}
  148. .fixedt /deep/ uni-picker{flex: 1;}
  149. .tablists{background: $com-cd3;overflow: auto;flex-wrap: nowrap;padding:4rpx 16rpx 16rpx;
  150. view{font-weight: bold;font-size: 26rpx;color: #FFFFFF;position: relative;flex: 1 0 auto;padding: 0rpx 20rpx;margin-right: 6rpx;box-sizing: border-box;text-align: center;
  151. height: 80rpx;display: flex;align-items: center;
  152. &:last-child{margin-right: 0;}
  153. &.act{font-size: 30rpx;
  154. &::after{content: '';width: 30rpx;height: 10rpx;background: #FFFFFF;border-radius: 4rpx;left: 50%;margin-left: -15rpx;bottom: 0rpx;position: absolute;}
  155. }
  156. }
  157. }
  158. .checkbox{padding: 4rpx 0 0 20rpx ;background-color: #efefef;
  159. .chekt{display: flex;align-items: center;margin-right: 12rpx;height:88rpx;
  160. view{text-align: center;
  161. font-weight: bold;font-size: 26rpx;color: #374B61;width: 136rpx;word-break: break-all;text-overflow: ellipsis;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;white-space: normal;}
  162. image{width: 16rpx;height: 12rpx;flex: 0 0 auto;margin-left: 4rpx;}
  163. }
  164. }
  165. .reset{width:56rpx; height: 88rpx;display: flex;align-items: center;justify-content: center;
  166. image{width: 26rpx;height: 30rpx;}
  167. }
  168. .listbox{padding-top: 192rpx;padding-bottom: 24rpx;}
  169. </style>