index.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <template>
  2. <view class="uni-app">
  3. <view class="status-bar" />
  4. <view class="main-container">
  5. <wk-nav-bar title="跟进记录" />
  6. <view class="filter-group">
  7. <!-- <wk-dropdown :auto-close="true" @change="handleDropdownChange">
  8. <template v-for="(item, index) in taskOptions">
  9. <wk-dropdown-item
  10. :key="index"
  11. :name="item.label"
  12. :default-index="item.defaultIndex"
  13. :options="item.options"
  14. @choose="handleFilter" />
  15. </template>
  16. </wk-dropdown> -->
  17. <wk-base-filter :tabs="taskOptions" @filter="handleFilter" />
  18. </view>
  19. <wk-scroll-view
  20. :status="listStatus"
  21. class="list-scroll"
  22. @refresh="getList({}, true)"
  23. @loadmore="getList()">
  24. <record-item
  25. v-for="(item, index) in listData"
  26. :key="index"
  27. :record-data="item" />
  28. </wk-scroll-view>
  29. </view>
  30. </view>
  31. </template>
  32. <script>
  33. import { QueryRecordList } from 'API/crm/work'
  34. import RecordItem from './components/recordItem.vue'
  35. import mainListMixins from '@/mixins/mainList.js'
  36. export default {
  37. name: 'RecordIndex',
  38. components: {
  39. RecordItem
  40. },
  41. mixins: [mainListMixins],
  42. data() {
  43. return {
  44. GetListFn: QueryRecordList,
  45. filterData: {
  46. dataType: 1,
  47. dateFilter: 'month',
  48. isOa: true,
  49. subUser: '0',
  50. queryType: 1 // 0 全部 1 跟进记录 2 外勤签到
  51. },
  52. taskOptions: [
  53. {
  54. label: '类型',
  55. field: 'subUser',
  56. value: 0,
  57. valueData: 1,
  58. options: [
  59. {label: '全部', value: '__delete__'},
  60. {label: '我创建的', value: '0'},
  61. {label: '我下属创建的', value: '1'}
  62. ]
  63. },
  64. {
  65. label: '全部时间',
  66. field: 'dateFilter',
  67. value: 'month',
  68. valueData: 4,
  69. options: [
  70. {label: '今天', value: 'today'},
  71. {label: '昨天', value: 'yesterday'},
  72. {label: '本周', value: 'week'},
  73. {label: '上周', value: 'lastWeek'},
  74. {label: '本月', value: 'month'},
  75. {label: '上月', value: 'lastMonth'},
  76. ]
  77. },
  78. ]
  79. }
  80. },
  81. onLoad(options) {
  82. if (options.subUser) {
  83. const val = Number(options.subUser)
  84. if (!isNaN(val)) {
  85. const findIndex = this.taskOptions[0].options.findIndex(o => o.value == val)
  86. if (findIndex != -1) {
  87. this.taskOptions[0].valueData = findIndex
  88. this.taskOptions[0].value = val
  89. this.filterData.subUser = val
  90. }
  91. }
  92. }
  93. this.getList()
  94. },
  95. methods: {
  96. getParams() {
  97. if (this.filterData.subUser && this.filterData.subUser === '__delete__') {
  98. this.filterData.subUser = ''
  99. this.filterData.dataType = ''
  100. } else if (this.filterData.subUser && this.filterData.subUser === '0') {
  101. this.filterData.dataType = 1
  102. } else if (this.filterData.subUser && this.filterData.subUser === '1') {
  103. this.filterData.dataType = 2
  104. }
  105. return this.filterData
  106. },
  107. handleFilter(item) {
  108. this.filterData[item.field] = item.value
  109. this.getList({}, true)
  110. },
  111. }
  112. }
  113. </script>
  114. <style scoped lang="scss">
  115. .main-container {
  116. width: 100%;
  117. height: 100%;
  118. display: flex;
  119. flex-direction: column;
  120. .list-scroll {
  121. flex: 1;
  122. overflow: hidden;
  123. }
  124. }
  125. </style>