Browse Source

Merge branch 'develop' into PL/develop-BI

Li 3 năm trước cách đây
mục cha
commit
c4eed0e1c9

+ 1 - 1
TEAMModelOS.FunctionV4/CosmosDB/TriggerExam.cs

@@ -572,7 +572,7 @@ namespace TEAMModelOS.FunctionV4
                 List<string> losStu = new List<string>();
 
                 //当前完成考试得人数
-                int total = examResults[0].studentIds.Count;
+                int total = examResults[0].studentIds.Distinct().Count();
                 //先与第一个值取并集
                 losStu = losStu.Union(examResults[0].lostStus).ToList();
                 foreach (ExamResult examResult in examResults)

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 592 - 603
TEAMModelOS/ClientApp/src/view/ability/Review.vue


+ 15 - 2
TEAMModelOS/ClientApp/src/view/jyzx/application.vue

@@ -96,7 +96,7 @@
         </template>
       </Table>
     </div>
-    <Review v-if="isReview" :mode="curReviewMode" :reviewData="reviewData" @goBack="goBack"></Review>
+    <Review ref="reviewRef" v-if="isReview" :mode="curReviewMode" :reviewData="reviewData" @goBack="goBack"></Review>
     <TestPaper v-if="isShowPaper" :abilityData="curData" @goBack="goBack"></TestPaper>
   </div>
 </template>
@@ -473,7 +473,20 @@ export default {
         return (row.uploads.length && row.schoolAppraise === -1) || row.schoolAppraise === 0
       }
     }
-  }
+  },
+  beforeRouteLeave(to, from, next) {
+      let reviewRef = this.$refs.reviewRef
+			// 如果在提交材料页面并且有提交变更 则离开的时候 需要询问用户
+      if(this.isReview && reviewRef.hasModify){
+        this.$Modal.confirm({
+					title: '温馨提示',
+					content: '您存在未提交保存的修改内容,是否确认离开?',
+					onOk: () => {
+						next();
+					}
+				});
+      }
+	}
 }
 </script>
 

+ 15 - 11
TEAMModelOS/Controllers/Analysis/AnalysisController.cs

@@ -229,6 +229,7 @@ namespace TEAMModelOS.Controllers.Analysis
                 List<KeyValuePair<string, Dictionary<string, List<double>>>> gscores = new List<KeyValuePair<string, Dictionary<string, List<double>>>>();
                 //声明全科总分
                 double totalAll = 0;
+                List<string> stuIds = new();
                 foreach (ExamResult examResult in examResults)
                 {
                     (KeyValuePair<string, List<List<string>>> subjectData, KeyValuePair<string, List<KeyValuePair<string, List<double>>>> classSubjectData, Dictionary<string, List<double>> gscore) = DoExerciseScatteres(examResult, paperKey);
@@ -266,6 +267,10 @@ namespace TEAMModelOS.Controllers.Analysis
                     //处理个人
                     foreach (var stuid in examResult.studentIds)
                     {
+                        if (!stuIds.Contains(stuid))
+                        {
+                            stuIds.Add(stuid);
+                        }
                         StudentAys student = null;
                         int index = examResult.studentIds.IndexOf(stuid);
                         if (students.Select(x => x.id).Contains(stuid))
@@ -340,19 +345,18 @@ namespace TEAMModelOS.Controllers.Analysis
                     }*/
                     //处理班级
                     var classRes = classReses.Where(x => x.id == rGroup.id).FirstOrDefault();
-                    var stuCount = classRes.range[1] - classRes.range[0] + 1;
-                    var classStudents = students.GetRange(classRes.range[0], classRes.range[1] - classRes.range[0] + 1);
+                    var stuCount = classRes.range[1] - classRes.range[0] + 1;                 
+                    List<StudentAys> classStudents = new();
+                    foreach (string sid in stuIds) {
+                        foreach (var stu in students) {
+                            if (stu.id == sid) {
+                                classStudents.Add(stu);
+                            }
+                        }
+                    } ;
+                    //var classStudents = students.GetRange(classRes.range[0], classRes.range[1] - classRes.range[0] + 1);
                     List<double> stuTotals = classStudents.Select(x => x.total).ToList();
                     stuTotals.Sort((s1, s2) => { return s2.CompareTo(s1); });
-
-                    /*                    foreach (KeyValuePair<string, double> key1 in keys)
-                                        {
-                                            if (classroom.gradeId.Equals(key1.Key))
-                                            {
-                                                ipoint = key1.Value;
-                                            }
-                                        }*/
-                    //double ipoint = stuTotals[personCount];
                     //初始化进线人数
                     int lineCount = 0;
                     //初始化班级总分