|
@@ -1,28 +1,27 @@
|
|
<template>
|
|
<template>
|
|
- <el-card>
|
|
|
|
- <template #header>
|
|
|
|
- <div class="fx-row fx-bet-cen">
|
|
|
|
- <span>选科报名表</span>
|
|
|
|
- <div>
|
|
|
|
- <el-button type="primary" @click="toAiAnalysis" v-if="generation > 0">AI分析</el-button>
|
|
|
|
- <el-button>选科历史记录</el-button>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div>
|
|
|
|
+ <div class="mb10 fx-row fx-end-base">
|
|
|
|
+ <div>
|
|
|
|
+ <el-button type="primary" @click="toAiAnalysis" v-if="generation > 0">AI分析</el-button>
|
|
|
|
+ <el-button>选科历史记录</el-button>
|
|
</div>
|
|
</div>
|
|
- </template>
|
|
|
|
|
|
+ </div>
|
|
|
|
+
|
|
<mx-table :propDefines="formatTable.cols" :rows="formatTable.rows">
|
|
<mx-table :propDefines="formatTable.cols" :rows="formatTable.rows">
|
|
<template #rankInGroup="{label, key}">
|
|
<template #rankInGroup="{label, key}">
|
|
- <div class="fx-column" >
|
|
|
|
|
|
+ <div class="fx-column">
|
|
<span>{{ label }}</span>
|
|
<span>{{ label }}</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="bottom"
|
|
placement="bottom"
|
|
- trigger="click">
|
|
|
|
|
|
+ trigger="click"
|
|
|
|
+ >
|
|
<span>组合成绩在填报组合的排名</span>
|
|
<span>组合成绩在填报组合的排名</span>
|
|
<i slot="reference" class="pointer el-icon-question el-icon"></i>
|
|
<i slot="reference" class="pointer el-icon-question el-icon"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<template #rankInGrade="{label, key}">
|
|
<template #rankInGrade="{label, key}">
|
|
- <div class="fx-column" >
|
|
|
|
|
|
+ <div class="fx-column">
|
|
<span>{{ label }}</span>
|
|
<span>{{ label }}</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="bottom"
|
|
placement="bottom"
|
|
@@ -55,7 +54,8 @@
|
|
<el-popover
|
|
<el-popover
|
|
placement="top"
|
|
placement="top"
|
|
popper-class="zero-padding-popover"
|
|
popper-class="zero-padding-popover"
|
|
- trigger="hover">
|
|
|
|
|
|
+ trigger="hover"
|
|
|
|
+ >
|
|
<div class="fx-column">
|
|
<div class="fx-column">
|
|
<el-button plain type="text">{{ subject }}</el-button>
|
|
<el-button plain type="text">{{ subject }}</el-button>
|
|
</div>
|
|
</div>
|
|
@@ -83,19 +83,40 @@
|
|
<el-button @click="commit" type="primary">提交</el-button>
|
|
<el-button @click="commit" type="primary">提交</el-button>
|
|
</div>
|
|
</div>
|
|
<!-- 补录报名和二次补录报名 -->
|
|
<!-- 补录报名和二次补录报名 -->
|
|
- <div v-else >
|
|
|
|
|
|
+ <div v-else>
|
|
<div v-for="item in singleList" class="mb5 mt5">
|
|
<div v-for="item in singleList" class="mb5 mt5">
|
|
- <el-button @click="commit" type="primary">{{`${item.groupName} : 报名`}}</el-button>
|
|
|
|
|
|
+ <el-button @click="commit" type="primary">{{ `${item.groupName} : 报名` }}</el-button>
|
|
</div>
|
|
</div>
|
|
- <div class="mb5 mt5">
|
|
|
|
- <el-button type="danger">不同意</el-button>
|
|
|
|
|
|
+ <div class="mb5 mt5">
|
|
|
|
+ <el-popover
|
|
|
|
+ placement="right"
|
|
|
|
+ width="300"
|
|
|
|
+ v-model="popoShow"
|
|
|
|
+ trigger="click"
|
|
|
|
+ >
|
|
|
|
+ <div>
|
|
|
|
+ <el-input
|
|
|
|
+ type="textarea"
|
|
|
|
+ :rows="4"
|
|
|
|
+ placeholder="请输入原因"
|
|
|
|
+ v-model="regInfo"
|
|
|
|
+ >
|
|
|
|
+ </el-input>
|
|
|
|
+ <p class="fx-row jc-between mt10">
|
|
|
|
+ <el-button type="primary" size="mini" @click="popoShow = false">取消</el-button>
|
|
|
|
+ <el-button type="danger" size="mini">提交</el-button>
|
|
|
|
+ </p>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <el-button slot="reference" type="danger">不同意</el-button>
|
|
|
|
+ </el-popover>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<esign-dialog ref="esignDialog"></esign-dialog>
|
|
<esign-dialog ref="esignDialog"></esign-dialog>
|
|
<choose-subject-dialog ref="chooseDialog"></choose-subject-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>
|
|
<Ai-dialog ref="aiDialog" :prevPreferences="prevPreferences"></Ai-dialog>
|
|
- </el-card>
|
|
|
|
|
|
+ </div>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
import AiDialog from './ai-analysis-dialog'
|
|
import AiDialog from './ai-analysis-dialog'
|
|
@@ -104,10 +125,11 @@ import TestDrage from './test-drage'
|
|
import ChooseSubjectDialog from './choose-subject-dialog'
|
|
import ChooseSubjectDialog from './choose-subject-dialog'
|
|
import SelectSubjectReportDialog from '@/views/system/user/profile/components/select-subject-report-dialog'
|
|
import SelectSubjectReportDialog from '@/views/system/user/profile/components/select-subject-report-dialog'
|
|
import EsignDialog from '@/views/system/user/profile/components/esign-dialog'
|
|
import EsignDialog from '@/views/system/user/profile/components/esign-dialog'
|
|
|
|
+import ReportStep from './report-step'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
- props:{
|
|
|
|
- generation:{
|
|
|
|
|
|
+ props: {
|
|
|
|
+ generation: {
|
|
type: Number,
|
|
type: Number,
|
|
default: 1 // 模拟报名所处状态, 0为初录
|
|
default: 1 // 模拟报名所处状态, 0为初录
|
|
},
|
|
},
|
|
@@ -118,6 +140,7 @@ export default {
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
SelectSubjectReportDialog,
|
|
SelectSubjectReportDialog,
|
|
|
|
+ ReportStep,
|
|
EsignDialog,
|
|
EsignDialog,
|
|
TestDrage,
|
|
TestDrage,
|
|
ChooseSubjectDialog,
|
|
ChooseSubjectDialog,
|
|
@@ -126,7 +149,10 @@ export default {
|
|
mixins: [MxSelectTranslate],
|
|
mixins: [MxSelectTranslate],
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- prevPreferences:[1], // 选科前一轮报名的group
|
|
|
|
|
|
+ popoShow: false,
|
|
|
|
+ activeStep: '',
|
|
|
|
+ regInfo: '',
|
|
|
|
+ prevPreferences: [1], // 选科前一轮报名的group
|
|
optionalMajors: [],
|
|
optionalMajors: [],
|
|
dialogVisible: false,
|
|
dialogVisible: false,
|
|
modelsWrapper: {},
|
|
modelsWrapper: {},
|
|
@@ -167,7 +193,7 @@ export default {
|
|
rows.forEach((row) => {
|
|
rows.forEach((row) => {
|
|
const descriptors = column.groupDescriptors.find(desc => desc.groupId == row.groupId) ?
|
|
const descriptors = column.groupDescriptors.find(desc => desc.groupId == row.groupId) ?
|
|
column.groupDescriptors.find(desc => desc.groupId == row.groupId).descriptors : []
|
|
column.groupDescriptors.find(desc => desc.groupId == row.groupId).descriptors : []
|
|
- row[prop] = descriptors.length > 0 ? descriptors.length > 1 ? `${descriptors[0].value}/${descriptors[1].value}` : `${descriptors[0].value}` : ''
|
|
|
|
|
|
+ row[prop] = descriptors.length > 0 ? descriptors.length > 1 ? `${descriptors[0].value}/${descriptors[1].value}` : `${descriptors[0].value}` : ''
|
|
})
|
|
})
|
|
})
|
|
})
|
|
const cols = {
|
|
const cols = {
|
|
@@ -233,7 +259,7 @@ export default {
|
|
//
|
|
//
|
|
const currentGeneration = 1
|
|
const currentGeneration = 1
|
|
// AI 分析 跳转
|
|
// AI 分析 跳转
|
|
- this.$refs.aiDialog.open(this.formatTable,currentGeneration)
|
|
|
|
|
|
+ this.$refs.aiDialog.open(this.formatTable, currentGeneration)
|
|
},
|
|
},
|
|
commit() {
|
|
commit() {
|
|
console.log(this.selectedList)
|
|
console.log(this.selectedList)
|
|
@@ -250,7 +276,7 @@ export default {
|
|
this.$refs.esignDialog.open()
|
|
this.$refs.esignDialog.open()
|
|
},
|
|
},
|
|
toSelect(row) {
|
|
toSelect(row) {
|
|
- const count = this.modelsWrapper.models.reduce((prev,cur) => {
|
|
|
|
|
|
+ const count = this.modelsWrapper.models.reduce((prev, cur) => {
|
|
return prev += cur.selected ? 1 : 0
|
|
return prev += cur.selected ? 1 : 0
|
|
})
|
|
})
|
|
if (count >= this.preferenceCount) {
|
|
if (count >= this.preferenceCount) {
|
|
@@ -267,11 +293,11 @@ export default {
|
|
type: 'warning'
|
|
type: 'warning'
|
|
}).then(() => {
|
|
}).then(() => {
|
|
row.selected = false
|
|
row.selected = false
|
|
- const start = this.selectedList.indexOf(this.selectedList.find((selected)=> {
|
|
|
|
|
|
+ const start = this.selectedList.indexOf(this.selectedList.find((selected) => {
|
|
return selected.groupId == row.groupId
|
|
return selected.groupId == row.groupId
|
|
}))
|
|
}))
|
|
console.log(start)
|
|
console.log(start)
|
|
- this.selectedList.splice(start,1)
|
|
|
|
|
|
+ this.selectedList.splice(start, 1)
|
|
|
|
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
this.$message({
|
|
this.$message({
|
|
@@ -296,7 +322,7 @@ export default {
|
|
this.singleList = this.modelsWrapper.models.filter(item => {
|
|
this.singleList = this.modelsWrapper.models.filter(item => {
|
|
return item.allowSelect
|
|
return item.allowSelect
|
|
})
|
|
})
|
|
- this.$nextTick(()=>this.$refs.drage.init(this.selectedList))
|
|
|
|
|
|
+ this.$nextTick(() => this.$refs.drage.init(this.selectedList))
|
|
},
|
|
},
|
|
initOption(optionalMajors) {
|
|
initOption(optionalMajors) {
|
|
console.log(optionalMajors)
|
|
console.log(optionalMajors)
|