index.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <template>
  2. <view class="uni-app">
  3. <view class="status-bar" />
  4. <view class="main-container">
  5. <wk-nav-bar title="公海" :show-left="!showTabbar">
  6. <!-- #ifndef MP-WEIXIN -->
  7. <button class="button white-btn" @click="handleCrmSearch">
  8. <text class="wk wk-search" />
  9. </button>
  10. <!-- #endif -->
  11. </wk-nav-bar>
  12. <!-- #ifdef MP-WEIXIN -->
  13. <view class="search-box linear-gradient">
  14. <view class="box" @click="handleCrmSearch">
  15. <text class="wk wk-search" />
  16. <text class="wk-placeholder">
  17. 请输入客户名称/手机/电话
  18. </text>
  19. </view>
  20. </view>
  21. <!-- #endif -->
  22. <view class="list-view">
  23. <view class="list-wrapper">
  24. <list-filter
  25. crm-type="pool"
  26. @filter="handleFilter" />
  27. <wk-scroll-view
  28. v-if="!refreshPage"
  29. :status="listStatus"
  30. class="list-scroll"
  31. @refresh="getList({}, true)"
  32. @loadmore="getList()">
  33. <customer-item
  34. v-for="item in listData"
  35. :key="item.customerId"
  36. :item-data="item"
  37. :pool-id="filterData.poolId"
  38. is-seas />
  39. </wk-scroll-view>
  40. </view>
  41. </view>
  42. </view>
  43. <wk-tabbar
  44. v-if="showTabbar"
  45. v-model="footerIndex"
  46. :list="mixinFooterNav" />
  47. </view>
  48. </template>
  49. <script>
  50. import {PoolList} from 'API/crm/pool'
  51. import CustomerItem from '../customer/components/customerItem.vue'
  52. import ListFilter from '../components/listFilter/index.vue'
  53. import tabbar from '@/mixins/tabbar.js'
  54. import mainListMixins from '@/mixins/mainList.js'
  55. export default {
  56. name: 'SeasIndex',
  57. components: {
  58. CustomerItem,
  59. ListFilter
  60. },
  61. mixins: [tabbar, mainListMixins],
  62. data() {
  63. return {
  64. GetListFn: PoolList, // 获取列表数据接口
  65. listType: 'crm_pool',
  66. filterData: {
  67. poolId: null
  68. },
  69. refreshPage: false // 刷新页面标志
  70. }
  71. },
  72. onShow() {
  73. console.log('show ref', this.refreshPage)
  74. if (this.refreshPage) {
  75. this.$nextTick(function() {
  76. this.refreshPage = false
  77. this.getList({}, true)
  78. })
  79. }
  80. },
  81. methods: {
  82. /**
  83. * 拦截请求
  84. * @return {Boolean}
  85. */
  86. beforeGetList(params) {
  87. // 没有公海poolId参数,禁止请求列表
  88. return Boolean(params.poolId)
  89. },
  90. handleFilter(opt) {
  91. this.listParams = {
  92. page: 0,
  93. limit: 15
  94. }
  95. this.getList(opt, true)
  96. },
  97. handleCrmSearch() {
  98. this.$Router.navigateTo({
  99. url: '/pages_crm/crmSearch',
  100. query: {
  101. type: 'pool',
  102. poolId: this.listParams.poolId
  103. }
  104. })
  105. }
  106. }
  107. }
  108. </script>
  109. <style scoped lang="scss">
  110. @import '../style/list.scss';
  111. .main-container {
  112. overflow-y: hidden;
  113. .list-view {
  114. flex: 1;
  115. overflow-y: hidden;
  116. .list-wrapper {
  117. width: 100%;
  118. height: 100%;
  119. display: flex;
  120. flex-direction: column;
  121. overflow: hidden;
  122. .list-scroll {
  123. flex: 1;
  124. overflow: hidden;
  125. }
  126. }
  127. }
  128. }
  129. </style>