choose-class.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <el-dialog
  3. title="选择新班级"
  4. :visible.sync="dialogVisible"
  5. width="50%"
  6. >
  7. <div>
  8. <el-radio-group v-model="value">
  9. <el-radio class="mb10" border v-for="item in classes.classList" :label="item.classId">{{item.className}}</el-radio>
  10. </el-radio-group>
  11. </div>
  12. <span slot="footer" class="dialog-footer">
  13. <el-button @click="dialogVisible = false">取 消</el-button>
  14. <el-button type="primary" @click="confirm">确 定</el-button>
  15. </span>
  16. </el-dialog>
  17. </template>
  18. <script>
  19. import MxClassTreeTranslateMixin from '@/components/Cache/modules/mx-classTree-translate-mixin'
  20. export default{
  21. props: {
  22. year: Number
  23. },
  24. mixins: [MxClassTreeTranslateMixin],
  25. data() {
  26. return {
  27. dialogVisible: false,
  28. value:'',
  29. activeClass:'' // 当前选中的
  30. // dispatch // 分班数据
  31. }
  32. },
  33. computed: {
  34. classes() {
  35. if (this)
  36. return this.classTree.find(item => item.year == this.year)
  37. }
  38. },
  39. methods: {
  40. confirm() {
  41. this.activeClass.newClassId = this.value
  42. this.activeClass.newClassName = this.getClassName(this.value)
  43. this.activeClass.newMasterId = this.activeClass.prevMasterId
  44. this.activeClass.newMasterName = this.activeClass.prevMasterName
  45. this.dialogVisible = false
  46. },
  47. init(row){
  48. this.dialogVisible = true
  49. this.activeClass= row
  50. // console.log(row)
  51. this.value = row.newClassId || row.prevClassId
  52. }
  53. }
  54. }
  55. </script>
  56. <style>
  57. </style>