apply-headteacher.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <template>
  2. <div class="app-container">
  3. <el-card>
  4. <template #header>申请班主任</template>
  5. <headteacher-form ref="header" :status="latestApplyStatus" @formCompleted="handleFormCompleted"></headteacher-form>
  6. </el-card>
  7. <el-card class="mt20">
  8. <template #header>
  9. <div class="fx-row fx-bet-cen">
  10. <span>申请列表</span>
  11. <!-- 暂时不开放时间选择,因为在取第一项为表单项状态 -->
  12. <mx-date-range-picker v-if="false" v-model="dateRange">
  13. </mx-date-range-picker>
  14. </div>
  15. </template>
  16. <headteacher-form-list ref="formList" :options="sharedOptions" @statusComputed="handleStatusChanged"></headteacher-form-list>
  17. </el-card>
  18. </div>
  19. </template>
  20. <script>
  21. import HeadteacherForm from '@/views/system/user/profile/components/headteacher-form'
  22. import HeadteacherFormList from '@/views/system/user/profile/components/headteacher-form-list'
  23. import { mapActions } from 'vuex'
  24. import * as ext from '@/utils'
  25. import { getUserForms } from '@/api/webApi/form'
  26. import consts from '@/common/mx-const'
  27. export default {
  28. name: 'apply-headteacher',
  29. components: { HeadteacherFormList, HeadteacherForm },
  30. data() {
  31. return {
  32. latestApplyStatus: '',
  33. dateRange: ext.getDefaultDateRange(1),
  34. queryFormTypes: [
  35. consts.enum.formType.addClassMaster,
  36. consts.enum.formType.delClassMaster,
  37. consts.enum.formType.updateClassMaster
  38. ],
  39. }
  40. },
  41. computed: {
  42. pageTitle() {
  43. return this.$route.name == 'Apply-headteacher' ? '申请班主任' : '更换班主任'
  44. },
  45. sharedOptions() {
  46. return {
  47. queryApi: getUserForms,
  48. queryParams: {
  49. begin: this.dateRange.first(),
  50. end: this.dateRange.last(),
  51. formType: this.queryFormTypes.toString()
  52. }
  53. }
  54. }
  55. },
  56. methods: {
  57. ...mapActions(['GetInfo']),
  58. handleFormCompleted() {
  59. this.GetInfo()
  60. this.$refs.formList.resetQuery()
  61. },
  62. handleStatusChanged(val) {
  63. this.latestApplyStatus = val
  64. }
  65. }
  66. }
  67. </script>
  68. <style scoped>
  69. </style>