|
@@ -7,7 +7,7 @@
|
|
|
</div>
|
|
|
<div v-if="!readonly">
|
|
|
<el-button v-if="aiButtonShow" type="primary" @click="toAiAnalysis">AI分析</el-button>
|
|
|
-<!-- <el-button>选科历史记录</el-button>-->
|
|
|
+ <!-- <el-button>选科历史记录</el-button>-->
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
@@ -16,7 +16,9 @@
|
|
|
<over-under-badge :value="value"></over-under-badge>
|
|
|
</template>
|
|
|
<template #group="{row}">
|
|
|
+ <el-badge class="group" value="荐" :hidden="!row.isRecommend" type="success">
|
|
|
<el-tag size="medium" :type="row.allowSelect ? 'warning' : 'danger'" >{{row.groupName}}</el-tag>
|
|
|
+ </el-badge>
|
|
|
</template>
|
|
|
<template #temp="{row}">
|
|
|
<span class="btn-blue mr5" @click="toSelectSub(row)">选择</span>
|
|
@@ -61,7 +63,7 @@
|
|
|
<div class="fx-column">
|
|
|
<el-button plain type="text">{{ college.major }}</el-button>
|
|
|
</div>
|
|
|
- <el-tag type="success" slot="reference" class="mr10 mb10">{{ college.major[0] }}</el-tag>
|
|
|
+ <el-tag type="success" slot="reference" class="mr10 mb10">{{ college.major[0] }}</el-tag>
|
|
|
</el-popover>
|
|
|
:
|
|
|
<span>{{ college.college }}</span>
|
|
@@ -70,22 +72,23 @@
|
|
|
</template>
|
|
|
</mx-table>
|
|
|
<!-- 初录 多志愿拖拽 -->
|
|
|
- <div v-if="this.generation.active == 1">
|
|
|
- <p >您的选科志愿: <span v-for="(item,index) in activeModels.selectedList">
|
|
|
- {{ item.groupName }}
|
|
|
-<!-- {{ index + 1 < selectedList.length ? '、' : '' }}-->
|
|
|
+ <div v-if="this.generation.active == 1 || this.generation.active == 2">
|
|
|
+ <p>您的选科志愿: <span v-for="(item,index) in activeModels.selectedList">
|
|
|
+ {{ item.groupName }}
|
|
|
</span>
|
|
|
</p>
|
|
|
- <div >
|
|
|
- <test-drage ref="drage" :btnDisabled="this.generation.current != 1" :selectedList="activeModels.selectedList"></test-drage>
|
|
|
+ <div>
|
|
|
+ <test-drage ref="drage" :btnDisabled="this.generation.current != 1" :selectedList="activeModels.selectedList"
|
|
|
+ ></test-drage>
|
|
|
<el-button @click="commit" type="primary" v-if="this.generation.current == 1">提交</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div v-if="generation.current > generation.active && generation.active > 2">
|
|
|
+ <!-- 补录报名和二次补录报名和调剂报名历史报名信息 -->
|
|
|
+ {{ historySupply }}
|
|
|
+ </div>
|
|
|
<!-- 补录报名和二次补录报名和调剂报名 -->
|
|
|
<div v-if="flagShow">
|
|
|
-<!-- <div v-for="item in singleList" class="mb5 mt5">-->
|
|
|
-<!-- <el-button @click="commit" type="primary">{{ `${item.groupName} : 报名` }}</el-button>-->
|
|
|
-<!-- </div>-->
|
|
|
<div class="mb5 mt10 text-right">
|
|
|
<el-popover
|
|
|
placement="right"
|
|
@@ -114,7 +117,7 @@
|
|
|
<esign-dialog ref="esignDialog"></esign-dialog>
|
|
|
<choose-subject-dialog ref="chooseDialog"></choose-subject-dialog>
|
|
|
<select-subject-report-dialog ref="reportDialog"></select-subject-report-dialog>
|
|
|
- <Ai-dialog ref="aiDialog" :generation="generation" ></Ai-dialog>
|
|
|
+ <Ai-dialog ref="aiDialog" :generation="generation"></Ai-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -158,7 +161,7 @@ export default {
|
|
|
ChooseSubjectDialog,
|
|
|
AiDialog
|
|
|
},
|
|
|
- inject: ['loadStudentSelected','getStudentElectiveModels'],
|
|
|
+ inject: ['loadStudentSelected', 'getStudentElectiveModels'],
|
|
|
mixins: [
|
|
|
MxSelectTranslate,
|
|
|
PrimaryResolverMixins,
|
|
@@ -176,56 +179,80 @@ export default {
|
|
|
regInfo: '',
|
|
|
dialogVisible: false,
|
|
|
singleList: [], // 单志愿列表
|
|
|
- rows: [],
|
|
|
+ rows: []
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
+ historySupply() {
|
|
|
+ // 当前代历史报名信息
|
|
|
+ if (!this.generation.models.length) return ''
|
|
|
+ // 填报 || 拒绝 || 未选择
|
|
|
+ // 当前代
|
|
|
+ const activeModels = this.generation.models.find(item => item.generation == this.generation.active)
|
|
|
+ const isRefuse = activeModels.models.filter(item => item.rejected)
|
|
|
+ if(isRefuse.length > 0) {
|
|
|
+ // 拒绝了
|
|
|
+ return '拒绝填报志愿'
|
|
|
+ }else {
|
|
|
+ // 填报 or 未选择
|
|
|
+ const supply = activeModels.models.filter(item => item.selected)
|
|
|
+ if (supply.length > 0) {
|
|
|
+ return `填报志愿为${supply[0].groupName}`
|
|
|
+ }else {
|
|
|
+ return '未填报志愿'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
// 不符
|
|
|
currentSupplyInfo() {
|
|
|
- if(!this.generation.models.length) return {}
|
|
|
+ if (!this.generation.models.length) return ''
|
|
|
// console.log(this.generation)
|
|
|
- if(this.generation.active < 2) return {}
|
|
|
+ if (this.generation.active < 2) return ''
|
|
|
let info = ''
|
|
|
const activeModels = this.generation.models.find(item => item.generation == this.generation.active)
|
|
|
// 是否被录取?
|
|
|
- const approved = activeModels.models.filter(item => {return item.approved})
|
|
|
- if(approved.length) {
|
|
|
+ const approved = activeModels.models.filter(item => {
|
|
|
+ return item.approved
|
|
|
+ })
|
|
|
+ if (approved.length) {
|
|
|
// 查找
|
|
|
// 已被录取
|
|
|
info = `同学,你好,你之前所选择的${approved.groupName}已被录取`
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
// 已报名未被录取的group 取当前models的前一个
|
|
|
- const prevModels = this.generation.models.find(item => item.generation == activeModels.generation - 1)
|
|
|
+ const prevModels = this.generation.models.find(item => item.generation == activeModels.generation - 1)
|
|
|
|
|
|
// 是否拒绝 ?
|
|
|
- const isRefuse = prevModels.models.filter(item => item.rejected)
|
|
|
- if(isRefuse.length > 0) {
|
|
|
+ const isRefuse = prevModels.models.filter(item => item.rejected)
|
|
|
+ if (isRefuse.length > 0) {
|
|
|
// 拒绝报名
|
|
|
let tips = ''
|
|
|
- const prevGen = Object.values(this.generation.options).find(item => item.value == prevModels.generation)
|
|
|
- if(prevGen.decisionMaking){
|
|
|
- tips = Object.values(this.generation.options).find(item => item.value == prevModels.generation - 1).title
|
|
|
- }else {
|
|
|
+ const prevGen = Object.values(this.generation.options).find(item => item.value == prevModels.generation)
|
|
|
+ if (prevGen.decisionMaking) {
|
|
|
+ tips = Object.values(this.generation.options).find(item => item.value == prevModels.generation - 1).title
|
|
|
+ } else {
|
|
|
tips = prevGen.title
|
|
|
}
|
|
|
const isSupply = prevGen.decisionMaking ? ',现有以下标黄组合可以重新报名' : ''
|
|
|
- info = `<p>同学,你好,你在${tips}拒绝填报志愿 ${isSupply} </p>`
|
|
|
- }else {
|
|
|
+ info = `<p>同学,你好,你在${tips}时拒绝填报志愿 ${isSupply} </p>`
|
|
|
+ } else {
|
|
|
// 没被录取的组合
|
|
|
- const refuseGroup = prevModels.models.filter(item => {return item.selected})
|
|
|
+ const refuseGroup = prevModels.models.filter(item => {
|
|
|
+ return item.selected
|
|
|
+ })
|
|
|
// 获取报名的阶段
|
|
|
let tips = ''
|
|
|
- const prevGen = Object.values(this.generation.options).find(item => item.value == prevModels.generation)
|
|
|
- if(prevGen.decisionMaking){
|
|
|
- tips = Object.values(this.generation.options).find(item => item.value == prevModels.generation - 1).title
|
|
|
- }else {
|
|
|
+ const prevGen = Object.values(this.generation.options).find(item => item.value == prevModels.generation)
|
|
|
+ if (prevGen.decisionMaking) {
|
|
|
+ tips = Object.values(this.generation.options).find(item => item.value == prevModels.generation - 1).title
|
|
|
+ } else {
|
|
|
tips = prevGen.title
|
|
|
}
|
|
|
const isSupply = prevGen.decisionMaking ? ',现有以下标黄组合可以重新报名' : ''
|
|
|
- if(refuseGroup.length > 0) {
|
|
|
+ if (refuseGroup.length > 0) {
|
|
|
info = `<p>同学,你好,你在${tips}所选择的 <span class="f-red">${refuseGroup.map(g => g.groupName).join(',').toString()}</span> 不符合条件${isSupply} </p>`
|
|
|
- }else {
|
|
|
- info = `<p>同学,你好,你在${tips}未填报志愿 ${isSupply} </p>`
|
|
|
+ } else {
|
|
|
+ info = `<p>同学,你好,你在${tips}时未填报志愿 ${isSupply} </p>`
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -245,12 +272,12 @@ export default {
|
|
|
return {
|
|
|
index: {
|
|
|
type: 'index',
|
|
|
- label: '编号',
|
|
|
+ label: '编号'
|
|
|
},
|
|
|
groupName: {
|
|
|
label: '选科组合',
|
|
|
- slot:'group',
|
|
|
- width:'85px'
|
|
|
+ slot: 'group',
|
|
|
+ width: '85px'
|
|
|
},
|
|
|
scoreSumGroup: {
|
|
|
label: '组合成绩'
|
|
@@ -313,8 +340,8 @@ export default {
|
|
|
}
|
|
|
return dynamicColumns
|
|
|
},
|
|
|
- activeModels(){
|
|
|
- if(!this.generation) return {}
|
|
|
+ activeModels() {
|
|
|
+ if (!this.generation) return {}
|
|
|
const generation = this.generation.models.find(item => item.generation == this.generation.active)
|
|
|
// generation.selectedList = generation.models.filter(item => {
|
|
|
// return item.selected
|
|
@@ -327,7 +354,7 @@ export default {
|
|
|
if (!this.generation.roundGroups?.length) return []
|
|
|
if (!this.generation.activeModels?.length) return []
|
|
|
const generationModels = this.generation.activeModels.last()?.models || []
|
|
|
- return this.generation.roundGroups.map(rg => {
|
|
|
+ return this.generation.roundGroups.map(rg => {
|
|
|
const row = generationModels.find(item => item.groupId == rg.groupId) || {}
|
|
|
row.allowSelectTips = row.allowSelect ? '报名中' : row.disabledReason || '无法报名'
|
|
|
const matchedMajors = this.optionalMajors.filter(college => college.matchedGroupIds.includes(row.groupId))
|
|
@@ -352,8 +379,8 @@ export default {
|
|
|
},
|
|
|
toReport() {
|
|
|
// 是否更改了报名数据 ?
|
|
|
- const flag = this.activeModels.models.filter(item => item.selected).length == this.activeModels.selectedList.length
|
|
|
- if(!flag) {
|
|
|
+ const flag = this.activeModels.models.filter(item => item.selected).length == this.activeModels.selectedList.length
|
|
|
+ if (!flag) {
|
|
|
this.$message.warning('请先提交更改过的志愿')
|
|
|
return
|
|
|
}
|
|
@@ -375,16 +402,16 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- this.$confirm(`是否要提交报名`, {
|
|
|
+ this.$confirm(`是否要提交报名`, {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
submitElectiveModels({
|
|
|
- models:this.activeModels.selectedList,
|
|
|
+ models: this.activeModels.selectedList
|
|
|
// esign:this.base64Img
|
|
|
}).then(res => {
|
|
|
- if(res.code == 200) {
|
|
|
+ if (res.code == 200) {
|
|
|
this.$message.success('报名成功')
|
|
|
this.loadStudentSelected()
|
|
|
this.getStudentElectiveModels()
|
|
@@ -405,12 +432,12 @@ export default {
|
|
|
const preferenceCount = this.generation.status.preferenceCount
|
|
|
const count = this.formatRows.reduce((prev, cur) => {
|
|
|
return prev += cur.selected ? 1 : 0
|
|
|
- },0)
|
|
|
+ }, 0)
|
|
|
if (count >= preferenceCount) {
|
|
|
this.$message.warning(`最多选择${preferenceCount}个志愿`)
|
|
|
return
|
|
|
}
|
|
|
- this.activeModels.models.find(item => item.groupId == row.groupId).selected = true
|
|
|
+ this.activeModels.models.find(item => item.groupId == row.groupId).selected = true
|
|
|
row.selected = true
|
|
|
this.activeModels.selectedList.push(row)
|
|
|
},
|
|
@@ -420,7 +447,7 @@ export default {
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
- this.activeModels.models.find(item => item.groupId == row.groupId).selected = false
|
|
|
+ this.activeModels.models.find(item => item.groupId == row.groupId).selected = false
|
|
|
row.selected = false
|
|
|
const start = this.activeModels.selectedList.findIndex(item => item.groupId == row.groupId)
|
|
|
console.log(start)
|
|
@@ -434,8 +461,8 @@ export default {
|
|
|
},
|
|
|
toSelectSub(row) {
|
|
|
// 是否更改了报名数据 ?
|
|
|
- const flag = this.activeModels.models.filter(item => item.selected).length == this.activeModels.selectedList.length
|
|
|
- if(!flag) {
|
|
|
+ const flag = this.activeModels.models.filter(item => item.selected).length == this.activeModels.selectedList.length
|
|
|
+ if (!flag) {
|
|
|
this.$message.warning('请先提交更改过的志愿')
|
|
|
return
|
|
|
}
|
|
@@ -455,4 +482,8 @@ export default {
|
|
|
.cell .el-tag {
|
|
|
margin-right: 5px;
|
|
|
}
|
|
|
+.group /deep/ .el-badge__content.is-fixed {
|
|
|
+ top: 8px;
|
|
|
+ right: 14px;
|
|
|
+}
|
|
|
</style>
|