form-approve.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <template>
  2. <div class="app-container">
  3. <el-card>
  4. <template #header>审核设置</template>
  5. <el-form :model="form" :rules="rules" label-position="right" label-width="200px">
  6. <el-form-item label="班主任变更审核模式" prop="classTeacher" class="form-item-readonly">
  7. <el-radio-group v-model="form.classTeacher">
  8. <el-radio v-for="(opt,idx) in auditOptions" :key="idx" :label="opt.value">{{ opt.text }}</el-radio>
  9. </el-radio-group>
  10. </el-form-item>
  11. <el-form-item label="授课班级变更审核模式" prop="classChange" class="form-item-readonly">
  12. <el-radio-group v-model="form.classChange">
  13. <el-radio v-for="(opt,idx) in auditOptions" :key="idx" :label="opt.value">{{ opt.text }}</el-radio>
  14. </el-radio-group>
  15. </el-form-item>
  16. <div class="fx-row fx-cen-cen">
  17. <el-button type="primary" round class="mt20" style="width: 150px" @click="handleSubmit">保存</el-button>
  18. </div>
  19. </el-form>
  20. </el-card>
  21. <el-tabs class="mt20" type="border-card" v-model="currentTab">
  22. <el-tab-pane v-for="tab in tabs" :key="tab" :name="tab" :label="tab">
  23. <template v-if="tab==currentTab">
  24. <div class="fx-row jc-end">
  25. <mx-date-range-picker v-model="dateRange"></mx-date-range-picker>
  26. </div>
  27. <headteacher-form-list :options="formListOption" class="mt20">
  28. </headteacher-form-list>
  29. </template>
  30. </el-tab-pane>
  31. </el-tabs>
  32. </div>
  33. </template>
  34. <script>
  35. import formTranslateMixin from '@/components/Cache/modules/mx-form-translate-mixin'
  36. import HeadteacherFormList from '@/views/system/user/profile/components/headteacher-form-list'
  37. import consts from '@/common/mx-const'
  38. import * as ext from '@/utils'
  39. import { getForms, getSchoolParams, updateSchoolAudit } from '@/api/webApi/form'
  40. export default {
  41. mixins: [formTranslateMixin],
  42. name: 'form-approve',
  43. components: { HeadteacherFormList },
  44. data() {
  45. return {
  46. //
  47. form: {
  48. classChange: '',
  49. classTeacher: ''
  50. },
  51. rules: {},
  52. settings: {},
  53. //
  54. tabs: ['待审核', '已审核'],
  55. currentTab: '待审核',
  56. dateRange: ext.getDefaultDateRange(1)
  57. }
  58. },
  59. computed: {
  60. auditOptions() {
  61. return this.formAuditList.map(a => ({
  62. text: a.label,
  63. value: a.value
  64. }))
  65. },
  66. queryFormStatus() {
  67. if (this.currentTab == '待审核') {
  68. return [consts.enum.formStatus.init]
  69. }
  70. return [consts.enum.formStatus.approved, consts.enum.formStatus.rejected]
  71. },
  72. formListOption() {
  73. return {
  74. latestApplyStatus: '',
  75. queryApi: getForms,
  76. queryParams: {
  77. begin: this.dateRange.first(),
  78. end: this.dateRange.last(),
  79. formStatus: this.queryFormStatus.toString()
  80. }
  81. }
  82. }
  83. },
  84. mounted() {
  85. this.loadSchoolSettings()
  86. },
  87. methods: {
  88. loadSchoolSettings() {
  89. getSchoolParams().then(res => {
  90. this.settings = res.data
  91. this.form.classTeacher = this.settings.classTeacher
  92. this.form.classChange = this.settings.classChange
  93. console.log('settings', this.settings)
  94. })
  95. },
  96. handleSubmit() {
  97. updateSchoolAudit({
  98. classTeacher: this.form.classTeacher,
  99. classChange: this.form.classChange
  100. }).then(res => {
  101. this.msgSuccess('保存成功')
  102. this.loadSchoolSettings()
  103. })
  104. }
  105. }
  106. }
  107. </script>
  108. <style scoped>
  109. </style>