elective-enroll-info.vue 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <p>
  3. <span>您在{{ appliedModel.option.title }}阶段</span>
  4. <template v-if="!appliedModel.selectedList.length">
  5. <span>未填报志愿</span>
  6. </template>
  7. <template v-else-if="appliedModel.selectedList.some(m=>m.rejected)">
  8. <span>拒绝填报志愿。</span>
  9. </template>
  10. <template v-else>
  11. <span>填报的</span>
  12. <span v-for="(group,index) in appliedModel.selectedList" :key="group.groupId" :class="enrollGroupClass(group)">
  13. {{ group.groupName }}{{index < appliedModel.selectedList.length - 1 ? '、' : ''}}
  14. </span>
  15. </template>
  16. <template v-if="approved">
  17. <span v-if="appliedModel.selectedList.length == 1">
  18. 符合条件,已被录取。
  19. </span>
  20. <span v-else-if="appliedModel.selectedList.length > 1">
  21. 其中 <span class="bold">{{ enrollStatus.enrolledGroup.groupName }}</span> 符合条件,已被录取。
  22. </span>
  23. <template v-else-if="appliedModel.nextModel.selectedList.length == 1">
  24. 但系统按推荐组合 <span class="f-primary">{{ appliedModel.nextModel.selectedList.first().groupName }}</span> 进行了录取
  25. </template>
  26. </template>
  27. <template v-else>
  28. <span v-if="appliedModel.selectedList.length">不符合条件</span>,未被录取。
  29. </template>
  30. <template v-if="forceAdjusted">
  31. 学校将您调剂录取至<span class="f-warning">{{ enrollStatus.enrolledGroup.groupName }}</span>组合。
  32. </template>
  33. <template v-if="enableSelect">
  34. 现有以下标黄组合可以重新报名
  35. </template>
  36. <slot></slot>
  37. </p>
  38. </template>
  39. <script>
  40. export default {
  41. name: 'elective-enroll-info',
  42. props: ['generation', 'enrollStatus','isFormReport'],
  43. computed: {
  44. enrolled() {
  45. return !!this.enrollStatus?.enrolledGroup
  46. },
  47. approved() {
  48. return this.enrolled && this.enrollStatus.enrolledGroup.approved
  49. },
  50. forceAdjusted() {
  51. return this.enrolled && this.enrollStatus.enrolledGroup.forceAdjusted
  52. },
  53. appliedModel() {
  54. let appliedModel = this.enrollStatus?.enrolledModel || this.generation.activeModel.prevModel
  55. while (appliedModel.option.decisionMaking) appliedModel = appliedModel.prevModel
  56. return appliedModel
  57. },
  58. enableSelect() {
  59. return !this.enrolled &&
  60. this.generation.active == this.generation.current &&
  61. !this.generation.activeOpt.decisionMaking && !this.isFormReport
  62. }
  63. },
  64. methods: {
  65. enrollGroupClass(group) {
  66. if (this.approved) {
  67. if (group.groupId == this.enrollStatus.enrolledGroup.groupId) return 'f-primary'
  68. return 'f-warning'
  69. } else {
  70. return 'f-red'
  71. }
  72. }
  73. }
  74. }
  75. </script>
  76. <style scoped>
  77. </style>