|
@@ -1,8 +1,9 @@
|
|
<template>
|
|
<template>
|
|
<div>
|
|
<div>
|
|
<div class="mb10 fx-row fx-end-base jc-between">
|
|
<div class="mb10 fx-row fx-end-base jc-between">
|
|
- <div>
|
|
|
|
|
|
+ <div class="fx-row fx-end-cen">
|
|
<slot name="header-prefix"></slot>
|
|
<slot name="header-prefix"></slot>
|
|
|
|
+ <p v-if="!currentSupplyInfo.hidden" v-html="currentSupplyInfo.info"></p>
|
|
</div>
|
|
</div>
|
|
<div v-if="!readonly">
|
|
<div v-if="!readonly">
|
|
<el-button v-if="aiButtonShow" type="primary" @click="toAiAnalysis">AI分析</el-button>
|
|
<el-button v-if="aiButtonShow" type="primary" @click="toAiAnalysis">AI分析</el-button>
|
|
@@ -14,6 +15,9 @@
|
|
<template #underOver="{value}">
|
|
<template #underOver="{value}">
|
|
<over-under-badge :value="value"></over-under-badge>
|
|
<over-under-badge :value="value"></over-under-badge>
|
|
</template>
|
|
</template>
|
|
|
|
+ <template #group="{row}">
|
|
|
|
+ <el-tag size="medium" :type="row.allowSelect ? 'warning' : 'danger'" >{{row.groupName}}</el-tag>
|
|
|
|
+ </template>
|
|
<template #temp="{row}">
|
|
<template #temp="{row}">
|
|
<span class="btn-blue mr5" @click="toSelectSub(row)">选择</span>
|
|
<span class="btn-blue mr5" @click="toSelectSub(row)">选择</span>
|
|
<span class="btn-green" @click="toReport">查看记录</span>
|
|
<span class="btn-green" @click="toReport">查看记录</span>
|
|
@@ -66,15 +70,15 @@
|
|
</template>
|
|
</template>
|
|
</mx-table>
|
|
</mx-table>
|
|
<!-- 初录 多志愿拖拽 -->
|
|
<!-- 初录 多志愿拖拽 -->
|
|
- <div >
|
|
|
|
- <p>您的选科志愿: <span v-for="(item,index) in activeModels.selectedList">
|
|
|
|
- {{ item.groupName(index) }}志愿
|
|
|
|
|
|
+ <div v-if="this.generation.active == 1">
|
|
|
|
+ <p >您的选科志愿: <span v-for="(item,index) in activeModels.selectedList">
|
|
|
|
+ {{ item.groupName }}
|
|
<!-- {{ index + 1 < selectedList.length ? '、' : '' }}-->
|
|
<!-- {{ index + 1 < selectedList.length ? '、' : '' }}-->
|
|
</span>
|
|
</span>
|
|
</p>
|
|
</p>
|
|
- <div v-if="this.generation.current == 1">
|
|
|
|
- <test-drage ref="drage" :selectedList="activeModels.selectedList"></test-drage>
|
|
|
|
- <el-button @click="commit" type="primary">提交</el-button>
|
|
|
|
|
|
+ <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>
|
|
</div>
|
|
<!-- 补录报名和二次补录报名和调剂报名 -->
|
|
<!-- 补录报名和二次补录报名和调剂报名 -->
|
|
@@ -137,6 +141,7 @@ import FinalAdjustDMResolverMixins
|
|
import ForceAdjustResolverMixins
|
|
import ForceAdjustResolverMixins
|
|
from '@/views/system/user/profile/components/round-select-resolvers/forceAdjust-resolver-mixins'
|
|
from '@/views/system/user/profile/components/round-select-resolvers/forceAdjust-resolver-mixins'
|
|
import OverUnderBadge from '@/views/elective/publish/components/steps/fauclty/over-under-badge'
|
|
import OverUnderBadge from '@/views/elective/publish/components/steps/fauclty/over-under-badge'
|
|
|
|
+import { submitElectiveModels } from '@/api/webApi/elective/selected-subject'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
props: {
|
|
props: {
|
|
@@ -153,6 +158,7 @@ export default {
|
|
ChooseSubjectDialog,
|
|
ChooseSubjectDialog,
|
|
AiDialog
|
|
AiDialog
|
|
},
|
|
},
|
|
|
|
+ inject: ['loadStudentSelected','getStudentElectiveModels'],
|
|
mixins: [
|
|
mixins: [
|
|
MxSelectTranslate,
|
|
MxSelectTranslate,
|
|
PrimaryResolverMixins,
|
|
PrimaryResolverMixins,
|
|
@@ -174,6 +180,45 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
|
|
+ // 不符
|
|
|
|
+ currentSupplyInfo() {
|
|
|
|
+ if(!this.generation.models.length) return {}
|
|
|
|
+ // console.log(this.generation)
|
|
|
|
+ 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) {
|
|
|
|
+ // 查找
|
|
|
|
+ // 已被录取
|
|
|
|
+ info = `同学,你好,你之前所选择的${approved.groupName}已被录取`
|
|
|
|
+ }else {
|
|
|
|
+ // 已报名未被录取的group 取当前models的前一个
|
|
|
|
+ const prevModels = this.generation.models.find(item => item.generation == activeModels.generation - 1)
|
|
|
|
+ // 拒绝的组合
|
|
|
|
+ const refuseGroup = prevModels.models.filter(item => {return item.selected})
|
|
|
|
+ // 获取报名的阶段
|
|
|
|
+ let tips = ''
|
|
|
|
+ console.log( Object.values(this.generation.options))
|
|
|
|
+ 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
|
|
|
|
+ }
|
|
|
|
+ console.log(prevGen)
|
|
|
|
+
|
|
|
|
+ console.log(refuseGroup)
|
|
|
|
+ info = `<p>同学,你好,你在${tips}所选择的 <span class="f-red">${refuseGroup.map(g => g.groupName).join(',').toString()} </span> 不符合报名条件现有以下标黄组合可以重新报名</p>`
|
|
|
|
+ }
|
|
|
|
+ console.log(approved)
|
|
|
|
+ const isHidden = this.generation.active > 1
|
|
|
|
+ return {
|
|
|
|
+ hidden: !isHidden,
|
|
|
|
+ info:info
|
|
|
|
+ }
|
|
|
|
+ },
|
|
flagShow() {
|
|
flagShow() {
|
|
return (this.generation.current == 3 && this.generation.active == 3) ||
|
|
return (this.generation.current == 3 && this.generation.active == 3) ||
|
|
(this.generation.current == 5 && this.generation.active == 5) ||
|
|
(this.generation.current == 5 && this.generation.active == 5) ||
|
|
@@ -190,7 +235,9 @@ export default {
|
|
label: '编号',
|
|
label: '编号',
|
|
},
|
|
},
|
|
groupName: {
|
|
groupName: {
|
|
- label: '选科组合'
|
|
|
|
|
|
+ label: '选科组合',
|
|
|
|
+ slot:'group',
|
|
|
|
+ width:'85px'
|
|
},
|
|
},
|
|
scoreSumGroup: {
|
|
scoreSumGroup: {
|
|
label: '组合成绩'
|
|
label: '组合成绩'
|
|
@@ -315,7 +362,31 @@ export default {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- this.$refs.esignDialog.open(this.activeModels.selectedList)
|
|
|
|
|
|
+ this.$confirm(`是否要提交报名`, {
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
+ type: 'warning'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ submitElectiveModels({
|
|
|
|
+ models:this.activeModels.selectedList,
|
|
|
|
+ // esign:this.base64Img
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if(res.code == 200) {
|
|
|
|
+ this.$message.success('报名成功')
|
|
|
|
+ this.loadStudentSelected()
|
|
|
|
+ this.getStudentElectiveModels()
|
|
|
|
+ }
|
|
|
|
+ console.log(res)
|
|
|
|
+ })
|
|
|
|
+ }).catch(() => {
|
|
|
|
+ this.$message({
|
|
|
|
+ type: 'info',
|
|
|
|
+ message: '已取消提交'
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ //
|
|
|
|
+ // this.$refs.esignDialog.open(this.activeModels.selectedList)
|
|
},
|
|
},
|
|
toSelect(row) {
|
|
toSelect(row) {
|
|
const preferenceCount = this.generation.status.preferenceCount
|
|
const preferenceCount = this.generation.status.preferenceCount
|