Browse Source

Merge branch 'master' of http://121.4.203.192:9000/mingxue/front

shilipojs 2 years ago
parent
commit
70c9906990

+ 2 - 1
doc/Mind/ElectiveGeneration.cs

@@ -93,7 +93,7 @@ namespace mxdemo.Mind
         EnumElectiveGeneration currentGeneration; // 内部字段
 
         // + new fields
-        int disenrollCount; // 未录取学生数量 - 用于图表展示,或者内部判定allMatched
+        // int disenrollCount; // 未录取学生数量 - 用于图表展示,或者内部判定allMatched // 5.22 将此字段改到summary才能体现不同代的未录人数
         bool enablePushNextDMGeneration; // 是否可以强制推进下一代决策进程 = 当前为报名进程,且学生均已报名
         bool allowDMAlgorithm; // 当前为决策进程,支持运行匹配算法(BackTrackingDM,FinalAdjustDM)
         bool doneDMAlgorithm; // 当前为决策进程,且已经运行了匹配算法
@@ -287,6 +287,7 @@ namespace mxdemo.Mind
             /// 迭加到某决策代的统计项目,比如当前选科的总录取人数、待签人数、已签人数等,下面接口会细述
             /// </summary>
             ElectiveSummaryCategory[] accumulates;
+            int disenrollCount; // 5.22 hht 将未录人数放在此处
         }
 
         /// <summary>

+ 42 - 5
doc/Mind/PrimaryElective.cs

@@ -87,22 +87,47 @@ namespace mxdemo.Mind
         public string groupName; // 名称
         public int classCount; // 班级数
         public int personCount; // 人数设置
+        // 5.22 注
+        // 常量 来自发布选科
 
         // 5.7 hht +字段,用来展示报告
         public int groupIndicator; // 组合指标 // primary时为设置人数,之后为决策完毕后剩余的设置数
+        // 5.22 注
+        // 报名代=Math.max(0, personCount-groupApprovedCount) 决策代=从报名代继承值
+        // 设置人数-组合录取人数(迭代数)
+
         public int nextGroupIndicator; // 下阶段组合指标
+        // 5.22 注
+        // 报名代=0  决策代用来表示超缺=(groupApprovedCount+actualCount[多志愿使用1志愿])-personCount
+
         public int rankInIndicator; // 组合指标排名
+        // 5.22 注
+        // 未录取学生推荐组合中的排名,其它已录或非推荐组合为0(也就是说最多只会有一个group有值)
+        // 报名代从决策代继承
+
+        public int bestInIndicator; // 未录取组合排名最优人数 // 这是一个解释数据,并没有直接参与计算
         public int rankInBest; // bestInIndicator中的排名
+        // 5.22 注
+        // bestInIndicator:未录学生的最佳成绩在未录满组合中的分布人数
+        // rankInBest:未录学生最优的组合中的排名,其它已录取或非成绩最优组合为0(也就是说最多只会有一个group有值)
+        // 报名代从决策代继承
+
         public int rankInDisenroll; // 全组合指标排名,即所有未录取人员中的排名 // 可能没用
-        public int bestInIndicator; // 未录取组合排名最优人数 // 这是一个解释数据,并没有直接参与计算
+        // 5.22 注
+        // 学生在所有未录取学生中的排名,每个未录组合都会有一个排名(分别按6科成绩排)
+        // 报名代从决策代继承
+
         public decimal scoreSumAll; // 9门成绩
         public decimal scoreSumGroup; // 6门成绩
         public bool isRecommend; // 推荐组合
+        // 5.22 注
+        // 对应未录学生在决策代匹配算法的推荐组合
+        // 报名代从决策代继承
 
-        public int rankInGroup; // 选科实时排名
-        public int rankInGrade; // 选科全校排名
-        public bool allowSelect; // 是否可以报名
-        public string disabledReason; // 不可报名时的原因
+        public int rankInGroup; // 选科实时排名 常量 来自成绩导入
+        public int rankInGrade; // 选科全校排名 常量 来自成绩导入
+        public bool allowSelect; // 是否可以报名 报名代专用
+        public string disabledReason; // 不可报名时的原因 报名代专用
 
         public bool selected;  // 已报名
         // 5.13 如果是多志愿,按selectedRank区分一志愿、二志愿、三志愿...
@@ -110,13 +135,25 @@ namespace mxdemo.Mind
         // 5.20 +用来标识填报时拒填
         public bool rejected; // 拒绝填报
         public string rejectedReason; // 拒绝原因
+        // 5.22 注
+        // selected selectedRank rejected rejectedReason以上报名状态在报名代记录,继承至下一代决策代终止
 
         // 5.13 去除动态列,改为固定字段 +
         public int actualCount; // 阶段实际报名人数
+        // 5.22 注
+        // 本代报名汇总数据,继承至下一代决策代终止
         public bool approved; // 已被正常录取
+        // 5.22 注
+        // 学生录取状态,持续继承至所有后代,直至被forceAdjusted更改(非必触发)
         public bool forceAdjusted; // 已被调剂录取
+        // 5.22 注
+        // 学生强制调剂录取状态,持续继承至所有后代(目前只有forceAdjust代可能会更改此值)
         public int groupApprovedCount; // 本组合已被录取人数(迭代值)
+        // 5.22 注
+        // 学生正常录取汇总数据,每个决策代累加之前所有决策代的录取数据
         public int groupForceAdjustedCount; // 本组合已被强制调剂人数(迭代值)
+        // 5.22 注
+        // 学生强制调剂录取汇总数据,每个决策代累加之前所有决策代的录取数据(目前只有forceAdjust代会产生这种数据)
     }
 
     public class ElectiveSelectGroupStatistics {

BIN
src/assets/images/report_demo/demo_report_a.png


BIN
src/assets/images/report_demo/demo_report_b.png


BIN
src/assets/images/report_demo/demo_report_c.png


BIN
src/assets/images/report_demo/demo_report_d.png


BIN
src/assets/images/report_demo/demo_report_e.png


BIN
src/assets/images/report_demo/demo_report_f.png


+ 2 - 2
src/views/elective/generation/components/elective-generation-charts.vue

@@ -69,7 +69,7 @@ export default {
             stackName,
             [prefix + '报名人数', , prefix + '缺少人数', prefix + '超出人数']
           )
-          let unfinishedCount = single.find(item => item.category == 'actualCount')?.values?.first()?.value || 0
+          let unfinishedCount = single.find(item => item.category == 'unfinishedCount')?.values?.first()?.value || 0
           unfinishedCount = unfinishedCount * 1
           singleGroup.values.push({ value: unfinishedCount, name: '未报名' })
           valueNameGroups.push(singleGroup)
@@ -107,7 +107,7 @@ export default {
           'Indicator',
           []
         )
-        valueNameGroup.values.push({ value: this.chartBinding.generation.status.disenrollCount, name: '未录取' })
+        valueNameGroup.values.push({ value: this.chartBinding.chartData.disenrollCount, name: '未录取' })
       }
       setTimeout(() => {
         this.$refs.bar?.resize()

+ 2 - 1
src/views/elective/generation/components/elective-generation-master.vue

@@ -79,7 +79,8 @@ export default {
 
       return generationData?.accumulates?.length ? {
         generation: generation, // 图表激活的进程代,除初选报名外,一般为决策代数据
-        accumulates: generationData.accumulates
+        accumulates: generationData.accumulates,
+        disenrollCount: generationData.disenrollCount || 0
       } : null
     },
     chartBinding() {

+ 2 - 2
src/views/elective/report/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <flip-book class="flip-class" :pages="images" :click-to-zoom="false"></flip-book>
+    <flip-book class="flip-class" :pages="images"></flip-book>
   </div>
 </template>
 
@@ -27,7 +27,7 @@ export default {
 
 <style scoped>
 .flip-class {
-  width: 100%;
+  width: 1100px;
   height: 550px;
   background-color: #999999;
   padding: 20px 0;