|
@@ -9,7 +9,7 @@
|
|
<template #group-header="{label, key}">
|
|
<template #group-header="{label, key}">
|
|
<div class="fx-row jc-cen">
|
|
<div class="fx-row jc-cen">
|
|
<span>{{ label }}</span>
|
|
<span>{{ label }}</span>
|
|
- <el-popover trigger="hover" :disabled="!!!detailTable.groupHeaders[key].text">
|
|
|
|
|
|
+ <el-popover trigger="hover" :disabled="!!!detailTable.groupHeaders[key].text" class="mx-generation-rank">
|
|
<div v-for="(desc,idx) in detailTable.groupHeaders[key].descriptions" :key="idx">
|
|
<div v-for="(desc,idx) in detailTable.groupHeaders[key].descriptions" :key="idx">
|
|
<span>{{ desc.description }}</span> <span class="bold">{{ desc.value }}</span></div>
|
|
<span>{{ desc.description }}</span> <span class="bold">{{ desc.value }}</span></div>
|
|
<el-tag slot="reference" size="mini" class="round-y ml3">{{ detailTable.groupHeaders[key].text }}</el-tag>
|
|
<el-tag slot="reference" size="mini" class="round-y ml3">{{ detailTable.groupHeaders[key].text }}</el-tag>
|
|
@@ -26,8 +26,19 @@
|
|
<elective-flow-rank-descriptor v-if="value.rankDescriptors"
|
|
<elective-flow-rank-descriptor v-if="value.rankDescriptors"
|
|
:rank-descriptors="value.rankDescriptors"></elective-flow-rank-descriptor>
|
|
:rank-descriptors="value.rankDescriptors"></elective-flow-rank-descriptor>
|
|
</template>
|
|
</template>
|
|
- <template #flow-log="{row}">
|
|
|
|
|
|
+ <template #flow-action="{row}">
|
|
<el-link @click="handleFlowLog(row)" :underline="false">查看</el-link>
|
|
<el-link @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">
|
|
|
|
+ <el-divider>调剂</el-divider>
|
|
|
|
+ <el-button v-for="(g,i) in prevData.groups" :key="i" class="ml0" plain type="text"
|
|
|
|
+ :disabled="g.groupId==row['disableForceGroupId']"
|
|
|
|
+ @click="handleForceAdjust(g, row)&&$refs['force_'+row['studentId']].doClose()">{{ g.groupName }}
|
|
|
|
+ </el-button>
|
|
|
|
+ </div>
|
|
|
|
+ <el-link slot="reference" :underline="false" type="warning" class="ml10">调剂</el-link>
|
|
|
|
+ </el-popover>
|
|
</template>
|
|
</template>
|
|
</mx-table>
|
|
</mx-table>
|
|
<pagination :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
|
|
<pagination :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
|
|
@@ -42,16 +53,21 @@
|
|
<script>
|
|
<script>
|
|
import config from '@/common/mx-config'
|
|
import config from '@/common/mx-config'
|
|
import transferMixin from '@/components/mx-transfer-mixin'
|
|
import transferMixin from '@/components/mx-transfer-mixin'
|
|
|
|
+import groupTranslateMixin from '@/components/Cache/modules/mx-select-translate-mixin'
|
|
import { mapGetters } from 'vuex'
|
|
import { mapGetters } from 'vuex'
|
|
import MxCondition from '@/components/MxCondition/mx-condition'
|
|
import MxCondition from '@/components/MxCondition/mx-condition'
|
|
-import { getElectiveGenerationDetails, getGenerationOptionalMajorsBatch } from '@/api/webApi/elective/generation'
|
|
|
|
|
|
+import {
|
|
|
|
+ enrollByForce,
|
|
|
|
+ getElectiveGenerationDetails,
|
|
|
|
+ getGenerationOptionalMajorsBatch
|
|
|
|
+} from '@/api/webApi/elective/generation'
|
|
import ElectiveGenerationFlowLog from '@/views/elective/generation/components/elective-generation-flow-log'
|
|
import ElectiveGenerationFlowLog from '@/views/elective/generation/components/elective-generation-flow-log'
|
|
import ElectiveFlowMajor from '@/views/elective/generation/components/elective-flow-major'
|
|
import ElectiveFlowMajor from '@/views/elective/generation/components/elective-flow-major'
|
|
import ElectiveFlowRankDescriptor from '@/views/elective/generation/components/elective-flow-rank-descriptor'
|
|
import ElectiveFlowRankDescriptor from '@/views/elective/generation/components/elective-flow-rank-descriptor'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
components: { ElectiveFlowRankDescriptor, ElectiveFlowMajor, ElectiveGenerationFlowLog, MxCondition },
|
|
components: { ElectiveFlowRankDescriptor, ElectiveFlowMajor, ElectiveGenerationFlowLog, MxCondition },
|
|
- mixins: [transferMixin],
|
|
|
|
|
|
+ mixins: [transferMixin, groupTranslateMixin],
|
|
name: 'generation-detail',
|
|
name: 'generation-detail',
|
|
computed: {
|
|
computed: {
|
|
...mapGetters(['school']),
|
|
...mapGetters(['school']),
|
|
@@ -110,7 +126,7 @@ export default {
|
|
})
|
|
})
|
|
})
|
|
})
|
|
}
|
|
}
|
|
- columns.actions = { label: '查看明细', slot: 'flow-log' }
|
|
|
|
|
|
+ columns.actions = { label: '操作', slot: 'flow-action', minWidth: '100px' }
|
|
return {
|
|
return {
|
|
rows,
|
|
rows,
|
|
columns,
|
|
columns,
|
|
@@ -208,6 +224,18 @@ export default {
|
|
handleFlowLog(row) {
|
|
handleFlowLog(row) {
|
|
this.logRow = row
|
|
this.logRow = row
|
|
this.logVisible = true
|
|
this.logVisible = true
|
|
|
|
+ },
|
|
|
|
+ handleForceAdjust(group, row) {
|
|
|
|
+ let message = `确认将'${row.studentName}'调剂至'${group.groupName}'?!`
|
|
|
|
+ if (row['disableForceGroupId'] > 0) {
|
|
|
|
+ message += `\n 当前录取组合'${this.translateGroup(row['disableForceGroupId'])}'`
|
|
|
|
+ }
|
|
|
|
+ this.$confirm(message, '强制调剂提醒', { type: 'warning' }).then(() => {
|
|
|
|
+ enrollByForce(group.groupId, row['studentId']).then(res => {
|
|
|
|
+ this.loadGenerationDetails() // refresh
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ return true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|