|
@@ -1,6 +1,20 @@
|
|
|
<template>
|
|
|
<el-row>
|
|
|
<mx-table :propDefines="propDefines" :rows="displayRows">
|
|
|
+ <template #classCount="{row,$index}">
|
|
|
+ <el-input-number v-model="row.classCount" @change="classCountChange(row,$index)" :min="0" :disabled="row.classCount != 0" label="label"></el-input-number>
|
|
|
+ </template>
|
|
|
+ <!-- 人数设定 -->
|
|
|
+ <template #countEdit="{row}">
|
|
|
+ <el-button
|
|
|
+ type="success"
|
|
|
+ plain
|
|
|
+ icon="el-icon-edit"
|
|
|
+ size="mini"
|
|
|
+ @click="countEdit(row)"
|
|
|
+ >设定
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
<template #edit="{row}">
|
|
|
<el-button
|
|
|
type="success"
|
|
@@ -12,17 +26,21 @@
|
|
|
</el-button>
|
|
|
</template>
|
|
|
</mx-table>
|
|
|
- <choose-class ref="dialog"></choose-class>
|
|
|
+ <choose-class ref="editClassDialog"></choose-class>
|
|
|
+ <set-classcount ref="setClassDialog"></set-classcount>
|
|
|
</el-row>
|
|
|
</template>
|
|
|
<script>
|
|
|
import MxClassTreeTranslateMixin from '@/components/Cache/modules/mx-classTree-translate-mixin.js'
|
|
|
import MxSelectTranslateMixin from '@/components/Cache/modules/mx-select-translate-mixin.js'
|
|
|
+import * as gradeAxios from '@/api/webApi/grade'
|
|
|
import { getCurrentRound } from '@/api/webApi/elective/dispatch'
|
|
|
import ChooseClass from './choose-class'
|
|
|
+import SetClasscount from './set-classcount'
|
|
|
export default {
|
|
|
components: {
|
|
|
- ChooseClass
|
|
|
+ ChooseClass,
|
|
|
+ SetClasscount
|
|
|
},
|
|
|
mixins: [MxClassTreeTranslateMixin, MxSelectTranslateMixin],
|
|
|
props: {
|
|
@@ -40,10 +58,11 @@ export default {
|
|
|
label: '组合'
|
|
|
},
|
|
|
number: {
|
|
|
- label: '人数'
|
|
|
+ label: '组合人数'
|
|
|
},
|
|
|
classCount: {
|
|
|
- label: '班级数'
|
|
|
+ label: '班级数',
|
|
|
+ slot: 'classCount'
|
|
|
},
|
|
|
edit: {
|
|
|
label: '分班编辑',
|
|
@@ -51,7 +70,14 @@ export default {
|
|
|
},
|
|
|
groupClass: {
|
|
|
label: '班级名称',
|
|
|
- }
|
|
|
+ },
|
|
|
+ countEdit: {
|
|
|
+ label: '人数设定',
|
|
|
+ slot: 'countEdit'
|
|
|
+ },
|
|
|
+ actualCount: {
|
|
|
+ label: '人数',
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -71,6 +97,7 @@ export default {
|
|
|
groupName: this.translateGroup(rg.groupId),
|
|
|
number: this.round.enrollGroupCount[rg.groupId],
|
|
|
classCount: rg.classCount,
|
|
|
+ actualCount: this.settingList.filter(item => item.groupId == rg.groupId).map(item => item.actualCount).toString(),
|
|
|
groupClass: this.settingList
|
|
|
.filter(item => item.groupId == rg.groupId)
|
|
|
.map(item => this.getClassName(item.classId)).toString(),
|
|
@@ -83,26 +110,30 @@ export default {
|
|
|
this.loadRoundStatus()
|
|
|
},
|
|
|
methods: {
|
|
|
+ countEdit(row) {
|
|
|
+ // 设定人数
|
|
|
+ const filter = this.settingList.filter(item => item.groupId == row.groupId)
|
|
|
+ if (filter.length == 0) {
|
|
|
+ this.$message.warning('班级未编辑')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.$refs.setClassDialog.open(row,this.settingList)
|
|
|
+ },
|
|
|
async loadRoundStatus() {
|
|
|
const res = await getCurrentRound()
|
|
|
this.round = res.data
|
|
|
},
|
|
|
+ classCountChange(newVal,index) {
|
|
|
+ console.log(newVal)
|
|
|
+ console.log(index)
|
|
|
+ this.round.roundGroups[index] = newVal
|
|
|
+ },
|
|
|
edit(row) {
|
|
|
if (!row.classCount) {
|
|
|
this.$message.warning('班级数为0时不可分班')
|
|
|
return
|
|
|
}
|
|
|
- this.$refs.dialog.open(row,this.settingList)
|
|
|
- },
|
|
|
-
|
|
|
- confirm(list) {
|
|
|
- this.round.roundGroups.filter(item => {
|
|
|
- if(list.groupId == item.groupId) {
|
|
|
- item.groupClass = list.groupClass
|
|
|
- }
|
|
|
- })
|
|
|
- console.log(this.displayRows)
|
|
|
- console.log(list)
|
|
|
+ this.$refs.editClassDialog.open(row,this.settingList)
|
|
|
}
|
|
|
}
|
|
|
}
|