lsc 1 year ago
parent
commit
6edda075bc

+ 1 - 1
dist/index.html

@@ -25,7 +25,7 @@
       height: 100%;
       width: 100%;
       background: #e6eaf0;
-    }</style><link href=./static/css/app.77b355a085a06ddf51d2bf482bbe0d4d.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.b01159b52abeac4e6216.js></script><script type=text/javascript src=./static/js/app.0d5285a5f32e69b02fad.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.d32a0b5745713d54d74bba6cbd15251a.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.b01159b52abeac4e6216.js></script><script type=text/javascript src=./static/js/app.7fa6bdafd94dae263947.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.d32a0b5745713d54d74bba6cbd15251a.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.d32a0b5745713d54d74bba6cbd15251a.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.7fa6bdafd94dae263947.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.7fa6bdafd94dae263947.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.3512a67a6213c2df4180.js.map


+ 20 - 17
src/components/pages/dataBoardTest/course/chartList/bar.vue

@@ -3,11 +3,14 @@
     <div style="width: 100%; height: 100%;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 prop="subject" label="序号" min-width="30" align="center">
+        <el-table-column label="序号" min-width="30" align="center">
+          <template slot-scope="scope">
+            {{ scope.$index + 1 }}
+          </template>
         </el-table-column>
-        <el-table-column prop="score1" label="教师姓名" min-width="100" align="center">
+        <el-table-column prop="username" label="教师姓名" min-width="100" align="center">
         </el-table-column>
-        <el-table-column prop="score2" label="教师提交次数" min-width="90" align="center">
+        <el-table-column prop="worksCount" label="教师提交次数" min-width="90" align="center">
         </el-table-column>
       </el-table>
     </div>
@@ -17,7 +20,7 @@
 <script>
 export default {
   props: {
-    courseNumberArray: {
+    workList: {
       type: Array,
     },
   },
@@ -37,30 +40,30 @@ export default {
       }
     },
     setArray(array){
-      this.tableData = []
-      for(var i = 0;i<array.length;i++){
-        this.tableData.push({
-          sum:array[i].course,
-          name:array[i].name
-        })
-      }
-      this.tableData = this.tableData.sort(function(a,b){
-        return b.sum - a.sum;
-      })
+      this.tableData = array
+      // for(var i = 0;i<array.length;i++){
+      //   this.tableData.push({
+      //     sum:array[i].course,
+      //     name:array[i].name
+      //   })
+      // }
+      // this.tableData = this.tableData.sort(function(a,b){
+      //   return b.sum - a.sum;
+      // })
     }
   },
   watch: {
-    courseNumberArray: {
+    workList: {
       immediate: true,
       deep: true,
       handler(newValue, oldValue) {
-        // this.setArray(newValue)
+        this.setArray(newValue)
         this.$forceUpdate();
       },
     },
   },
   mounted() {
-    // this.setArray(this.courseNumberArray)
+    this.setArray(this.workList)
   },
 };
 </script>

+ 14 - 42
src/components/pages/dataBoardTest/course/chartList/cateRank.vue

@@ -10,7 +10,7 @@
 export default {
     props: {
         courseArray: {
-            type: Array,
+            type: Object,
         },
     },
     data() {
@@ -43,7 +43,8 @@ export default {
                 yAxis: [
                     {
                         type: 'category',
-                        data: ['综合', '艺术', '英语', '数学', '语文'],
+                        // data: ['综合', '艺术', '英语', '数学', '语文'],
+                        data: [],
                         axisTick: {
                             alignWithLabel: true
                         }
@@ -54,7 +55,8 @@ export default {
                         name: '',
                         type: 'bar',
                         barWidth: '60%',
-                        data: [100, 502, 200, 334, 390, 330, 220]
+                        // data: [100, 502, 200, 334, 390, 330, 220]
+                        data: []
                     }
                 ]
             },
@@ -72,58 +74,28 @@ export default {
                     //劳动课程
                     this.$el.querySelector("#charts_canvas")
                 );
-        
+                this.option.yAxis[0].data = option.yAxis
+                this.option.series[0].data = option.data
                 // 初始化雷达图
                 this.chartObj = chartObj;
                 this.chartObj.setOption(this.option);
             });
         },
         setJson(array) {
-            if (array != undefined && array.length > 0) {
+            if (Object.keys(array).length > 0) {
                 this.ooption = {
-                    hours: [],
-                    days: [],
+                    yAxis: Object.keys(array),
                     data: [],
                 }
-                let _grade = []
-                let _subject = []
-                let data = []
-
-                array.forEach(function (item, idx) {
-                    _grade.push(item.name)
-                })
+                for (let i = 0; i < Object.keys(array).length; i++) {
+                    this.ooption.data.push(array[Object.keys(array)[i]]);
+                }
 
-                array[0].subject.forEach(function (item, idx) {
-                    _subject.push(item.name)
-                })
-                array.forEach(function (item, idx) {
-                    item.subject.forEach(function (item2, idx2) {
-                        data.push([idx, idx2, item2.course])
-                    })
-                })
-                this.ooption.hours = _subject
-                this.ooption.days = _grade
-                this.ooption.data = data
                 if (!this.chartObj) {
                     this.setChart(this.ooption);
                 } else {
-                    const hours = this.ooption.hours;
-                    // prettier-ignore
-                    const days = this.ooption.days;
-                    // prettier-ignore
-                    const data = this.ooption.data;
-                    const title = [];
-                    const singleAxis = [];
-                    const series = [];
-
-                    this.option.xAxis.data = hours
-                    this.option.yAxis.data = days
-                    this.option.series[0].data = data.map(function (item) {
-                        return [item[1], item[0], item[2]];
-                    })
-                    // this.option.title = title
-                    // this.option.singleAxis = singleAxis
-                    // this.option.series = series
+                    this.option.yAxis[0].data = this.ooption.yAxis
+                    this.option.series[0].data = this.ooption.data
                     this.chartObj.setOption(this.option);
                 }
             }

+ 22 - 25
src/components/pages/dataBoardTest/course/chartList/courseAna.vue

@@ -10,7 +10,7 @@
 export default {
   props: {
     courseNumberArray: {
-      type: Array,
+      type: Object,
     },
   },
   data() {
@@ -48,11 +48,11 @@ export default {
               }
             },
             data: [
-              { value: 1048, name: '校级' },
-              { value: 735, name: '区级' },
-              { value: 580, name: '国家级' },
-              { value: 484, name: '省级' },
-              { value: 300, name: '市级' }
+              // { value: 1048, name: '校级' },
+              // { value: 735, name: '区级' },
+              // { value: 580, name: '国家级' },
+              // { value: 484, name: '省级' },
+              // { value: 300, name: '市级' }
             ]
           }
         ]
@@ -71,32 +71,29 @@ export default {
           //劳动课程
           this.$el.querySelector("#charts_canvas")
         );
-        // this.option.series[0].data = this.ooption.data.filter(item => item.value !== 0);
-        // chartObj.off('click')
-        // let _this = this
-        // chartObj.on('click', function (param) {
-        //   console.log(param);  //X轴的值
-        //   _this.$emit('openCourse', param.dataIndex)
-        // });
+        this.option.series[0].data = option.data
+
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
       });
     },
     setArray(array) {
-      this.ooption = {
-        data: [],
-      };
-      for (var i = 0; i < array.length; i++) {
-        this.ooption.data.push({ value: array[i].course, name: array[i].name });
-      }
-      if (!this.chartObj) {
-        this.setChart(this.ooption);
-      } else {
-        this.option.series[0].data = this.ooption.data;
-        this.chartObj.setOption(this.option);
+      if(array && Object.keys(array).length > 0){
+        this.ooption = {
+          data: [],
+        };
+        for (var i = 0; i < Object.keys(array).length; i++) {
+          this.ooption.data.push({ value: array[Object.keys(array)[i]], name: Object.keys(array)[i] });
+        }
+        if (!this.chartObj) {
+          this.setChart(this.ooption);
+        } else {
+          this.option.series[0].data = this.ooption.data;
+          this.chartObj.setOption(this.option);
+        }
+        this.$forceUpdate();
       }
-      this.$forceUpdate();
     },
   },
   watch: {

+ 26 - 17
src/components/pages/dataBoardTest/course/chartList/toolChart.vue

@@ -14,7 +14,7 @@
 export default {
   props: {
     toolArray: {
-      type: Array,
+      type: Object,
     },
   },
   data() {
@@ -49,11 +49,11 @@ export default {
               }
             },
             data: [
-              { value: 1048, name: '其他' },
-              { value: 735, name: '特等奖' },
-              { value: 580, name: '一等奖' },
-              { value: 484, name: '二等奖' },
-              { value: 300, name: '三等奖' }
+              // { value: 1048, name: '其他' },
+              // { value: 735, name: '特等奖' },
+              // { value: 580, name: '一等奖' },
+              // { value: 484, name: '二等奖' },
+              // { value: 300, name: '三等奖' }
             ]
           }
         ]
@@ -71,33 +71,42 @@ export default {
         const chartObj = this.$echarts.init(
           this.$el.querySelector("#charts_canvas")
         );
-        // this.option.series[0].data = arrArray;
+        this.option.series[0].data = arrArray.data;
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
       });
     },
+    setArray(array) {
+      if(array && Object.keys(array).length > 0){
+        this.ooption = {
+          data: [],
+        };
+        for (var i = 0; i < Object.keys(array).length; i++) {
+          this.ooption.data.push({ value: array[Object.keys(array)[i]], name: Object.keys(array)[i] });
+        }
+        if (!this.chartObj) {
+          this.setChart(this.ooption);
+        } else {
+          this.option.series[0].data = this.ooption.data;
+          this.chartObj.setOption(this.option);
+        }
+        this.$forceUpdate();
+      }
+    },
   },
   watch: {
     toolArray: {
       immediate: true,
       deep: true,
       handler(newValue, oldValue) {
-        let _array = newValue;
-
-        if (!this.chartObj) {
-          this.setChart(_array);
-        } else {
-          this.option.series[0].data = _array;
-          this.chartObj.setOption(this.option);
-        }
+        this.setArray(newValue);
         this.$forceUpdate();
       },
     },
   },
   mounted() {
-    let _array = this.toolArray;
-    this.setChart(_array);
+    this.setArray(this.toolArray);
     var _this = this;
     window.addEventListener("resize", () => {
       if (_this.chartObj) {

+ 33 - 44
src/components/pages/dataBoardTest/course/chartList/workNum.vue

@@ -14,7 +14,7 @@
 export default {
   props: {
     workNumList: {
-      type: Array,
+      type: Object,
     },
   },
   data() {
@@ -27,36 +27,39 @@ export default {
         xAxis: {
           name: "发展规划提交数",
           nameTextStyle: {
-            padding: [15, 0, 0, 0],
+            padding: [25, 0, 0, 0],
             verticalAlign:'top'
           },
-          nameGap: -45
+          nameGap: -60,
+          minInterval: 1
         },
         grid: {
-          top: "10%",
+          top: "15%",
           left: "5%",
           right: "5%",
           bottom: "15%",
           containLabel: true,
         },
         yAxis: {
-          name: "教育观提交数",
+          name: "教育观提交数",
           nameTextStyle: {
-            padding: [0, 0, 0, 40],
+            padding: [0, 0, 0, 30],
             verticalAlign:'top'
           },
+          nameGap: 25,
+          minInterval: 1
         },
         color: ["#3681FC"],
         tooltip: {
           formatter: function (params) {
             return (
               params.marker +
-              // params.data[2] +
+              params.data[2] +
               "<br/>" +
-              "任务数量:" +
+              "发展规划提交数:" +
               params.data[0] +
               "<br/>" +
-              "作业提交数量:" +
+              "教育观树提交数:" +
               params.data[1]
             );
           },
@@ -64,28 +67,7 @@ export default {
         series: [
           {
             symbolSize: 8,
-            data: [ [10, 8],
-        [8, 6],
-        [13, 7],
-        [8, 8],
-        [11, 8],
-        [14, 7],
-        [13, 6],
-        [10, 6],
-        [14, 8],
-        [12, 6],
-        [9, 7],
-        [11, 7],
-        [3, 4],
-        [12, 7],
-        [2, 4],
-        [1, 3],
-        [4, 4],
-        [6, 7],
-        [12, 6],
-        [12, 8],
-        [7, 5],
-        [5, 5]],
+            data: [],
             type: "scatter",
           },
         ],
@@ -104,7 +86,7 @@ export default {
           //劳动课程
           this.$el.querySelector("#charts_canvas")
         );
-        // this.option.series[0].data = this.ooption.data;
+        this.option.series[0].data = this.ooption.data;
 
         // 初始化雷达图
         this.chartObj = chartObj;
@@ -112,19 +94,26 @@ export default {
       });
     },
     setArray(array) {
-      this.ooption = {
-        data: [],
-      };
-      for (var i = 0; i < array.length; i++) {
-        this.ooption.data.push(array[i]);
-      }
-      if (!this.chartObj) {
-        this.setChart(this.ooption);
-      } else {
-        this.option.series[0].data = this.ooption.data;
-        this.chartObj.setOption(this.option);
+      if(array && Object.keys(array).length > 0){
+        this.ooption = {
+          data: [],
+        };
+        for (var i = 0; i < Object.keys(array).length; i++) {
+          this.ooption.data.push([
+          array[Object.keys(array)[i]].guihua,
+          array[Object.keys(array)[i]].guanshu,
+          array[Object.keys(array)[i]].name,
+          ]);
+        }
+        if (!this.chartObj) {
+          this.setChart(this.ooption);
+        } else {
+          this.option.series[0].data = this.ooption.data;
+          this.chartObj.setOption(this.option);
+        }
+        this.$forceUpdate();
       }
-      this.$forceUpdate();
+      
     },
   },
   watch: {

+ 28 - 19
src/components/pages/dataBoardTest/course/chartList/workTime.vue

@@ -13,8 +13,8 @@
 <script>
 export default {
   props: {
-    personArray: {
-      type: Array,
+    toolArray: {
+      type: Object,
     },
   },
   data() {
@@ -49,11 +49,11 @@ export default {
               }
             },
             data: [
-              { value: 1048, name: '校级' },
-              { value: 735, name: '区级' },
-              { value: 580, name: '国家级' },
-              { value: 484, name: '省级' },
-              { value: 300, name: '市级' }
+              // { value: 1048, name: '其他' },
+              // { value: 735, name: '特等奖' },
+              // { value: 580, name: '一等奖' },
+              // { value: 484, name: '二等奖' },
+              // { value: 300, name: '三等奖' }
             ]
           }
         ]
@@ -71,33 +71,42 @@ export default {
         const chartObj = this.$echarts.init(
           this.$el.querySelector("#charts_canvas")
         );
-        // this.option.series[0].data = arrArray;
+        this.option.series[0].data = arrArray.data;
         // 初始化雷达图
         this.chartObj = chartObj;
         this.chartObj.setOption(this.option);
       });
     },
+    setArray(array) {
+      if(array && Object.keys(array).length > 0){
+        this.ooption = {
+          data: [],
+        };
+        for (var i = 0; i < Object.keys(array).length; i++) {
+          this.ooption.data.push({ value: array[Object.keys(array)[i]], name: Object.keys(array)[i] });
+        }
+        if (!this.chartObj) {
+          this.setChart(this.ooption);
+        } else {
+          this.option.series[0].data = this.ooption.data;
+          this.chartObj.setOption(this.option);
+        }
+        this.$forceUpdate();
+      }
+    },
   },
   watch: {
-    personArray: {
+    toolArray: {
       immediate: true,
       deep: true,
       handler(newValue, oldValue) {
-        let _array = newValue;
-
-        if (!this.chartObj) {
-          this.setChart(_array);
-        } else {
-          this.option.series[0].data = _array;
-          this.chartObj.setOption(this.option);
-        }
+        this.setArray(newValue);
         this.$forceUpdate();
       },
     },
   },
   mounted() {
-    let _array = this.personArray;
-    this.setChart(_array);
+    this.setArray(this.toolArray);
     var _this = this;
     window.addEventListener("resize", () => {
       if (_this.chartObj) {

+ 317 - 68
src/components/pages/dataBoardTest/course/index.vue

@@ -10,32 +10,32 @@
           <div class="info_box">
             <div class="info blueBG">
               <span>教师总数</span>
-              <span>{{ 113 }}</span>
+              <span>{{ teacherCount }}</span>
             </div>
             <div class="info blueBG">
               <span>考核项目总数</span>
-              <span>{{ 9 }}</span>
+              <span>{{ 6 }}</span>
             </div>
             <div class="info blueBG">
               <span>提交人数</span>
-              <span>{{ 89 }}</span>
+              <span>{{ submitPCount }}</span>
             </div>
             <div class="info blueBG">
               <span>数据总数</span>
-              <span>{{ 1113 }}</span>
+              <span>{{ submitCount }}</span>
             </div>
           </div>
           <div class="depth_box" style="height: calc(100% - 140px)">
             <div class="depth">
               <span>考核项目完成率</span>
               <div>
-                <el-progress :width="100" type="circle" :percentage="70" :stroke-width="15" :format="format" color="#106BFF"></el-progress>
+                <el-progress :width="100" type="circle" :percentage="subPersent ? parseInt((subPersent / teacherCount * 100).toFixed(0)) : 0" :stroke-width="15" :format="format" color="#106BFF"></el-progress>
               </div>
             </div>
             <div class="depth">
               <span>教师项目提交率</span>
               <div>
-                <el-progress :width="100" type="circle" :percentage="80" :stroke-width="15" :format="format" color="#106BFF"></el-progress>
+                <el-progress :width="100" type="circle" :percentage="subPersent2 ? parseInt((subPersent2 / teacherCount * 100).toFixed(0)) : 0" :stroke-width="15" :format="format" color="#106BFF"></el-progress>
               </div>
             </div>
           </div>
@@ -55,11 +55,11 @@
           <div class="info_box" style="width: 96%" >
             <div class="info blueBG">
               <span>提交总数</span>
-              <span>{{ 257 }}</span>
+              <span>{{ xindeCount }}</span>
             </div>
             <div class="info blueBG">
               <span>人均提交次数</span>
-              <span>{{ 4 }}</span>
+              <span>{{ xindeCount ? (xindeCount / teacherCount ).toFixed(0) : 0 }}</span>
             </div>
           </div>
           <Bar style="height: calc(100% - 70px)" :workList="tedurArray"></Bar>
@@ -72,19 +72,20 @@
           <div class="title">
             教学设计
           </div>
-          <!-- <el-select v-model="cType" @change="typeChange" class="selectBox" v-if="toolType == 0">
-            <el-option label="全部" value=""></el-option>
-          </el-select> -->
+          <el-select v-model="cType" @change="typeChange1" class="selectBox" style="width:205px">
+            <!-- <el-option label="全部" value=""></el-option> -->
+            <el-option v-for="item in shejiTime" :key="item" :label="item" :value="item"></el-option>
+          </el-select>
         </div>
         <div class="dataBox">
           <div class="info_box" style="width: 96%" >
             <div class="info blueBG">
               <span>提交总数</span>
-              <span>{{ 60 }}</span>
+              <span>{{ shejiCount }}</span>
             </div>
             <div class="info blueBG">
-              <span>人均人数</span>
-              <span>{{ 39 }}</span>
+              <span>提交人数</span>
+              <span>{{ shejiPCount }}</span>
             </div>
           </div>
           <CateRank style="height:calc(100% - 70px);" :courseArray="courseArray"></CateRank>
@@ -98,15 +99,15 @@
           <div class="info_box">
             <div class="info blueBG" style="width: calc(100% / 3 - 10px)">
               <span>提交总数</span>
-              <span>{{ 62 }}</span>
+              <span>{{ guihuaArray.length + guanshuArray.length }}</span>
             </div>
             <div class="info blueBG" style="width: calc(100% / 3 - 10px)">
               <span>发展规划提交总数</span>
-              <span>{{ 30 }}</span>
+              <span>{{ guihuaArray.length }}</span>
             </div>
             <div class="info blueBG" style="width: calc(100% / 3 - 10px)">
-              <span>教育观提交总数</span>
-              <span>{{ 32 }}</span>
+              <span>教育观提交总数</span>
+              <span>{{ guanshuArray.length }}</span>
             </div>
           </div>
           <WorkNum style="height: calc(100% - 70px)" :workNumList="workNumList" >
@@ -132,19 +133,24 @@
               获奖名次
             </div>
           </div>
-          <!-- <el-select v-model="cType4" @change="typeChange" class="selectBox" v-if="toolType == 0">
-            <el-option label="全部" value=""></el-option>
-          </el-select> -->
+          <el-select v-model="cType2" @change="typeChange2" class="selectBox" v-if="toolType == 0" style="width:205px">
+            <!-- <el-option label="全部" value=""></el-option> -->
+            <el-option v-for="item in timeXuan" :key="item" :label="item" :value="item"></el-option>
+          </el-select>
+          <el-select v-model="cType3" @change="typeChange3" class="selectBox" v-if="toolType == 1" style="width:205px">
+            <!-- <el-option label="全部" value=""></el-option> -->
+            <el-option v-for="item in timeXuan" :key="item" :label="item" :value="item"></el-option>
+          </el-select>
         </div>
         <div class="dataBox">
           <div class="info_box" v-if="toolType == 0">
             <div class="info blueBG">
               <span>获奖总数</span>
-              <span>{{ 49 }}</span>
+              <span>{{ huojiangCont }}</span>
             </div>
             <div class="info blueBG">
               <span>获奖人数</span>
-              <span>{{ 39 }}</span>
+              <span>{{ huojiangPCont }}</span>
             </div>
           </div>
           <CourseAna style="height: calc(100% - 70px)" :courseNumberArray="courseNumberArray" v-if="toolType == 0"></CourseAna>
@@ -152,21 +158,26 @@
         </div>
       </div>
       <div class="bottom">
-        <div class="titleBox">
+        <div class="titleBox" style="justify-content: space-between">
           <div class="title">德育获奖</div>
+          <el-select v-model="cType4" @change="typeChange4" class="selectBox" style="width:205px">
+            <!-- <el-option label="全部" value=""></el-option> -->
+            <el-option v-for="item in deyuTimeXuan" :key="item" :label="item" :value="item"></el-option>
+          </el-select>
         </div>
         <div class="dataBox">
-          <div class="info_box" v-if="toolType == 0">
+          <div class="info_box">
             <div class="info blueBG">
               <span>获奖总数</span>
-              <span>{{ 9 }}</span>
+              <span>{{ deyuCont }}</span>
             </div>
             <div class="info blueBG">
               <span>获奖人数</span>
-              <span>{{ 9 }}</span>
+              <span>{{ deyuPCont }}</span>
             </div>
           </div>
-          <WorkTime style="height: calc(100% - 70px)" :personArray="personList"></WorkTime>
+          <!-- personList -->
+          <WorkTime style="height: calc(100% - 70px)" :toolArray="personList"></WorkTime>
         </div>
       </div>
     </div>
@@ -215,6 +226,8 @@ export default {
     return {
       isLoading: false,
       cType: "",
+      cType2: "",
+      cType3: "",
       cType4: "",
       cType7: "全部课程",
       toolType: 0,
@@ -237,45 +250,38 @@ export default {
       classList: [],
       subjectList: [],
       themeList: [],
-      allTime: 0,
-      allTimeLength: 0,
-      gradeLength: 0,
-      subjectLength: 0,
-      themeLength: 0,
-      courseTList: [],
-      courseLength: 0,
+      teacherCount: 0,
+      testCount: 0,
+      submitPCount: 0,
+      submitCount: 0,
       courseWorksCountYearArray: [],
-      courseWorksCountYearArray2: [],
-      allCourseWorks: [],
-      gradeList: [],
-      subjectList2: [],
-      thList: [],
-      worksCount: 0,
-      haveWorksCourse: 0,
-      courseNumberArray: [],
-      gradeArray: [],
-      subjectArray: [],
-      themeArray: [],
-      allArray: [],
-      toolList: [],
-      personList: [],
-      workNumList: [],
-      taskCount: 0,
-      workCount: 0,
-      isCourseCount: 0,
-      allCourseCount: 0,
-      courseArray: [],
-      evaCount: 0,
-      evaWorksCount: 0,
-      pusaDep: [
-        { value: 0, name: "课程总数" },
-        { value: 0, name: "设置评价课程" },
-        { value: 0, name: "已提交作业课程" },
-        { value: 0, name: "已评价课程" },
-        { value: 0, name: "教学评一体化课程" },
-      ],
-      weekCourse2: [],
-      resultSubject: []
+      courseNumberArray: {},
+      toolList: {},
+      personList: {},
+      workNumList: {},
+      courseArray: {},
+      subPersent:0,
+      subPersent2:0,
+      xindeCount: 0,
+      shejiCount:0,
+      shejiPCount:0,
+      shejiArray: [],
+      shejiTime:[],
+      shejiXuan:[],
+      shejiTong:{},
+      guihuaArray:[],
+      guanshuArray:[],
+      huojiangArray:[],
+      timeXuan:[],
+      jibieXuan:[],
+      mingciXuan:[],
+      deyuArray:[],
+      deyuTimeXuan:[],
+      deyuJibieXuan:[],
+      huojiangCont:0,
+      huojiangPCont:0,
+      deyuCont:0,
+      deyuPCont:0,
     };
   },
   mounted() {
@@ -345,11 +351,128 @@ export default {
       }
     },
     typeChange1() {
-      var a = [];
+      let shejiArray = this.shejiArray;
+      var shejiTong = {};
+      for(var i = 0; i < this.shejiTime.length; i++){
+          shejiTong[this.shejiTime[i]] = {}
+          for(var j = 0; j < this.shejiXuan.length; j++){
+            shejiTong[this.shejiTime[i]][this.shejiXuan[j]] = 0
+          }
+      }
+
+      for(var i = 0; i < shejiArray.length; i++){
+        let shejiJson = JSON.parse(shejiArray[i].courseJson)
+        let xuanTime = shejiJson[1].json.answer2
+        let xuanXuan = shejiJson[2].json.answer2
+        for(var j = 0; j < xuanTime.length; j++){
+
+          for(var z = 0; z < xuanXuan.length; z++){
+            shejiTong[this.shejiTime[xuanTime[j]]][this.shejiXuan[xuanXuan[z]]]++
+          }
+        }
+      }
+      this.courseArray = shejiTong[this.cType]
       this.$forceUpdate();
     },
     typeChange2() {
-      const date = new Date()
+      let huojiangArray = this.huojiangArray;
+      var jibieTong = {};
+      var personTong = {};
+      for(var i = 0; i < this.timeXuan.length; i++){
+          jibieTong[this.timeXuan[i]] = {}
+          personTong[this.timeXuan[i]] = []
+          for(var j = 0; j < this.jibieXuan.length; j++){
+            jibieTong[this.timeXuan[i]][this.jibieXuan[j]] = 0
+          }
+      }
+      for(var i = 0; i < huojiangArray.length; i++){
+        let Json = JSON.parse(huojiangArray[i].courseJson)
+        let xuanTime = Json[0].json.answer2
+        let xuanXuan = Json[2].json.answer2
+        console.log(xuanXuan);
+        for(var j = 0; j < xuanTime.length; j++){
+          if(personTong[this.timeXuan[xuanTime[j]]].indexOf(huojiangArray[i].userid) == -1){
+            personTong[this.timeXuan[xuanTime[j]]].push(huojiangArray[i].userid)
+          }
+          for(var z = 0; z < xuanXuan.length; z++){
+            jibieTong[this.timeXuan[xuanTime[j]]][this.jibieXuan[xuanXuan[z]]]++
+          }
+        }
+      }
+      var a = Object.keys(jibieTong[this.cType2])
+      let huojiangCont = 0
+      let huojiangPCont = personTong[this.cType2].length
+      for(var i = 0; i < a.length; i++){
+        huojiangCont+= jibieTong[this.cType2][a[i]]
+      }
+      this.huojiangCont = huojiangCont
+      this.huojiangPCont = huojiangPCont
+      this.courseNumberArray = jibieTong[this.cType2]
+      this.$forceUpdate();
+    },
+    typeChange3() {
+      let huojiangArray = this.huojiangArray;
+      var jibieTong = {};
+      for(var i = 0; i < this.timeXuan.length; i++){
+        jibieTong[this.timeXuan[i]] = {}
+          for(var j = 0; j < this.mingciXuan.length; j++){
+            jibieTong[this.timeXuan[i]][this.mingciXuan[j]] = 0
+          }
+      }
+
+      for(var i = 0; i < huojiangArray.length; i++){
+        let Json = JSON.parse(huojiangArray[i].courseJson)
+        let xuanTime = Json[0].json.answer2
+        let xuanXuan = Json[3].json.answer2
+        console.log(xuanXuan);
+
+        for(var j = 0; j < xuanTime.length; j++){
+          for(var z = 0; z < xuanXuan.length; z++){
+            jibieTong[this.timeXuan[xuanTime[j]]][this.mingciXuan[xuanXuan[z]]]++
+          }
+        }
+      }
+      this.toolList = jibieTong[this.cType3]
+      this.$forceUpdate();
+    },
+    typeChange4() {
+      let deyuArray = this.deyuArray;
+      var jibieTong = {};
+      var personTong = {};
+      for(var i = 0; i < this.deyuTimeXuan.length; i++){
+        jibieTong[this.deyuTimeXuan[i]] = {}
+          personTong[this.deyuTimeXuan[i]] = []
+          for(var j = 0; j < this.deyuJibieXuan.length; j++){
+            jibieTong[this.deyuTimeXuan[i]][this.deyuJibieXuan[j]] = 0
+          }
+      }
+
+      for(var i = 0; i < deyuArray.length; i++){
+        let Json = JSON.parse(deyuArray[i].courseJson)
+        let xuanTime = Json[0].json.answer2
+        let xuanXuan = Json[3].json.answer2
+        console.log(xuanXuan);
+
+        for(var j = 0; j < xuanTime.length; j++){
+          if(personTong[this.deyuTimeXuan[xuanTime[j]]].indexOf(deyuArray[i].userid) == -1){
+            personTong[this.deyuTimeXuan[xuanTime[j]]].push(deyuArray[i].userid)
+          }
+          for(var z = 0; z < xuanXuan.length; z++){
+            jibieTong[this.deyuTimeXuan[xuanTime[j]]][this.deyuJibieXuan[xuanXuan[z]]]++
+          }
+        }
+      }
+
+      var a = Object.keys(jibieTong[this.cType4])
+      let huojiangCont = 0
+      let huojiangPCont = personTong[this.cType4].length
+      for(var i = 0; i < a.length; i++){
+        huojiangCont+= jibieTong[this.cType4][a[i]]
+      }
+      this.deyuCont = huojiangCont
+      this.deyuPCont = huojiangPCont
+
+      this.personList = jibieTong[this.cType4]
       this.$forceUpdate();
     },
     typeChange() {
@@ -367,8 +490,134 @@ export default {
       this.ajax
         .post(this.$store.state.api + "selectDataBoardTest", params)
         .then((res) => {
+          
           this.isLoading = false;
+          let _cid1 = 'bf08fbbb-8a84-11ee-b98c-005056b86db5'; //个人发展规划
+          let _cid2 = '90017320-8a9a-11ee-b98c-005056b86db5'; //教育观树
+          let _cid3 = 'b578f126-89cd-11ee-b98c-005056b86db5'; //德育获奖
+          let _cid4 = 'd47a6ab6-8a75-11ee-b98c-005056b86db5'; //教学获奖
+          let _cid5 = '24c5e3b2-8a85-11ee-b98c-005056b86db5'; //校本培训心得
+          let _cid6 = 'e9e6dc5a-89d1-11ee-b98c-005056b86db5'; //我的教学设计
+          let classList = res.data[0] // 年级
+          let subjectList = res.data[1] //学科
+          this.classList = classList
+          this.subjectList = subjectList
+
+          this.teacherCount = res.data[2][0].count //教师总数
+          this.testCount = res.data[3][0].count //评测总数
+          this.submitPCount = res.data[4][0].count //提交人数
+          this.submitCount = res.data[5][0].count //提交总数
+          let submitArray = res.data[6].filter(item => item.worksCount >= 6)
+          let submitArray2 = res.data[6].filter(item => item.worksCount > 0)
+          this.subPersent = submitArray.length
+          this.subPersent2 = submitArray2.length
+
+          this.tedurArray = res.data[7]
+          let xindeCount = 0
+          res.data[7].forEach(element => {
+            xindeCount += element.worksCount
+          });
+
+          this.xindeCount = xindeCount;
+
+          let allTests = res.data[8]
+
+          let shejiArray = allTests.filter(item => item.courseid == _cid6) // 我的教学设计
+          let shejiCount = 0
+          let shejiPCount = []
+          shejiArray.forEach(element => {
+            shejiCount++
+            shejiPCount.indexOf(element.userid) == -1 ? shejiPCount.push(element.userid) : ''
+          });
+          this.shejiCount = shejiCount;
+          this.shejiPCount = shejiPCount.length;
+          
+          let shejiJson = JSON.parse(shejiArray[0].chapters)
+          let shejiTimeArray = shejiJson[1].json.array
+          let shejiXuanArray = shejiJson[2].json.array
+          let shejiTime = []
+          let shejiXuan = []
+          shejiTimeArray.forEach(el => {
+            shejiTime.push(el.option)
+          })
+          shejiXuanArray.forEach(el => {
+            shejiXuan.push(el.option)
+          })
           
+          this.shejiArray = shejiArray
+          this.shejiTime = shejiTime
+          this.shejiXuan = shejiXuan  
+          this.cType = shejiTime[0]
+          this.typeChange1()
+
+          let guihuaArray = allTests.filter(item => item.courseid == _cid1) // 发展规划
+          let guanshuArray = allTests.filter(item => item.courseid == _cid2) // 教育观树
+          this.guihuaArray = guihuaArray
+          this.guanshuArray = guanshuArray
+          let huodongArray = [...guihuaArray,...guanshuArray]
+          let huodongJson = {}
+          for(var i = 0;i<huodongArray.length;i++){
+            if(!huodongJson[huodongArray[i].userid]){
+              huodongJson[huodongArray[i].userid] = {
+                name:huodongArray[i].username,
+                guihua:0,
+                guanshu:0
+              }
+            }
+            if(huodongArray[i].courseid == _cid1){
+              huodongJson[huodongArray[i].userid].guihua++
+            }
+            if(huodongArray[i].courseid == _cid2){
+              huodongJson[huodongArray[i].userid].guanshu++
+            }
+          }
+          this.workNumList = huodongJson
+
+          let huojiangArray = allTests.filter(item => item.courseid == _cid4) // 教学获奖
+          let huojiangJson = JSON.parse(huojiangArray[0].chapters)
+          let huojiangTimeArray = huojiangJson[0].json.array
+          let huojiangJibieArray = huojiangJson[2].json.array
+          let huojiangMingciArray = huojiangJson[3].json.array
+          let timeXuan = []
+          let jibieXuan = []
+          let mingciXuan = []
+          huojiangTimeArray.forEach(el => {
+            timeXuan.push(el.option)
+          })
+          huojiangJibieArray.forEach(el => {
+            jibieXuan.push(el.option)
+          })
+          huojiangMingciArray.forEach(el => {
+            mingciXuan.push(el.option)
+          })
+
+          this.huojiangArray = huojiangArray
+          this.timeXuan = timeXuan
+          this.jibieXuan = jibieXuan  
+          this.mingciXuan = mingciXuan  
+          this.cType2 = timeXuan[0]
+          this.cType3 = timeXuan[0]
+          this.typeChange2()
+          this.typeChange3()
+
+
+          let deyuArray = allTests.filter(item => item.courseid == _cid3) // 德育
+          let deyuJson = JSON.parse(deyuArray[0].chapters)
+          let deyuTimeArray = deyuJson[0].json.array
+          let deyuJibieArray = deyuJson[3].json.array
+          let deyuTimeXuan = []
+          let deyuJibieXuan = []
+          deyuTimeArray.forEach(el => {
+            deyuTimeXuan.push(el.option)
+          })
+          deyuJibieArray.forEach(el => {
+            deyuJibieXuan.push(el.option)
+          })
+          this.deyuArray = deyuArray
+          this.deyuTimeXuan = deyuTimeXuan
+          this.deyuJibieXuan = deyuJibieXuan
+          this.cType4 = deyuTimeXuan[0]
+          this.typeChange4()
           this.$forceUpdate();
         })
         .catch((err) => {

Some files were not shown because too many files changed in this diff