Bläddra i källkod

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

李思淳 5 år sedan
förälder
incheckning
27fe6017d7

+ 6 - 1
TEAMModelOS.Service/Models/Evaluation/Models/ItemInfo.cs

@@ -21,9 +21,14 @@ namespace TEAMModelOS.Service.Models.Evaluation.Models
         public string explain { get; set; }
         public string type { get; set; }
         public string pShaCode { get; set; }
+        //管理知识点
         public List<string> points { get; set; }
+        //认知层次
         public string field { get; set; }
         public List<ItemInfo> children { get; set; }
-
+        /// <summary>
+        /// 配分
+        /// </summary>
+        public double score { get; set; }
     }
 }

+ 4 - 10
TEAMModelOS.Service/Models/PowerPoint/Slide.cs

@@ -8,10 +8,6 @@ namespace TEAMModelOS.Service.Model.PowerPoint
 {
     public class Slide
     {
-        public Slide()
-        {
-            
-        }
         public List<Item> Item { get; set; }
         public Fill Fill { get; set; }
         public int Index { get; set; }
@@ -20,13 +16,11 @@ namespace TEAMModelOS.Service.Model.PowerPoint
         //高度
         public double Height { get; set; }
         public ItemInfo Exercise { get; set; }
-        //PPTX  WORD  来源
-        public string Source { get; set; }
+        //1 PPTX  2 WORD  来源
+        public int Source { get; set; }
         /// <summary>
-        /// 0 默认为普通页面,1为题目
+        /// 1默认为普通页面,2为题目
         /// </summary>
-        public int Flag { get; set; }
+        public int Flag { get; set; } 
     }
-     
-
 }

+ 1 - 1
TEAMModelOS.Service/Models/Syllabus/Volume.cs

@@ -9,7 +9,7 @@ using Newtonsoft.Json;
 namespace TEAMModelOS.Service.Models.Syllabus
 {
     [CosmosDB(RU = 400, Name = "SyllabusVolume")]
-    public class Volume
+    public class SyllabusVolume
     { 
         /// <summary>
         /// id生成规则

+ 7 - 6
TEAMModelOS/ClientApp/src/components/student-analysis/total/BaseLineBar.vue

@@ -58,12 +58,13 @@
                         textStyle: {
                             color: '#fff'
                         },
-                        //formatter: function (params) {
-                        //    return params[0].name + '<br>' +
-                        //        params[0].marker + params[0].seriesName + ':' + params[0].data + '%<br>' +
-                        //        params[1].marker + params[1].seriesName + ':' + params[1].data + '%<br>' +
-                        //        params[2].marker + params[2].seriesName + ':' + params[2].data + '%<br>'
-                        //}
+                        formatter: function (params) {
+                            let result = params[0].name
+                            for (let i = 0; i < params.length; i++) {
+                                result += '<br>' + params[i].marker + params[i].seriesName + ':' + params[i].data + '%'
+                            }
+                            return result
+                        }
                     },
                     grid: {
                         show: false,

+ 11 - 2
TEAMModelOS/ClientApp/src/components/student-analysis/total/BaseRadar.vue

@@ -25,7 +25,16 @@
 
                 // 指定图表的配置项和数据
                 var option = {
-                    tooltip: {},
+                    tooltip: {
+                        formatter: function (params) {
+                            let result = params.name
+                            let pointList = that.getKnowledgeData.pointList
+                            for (let i = 0; i < pointList.length; i++) {
+                                result += '<br>' + params.marker + pointList[i] + ':' + params.value[i] + '%'
+                            }
+                            return result
+                        }
+                    },
                     radar: {
                         triggerEvent: true,
                         name: {
@@ -71,7 +80,7 @@
                             name: '',
                             type: 'radar',
                             itemStyle: {
-                                color: 'red'
+                                color: '#15B8C3'
                             },
                             areaStyle: {
                                 color: {

+ 198 - 189
TEAMModelOS/ClientApp/src/locale/lang/en-US/totalAnalysis.js

@@ -1,192 +1,201 @@
 export default {
-  // EvaluationList.vue
-  text1: 'Summary of previous examinations',
-  text2: 'times',
-  text3: 'More screening',
-  text4: 'Enter test name...',
-  text5: 'Current filter criteria',
-  text6: 'Current quantity',
-  text7: 'Participants',
-  text8: 'Date',
-  text9: 'None',
-  condition1: 'Period',
-  condition2: 'Grade',
-  condition3: 'Term',
-  condition4: 'Type',
-  condition5: 'Range',
-  condition6: 'Feedback',
-  condition7: 'Subject',
-
-  // Base Info
-  base_name: 'Name',
-  base_class: 'Class',
-  base_id: 'Seat Number',
-  base_score: 'Score',
-
-  // ExamList.vue
-  newest: 'Newest Exams',
-  more: 'View More ',
-
-  // index.vue
-  module1: 'Score Analysis',
-  module2: 'Point Analysis',
-  module3: 'Item Analysis',
-  module4: 'Knowledge Point Mastery',
-  exportTable: 'Export Table',
-  currentSubject: 'Current Subject',
-
-  // AchievementAnalysis.vue
-  ach_title1: 'Pass Rate Statistics',
-  ach_title2: 'Equipartition Analysis',
-  ach_title3: 'Entry Number Statistics',
-  ach_title4: 'Entry State Statistics',
-  ach_title5: 'Entry Rate Statistics',
-  ach_title6: 'Early Warning Statistics',
-  ach_title7: 'Ranking Statistics',
-  ach_title8: 'Equipartition Analysis',
-  ach_text1: 'Pass Rate',
-  ach_text2: 'Grade',
-  ach_text3: 'District',
-  ach_text4: 'Class Average',
-  ach_text5: 'School Average',
-  ach_text6: 'District Average',
-  ach_text7: 'Total Number',
-  ach_text8: 'Entry Number',
-  ach_text9: 'Entry Rate',
-  ach_text10: 'Currently Class',
-  ach_text11: 'Total Number',
-  ach_text12: 'Back',
-
-  ach_table_text1: 'Grade Ranking',
-  ach_table_text2: 'Total Score',
-  ach_table_text3: 'Average Score',
-  ach_table_text4: 'Standard Deviation',
-  ach_table_text5: 'Super Average Rate',
-  ach_table_text6: 'Incoming Line',
-  ach_table_text7: 'Planted Line',
-  ach_table_text8: 'Class Ranking',
-  ach_table_text9: 'Grade Ranking',
-  ach_table_text10: 'District Ranking',
-  ach_table_text11: 'Class PR Ranking',
-  ach_table_text12: 'Grade PR Ranking',
-  ach_table_text13: 'District PR Ranking',
-  ach_table_text14: 'Progressive Class',
-  ach_table_text15: 'Step Back Class',
-  ach_table_text16: 'Stable Class',
-
-  ach_chart_text1: 'Sort by',
-  ach_chart_text2: 'default sort',
-  ach_chart_text3: 'score from high to low',
-  ach_chart_text4: 'score from low to high',
-
-  // ScatterAnalysis.vue
-  sca_title1: 'Learning Ability Distribution',
-  sca_title2: 'Student Stability Table',
-  sca_text1: 'Region',
-  sca_text2: 'Regional Characteristics',
-  sca_text3: 'Number',
-  sca_text4: 'Student',
-  sca_text5: 'good learning, high stability',
-  sca_text6: 'carelessness and carelessness lead to mistakes',
-  sca_text7: 'learning is still stable and requires further study',
-  sca_text8: 'occasional carelessness, insufficient preparation',
-  sca_text9: 'learning is not enough, more efforts are needed',
-  sca_text10: 'learning is very unstable, not fully prepared for the exam',
-  sca_chart_text1: 'Pass Rate',
-  sca_chart_text2: 'Stability',
-  sca_table_text1: 'Correct Answers Number',
-  sca_table_text2: 'Wrong Answers Number',
-  sca_table_text3: 'Be Tried No.',
-  sca_table_text4: 'Be Careful No.',
-  sca_table_text5: 'Stability',
-  sca_table_text6: 'Drop Area',
-
-  // TestAnalysis.vue
-  ta_title1: 'Test Scatter Analysis',
-  ta_title2: 'Score Rate of Single Question in Grade',
-  ta_title3: 'Test Analysis Summary Table',
-  ta_title4: 'Test Score Rate Table',
-
-  ta_text1: 'Region',
-  ta_text2: 'Regional Characteristics',
-  ta_text3: 'Number',
-  ta_text4: 'Question No.',
-  ta_text5: 'Selected No.',
-  ta_text6: 'The test questions are quite appropriate, which can be used to distinguish different students',
-  ta_text7: 'The test questions may contain heterogeneous components and need local correction',
-  ta_text8: 'The difficulty of test questions is high, which is suitable for distinguishing students with high achievement',
-  ta_text9: 'The test questions contain heterogeneous components, which may be wrong in data or unclear in meaning, and must be modified',
-
-  ta_chart_text1: 'Question',
-  ta_chart_text2: 'Correct Answer Rate',
-  ta_chart_text3: 'Stability',
-  ta_chart_text4: 'Class Scoring Rate',
-  ta_chart_text5: 'Grade Scoring Rate',
-  ta_chart_text6: 'District Scoring Rate',
-
-  ta_table_text1: 'No.',
-  ta_table_text2: 'Type',
-  ta_table_text3: 'Knowledge Point',
-  ta_table_text4: 'Score',
-  ta_table_text5: 'Difficulty',
-  ta_table_text6: 'Identification Degree',
-  ta_table_text7: 'Class',
-  ta_table_text8: 'Grade',
-  ta_table_text9: 'District',
-  ta_table_text10: 'High Grouping',
-  ta_table_text11: 'Low Grouping',
-
-  ta_table_tip1: '* Unit:Scoring Rate',
-  ta_table_tip2: '* R1-R6:Ranking Range',
-
-  // KnowledgeAnalysis.vue
-  ka_title1: 'Proportion of Knowledge Points',
-  ka_title2: 'Cognitive Hierarchy Distribution',
-  ka_title3: 'Score Rate Relation Table',
-  ka_title4: 'Statistics of Score Rate of Knowledge Points',
-  ka_title5: 'Knowledge Point Score Details',
-  ka_title6: 'Relation Table of Error Rate',
-
-  ka_text1: 'Current knowledge block',
-  ka_text2: 'Current knowledge point',
-
-  ka_chart_text1: 'Switch histogram',
-  ka_chart_text2: 'Switch radar',
-
-  ka_radar_text1: 'Knowledge',
-  ka_radar_text2: 'Application',
-  ka_radar_text3: 'Analysis',
-  ka_radar_text4: 'Synthesis',
-  ka_radar_text5: 'Evaluation',
-  ka_radar_text6: 'Understanding',
-
-  ka_table_text1: 'Knowledge Point',
-  ka_table_text2: 'Cognitive Level',
-  ka_table_text3: 'Grade Scoring Rate',
-  ka_table_text4: 'Score',
-  ka_table_text5: 'Score in this section',
-  ka_table_text6: 'Scoring rate',
-  ka_table_text7: 'Question Number Involved',
-  ka_table_text8: 'Average Score Rate',
-  ka_table_text9: 'Number of Wrong Questions',
-  ka_table_text10: 'RH Number of Wrong Questions',
-  ka_table_text11: 'RL Number of Wrong Questions',
-
-  ka_tip1: '* RH: High partition / RL:Low partition',
-
-  // QuestionList.vue
-  ql_text1: 'Total Score',
-  ql_text2: 'Single Question',
-  ql_text3: 'Multiple Question',
-  ql_text4: 'Judgement Question',
-  ql_text5: 'Complete Question',
-  ql_text6: 'Subjective Question',
-  ql_text7: 'Compose Question',
-  ql_text8: ' points',
-  ql_text9: 'View Answer and Explain',
-  ql_text10: 'View Data Analysis',
-  ql_text11: 'Answer',
-  ql_text12: 'Explain',
-  ql_text13: '      Return'
+    // EvaluationList.vue
+    text1: 'Summary of previous examinations',
+    text2: 'times',
+    text3: 'More screening',
+    text4: 'Enter test name...',
+    text5: 'Current filter criteria',
+    text6: 'Current quantity',
+    text7: 'Participants',
+    text8: 'Date',
+    text9: 'None',
+    condition1: 'Period',
+    condition2: 'Grade',
+    condition3: 'Term',
+    condition4: 'Type',
+    condition5: 'Range',
+    condition6: 'Feedback',
+    condition7: 'Subject',
+
+    // Base Info
+    base_name: 'Name',
+    base_class: 'Class',
+    base_id: 'Seat Number',
+    base_score: 'Score',
+
+    // ExamList.vue
+    newest: 'Newest Exams',
+    more: 'View More ',
+
+    // index.vue
+    module1: 'Score Analysis',
+    module2: 'Point Analysis',
+    module3: 'Item Analysis',
+    module4: 'Knowledge Point Mastery',
+    module5: 'Cognitive level Mastery',
+    exportTable: 'Export Table',
+    currentSubject: 'Current Subject',
+
+    // AchievementAnalysis.vue
+    ach_title1: 'Pass Rate Statistics',
+    ach_title2: 'Equipartition Analysis',
+    ach_title3: 'Entry Number Statistics',
+    ach_title4: 'Entry State Statistics',
+    ach_title5: 'Entry Rate Statistics',
+    ach_title6: 'Early Warning Statistics',
+    ach_title7: 'Ranking Statistics',
+    ach_title8: 'Equipartition Analysis',
+    ach_text1: 'Pass Rate',
+    ach_text2: 'Grade',
+    ach_text3: 'District',
+    ach_text4: 'Class Average',
+    ach_text5: 'School Average',
+    ach_text6: 'District Average',
+    ach_text7: 'Total Number',
+    ach_text8: 'Entry Number',
+    ach_text9: 'Entry Rate',
+    ach_text10: 'Currently Class',
+    ach_text11: 'Total Number',
+    ach_text12: 'Back',
+
+    ach_table_text1: 'Grade Ranking',
+    ach_table_text2: 'Total Score',
+    ach_table_text3: 'Average Score',
+    ach_table_text4: 'Standard Deviation',
+    ach_table_text5: 'Super Average Rate',
+    ach_table_text6: 'Incoming Line',
+    ach_table_text7: 'Planted Line',
+    ach_table_text8: 'Class Ranking',
+    ach_table_text9: 'Grade Ranking',
+    ach_table_text10: 'District Ranking',
+    ach_table_text11: 'Class PR Ranking',
+    ach_table_text12: 'Grade PR Ranking',
+    ach_table_text13: 'District PR Ranking',
+    ach_table_text14: 'Progressive Class',
+    ach_table_text15: 'Step Back Class',
+    ach_table_text16: 'Stable Class',
+
+    ach_chart_text1: 'Sort by',
+    ach_chart_text2: 'default sort',
+    ach_chart_text3: 'score from high to low',
+    ach_chart_text4: 'score from low to high',
+
+    // ScatterAnalysis.vue
+    sca_title1: 'Learning Ability Distribution',
+    sca_title2: 'Student Stability Table',
+    sca_text1: 'Region',
+    sca_text2: 'Regional Characteristics',
+    sca_text3: 'Number',
+    sca_text4: 'Student',
+    sca_text5: 'good learning, high stability',
+    sca_text6: 'carelessness and carelessness lead to mistakes',
+    sca_text7: 'learning is still stable and requires further study',
+    sca_text8: 'occasional carelessness, insufficient preparation',
+    sca_text9: 'learning is not enough, more efforts are needed',
+    sca_text10: 'learning is very unstable, not fully prepared for the exam',
+    sca_chart_text1: 'Pass Rate',
+    sca_chart_text2: 'Stability',
+    sca_table_text1: 'Correct Answers Number',
+    sca_table_text2: 'Wrong Answers Number',
+    sca_table_text3: 'Be Tried No.',
+    sca_table_text4: 'Be Careful No.',
+    sca_table_text5: 'Stability',
+    sca_table_text6: 'Drop Area',
+
+    // TestAnalysis.vue
+    ta_title1: 'Test Scatter Analysis',
+    ta_title2: 'Score Rate of Single Question in Grade',
+    ta_title3: 'Test Analysis Summary Table',
+    ta_title4: 'Test Score Rate Table',
+
+    ta_text1: 'Region',
+    ta_text2: 'Regional Characteristics',
+    ta_text3: 'Number',
+    ta_text4: 'Question No.',
+    ta_text5: 'Selected No.',
+    ta_text6: 'The test questions are quite appropriate, which can be used to distinguish different students',
+    ta_text7: 'The test questions may contain heterogeneous components and need local correction',
+    ta_text8: 'The difficulty of test questions is high, which is suitable for distinguishing students with high achievement',
+    ta_text9: 'The test questions contain heterogeneous components, which may be wrong in data or unclear in meaning, and must be modified',
+
+    ta_chart_text1: 'Question',
+    ta_chart_text2: 'Correct Answer Rate',
+    ta_chart_text3: 'Stability',
+    ta_chart_text4: 'Class Scoring Rate',
+    ta_chart_text5: 'Grade Scoring Rate',
+    ta_chart_text6: 'District Scoring Rate',
+
+    ta_table_text1: 'No.',
+    ta_table_text2: 'Type',
+    ta_table_text3: 'Knowledge Point',
+    ta_table_text4: 'Score',
+    ta_table_text5: 'Difficulty',
+    ta_table_text6: 'Identification Degree',
+    ta_table_text7: 'Class',
+    ta_table_text8: 'Grade',
+    ta_table_text9: 'District',
+    ta_table_text10: 'High Grouping',
+    ta_table_text11: 'Low Grouping',
+
+    ta_table_tip1: '* Unit:Scoring Rate',
+    ta_table_tip2: '* R1-R6:Ranking Range',
+
+    // KnowledgeAnalysis.vue
+    ka_title1: 'Proportion of Knowledge Points',
+    ka_title2: 'Cognitive Hierarchy Distribution',
+    ka_title3: 'Score Rate Relation Table',
+    ka_title4: 'Statistics of Score Rate of Knowledge Points',
+    ka_title5: 'Knowledge Point Score Details',
+    ka_title6: 'Relation Table of Error Rate',
+
+    ka_text1: 'Current knowledge block',
+    ka_text2: 'Current knowledge point',
+
+    ka_chart_text1: 'Switch histogram',
+    ka_chart_text2: 'Switch radar',
+
+    ka_radar_text1: 'Knowledge',
+    ka_radar_text2: 'Application',
+    ka_radar_text3: 'Analysis',
+    ka_radar_text4: 'Synthesis',
+    ka_radar_text5: 'Evaluation',
+    ka_radar_text6: 'Understanding',
+
+    ka_table_text1: 'Knowledge Point',
+    ka_table_text2: 'Cognitive Level',
+    ka_table_text3: 'Grade Scoring Rate',
+    ka_table_text4: 'Score',
+    ka_table_text5: 'Score in this section',
+    ka_table_text6: 'Scoring rate',
+    ka_table_text7: 'Question Number Involved',
+    ka_table_text8: 'Average Score Rate',
+    ka_table_text9: 'Number of Wrong Questions',
+    ka_table_text10: 'RH Number of Wrong Questions',
+    ka_table_text11: 'RL Number of Wrong Questions',
+
+    ka_tip1: '* RH: High partition / RL:Low partition',
+
+    // LevelAnalysis.vue
+    le_title1: 'Proportion of Cognitive Level',
+    le_title2: 'Cognitive Hierarchy Distribution',
+    le_title3: 'Score Rate Relation Table',
+    le_title4: 'Statistics of Score Rate of cognitive level',
+    le_title5: 'Cognitive Level Score Details',
+    le_title6: 'Relation Table of Error Rate',
+
+    // QuestionList.vue
+    ql_text1: 'Total Score',
+    ql_text2: 'Single Question',
+    ql_text3: 'Multiple Question',
+    ql_text4: 'Judgement Question',
+    ql_text5: 'Complete Question',
+    ql_text6: 'Subjective Question',
+    ql_text7: 'Compose Question',
+    ql_text8: ' points',
+    ql_text9: 'View Answer and Explain',
+    ql_text10: 'View Data Analysis',
+    ql_text11: 'Answer',
+    ql_text12: 'Explain',
+    ql_text13: '      Return'
 
 }

+ 199 - 189
TEAMModelOS/ClientApp/src/locale/lang/zh-CN/totalAnalysis.js

@@ -1,192 +1,202 @@
 export default {
-  // EvaluationList.vue
-  text1: '历次考试汇总',
-  text2: '次数',
-  text3: '更多筛选',
-  text4: '输入考试名称...',
-  text5: '当前筛选条件',
-  text6: '当前数量',
-  text7: '参与人数',
-  text8: '考试日期',
-  text9: '无',
-  condition1: '关注学段',
-  condition2: '关注年级',
-  condition3: '学年期',
-  condition4: '考试类型',
-  condition5: '考试范围',
-  condition6: '反馈类型',
-  condition7: '考试学科',
-
-  // Base Info
-  base_name: '姓名',
-  base_class: '班级',
-  base_id: '座号',
-  base_score: '分数',
-
-  // ExamList.vue
-  newest: '最新测验',
-  more: '查看更多',
-
-  // index.vue
-  module1: '成绩分析',
-  module2: '落点分析',
-  module3: '试题分析',
-  module4: '知识点掌握',
-  exportTable: '导出表格',
-  currentSubject: '当前科目',
-
-  // AchievementAnalysis.vue
-  ach_title1: '及格率统计',
-  ach_title2: '均分分析',
-  ach_title3: '进线人数统计',
-  ach_title4: '进线情况统计',
-  ach_title5: '进线率统计',
-  ach_title6: '预警统计',
-  ach_title7: '排名统计(PR/成绩)',
-  ach_title8: '均分分析',
-  ach_text1: '及格率',
-  ach_text2: '年级',
-  ach_text3: '区级',
-  ach_text4: '班级平均分',
-  ach_text5: '校级平均分',
-  ach_text6: '区级平均分',
-  ach_text7: '班级总人数',
-  ach_text8: '进线总人数',
-  ach_text9: '进线率',
-  ach_text10: '当前班级',
-  ach_text11: '总人数',
-  ach_text12: '返回',
-
-  ach_table_text1: '年级排名',
-  ach_table_text2: '总分',
-  ach_table_text3: '平均分',
-  ach_table_text4: '标准差',
-  ach_table_text5: '超均率',
-  ach_table_text6: '进线',
-  ach_table_text7: '踩线',
-  ach_table_text8: '班级排名',
-  ach_table_text9: '年级排名',
-  ach_table_text10: '区级排名',
-  ach_table_text11: '班级PR排名',
-  ach_table_text12: '年级PR排名',
-  ach_table_text13: '区级PR排名',
-  ach_table_text14: '进步班级',
-  ach_table_text15: '退步班级',
-  ach_table_text16: '稳定班级',
-
-  ach_chart_text1: '排序方式',
-  ach_chart_text2: '默认排序',
-  ach_chart_text3: '分数从高到低',
-  ach_chart_text4: '分数从低到高',
-
-  // ScatterAnalysis.vue
-  sca_title1: '学生学习力分布',
-  sca_title2: '学生稳定度统计表',
-  sca_text1: '区域',
-  sca_text2: '区域特性',
-  sca_text3: '所占人数',
-  sca_text4: '学生',
-  sca_text5: '学习良好,稳定度高',
-  sca_text6: '粗心大意,不细心造成错误',
-  sca_text7: '学习尚且稳定,需要再用功',
-  sca_text8: '偶尔粗心,准备不够充分',
-  sca_text9: '学习不够充分,需要更加努力',
-  sca_text10: '学习极不稳定, 对考试没有充分准备',
-  sca_chart_text1: '通过率',
-  sca_chart_text2: '稳定度',
-  sca_table_text1: '答对题数',
-  sca_table_text2: '答错题数',
-  sca_table_text3: '应努力题号',
-  sca_table_text4: '需小心题号',
-  sca_table_text5: '稳定程度',
-  sca_table_text6: '落点区域',
-
-  // TestAnalysis.vue
-  ta_title1: '试题落点分析',
-  ta_title2: '年级单题得分率统计',
-  ta_title3: '试题分析总表',
-  ta_title4: '试题得分率表',
-
-  ta_text1: '区域',
-  ta_text2: '区域特性',
-  ta_text3: '题数',
-  ta_text4: '题目编号',
-  ta_text5: '所选题号',
-  ta_text6: '试题相当适当,可以用来区分学生的不同',
-  ta_text7: '试题可能含有异质成分在内,需要局部修正',
-  ta_text8: '试题困难度较高,适合区分高成就者学生',
-  ta_text9: '试题含有异质成分,可能数据错误或者题意不清,必须加以修改',
-
-  ta_chart_text1: '试题',
-  ta_chart_text2: '答对率',
-  ta_chart_text3: '稳定度',
-  ta_chart_text4: '班级得分率',
-  ta_chart_text5: '年级得分率',
-  ta_chart_text6: '区级得分率',
-
-  ta_table_text1: '题号',
-  ta_table_text2: '题型',
-  ta_table_text3: '知识点',
-  ta_table_text4: '配分',
-  ta_table_text5: '难易度',
-  ta_table_text6: '鉴别度',
-  ta_table_text7: '班级',
-  ta_table_text8: '年级',
-  ta_table_text9: '区级',
-  ta_table_text10: '高分组',
-  ta_table_text11: '低分组',
-
-  ta_table_tip1: '* 单位:得分率',
-  ta_table_tip2: '* R1-R6:排名区间',
-
-  // KnowledgeAnalysis.vue
-  ka_title1: '知识点占比',
-  ka_title2: '认知层次分布',
-  ka_title3: '得分率关系表',
-  ka_title4: '知识点得分率统计',
-  ka_title5: '知识点得分详情',
-  ka_title6: '错题率关系表',
-
-  ka_text1: '当前知识块',
-  ka_text2: '当前知识点',
-
-  ka_chart_text1: '切换柱状图',
-  ka_chart_text2: '切换雷达图',
-
-  ka_radar_text1: '知识',
-  ka_radar_text2: '应用',
-  ka_radar_text3: '分析',
-  ka_radar_text4: '综合',
-  ka_radar_text5: '评鉴',
-  ka_radar_text6: '理解',
-
-  ka_table_text1: '知识点',
-  ka_table_text2: '认知层次',
-  ka_table_text3: '年级得分率',
-  ka_table_text4: '分值',
-  ka_table_text5: '本节得分',
-  ka_table_text6: '得分率',
-  ka_table_text7: '涉及题号',
-  ka_table_text8: '平均得分率',
-  ka_table_text9: '错题人数',
-  ka_table_text10: 'RH错题人数',
-  ka_table_text11: 'RL错题人数',
-
-  ka_tip1: '* RH:高分区段 / RL:低分区段',
-
-  // QuestionList.vue
-  ql_text1: '试卷总分',
-  ql_text2: '单项选择题',
-  ql_text3: '多项选择器',
-  ql_text4: '判断题',
-  ql_text5: '填空题',
-  ql_text6: '问答题',
-  ql_text7: '综合题',
-  ql_text8: '分',
-  ql_text9: '查看答案与解析',
-  ql_text10: '查看数据分析',
-  ql_text11: '参考答案',
-  ql_text12: '答题解析',
-  ql_text13: '返回'
+    // EvaluationList.vue
+    text1: '历次考试汇总',
+    text2: '次数',
+    text3: '更多筛选',
+    text4: '输入考试名称...',
+    text5: '当前筛选条件',
+    text6: '当前数量',
+    text7: '参与人数',
+    text8: '考试日期',
+    text9: '无',
+    condition1: '关注学段',
+    condition2: '关注年级',
+    condition3: '学年期',
+    condition4: '考试类型',
+    condition5: '考试范围',
+    condition6: '反馈类型',
+    condition7: '考试学科',
+
+    // Base Info
+    base_name: '姓名',
+    base_class: '班级',
+    base_id: '座号',
+    base_score: '分数',
+
+    // ExamList.vue
+    newest: '最新测验',
+    more: '查看更多',
+
+    // index.vue
+    module1: '成绩分析',
+    module2: '落点分析',
+    module3: '试题分析',
+    module4: '知识点掌握',
+    module5: '认知层次掌握',
+    exportTable: '导出表格',
+    currentSubject: '当前科目',
+
+    // AchievementAnalysis.vue
+    ach_title1: '及格率统计',
+    ach_title2: '均分分析',
+    ach_title3: '进线人数统计',
+    ach_title4: '进线情况统计',
+    ach_title5: '进线率统计',
+    ach_title6: '预警统计',
+    ach_title7: '排名统计(PR/成绩)',
+    ach_title8: '均分分析',
+    ach_text1: '及格率',
+    ach_text2: '年级',
+    ach_text3: '区级',
+    ach_text4: '班级平均分',
+    ach_text5: '校级平均分',
+    ach_text6: '区级平均分',
+    ach_text7: '班级总人数',
+    ach_text8: '进线总人数',
+    ach_text9: '进线率',
+    ach_text10: '当前班级',
+    ach_text11: '总人数',
+    ach_text12: '返回',
+
+    ach_table_text1: '年级排名',
+    ach_table_text2: '总分',
+    ach_table_text3: '平均分',
+    ach_table_text4: '标准差',
+    ach_table_text5: '超均率',
+    ach_table_text6: '进线',
+    ach_table_text7: '踩线',
+    ach_table_text8: '班级排名',
+    ach_table_text9: '年级排名',
+    ach_table_text10: '区级排名',
+    ach_table_text11: '班级PR排名',
+    ach_table_text12: '年级PR排名',
+    ach_table_text13: '区级PR排名',
+    ach_table_text14: '进步班级',
+    ach_table_text15: '退步班级',
+    ach_table_text16: '稳定班级',
+
+    ach_chart_text1: '排序方式',
+    ach_chart_text2: '默认排序',
+    ach_chart_text3: '分数从高到低',
+    ach_chart_text4: '分数从低到高',
+
+    // ScatterAnalysis.vue
+    sca_title1: '学生学习力分布',
+    sca_title2: '学生稳定度统计表',
+    sca_text1: '区域',
+    sca_text2: '区域特性',
+    sca_text3: '所占人数',
+    sca_text4: '学生',
+    sca_text5: '学习良好,稳定度高',
+    sca_text6: '粗心大意,不细心造成错误',
+    sca_text7: '学习尚且稳定,需要再用功',
+    sca_text8: '偶尔粗心,准备不够充分',
+    sca_text9: '学习不够充分,需要更加努力',
+    sca_text10: '学习极不稳定, 对考试没有充分准备',
+    sca_chart_text1: '通过率',
+    sca_chart_text2: '稳定度',
+    sca_table_text1: '答对题数',
+    sca_table_text2: '答错题数',
+    sca_table_text3: '应努力题号',
+    sca_table_text4: '需小心题号',
+    sca_table_text5: '稳定程度',
+    sca_table_text6: '落点区域',
+
+    // TestAnalysis.vue
+    ta_title1: '试题落点分析',
+    ta_title2: '年级单题得分率统计',
+    ta_title3: '试题分析总表',
+    ta_title4: '试题得分率表',
+
+    ta_text1: '区域',
+    ta_text2: '区域特性',
+    ta_text3: '题数',
+    ta_text4: '题目编号',
+    ta_text5: '所选题号',
+    ta_text6: '试题相当适当,可以用来区分学生的不同',
+    ta_text7: '试题可能含有异质成分在内,需要局部修正',
+    ta_text8: '试题困难度较高,适合区分高成就者学生',
+    ta_text9: '试题含有异质成分,可能数据错误或者题意不清,必须加以修改',
+
+    ta_chart_text1: '试题',
+    ta_chart_text2: '答对率',
+    ta_chart_text3: '稳定度',
+    ta_chart_text4: '班级得分率',
+    ta_chart_text5: '年级得分率',
+    ta_chart_text6: '区级得分率',
+
+    ta_table_text1: '题号',
+    ta_table_text2: '题型',
+    ta_table_text3: '知识点',
+    ta_table_text4: '配分',
+    ta_table_text5: '难易度',
+    ta_table_text6: '鉴别度',
+    ta_table_text7: '班级',
+    ta_table_text8: '年级',
+    ta_table_text9: '区级',
+    ta_table_text10: '高分组',
+    ta_table_text11: '低分组',
+
+    ta_table_tip1: '* 单位:得分率',
+    ta_table_tip2: '* R1-R6:排名区间',
+
+    // KnowledgeAnalysis.vue
+    ka_title1: '知识点占比',
+    ka_title2: '认知层次分布',
+    ka_title3: '得分率关系表',
+    ka_title4: '知识点得分率统计',
+    ka_title5: '知识点得分详情',
+    ka_title6: '错题率关系表',
+
+    ka_text1: '当前知识块',
+    ka_text2: '当前知识点',
+
+    ka_chart_text1: '切换柱状图',
+    ka_chart_text2: '切换雷达图',
+
+    ka_radar_text1: '知识',
+    ka_radar_text2: '应用',
+    ka_radar_text3: '分析',
+    ka_radar_text4: '综合',
+    ka_radar_text5: '评鉴',
+    ka_radar_text6: '理解',
+
+    ka_table_text1: '知识点',
+    ka_table_text2: '认知层次',
+    ka_table_text3: '年级得分率',
+    ka_table_text4: '分值',
+    ka_table_text5: '本节得分',
+    ka_table_text6: '得分率',
+    ka_table_text7: '涉及题号',
+    ka_table_text8: '平均得分率',
+    ka_table_text9: '错题人数',
+    ka_table_text10: 'RH错题人数',
+    ka_table_text11: 'RL错题人数',
+
+    ka_tip1: '* RH:高分区段 / RL:低分区段',
+
+    // LevelAnalysis.vue
+    le_title1: '认知层次占比',
+    le_title2: '认知层次分布',
+    le_title3: '得分率关系表',
+    le_title4: '认知层次得分率统计',
+    le_title5: '认知层次得分详情',
+    le_title6: '错题率关系表',
+
+
+    // QuestionList.vue
+    ql_text1: '试卷总分',
+    ql_text2: '单项选择题',
+    ql_text3: '多项选择器',
+    ql_text4: '判断题',
+    ql_text5: '填空题',
+    ql_text6: '问答题',
+    ql_text7: '综合题',
+    ql_text8: '分',
+    ql_text9: '查看答案与解析',
+    ql_text10: '查看数据分析',
+    ql_text11: '参考答案',
+    ql_text12: '答题解析',
+    ql_text13: '返回'
 
 }

+ 198 - 189
TEAMModelOS/ClientApp/src/locale/lang/zh-TW/totalAnalysis.js

@@ -1,192 +1,201 @@
 export default {
-  // EvaluationList.vue
-  text1: '歷次考試匯總',
-  text2: '次數',
-  text3: '更多篩選',
-  text4: '輸入考試名稱...',
-  text5: '當前篩選條件',
-  text6: '當前條數',
-  text7: '參與人數',
-  text8: '考試日期',
-  text9: '無',
-  condition1: '關註學段',
-  condition2: '關註年級',
-  condition3: '學年期',
-  condition4: '考試類型',
-  condition5: '考試範圍',
-  condition6: '反饋類型',
-  condition7: '考試學科',
-
-  // Base Info
-  base_name: '姓名',
-  base_class: '班级',
-  base_id: '座號',
-  base_score: '分數',
-
-  // ExamList.vue
-  newest: '最新測驗',
-  more: '查看更多',
-
-  // index.vue
-  module1: '成績分析',
-  module2: '落点分析',
-  module3: '試題分析',
-  module4: '知識点掌握',
-  exportTable: '匯出表格',
-  currentSubject: '當前科目',
-
-  // AchievementAnalysis.vue
-  ach_title1: '及格率統計',
-  ach_title2: '均分分析',
-  ach_title3: '進線人數統計',
-  ach_title4: '進線情况統計',
-  ach_title5: '進線率統計',
-  ach_title6: '預警統計',
-  ach_title7: '排名統計(PR/ 成績)',
-  ach_title8: '均分分析',
-  ach_text1: '及格率',
-  ach_text2: '年级',
-  ach_text3: '區級',
-  ach_text4: '班級平均分',
-  ach_text5: '校級平均分',
-  ach_text6: '區級平均分',
-  ach_text7: '班級總人數',
-  ach_text8: '進線總人數',
-  ach_text9: '進線率',
-  ach_text10: '當前班級',
-  ach_text11: '總人數',
-  ach_text12: '返回',
-
-  ach_table_text1: '年級排名',
-  ach_table_text2: '總分',
-  ach_table_text3: '平均分',
-  ach_table_text4: '標準差',
-  ach_table_text5: '超均率',
-  ach_table_text6: '進線',
-  ach_table_text7: '踩線',
-  ach_table_text8: '班級排名',
-  ach_table_text9: '年級排名',
-  ach_table_text10: '區級排名',
-  ach_table_text11: '班級PR排名',
-  ach_table_text12: '年級PR排名',
-  ach_table_text13: '區級PR排名',
-  ach_table_text14: '進步班級',
-  ach_table_text15: '退步班級',
-  ach_table_text16: '穩定班級',
-
-  ach_chart_text1: '排序方式',
-  ach_chart_text2: '默認排序',
-  ach_chart_text3: '分數從高到低',
-  ach_chart_text4: '分數從低到高',
-
-  // ScatterAnalysis.vue
-  sca_title1: '學生學習力分佈',
-  sca_title2: '學生穩定度統計表',
-  sca_text1: '區域',
-  sca_text2: '區域特性',
-  sca_text3: '所占人數',
-  sca_text4: '學生',
-  sca_text5: '學習良好,穩定度高',
-  sca_text6: '粗心大意,不細心造成錯誤',
-  sca_text7: '學習尚且穩定,需要再用功',
-  sca_text8: '偶爾粗心,準備不够充分',
-  sca_text9: '學習不够充分,需要更加努力',
-  sca_text10: '學習極不穩定,對考試沒有充分準備',
-  sca_chart_text1: '通過率',
-  sca_chart_text2: '穩定度',
-  sca_table_text1: '答對題數',
-  sca_table_text2: '答錯題數',
-  sca_table_text3: '應努力題號',
-  sca_table_text4: '需小心題號',
-  sca_table_text5: '穩定程度',
-  sca_table_text6: '落點區域',
-
-  // TestAnalysis.vue
-  ta_title1: '試題落點分析',
-  ta_title2: '年級單題得分率統計',
-  ta_title3: '試題分析總表',
-  ta_title4: '試題得分率錶',
-
-  ta_text1: '區域',
-  ta_text2: '區域特性',
-  ta_text3: '題數',
-  ta_text4: '題目編號',
-  ta_text5: '所選題號',
-  ta_text6: '試題相當適當,可以用來區分學生的不同',
-  ta_text7: '試題可能含有異質成分在內,需要局部修正',
-  ta_text8: '試題困難度較高,適合區分高成就者學生',
-  ta_text9: '試題含有異質成分,可能數據錯誤或者題意不清,必須加以修改',
-
-  ta_chart_text1: '試題',
-  ta_chart_text2: '答對率',
-  ta_chart_text3: '穩定度',
-  ta_chart_text4: '班級得分率',
-  ta_chart_text5: '年級得分率',
-  ta_chart_text6: '區級得分率',
-
-  ta_table_text1: '題號',
-  ta_table_text2: '題型',
-  ta_table_text3: '知識點',
-  ta_table_text4: '配分',
-  ta_table_text5: '難易度',
-  ta_table_text6: '鑒別度',
-  ta_table_text7: '班級',
-  ta_table_text8: '年級',
-  ta_table_text9: '區級',
-  ta_table_text10: '高分组',
-  ta_table_text11: '低分组',
-
-  ta_table_tip1: '* 組織:得分率',
-  ta_table_tip2: '* R1-R6:排名區間',
-
-  // KnowledgeAnalysis.vue
-  ka_title1: '知識點占比',
-  ka_title2: '認知層次分佈',
-  ka_title3: '得分率關係表',
-  ka_title4: '知識點得分率統計',
-  ka_title5: '知識點得分詳情',
-  ka_title6: '錯題率關係表',
-
-  ka_text1: '當前知識塊',
-  ka_text2: '當前知識點',
-
-  ka_chart_text1: '切換柱狀圖',
-  ka_chart_text2: '切換雷达圖',
-
-  ka_radar_text1: '知識',
-  ka_radar_text2: '應用',
-  ka_radar_text3: '分析',
-  ka_radar_text4: '綜合',
-  ka_radar_text5: '評鑒',
-  ka_radar_text6: '理解',
-
-  ka_table_text1: '知識點',
-  ka_table_text2: '認知層次',
-  ka_table_text3: '年級得分率',
-  ka_table_text4: '分值',
-  ka_table_text5: '本節得分',
-  ka_table_text6: '得分率',
-  ka_table_text7: '涉及題號',
-  ka_table_text8: '平均得分率',
-  ka_table_text9: '錯題人數',
-  ka_table_text10: 'RH錯題人數',
-  ka_table_text11: 'RL錯題人數',
-
-  ka_tip1: '* RH:高分區段 / RL:低分區段',
-
-  // QuestionList.vue
-  ql_text1: '試卷總分',
-  ql_text2: '單項選擇題',
-  ql_text3: '多項選擇題',
-  ql_text4: '判斷題',
-  ql_text5: '填空題',
-  ql_text6: '問答題',
-  ql_text7: '綜合題',
-  ql_text8: '分',
-  ql_text9: '查看答案與解析',
-  ql_text10: '查看資料分析',
-  ql_text11: '參考答案',
-  ql_text12: '答題解析',
-  ql_text13: '返回'
+    // EvaluationList.vue
+    text1: '歷次考試匯總',
+    text2: '次數',
+    text3: '更多篩選',
+    text4: '輸入考試名稱...',
+    text5: '當前篩選條件',
+    text6: '當前條數',
+    text7: '參與人數',
+    text8: '考試日期',
+    text9: '無',
+    condition1: '關註學段',
+    condition2: '關註年級',
+    condition3: '學年期',
+    condition4: '考試類型',
+    condition5: '考試範圍',
+    condition6: '反饋類型',
+    condition7: '考試學科',
+
+    // Base Info
+    base_name: '姓名',
+    base_class: '班级',
+    base_id: '座號',
+    base_score: '分數',
+
+    // ExamList.vue
+    newest: '最新測驗',
+    more: '查看更多',
+
+    // index.vue
+    module1: '成績分析',
+    module2: '落点分析',
+    module3: '試題分析',
+    module4: '知識点掌握',
+    module5: '認知層次掌握',
+    exportTable: '匯出表格',
+    currentSubject: '當前科目',
+
+    // AchievementAnalysis.vue
+    ach_title1: '及格率統計',
+    ach_title2: '均分分析',
+    ach_title3: '進線人數統計',
+    ach_title4: '進線情况統計',
+    ach_title5: '進線率統計',
+    ach_title6: '預警統計',
+    ach_title7: '排名統計(PR/ 成績)',
+    ach_title8: '均分分析',
+    ach_text1: '及格率',
+    ach_text2: '年级',
+    ach_text3: '區級',
+    ach_text4: '班級平均分',
+    ach_text5: '校級平均分',
+    ach_text6: '區級平均分',
+    ach_text7: '班級總人數',
+    ach_text8: '進線總人數',
+    ach_text9: '進線率',
+    ach_text10: '當前班級',
+    ach_text11: '總人數',
+    ach_text12: '返回',
+
+    ach_table_text1: '年級排名',
+    ach_table_text2: '總分',
+    ach_table_text3: '平均分',
+    ach_table_text4: '標準差',
+    ach_table_text5: '超均率',
+    ach_table_text6: '進線',
+    ach_table_text7: '踩線',
+    ach_table_text8: '班級排名',
+    ach_table_text9: '年級排名',
+    ach_table_text10: '區級排名',
+    ach_table_text11: '班級PR排名',
+    ach_table_text12: '年級PR排名',
+    ach_table_text13: '區級PR排名',
+    ach_table_text14: '進步班級',
+    ach_table_text15: '退步班級',
+    ach_table_text16: '穩定班級',
+
+    ach_chart_text1: '排序方式',
+    ach_chart_text2: '默認排序',
+    ach_chart_text3: '分數從高到低',
+    ach_chart_text4: '分數從低到高',
+
+    // ScatterAnalysis.vue
+    sca_title1: '學生學習力分佈',
+    sca_title2: '學生穩定度統計表',
+    sca_text1: '區域',
+    sca_text2: '區域特性',
+    sca_text3: '所占人數',
+    sca_text4: '學生',
+    sca_text5: '學習良好,穩定度高',
+    sca_text6: '粗心大意,不細心造成錯誤',
+    sca_text7: '學習尚且穩定,需要再用功',
+    sca_text8: '偶爾粗心,準備不够充分',
+    sca_text9: '學習不够充分,需要更加努力',
+    sca_text10: '學習極不穩定,對考試沒有充分準備',
+    sca_chart_text1: '通過率',
+    sca_chart_text2: '穩定度',
+    sca_table_text1: '答對題數',
+    sca_table_text2: '答錯題數',
+    sca_table_text3: '應努力題號',
+    sca_table_text4: '需小心題號',
+    sca_table_text5: '穩定程度',
+    sca_table_text6: '落點區域',
+
+    // TestAnalysis.vue
+    ta_title1: '試題落點分析',
+    ta_title2: '年級單題得分率統計',
+    ta_title3: '試題分析總表',
+    ta_title4: '試題得分率錶',
+
+    ta_text1: '區域',
+    ta_text2: '區域特性',
+    ta_text3: '題數',
+    ta_text4: '題目編號',
+    ta_text5: '所選題號',
+    ta_text6: '試題相當適當,可以用來區分學生的不同',
+    ta_text7: '試題可能含有異質成分在內,需要局部修正',
+    ta_text8: '試題困難度較高,適合區分高成就者學生',
+    ta_text9: '試題含有異質成分,可能數據錯誤或者題意不清,必須加以修改',
+
+    ta_chart_text1: '試題',
+    ta_chart_text2: '答對率',
+    ta_chart_text3: '穩定度',
+    ta_chart_text4: '班級得分率',
+    ta_chart_text5: '年級得分率',
+    ta_chart_text6: '區級得分率',
+
+    ta_table_text1: '題號',
+    ta_table_text2: '題型',
+    ta_table_text3: '知識點',
+    ta_table_text4: '配分',
+    ta_table_text5: '難易度',
+    ta_table_text6: '鑒別度',
+    ta_table_text7: '班級',
+    ta_table_text8: '年級',
+    ta_table_text9: '區級',
+    ta_table_text10: '高分组',
+    ta_table_text11: '低分组',
+
+    ta_table_tip1: '* 組織:得分率',
+    ta_table_tip2: '* R1-R6:排名區間',
+
+    // KnowledgeAnalysis.vue
+    ka_title1: '知識點占比',
+    ka_title2: '認知層次分佈',
+    ka_title3: '得分率關係表',
+    ka_title4: '知識點得分率統計',
+    ka_title5: '知識點得分詳情',
+    ka_title6: '錯題率關係表',
+
+    ka_text1: '當前知識塊',
+    ka_text2: '當前知識點',
+
+    ka_chart_text1: '切換柱狀圖',
+    ka_chart_text2: '切換雷达圖',
+
+    ka_radar_text1: '知識',
+    ka_radar_text2: '應用',
+    ka_radar_text3: '分析',
+    ka_radar_text4: '綜合',
+    ka_radar_text5: '評鑒',
+    ka_radar_text6: '理解',
+
+    ka_table_text1: '知識點',
+    ka_table_text2: '認知層次',
+    ka_table_text3: '年級得分率',
+    ka_table_text4: '分值',
+    ka_table_text5: '本節得分',
+    ka_table_text6: '得分率',
+    ka_table_text7: '涉及題號',
+    ka_table_text8: '平均得分率',
+    ka_table_text9: '錯題人數',
+    ka_table_text10: 'RH錯題人數',
+    ka_table_text11: 'RL錯題人數',
+
+    ka_tip1: '* RH:高分區段 / RL:低分區段',
+
+    // LevelAnalysis.vue
+    le_title1: '認知層次占比',
+    le_title2: '认知层次分布',
+    le_title3: '得分率關系表',
+    le_title4: '認知層次得分率統計',
+    le_title5: '認知層次得分詳情',
+    le_title6: '錯題率關系表',
+
+    // QuestionList.vue
+    ql_text1: '試卷總分',
+    ql_text2: '單項選擇題',
+    ql_text3: '多項選擇題',
+    ql_text4: '判斷題',
+    ql_text5: '填空題',
+    ql_text6: '問答題',
+    ql_text7: '綜合題',
+    ql_text8: '分',
+    ql_text9: '查看答案與解析',
+    ql_text10: '查看資料分析',
+    ql_text11: '參考答案',
+    ql_text12: '答題解析',
+    ql_text13: '返回'
 
 }

+ 8 - 6
TEAMModelOS/ClientApp/src/view/student-analysis/total-analysis/AchievementAnalysis/EarlyWarning.vue

@@ -215,12 +215,14 @@
                         textStyle: {
                             color: '#fff'
                         },
-                        //formatter: function (params) {
-                        //    let name = echartData[params[0].dataIndex].name
-                        //    return name + '<br>' + params[0].marker + that.$t('totalAnalysis.ach_table_text2') + ':' + params[0].data + '<br>' + params[1].marker + that.$t('totalAnalysis.ach_text4') + ':' +
-                        //        params[1].data + '<br>' + params[2].marker + that.$t('totalAnalysis.ach_text5') + ':' + params[2].data + '<br>' +
-                        //        params[3].marker + that.$t('totalAnalysis.ach_text6') + ':' + params[3].data
-                        //}
+                        formatter: function (params) {
+                            let name = echartData[params[0].dataIndex].name
+                            let result = name
+                            for (let i = 0; i < params.length; i++) {
+                                result += '<br>' + params[i].marker + params[i].seriesName + ':' + params[i].data
+                            }
+                            return result
+                        }
                     },
                     grid: {
                         show: false,

+ 2 - 2
TEAMModelOS/ClientApp/src/view/student-analysis/total-analysis/LevelAnalysis/LevelAnalysis.vue

@@ -2,7 +2,7 @@
     <div class="scatter-container">
         <Row>
             <Col span="12">
-                <span class="component-title">{{$t('totalAnalysis.ka_title1')}}</span>
+                <span class="component-title">{{$t('totalAnalysis.le_title1')}}</span>
                 <BasePie pieId="levelPie"></BasePie>
             </Col>
             <Col span="12" style="position:relative">
@@ -13,7 +13,7 @@
         <Row>
 
             <span class="component-title">
-                {{$t('totalAnalysis.ka_title3')}}
+                {{$t('totalAnalysis.le_title3')}}
                 <!-- 当前知识块 : 全部 -->
                 <!--<span style="font-size:14px;font-weight:bold;margin-left:20px;color:#66cccc">
                     {{$t('totalAnalysis.ka_text1')}}:{{currentBlock}}

+ 3 - 3
TEAMModelOS/ClientApp/src/view/student-analysis/total-analysis/LevelAnalysis/ScoreDetails.vue

@@ -2,7 +2,7 @@
     <div class="scatter-container">
         <Row>
             <Col span="12">
-                <span class="component-title">{{$t('totalAnalysis.ka_title4')}}</span>
+                <span class="component-title">{{$t('totalAnalysis.le_title4')}}</span>
                 <span class="pie-to-bar" @click="changeRadarOrBar"><Icon :type="isShowRadar ? 'ios-podium' : 'ios-pie'" />{{isShowRadar?$t('totalAnalysis.ka_chart_text1'):$t('totalAnalysis.ka_chart_text2')}}</span>
                 <div v-show="!isShowRadar">
                     <BaseDetailBar echartsId="levelDetailBar" :echartData="knowledgeData" @handleItemClick="handleItemClick" ref="detailsBar"></BaseDetailBar>
@@ -12,7 +12,7 @@
                 </div>
             </Col>
             <Col span="12">
-                <span class="component-title">{{$t('totalAnalysis.ka_title5')}}<span style="font-size:14px;font-weight:bold;margin-left:20px;color:#66cccc">{{$t('totalAnalysis.ka_text2')}}:{{currentPoint}}</span></span>
+            <span class="component-title">{{$t('totalAnalysis.le_title5')}}<span style="font-size:14px;font-weight:bold;margin-left:20px;color:#66cccc">{{$t('totalAnalysis.ka_text2')}}:{{currentPoint}}</span></span>
                 <div style="padding:0 50px;">
                     <BaseMyTable :columns="detailsColumns" :tableDatas="tableData" ref="detailsTable"></BaseMyTable>
                 </div>
@@ -20,7 +20,7 @@
         </Row>
         <Divider />
         <Row>
-            <span class="component-title">{{$t('totalAnalysis.ka_title6')}}</span>
+            <span class="component-title">{{$t('totalAnalysis.le_title6')}}</span>
             <div style="padding:20px 50px;">
                 <BaseMyTable :columns="tableColumns" :tableDatas="numData" ref="numTable" :tips="$t('totalAnalysis.ka_tip1')"></BaseMyTable>
             </div>

+ 1 - 1
TEAMModelOS/ClientApp/src/view/student-analysis/total-analysis/index.vue

@@ -41,7 +41,7 @@
                             <span :class="this.$route.path.indexOf('/total/scatter') > -1 ? 'data-select-active' : ''" @click="handleDataSelect('1')">{{$t('totalAnalysis.module2')}}</span>
                             <span :class="this.$route.path.indexOf('/total/test') > -1 ? 'data-select-active' : ''" @click="handleDataSelect('2')">{{$t('totalAnalysis.module3')}}</span>
                             <span :class="this.$route.path.indexOf('/total/knowledge') > -1 ? 'data-select-active' : ''" @click="handleDataSelect('3')">{{$t('totalAnalysis.module4')}}</span>
-                            <span :class="this.$route.path.indexOf('/total/cognitionLevel') > -1 ? 'data-select-active' : ''" @click="handleDataSelect('4')">认知层次掌握</span>
+                            <span :class="this.$route.path.indexOf('/total/cognitionLevel') > -1 ? 'data-select-active' : ''" @click="handleDataSelect('4')">{{$t('totalAnalysis.module5')}}</span>
                         </div>
                         <span style="float:right;margin-bottom:4px;" v-show="dataSelectIndex !== '0'">
                             <span class="select-title">{{$t('totalAnalysis.currentSubject')}}:</span>

+ 12 - 12
TEAMModelOS/Controllers/Syllabus/VolumeController.cs

@@ -34,7 +34,7 @@ namespace TEAMModelOS.Controllers.Syllabus
         /// <param name="request"></param>
         /// <returns></returns>
         [HttpPost("SaveOrUpdate")]
-        public async Task<BaseJosnRPCResponse> SaveOrUpdate(JosnRPCRequest<Volume> request)
+        public async Task<BaseJosnRPCResponse> SaveOrUpdate(JosnRPCRequest<SyllabusVolume> request)
         {
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             if (request.@params.editors != null && request.@params.editors.Length > 5)
@@ -45,7 +45,7 @@ namespace TEAMModelOS.Controllers.Syllabus
             {
                 if (request.@params.type == 0)
                 {
-                    List<Volume> volumesFind = await azureCosmosDBRepository.FindByDict<Volume>(new Dictionary<string, object>() {
+                    List<SyllabusVolume> volumesFind = await azureCosmosDBRepository.FindByDict<SyllabusVolume>(new Dictionary<string, object>() {
                         { "schoolCode",request.@params.schoolCode},{ "periodCode", request.@params.periodCode},
                         { "subjectCode", request.@params.subjectCode},{ "gradeCode", request.@params.gradeCode},
                         { "semesterCode",request.@params.semesterCode},{ "volumeName",request.@params.volumeName}  ,
@@ -61,7 +61,7 @@ namespace TEAMModelOS.Controllers.Syllabus
                 }
                 else if (request.@params.type == 1)
                 {
-                    List<Volume> volumesFind = await azureCosmosDBRepository.FindByDict<Volume>(new Dictionary<string, object>() {
+                    List<SyllabusVolume> volumesFind = await azureCosmosDBRepository.FindByDict<SyllabusVolume>(new Dictionary<string, object>() {
                         { "schoolCode",request.@params.schoolCode},{ "periodCode", request.@params.periodCode},
                         { "subjectCode", request.@params.subjectCode},{ "gradeCode", request.@params.gradeCode},
                         { "semesterCode",request.@params.semesterCode},{ "volumeName",request.@params.volumeName},
@@ -87,7 +87,7 @@ namespace TEAMModelOS.Controllers.Syllabus
             else {
                 if (request.@params.type == 0)
                 {
-                    List<Volume> volumesFind = await azureCosmosDBRepository.FindByDict<Volume>(new Dictionary<string, object>() {
+                    List<SyllabusVolume> volumesFind = await azureCosmosDBRepository.FindByDict<SyllabusVolume>(new Dictionary<string, object>() {
                     { "schoolCode",request.@params.schoolCode},{ "periodCode", request.@params.periodCode},
                         { "subjectCode", request.@params.subjectCode},{ "gradeCode", request.@params.gradeCode},
                         { "semesterCode",request.@params.semesterCode},{ "volumeName",request.@params.volumeName}  ,
@@ -101,7 +101,7 @@ namespace TEAMModelOS.Controllers.Syllabus
                 }
                 else if (request.@params.type == 1)
                 {
-                    List<Volume> volumesFind = await azureCosmosDBRepository.FindByDict<Volume>(new Dictionary<string, object>() {
+                    List<SyllabusVolume> volumesFind = await azureCosmosDBRepository.FindByDict<SyllabusVolume>(new Dictionary<string, object>() {
                         { "schoolCode",request.@params.schoolCode},{ "periodCode", request.@params.periodCode},
                         { "subjectCode", request.@params.subjectCode},{ "gradeCode", request.@params.gradeCode},
                         { "semesterCode",request.@params.semesterCode},{ "volumeName",request.@params.volumeName},
@@ -120,11 +120,11 @@ namespace TEAMModelOS.Controllers.Syllabus
                 }
 
             }
-            List<Volume> volumes = new List<Volume>
+            List<SyllabusVolume> volumes = new List<SyllabusVolume>
             {
                 request.@params
             };
-            List<Volume> volume = await azureCosmosDBRepository.SaveAll<Volume>(volumes);
+            List<SyllabusVolume> volume = await azureCosmosDBRepository.SaveAll<SyllabusVolume>(volumes);
             return builder.Data(volume.IsEmpty() ? null : volume[0]).build();
         }
         /// <summary>
@@ -133,7 +133,7 @@ namespace TEAMModelOS.Controllers.Syllabus
         /// <param name="request"></param>
         /// <returns></returns>
         [HttpPost("Delete")]
-        public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<Volume> request)
+        public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<SyllabusVolume> request)
         {
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
             bool flag = false;
@@ -142,11 +142,11 @@ namespace TEAMModelOS.Controllers.Syllabus
                 //if (request.@params.type == 0)
                 //{
                     request.@params.status = 0;
-                    List<Volume> volumes = new List<Volume>
+                    List<SyllabusVolume> volumes = new List<SyllabusVolume>
                     {
                         request.@params
                     };
-                    await azureCosmosDBRepository.SaveAll<Volume>(volumes);
+                    await azureCosmosDBRepository.SaveAll<SyllabusVolume>(volumes);
                     flag = true;
                 //}
                 //else
@@ -167,10 +167,10 @@ namespace TEAMModelOS.Controllers.Syllabus
         public async Task<BaseJosnRPCResponse> Find(JosnRPCRequest<Dictionary<string, object>> request)
         {
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
-            List<Volume> volumes ;
+            List<SyllabusVolume> volumes ;
             if (request.@params.TryGetValue("schoolCode", out _))
             {
-                volumes = await azureCosmosDBRepository.FindByDict<Volume>(request.@params,true);
+                volumes = await azureCosmosDBRepository.FindByDict<SyllabusVolume>(request.@params,true);
             }
             else
             {