| 
					
				 | 
			
			
				@@ -2,12 +2,15 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="mb10 fx-row fx-end-base"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-button v-if="aiShow" type="primary" @click="toAiAnalysis" >AI分析</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button v-if="aiShow" type="primary" @click="toAiAnalysis">AI分析</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-button>选科历史记录</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <mx-table :propDefines="formatCols" :rows="formatRows"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <template #underOver="{value}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <over-under-badge :value="value"></over-under-badge> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <template #temp="{row}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <span class="btn-blue mr5" @click="toSelectSub(row)">选择</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <span class="btn-green" @click="toReport">查看记录</span> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -91,7 +94,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <esign-dialog ref="esignDialog"></esign-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <choose-subject-dialog ref="chooseDialog"></choose-subject-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <select-subject-report-dialog  ref="reportDialog"></select-subject-report-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select-subject-report-dialog ref="reportDialog"></select-subject-report-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <Ai-dialog ref="aiDialog" :prevPreferences="prevPreferences"></Ai-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -118,6 +121,7 @@ import FinalAdjustDMResolverMixins 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   from '@/views/system/user/profile/components/round-select-resolvers/finalAdjustDM-resolver-mixins' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ForceAdjustResolverMixins 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   from '@/views/system/user/profile/components/round-select-resolvers/forceAdjust-resolver-mixins' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import OverUnderBadge from '@/views/elective/publish/components/steps/fauclty/over-under-badge' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -125,6 +129,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     generation: Object 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    OverUnderBadge, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     SelectSubjectReportDialog, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ReportStep, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     EsignDialog, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -161,8 +166,8 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     aiShow() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const active =  this.generation.active 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if(active == 3 || active == 5 || active == 7) return true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const active = this.generation.active 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (active == 3 || active == 5 || active == 7) return true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     resolveTablePrefix() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -174,8 +179,8 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         groupName: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           label: '选科组合' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        scoreSumGroup:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          label:'组合成绩' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        scoreSumGroup: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label: '组合成绩' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         classCount: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           label: '开设班级数' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -211,7 +216,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           slot: 'signUp', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           width: '100', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           fixed: 'right', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          hidden:hidden 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          hidden: hidden 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -221,38 +226,38 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!options || !this.generation.active) return {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const optValues = Object.values(options) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const dynamicColumns = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      for (let gen = options.primary.value; gen <= this.generation.active ; gen++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for (let gen = options.primary.value; gen <= this.generation.active; gen++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const opt = optValues.find(opt => opt.value == gen) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const resolverKey = opt.key + 'Resolver' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const resolver = this[resolverKey] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (typeof resolver === 'function') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          const genColumns = resolver(gen,this.generation.active) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const genColumns = resolver(gen, this.generation.active) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           Object.assign(dynamicColumns, genColumns) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log('resolveDynamicTable',dynamicColumns) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log('resolveDynamicTable', dynamicColumns) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return dynamicColumns 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 初始化 rows 填充固定数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     formatRows() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!this.optionalMajors) return [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if(!this.generation.status?.groupIds) return [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!this.generation.status?.groupIds) return [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const generationModels = this.generation.activeModels.find(item => item.generation == this.generation.active).models 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return this.generation.status.groupIds.split(',').map(groupId => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const row = generationModels.find(item => item.groupId== groupId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const row = generationModels.find(item => item.groupId == groupId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         row.allowSelectTips = row.allowSelect ? '报名中' : row.disabledReason || '无法报名' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         row.subjects = this.optionalMajors.filter(college => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (college.matchedGroupIds.indexOf(row.groupId) != -1) return college.majorCategoryName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (college.matchedGroupIds.indexOf(row.groupId) != -1) return college.majorCategoryName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }).map(item => item.majorCategoryName) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log(row.subjects) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         row.colleges = this.optionalMajors.filter(college => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (college.matchedGroupIds.indexOf(row.groupId) != -1) return college.majorCategoryName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }).map(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              college: item.collegeName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              major: item.majorCategoryName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            college: item.collegeName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            major: item.majorCategoryName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           groupId: row.groupId, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -260,9 +265,9 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           scoreSumGroup: row.scoreSumGroup, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           classCount: row.classCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           personCount: row.personCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          allowSelectTips :row.allowSelectTips, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          colleges :row.colleges, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          subjects :row.subjects, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          allowSelectTips: row.allowSelectTips, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          colleges: row.colleges, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          subjects: row.subjects, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           allowSelect: row.allowSelect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -274,7 +279,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ...this.resolveTableSuffix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getModelsByStep() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return this.models.findIndex() 
			 |