index.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <template>
  2. <div>
  3. <basicLayout
  4. ref="basicLayout"
  5. :oldFormPath="{
  6. edit:'HManagement/clueManage/clue_private/modules',
  7. add:'HManagement/clueManage/clue_private/modules'
  8. }"
  9. :tableName="value == '经销商' ? 'cluePrivateTable' : 'cluePrivateSalerTable'"
  10. idName="sat_orderclueid"
  11. :apiId="{query:20221101094302,del:20221101100502}"
  12. :options="options"
  13. :detailPath="{path:'/clueDetail_private'}"
  14. @listCreate="list"
  15. @listData="listdata"
  16. >
  17. <div slot="titleRight" style="display:flex;margin-left:10px">
  18. <distribution class="inline-16" v-if="tool.checkAuth($route.name,'distribution')" @onSuccess="$refs.basicLayout.listData()"></distribution>
  19. <distributionSaler v-if="tool.checkAuth($route.name,'distribution')" @onSuccess="$refs.basicLayout.listData()"></distributionSaler>
  20. </div>
  21. <div slot="custom" style="display:flex">
  22. <div class="label_center" style="display:flex;margin-right:10px">
  23. <p class="search__label">人员类别:</p>
  24. <el-select size="small" v-model="value" placeholder="请选择人员类别" @change="selectChange">
  25. <el-option
  26. v-for="item in select"
  27. :key="item.value"
  28. :label="item.label"
  29. :value="item.value">
  30. </el-option>
  31. </el-select>
  32. </div>
  33. <div class="label_center">
  34. <p class="search__label">跟进状态:</p>
  35. <el-select v-model="status" clearable style="margin-right:10px" size="small" placeholder="请选择线索状态" @change="$refs.basicLayout.param.content.pageNumber = 1 ;$refs.basicLayout.param.content.where.status = status;$refs.basicLayout.listData()">
  36. <el-option v-for="item in statusList" :label="item.value" :key="item.rowindex" :value="item.remarks">
  37. </el-option>
  38. </el-select>
  39. </div>
  40. <div class="label_center">
  41. <p class="search__label">分配状态:</p>
  42. <el-select v-model="allocationstatus" clearable style="margin-right:10px" size="small" placeholder="请选择线索状态" @change="$refs.basicLayout.param.content.pageNumber = 1 ;$refs.basicLayout.param.content.where.allocationstatus = allocationstatus;$refs.basicLayout.listData()">
  43. <el-option label="待分配" value="待分配">
  44. </el-option>
  45. <el-option label="已分配" value="已分配">
  46. </el-option>
  47. </el-select>
  48. </div>
  49. </div>
  50. <template v-slot:tbList="scope">
  51. <div v-if="scope.data.column.columnname == 'status'">
  52. <span style="color:#999999" v-if="scope.data.column.data[[scope.data.column.columnname]] == '已过期'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  53. <span style="color:#52c41a" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '跟进中'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  54. <span style="color:#3874f6" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '待跟进'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  55. <span style="color:#333333" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '已无效'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  56. <span style="color:#fa8c16" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '已转化'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  57. <span v-else>{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  58. </div>
  59. <div v-else-if="scope.data.column.columnname == 'allocationstatus'">
  60. <span style="color:#3874f6" v-if="scope.data.column.data[[scope.data.column.columnname]] == '待分配'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  61. <span style="color:#333333" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '已分配'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  62. </div>
  63. <div v-else-if="scope.data.column.columnname == 'province'">
  64. <span>{{scope.data.column.data.province}}-{{scope.data.column.data.city}}-{{scope.data.column.data.county}}</span>
  65. </div>
  66. <div v-else>
  67. {{scope.data.column.data[[scope.data.column.columnname]]}}
  68. </div>
  69. <span v-if="!scope.data.column.data[scope.data.column.columnname] ">--</span>
  70. </template>
  71. </basicLayout>
  72. </div>
  73. </template>
  74. <script>
  75. import distribution from '@/HManagement/clueManage/clue_public/modules/distribution'
  76. import distributionSaler from '@/HManagement/clueManage/clue_public/modules/distribution_saler'
  77. export default {
  78. components:{
  79. distribution,
  80. distributionSaler
  81. },
  82. data () {
  83. return {
  84. options:[],
  85. value:'经销商',
  86. select: [
  87. {label:'经销商',value:'经销商'},
  88. {label:'业务员',value:'业务员'}
  89. ],
  90. statusList:[],
  91. status:'',
  92. allocationstatus:'',
  93. arealist:[]
  94. }
  95. },
  96. provide() {
  97. return {
  98. arealist:() => this.arealist,
  99. }
  100. },
  101. async created () {
  102. const res2 = await this.$store.dispatch('optiontypeselect','datafollowuptype')
  103. this.statusList = res2.data
  104. this.query_arealist()
  105. },
  106. methods:{
  107. list (param) {
  108. param.content.where.cluetype = '经销商'
  109. },
  110. selectChange () {
  111. this.$refs.basicLayout.param.content.where.cluetype = this.value
  112. this.$refs.basicLayout.param.content.pageNumber = 1
  113. this.$refs.basicLayout.listData()
  114. },
  115. async query_arealist() {
  116. const res = await this.$api.requested({
  117. "classname": "system.tools",
  118. "method": "query_arealist",
  119. "content": {
  120. }
  121. })
  122. this.arealist = this.tool.createMenu(res.data)
  123. },
  124. listdata(data) {
  125. console.log(data);
  126. }
  127. }
  128. }
  129. </script>
  130. <style>
  131. </style>