|
@@ -30,7 +30,8 @@
|
|
|
:rank-descriptors="value.rankDescriptors"></elective-flow-rank-descriptor>
|
|
|
</template>
|
|
|
<template #flow-action="{row}">
|
|
|
- <el-link @click="handleFlowLog(row)" :underline="false">查看</el-link>
|
|
|
+ <el-link v-if="enableStudentTableView" @click="handleStudentTable(row)" :underline="false">查看</el-link>
|
|
|
+ <el-link v-if="enableLogView" @click="handleFlowLog(row)" :underline="false">查看</el-link>
|
|
|
<el-popover v-if="row['enableForce']" :ref="'force_'+row['studentId']" width="80" trigger="click"
|
|
|
popper-class="zero-padding-popover">
|
|
|
<div class="fx-column">
|
|
@@ -46,10 +47,11 @@
|
|
|
</mx-table>
|
|
|
<pagination :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
|
|
|
@pagination="loadGenerationDetails"></pagination>
|
|
|
- <el-dialog title="选科历史记录" v-if="logVisible" :visible.sync="logVisible" :width="logDialogWidth">
|
|
|
+ <el-dialog title="选科流程明细" v-if="logVisible" :visible.sync="logVisible" :width="logDialogWidth">
|
|
|
<elective-generation-flow-log :groups="prevData.groups" :histories="logRow.histories"
|
|
|
:matched-majors="this.majorsMap[logRow['studentId']]"/>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog title="查看详情" :visible.sync="studentTableVisible" :width="logDialogWidth"></el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -81,11 +83,16 @@ export default {
|
|
|
const n = this.prevData.roundName
|
|
|
return y + s + n
|
|
|
},
|
|
|
+ options() {
|
|
|
+ return config.electiveGenerationOptions
|
|
|
+ },
|
|
|
+ activeOpt() {
|
|
|
+ return Object.values(this.options).find(opt => opt.value == this.prevData.activeGeneration)
|
|
|
+ },
|
|
|
subTitle() {
|
|
|
if (this.prevData.isAccumulate) return ''
|
|
|
- const g = Object.values(config.electiveGenerationOptions).find(opt => opt.value == this.prevData.activeGeneration)
|
|
|
- const hideGeneration = g == config.electiveGenerationOptions.init || g == config.electiveGenerationOptions.terminate
|
|
|
- return hideGeneration ? '' : g?.title || ''
|
|
|
+ const hideGenerations = [this.options.init, this.options.terminate]
|
|
|
+ return hideGenerations.includes(this.activeOpt) ? '' : this.activeOpt?.title || ''
|
|
|
},
|
|
|
localData() {
|
|
|
this.queryParams.generation = this.prevData.queryGeneration
|
|
@@ -142,6 +149,12 @@ export default {
|
|
|
const expectedWidth = (this.prevData.groups.length + 3) * 160 // 假定elective-generation-flow-log 单格宽160
|
|
|
const finalWidth = Math.min(expectedWidth, window.innerWidth * 0.8)
|
|
|
return finalWidth + 'px'
|
|
|
+ },
|
|
|
+ enableLogView() {
|
|
|
+ return this.activeOpt?.value >= this.options.forceAdjust.value
|
|
|
+ },
|
|
|
+ enableStudentTableView() {
|
|
|
+ return this.activeOpt?.value < this.options.forceAdjust.value
|
|
|
}
|
|
|
},
|
|
|
data() {
|
|
@@ -161,7 +174,8 @@ export default {
|
|
|
majorsMap: null,
|
|
|
// log
|
|
|
logVisible: false,
|
|
|
- logRow: {}
|
|
|
+ logRow: {},
|
|
|
+ studentTableVisible: false
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@@ -235,6 +249,9 @@ export default {
|
|
|
this.logRow = row
|
|
|
this.logVisible = true
|
|
|
},
|
|
|
+ handleStudentTable(row) {
|
|
|
+ this.$alert('待填充')
|
|
|
+ },
|
|
|
handleForceAdjust(group, row) {
|
|
|
let message = `确认将'${row.studentName}'调剂至'${group.groupName}'?!`
|
|
|
if (row['disableForceGroupId'] > 0) {
|