index.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <div class="p-4 analysis">
  3. <a-row class="pl-2">
  4. <template v-for="item in growCardList" :key="item.title">
  5. <a-col :sm="24" :md="12" :lg="6">
  6. <GrowCard :info="item" />
  7. </a-col>
  8. </template>
  9. </a-row>
  10. <a-row>
  11. <a-col :md="24" :lg="17" class="my-3">
  12. <CollapseContainer class="mr-3" title="产品成交额" :canExpan="false">
  13. <AnalysisLine />
  14. </CollapseContainer>
  15. <a-row class="mt-3">
  16. <a-col :md="24" :lg="12" class="product-total">
  17. <CollapseContainer class="mr-3" title="产品成交额" :canExpan="false">
  18. <AnalysisPie />
  19. </CollapseContainer>
  20. </a-col>
  21. <a-col :md="24" :lg="12">
  22. <CollapseContainer class="mr-3" title="用户来源" :canExpan="false">
  23. <AnalysisBar />
  24. </CollapseContainer>
  25. </a-col>
  26. </a-row>
  27. </a-col>
  28. <a-col :md="24" :lg="7">
  29. <CollapseContainer class="mt-3" title="项目进度" :canExpan="false">
  30. <template v-for="item in taskList" :key="item.title">
  31. <TaskCard :info="item" />
  32. </template>
  33. </CollapseContainer>
  34. </a-col>
  35. </a-row>
  36. <a-row>
  37. <FlowAnalysis />
  38. </a-row>
  39. </div>
  40. </template>
  41. <script lang="ts">
  42. import { defineComponent } from 'vue';
  43. import GrowCard from './components/GrowCard.vue';
  44. import AnalysisLine from './components/AnalysisLine.vue';
  45. import AnalysisPie from './components/AnalysisPie.vue';
  46. import AnalysisBar from './components/AnalysisBar.vue';
  47. import TaskCard from './components/TaskCard.vue';
  48. import FlowAnalysis from './components/FlowAnalysis';
  49. import { CollapseContainer } from '/@/components/Container/index';
  50. import { Row, Col } from 'ant-design-vue';
  51. import { growCardList, taskList } from './data';
  52. export default defineComponent({
  53. components: {
  54. GrowCard,
  55. CollapseContainer,
  56. AnalysisLine,
  57. AnalysisPie,
  58. AnalysisBar,
  59. TaskCard,
  60. FlowAnalysis,
  61. [Row.name]: Row,
  62. [Col.name]: Col,
  63. },
  64. setup() {
  65. return { growCardList, taskList };
  66. },
  67. });
  68. </script>
  69. <style lang="less" scoped>
  70. .analysis {
  71. width: 100%;
  72. .product-total {
  73. .respond-to(small-and-medium, {padding-right: 0;margin-bottom: 24px;});
  74. }
  75. }
  76. </style>