|
@@ -29,13 +29,17 @@
|
|
|
<div class="depth">
|
|
|
<span>考核项目完成率</span>
|
|
|
<div>
|
|
|
- <el-progress :width="100" type="circle" :percentage="subPersent ? parseInt((subPersent / teacherCount * 100).toFixed(0)) : 0" :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="subPersent2 ? parseInt((subPersent2 / teacherCount * 100).toFixed(0)) : 0" :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>
|
|
@@ -46,20 +50,20 @@
|
|
|
</div>
|
|
|
<div class="bottom">
|
|
|
<div class="titleBox">
|
|
|
- <div class="title" >
|
|
|
+ <div class="title">
|
|
|
培训心得
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="dataBox">
|
|
|
- <div class="info_box" style="width: 96%" >
|
|
|
+ <div class="info_box" style="width: 96%">
|
|
|
<div class="info blueBG">
|
|
|
<span>提交总数</span>
|
|
|
<span>{{ xindeCount }}</span>
|
|
|
</div>
|
|
|
<div class="info blueBG">
|
|
|
<span>人均提交次数</span>
|
|
|
- <span>{{ xindeCount ? (xindeCount / teacherCount ).toFixed(0) : 0 }}</span>
|
|
|
+ <span>{{ xindeCount ? (xindeCount / teacherCount).toFixed(0) : 0 }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<Bar style="height: calc(100% - 70px)" :workList="tedurArray"></Bar>
|
|
@@ -78,7 +82,7 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="dataBox">
|
|
|
- <div class="info_box" style="width: 96%" >
|
|
|
+ <div class="info_box" style="width: 96%">
|
|
|
<div class="info blueBG">
|
|
|
<span>提交总数</span>
|
|
|
<span>{{ shejiCount }}</span>
|
|
@@ -110,7 +114,7 @@
|
|
|
<span>{{ guanshuArray.length }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <WorkNum style="height: calc(100% - 70px)" :workNumList="workNumList" >
|
|
|
+ <WorkNum style="height: calc(100% - 70px)" :workNumList="workNumList">
|
|
|
</WorkNum>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -153,7 +157,8 @@
|
|
|
<span>{{ huojiangPCont }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <CourseAna style="height: calc(100% - 70px)" :courseNumberArray="courseNumberArray" v-if="toolType == 0"></CourseAna>
|
|
|
+ <CourseAna style="height: calc(100% - 70px)" :courseNumberArray="courseNumberArray" v-if="toolType == 0">
|
|
|
+ </CourseAna>
|
|
|
<ToolChart style="height: calc(100%)" :toolArray="toolList" v-if="toolType == 1"></ToolChart>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -260,28 +265,28 @@ export default {
|
|
|
personList: {},
|
|
|
workNumList: {},
|
|
|
courseArray: {},
|
|
|
- subPersent:0,
|
|
|
- subPersent2:0,
|
|
|
+ subPersent: 0,
|
|
|
+ subPersent2: 0,
|
|
|
xindeCount: 0,
|
|
|
- shejiCount:0,
|
|
|
- shejiPCount: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,
|
|
|
+ shejiTime: [],
|
|
|
+ shejiXuan: [],
|
|
|
+ shejiTong: {},
|
|
|
+ guihuaArray: [],
|
|
|
+ guanshuArray: [],
|
|
|
+ huojiangArray: [],
|
|
|
+ timeXuan: [],
|
|
|
+ jibieXuan: [],
|
|
|
+ mingciXuan: [],
|
|
|
+ deyuArray: [],
|
|
|
+ deyuTimeXuan: [],
|
|
|
+ deyuJibieXuan: [],
|
|
|
+ huojiangCont: 0,
|
|
|
+ huojiangPCont: 0,
|
|
|
+ deyuCont: 0,
|
|
|
+ deyuPCont: 0,
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
@@ -353,57 +358,78 @@ export default {
|
|
|
typeChange1() {
|
|
|
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
|
|
|
- }
|
|
|
+ let shejiCount = {}
|
|
|
+ let shejiPCount = {}
|
|
|
+ shejiTong[''] = {}
|
|
|
+ shejiCount[''] = 0
|
|
|
+ shejiPCount[''] = []
|
|
|
+ for (var i = 0; i < this.shejiTime.length; i++) {
|
|
|
+ shejiTong[this.shejiTime[i]] = {}
|
|
|
+ shejiCount[this.shejiTime[i]] = 0
|
|
|
+ shejiPCount[this.shejiTime[i]] = []
|
|
|
+ for (var j = 0; j < this.shejiXuan.length; j++) {
|
|
|
+ shejiTong[this.shejiTime[i]][this.shejiXuan[j]] = 0
|
|
|
+ shejiTong[''][this.shejiXuan[j]] = 0
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- for(var i = 0; i < shejiArray.length; i++){
|
|
|
+ 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++){
|
|
|
+ for (var j = 0; j < xuanTime.length; j++) {
|
|
|
+ shejiCount[this.shejiTime[xuanTime[j]]]++
|
|
|
+ shejiPCount[this.shejiTime[xuanTime[j]]].indexOf(shejiArray[i].userid) == -1 ? shejiPCount[this.shejiTime[xuanTime[j]]].push(shejiArray[i].userid) : ''
|
|
|
+ for (var z = 0; z < xuanXuan.length; z++) {
|
|
|
shejiTong[this.shejiTime[xuanTime[j]]][this.shejiXuan[xuanXuan[z]]]++
|
|
|
+ shejiTong[''][this.shejiXuan[xuanXuan[z]]]++
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ shejiCount['']++
|
|
|
+ shejiPCount[''].indexOf(shejiArray[i].userid) == -1 ? shejiPCount[''].push(shejiArray[i].userid) : ''
|
|
|
}
|
|
|
this.courseArray = shejiTong[this.cType]
|
|
|
+ this.shejiCount = shejiCount[this.cType];
|
|
|
+ this.shejiPCount = shejiPCount[this.cType].length;
|
|
|
this.$forceUpdate();
|
|
|
},
|
|
|
typeChange2() {
|
|
|
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
|
|
|
- }
|
|
|
+ jibieTong[''] = {};
|
|
|
+ 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
|
|
|
+ jibieTong[''][this.jibieXuan[j]] = 0
|
|
|
+ }
|
|
|
}
|
|
|
- for(var i = 0; i < huojiangArray.length; i++){
|
|
|
+ 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){
|
|
|
+ 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++){
|
|
|
+ for (var z = 0; z < xuanXuan.length; z++) {
|
|
|
jibieTong[this.timeXuan[xuanTime[j]]][this.jibieXuan[xuanXuan[z]]]++
|
|
|
+ jibieTong[''][this.jibieXuan[xuanXuan[z]]]++
|
|
|
}
|
|
|
}
|
|
|
+ if (personTong[''].indexOf(huojiangArray[i].userid) == -1) {
|
|
|
+ personTong[''].push(huojiangArray[i].userid)
|
|
|
+ }
|
|
|
}
|
|
|
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]]
|
|
|
+ for (var i = 0; i < a.length; i++) {
|
|
|
+ huojiangCont += jibieTong[this.cType2][a[i]]
|
|
|
}
|
|
|
this.huojiangCont = huojiangCont
|
|
|
this.huojiangPCont = huojiangPCont
|
|
@@ -413,22 +439,25 @@ export default {
|
|
|
typeChange3() {
|
|
|
let huojiangArray = this.huojiangArray;
|
|
|
var jibieTong = {};
|
|
|
- for(var i = 0; i < this.timeXuan.length; i++){
|
|
|
+ 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 j = 0; j < this.mingciXuan.length; j++) {
|
|
|
+ jibieTong[this.timeXuan[i]][this.mingciXuan[j]] = 0
|
|
|
+ jibieTong[''][this.mingciXuan[j]] = 0
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- for(var i = 0; i < huojiangArray.length; i++){
|
|
|
+ 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++){
|
|
|
+ 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]]]++
|
|
|
+ jibieTong[''][this.mingciXuan[xuanXuan[z]]]++
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -439,35 +468,42 @@ export default {
|
|
|
let deyuArray = this.deyuArray;
|
|
|
var jibieTong = {};
|
|
|
var personTong = {};
|
|
|
- for(var i = 0; i < this.deyuTimeXuan.length; i++){
|
|
|
+ jibieTong[''] = {}
|
|
|
+ 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
|
|
|
- }
|
|
|
+ personTong[this.deyuTimeXuan[i]] = []
|
|
|
+ for (var j = 0; j < this.deyuJibieXuan.length; j++) {
|
|
|
+ jibieTong[this.deyuTimeXuan[i]][this.deyuJibieXuan[j]] = 0
|
|
|
+ jibieTong[''][this.deyuJibieXuan[j]] = 0
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- for(var i = 0; i < deyuArray.length; i++){
|
|
|
+ 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){
|
|
|
+ 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++){
|
|
|
+ for (var z = 0; z < xuanXuan.length; z++) {
|
|
|
jibieTong[this.deyuTimeXuan[xuanTime[j]]][this.deyuJibieXuan[xuanXuan[z]]]++
|
|
|
+ jibieTong[''][this.deyuJibieXuan[xuanXuan[z]]]++
|
|
|
}
|
|
|
}
|
|
|
+ if (personTong[''].indexOf(deyuArray[i].userid) == -1) {
|
|
|
+ personTong[''].push(deyuArray[i].userid)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
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]]
|
|
|
+ for (var i = 0; i < a.length; i++) {
|
|
|
+ huojiangCont += jibieTong[this.cType4][a[i]]
|
|
|
}
|
|
|
this.deyuCont = huojiangCont
|
|
|
this.deyuPCont = huojiangPCont
|
|
@@ -490,7 +526,7 @@ 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'; //教育观树
|
|
@@ -523,15 +559,9 @@ export default {
|
|
|
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
|
|
@@ -543,10 +573,10 @@ export default {
|
|
|
shejiXuanArray.forEach(el => {
|
|
|
shejiXuan.push(el.option)
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
this.shejiArray = shejiArray
|
|
|
this.shejiTime = shejiTime
|
|
|
- this.shejiXuan = shejiXuan
|
|
|
+ this.shejiXuan = shejiXuan
|
|
|
this.cType = shejiTime[0]
|
|
|
this.typeChange1()
|
|
|
|
|
@@ -554,20 +584,20 @@ export default {
|
|
|
let guanshuArray = allTests.filter(item => item.courseid == _cid2) // 教育观树
|
|
|
this.guihuaArray = guihuaArray
|
|
|
this.guanshuArray = guanshuArray
|
|
|
- let huodongArray = [...guihuaArray,...guanshuArray]
|
|
|
+ let huodongArray = [...guihuaArray, ...guanshuArray]
|
|
|
let huodongJson = {}
|
|
|
- for(var i = 0;i<huodongArray.length;i++){
|
|
|
- if(!huodongJson[huodongArray[i].userid]){
|
|
|
+ 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
|
|
|
+ name: huodongArray[i].username,
|
|
|
+ guihua: 0,
|
|
|
+ guanshu: 0
|
|
|
}
|
|
|
}
|
|
|
- if(huodongArray[i].courseid == _cid1){
|
|
|
+ if (huodongArray[i].courseid == _cid1) {
|
|
|
huodongJson[huodongArray[i].userid].guihua++
|
|
|
}
|
|
|
- if(huodongArray[i].courseid == _cid2){
|
|
|
+ if (huodongArray[i].courseid == _cid2) {
|
|
|
huodongJson[huodongArray[i].userid].guanshu++
|
|
|
}
|
|
|
}
|
|
@@ -593,8 +623,8 @@ export default {
|
|
|
|
|
|
this.huojiangArray = huojiangArray
|
|
|
this.timeXuan = timeXuan
|
|
|
- this.jibieXuan = jibieXuan
|
|
|
- this.mingciXuan = mingciXuan
|
|
|
+ this.jibieXuan = jibieXuan
|
|
|
+ this.mingciXuan = mingciXuan
|
|
|
this.cType2 = timeXuan[0]
|
|
|
this.cType3 = timeXuan[0]
|
|
|
this.typeChange2()
|