AdataKanban.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <template>
  2. <div class="datakanban">
  3. <div class="barList">
  4. <div @click="cutPage(index)" :class="[pageEnd == index ? 'Selected' : '' ]" v-for="(i,index) in barList" :key="index">
  5. {{ i.name }}
  6. </div>
  7. </div>
  8. <div class="dataExponent">
  9. <div class="dataExponentCon" v-for="(i,index) in dataExponentList[pageEnd]" :key="index + 'p'">
  10. <div class="dataExponentConTit">
  11. {{ i.name }}
  12. </div>
  13. <div class="dataExponentConNum">
  14. {{ i.num }}
  15. </div>
  16. </div>
  17. </div>
  18. <div v-if="pageEnd == 0">
  19. <img style="width: 100%;" src="../../../assets/img/uuu4.svg" alt="">
  20. <!-- <div style="display: flex;flex-direction: column;">
  21. <div style="display: flex;justify-content: flex-end;">
  22. <img src="../../../assets/img/cs1.svg" alt="">
  23. </div>
  24. <div style="display: flex;justify-content: space-between;">
  25. <img style="width: 200px;" src="../../../assets/img/uuu4.svg" alt="">
  26. <img style="width: 200px;" src="../../../assets/img/uuu5.svg" alt="">
  27. </div>
  28. <div style="display: flex;justify-content: space-between;">
  29. <div> <img src="../../../assets/img/cs3.svg" alt=""></div>
  30. <div> <img src="../../../assets/img/cs4.svg" alt=""></div>
  31. </div>
  32. </div> -->
  33. </div>
  34. <div style="display: flex;flex-direction: column;justify-content: center;" v-if="pageEnd == 1">
  35. <div style="display: flex;width: 100%;">
  36. <img style="transform: scale(1.05);" src="../../../assets/img/chart2.svg" alt="">
  37. <div>
  38. <img src="../../../assets/img/chart3.svg" alt="">
  39. <img src="../../../assets/img/chart5.svg" alt="">
  40. </div>
  41. </div>
  42. <img style="width: 100%;" src="../../../assets/img/uuu5.svg" alt="">
  43. </div>
  44. <div v-if="pageEnd == 2">
  45. <div style="display: flex;width: 100%;">
  46. <img style="transform: scale(1.05);" src="../../../assets/img/chart6.svg" alt="">
  47. <div>
  48. <img src="../../../assets/img/chart10.svg" alt="">
  49. <img src="../../../assets/img/chart8.svg" alt="">
  50. </div>
  51. </div>
  52. <img style="width: 100%;" src="../../../assets/img/chart7.svg" alt="">
  53. <img style="width: 100%;" src="../../../assets/img/chart9.svg" alt="">
  54. </div>
  55. <div v-if="pageEnd == 3">
  56. <img style="width: 100%;" src="../../../assets/img/chart11.svg" alt="">
  57. <div style="display: flex;width: 100%;">
  58. <div>
  59. <img style="object-view-box: inset(4% 16% 3% 0%);" src="../../../assets/img/chart12.svg" alt="">
  60. <img style="object-view-box: inset(3% 0% 6% 0%);" src="../../../assets/img/chart13.svg" alt="">
  61. </div>
  62. <img style="object-view-box: inset(5% 4% 4% 4%);" src="../../../assets/img/chart14.svg" alt="">
  63. </div>
  64. </div>
  65. </div>
  66. </template>
  67. <script>
  68. export default {
  69. data(){
  70. return{
  71. barList:[
  72. {name:'基础数据',ind: 1},
  73. {name:'AI应用',ind: 2},
  74. {name:'常规教学',ind: 3},
  75. {name:'教师管理',ind: 4},
  76. ],
  77. dataExponentList:[
  78. [
  79. {name:'教师总量',num:1254},
  80. {name:'教师总量',num:3721},
  81. {name:'月登录总数',num:4579},
  82. {name:'月登录环比',num:'+15%'},
  83. ],[
  84. {name:'AI应用数量',num:1254},
  85. {name:'今日用户数量',num:3721},
  86. {name:'知识库数量',num:4579},
  87. {name:'文件数量',num:'+15%'},
  88. ],[
  89. {name:'课程总量',num:1254},
  90. {name:'本月新增课程',num:3721},
  91. {name:'新增课程环比',num:4579},
  92. {name:'AI应用嵌入数量',num:'272'},
  93. ],[
  94. {name:'表单总量',num:1254},
  95. {name:'表单回收率',num:3721},
  96. {name:'表单平均处理时长',num:4579},
  97. {name:'智能问答次数',num:'272'},
  98. ],
  99. ],
  100. pageEnd: 0,
  101. }
  102. },
  103. methods:{
  104. cutPage(val){
  105. this.pageEnd = val
  106. }
  107. }
  108. }
  109. </script>
  110. <style scoped>
  111. .datakanban{
  112. width: 100%;
  113. }
  114. .barList{
  115. display: flex;
  116. gap: 42px;
  117. font-family: PingFang SC;
  118. font-weight: 500;
  119. font-size: 14px;
  120. line-height: 22px;
  121. color: #969BA3;
  122. margin-bottom: 15px;
  123. }
  124. .barList > div{
  125. cursor: pointer;
  126. height: 23px;
  127. line-height: 23px;
  128. }
  129. .Selected{
  130. color: #0663FE;
  131. border-bottom: 2px solid #0663FE;
  132. }
  133. .dataExponent{
  134. width: 100%;
  135. height: 120px;
  136. display: grid;
  137. background: #fff;
  138. border-radius: 20px;
  139. grid-template-columns: repeat(4, 1fr);
  140. margin-bottom: 15px;
  141. align-items: center;
  142. /* grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); */
  143. }
  144. .dataExponentCon{
  145. display: flex;
  146. flex-direction: column;
  147. justify-content: center;
  148. align-items: center;
  149. height: 50%;
  150. border-right: 1px solid #D9D9D9;
  151. }
  152. .dataExponentCon:nth-child(4){
  153. border: none;
  154. }
  155. .dataExponentConTit{
  156. font-family: PingFang SC;
  157. font-size: 14px;
  158. line-height: 100%;
  159. color: #969BA3;
  160. }
  161. .dataExponentConNum{
  162. height: 45px;
  163. font-family: PingFang SC;
  164. font-weight: 600;
  165. font-size: 32px;
  166. line-height: 45px
  167. }
  168. </style>