Forráskód Böngészése

Merge branch 'develop3.0-tmd' of http://106.12.23.251:10080/TEAMMODEL/TEAMModelOS into develop3.0-tmd

CrazyIter_Bin 4 éve
szülő
commit
97ee122d74

+ 40 - 83
TEAMModelFunction/TriggerExam.cs

@@ -154,45 +154,44 @@ namespace TEAMModelFunction
                                     scope = info.scope
                                 };
                                 result.info.id = cla;
-                                if (info.scope.Equals("private", StringComparison.OrdinalIgnoreCase))
+                                List<string> ans = new List<string>();
+                                List<double> ansPoint = new List<double>();
+                                List<string> ids = new List<string>();
+                                foreach (double p in info.papers[m].point)
                                 {
-                                    
-                                    List<string> ans = new List<string>();
-                                    List<double> ansPoint = new List<double>();
-                                    List<string> ids = new List<string>();
-                                    foreach (double p in info.papers[m].point)
-                                    {
-                                        //ans.Add(new List<string>());
-                                        ansPoint.Add(-1);
-                                    }
-                                    var sresponse = await client.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(cla, new Azure.Cosmos.PartitionKey($"Class-{info.school}"));
-                                    if (sresponse.Status == 200)
+                                    //ans.Add(new List<string>());
+                                    ansPoint.Add(-1);
+                                }
+                                var sresponse = await client.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(cla, new Azure.Cosmos.PartitionKey($"Class-{info.school}"));
+                                if (sresponse.Status == 200)
+                                {
+                                    using var json = await JsonDocument.ParseAsync(sresponse.ContentStream);
+                                    Class classroom = json.ToObject<Class>();
+                                    //result.info.id = classroom.id;
+                                    result.info.name = classroom.name;
+                                    result.gradeId = classroom.gradeId;
+                                    //处理班级人数
+                                    await foreach (var item in client.GetContainer("TEAMModelOS", "Student").GetItemQueryStreamIterator(queryText: $"select c.id from c where c.classId = '{classroom.id}'", requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"Base-{info.school}") }))
                                     {
-                                        using var json = await JsonDocument.ParseAsync(sresponse.ContentStream);
-                                        Class classroom = json.ToObject<Class>();
-                                        result.info.id = classroom.id;
-                                        result.info.name = classroom.name;
-                                        result.gradeId = classroom.gradeId;
-                                        //处理班级人数
-                                        await foreach (var item in client.GetContainer("TEAMModelOS", "Student").GetItemQueryStreamIterator(queryText: $"select c.id from c where c.classId = '{classroom.id}'", requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"Base-{info.school}") }))
+                                        using var json_stu = await JsonDocument.ParseAsync(item.ContentStream);
+                                        if (json_stu.RootElement.TryGetProperty("_count", out JsonElement count) && count.GetUInt16() > 0)
                                         {
-                                            using var json_stu = await JsonDocument.ParseAsync(item.ContentStream);
-                                            if (json_stu.RootElement.TryGetProperty("_count", out JsonElement count) && count.GetUInt16() > 0)
+                                            var accounts = json_stu.RootElement.GetProperty("Documents").EnumerateArray();
+                                            while (accounts.MoveNext())
                                             {
-                                                var accounts = json_stu.RootElement.GetProperty("Documents").EnumerateArray();
-                                                while (accounts.MoveNext())
-                                                {
-                                                    JsonElement account = accounts.Current;
-                                                    ids.Add(account.GetProperty("id").GetString());
-                                                }
+                                                JsonElement account = accounts.Current;
+                                                ids.Add(account.GetProperty("id").GetString());
                                             }
-                                        }                                                                               
+                                        }
                                     }
+                                }
+                                if (info.scope.Equals("private", StringComparison.OrdinalIgnoreCase))
+                                {                                                                                                        
                                     var stuResponse = await client.GetContainer("TEAMModelOS", "Teacher").ReadItemStreamAsync(cla, new Azure.Cosmos.PartitionKey($"StuList"));
                                     if (sresponse.Status == 200) {
                                         using var json = await JsonDocument.ParseAsync(sresponse.ContentStream);
                                         StuList stuList = json.ToObject<StuList>();
-                                        result.info.id = stuList.id;
+                                        //result.info.id = stuList.id;
                                         result.info.name = stuList.name;
                                         //处理发布对象为自选名单(个人)
 
@@ -217,59 +216,17 @@ namespace TEAMModelFunction
                                                         ids.Add(tid);
                                                     }
                                                 }
-
-                                    }
-                                    foreach (string stu in ids)
-                                    {
-                                        result.studentIds.Add(stu);
-                                        result.studentAnswers.Add(ans);
-                                        result.studentScores.Add(ansPoint);
-                                        result.sum.Add(0);
-                                    }
+                                    }                                   
                                 }
-                                else {                                   
-                                    List<string> ans = new List<string>();
-                                    List<double> ansPoint = new List<double>();
-                                    List<string> ids = new List<string>();
-                                    var sresponse = await client.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(cla, new Azure.Cosmos.PartitionKey($"Class-{info.school}"));
-                                    if (sresponse.Status == 200)
-                                    {
-                                        using var json = await JsonDocument.ParseAsync(sresponse.ContentStream);
-                                        Class classroom = json.ToObject<Class>();
-                                        result.info.name = classroom.name;
-                                        result.info.id = classroom.id;
-                                        result.gradeId = classroom.gradeId;
-                                        
-                                        foreach (double p in info.papers[m].point)
-                                        {
-                                            //ans.Add(new List<string>());
-                                            ansPoint.Add(-1);
-                                        }                                     
-                                        //处理班级人数
-                                        await foreach (var item in client.GetContainer("TEAMModelOS", "Student").GetItemQueryStreamIterator(queryText: $"select c.id from c where c.classId = '{classroom.id}'", requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"Base-{info.school}") }))
-                                        {
-                                            using var json_stu = await JsonDocument.ParseAsync(item.ContentStream);
-                                            if (json_stu.RootElement.TryGetProperty("_count", out JsonElement count) && count.GetUInt16() > 0)
-                                            {
-                                                var accounts = json_stu.RootElement.GetProperty("Documents").EnumerateArray();
-                                                while (accounts.MoveNext())
-                                                {
-                                                    JsonElement account = accounts.Current;
-                                                    ids.Add(account.GetProperty("id").GetString());
-                                                }
-                                            }
-                                        }
-                                        
-                                    }
+                                else {                                                                                                                                                                                                                       
                                     var stuResponse = await client.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(cla, new Azure.Cosmos.PartitionKey($"StuList-{info.school}"));
                                     if (sresponse.Status == 200)
                                     {
                                         using var json = await JsonDocument.ParseAsync(sresponse.ContentStream);
                                         StuList stuList = json.ToObject<StuList>();
-                                        result.info.id = stuList.id;
+                                        //result.info.id = stuList.id;
                                         result.info.name = stuList.name;
                                         //处理发布对象为自选名单(校本)
-
                                         foreach (Students students in stuList.students)
                                         {
                                             if (students.code.Contains(code))
@@ -284,16 +241,16 @@ namespace TEAMModelFunction
                                                 ids.Add(students.id);
                                             }
                                         }                                      
-                                    }
-                                    foreach (string stu in ids)
-                                    {
-                                        result.studentIds.Add(stu);
-                                        result.studentAnswers.Add(ans);
-                                        result.studentScores.Add(ansPoint);
-                                        result.sum.Add(0);
-                                    }
+                                    }                                    
+                                }
+                                foreach (string stu in ids)
+                                {
+                                    result.studentIds.Add(stu);
+                                    result.studentAnswers.Add(ans);
+                                    result.studentScores.Add(ansPoint);
+                                    result.sum.Add(0);
                                 }
-                                
+
                                 //result.progress = info.progress;
                                 result.school = info.school;
                                 m++;

+ 3 - 3
TEAMModelOS/ClientApp/src/api/courseMgmt.js

@@ -44,9 +44,9 @@ export default {
         return post('/api/Course/deleteTime', data)
     },
     //获取教室关联的学生(移动到班级api管理)
-    getClassroomStudent: function (data) {
-       return post('/student/class/find', data)
-    },
+    // getClassroomStudent: function (data) {
+    //    return post('/student/class/find', data)
+    // },
     //虚拟教室添加学生
     addClassroom: function (data) {
         return post('/api/ClassStudent/upsert', data)

+ 3 - 3
TEAMModelOS/ClientApp/src/components/student-web/EventView/EventContentTypeTemplate/PaperTest.vue

@@ -413,14 +413,14 @@
                     }
                     this.$api.studentWeb.SaveStuExamPaper(req).then(res => {
                         if (res) {
-                            this.$Message.success(this.$t('studentWec.exam.submitSuccess'))
+                            this.$Message.success(this.$t('studentWeb.exam.submitSuccess'))
                             setTimeout(() => {
                                 this.$store.commit("ToggleLessonTestPopWithSubject", "")
                                 this.isLoading = false
                             }, 2000)
                         }
                     }, err => {
-                            this.$Message.warning(this.$t('studentWec.exam.submitFail'))
+                            this.$Message.warning(this.$t('studentWeb.exam.submitFail'))
                         setTimeout(() => {
                             this.isLoading = false
                         }, 1000)
@@ -473,7 +473,7 @@
                             data = await this.getItem(this.$store.getters.getCurrentSubject.stuAns[0])
                             if (data.length) {
                                 this.checkers = [...data]
-                            } else this.$Message.warning(this.$t('studentWec.exam.msgWarning'))
+                            } else this.$Message.warning(this.$t('studentWeb.exam.msgWarning'))
                             this.closeTest = false
                             } else {
                             for (let i = 0; i < this.$store.getters.getCurrentSubject.stuScore.length; i++) {

+ 0 - 2
TEAMModelOS/ClientApp/src/components/student-web/EventView/EventContentTypeTemplate/Vote.vue

@@ -218,8 +218,6 @@
                     this.voteChecked.length = 0
                     this.voteChecked.push(data)
                 }
-                console.log('测试试卷', data)
-                console.log(this.voteCount)
             },
             //处理时间结构
             dateFormat(timestamp) {

+ 19 - 18
TEAMModelOS/ClientApp/src/components/student-web/EventView/EventList.vue

@@ -227,24 +227,25 @@
             getPaper() {
                 this.eventList.length = 0
                 this.isListNoItem = true;
-                if (this.$store.state.user.studentProfile.classinfo.id !== "") {
-                    let params = {
-                        'id': this.$store.state.user.studentProfile.classinfo.id,
-                        'studentId': this.$store.state.userInfo.sub
-                    }
-                    this.$api.studentWeb.FindExamPaper(params).then(res => {
-                        let data = []
-                        for (let item of res.props) {
-                            let code = item.code.split('-')
-                            if (code[0] == 'Exam') {
-                                item.eventType = 'exam'
-                                data.push(item)
-                            }
-                        }
-                        this.eventList = [...data]
-                        this.getActivityInfo()
-                    })
-                }
+                this.getActivityInfo()
+
+                //if (this.$store.state.user.studentProfile.classinfo.id !== "") {
+                //    let params = {
+                //        'id': this.$store.state.user.studentProfile.classinfo.id,
+                //        'studentId': this.$store.state.userInfo.sub
+                //    }
+                //    this.$api.studentWeb.FindExamPaper(params).then(res => {
+                //        let data = []
+                //        for (let item of res.props) {
+                //            let code = item.code.split('-')
+                //            if (code[0] == 'Exam') {
+                //                item.eventType = 'exam'
+                //                data.push(item)
+                //            }
+                //        }
+                //        this.eventList = [...data]
+                //    })
+                //}
             },
             //***临时获取投票数据
             getActivityInfo() {

+ 1 - 1
TEAMModelOS/ClientApp/src/view/classmgt/ManageClass.vue

@@ -467,7 +467,7 @@ export default {
             this.$api.schoolSetting.getClassroomStudent(params).then(
                 (res) => {
                     if (!res.error) {
-                        this.classList[this.curClassIndex].students = res.classrooms[0] ? res.classrooms[0].students : []
+                        this.classList[this.curClassIndex].students = res.stus.length ? res.stus[0] : []
                     } else {
                         this.$Message.error('API error!')
                     }

+ 5 - 1
TEAMModelOS/ClientApp/src/view/learnactivity/Scoring.vue

@@ -268,7 +268,11 @@ export default {
                     if (!this.paperInfo[this.chooseClass]) {
                         this.paperInfo[this.chooseClass] = {}
                     }
-                    this.$set(this.paperInfo[this.chooseClass], "students", res.classrooms[0])
+                    let classStu = {
+                        students: res.stus.length ? res.stus[0] : [],
+                        id:this.chooseClass
+                    }
+                    this.$set(this.paperInfo[this.chooseClass], "students", classStu)
                     this.students = []
                     this.tableData = []
                     this.studentScore = []

+ 2 - 2
TEAMModelOS/ClientApp/src/view/schoolmgmt/ClassroomSetting/ClassroomSetting.vue

@@ -604,8 +604,8 @@ export default {
                     this.stuLoading = true
                     this.$api.schoolSetting.getClassroomStudent(params).then(
                         res => {
-                            if (res.classrooms.length > 0) {
-                                this.$set(this.classroomListShow[this.curClassIndex], 'students', res.classrooms[0].students)
+                            if (res.stus.length > 0) {
+                                this.$set(this.classroomListShow[this.curClassIndex], 'students', res.stus[0])
                             }
                         },
                         err => {

+ 2 - 2
TEAMModelOS/Controllers/Analysis/AnalysisController.cs

@@ -1805,7 +1805,7 @@ namespace TEAMModelOS.Controllers.Analysis
                     mapClass.Add("classAverage", ClassAverage[indexClass]);
                     mapClass.Add("classCount", personCount[indexClass]);
                     mapClass.Add("classRank", classScores[indexClass].IndexOf(result.studentScores[index].Sum()));
-                    mapClass.Add("gradeAverage", Math.Round(totalGrade*1.0 / result.studentIds.Count,2));
+                    mapClass.Add("gradeAverage", result.studentIds.Count > 0 ? Math.Round(totalGrade*1.0 / result.studentIds.Count,2) : 0);
                     mapClass.Add("gradeCount", result.studentIds.Count);
                     mapClass.Add("gradeRank", gradeScores.IndexOf(result.studentScores[index].Sum()));
                     averageMap.Add(mapClass);
@@ -1841,7 +1841,7 @@ namespace TEAMModelOS.Controllers.Analysis
                 }
                 GradeScore.Sort((s1, s2) => { return s2.CompareTo(s1); });
                 double ipoint = GradeScore[count];
-                return Ok(new { income = ipoint, rankc = classScore.IndexOf(totalScore),rankg = GradeScore.IndexOf(totalScore), classAverage = Math.Round(AllAverage[indexClass],2), gradeAverage = Math.Round(AllAverage.Sum() * 1.0 / cla.Count,2), averageMap }); ;
+                return Ok(new { income = ipoint, rankc = classScore.IndexOf(totalScore),rankg = GradeScore.IndexOf(totalScore), classAverage = Math.Round(AllAverage[indexClass],2), gradeAverage = cla.Count > 0 ? Math.Round(AllAverage.Sum() * 1.0 / cla.Count, 2) : 0, averageMap }); ;
             }
             catch (Exception e)
             {