|
@@ -9,56 +9,78 @@
|
|
|
<div>
|
|
|
<div class="mb10" >
|
|
|
<p class="mb5">1,报名情况:</p>
|
|
|
- <elective-enroll-info :isFormReport="true" :generation="generation"
|
|
|
- :enroll-status="enrollStatus"
|
|
|
- >
|
|
|
- <span>,学校现在所开设的 {{ reportInfo.length }} 种科目,</span> 现有
|
|
|
- <span class="f-primary">
|
|
|
- {{ canSign.map(item => item.groupName).join(',') }}
|
|
|
- </span>您可以报名
|
|
|
- </elective-enroll-info>
|
|
|
+ <span v-if="approved">恭喜</span>
|
|
|
+ <span>
|
|
|
+ <span>您在{{subTitle(appliedModel.option.title)}}阶段填报的</span>
|
|
|
+ <span :class="approved ? 'f-primary': 'f-red'"> {{apply.toString(',')}}组合 </span>
|
|
|
+ <span v-if="approved">已被录取</span>
|
|
|
+ <span v-else>未被录取</span>,
|
|
|
+ </span>
|
|
|
+ <span>学校现在所开设的{{activeModel.models.length}}种科目,现有 <span class="f-primary">{{ canSign.map(item => item.groupName).join(',') }} {{canSign.length}}个科目缺额,</span> </span>
|
|
|
+ <span>系统推荐您 <span class="f-primary">{{activeModel.models.find(item => item.isRecommend).groupName}}科目</span> 组合</span>
|
|
|
</div>
|
|
|
- <div class="mt10" v-if="aiType == 'single' && !singleRow.allowSelect">
|
|
|
- <span class="f-red">{{ singleRow.groupName }} </span>不可报名
|
|
|
- </div>
|
|
|
- <div v-else>
|
|
|
+ <div>
|
|
|
<div class="mb10">
|
|
|
<p class="mb5">2,专业符合情况:</p>
|
|
|
- <div class="mb5" v-for="item in canSign" v-if="!singleRow || singleRow.groupId == item.groupId">
|
|
|
- <span class="f-primary mr5"> {{ item.groupName }}:</span>
|
|
|
+ <div class="mb5" v-for="item in canSign">
|
|
|
+ <div class="f-primary mr5 mb5"> {{item.groupName}}{{item.groupName == recommend ? '(系统推荐科目组合)' : ''}}</div>
|
|
|
<div style="display: inline" v-if="item.colleges.length > 0">
|
|
|
- <span class="mr5" v-for="college in item.colleges">{{ `${college.major}(${college.college})` }},</span>
|
|
|
+ <span class="mr5" v-for="college in item.colleges">{{ college.college }}:{{college.major}}。</span>
|
|
|
符合您的专业要求;
|
|
|
</div>
|
|
|
- <p style="display: inline" class="f-red" v-else>您的自选专业没有符合该组合的</p>
|
|
|
+ <p style="display: inline" class="f-red" v-else>该组合没有您自选的专业</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="mb10">
|
|
|
<p class="mb5">3,成绩情况:</p>
|
|
|
- <div v-for="(item,index) in canSign" v-if="!singleRow || singleRow.groupId == item.groupId">
|
|
|
- <span>{{ item.groupName }} : </span>成绩{{ item.scoreSumGroup }} <span class="f-primary" v-if="index == 0"> *成绩最优</span>
|
|
|
+ <div v-for="(item,index) in canSign" class="mb10">
|
|
|
+ <div class="mb5">{{ item.groupName }}:{{index == 0 ? '(成绩最优)': ''}}</div>
|
|
|
+ <div>成绩{{ item.scoreSumGroup }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="mb10">
|
|
|
<p class="mb5">4,录取分析:</p>
|
|
|
- <div v-for="(item,index) in canSign" class="mb10">
|
|
|
- <div v-if="!singleRow || singleRow.groupId == item.groupId">
|
|
|
- <p>{{ item.groupName }} : 成绩{{ item.scoreSumGroup }}<span class="f-primary" v-if="index == 0"
|
|
|
- > (成绩最优组合)</span>
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- 在补录学生{{ tipsModel.countNumber }}人中该组合成绩最优学生有{{ item.bestInIndicator }}人,该组合计划人数为{{
|
|
|
- item.groupIndicator
|
|
|
- }}
|
|
|
- 您在该<span v-if="index == 0">最优</span>组合中排名{{ item.rankInBest }},您可以被该组合录取。您的成绩符合该组合。<span
|
|
|
- v-if="item.colleges.length == 0"
|
|
|
- >(自选专业不符合)</span>
|
|
|
- <span v-if="index == 0">按照成绩优先原则,系统推荐您报该组合。</span>
|
|
|
- <span v-else>您如果不填写系统推荐您的最优组合,您也可以报该组合。</span>
|
|
|
- </p>
|
|
|
- </div>
|
|
|
-
|
|
|
- </div>
|
|
|
+ <p class="f-primary">系统推荐:{{recommend}}{{canSign[0].groupName == recommend ? '成绩最优组合' : ''}}</p>
|
|
|
+ <p>您所在学校参与{{activeModel.option.title}}的学生共计有{{activeModel.disenrollCount}}人</p>
|
|
|
+ <p>您在未录满的{{canSign.length}}个组合中,全校{{ activeModel.option.title }}人数排名如下:</p>
|
|
|
+ <p v-for="item in canSign">
|
|
|
+ {{item.groupName}} <span class="f-red">{{item.rankInDisenroll}}</span> 名 <span>{{`(${item.rankInDisenroll}/${activeModel.disenrollCount})`}}</span>
|
|
|
+ </p>
|
|
|
+ <p>计划数如下:</p>
|
|
|
+ <p v-for="item in canSign">{{item.groupName}} <span class="f-red">{{item.groupIndicator}}</span> 人</p>
|
|
|
+ <p>成绩最优人数如下:</p>
|
|
|
+ <p v-for="item in canSign">{{item.groupName}} <span class="f-red">{{item.bestInIndicator}}</span> 人</p>
|
|
|
+ <p class="f-red">
|
|
|
+ 您在{{canSign.length}}个缺额组合中{{bestAchieve.groupName}}成绩最优组合{{ bestAchieve.scoreSumGroup }}分,
|
|
|
+ 在该组合最优人数{{ bestAchieve.bestInIndicator }}人中,排名第{{bestAchieve.bestInIndicator}}名,
|
|
|
+ 全校排名{{bestAchieve.rankInDisenroll}}名,计划数为{{bestAchieve.groupIndicator}}人
|
|
|
+ <span v-if="bestAchieve.bestInIndicator <= bestAchieve.groupIndicator && bestAchieve.rankInDisenroll<= bestAchieve.bestInIndicator">
|
|
|
+ ,您可以被该组合录取。
|
|
|
+ </span>
|
|
|
+ <span v-else-if="bestAchieve.bestInIndicator <= bestAchieve.groupIndicator && bestAchieve.rankInDisenroll > bestAchieve.bestInIndicator">
|
|
|
+ ,如果没有其他学生在该组合全校排名比您高且填报该组合,您可以被该组合录取。
|
|
|
+ </span>
|
|
|
+ <span v-else-if="bestAchieve.bestInIndicator > bestAchieve.groupIndicator && bestAchieve.rankInDisenroll > bestAchieve.bestInIndicator">
|
|
|
+ ,所以您不能被成绩最优组合{{bestAchieve.groupName}}录取,系统推荐您报名{{recommend}}组合
|
|
|
+ </span>
|
|
|
+ </p>
|
|
|
+ <!-- <div v-for="(item,index) in canSign" class="mb10">-->
|
|
|
+<!-- <div >-->
|
|
|
+<!-- <p>{{ item.groupName }} : 成绩{{ item.scoreSumGroup }}<span class="f-primary" v-if="index == 0"-->
|
|
|
+<!-- > (成绩最优组合)</span>-->
|
|
|
+<!-- </p>-->
|
|
|
+<!-- <p>-->
|
|
|
+<!-- 在补录学生{{ tipsModel.countNumber }}人中该组合成绩最优学生有{{ item.bestInIndicator }}人,该组合计划人数为{{-->
|
|
|
+<!-- item.groupIndicator-->
|
|
|
+<!-- }}-->
|
|
|
+<!-- 您在该<span v-if="index == 0">最优</span>组合中排名{{ item.rankInBest }},您可以被该组合录取。您的成绩符合该组合。<span-->
|
|
|
+<!-- v-if="item.colleges.length == 0"-->
|
|
|
+<!-- >(自选专业不符合)</span>-->
|
|
|
+<!-- <span v-if="index == 0">按照成绩优先原则,系统推荐您报该组合。</span>-->
|
|
|
+<!-- <span v-else>您如果不填写系统推荐您的最优组合,您也可以报该组合。</span>-->
|
|
|
+<!-- </p>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -71,11 +93,11 @@
|
|
|
import MxSelectTranslateMixin from '@/components/Cache/modules/mx-select-translate-mixin.js'
|
|
|
import ElectiveEnrollInfo from '@/views/elective/select/components/elective-enroll-info'
|
|
|
import ElectiveToolsMixin from '@/views/elective/select/components/elective-tools-mixins'
|
|
|
+import ElectiveTableMixin from '@/views/elective/select/components/elective-table-mixins'
|
|
|
|
|
|
export default {
|
|
|
name: 'elective-ai-report-dialog',
|
|
|
- mixins: [MxSelectTranslateMixin, ElectiveToolsMixin],
|
|
|
- components: { ElectiveEnrollInfo },
|
|
|
+ mixins: [MxSelectTranslateMixin, ElectiveToolsMixin,ElectiveTableMixin,ElectiveEnrollInfo],
|
|
|
props: {
|
|
|
generation: {
|
|
|
type: Object,
|
|
@@ -89,29 +111,17 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
- enrollStatus() {
|
|
|
- const enrolledGroup = this.generation.activeModel.models?.find(this.isGroupEnrolled)
|
|
|
- if (enrolledGroup) {
|
|
|
- let enrolledModel = this.generation.activeModel
|
|
|
- do {
|
|
|
- const matched = enrolledModel.models?.find(this.isGroupEnrolled)
|
|
|
- if (matched
|
|
|
- && matched.groupId == enrolledGroup.groupId
|
|
|
- && enrolledModel.selectedList.includes(matched)) {
|
|
|
- return {
|
|
|
- enrolledGroup,
|
|
|
- enrolledModel
|
|
|
- }
|
|
|
- }
|
|
|
- enrolledModel = enrolledModel.prevModel
|
|
|
- }
|
|
|
- while (enrolledModel)
|
|
|
- }
|
|
|
- return { enrolledGroup, enrolledModel: null }
|
|
|
+ // 1报名情况 填报组合
|
|
|
+ apply(){
|
|
|
+ return this.appliedModel.selectedList.map(item => item.groupName)
|
|
|
},
|
|
|
- reportInfo() {
|
|
|
+ // 1报名情况 推荐组合
|
|
|
+ recommend() {
|
|
|
+ return this.activeModel.models.find(item => item.isRecommend)?.groupName
|
|
|
+ },
|
|
|
+ activeModel() {
|
|
|
if (!this.generation) return {}
|
|
|
- return this.generation.activeModel.models
|
|
|
+ return this.generation.activeModel
|
|
|
},
|
|
|
tipsModel() {
|
|
|
const countNumber = this.canSign.reduce((prev, cur) => {
|
|
@@ -122,9 +132,13 @@ export default {
|
|
|
countNumber
|
|
|
}
|
|
|
},
|
|
|
+ // 成绩最优
|
|
|
+ bestAchieve(){
|
|
|
+ return this.canSign[0]
|
|
|
+ },
|
|
|
canSign() {
|
|
|
// if (!this.reportInfo.length) return []
|
|
|
- return this.reportInfo.filter(item => {
|
|
|
+ return this.activeModel.models.filter(item => {
|
|
|
return item.allowSelect
|
|
|
}).sort((prev, next) => prev.scoreSumGroup < next.scoreSumGroup ? 1 : -1)
|
|
|
}
|