Pārlūkot izejas kodu

Merge branch 'beta' of https://git.cocorobo.cn/CocoRoboLabs/pbl-teacher-table into beta

zengyicheng 1 gadu atpakaļ
vecāks
revīzija
6719e2a0cd
100 mainītis faili ar 1215 papildinājumiem un 929 dzēšanām
  1. 1 1
      dist/index.html
  2. 0 0
      dist/static/css/app.61d37ec4cb459e67ad76f396418568d6.css
  3. 0 0
      dist/static/css/app.61d37ec4cb459e67ad76f396418568d6.css.map
  4. 0 0
      dist/static/css/app.77dce3e782e39be143af829a02623e36.css
  5. 0 0
      dist/static/css/app.77dce3e782e39be143af829a02623e36.css.map
  6. BIN
      dist/static/img/data_title.04e28c7.png
  7. 0 0
      dist/static/js/app.1a6c612a258f36438d0b.js
  8. 0 0
      dist/static/js/app.1a6c612a258f36438d0b.js.map
  9. 0 0
      dist/static/js/manifest.3512a67a6213c2df4180.js.map
  10. 99 0
      src/assets/css/button.css
  11. BIN
      src/assets/icon/dataCheck/djzz_icon_data.png
  12. BIN
      src/assets/icon/dataCheck/djzz_icon_data_active.png
  13. BIN
      src/assets/icon/dataCheck/ld_icon_data.png
  14. BIN
      src/assets/icon/dataCheck/ld_icon_data_active.png
  15. BIN
      src/assets/icon/dataCheck/rl_icon_data.png
  16. BIN
      src/assets/icon/dataCheck/rl_icon_data_active.png
  17. BIN
      src/assets/icon/dataCheck/sd_icon_data.png
  18. BIN
      src/assets/icon/dataCheck/sd_icon_data_active.png
  19. BIN
      src/assets/icon/dataCheck/yb_icon_data.png
  20. BIN
      src/assets/icon/dataCheck/yb_icon_data_active.png
  21. BIN
      src/assets/icon/dataCheck/zz_icon_data.png
  22. BIN
      src/assets/icon/dataCheck/zz_icon_data2.png
  23. BIN
      src/assets/icon/dataCheck/zz_icon_data2_active.png
  24. BIN
      src/assets/icon/dataCheck/zz_icon_data_active.png
  25. BIN
      src/assets/icon/test/data_title.png
  26. BIN
      src/assets/icon/test/data_title_icon.png
  27. 1 0
      src/components/pages/class.vue
  28. 7 1
      src/components/pages/components/loading.vue
  29. 1 1
      src/components/pages/dataBoardNew/course/chartList/bar.vue
  30. 1 1
      src/components/pages/dataBoardNew/course/chartList/bar2.vue
  31. 22 1
      src/components/pages/dataBoardNew/course/chartList/cateRank.vue
  32. 1 1
      src/components/pages/dataBoardNew/course/chartList/courseAna.vue
  33. 3 2
      src/components/pages/dataBoardNew/course/chartList/courseNum.vue
  34. 1 1
      src/components/pages/dataBoardNew/course/chartList/courseTime.vue
  35. 4 1
      src/components/pages/dataBoardNew/course/chartList/subjuect.vue
  36. 1 1
      src/components/pages/dataBoardNew/course/chartList/teaFre.vue
  37. 1 1
      src/components/pages/dataBoardNew/course/chartList/toolChart.vue
  38. 4 4
      src/components/pages/dataBoardNew/course/chartList/toolUse.vue
  39. 4 4
      src/components/pages/dataBoardNew/course/chartList/toolUse2.vue
  40. 1 1
      src/components/pages/dataBoardNew/course/chartList/workNum.vue
  41. 1 1
      src/components/pages/dataBoardNew/course/chartList/workTime.vue
  42. 207 289
      src/components/pages/dataBoardNew/course/index.vue
  43. 84 40
      src/components/pages/dataBoardNew/index.vue
  44. 1 1
      src/components/pages/dataBoardNew/project/chartList/bar.vue
  45. 1 1
      src/components/pages/dataBoardNew/project/chartList/bar/cCourse.vue
  46. 1 1
      src/components/pages/dataBoardNew/project/chartList/bar/finish.vue
  47. 2 1
      src/components/pages/dataBoardNew/project/chartList/bar/teacherStudent.vue
  48. 1 1
      src/components/pages/dataBoardNew/project/chartList/bar/time.vue
  49. 23 1
      src/components/pages/dataBoardNew/project/chartList/cateRank.vue
  50. 1 1
      src/components/pages/dataBoardNew/project/chartList/courseAna.vue
  51. 3 2
      src/components/pages/dataBoardNew/project/chartList/courseNum.vue
  52. 1 1
      src/components/pages/dataBoardNew/project/chartList/courseTime.vue
  53. 4 1
      src/components/pages/dataBoardNew/project/chartList/subjuect.vue
  54. 1 1
      src/components/pages/dataBoardNew/project/chartList/teaFre.vue
  55. 1 1
      src/components/pages/dataBoardNew/project/chartList/toolChart.vue
  56. 4 4
      src/components/pages/dataBoardNew/project/chartList/toolUse.vue
  57. 1 1
      src/components/pages/dataBoardNew/project/chartList/workNum.vue
  58. 1 1
      src/components/pages/dataBoardNew/project/chartList/workTime.vue
  59. 85 35
      src/components/pages/dataBoardNew/project/index.vue
  60. 1 1
      src/components/pages/dataBoardNew/school/bar/index.vue
  61. 4 4
      src/components/pages/dataBoardNew/school/barToolUser/index.vue
  62. 4 1
      src/components/pages/dataBoardNew/school/cateRank/index.vue
  63. 1 1
      src/components/pages/dataBoardNew/school/courseInfo/index.vue
  64. 3 2
      src/components/pages/dataBoardNew/school/courseNum/index.vue
  65. 240 332
      src/components/pages/dataBoardNew/school/index.vue
  66. 1 1
      src/components/pages/dataBoardNew/school/loginCount/index.vue
  67. 1 1
      src/components/pages/dataBoardNew/school/loginTime/index.vue
  68. 22 1
      src/components/pages/dataBoardNew/school/teacherInfo/index.vue
  69. 4 4
      src/components/pages/dataBoardNew/school/toolUser/index.vue
  70. 1 1
      src/components/pages/dataBoardNew/school/toolUserBar/index.vue
  71. 1 1
      src/components/pages/dataBoardNew/school/workNum/index.vue
  72. 1 1
      src/components/pages/dataBoardNew/student/bar/index.vue
  73. 1 1
      src/components/pages/dataBoardNew/student/bar2/index.vue
  74. 22 2
      src/components/pages/dataBoardNew/student/cateRank/index.vue
  75. 1 1
      src/components/pages/dataBoardNew/student/courseNum/index.vue
  76. 102 49
      src/components/pages/dataBoardNew/student/index.vue
  77. 1 1
      src/components/pages/dataBoardNew/student/loginCount/index.vue
  78. 1 1
      src/components/pages/dataBoardNew/student/loginTime/index.vue
  79. 1 1
      src/components/pages/dataBoardNew/student/stuAct/index.vue
  80. 1 1
      src/components/pages/dataBoardNew/student/stuAct2/index.vue
  81. 2 2
      src/components/pages/dataBoardNew/student/studentInfo/index.vue
  82. 1 1
      src/components/pages/dataBoardNew/student/studentInfo2/index.vue
  83. 2 2
      src/components/pages/dataBoardNew/student/studentInfo3/index.vue
  84. 1 1
      src/components/pages/dataBoardNew/student/studentInfo4/index.vue
  85. 4 4
      src/components/pages/dataBoardNew/student/toolUser/index.vue
  86. 4 4
      src/components/pages/dataBoardNew/student/toolUser2/index.vue
  87. 1 1
      src/components/pages/dataBoardNew/teacher/chartList/bar.vue
  88. 22 2
      src/components/pages/dataBoardNew/teacher/chartList/cateRank.vue
  89. 1 1
      src/components/pages/dataBoardNew/teacher/chartList/funPlot.vue
  90. 1 1
      src/components/pages/dataBoardNew/teacher/chartList/teaAct.vue
  91. 1 1
      src/components/pages/dataBoardNew/teacher/chartList/teaActSecond.vue
  92. 23 1
      src/components/pages/dataBoardNew/teacher/chartList/teaData.vue
  93. 1 1
      src/components/pages/dataBoardNew/teacher/chartList/teaFre.vue
  94. 4 4
      src/components/pages/dataBoardNew/teacher/chartList/toolUse.vue
  95. 1 1
      src/components/pages/dataBoardNew/teacher/chartList/workNum.vue
  96. 1 1
      src/components/pages/dataBoardNew/teacher/chartList/workTime.vue
  97. 143 77
      src/components/pages/dataBoardNew/teacher/index.vue
  98. 2 2
      src/components/pages/dataBoardTest/course/index.vue
  99. 7 7
      src/components/pages/test/check/index.vue
  100. 4 2
      src/components/pages/test/index.vue

+ 1 - 1
dist/index.html

@@ -25,7 +25,7 @@
       height: 100%;
       width: 100%;
       background: #e6eaf0;
-    }</style><link href=./static/css/app.61d37ec4cb459e67ad76f396418568d6.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3512a67a6213c2df4180.js></script><script type=text/javascript src=./static/js/vendor.920758910306febc0621.js></script><script type=text/javascript src=./static/js/app.f154c3372f27584ea76a.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.77dce3e782e39be143af829a02623e36.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3512a67a6213c2df4180.js></script><script type=text/javascript src=./static/js/vendor.920758910306febc0621.js></script><script type=text/javascript src=./static/js/app.1a6c612a258f36438d0b.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
dist/static/css/app.61d37ec4cb459e67ad76f396418568d6.css


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
dist/static/css/app.61d37ec4cb459e67ad76f396418568d6.css.map


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
dist/static/css/app.77dce3e782e39be143af829a02623e36.css


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
dist/static/css/app.77dce3e782e39be143af829a02623e36.css.map


BIN
dist/static/img/data_title.04e28c7.png


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
dist/static/js/app.1a6c612a258f36438d0b.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
dist/static/js/app.1a6c612a258f36438d0b.js.map


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
dist/static/js/manifest.3512a67a6213c2df4180.js.map


+ 99 - 0
src/assets/css/button.css

@@ -330,3 +330,102 @@
 .test_icon_file{
   background-image: url('../icon/test/type_file_icon.png');
 }
+
+
+
+.dataBoard_check_box {
+  display: flex;
+  align-items: center;
+  margin: 5px auto;
+  width: fit-content;
+  height: 35px;
+  background: #FFFFFF8C;
+  border-radius: 3px;
+  font-size: 14px;
+  padding: 5px;
+  box-sizing: border-box;
+}
+
+.dataBoard_check_box>div {
+  height: 100%;
+  display: flex;
+  align-items: center;
+  padding: 0 12px;
+  cursor: pointer;
+  color: #00000099;
+}
+
+.dataBoard_check_box>.active {
+  background: #fff;
+}
+
+.dataBoard_check_box>.active>span {
+  background-image: linear-gradient(90deg, #3673E8 0%, #AD88FD 100%);
+  -webkit-background-clip: text;
+  -webkit-text-fill-color: transparent;
+}
+
+.dataBoard_check_box>.icon::before {
+  content: '';
+  width: 16px;
+  height: 16px;
+  background-size: 100% 100%;
+  margin-right: 5px;
+}
+
+.dataBoard_check_box>.rl_icon::before {
+  background-image: url('../icon/dataCheck/rl_icon_data.png');
+}
+
+.dataBoard_check_box>.yb_icon::before {
+  background-image: url('../icon/dataCheck/yb_icon_data.png');
+}
+
+.dataBoard_check_box>.zz_icon::before {
+  background-image: url('../icon/dataCheck/zz_icon_data.png');
+}
+
+.dataBoard_check_box>.zz_icon2::before {
+  background-image: url('../icon/dataCheck/zz_icon_data2.png');
+}
+
+.dataBoard_check_box>.sd_icon::before {
+  background-image: url('../icon/dataCheck/sd_icon_data.png');
+}
+
+.dataBoard_check_box>.ld_icon::before {
+  background-image: url('../icon/dataCheck/ld_icon_data.png');
+}
+
+.dataBoard_check_box>.djzz_icon::before {
+  background-image: url('../icon/dataCheck/djzz_icon_data.png');
+}
+
+
+.dataBoard_check_box>.active.rl_icon::before {
+  background-image: url('../icon/dataCheck/rl_icon_data_active.png');
+}
+
+.dataBoard_check_box>.active.yb_icon::before {
+  background-image: url('../icon/dataCheck/yb_icon_data_active.png');
+}
+
+.dataBoard_check_box>.active.zz_icon::before {
+  background-image: url('../icon/dataCheck/zz_icon_data_active.png');
+}
+
+.dataBoard_check_box>.active.zz_icon2::before {
+  background-image: url('../icon/dataCheck/zz_icon_data2_active.png');
+}
+
+.dataBoard_check_box>.active.sd_icon::before {
+  background-image: url('../icon/dataCheck/sd_icon_data_active.png');
+}
+
+.dataBoard_check_box>.active.ld_icon::before {
+  background-image: url('../icon/dataCheck/ld_icon_data_active.png');
+}
+
+.dataBoard_check_box>.active.djzz_icon::before {
+  background-image: url('../icon/dataCheck/djzz_icon_data_active.png');
+}

BIN
src/assets/icon/dataCheck/djzz_icon_data.png


BIN
src/assets/icon/dataCheck/djzz_icon_data_active.png


BIN
src/assets/icon/dataCheck/ld_icon_data.png


BIN
src/assets/icon/dataCheck/ld_icon_data_active.png


BIN
src/assets/icon/dataCheck/rl_icon_data.png


BIN
src/assets/icon/dataCheck/rl_icon_data_active.png


BIN
src/assets/icon/dataCheck/sd_icon_data.png


BIN
src/assets/icon/dataCheck/sd_icon_data_active.png


BIN
src/assets/icon/dataCheck/yb_icon_data.png


BIN
src/assets/icon/dataCheck/yb_icon_data_active.png


BIN
src/assets/icon/dataCheck/zz_icon_data.png


BIN
src/assets/icon/dataCheck/zz_icon_data2.png


BIN
src/assets/icon/dataCheck/zz_icon_data2_active.png


BIN
src/assets/icon/dataCheck/zz_icon_data_active.png


BIN
src/assets/icon/test/data_title.png


BIN
src/assets/icon/test/data_title_icon.png


+ 1 - 0
src/components/pages/class.vue

@@ -127,6 +127,7 @@
                   class="de_button"
                   type="primary"
                   size="small"
+                  v-show="false"
                   @click="
                     goTo(
                       '/studentEva?userid=' +

+ 7 - 1
src/components/pages/components/loading.vue

@@ -95,8 +95,10 @@ export default {
   position: absolute;
   top: 0;
   left: 0;
-  background: #8d8d8d8f;
+  /* background: #8d8d8d8f; */
   z-index: 999;
+  border-radius: 8px;
+  overflow: hidden;
 }
 .loading {
   width: 100px;
@@ -106,4 +108,8 @@ export default {
   width: 100%;
   height: 100%;
 }
+
+.loadingBox >>> .el-loading-mask {
+
+}
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/course/chartList/bar.vue

@@ -160,6 +160,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/course/chartList/bar2.vue

@@ -160,6 +160,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 22 - 1
src/components/pages/dataBoardNew/course/chartList/cateRank.vue

@@ -278,8 +278,29 @@ export default {
     box-sizing: border-box;
     padding: 0;
     width: 95%;
-    background: #fff;
+    /* background: #fff; */
     overflow: auto;
+    overflow-y: hidden;
+}
+
+.data_body::-webkit-scrollbar {
+    /*滚动条整体样式*/
+    width: 6px;
+    /*高宽分别对应横竖滚动条的尺寸*/
+    height: 6px;
+}
+
+/*定义滚动条轨道 内阴影+圆角*/
+.data_body::-webkit-scrollbar-track {
+    border-radius: 10px;
+    background-color: #fff;
+}
+
+/*定义滑块 内阴影+圆角*/
+.data_body::-webkit-scrollbar-thumb {
+    border-radius: 10px;
+    -webkit-box-shadow: inset 0 0 6px #AECCFE;
+    background-color: #AECCFE;
 }
 </style>
   

+ 1 - 1
src/components/pages/dataBoardNew/course/chartList/courseAna.vue

@@ -128,6 +128,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 3 - 2
src/components/pages/dataBoardNew/course/chartList/courseNum.vue

@@ -31,7 +31,8 @@ export default {
       },
       option: {
         chart: {
-          type: 'column'
+          type: 'column',
+          backgroundColor: 'rgba(0,0,0,0)'
         },
         title: {
           text: null
@@ -173,6 +174,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/course/chartList/courseTime.vue

@@ -130,6 +130,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 4 - 1
src/components/pages/dataBoardNew/course/chartList/subjuect.vue

@@ -32,6 +32,9 @@ export default {
         data: [],
       },
       option: {
+        chart: {
+          backgroundColor: 'rgba(0,0,0,0)'
+        },
         title: {
           text: null,
         },
@@ -168,6 +171,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/course/chartList/teaFre.vue

@@ -135,6 +135,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/course/chartList/toolChart.vue

@@ -117,6 +117,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 4 - 4
src/components/pages/dataBoardNew/course/chartList/toolUse.vue

@@ -32,7 +32,7 @@ export default {
           },
         },
         visualMap: {
-          top: 35,
+          top: 'center',
           left: 10,
           right: 0,
           min: 0,
@@ -45,7 +45,7 @@ export default {
           calculable: true,
         },
         calendar: {
-          top: 70,
+          top: 'center',
           left: 80,
           right: 20,
           cellSize: ["auto", 15],
@@ -220,7 +220,7 @@ export default {
   height: 170px;
   /* height: 500px; */
   /* margin: 15px 5px 0 0; */
-  background: #fff;
+  /* background: #fff; */
   overflow: hidden;
   flex-shrink: 0;
   position: relative;
@@ -234,6 +234,6 @@ export default {
   width: 100%;
   height: 100%;
   z-index: 999;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 4 - 4
src/components/pages/dataBoardNew/course/chartList/toolUse2.vue

@@ -28,7 +28,7 @@ export default {
           }
         },
         visualMap: {
-          top: 35,
+          top: 'center',
           left: 10,
           right: 0,
           min: 0,
@@ -41,7 +41,7 @@ export default {
           calculable: true,
         },
         calendar: {
-          top: 70,
+          top: 'center',
           left: 80,
           right: 20,
           cellSize: ["auto", 15],
@@ -195,7 +195,7 @@ export default {
   height: 170px;
   /* height: 500px; */
   /* margin: 15px 5px 0 0; */
-  background: #fff;
+  /* background: #fff; */
   overflow: hidden;
   flex-shrink: 0;
   position: relative;
@@ -209,6 +209,6 @@ export default {
   width: 100%;
   height: 100%;
   z-index: 999;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/course/chartList/workNum.vue

@@ -141,6 +141,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/course/chartList/workTime.vue

@@ -117,6 +117,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 207 - 289
src/components/pages/dataBoardNew/course/index.vue

@@ -21,13 +21,13 @@
               <span>本月新增课程环比</span>
               <span v-if="loginCountMonthArray.length">{{
                 loginCountMonthArray[loginCountMonthArray.length - 1].course > 0
-                  ? (
-                      (loginCountMonthArray[loginCountMonthArray.length - 1]
-                        .course /
-                        allCourse) *
-                      100
-                    ).toFixed(0) + "%"
-                  : 0
+                ? (
+                  (loginCountMonthArray[loginCountMonthArray.length - 1]
+                    .course /
+                    allCourse) *
+                  100
+                ).toFixed(0) + "%"
+                : 0
               }}</span>
               <!-- <span>{{ weekCount }}</span> -->
               <!-- <span v-if="loginCountMonthArray.length">{{
@@ -50,49 +50,27 @@
               }}</span>
             </div>
           </div>
-          <TeaFre
-            style="height: calc(100% - 140px)"
-            :monthArray="loginCountMonthArray"
-          ></TeaFre>
+          <TeaFre style="height: calc(100% - 140px)" :monthArray="loginCountMonthArray"></TeaFre>
         </div>
       </div>
       <div class="bottom">
         <div class="titleBox">
-          <div
-            class="title"
-            :class="{ isClick: skType == 0 }"
-            @click="skType = 0"
-            style="cursor: pointer; padding: 0 0 5px 0"
-          >
+          <div class="title" :class="{ isClick: skType == 0, noClick: skType != 0 }" @click="skType = 0"
+            style="cursor: pointer; padding: 0 0 5px 0">
             授课时长
           </div>
-          <div
-            class="title"
-            :class="{ isClick: skType == 1 }"
-            @click="skType = 1"
-            style="cursor: pointer; padding: 0 0 5px 0"
-          >
+          <div class="title" :class="{ isClick: skType == 1, noClick: skType != 1 }" @click="skType = 1"
+            style="cursor: pointer; padding: 0 0 5px 0">
             作业数量
           </div>
-          <el-select
-            v-if="skType == 0"
-            v-model="lType"
-            @change="typeChange1"
-            class="selectBox"
-            style="margin-left: auto"
-          >
+          <el-select v-if="skType == 0" v-model="lType" @change="typeChange1" class="selectBox" style="margin-left: auto">
             <!-- <el-option label="全部" value="all"></el-option> -->
             <el-option label="年级" value="grade"></el-option>
             <el-option label="主题" value="theme"></el-option>
             <el-option label="学科" value="subject"></el-option>
           </el-select>
-          <el-select
-            v-if="skType == 1"
-            v-model="lType1"
-            @change="typeChange2"
-            class="selectBox"
-            style="margin-left: auto"
-          >
+          <el-select v-if="skType == 1" v-model="lType1" @change="typeChange2" class="selectBox"
+            style="margin-left: auto">
             <!-- <el-option label="全部" value="all"></el-option> -->
             <el-option label="年级" value="grade"></el-option>
             <el-option label="主题" value="theme"></el-option>
@@ -150,28 +128,14 @@
               }}</span>
             </div>
           </div>
-          <Bar
-            style="height: calc(100% - 100px)"
-            v-if="skType == 0 && !oType"
-            :workList="tedurArray"
-          ></Bar>
-          <ToolUse2
-            style="height: calc(100% - 100px)"
-            v-if="skType == 0 && oType"
-            :Josn="courseWorksCountYearArray2"
-          ></ToolUse2>
-
-          <ToolUse
-            style="height: calc(100% - 100px)"
-            v-if="skType == 1 && !oType2"
-            :Josn="courseWorksCountYearArray"
-          ></ToolUse>
-          <Bar2
-            style="height: calc(100% - 100px)"
-            v-if="skType == 1 && oType2"
-            :workList="tedurArray2"
-          ></Bar2>
-          <div class="otherCss" v-if="skType == 0">
+          <Bar style="height: calc(100% - 120px)" v-if="skType == 0 && !oType" :workList="tedurArray"></Bar>
+          <ToolUse2 style="height: calc(100% - 120px)" v-if="skType == 0 && oType" :Josn="courseWorksCountYearArray2">
+          </ToolUse2>
+
+          <ToolUse style="height: calc(100% - 120px)" v-if="skType == 1 && !oType2" :Josn="courseWorksCountYearArray">
+          </ToolUse>
+          <Bar2 style="height: calc(100% - 120px)" v-if="skType == 1 && oType2" :workList="tedurArray2"></Bar2>
+          <!-- <div class="otherCss" v-if="skType == 0">
             <div v-if="!oType">切换为热力图</div>
             <div v-if="oType">切换为柱状图</div>
             <div class="otherImg" @click="otherEchart">
@@ -184,6 +148,14 @@
             <div class="otherImg" @click="otherEchart2">
               <img src="../../../../assets/icon/other.png" alt="" />
             </div>
+          </div> -->
+          <div class="dataBoard_check_box" v-if="skType == 0">
+            <div class="icon zz_icon2" :class="{ active: !oType }" @click="oType = false"><span>柱状图</span></div>
+            <div class="icon rl_icon" :class="{ active: oType }" @click="oType = true"><span>热力图</span></div>
+          </div>
+          <div class="dataBoard_check_box" v-if="skType == 1">
+            <div class="icon zz_icon2" :class="{ active: oType2 }" @click="oType2 = true"><span>柱状图</span></div>
+            <div class="icon rl_icon" :class="{ active: !oType2 }" @click="oType2 = false"><span>热力图</span></div>
           </div>
         </div>
       </div>
@@ -192,20 +164,12 @@
       <div class="top">
         <div class="courseCenterTop">
           <div class="titleBox">
-            <div
-              class="title"
-              :class="{ isClick: courseType == 0 }"
-              @click="courseType = 0"
-              style="cursor: pointer; padding: 0 0 5px 0"
-            >
+            <div class="title" :class="{ isClick: courseType == 0, noClick: courseType != 0 }" @click="courseType = 0"
+              style="cursor: pointer; padding: 0 0 5px 0">
               课程分布
             </div>
-            <div
-              class="title"
-              :class="{ isClick: courseType == 1 }"
-              @click="courseType = 1"
-              style="cursor: pointer; padding: 0 0 5px 0"
-            >
+            <div class="title" :class="{ isClick: courseType == 1, noClick: courseType != 1 }" @click="courseType = 1"
+              style="cursor: pointer; padding: 0 0 5px 0">
               课程总数变化
             </div>
           </div>
@@ -215,16 +179,8 @@
         </div>
 
         <div class="dataBox">
-          <CateRank
-            v-if="courseType == 0"
-            style="height: calc(100%)"
-            :courseArray="courseArray"
-          ></CateRank>
-          <CourseNum
-            v-if="courseType == 1"
-            style="height: calc(100%)"
-            :weekCourse2="weekCourse2"
-          ></CourseNum>
+          <CateRank v-if="courseType == 0" style="height: calc(100% - 10px)" :courseArray="courseArray"></CateRank>
+          <CourseNum v-if="courseType == 1" style="height: calc(100%)" :weekCourse2="weekCourse2"></CourseNum>
         </div>
       </div>
       <div class="bottom">
@@ -232,7 +188,7 @@
           <div class="title">课程实施程度</div>
         </div>
         <div class="dataBox">
-          <div class="allBox" v-if="!shType" style="height: calc(100% - 30px)">
+          <div class="allBox" v-if="!shType" style="height: calc(100% - 50px)">
             <div class="allBox_left">
               <CourseTime v-if="!shType" :pusaDep="pusaDep"></CourseTime>
             </div>
@@ -240,75 +196,43 @@
               <div class="depth">
                 <span>已提交作业</span>
                 <div>
-                  <el-progress
-                    :width="80"
-                    type="circle"
-                    :percentage="
-                      allCourse
-                        ? parseInt(
-                            ((haveWorksCourse / allCourse) * 100).toFixed(0)
-                          )
-                        : 0
-                    "
-                    :stroke-width="5"
-                    :format="format"
-                    color="#106BFF"
-                  ></el-progress>
+                  <el-progress :width="80" type="circle" :percentage="allCourse
+                      ? parseInt(
+                        ((haveWorksCourse / allCourse) * 100).toFixed(0)
+                      )
+                      : 0
+                    " :stroke-width="5" :format="format" color="#106BFF"></el-progress>
                 </div>
               </div>
               <div class="depth">
                 <span>设置评价</span>
                 <div>
-                  <el-progress
-                    :width="80"
-                    type="circle"
-                    :percentage="
-                      allCourse
-                        ? parseInt(((evaCount / allCourse) * 100).toFixed(0))
-                        : 0
-                    "
-                    :stroke-width="5"
-                    :format="format"
-                    color="#106BFF"
-                  ></el-progress>
+                  <el-progress :width="80" type="circle" :percentage="allCourse
+                      ? parseInt(((evaCount / allCourse) * 100).toFixed(0))
+                      : 0
+                    " :stroke-width="5" :format="format" color="#106BFF"></el-progress>
                 </div>
               </div>
               <div class="depth">
                 <span>已评价课程</span>
                 <div>
-                  <el-progress
-                    :width="80"
-                    type="circle"
-                    :percentage="
-                      allCourse
-                        ? parseInt(
-                            ((evaWorksCount / allCourse) * 100).toFixed(0)
-                          )
-                        : 0
-                    "
-                    :stroke-width="5"
-                    :format="format"
-                    color="#106BFF"
-                  ></el-progress>
+                  <el-progress :width="80" type="circle" :percentage="allCourse
+                      ? parseInt(
+                        ((evaWorksCount / allCourse) * 100).toFixed(0)
+                      )
+                      : 0
+                    " :stroke-width="5" :format="format" color="#106BFF"></el-progress>
                 </div>
               </div>
               <div class="depth">
                 <span>教学评一体化</span>
                 <div>
-                  <el-progress
-                    :width="80"
-                    type="circle"
-                    :percentage="
-                      allCourse
-                        ? parseInt(
-                            ((evaWorksCount / allCourse) * 100).toFixed(0)
-                          )
-                        : 0
-                    "
-                    :stroke-width="5"
-                    :format="format"
-                    color="#106BFF"
-                  ></el-progress>
+                  <el-progress :width="80" type="circle" :percentage="allCourse
+                      ? parseInt(
+                        ((evaWorksCount / allCourse) * 100).toFixed(0)
+                      )
+                      : 0
+                    " :stroke-width="5" :format="format" color="#106BFF"></el-progress>
                 </div>
               </div>
             </div>
@@ -324,8 +248,8 @@
               <!-- <span>{{ weekCount }}</span> -->
               <span>{{
                 isCourseCount
-                  ? ((isCourseCount / allCourseCount) * 100).toFixed(0) + "%"
-                  : "0%"
+                ? ((isCourseCount / allCourseCount) * 100).toFixed(0) + "%"
+                : "0%"
               }}</span>
             </div>
             <div class="info blueBG" style="width: calc(100% / 4 - 10px)">
@@ -343,19 +267,18 @@
               }}</span>
             </div>
           </div>
-          <WorkNum
-            style="height: calc(100% - 95px)"
-            :workNumList="workNumList"
-            @openCourse="openCourse"
-            v-if="shType"
-          >
+          <WorkNum style="height: calc(100% - 115px)" :workNumList="workNumList" @openCourse="openCourse" v-if="shType">
           </WorkNum>
-          <div class="otherCss">
+          <!-- <div class="otherCss">
             <div v-if="!shType">转换为散点图</div>
             <div v-if="shType">转换为漏斗图</div>
             <div class="otherImg" @click="shEchart">
               <img src="../../../../assets/icon/other.png" alt="" />
             </div>
+          </div> -->
+          <div class="dataBoard_check_box">
+            <div class="icon sd_icon" :class="{ active: shType }" @click="shType = true"><span>散点图</span></div>
+            <div class="icon ld_icon" :class="{ active: !shType }" @click="shType = false"><span>漏斗图</span></div>
           </div>
         </div>
       </div>
@@ -363,37 +286,22 @@
     <div class="right">
       <div class="top" style="border-radius: 5px">
         <div class="titleBox" style="justify-content: space-between">
-          <div
-            style="
+          <div style="
               display: flex;
               flex-direction: row;
               flex-wrap: nowrap;
               align-items: center;
-            "
-          >
-            <div
-              class="title"
-              :class="{ isClick: toolType == 0 }"
-              @click="toolType = 0"
-              style="cursor: pointer; padding: 0 0 5px 0"
-            >
+            ">
+            <div class="title" :class="{ isClick: toolType == 0, noClick: toolType != 0 }" @click="toolType = 0"
+              style="cursor: pointer; padding: 0 0 5px 0">
               课程占比
             </div>
-            <div
-              class="title"
-              :class="{ isClick: toolType == 1 }"
-              @click="toolType = 1"
-              style="cursor: pointer; padding: 0 0 5px 0"
-            >
+            <div class="title" :class="{ isClick: toolType == 1, noClick: toolType != 1 }" @click="toolType = 1"
+              style="cursor: pointer; padding: 0 0 5px 0">
               工具使用
             </div>
           </div>
-          <el-select
-            v-model="cType4"
-            @change="typeChange"
-            class="selectBox"
-            v-if="toolType == 0"
-          >
+          <el-select v-model="cType4" @change="typeChange" class="selectBox" v-if="toolType == 0">
             <!-- <el-option label="全部" value=""></el-option> -->
             <el-option label="年级" value="grade"></el-option>
             <el-option label="主题" value="theme"></el-option>
@@ -401,16 +309,8 @@
           </el-select>
         </div>
         <div class="dataBox">
-          <CourseAna
-            style="height: calc(100%)"
-            :courseNumberArray="courseNumberArray"
-            v-if="toolType == 0"
-          ></CourseAna>
-          <ToolChart
-            style="height: calc(100%)"
-            :toolArray="toolList"
-            v-if="toolType == 1"
-          ></ToolChart>
+          <CourseAna style="height: calc(100%)" :courseNumberArray="courseNumberArray" v-if="toolType == 0"></CourseAna>
+          <ToolChart style="height: calc(100%)" :toolArray="toolList" v-if="toolType == 1"></ToolChart>
         </div>
       </div>
       <div class="bottom">
@@ -418,16 +318,8 @@
           <div class="title">课程协同情况</div>
         </div>
         <div class="dataBox">
-          <WorkTime
-            style="height: calc(100% - 25px)"
-            :personArray="personList"
-            v-if="xtType"
-          ></WorkTime>
-          <Subjuect
-            style="height: calc(100% - 25px)"
-            v-if="!xtType"
-            :resultSubject="resultSubject"
-          ></Subjuect>
+          <WorkTime style="height: calc(100% - 25px)" :personArray="personList" v-if="xtType"></WorkTime>
+          <Subjuect style="height: calc(100% - 25px)" v-if="!xtType" :resultSubject="resultSubject"></Subjuect>
           <div class="otherCss">
             <div v-if="!xtType">转换为人员协同</div>
             <div v-if="xtType">转换为学科协同</div>
@@ -438,24 +330,10 @@
         </div>
       </div>
     </div>
-    <el-dialog
-      title="课程分布"
-      :visible.sync="allScreen"
-      :append-to-body="true"
-      width="100%"
-      :before-close="handleClose"
-      class="dialog_diy"
-    >
-      <CateRank
-        v-if="courseType == 0"
-        style="height: calc(100%)"
-        :courseArray="courseArray"
-      ></CateRank>
-      <CourseNum
-        v-if="courseType == 1"
-        style="height: calc(100%)"
-        :weekCourse2="weekCourse2"
-      ></CourseNum>
+    <el-dialog title="课程分布" :visible.sync="allScreen" :append-to-body="true" width="100%" :before-close="handleClose"
+      class="dialog_diy">
+      <CateRank v-if="courseType == 0" style="height: calc(100%)" :courseArray="courseArray"></CateRank>
+      <CourseNum v-if="courseType == 1" style="height: calc(100%)" :weekCourse2="weekCourse2"></CourseNum>
     </el-dialog>
   </div>
 </template>
@@ -934,7 +812,7 @@ export default {
           : [];
         if (this.lType1 == "all") {
           if (this.allCourseWorks1[i].id) {
-            worksCount ++;
+            worksCount++;
           }
           if (haveWorksCourse.length == 0) {
             haveWorksCourse.push(this.allCourseWorks1[i].courseid);
@@ -948,7 +826,7 @@ export default {
         } else if (this.lType1 == "grade") {
           if (this.hasCommonValue(this.gradeList, _type)) {
             if (this.allCourseWorks1[i].id) {
-              worksCount ++
+              worksCount++
             }
             if (haveWorksCourse.length == 0) {
               haveWorksCourse.push(this.allCourseWorks1[i].courseid);
@@ -963,7 +841,7 @@ export default {
         } else if (this.lType1 == "subject") {
           if (this.hasCommonValue(this.subjectList2, _type)) {
             if (this.allCourseWorks1[i].id) {
-              worksCount ++
+              worksCount++
             }
             if (haveWorksCourse.length == 0) {
               haveWorksCourse.push(this.allCourseWorks1[i].courseid);
@@ -978,7 +856,7 @@ export default {
         } else {
           if (this.hasCommonValue(this.thList, _type)) {
             if (this.allCourseWorks1[i].id) {
-              worksCount ++
+              worksCount++
             }
             if (haveWorksCourse.length == 0) {
               haveWorksCourse.push(this.allCourseWorks1[i].courseid);
@@ -1794,40 +1672,52 @@ export default {
   height: 100%;
 }
 
-.left > .top {
+.left>.top {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
-.left > .bottom {
+.left>.bottom {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .center {
-  width: calc(100% / 4 * 2 - 40px);
+  width: calc(100% / 4 * 2 - 20px);
   height: 100%;
-  margin: 0 20px;
+  margin: 0 10px;
 }
 
-.center > .top {
+.center>.top {
   width: 100%;
-  height: calc(100% / 5 * 3 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
-.center > .bottom {
+.center>.bottom {
   width: 100%;
-  height: calc(100% / 5 * 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .right {
@@ -1835,19 +1725,25 @@ export default {
   height: 100%;
 }
 
-.right > .top {
+.right>.top {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 16px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
-.right > .bottom {
+.right>.bottom {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .courseCenterTop {
@@ -1863,6 +1759,16 @@ export default {
   padding: 0 15px;
   box-sizing: border-box;
   width: 100%;
+  position: relative;
+}
+
+.titleBox::after {
+  content: '';
+  position: absolute;
+  height: 2px;
+  width: calc(100% - 30px);
+  bottom: 0;
+  background: linear-gradient(90deg, rgba(54, 129, 252, 0.6) 0%, rgba(54, 129, 252, 0.1) 100%);
 }
 
 .allScreen {
@@ -1873,7 +1779,7 @@ export default {
   cursor: pointer;
 }
 
-.allScreen > img {
+.allScreen>img {
   width: 100%;
   height: 100%;
 }
@@ -1892,9 +1798,22 @@ export default {
 
 .title {
   color: #060e17;
-  margin-right: 10px;
+  margin-right: 25px;
+  font-weight: 700;
+  display: flex;
+  align-items: center;
+}
+
+.title::before{
+  content: '';
+  background-image: url('../../../../assets/icon/test/data_title_icon.png');
+  background-size: 100% 100%;
+  width: 20px;
+  height: 20px;
+  margin-right: 5px;
 }
 
+
 .teaMiddle {
   width: calc(100% / 2 - 10px);
   height: 60px;
@@ -1913,38 +1832,32 @@ export default {
 }
 
 .cNum {
-  background: linear-gradient(
-    180deg,
-    rgb(125, 227, 174, 0.2) 0%,
-    rgb(23, 196, 105, 0.3) 100%
-  ) !important;
+  background: linear-gradient(180deg,
+      rgb(125, 227, 174, 0.2) 0%,
+      rgb(23, 196, 105, 0.3) 100%) !important;
 }
 
 .tNum {
-  background: linear-gradient(
-    180deg,
-    rgb(174, 204, 254, 0.2) 0%,
-    rgb(54, 129, 252, 0.3) 100%
-  ) !important;
+  background: linear-gradient(180deg,
+      rgb(174, 204, 254, 0.2) 0%,
+      rgb(54, 129, 252, 0.3) 100%) !important;
 }
 
 .tSum {
-  background: linear-gradient(
-    180deg,
-    rgb(125, 227, 174, 0.2) 0%,
-    rgb(23, 196, 105, 0.3) 100%
-  ) !important;
+  background: linear-gradient(180deg,
+      rgb(125, 227, 174, 0.2) 0%,
+      rgb(23, 196, 105, 0.3) 100%) !important;
 }
 
-.teaLeft > div:first-child,
-.teaMiddle > div:first-child {
+.teaLeft>div:first-child,
+.teaMiddle>div:first-child {
   font-size: 12px;
   font-weight: 400;
   color: #565e6a;
 }
 
-.teaLeft > div:last-child,
-.teaMiddle > div:last-child {
+.teaLeft>div:last-child,
+.teaMiddle>div:last-child {
   font-size: 22px;
   font-weight: bold;
   color: #060e17;
@@ -1960,12 +1873,13 @@ export default {
   margin-left: 10px;
 }
 
-.selectBox >>> .el-input__inner {
+.selectBox>>>.el-input__inner {
   height: 30px;
   line-height: 30px;
+  border: 1px solid #3681FC;
 }
 
-.selectBox >>> .el-input__icon {
+.selectBox>>>.el-input__icon {
   line-height: 30px;
 }
 
@@ -1977,17 +1891,22 @@ export default {
   margin: 0 0 0 15px;
 }
 
-.timeDiv > div {
+.timeDiv>div {
   margin-right: 10px;
   cursor: pointer;
 }
 
 .isClick {
-  color: #1684fc;
-  border-bottom: 2px solid #1684fc;
+  /* color: #1684fc;
+  border-bottom: 2px solid #1684fc; */
   box-sizing: border-box;
 }
 
+.noClick{
+  font-weight: 500;
+  opacity: .6;
+}
+
 .otherCss {
   display: flex;
   flex-direction: row;
@@ -2003,7 +1922,7 @@ export default {
   cursor: pointer;
 }
 
-.otherImg > img {
+.otherImg>img {
   width: 100%;
   height: 100%;
 }
@@ -2040,14 +1959,13 @@ export default {
   justify-content: center;
 }
 
-.depth > span:nth-child(1) {
+.depth>span:nth-child(1) {
   font-size: 14px;
   font-weight: 700;
   margin: 0 0 10px;
 }
 
-.depth > div:nth-child(1) {
-}
+.depth>div:nth-child(1) {}
 
 .info_box {
   display: flex;
@@ -2058,89 +1976,89 @@ export default {
   margin: 0 auto;
 }
 
-.info_box > .info2,
-.info_box > .info3,
-.info_box > .info {
+.info_box>.info2,
+.info_box>.info3,
+.info_box>.info {
   width: calc(50% - 10px);
   display: flex;
-  flex-direction: row;
+  flex-direction: column-reverse;
   flex-wrap: nowrap;
   height: 60px;
-  justify-content: space-between;
-  align-items: center;
+  justify-content: center;
+  /* align-items: center; */
   padding: 0 10px;
   box-sizing: border-box;
   margin-bottom: 10px;
   border-radius: 5px;
 }
 
-.info_box > .info2 {
+.info_box>.info2 {
   width: calc(100% / 4 - 10px);
   /* align-items: flex-end; */
 }
 
-.info_box > .info3 {
+.info_box>.info3 {
   width: 100%;
   margin-bottom: 5px;
 }
 
-.info_box > .info2 > span:nth-child(1),
-.info_box > .info3 > span:nth-child(1),
-.info_box > .info > span:nth-child(1) {
+.info_box>.info2>span:nth-child(1),
+.info_box>.info3>span:nth-child(1),
+.info_box>.info>span:nth-child(1) {
   font-size: 12px;
   /* margin: 0 0 0 20px; */
   color: #565e6a;
-  width: 60px;
+  /* width: 60px; */
   white-space: pre-wrap;
   word-break: break-all;
 }
 
-.info_box > .info2 > span:nth-child(2),
-.info_box > .info3 > span:nth-child(2),
-.info_box > .info > span:nth-child(2) {
+.info_box>.info2>span:nth-child(2),
+.info_box>.info3>span:nth-child(2),
+.info_box>.info>span:nth-child(2) {
   font-size: 24px;
-  /* font-weight: 700; */
+  font-weight: 700;
 }
 
 .blueBG {
-  background: rgb(243, 248, 253);
-  border: 2px solid rgb(234, 246, 255);
+  /* background: rgb(243, 248, 253);
+  border: 2px solid rgb(234, 246, 255); */
 }
 
-.dialog_diy >>> .el-dialog {
+.dialog_diy>>>.el-dialog {
   height: 100%;
   margin: 0vh auto !important;
 }
 
-.dialog_diy >>> .el-dialog__header {
+.dialog_diy>>>.el-dialog__header {
   background: #454545 !important;
   padding: 15px 20px;
 }
 
-.dialog_diy >>> .el-dialog__body {
+.dialog_diy>>>.el-dialog__body {
   height: calc(100% - 124px);
   box-sizing: border-box;
   padding: 0px;
 }
 
-.dialog_diy >>> .el-dialog__title {
+.dialog_diy>>>.el-dialog__title {
   color: #fff;
 }
 
-.dialog_diy >>> .el-dialog__headerbtn {
+.dialog_diy>>>.el-dialog__headerbtn {
   top: 19px;
 }
 
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close {
+.dialog_diy>>>.el-dialog__headerbtn .el-dialog__close {
   color: #fff;
 }
 
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close:hover {
+.dialog_diy>>>.el-dialog__headerbtn .el-dialog__close:hover {
   color: #fff;
 }
 
-.dialog_diy >>> .el-dialog__body,
-.dialog_diy >>> .el-dialog__footer {
+.dialog_diy>>>.el-dialog__body,
+.dialog_diy>>>.el-dialog__footer {
   background: rgb(rgb(240, 242, 245));
   overflow: hidden;
 }

+ 84 - 40
src/components/pages/dataBoardNew/index.vue

@@ -1,29 +1,31 @@
 <template>
   <div class="body">
-    <div class="db_header">
-      <!-- <div class="logoTop">Logo</div> -->
-      <div class="db_header_title">
-        <div v-if="type == 1">综合数据中心</div>
-        <div v-if="type == 2">课程数据中心</div>
-        <div v-if="type == 3">学生数据中心</div>
-        <div v-if="type == 5">项目数据中心</div>
-        <div v-if="type == 4">教师数据中心</div>
+    <div class="db_bg">
+      <div class="db_header">
+        <!-- <div class="logoTop">Logo</div> -->
+        <div class="db_header_title">
+          <!-- <div v-if="type == 1">综合数据中心</div>
+          <div v-if="type == 2">课程数据中心</div>
+          <div v-if="type == 3">学生数据中心</div>
+          <div v-if="type == 5">项目数据中心</div>
+          <div v-if="type == 4">教师数据中心</div> -->
+        </div>
+        <div class="db_check">
+          <div :class="{ active: type == 1 }" @click="setType(1)">综合数据</div>
+          <div :class="{ active: type == 2 }" @click="setType(2)">课程数据</div>
+          <div :class="{ active: type == 5 }" @click="setType(5)" v-if="scourseLength > 0">项目数据</div>
+          <div :class="{ active: type == 3 }" @click="setType(3)">学生数据</div>
+          <div :class="{ active: type == 4 }" @click="setType(4)">教师数据</div>
+        </div>
       </div>
-      <div class="db_check">
-        <div :class="{ active: type == 1 }" @click="setType(1)">综合数据</div>
-        <div :class="{ active: type == 2 }" @click="setType(2)">课程数据</div>
-        <div :class="{ active: type == 5 }" @click="setType(5)" v-if="scourseLength > 0">项目数据</div>
-        <div :class="{ active: type == 3 }" @click="setType(3)">学生数据</div>
-        <div :class="{ active: type == 4 }" @click="setType(4)">教师数据</div>
+      <div class="db_body">
+        <school v-if="type == 1" :oid="oid" :org="org"></school>
+        <course v-if="type == 2" :oid="oid" :org="org"></course>
+        <project v-if="type == 5" :oid="oid" :org="org"></project>
+        <student v-if="type == 3" :oid="oid" :org="org"></student>
+        <teacher v-if="type == 4" :oid="oid" :org="org"></teacher>
       </div>
     </div>
-    <div class="db_body">
-      <school v-if="type == 1" :oid="oid" :org="org"></school>
-      <course v-if="type == 2" :oid="oid" :org="org"></course>
-      <project v-if="type == 5" :oid="oid" :org="org"></project>
-      <student v-if="type == 3" :oid="oid" :org="org"></student>
-      <teacher v-if="type == 4" :oid="oid" :org="org"></teacher>
-    </div>
   </div>
 </template>
 
@@ -65,7 +67,7 @@ export default {
         .post(this.$store.state.api + "getCourseLength", params)
         .then((res) => {
           this.isLoading = false;
-         
+
           this.scourseLength = res.data[0][0].count;
           this.$forceUpdate();
         })
@@ -75,7 +77,7 @@ export default {
         });
     },
   },
-  mounted () {
+  mounted() {
     this.getData();
   },
 };
@@ -87,6 +89,20 @@ export default {
   width: 100%;
   min-width: 1550px;
   min-height: 750px;
+  background: #e7f3fe;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.db_bg {
+  width: calc(100% - 30px);
+  height: calc(100% - 30px);
+  /* padding: 10px; */
+  border-radius: 8px;
+  box-sizing: border-box;
+  border: 2px solid #3681FC3D;
+  box-shadow: 20px 20px 80px 0px #3681FC3D inset;
 }
 
 .db_header {
@@ -95,7 +111,7 @@ export default {
   display: flex;
   justify-content: center;
   position: relative;
-  background: #fff;
+  /* background: #fff; */
   align-items: center;
 }
 
@@ -105,14 +121,22 @@ export default {
 }
 
 .db_header_title {
-  font-weight: bold;
-  font-size: 20px;
+  background-image: url("../../../assets/icon/test/data_title.png");
+  width: 290px;
+  height: 100%;
+  background-size: 100% 100%;
+  position: absolute;
+  left: 0;
+  /* font-weight: bold;
+  font-size: 20px; */
 }
-.db_header_title > div {
+
+/* .db_header_title>div {
   position: relative;
   z-index: 9;
-}
-.db_header_title > div:after {
+} */
+
+/* .db_header_title > div:after {
   content: "";
   position: absolute;
   width: 250px;
@@ -125,31 +149,51 @@ export default {
   -webkit-transform: skew(20deg);
   transform: skew(359deg);
   z-index: 1;
+} */
+
+.db_header:after {
+  content: "";
+    position: absolute;
+    width: calc(100% - 300px);
+    height: 2px;
+    bottom: 0.5px;
+    left: 264px;
+    z-index: 1;
+    background: linear-gradient(90deg, #9ac1fd 0%, rgba(134, 179, 253, 0) 91.13%);
 }
 
 .db_check {
   display: flex;
   align-items: center;
   position: absolute;
-  right: 30px;
-  height: 100%;
+  left: 320px;
+  height: calc(100% - 12px);
+  top: 0;
 }
 
-.db_check > div {
-  padding: 14px 20px;
+.db_check>div {
+  padding: 10px 20px;
   cursor: pointer;
+  font-weight: 700;
+  font-style: italic;
+  color: #00000099;
 }
 
-.db_check > div:hover {
-  background: #edf4ff;
+.db_check>div:hover {
+  /* background: #edf4ff; */
+  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 44.48%, rgba(255, 255, 255, 0) 99.69%);
+  color: #000000;
 }
 
-.db_check > div.active {
-  font-weight: 700;
-  color: #297bff;
+.db_check>div.active {
+  /* font-weight: 700; */
+  /* color: #297bff; */
+  color: #000000;
   background: #edf4ff;
-  border-top: 2px solid #297bff;
+  /* border-top: 2px solid #297bff; */
+  border-bottom: 3px solid #3681FC;
   box-sizing: border-box;
+  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 44.48%, rgba(255, 255, 255, 0) 99.69%);
 }
 
 /* .db_check > div + div {
@@ -160,6 +204,6 @@ export default {
   height: calc(100% - 50px);
   width: 100%;
   overflow: auto;
-  background: rgb(231, 242, 252);
+  /* background: rgb(231, 242, 252); */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/project/chartList/bar.vue

@@ -88,6 +88,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/project/chartList/bar/cCourse.vue

@@ -136,6 +136,6 @@ export default {
     box-sizing: border-box;
     padding: 0;
     width: 95%;
-    background: #fff;
+    /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/project/chartList/bar/finish.vue

@@ -136,6 +136,6 @@ export default {
     box-sizing: border-box;
     padding: 0;
     width: 95%;
-    background: #fff;
+    /* background: #fff; */
 }
 </style>

+ 2 - 1
src/components/pages/dataBoardNew/project/chartList/bar/teacherStudent.vue

@@ -31,6 +31,7 @@ export default {
             },
             option: {
                 chart: {
+                    backgroundColor: 'rgba(0,0,0,0)',
                     type: 'column',
                     inverted: true
                 },
@@ -136,6 +137,6 @@ export default {
     box-sizing: border-box;
     padding: 0;
     width: 95%;
-    background: #fff;
+    /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/project/chartList/bar/time.vue

@@ -139,6 +139,6 @@ export default {
     box-sizing: border-box;
     padding: 0;
     width: 95%;
-    background: #fff;
+    /* background: #fff; */
 }
 </style>

+ 23 - 1
src/components/pages/dataBoardNew/project/chartList/cateRank.vue

@@ -282,8 +282,10 @@ export default {
     box-sizing: border-box;
     padding: 0;
     width: 95%;
-    background: #fff;
+    /* background: #fff; */
     overflow: auto;
+    overflow-y: hidden;
+
 }
 
 .box{
@@ -292,5 +294,25 @@ export default {
     justify-content: center;
     align-items: center;
 }
+
+.data_body::-webkit-scrollbar {
+    /*滚动条整体样式*/
+    width: 6px;
+    /*高宽分别对应横竖滚动条的尺寸*/
+    height: 6px;
+}
+
+/*定义滚动条轨道 内阴影+圆角*/
+.data_body::-webkit-scrollbar-track {
+    border-radius: 10px;
+    background-color: #fff;
+}
+
+/*定义滑块 内阴影+圆角*/
+.data_body::-webkit-scrollbar-thumb {
+    border-radius: 10px;
+    -webkit-box-shadow: inset 0 0 6px #AECCFE;
+    background-color: #AECCFE;
+}
 </style>
   

+ 1 - 1
src/components/pages/dataBoardNew/project/chartList/courseAna.vue

@@ -135,6 +135,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 3 - 2
src/components/pages/dataBoardNew/project/chartList/courseNum.vue

@@ -31,7 +31,8 @@ export default {
       },
       option: {
         chart: {
-          type: 'column'
+          type: 'column',
+          backgroundColor: 'rgba(0,0,0,0)'
         },
         title: {
           text: null
@@ -189,6 +190,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/project/chartList/courseTime.vue

@@ -131,6 +131,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 4 - 1
src/components/pages/dataBoardNew/project/chartList/subjuect.vue

@@ -32,6 +32,9 @@ export default {
         data: [],
       },
       option: {
+        chart: {
+          backgroundColor: 'rgba(0,0,0,0)'
+        },
         title: {
           text: null,
         },
@@ -168,6 +171,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/project/chartList/teaFre.vue

@@ -135,6 +135,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/project/chartList/toolChart.vue

@@ -117,6 +117,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 4 - 4
src/components/pages/dataBoardNew/project/chartList/toolUse.vue

@@ -28,7 +28,7 @@ export default {
           }
         },
         visualMap: {
-          top: 35,
+          top: 'center',
           left: 10,
           right: 0,
           min: 0,
@@ -41,7 +41,7 @@ export default {
           calculable: true,
         },
         calendar: {
-          top: 70,
+          top: 'center',
           left: 80,
           right: 20,
           cellSize: ["auto", 15],
@@ -195,7 +195,7 @@ export default {
   height: 170px;
   /* height: 500px; */
   /* margin: 15px 5px 0 0; */
-  background: #fff;
+  /* background: #fff; */
   overflow: hidden;
   flex-shrink: 0;
   position: relative;
@@ -209,6 +209,6 @@ export default {
   width: 100%;
   height: 100%;
   z-index: 999;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/project/chartList/workNum.vue

@@ -141,6 +141,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/project/chartList/workTime.vue

@@ -117,6 +117,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 85 - 35
src/components/pages/dataBoardNew/project/index.vue

@@ -113,17 +113,17 @@
     <div class="center">
       <div class="top">
         <div class="titleBox">
-          <div class="title" :class="{ isClick: courseType == 0 }" @click="courseType = 0"
+          <div class="title" :class="{ isClick: courseType == 0, noClick: courseType != 0 }" @click="courseType = 0"
             style="cursor: pointer; padding: 0 0 5px 0">
             项目分布
           </div>
-          <div class="title" :class="{ isClick: courseType == 1 }" @click="courseType = 1"
+          <div class="title" :class="{ isClick: courseType == 1, noClick: courseType != 1 }" @click="courseType = 1"
             style="cursor: pointer; padding: 0 0 5px 0">
             项目总数增幅
           </div>
         </div>
         <div class="dataBox">
-          <CateRank v-if="courseType == 0" style="height: calc(100%)" :courseArray="courseArray"></CateRank>
+          <CateRank v-if="courseType == 0" style="height: calc(100% - 10px)" :courseArray="courseArray"></CateRank>
           <CourseNum v-if="courseType == 1" style="height: calc(100%)" :weekCourse2="weekCourse"></CourseNum>
         </div>
       </div>
@@ -161,7 +161,7 @@
           </div> -->
         </div>
         <div class="dataBox">
-          <div v-if="!shType" style="height: calc(100% - 35px);overflow: auto;">
+          <div v-if="!shType" style="height: calc(100% - 55px);overflow: auto;">
             <!-- <barFinish style="height: calc(100% / 3 - 10px);"></barFinish> -->
             <!-- <barCCourse style="height: calc(100% / 3 - 10px);"></barCCourse> -->
             <barTeacherStudent style="height: calc(100%);" :tsArray="tsArray"></barTeacherStudent>
@@ -187,13 +187,17 @@
               <span>{{ worksCount && allCourse ? (worksCount / allCourse).toFixed(0) : 0 }}</span>
             </div>
           </div>
-          <WorkNum v-if="shType" style="height: calc(100% - 105px)" :workNumList="workNumList" @openCours="openCourse"></WorkNum>
-          <div class="otherCss">
+          <WorkNum v-if="shType" style="height: calc(100% - 125px)" :workNumList="workNumList" @openCourse="openCourse"></WorkNum>
+          <!-- <div class="otherCss">
             <div v-if="!shType">转换为散点图</div>
             <div v-if="shType">转换为堆积柱状图</div>
             <div class="otherImg" @click="shEchart">
               <img src="../../../../assets/icon/other.png" alt="" />
             </div>
+          </div> -->
+          <div class="dataBoard_check_box">
+            <div class="icon sd_icon" :class="{ active: shType }" @click="shType = true"><span>散点图</span></div>
+            <div class="icon djzz_icon" :class="{ active: !shType }" @click="shType = false"><span>堆积柱状图</span></div>
           </div>
         </div>
       </div>
@@ -207,11 +211,11 @@
               flex-wrap: nowrap;
               align-items: center;
             ">
-            <div class="title" :class="{ isClick: toolType == 1 }" @click="toolType = 1"
+            <div class="title" :class="{ isClick: toolType == 1, noClick: toolType != 1 }" @click="toolType = 1"
               style="cursor: pointer; padding: 0 0 5px 0">
               工具使用
             </div>
-            <div class="title" :class="{ isClick: toolType == 0 }" @click="toolType = 0"
+            <div class="title" :class="{ isClick: toolType == 0, noClick: toolType != 0 }" @click="toolType = 0"
               style="cursor: pointer; padding: 0 0 5px 0">
               项目占比
             </div>
@@ -919,38 +923,50 @@ export default {
 
 .left>.top {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .left>.bottom {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .center {
-  width: calc(100% / 4 * 2 - 40px);
+  width: calc(100% / 4 * 2 - 20px);
   height: 100%;
-  margin: 0 20px;
+  margin: 0 10px;
 }
 
 .center>.top {
   width: 100%;
-  height: calc(100% / 5 * 3 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .center>.bottom {
   width: 100%;
-  height: calc(100% / 5 * 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .right {
@@ -960,17 +976,23 @@ export default {
 
 .right>.top {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 16px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, 5pxrgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .right>.bottom {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .titleBox {
@@ -980,8 +1002,17 @@ export default {
   padding: 0 15px;
   box-sizing: border-box;
   width: 100%;
+  position: relative;
 }
 
+.titleBox::after {
+  content: '';
+  position: absolute;
+  height: 2px;
+  width: calc(100% - 30px);
+  bottom: 0;
+  background: linear-gradient(90deg, rgba(54, 129, 252, 0.6) 0%, rgba(54, 129, 252, 0.1) 100%);
+}
 .dataBox {
   height: calc(100% - 40px);
   width: 100%;
@@ -996,9 +1027,22 @@ export default {
 
 .title {
   color: #060e17;
-  margin-right: 10px;
+  margin-right: 25px;
+  font-weight: 700;
+  display: flex;
+  align-items: center;
 }
 
+.title::before{
+  content: '';
+  background-image: url('../../../../assets/icon/test/data_title_icon.png');
+  background-size: 100% 100%;
+  width: 20px;
+  height: 20px;
+  margin-right: 5px;
+}
+
+
 .teaMiddle {
   width: calc(100% / 2 - 10px);
   height: 60px;
@@ -1061,6 +1105,7 @@ export default {
 .selectBox>>>.el-input__inner {
   height: 30px;
   line-height: 30px;
+  border: 1px solid #3681FC;
 }
 
 .selectBox>>>.el-input__icon {
@@ -1081,11 +1126,16 @@ export default {
 }
 
 .isClick {
-  color: #1684fc;
-  border-bottom: 2px solid #1684fc;
+  /* color: #1684fc;
+  border-bottom: 2px solid #1684fc; */
   box-sizing: border-box;
 }
 
+.noClick{
+  font-weight: 500;
+  opacity: .6;
+}
+
 .otherCss {
   display: flex;
   flex-direction: row;
@@ -1160,11 +1210,11 @@ export default {
 .info_box>.info {
   width: calc(50% - 10px);
   display: flex;
-  flex-direction: row;
+  flex-direction: column-reverse;
   flex-wrap: nowrap;
   height: 60px;
-  justify-content: space-between;
-  align-items: center;
+  justify-content: center;
+  /* align-items: center; */
   padding: 0 10px;
   box-sizing: border-box;
   margin-bottom: 10px;
@@ -1187,7 +1237,7 @@ export default {
   font-size: 12px;
   /* margin: 0 0 0 20px; */
   color: #565e6a;
-  width: 60px;
+  /* width: 60px; */
   white-space: pre-wrap;
   word-break: break-all;
 }
@@ -1196,11 +1246,11 @@ export default {
 .info_box>.info3>span:nth-child(2),
 .info_box>.info>span:nth-child(2) {
   font-size: 24px;
-  /* font-weight: 700; */
+  font-weight: 700;
 }
 
 .blueBG {
-  background: rgb(243, 248, 253);
-  border: 2px solid rgb(234, 246, 255);
+  /* background: rgb(243, 248, 253);
+  border: 2px solid rgb(234, 246, 255); */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/school/bar/index.vue

@@ -115,6 +115,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 4 - 4
src/components/pages/dataBoardNew/school/barToolUser/index.vue

@@ -28,7 +28,7 @@ export default {
           }
         },
         visualMap: {
-          top: 35,
+          top: 'center',
           left: 10,
           right: 0,
           min: 0,
@@ -41,7 +41,7 @@ export default {
           calculable: true,
         },
         calendar: {
-          top: 70,
+          top: 'center',
           left: 80,
           right: 20,
           cellSize: ["auto", 15],
@@ -195,7 +195,7 @@ export default {
   height: 170px;
   /* height: 500px; */
   /* margin: 15px 5px 0 0; */
-  background: #fff;
+  /* background: #fff; */
   overflow: hidden;
   flex-shrink: 0;
   position: relative;
@@ -209,6 +209,6 @@ export default {
   width: 100%;
   height: 100%;
   z-index: 999;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 4 - 1
src/components/pages/dataBoardNew/school/cateRank/index.vue

@@ -35,6 +35,9 @@ export default {
         title: {
           text: null,
         },
+        chart: {
+          backgroundColor: 'rgba(0,0,0,0)'
+        },
         credits: {
             enabled: false//不显示LOGO
         },
@@ -168,6 +171,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/school/courseInfo/index.vue

@@ -135,6 +135,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 3 - 2
src/components/pages/dataBoardNew/school/courseNum/index.vue

@@ -31,7 +31,8 @@ export default {
       },
       option: {
         chart: {
-          type: 'column'
+          type: 'column',
+          backgroundColor: 'rgba(0,0,0,0)'
         },
         title: {
           text: null
@@ -173,6 +174,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 240 - 332
src/components/pages/dataBoardNew/school/index.vue

@@ -20,12 +20,9 @@
               <span>本月新增登录用户</span>
               <span v-if="loginCountMonthArray.length">{{
                 loginCountMonthArray[loginCountMonthArray.length - 1].user -
-                  loginCountMonthArray[loginCountMonthArray.length - 2].user <
-                0
-                  ? 0
-                  : loginCountMonthArray[loginCountMonthArray.length - 1].user -
-                    loginCountMonthArray[loginCountMonthArray.length - 2].user
-              }}</span>
+                loginCountMonthArray[loginCountMonthArray.length - 2].user < 0 ? 0 :
+                loginCountMonthArray[loginCountMonthArray.length - 1].user -
+                loginCountMonthArray[loginCountMonthArray.length - 2].user }}</span>
             </div>
             <div class="info blueBG">
               <span>本月登录用户总数</span>
@@ -37,13 +34,13 @@
               <span>月登录环比</span>
               <span v-if="loginCountMonthArray.length">{{
                 loginCountMonthArray[loginCountMonthArray.length - 1].user > 0
-                  ? (
-                      (loginCountMonthArray[loginCountMonthArray.length - 1]
-                        .user /
-                        allUser) *
-                      100
-                    ).toFixed(0) + "%"
-                  : 0
+                ? (
+                  (loginCountMonthArray[loginCountMonthArray.length - 1]
+                    .user /
+                    allUser) *
+                  100
+                ).toFixed(0) + "%"
+                : 0
               }}</span>
               <!-- <span v-if="loginCountMonthArray.length">{{ (loginCountMonthArray[loginCountMonthArray.length - 1].user -
                 loginCountMonthArray[loginCountMonthArray.length - 2].user) < 0 ? 0 :
@@ -52,28 +49,17 @@
                   loginCountMonthArray[loginCountMonthArray.length - 2].user) * 100).toFixed(0) + '%' }}</span> -->
             </div>
           </div>
-          <loginCount
-            style="height: calc(100% - 140px)"
-            :monthArray="loginCountMonthArray"
-          ></loginCount>
+          <loginCount style="height: calc(100% - 140px)" :monthArray="loginCountMonthArray"></loginCount>
         </div>
       </div>
       <div class="bottom">
         <div class="titleBox">
-          <div
-            class="title"
-            :class="{ isClick: skType == 0 }"
-            @click="skType = 0"
-            style="cursor: pointer; padding: 0 0 5px 0"
-          >
+          <div class="title" :class="{ isClick: skType == 0, noClick: skType != 0 }" @click="skType = 0"
+            style="cursor: pointer; padding: 0 0 5px 0">
             在线时长
           </div>
-          <div
-            class="title"
-            :class="{ isClick: skType == 1 }"
-            @click="skType = 1"
-            style="cursor: pointer; padding: 0 0 5px 0"
-          >
+          <div class="title" :class="{ isClick: skType == 1, noClick: skType != 1 }" @click="skType = 1"
+            style="cursor: pointer; padding: 0 0 5px 0">
             登录频次
           </div>
           <!-- <el-select v-model="cType1" class="selectBox" style="width: 110px;margin-left:auto;">
@@ -112,33 +98,18 @@
             }}</span>
           </div>
         </div>
-        <div class="dataBox" style="height: calc(100% - 135px)">
+        <div class="dataBox" style="height: calc(100% - 155px)">
           <!-- 登录频次热力图 -->
-          <toolUser
-            style="height: calc(100%)"
-            v-if="skType == 1 && !oType1"
-            :Josn="loginCountYearArray"
-          ></toolUser>
+          <toolUser style="height: calc(100%)" v-if="skType == 1 && !oType1" :Josn="loginCountYearArray"></toolUser>
           <!-- 登录频次柱状图 -->
-          <toolUserBar
-            style="height: calc(100%)"
-            v-if="skType == 1 && oType1"
-            :loginArray="[teacherLoginCount, studentLoginCount]"
-          ></toolUserBar>
+          <toolUserBar style="height: calc(100%)" v-if="skType == 1 && oType1"
+            :loginArray="[teacherLoginCount, studentLoginCount]"></toolUserBar>
           <!-- 在线时长柱状图 -->
           <!-- <bar style="height: calc(100%)" v-if="skType == 0 && !oType" :loginArray="[teacherOnlineTime, studentOnlineTime]"></bar> -->
-          <loginTime
-            style="height: calc(100%)"
-            v-if="skType == 0 && !oType"
-            :yearArray="userOnlineTime"
-          ></loginTime>
+          <loginTime style="height: calc(100%)" v-if="skType == 0 && !oType" :yearArray="userOnlineTime"></loginTime>
           <!-- 在线时长热力图 -->
-          <barToolUser
-            style="height: calc(100%)"
-            v-if="skType == 0 && oType"
-            :Josn="allTimeYearArray"
-          ></barToolUser>
-          <div class="otherCss" v-if="skType == 0">
+          <barToolUser style="height: calc(100%)" v-if="skType == 0 && oType" :Josn="allTimeYearArray"></barToolUser>
+          <!-- <div class="otherCss" v-if="skType == 0">
             <div v-if="!oType">切换为热力图</div>
             <div v-if="oType">切换为仪表盘</div>
             <div class="otherImg" @click="otherEchart">
@@ -151,43 +122,37 @@
             <div class="otherImg" @click="otherEchart1">
               <img src="../../../../assets/icon/other.png" alt="" />
             </div>
-          </div>
+          </div> -->
+        </div>
+        <div class="dataBoard_check_box" v-if="skType == 0">
+          <div class="icon yb_icon" :class="{ active: !oType }" @click="oType = false"><span>仪表盘</span></div>
+          <div class="icon rl_icon" :class="{ active: oType }" @click="oType = true"><span>热力图</span></div>
+        </div>
+        <div class="dataBoard_check_box" v-if="skType == 1">
+          <div class="icon zz_icon" :class="{ active: oType1 }" @click="oType1 = true"><span>柱状图</span></div>
+          <div class="icon rl_icon" :class="{ active: !oType1 }" @click="oType1 = false"><span>热力图</span></div>
         </div>
       </div>
     </div>
     <div class="center">
       <div class="top">
         <div class="titleBox" style="justify-content: space-between">
-          <div
-            style="
+          <div style="
               display: flex;
               flex-direction: row;
               flex-wrap: nowrap;
               align-items: center;
-            "
-          >
-            <div
-              class="title"
-              :class="{ isClick: courseType == 0 }"
-              @click="courseType = 0"
-              style="cursor: pointer; padding: 0 0 5px 0"
-            >
+            ">
+            <div class="title" :class="{ isClick: courseType == 0, noClick: courseType != 0 }" @click="courseType = 0"
+              style="cursor: pointer; padding: 0 0 5px 0">
               整体分布
             </div>
-            <div
-              class="title"
-              :class="{ isClick: courseType == 1 }"
-              @click="courseType = 1"
-              style="cursor: pointer; padding: 0 0 5px 0"
-            >
+            <div class="title" :class="{ isClick: courseType == 1, noClick: courseType != 1 }" @click="courseType = 1"
+              style="cursor: pointer; padding: 0 0 5px 0">
               总量增幅
             </div>
-            <div
-              class="title"
-              :class="{ isClick: courseType == 2 }"
-              @click="courseType = 2"
-              style="cursor: pointer; padding: 0 0 5px 0"
-            >
+            <div class="title" :class="{ isClick: courseType == 2, noClick: courseType != 2 }" @click="courseType = 2"
+              style="cursor: pointer; padding: 0 0 5px 0">
               实施情况
             </div>
           </div>
@@ -206,16 +171,8 @@
           </div> -->
         </div>
         <div class="dataBox">
-          <teacherInfo
-            v-if="courseType == 0"
-            style="height: calc(100%)"
-            :courseArray="courseArray"
-          ></teacherInfo>
-          <courseNum
-            v-if="courseType == 1"
-            style="height: calc(100%)"
-            :weekCourse2="weekCourse2"
-          ></courseNum>
+          <teacherInfo v-if="courseType == 0" style="height: calc(100% - 10px)" :courseArray="courseArray"></teacherInfo>
+          <courseNum v-if="courseType == 1" style="height: calc(100%)" :weekCourse2="weekCourse2"></courseNum>
           <div style="height: calc(100%)" v-if="courseType == 2">
             <div class="info_box" style="width: 96%">
               <div class="info blueBG" style="width: calc(100% / 4 - 10px)">
@@ -226,8 +183,8 @@
                 <span>平台实施课程占比</span>
                 <span>{{
                   isCourseCount
-                    ? ((isCourseCount / allCourseCount) * 100).toFixed(0) + "%"
-                    : "0%"
+                  ? ((isCourseCount / allCourseCount) * 100).toFixed(0) + "%"
+                  : "0%"
                 }}</span>
               </div>
               <div class="info blueBG" style="width: calc(100% / 4 - 10px)">
@@ -243,11 +200,7 @@
                 }}</span>
               </div>
             </div>
-            <workNum
-              style="height: calc(100% - 70px)"
-              :workNumList="workNumList"
-              @openCourse="openCourse"
-            ></workNum>
+            <workNum style="height: calc(100% - 70px)" :workNumList="workNumList" @openCourse="openCourse"></workNum>
           </div>
         </div>
       </div>
@@ -275,221 +228,141 @@
             <div class="depth">
               <span>上传课程</span>
               <div>
-                <el-progress
-                  :width="80"
-                  type="circle"
-                  :percentage="
-                    lightJson.upCourseTeachers
-                      ? parseInt(
-                          (
-                            (lightJson.upCourseTeachers / lightJson.teachers) *
-                            100
-                          ).toFixed(0)
-                        )
-                      : 0
-                  "
-                  :stroke-width="5"
-                  :format="format"
-                  color="#106BFF"
-                ></el-progress>
+                <el-progress :width="80" type="circle" :percentage="lightJson.upCourseTeachers
+                    ? parseInt(
+                      (
+                        (lightJson.upCourseTeachers / lightJson.teachers) *
+                        100
+                      ).toFixed(0)
+                    )
+                    : 0
+                  " :stroke-width="5" :format="format" color="#106BFF"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>上传项目</span>
               <div>
-                <el-progress
-                  :width="80"
-                  type="circle"
-                  :percentage="
-                    lightJson.upSCourseTeachers
-                      ? parseInt(
-                          (
-                            (lightJson.upSCourseTeachers / lightJson.teachers) *
-                            100
-                          ).toFixed(0)
-                        )
-                      : 0
-                  "
-                  :stroke-width="5"
-                  :format="format"
-                  color="#106BFF"
-                ></el-progress>
+                <el-progress :width="80" type="circle" :percentage="lightJson.upSCourseTeachers
+                    ? parseInt(
+                      (
+                        (lightJson.upSCourseTeachers / lightJson.teachers) *
+                        100
+                      ).toFixed(0)
+                    )
+                    : 0
+                  " :stroke-width="5" :format="format" color="#106BFF"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>使用工具</span>
               <div>
-                <el-progress
-                  :width="80"
-                  type="circle"
-                  :percentage="
-                    lightJson.toolTeachers
-                      ? parseInt(
-                          (
-                            (lightJson.toolTeachers / lightJson.teachers) *
-                            100
-                          ).toFixed(0)
-                        )
-                      : 0
-                  "
-                  :stroke-width="5"
-                  :format="format"
-                  color="#106BFF"
-                ></el-progress>
+                <el-progress :width="80" type="circle" :percentage="lightJson.toolTeachers
+                    ? parseInt(
+                      (
+                        (lightJson.toolTeachers / lightJson.teachers) *
+                        100
+                      ).toFixed(0)
+                    )
+                    : 0
+                  " :stroke-width="5" :format="format" color="#106BFF"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>协同合作</span>
               <div>
-                <el-progress
-                  :width="80"
-                  type="circle"
-                  :percentage="
-                    lightJson.gCourseTeachers
-                      ? parseInt(
-                          (
-                            (lightJson.gCourseTeachers / lightJson.teachers) *
-                            100
-                          ).toFixed(0)
-                        )
-                      : 0
-                  "
-                  :stroke-width="5"
-                  :format="format"
-                  color="#106BFF"
-                ></el-progress>
+                <el-progress :width="80" type="circle" :percentage="lightJson.gCourseTeachers
+                    ? parseInt(
+                      (
+                        (lightJson.gCourseTeachers / lightJson.teachers) *
+                        100
+                      ).toFixed(0)
+                    )
+                    : 0
+                  " :stroke-width="5" :format="format" color="#106BFF"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>互动交流</span>
               <div>
-                <el-progress
-                  :width="80"
-                  type="circle"
-                  :percentage="
-                    lightJson.commentTeachers
-                      ? parseInt(
-                          (
-                            (lightJson.commentTeachers / lightJson.teachers) *
-                            100
-                          ).toFixed(0)
-                        )
-                      : 0
-                  "
-                  :stroke-width="5"
-                  :format="format"
-                  color="#106BFF"
-                ></el-progress>
+                <el-progress :width="80" type="circle" :percentage="lightJson.commentTeachers
+                    ? parseInt(
+                      (
+                        (lightJson.commentTeachers / lightJson.teachers) *
+                        100
+                      ).toFixed(0)
+                    )
+                    : 0
+                  " :stroke-width="5" :format="format" color="#106BFF"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>参与课程</span>
               <div>
-                <el-progress
-                  :width="80"
-                  type="circle"
-                  :percentage="
-                    lightJson.courseStudents
-                      ? parseInt(
-                          (
-                            (lightJson.courseStudents / lightJson.students) *
-                            100
-                          ).toFixed(0)
-                        )
-                      : 0
-                  "
-                  :stroke-width="5"
-                  :format="format"
-                  color="#53c95f"
-                ></el-progress>
+                <el-progress :width="80" type="circle" :percentage="lightJson.courseStudents
+                    ? parseInt(
+                      (
+                        (lightJson.courseStudents / lightJson.students) *
+                        100
+                      ).toFixed(0)
+                    )
+                    : 0
+                  " :stroke-width="5" :format="format" color="#53c95f"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>参与项目</span>
               <div>
-                <el-progress
-                  :width="80"
-                  type="circle"
-                  :percentage="
-                    lightJson.scourseStudents
-                      ? parseInt(
-                          (
-                            (lightJson.scourseStudents / lightJson.students) *
-                            100
-                          ).toFixed(0)
-                        )
-                      : 0
-                  "
-                  :stroke-width="5"
-                  :format="format"
-                  color="#53c95f"
-                ></el-progress>
+                <el-progress :width="80" type="circle" :percentage="lightJson.scourseStudents
+                    ? parseInt(
+                      (
+                        (lightJson.scourseStudents / lightJson.students) *
+                        100
+                      ).toFixed(0)
+                    )
+                    : 0
+                  " :stroke-width="5" :format="format" color="#53c95f"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>使用工具</span>
               <div>
-                <el-progress
-                  :width="80"
-                  type="circle"
-                  :percentage="
-                    lightJson.toolStudents
-                      ? parseInt(
-                          (
-                            (lightJson.toolStudents / lightJson.students) *
-                            100
-                          ).toFixed(0)
-                        )
-                      : 0
-                  "
-                  :stroke-width="5"
-                  :format="format"
-                  color="#53c95f"
-                ></el-progress>
+                <el-progress :width="80" type="circle" :percentage="lightJson.toolStudents
+                    ? parseInt(
+                      (
+                        (lightJson.toolStudents / lightJson.students) *
+                        100
+                      ).toFixed(0)
+                    )
+                    : 0
+                  " :stroke-width="5" :format="format" color="#53c95f"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>协同合作</span>
               <div>
-                <el-progress
-                  :width="80"
-                  type="circle"
-                  :percentage="
-                    lightJson.gsCourseStudents
-                      ? parseInt(
-                          (
-                            (lightJson.gsCourseStudents / lightJson.students) *
-                            100
-                          ).toFixed(0)
-                        )
-                      : 0
-                  "
-                  :stroke-width="5"
-                  :format="format"
-                  color="#53c95f"
-                ></el-progress>
+                <el-progress :width="80" type="circle" :percentage="lightJson.gsCourseStudents
+                    ? parseInt(
+                      (
+                        (lightJson.gsCourseStudents / lightJson.students) *
+                        100
+                      ).toFixed(0)
+                    )
+                    : 0
+                  " :stroke-width="5" :format="format" color="#53c95f"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>互动交流</span>
               <div>
-                <el-progress
-                  :width="80"
-                  type="circle"
-                  :percentage="
-                    lightJson.commentStudents
-                      ? parseInt(
-                          (
-                            (lightJson.commentStudents / lightJson.students) *
-                            100
-                          ).toFixed(0)
-                        )
-                      : 0
-                  "
-                  :stroke-width="5"
-                  :format="format"
-                  color="#53c95f"
-                ></el-progress>
+                <el-progress :width="80" type="circle" :percentage="lightJson.commentStudents
+                    ? parseInt(
+                      (
+                        (lightJson.commentStudents / lightJson.students) *
+                        100
+                      ).toFixed(0)
+                    )
+                    : 0
+                  " :stroke-width="5" :format="format" color="#53c95f"></el-progress>
               </div>
             </div>
           </div>
@@ -507,14 +380,12 @@
       <div class="top" style="border-radius: 5px">
         <div class="titleBox" style="justify-content: space-between">
           <div class="title">整体分布</div>
-          <div
-            style="
+          <div style="
               display: flex;
               flex-direction: row;
               flex-wrap: nowrap;
               align-items: center;
-            "
-          >
+            ">
             <el-select v-model="cType" @change="typeChange" class="selectBox">
               <!-- <el-option label="全部" value=""></el-option> -->
               <el-option label="年级" value="grade"></el-option>
@@ -530,10 +401,7 @@
           </div>
         </div>
         <div class="dataBox">
-          <courseInfo
-            style="height: calc(100% - 40px)"
-            :courseNumberArray="courseNumberArray"
-          ></courseInfo>
+          <courseInfo style="height: calc(100% - 40px)" :courseNumberArray="courseNumberArray"></courseInfo>
         </div>
       </div>
       <div class="bottom">
@@ -544,10 +412,7 @@
           </el-select> -->
         </div>
         <div class="dataBox">
-          <cateRank
-            style="height: calc(100%)"
-            :resultSubject="resultSubject"
-          ></cateRank>
+          <cateRank style="height: calc(100%)" :resultSubject="resultSubject"></cateRank>
         </div>
       </div>
     </div>
@@ -780,7 +645,7 @@ export default {
           let loginCountYearArray = {};
           let timeArray = [];
           for (var i = 0; i < loginCountYear.length; i++) {
-            timeArray.push({time:loginCountYear[i].time,num:loginCountYear[i].usernum});
+            timeArray.push({ time: loginCountYear[i].time, num: loginCountYear[i].usernum });
           }
           timeArray.forEach((item) => {
             loginCountYearArray[item.time] = loginCountYearArray[item.time] + item.num || item.num;
@@ -1239,40 +1104,52 @@ export default {
   height: 100%;
 }
 
-.left > .top {
+.left>.top {
   width: 100%;
-  height: calc(100% / 5 * 2.8 - 20px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
-.left > .bottom {
+.left>.bottom {
   width: 100%;
-  height: calc(100% / 5 * 2.2);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .center {
-  width: calc(100% / 4 * 2 - 40px);
+  width: calc(100% / 4 * 2 - 20px);
   height: 100%;
-  margin: 0 20px;
+  margin: 0 10px;
 }
 
-.center > .top {
+.center>.top {
   width: 100%;
-  height: calc(100% / 5 * 2.8 - 20px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
-.center > .bottom {
+.center>.bottom {
   width: 100%;
-  height: calc(100% / 5 * 2.2);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .right {
@@ -1280,19 +1157,25 @@ export default {
   height: 100%;
 }
 
-.right > .top {
+.right>.top {
   width: 100%;
-  height: calc(100% / 5 * 2.8 - 20px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
-.right > .bottom {
+.right>.bottom {
   width: 100%;
-  height: calc(100% / 5 * 2.2);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .titleBox {
@@ -1302,11 +1185,33 @@ export default {
   padding: 0 15px;
   box-sizing: border-box;
   width: 100%;
+  position: relative;
+}
+
+.titleBox::after {
+  content: '';
+  position: absolute;
+  height: 2px;
+  width: calc(100% - 30px);
+  bottom: 0;
+  background: linear-gradient(90deg, rgba(54, 129, 252, 0.6) 0%, rgba(54, 129, 252, 0.1) 100%);
 }
 
 .title {
   color: #060e17;
-  margin-right: 10px;
+  margin-right: 25px;
+  font-weight: 700;
+  display: flex;
+  align-items: center;
+}
+
+.title::before {
+  content: '';
+  background-image: url('../../../../assets/icon/test/data_title_icon.png');
+  background-size: 100% 100%;
+  width: 20px;
+  height: 20px;
+  margin-right: 5px;
 }
 
 .dataBox {
@@ -1315,11 +1220,9 @@ export default {
 }
 
 .greenBG {
-  background: linear-gradient(
-    180deg,
-    rgb(211, 246, 228, 0.2) 0%,
-    rgb(23, 196, 105, 0.3) 100%
-  );
+  background: linear-gradient(180deg,
+      rgb(211, 246, 228, 0.2) 0%,
+      rgb(23, 196, 105, 0.3) 100%);
 }
 
 .depth_box {
@@ -1340,14 +1243,13 @@ export default {
   justify-content: center;
 }
 
-.depth > span:nth-child(1) {
+.depth>span:nth-child(1) {
   font-size: 14px;
   font-weight: 700;
   margin: 0 0 10px;
 }
 
-.depth > div:nth-child(1) {
-}
+.depth>div:nth-child(1) {}
 
 .course_box {
   display: flex;
@@ -1373,12 +1275,13 @@ export default {
   margin-left: 10px;
 }
 
-.selectBox >>> .el-input__inner {
+.selectBox>>>.el-input__inner {
   height: 30px;
   line-height: 30px;
+  border: 1px solid #3681FC;
 }
 
-.selectBox >>> .el-input__icon {
+.selectBox>>>.el-input__icon {
   line-height: 30px;
 }
 
@@ -1407,17 +1310,22 @@ export default {
   margin: 0 0 0 15px;
 }
 
-.timeDiv > div {
+.timeDiv>div {
   margin-right: 10px;
   cursor: pointer;
 }
 
 .isClick {
-  color: #1684fc;
-  border-bottom: 2px solid #1684fc;
+  /* color: #1684fc;
+  border-bottom: 2px solid #1684fc; */
   box-sizing: border-box;
 }
 
+.noClick {
+  font-weight: 500;
+  opacity: .6;
+}
+
 .otherCss {
   display: flex;
   flex-direction: row;
@@ -1433,7 +1341,7 @@ export default {
   cursor: pointer;
 }
 
-.otherImg > img {
+.otherImg>img {
   width: 100%;
   height: 100%;
 }
@@ -1447,53 +1355,53 @@ export default {
   margin: 0 auto;
 }
 
-.info_box > .info2,
-.info_box > .info3,
-.info_box > .info {
+.info_box>.info2,
+.info_box>.info3,
+.info_box>.info {
   width: calc(50% - 10px);
   display: flex;
-  flex-direction: row;
+  flex-direction: column-reverse;
   flex-wrap: nowrap;
   height: 60px;
-  justify-content: space-between;
-  align-items: center;
+  justify-content: center;
+  /* align-items: center; */
   padding: 0 10px;
   box-sizing: border-box;
   margin-bottom: 10px;
   border-radius: 5px;
 }
 
-.info_box > .info2 {
+.info_box>.info2 {
   width: calc(100% / 4 - 10px);
   /* align-items: flex-end; */
 }
 
-.info_box > .info3 {
+.info_box>.info3 {
   width: 100%;
   margin-bottom: 5px;
 }
 
-.info_box > .info2 > span:nth-child(1),
-.info_box > .info3 > span:nth-child(1),
-.info_box > .info > span:nth-child(1) {
+.info_box>.info2>span:nth-child(1),
+.info_box>.info3>span:nth-child(1),
+.info_box>.info>span:nth-child(1) {
   font-size: 12px;
   /* margin: 0 0 0 20px; */
   color: #565e6a;
-  width: 60px;
+  /* width: 60px; */
   white-space: pre-wrap;
   word-break: break-all;
 }
 
-.info_box > .info2 > span:nth-child(2),
-.info_box > .info3 > span:nth-child(2),
-.info_box > .info > span:nth-child(2) {
+.info_box>.info2>span:nth-child(2),
+.info_box>.info3>span:nth-child(2),
+.info_box>.info>span:nth-child(2) {
   font-size: 24px;
-  /* font-weight: 700; */
+  font-weight: 700;
 }
 
 .blueBG {
-  background: rgb(243, 248, 253);
-  border: 2px solid rgb(234, 246, 255);
+  /* background: rgb(243, 248, 253);
+  border: 2px solid rgb(234, 246, 255); */
 }
 
 .tCircleC {
@@ -1506,11 +1414,11 @@ export default {
   align-items: center;
 }
 
-.tCircleBox > span + span {
+.tCircleBox>span+span {
   margin-left: 5px;
 }
 
-.tCircleBox + .tCircleBox {
+.tCircleBox+.tCircleBox {
   margin-left: 10px;
 }
 

+ 1 - 1
src/components/pages/dataBoardNew/school/loginCount/index.vue

@@ -146,6 +146,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/school/loginTime/index.vue

@@ -161,7 +161,7 @@ export default {
     box-sizing: border-box;
     padding: 0;
     width: 95%;
-    background: #fff;
+    /* background: #fff; */
 }
 </style>
   

+ 22 - 1
src/components/pages/dataBoardNew/school/teacherInfo/index.vue

@@ -278,8 +278,29 @@ export default {
     box-sizing: border-box;
     padding: 0;
     width: 95%;
-    background: #fff;
+    /* background: #fff; */
     overflow: auto;
+    overflow-y: hidden;
+}
+
+.data_body::-webkit-scrollbar {
+    /*滚动条整体样式*/
+    width: 6px;
+    /*高宽分别对应横竖滚动条的尺寸*/
+    height: 6px;
+}
+
+/*定义滚动条轨道 内阴影+圆角*/
+.data_body::-webkit-scrollbar-track {
+    border-radius: 10px;
+    background-color: #fff;
+}
+
+/*定义滑块 内阴影+圆角*/
+.data_body::-webkit-scrollbar-thumb {
+    border-radius: 10px;
+    -webkit-box-shadow: inset 0 0 6px #AECCFE;
+    background-color: #AECCFE;
 }
 </style>
   

+ 4 - 4
src/components/pages/dataBoardNew/school/toolUser/index.vue

@@ -28,7 +28,7 @@ export default {
           }
         },
         visualMap: {
-          top: 35,
+          top: 'center',
           left: 10,
           right: 0,
           min: 0,
@@ -41,7 +41,7 @@ export default {
           calculable: true,
         },
         calendar: {
-          top: 70,
+          top: 'center',
           left: 80,
           right: 20,
           cellSize: ["auto", 15],
@@ -196,7 +196,7 @@ export default {
   height: 170px;
   /* height: 500px; */
   /* margin: 15px 5px 0 0; */
-  background: #fff;
+  /* background: #fff; */
   overflow: hidden;
   flex-shrink: 0;
   position: relative;
@@ -210,6 +210,6 @@ export default {
   width: 100%;
   height: 100%;
   z-index: 999;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/school/toolUserBar/index.vue

@@ -115,6 +115,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/school/workNum/index.vue

@@ -141,6 +141,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/student/bar/index.vue

@@ -150,6 +150,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/student/bar2/index.vue

@@ -150,6 +150,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 22 - 2
src/components/pages/dataBoardNew/student/cateRank/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="data_body">
-    <div style="width: 100%;height: calc(100% - 15px);overflow: auto;">
+    <div style="width: 100%;height: calc(100% - 30px); margin-top: 15px; overflow: auto;">
       <el-table :data="tableData" style="width: 100%" :header-cell-style="{ background: '#E0EAFB',color: '#000' }"
         :row-class-name="tableRowClassName" class="tableClass">
         <el-table-column label="排行" min-width="50" align="center">
@@ -91,10 +91,30 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 
 .tableClass >>> td, .tableClass >>> th{
   padding: 5px 0;
 }
+
+.data_body div::-webkit-scrollbar {
+    /*滚动条整体样式*/
+    width: 6px;
+    /*高宽分别对应横竖滚动条的尺寸*/
+    height: 6px;
+}
+
+/*定义滚动条轨道 内阴影+圆角*/
+.data_body div::-webkit-scrollbar-track {
+    border-radius: 10px;
+    background-color: #fff;
+}
+
+/*定义滑块 内阴影+圆角*/
+.data_body div::-webkit-scrollbar-thumb {
+    border-radius: 10px;
+    -webkit-box-shadow: inset 0 0 6px #AECCFE;
+    background-color: #AECCFE;
+}
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/student/courseNum/index.vue

@@ -80,6 +80,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 102 - 49
src/components/pages/dataBoardNew/student/index.vue

@@ -59,7 +59,7 @@
         <div class="titleBox">
           <div
             class="title"
-            :class="{ isClick: skType == 0 }"
+            :class="{ isClick: skType == 0, noClick: skType != 0 }"
             @click="skType = 0"
             style="cursor: pointer; padding: 0 0 5px 0"
           >
@@ -67,7 +67,7 @@
           </div>
           <div
             class="title"
-            :class="{ isClick: skType == 1 }"
+            :class="{ isClick: skType == 1, noClick: skType != 1 }"
             @click="skType = 1"
             style="cursor: pointer; padding: 0 0 5px 0"
           >
@@ -117,29 +117,29 @@
         </div>
         <div class="dataBox" style="height: calc(100% - 110px)">
           <toolUser
-            style="height: calc(100% - 30px)"
+            style="height: calc(100% - 50px)"
             v-if="skType == 1 && !oType"
             :Josn="loginCountYearArray"
           ></toolUser>
           <bar2
-            style="height: calc(100% - 30px)"
+            style="height: calc(100% - 50px)"
             v-if="skType == 1 && oType"
             :EloginTimeArray="EloginTimeArray2"
           ></bar2>
 
 
           <bar
-            style="height: calc(100% - 30px)"
+            style="height: calc(100% - 50px)"
             v-if="skType == 0 && !oType2"
             :EloginTimeArray="EloginTimeArray"
           ></bar>
           <toolUser2
-            style="height: calc(100% - 30px)"
+            style="height: calc(100% - 50px)"
             v-if="skType == 0 && oType2"
             :Josn="loginCountYearArray2"
           ></toolUser2>
 
-          <div class="otherCss" v-if="skType == 1">
+          <!-- <div class="otherCss" v-if="skType == 1">
             <div v-if="!oType">切换为柱状图</div>
             <div v-if="oType">切换为热力图</div>
             <div class="otherImg" @click="otherEchart">
@@ -153,6 +153,14 @@
             <div class="otherImg" @click="otherEchart2">
               <img src="../../../../assets/icon/other.png" alt="" />
             </div>
+          </div> -->
+          <div class="dataBoard_check_box" v-if="skType == 1">
+            <div class="icon zz_icon2" :class="{ active: oType }" @click="oType = true"><span>柱状图</span></div>
+            <div class="icon rl_icon" :class="{ active: !oType }" @click="oType = false"><span>热力图</span></div>
+          </div>
+          <div class="dataBoard_check_box" v-if="skType == 0">
+            <div class="icon zz_icon2" :class="{ active: !oType2 }" @click="oType2 = false"><span>柱状图</span></div>
+            <div class="icon rl_icon" :class="{ active: oType2 }" @click="oType2 = true"><span>热力图</span></div>
           </div>
         </div>
       </div>
@@ -170,7 +178,7 @@
           >
             <div
               class="title"
-              :class="{ isClick: courseType == 0 }"
+              :class="{ isClick: courseType == 0, noClick: courseType != 0 }"
               @click="courseType = 0;rankLoading = false"
               style="cursor: pointer; padding: 0 0 5px 0"
             >
@@ -186,7 +194,7 @@
             </div> -->
             <div
               class="title"
-              :class="{ isClick: courseType == 2 }"
+              :class="{ isClick: courseType == 2, noClick: courseType != 2 }"
               @click="checkRank()"
               style="cursor: pointer; padding: 0 0 5px 0"
             >
@@ -251,7 +259,7 @@
           >
             <div
               class="title"
-              :class="{ isClick: bType == 0 }"
+              :class="{ isClick: bType == 0, noClick: bType != 0 }"
               @click="bType = 0"
               style="cursor: pointer; padding: 0 0 5px 0"
             >
@@ -259,7 +267,7 @@
             </div>
             <div
               class="title"
-              :class="{ isClick: bType == 1 }"
+              :class="{ isClick: bType == 1, noClick: bType != 1 }"
               @click="bType = 1"
               style="cursor: pointer; padding: 0 0 5px 0"
             >
@@ -1144,38 +1152,50 @@ export default {
 
 .left > .top {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .left > .bottom {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .center {
-  width: calc(100% / 4 * 2 - 40px);
+  width: calc(100% / 4 * 2 - 20px);
   height: 100%;
-  margin: 0 20px;
+  margin: 0 10px;
 }
 
 .center > .top {
   width: 100%;
-  height: calc(100% / 6 * 4 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .center > .bottom {
   width: 100%;
-  height: calc(100% / 6 * 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .right {
@@ -1185,17 +1205,23 @@ export default {
 
 .right > .top {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .right > .bottom {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .dataBox {
@@ -1210,11 +1236,33 @@ export default {
   padding: 0 15px;
   box-sizing: border-box;
   width: 100%;
+  position: relative;
+}
+
+.titleBox::after {
+  content: '';
+  position: absolute;
+  height: 2px;
+  width: calc(100% - 30px);
+  bottom: 0;
+  background: linear-gradient(90deg, rgba(54, 129, 252, 0.6) 0%, rgba(54, 129, 252, 0.1) 100%);
 }
 
 .title {
   color: #060e17;
-  margin-right: 10px;
+  margin-right: 25px;
+  font-weight: 700;
+  display: flex;
+  align-items: center;
+}
+
+.title::before{
+  content: '';
+  background-image: url('../../../../assets/icon/test/data_title_icon.png');
+  background-size: 100% 100%;
+  width: 20px;
+  height: 20px;
+  margin-right: 5px;
 }
 
 .dataBox {
@@ -1265,6 +1313,7 @@ export default {
 .selectBox >>> .el-input__inner {
   height: 30px;
   line-height: 30px;
+  border: 1px solid #3681FC;
 }
 
 .selectBox >>> .el-input__icon {
@@ -1302,11 +1351,15 @@ export default {
 }
 
 .isClick {
-  color: #1684fc;
-  border-bottom: 2px solid #1684fc;
+  /* color: #1684fc;
+  border-bottom: 2px solid #1684fc; */
   box-sizing: border-box;
 }
 
+.noClick{
+  font-weight: 500;
+  opacity: .6;
+}
 .otherCss {
   display: flex;
   flex-direction: row;
@@ -1377,52 +1430,52 @@ export default {
   margin: 0 auto;
 }
 
-.info_box > .info2,
-.info_box > .info3,
-.info_box > .info {
+.info_box>.info2,
+.info_box>.info3,
+.info_box>.info {
   width: calc(50% - 10px);
   display: flex;
-  flex-direction: row;
+  flex-direction: column-reverse;
   flex-wrap: nowrap;
   height: 60px;
-  justify-content: space-between;
-  align-items: center;
+  justify-content: center;
+  /* align-items: center; */
   padding: 0 10px;
   box-sizing: border-box;
   margin-bottom: 10px;
   border-radius: 5px;
 }
 
-.info_box > .info2 {
+.info_box>.info2 {
   width: calc(100% / 4 - 10px);
   /* align-items: flex-end; */
 }
 
-.info_box > .info3 {
+.info_box>.info3 {
   width: 100%;
   margin-bottom: 5px;
 }
 
-.info_box > .info2 > span:nth-child(1),
-.info_box > .info3 > span:nth-child(1),
-.info_box > .info > span:nth-child(1) {
+.info_box>.info2>span:nth-child(1),
+.info_box>.info3>span:nth-child(1),
+.info_box>.info>span:nth-child(1) {
   font-size: 12px;
   /* margin: 0 0 0 20px; */
   color: #565e6a;
-  width: 60px;
+  /* width: 60px; */
   white-space: pre-wrap;
   word-break: break-all;
 }
 
-.info_box > .info2 > span:nth-child(2),
-.info_box > .info3 > span:nth-child(2),
-.info_box > .info > span:nth-child(2) {
+.info_box>.info2>span:nth-child(2),
+.info_box>.info3>span:nth-child(2),
+.info_box>.info>span:nth-child(2) {
   font-size: 24px;
-  /* font-weight: 700; */
+  font-weight: 700;
 }
 
 .blueBG {
-  background: rgb(243, 248, 253);
-  border: 2px solid rgb(234, 246, 255);
+  /* background: rgb(243, 248, 253);
+  border: 2px solid rgb(234, 246, 255); */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/student/loginCount/index.vue

@@ -145,6 +145,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/student/loginTime/index.vue

@@ -139,6 +139,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/student/stuAct/index.vue

@@ -130,6 +130,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/student/stuAct2/index.vue

@@ -130,6 +130,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 2 - 2
src/components/pages/dataBoardNew/student/studentInfo/index.vue

@@ -53,7 +53,7 @@ export default {
                   top: '5%',
                   left: '5%',
                   right: '10%',
-                  bottom: '10%',
+                  bottom: '15%',
                   containLabel: true
               },
               xAxis: {
@@ -154,6 +154,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/student/studentInfo2/index.vue

@@ -122,6 +122,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 2 - 2
src/components/pages/dataBoardNew/student/studentInfo3/index.vue

@@ -53,7 +53,7 @@ export default {
                   top: '5%',
                   left: '5%',
                   right: '10%',
-                  bottom: '10%',
+                  bottom: '15%',
                   containLabel: true
               },
               xAxis: {
@@ -154,6 +154,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/student/studentInfo4/index.vue

@@ -122,6 +122,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 4 - 4
src/components/pages/dataBoardNew/student/toolUser/index.vue

@@ -28,7 +28,7 @@ export default {
           }
         },
         visualMap: {
-          top: 35,
+          top: 'center',
           left: 10,
           right: 0,
           min: 0,
@@ -41,7 +41,7 @@ export default {
           calculable: true,
         },
         calendar: {
-          top: 70,
+          top: 'center',
           left: 80,
           right: 20,
           cellSize: ["auto", 15],
@@ -195,7 +195,7 @@ export default {
   height: 170px;
   /* height: 500px; */
   /* margin: 15px 5px 0 0; */
-  background: #fff;
+  /* background: #fff; */
   overflow: hidden;
   flex-shrink: 0;
   position: relative;
@@ -209,6 +209,6 @@ export default {
   width: 100%;
   height: 100%;
   z-index: 999;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 4 - 4
src/components/pages/dataBoardNew/student/toolUser2/index.vue

@@ -28,7 +28,7 @@ export default {
           }
         },
         visualMap: {
-          top: 35,
+          top: 'center',
           left: 10,
           right: 0,
           min: 0,
@@ -41,7 +41,7 @@ export default {
           calculable: true,
         },
         calendar: {
-          top: 70,
+          top: 'center',
           left: 80,
           right: 20,
           cellSize: ["auto", 15],
@@ -195,7 +195,7 @@ export default {
   height: 170px;
   /* height: 500px; */
   /* margin: 15px 5px 0 0; */
-  background: #fff;
+  /* background: #fff; */
   overflow: hidden;
   flex-shrink: 0;
   position: relative;
@@ -209,6 +209,6 @@ export default {
   width: 100%;
   height: 100%;
   z-index: 999;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/teacher/chartList/bar.vue

@@ -150,6 +150,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 22 - 2
src/components/pages/dataBoardNew/teacher/chartList/cateRank.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="data_body">
-    <div style="width: 100%;height: calc(100% - 15px);overflow: auto;">
+    <div style="width: 100%;height: calc(100% - 30px); margin-top: 15px;overflow: auto;">
       <el-table :data="tableData" style="width: 100%" :header-cell-style="{ background: '#E0EAFB',color: '#000' }"
         :row-class-name="tableRowClassName" class="tableClass">
         <el-table-column label="排行" min-width="50" align="center">
@@ -93,10 +93,30 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 
 .tableClass >>> td, .tableClass >>> th{
   padding: 5px 0;
 }
+
+.data_body div::-webkit-scrollbar {
+    /*滚动条整体样式*/
+    width: 6px;
+    /*高宽分别对应横竖滚动条的尺寸*/
+    height: 6px;
+}
+
+/*定义滚动条轨道 内阴影+圆角*/
+.data_body div::-webkit-scrollbar-track {
+    border-radius: 10px;
+    background-color: #fff;
+}
+
+/*定义滑块 内阴影+圆角*/
+.data_body div::-webkit-scrollbar-thumb {
+    border-radius: 10px;
+    -webkit-box-shadow: inset 0 0 6px #AECCFE;
+    background-color: #AECCFE;
+}
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/teacher/chartList/funPlot.vue

@@ -80,6 +80,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/teacher/chartList/teaAct.vue

@@ -130,6 +130,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/teacher/chartList/teaActSecond.vue

@@ -130,6 +130,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 23 - 1
src/components/pages/dataBoardNew/teacher/chartList/teaData.vue

@@ -329,8 +329,30 @@ export default {
     box-sizing: border-box;
     padding: 0;
     width: 95%;
-    background: #fff;
+    /* background: #fff; */
     overflow: auto;
+    overflow-y: hidden;
+}
+
+
+.data_body::-webkit-scrollbar {
+    /*滚动条整体样式*/
+    width: 6px;
+    /*高宽分别对应横竖滚动条的尺寸*/
+    height: 6px;
+}
+
+/*定义滚动条轨道 内阴影+圆角*/
+.data_body::-webkit-scrollbar-track {
+    border-radius: 10px;
+    background-color: #fff;
+}
+
+/*定义滑块 内阴影+圆角*/
+.data_body::-webkit-scrollbar-thumb {
+    border-radius: 10px;
+    -webkit-box-shadow: inset 0 0 6px #AECCFE;
+    background-color: #AECCFE;
 }
 </style>
   

+ 1 - 1
src/components/pages/dataBoardNew/teacher/chartList/teaFre.vue

@@ -135,6 +135,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 4 - 4
src/components/pages/dataBoardNew/teacher/chartList/toolUse.vue

@@ -28,7 +28,7 @@ export default {
           }
         },
         visualMap: {
-          top: 35,
+          top: 'center',
           left: 10,
           right: 0,
           min: 0,
@@ -41,7 +41,7 @@ export default {
           calculable: true,
         },
         calendar: {
-          top: 70,
+          top: 'center',
           left: 80,
           right: 20,
           cellSize: ["auto", 15],
@@ -195,7 +195,7 @@ export default {
   height: 170px;
   /* height: 500px; */
   /* margin: 15px 5px 0 0; */
-  background: #fff;
+  /* background: #fff; */
   overflow: hidden;
   flex-shrink: 0;
   position: relative;
@@ -209,6 +209,6 @@ export default {
   width: 100%;
   height: 100%;
   z-index: 999;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/teacher/chartList/workNum.vue

@@ -127,6 +127,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 1 - 1
src/components/pages/dataBoardNew/teacher/chartList/workTime.vue

@@ -135,6 +135,6 @@ export default {
   box-sizing: border-box;
   padding: 0;
   width: 95%;
-  background: #fff;
+  /* background: #fff; */
 }
 </style>

+ 143 - 77
src/components/pages/dataBoardNew/teacher/index.vue

@@ -83,7 +83,7 @@
         <div class="titleBox">
           <div
             class="title"
-            :class="{ isClick: skType == 0 }"
+            :class="{ isClick: skType == 0, noClick: skType != 0 }"
             @click="skType = 0"
             style="cursor: pointer; padding: 0 0 5px 0"
           >
@@ -91,7 +91,7 @@
           </div>
           <div
             class="title"
-            :class="{ isClick: skType == 1 }"
+            :class="{ isClick: skType == 1, noClick: skType != 1 }"
             @click="skType = 1"
             style="cursor: pointer; padding: 0 0 5px 0"
           >
@@ -170,7 +170,7 @@
             >
               <div
                 class="title"
-                :class="{ isClick: courseType == 0 }"
+                :class="{ isClick: courseType == 0, noClick: courseType != 0 }"
                 @click="
                   courseType = 0;
                   rankLoading = false;
@@ -181,7 +181,7 @@
               </div>
               <div
                 class="title"
-                :class="{ isClick: courseType == 1 }"
+                :class="{ isClick: courseType == 1, noClick: courseType != 1 }"
                 @click="checkRank()"
                 style="cursor: pointer; padding: 0 0 5px 0"
               >
@@ -238,7 +238,7 @@
         <div class="dataBox" v-loading="rankLoading">
           <TeaData
             v-if="courseType == 0"
-            style="height: calc(100%)"
+            style="height: calc(100% - 10px)"
             :courseArray="courseArray"
             :cType="cType"
           >
@@ -259,7 +259,7 @@
           >
             <div
               class="title"
-              :class="{ isClick: bType == 0 }"
+              :class="{ isClick: bType == 0, noClick: bType != 0 }"
               @click="bType = 0"
               style="cursor: pointer; padding: 0 0 5px 0"
             >
@@ -267,7 +267,7 @@
             </div>
             <div
               class="title"
-              :class="{ isClick: bType == 1 }"
+              :class="{ isClick: bType == 1, noClick: bType != 1 }"
               @click="bType = 1"
               style="cursor: pointer; padding: 0 0 5px 0"
             >
@@ -722,7 +722,7 @@ export default {
             subject: [],
           });
           for (var z = 0; z < _course.length; z++) {
-            if (_course[z].typeid == _grade[i].id) {
+            if (_course[z].typeid && _course[z].typeid.indexOf(_grade[i].id) !== -1) {
               _gradeCourse++;
               if (
                 _courseArray[i].courseid.indexOf(_course[z].courseid) === -1
@@ -739,7 +739,7 @@ export default {
             });
             for (var z = 0; z < _course.length; z++) {
               if (
-                _course[z].typeid == _subject[j].id &&
+                _course[z].typeid && _course[z].typeid.indexOf(_subject[j].id) !== -1 &&
                 _courseArray[i].courseid.indexOf(_course[z].courseid) !== -1
               ) {
                 _courseArray[i].subject[j].course++;
@@ -764,7 +764,7 @@ export default {
             subject: [],
           });
           for (var z = 0; z < _course2.length; z++) {
-            if (_course2[z].typeid == _grade[i].id) {
+            if (_course2[z].typeid && _course2[z].typeid.indexOf(_grade[i].id) !== -1) {
               if (
                 _courseArray[i].courseid.indexOf(_course2[z].courseid) === -1
               ) {
@@ -780,7 +780,7 @@ export default {
             });
             for (var z = 0; z < _course2.length; z++) {
               if (
-                _course[z].typeid == _subject[j].id &&
+                _course2[z].typeid && _course2[z].typeid.indexOf(_subject[j].id) !== -1 &&
                 _courseArray[i].courseid.indexOf(_course2[z].courseid) !== -1
               ) {
                 if (this.cType == "0") {
@@ -835,7 +835,7 @@ export default {
           this.teacherNum = res.data[3][0].count; //教师总数
           let _teacherNumYear = res.data[4]; //半年内教师数量
           let _teacherLoginYear = res.data[5]; //半年内登录教师
-          let _classList1 = res.data[26]; //班级
+          let _classList1 = res.data[21]; //班级
           this.classList = _classList1.filter((el) => {
             return el.count > 0;
           });
@@ -883,7 +883,7 @@ export default {
                 _month == teacherNumCountMonthArray[j].Month &&
                 _year == teacherNumCountMonthArray[j].Year
               ) {
-                teacherNumCountMonthArray[j].num++;
+                teacherNumCountMonthArray[j].num+=_teacherNumYear[i].usernum;
                 break;
               }
             }
@@ -897,7 +897,7 @@ export default {
                 _month == teacherLoginCountMonthArray[j].Month &&
                 _year == teacherLoginCountMonthArray[j].Year
               ) {
-                teacherLoginCountMonthArray[j].login++;
+                teacherLoginCountMonthArray[j].login+=_teacherLoginYear[i].usernum;
                 break;
               }
             }
@@ -911,7 +911,7 @@ export default {
           this.teacherNumCountMonthArray = teacherNumCountMonthArray;
           this.teacherLoginCountMonthArray = teacherLoginCountMonthArray;
 
-          let _classList = res.data[24]; //查询学校教研室
+          let _classList = res.data[21]; //查询学校教研室
           let _workTime = res.data[6]; //查询教研室在线时长
           var mergedArray = [];
 
@@ -923,8 +923,8 @@ export default {
             });
             for (let j = 0; j < _workTime.length; j++) {
               const _user = _workTime[j];
-              if (_classList[i].id == _user.cclassid) {
-                mergedArray[i].text += Number(_user.text);
+              if (_classList[i].id == _user.id) {
+                mergedArray[i].text += Number(_user.time);
               }
             }
             mergedArray[i].text = (mergedArray[i].text / 60 / 60).toFixed(0); //换算成小时
@@ -944,10 +944,10 @@ export default {
           let loginCountYearArray = {};
           let timeArray = [];
           for(var i = 0;i<allLoginCount.length;i++){
-            timeArray.push(allLoginCount[i].vtime);
+            timeArray.push({time:allLoginCount[i].time, num:allLoginCount[i].usernum});
           }
           timeArray.forEach((item) => {
-            loginCountYearArray[item] = loginCountYearArray[item] + 1 || 1;
+            loginCountYearArray[item.time] = loginCountYearArray[item.time] + item.num || item.num;
           });
           // for (var i = Month; i > Month - 12; i--) {
           //   if (i <= 0) {
@@ -1000,7 +1000,8 @@ export default {
 
           let _course = res.data[10]; //课程
           this._courseArray = JSON.parse(JSON.stringify(_course));
-          this._course2 = res.data[25]; //查询课程
+          
+          this._course2 = res.data[22]; //查询课程
           this.typeChange2();
 
           let _gradeArray = [];
@@ -1015,7 +1016,7 @@ export default {
               array: [],
             });
             for (var z = 0; z < _course.length; z++) {
-              if (_course[z].typeid == _grade[i].id) {
+              if (_course[z].typeid && _course[z].typeid.indexOf(_grade[i].id) != -1) {
                 _gradeArray[i].course++;
                 _gradeArray[i].array.push(_course[z].courseid);
               }
@@ -1030,7 +1031,7 @@ export default {
               array: [],
             });
             for (var z = 0; z < _course.length; z++) {
-              if (_course[z].typeid == _subject[i].id) {
+              if (_course[z].typeid && _course[z].typeid.indexOf(_subject[i].id) != -1) {
                 _subjectArray[i].course++;
                 _subjectArray[i].array.push(_course[z].courseid);
               }
@@ -1045,7 +1046,7 @@ export default {
               array: [],
             });
             for (var z = 0; z < _course.length; z++) {
-              if (_course[z].typeid == _themeList[i].id) {
+              if (_course[z].typeid && _course[z].typeid.indexOf(_themeList[i].id) != -1) {
                 _themeArray[i].course++;
                 _themeArray[i].array.push(_course[z].courseid);
               }
@@ -1058,9 +1059,25 @@ export default {
           this.typeChange();
 
           let _teacherCourse = res.data[11]; //老师创建的课程
-          this.allCourse = res.data[11].length;
+          let cNum = 0
+          let cNum3 = 0
+          for(var i = 1; i < _teacherCourse.length; i++){
+            cNum += _teacherCourse[i].coursecount;
+            if(_teacherCourse[i].coursecount > 0){
+              cNum3++
+            }
+          }
+          this.allCourse = cNum; //得按上面计算
           let _teacherProject = res.data[12]; //老师创建的项目
-          this.allProject = res.data[12].length;
+          let cNum2 = 0
+          let cNum4 = 0
+          for(var i = 1; i < _teacherProject.length; i++){
+            cNum2 += _teacherProject[i].count;
+            if(_teacherProject[i].count > 0){
+              cNum4++
+            }
+          }
+          this.allProject = cNum2;//得按上面计算
 
           var _workNumList = [];
           // 创建一个对象来存储结果
@@ -1070,6 +1087,7 @@ export default {
           _teacherCourse.forEach((item) => {
             var userid = item.userid;
             var username = item.username;
+            var count = item.coursecount;
             if (!result[username]) {
               result[username] = {
                 username: username,
@@ -1078,12 +1096,13 @@ export default {
                 project: 0,
               };
             }
-            result[username].course++;
+            result[username].course = count;
           });
 
           _teacherProject.forEach((item) => {
             var userid = item.userid;
             var username = item.username;
+            var count = item.count;
             if (!result[username]) {
               result[username] = {
                 username: username,
@@ -1092,7 +1111,7 @@ export default {
                 project: 0,
               };
             }
-            result[username].project++;
+            result[username].project = count;
           });
 
           for (var username in result) {
@@ -1109,15 +1128,15 @@ export default {
 
           this.lightJson.teachers = res.data[3][0].count; //教师总数
           this.lightJson1.teachers = res.data[3][0].count; //教师总数
-          this.lightJson.createCourse = res.data[13].length; //创建了课程的老师
-          this.lightJson.gCourseTeachers = res.data[14][0].count; //参与协同课程的老师
-          this.lightJson.commentTeachers = res.data[15][0].count; //参与互动交流的老师
-          this.lightJson.useTool = res.data[16][0].count; //使用工具
-          this.lightJson.useEvalution = res.data[17].length; //实施评价
-          this.lightJson.evaWorksCount = res.data[18][0].count; //教学评一体化
+          this.lightJson.createCourse = cNum3; //创建了课程的老师 --计算
+          this.lightJson.gCourseTeachers = res.data[13][0].count; //参与协同课程的老师
+          this.lightJson.commentTeachers = res.data[14][0].count; //参与互动交流的老师
+          this.lightJson.useTool = res.data[15][0].count; //使用工具
+          this.lightJson.useEvalution = res.data[16].length; //实施评价
+          this.lightJson.evaWorksCount = res.data[17][0].count; //教学评一体化
 
-          let _isLoginTeacher = res.data[19].length; //登录过的教师
-          let _isCourseTeacher = res.data[20].length; //授课了的教师
+          let _isLoginTeacher = res.data[18][0].usercount; //登录过的教师
+          let _isCourseTeacher = res.data[15][0].count; //授课了的教师
 
           for (var i = 0; i < this.pusaDep.length; i++) {
             if (this.pusaDep[i].name == "登录") {
@@ -1143,9 +1162,10 @@ export default {
             }
           }
 
-          this.lightJson1.createProject = res.data[21].length; //创建项目
-          let _teacherAndStudent = res.data[22]; //师生协作
-          this.lightJson1.useTool = res.data[23][0].count; //项目使用工具
+          this.lightJson1.createProject = cNum4; //创建项目 
+
+          let _teacherAndStudent = res.data[19]; //师生协作
+          this.lightJson1.useTool = res.data[20][0].count; //项目使用工具
           let _tsCount = 0;
 
           for (var i = 0; i < _teacherAndStudent.length; i++) {
@@ -1198,6 +1218,7 @@ export default {
         });
     },
     checkRank() {
+          this.courseType = 1;
       this.rankLoading = true;
       let params = [
         {
@@ -1210,7 +1231,6 @@ export default {
         .post(this.$store.state.api + "selectDataboardTeacherRank", params)
         .then((res) => {
           this.rankLoading = false;
-          this.courseType = 1;
           let rankData = [];
           let teachers = res.data[0]; //教师总数
           let loginTimeAll = res.data[1]; //教师总登录时长
@@ -1318,38 +1338,50 @@ export default {
 
 .left > .top {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .left > .bottom {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .center {
-  width: calc(100% / 4 * 2 - 40px);
+  width: calc(100% / 4 * 2 - 20px);
   height: 100%;
-  margin: 0 20px;
+  margin: 0 10px;
 }
 
 .center > .top {
   width: 100%;
-  height: calc(100% / 5 * 3 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .center > .bottom {
   width: 100%;
-  height: calc(100% / 5 * 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .right {
@@ -1359,17 +1391,23 @@ export default {
 
 .right > .top {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.7 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
-  margin: 0 0 20px 0;
+  margin: 0 0 10px 0;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .right > .bottom {
   width: 100%;
-  height: calc(100% / 2 - 10px);
-  background: #fff;
+  height: calc(100% / 5 * 2.3 - 5px);
+  /* background: #fff; */
   border-radius: 5px;
+  background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(224, 234, 251, 0.8) 100%);
+  border: 2px solid #fff;
+  box-sizing: border-box;
 }
 
 .titleBox {
@@ -1379,6 +1417,16 @@ export default {
   padding: 0 15px;
   box-sizing: border-box;
   width: 100%;
+  position: relative;
+}
+
+.titleBox::after {
+  content: '';
+  position: absolute;
+  height: 2px;
+  width: calc(100% - 30px);
+  bottom: 0;
+  background: linear-gradient(90deg, rgba(54, 129, 252, 0.6) 0%, rgba(54, 129, 252, 0.1) 100%);
 }
 
 .dataBox {
@@ -1395,7 +1443,19 @@ export default {
 
 .title {
   color: #060e17;
-  margin-right: 10px;
+  margin-right: 25px;
+  font-weight: 700;
+  display: flex;
+  align-items: center;
+}
+
+.title::before{
+  content: '';
+  background-image: url('../../../../assets/icon/test/data_title_icon.png');
+  background-size: 100% 100%;
+  width: 20px;
+  height: 20px;
+  margin-right: 5px;
 }
 
 .teaMiddle {
@@ -1471,11 +1531,16 @@ export default {
 }
 
 .isClick {
-  color: #1684fc;
-  border-bottom: 2px solid #1684fc;
+  /* color: #1684fc;
+  border-bottom: 2px solid #1684fc; */
   box-sizing: border-box;
 }
 
+.noClick{
+  font-weight: 500;
+  opacity: .6;
+}
+
 .otherCss {
   display: flex;
   flex-direction: row;
@@ -1545,6 +1610,7 @@ export default {
 .selectBox >>> .el-input__inner {
   height: 30px;
   line-height: 30px;
+  border: 1px solid #3681FC;
 }
 
 .selectBox >>> .el-input__icon {
@@ -1560,52 +1626,52 @@ export default {
   margin: 0 auto;
 }
 
-.info_box > .info2,
-.info_box > .info3,
-.info_box > .info {
+.info_box>.info2,
+.info_box>.info3,
+.info_box>.info {
   width: calc(50% - 10px);
   display: flex;
-  flex-direction: row;
+  flex-direction: column-reverse;
   flex-wrap: nowrap;
   height: 60px;
-  justify-content: space-between;
-  align-items: center;
+  justify-content: center;
+  /* align-items: center; */
   padding: 0 10px;
   box-sizing: border-box;
   margin-bottom: 10px;
   border-radius: 5px;
 }
 
-.info_box > .info2 {
+.info_box>.info2 {
   width: calc(100% / 4 - 10px);
   /* align-items: flex-end; */
 }
 
-.info_box > .info3 {
+.info_box>.info3 {
   width: 100%;
   margin-bottom: 5px;
 }
 
-.info_box > .info2 > span:nth-child(1),
-.info_box > .info3 > span:nth-child(1),
-.info_box > .info > span:nth-child(1) {
+.info_box>.info2>span:nth-child(1),
+.info_box>.info3>span:nth-child(1),
+.info_box>.info>span:nth-child(1) {
   font-size: 12px;
   /* margin: 0 0 0 20px; */
   color: #565e6a;
-  width: 60px;
+  /* width: 60px; */
   white-space: pre-wrap;
   word-break: break-all;
 }
 
-.info_box > .info2 > span:nth-child(2),
-.info_box > .info3 > span:nth-child(2),
-.info_box > .info > span:nth-child(2) {
+.info_box>.info2>span:nth-child(2),
+.info_box>.info3>span:nth-child(2),
+.info_box>.info>span:nth-child(2) {
   font-size: 24px;
-  /* font-weight: 700; */
+  font-weight: 700;
 }
 
 .blueBG {
-  background: rgb(243, 248, 253);
-  border: 2px solid rgb(234, 246, 255);
+  /* background: rgb(243, 248, 253);
+  border: 2px solid rgb(234, 246, 255); */
 }
 </style>

+ 2 - 2
src/components/pages/dataBoardTest/course/index.vue

@@ -563,8 +563,8 @@ export default {
 
 
           let shejiJson = JSON.parse(shejiArray[0].chapters)
-          let shejiTimeArray = shejiJson[1].json.array
-          let shejiXuanArray = shejiJson[2].json.array
+          let shejiTimeArray = shejiJson[0].array[1].json.array
+          let shejiXuanArray = shejiJson[0].array[2].json.array
           let shejiTime = []
           let shejiXuan = []
           shejiTimeArray.forEach(el => {

+ 7 - 7
src/components/pages/test/check/index.vue

@@ -440,16 +440,16 @@ export default {
               })
             }
           }
-          for (var i = 0; i < chapters.length; i++) {
-            let el = chapters[i]
+          for (var i = 0; i < this.chapters.length; i++) {
+            let el = this.chapters[i]
             let topic = {
               type: el.type,
-              title: el.json.title,
-              detail: el.json.detail,
-              atype: el.json.type,
-              choice: el.json.array,
+              title: el.json ? el.json.title : '',
+              detail: el.json ? el.json.detail : '',
+              atype: el.json ? el.json.type : '',
+              choice: el.json ? el.json.array : '',
               array: [],
-              answer: el.json.answer,
+              answer: el.json ? el.json.answer : '',
               count: 0
             }
             if (topic.type == 1) {

+ 4 - 2
src/components/pages/test/index.vue

@@ -240,7 +240,9 @@
                                     scope.row.course_teacher.indexOf(userid) !== -1) || role == '1')">编辑</el-button>
                             <el-button @click="checkToTest(scope.row.courseId)" type="text" size="small">查看</el-button>
                             <el-button @click="copyTest(scope.row.courseId)" type="text" size="small">复制</el-button>
-                            <el-button @click="shareTest(scope.row)" type="text" size="small">提醒</el-button>
+                            <el-button @click="shareTest(scope.row)" type="text" size="small" v-if="((scope.row.userid == userid) ||
+                                (scope.row.course_teacher &&
+                                    scope.row.course_teacher.indexOf(userid) !== -1) || role == '1')">提醒</el-button>
                             <el-button @click="deleteCourse(scope.row.courseId)" type="text" size="small"
                                 style="color: #EE3E3E;"
                                 v-if="((scope.row.userid == userid) ||
@@ -581,7 +583,7 @@ export default {
         },
         goToCourse2(item) {
             if (item.worksCount > 0) {
-                this.$confirm("该表单已存在数据,如果修改题目可能会导致数据错乱,是否进入编辑编辑?", "提示", {
+                this.$confirm("该表单已存在数据,如果修改题目可能会清空已提交数据,是否重新编辑?", "提示", {
                     confirmButtonText: "确定",
                     cancelButtonText: "取消",
                     type: "warning",

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels