salesFunnel.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <template>
  2. <div>
  3. <borderTemplate borderBox="width: 33.333vw;height: 35.417vw;" title="销售漏斗" detailTitle="查看详情">
  4. <template slot="content">
  5. <div style="display: flex;justify-content: space-between">
  6. <div>
  7. <el-checkbox v-model="param.content.where.unfinish">包含失败、结案项目</el-checkbox>
  8. </div>
  9. <div>
  10. <el-select v-model="param.content.dateType" class="inline-16" size="small" @change="listData" :popper-append-to-body="false">
  11. <el-option :label="$t('全部')" value="全部"></el-option>
  12. <el-option :label="$t('本年')" value="本年"></el-option>
  13. <el-option :label="$t('本季')" value="本季"></el-option>
  14. <el-option :label="$t('本月')" value="本月"></el-option>
  15. <el-option :label="$t('去年')" value="去年"></el-option>
  16. </el-select>
  17. </div>
  18. </div>
  19. <div>
  20. <funnelBox style="margin-top: 0.625vw;" v-for="(item,index) in colorSet" :key="item.index" :width="width - (index * 1.042)" :background="item"></funnelBox>
  21. </div>
  22. </template>
  23. </borderTemplate>
  24. </div>
  25. </template>
  26. <script>
  27. import borderTemplate from '../components/borderTemplate'
  28. import funnelBox from "../components/funnelBox";
  29. export default {
  30. name: "salesFunnel",
  31. components:{borderTemplate,funnelBox},
  32. data(){
  33. return {
  34. param:{
  35. id:20230630151504,
  36. content:{
  37. dataid:'',
  38. dateType:'',
  39. type:"",
  40. where:{
  41. isleave:'1',
  42. unfinish:''
  43. }
  44. }
  45. },
  46. list:[],
  47. width:'23.958',
  48. colorSet:['#40DCF2','#3685FC','#7367F2','#6CD2A1','#ECB937','#EC6D37']
  49. }
  50. },
  51. methods:{
  52. async listData(){
  53. const res = await this.$api.requested(this.param)
  54. this.list = res.data
  55. }
  56. }
  57. }
  58. </script>
  59. <style scoped>
  60. </style>