index.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <template>
  2. <div>
  3. <basicLayout
  4. ref="basicLayout"
  5. :oldFormPath="{
  6. add:'HManagement/clueManage/clue_public/modules',
  7. edit:'HManagement/clueManage/clue_public/modules'
  8. }"
  9. tableName="cluePublicTable"
  10. idName="sat_orderclueid"
  11. :apiId="{query:20221101094402,del:20221101100502}"
  12. :options="options"
  13. :detailPath="{path:'/clueDetail'}"
  14. @listCreate="list"
  15. >
  16. <div slot="custom" style="display:flex">
  17. </div>
  18. <div slot="titleRight" style="display:flex;margin-left:10px">
  19. <distribution class="inline-16" v-if="tool.checkAuth($route.name,'distribution')" @onSuccess="$refs.basicLayout.listData()"></distribution>
  20. <distributionSaler v-if="tool.checkAuth($route.name,'distributionSaler')" @onSuccess="$refs.basicLayout.listData()"></distributionSaler>
  21. </div>
  22. <template v-slot:tbList="scope">
  23. <div v-if="scope.data.column.columnname == 'status'">
  24. <span style="color:#cccccc" v-if="scope.data.column.data[[scope.data.column.columnname]] == '已过期'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  25. <span style="color:#52C41A" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '跟进中'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  26. <span style="color:#FA8C16" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '待跟进'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  27. <span style="color:#F60909" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '已成交'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  28. <span style="color:#BBBBBB" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '无效'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  29. <span v-else>{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  30. </div>
  31. <div v-else-if="scope.data.column.columnname == 'province' && scope.data.column.data.province">
  32. {{scope.data.column.data.province}}-{{scope.data.column.data.city}}-{{scope.data.column.data.county}}
  33. </div>
  34. <div v-else>
  35. {{scope.data.column.data[[scope.data.column.columnname]]}}
  36. </div>
  37. <span v-if="!scope.data.column.data[scope.data.column.columnname] ">--</span>
  38. </template>
  39. </basicLayout>
  40. </div>
  41. </template>
  42. <script>
  43. import {mapGetters} from 'vuex'
  44. import distribution from './modules/distribution.vue'
  45. import distributionSaler from './modules/distribution_saler.vue'
  46. export default {
  47. components:{
  48. distribution,
  49. distributionSaler,
  50. },
  51. ...mapGetters({
  52. sys_options:'sys_options'
  53. }),
  54. data () {
  55. return {
  56. options:[],
  57. search:{},
  58. area:'0',
  59. areaList2:[],
  60. statusList:[],
  61. status:'',
  62. arealist:[]
  63. }
  64. },
  65. methods:{
  66. statusChange () {
  67. this.$refs.basicLayout.param.content.where.status = this.search.status
  68. this.$refs.basicLayout.listData()
  69. }
  70. },
  71. provide() {
  72. return {
  73. arealist:() => this.arealist,
  74. }
  75. },
  76. async created () {
  77. const res = await this.$store.dispatch('optiontypeselect','dataarea')
  78. this.areaList2 = res.data
  79. const res2 = await this.$store.dispatch('optiontypeselect','cluepublic')
  80. this.statusList = res2.data
  81. this.query_arealist()
  82. },
  83. methods: {
  84. list (params) {
  85. params.content.nocache = true
  86. },
  87. async query_arealist() {
  88. const res = await this.$api.requested({
  89. "classname": "system.tools",
  90. "method": "query_arealist",
  91. "content": {
  92. }
  93. })
  94. this.arealist = this.tool.createMenu(res.data)
  95. },
  96. }
  97. }
  98. </script>
  99. <style>
  100. </style>