Browse Source

区级数据统计导出

liqk 3 years ago
parent
commit
0172d9effc

+ 5 - 0
TEAMModelOS/ClientApp/src/api/ability.js

@@ -156,6 +156,11 @@ export default {
 		return post('/research/statistics-area',data)
 		// return post('/research/get-area-statistics',data)
 	},
+	//获取区级统计数据(简易版数据)
+	getAreaDataSimple(data){
+		return post('/research/statistics-area-simple',data)
+		// return post('/research/get-area-statistics',data)
+	},
 	//获取校级统计数据
 	getSchoolData(data){
 		return post('/research/get-school-appraise',data)

+ 45 - 10
TEAMModelOS/ClientApp/src/view/areaMgmt/AreaData.vue

@@ -147,6 +147,7 @@ export default {
     },
     data() {
         return {
+            settingHours: {},
             onlineTime: 20,
             offlineTime: 10,
             videoTime: 5,
@@ -259,20 +260,53 @@ export default {
         }
     },
     methods: {
+        getLimitMinutes(item) {
+            return this.settingHours.limitMinutes === -1 ? (item.limitTime * this.settingHours.lessonMinutes) : this.settingHours.limitMinutes
+        },
         exportTeacherData() {
-            // 所有老师统计
-            this.teacherData.forEach(item => {
-                item.submitTime = item.currency.submitTime
-                let school = this.schoolList.find(school => school.schoolId == item.school)
-                if (school) item.schoolName = school.schoolName
+            console.log(this.teacherData)
+            // return
+            let header = ['学校', '姓名', '总学时', '线上研修学时', '未修满能力点', '已修满的能力点数量', '认证材料学时', '校本研修学时', '课堂实录学时', '认证材料需提交数', '认证材料未提交数', '未提交认证材料能力点', '作业未提交数', '课堂实录是否提交']
+            let keys = ['schoolName', 'name', 'totalTime', 'online', 'unFinishArr', 'finishArr', 'ability', 'offline', 'video', 'abilityCount', 'noAbilityCount', 'noAbilityNoArr', 'noHwCount', 'isSubmitVideo']
+            let datas = this.teacherData.map(i => {
+                let teacherAilities = i.currency?.teacherAilities || []
+                return {
+                    schoolName:i.schoolName,
+                    name: i.name,
+                    totalTime: i.totalTime,
+                    online: i.onlineTime,
+                    unFinishArr: teacherAilities.filter(j => j.videoTime < this.getLimitMinutes(j)).map(k => k.no).join(','),
+                    finishArr: teacherAilities.filter(j => j.videoTime >= this.getLimitMinutes(j)).length,
+                    ability: i.submitTime,
+                    offline: i.offlineTime,
+                    video: i.classTime,
+                    abilityCount: teacherAilities.length,
+                    noAbilityCount: teacherAilities.filter(i => i.zpscore === -1).length,
+                    noAbilityNoArr: teacherAilities.filter(j => j.zpscore === -1).map(k => k.no).join(','),
+                    noHwCount: i.offlineCountNo,
+                    isSubmitVideo: i.teacherClasseCount ? '已提交' : '未提交'
+                }
             })
             const teacherParams = {
-                title: ['姓名', '学校', '线上研修学时', '校本研修学时', '认证材料学时', '课堂实录学时', '总学时'],
-                key: ['name', 'schoolName', 'onlineTime', 'offlineTime', 'submitTime', 'classTime', 'totalTime'],
-                data: this.teacherData,
+                title: header,
+                key: keys,
+                data: datas,
                 autoWidth: true,
-                filename: '老师数据统计'
+                filename: '研修情况统计表'
             }
+            // 所有老师统计
+            // this.teacherData.forEach(item => {
+            //     item.submitTime = item.currency.submitTime
+            //     let school = this.schoolList.find(school => school.schoolId == item.school)
+            //     if (school) item.schoolName = school.schoolName
+            // })
+            // const teacherParams = {
+            //     title: ['姓名', '学校', '线上研修学时', '校本研修学时', '认证材料学时', '课堂实录学时', '总学时'],
+            //     key: ['name', 'schoolName', 'onlineTime', 'offlineTime', 'submitTime', 'classTime', 'totalTime'],
+            //     data: this.teacherData,
+            //     autoWidth: true,
+            //     filename: '老师数据统计'
+            // }
             excel.export_array_to_excel(teacherParams)
         },
         exportSchoolData() {
@@ -333,9 +367,10 @@ export default {
                 areaId: sessionStorage.getItem('areaId'),
                 standard: sessionStorage.getItem('standard')
             }
-            this.$api.ability.getAreaData(params).then(
+            this.$api.ability.getAreaDataSimple(params).then(
                 res => {
                     if (!res.error) {
+                        this.settingHours = res.setting || {}
                         //设置的学时
                         this.onlineTime = res.setting.onlineTime || this.onlineTime
                         this.offlineTime = res.setting.offlineTime || this.offlineTime