editGroup.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <el-dialog
  3. :title="`分班编辑(${roundGroup.groupName})`"
  4. :visible.sync="show"
  5. :close-on-click-modal="false"
  6. width="70%"
  7. >
  8. <div>
  9. <el-steps :active="active" finish-status="success">
  10. <el-step title="设定班级"></el-step>
  11. <el-step title="设定班级人数"></el-step>
  12. <el-step title="完成"></el-step>
  13. </el-steps>
  14. <div style="padding: 20px 10px">
  15. <choose-class v-if="active == 0" :year="year" ref="editClassDialog"></choose-class>
  16. <set-classcount v-if="active == 1" ref="setClassDialog"></set-classcount>
  17. <p>
  18. <el-button v-if="active == 0" @click="confirm" type="primary" style="float: right">下一步</el-button>
  19. </p>
  20. </div>
  21. </div>
  22. <span slot="footer" class="dialog-footer">
  23. <el-button @click="show = false">取 消</el-button>
  24. <el-button type="primary" @click="save()" :disabled="active != 1">确 定</el-button>
  25. </span>
  26. </el-dialog>
  27. </template>
  28. <script>
  29. import ChooseClass from '@/views/elective/dispatch/components/choose-class'
  30. import SetClasscount from '@/views/elective/dispatch/components/set-classcount'
  31. export default {
  32. props: {
  33. year: {
  34. type: Number
  35. }
  36. },
  37. components: {
  38. ChooseClass,
  39. SetClasscount
  40. },
  41. data() {
  42. return {
  43. active: 0,
  44. show: false,
  45. roundGroup: {},
  46. settingContainer: [],
  47. }
  48. },
  49. methods: {
  50. open(roundGroup, settingContainer) {
  51. this.active = 0
  52. this.show = true
  53. this.roundGroup = roundGroup
  54. this.settingContainer = settingContainer
  55. this.$nextTick(() => {
  56. this.$refs.editClassDialog.open(roundGroup, settingContainer)
  57. })
  58. },
  59. confirm() {
  60. // 验证
  61. const flag =this.$refs.editClassDialog.validate()
  62. if (flag) {
  63. // 下一步 保存班级
  64. this.$refs.editClassDialog.confirm()
  65. this.active = 1
  66. // this.modifyGroupSettings = this.deepClone(this.settingContainer.filter(item => item.groupId == row.groupId))
  67. this.$nextTick(() => {
  68. this.$refs.setClassDialog.init(this.roundGroup,this.settingContainer)
  69. })
  70. return
  71. }
  72. this.$message.error(`${this.roundGroup.groupName}设定了${this.roundGroup.classCount}个班级`)
  73. console.log(flag)
  74. },
  75. save() {
  76. // 验证
  77. const flag =this.$refs.setClassDialog.valid()
  78. if(flag) this.show = false
  79. }
  80. }
  81. }
  82. </script>
  83. <style>
  84. </style>