index.tsx 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. import ColResult from '@/components/col-result'
  2. import ColSticky from '@/components/col-sticky'
  3. import request from '@/helpers/request'
  4. import { state } from '@/state'
  5. import { Button, Dialog, Toast } from 'vant'
  6. import { defineComponent } from 'vue'
  7. import teacherCert from '..'
  8. import CertThree from '../cert-three'
  9. import { teacherState } from '../teacherState'
  10. export default defineComponent({
  11. name: 'teacher-cert-update',
  12. data() {
  13. return {
  14. authStatus: false
  15. }
  16. },
  17. async mounted() {
  18. try {
  19. // 老师入驻状态 0、未申请 UNPAALY、未申请 DOING、审核中 PASS、通过 UNPASS、不通过
  20. const entryStatus = state.user.data?.entryStatus || 0
  21. this.authStatus = entryStatus === 'DOING' ? true : false
  22. // 判断是否达人认证
  23. if (!state.user.data?.entryFlag) {
  24. Dialog.alert({
  25. message: '您尚未完成达人认证,达人认证后才可更新资料哦!',
  26. confirmButtonColor: '#2DC7AA'
  27. }).then(() => {
  28. this.$router.replace('/teacherCert')
  29. })
  30. return
  31. }
  32. const teacherInfo = await request.get(
  33. '/api-teacher/teacherAuthEntryRecord/getLastRecordByUserId'
  34. )
  35. const info = teacherInfo.data || {}
  36. teacherState.teacherCert.graduateSchool = info.graduateSchool
  37. teacherState.teacherCert.subject = info.subject
  38. teacherState.teacherCert.gradCertificate = info.gradCertificate
  39. teacherState.teacherCert.degreeCertificate = info.degreeCertificate
  40. teacherState.teacherCert.teacherCertificate = info.teacherCertificate
  41. } catch {
  42. //
  43. }
  44. },
  45. methods: {
  46. async onSubmit() {
  47. const teacherCert = teacherState.teacherCert
  48. if (!teacherCert.graduateSchool) {
  49. Toast('请输入您的毕业院校')
  50. return
  51. }
  52. if (!teacherCert.subject) {
  53. Toast('请输入您的专业')
  54. return
  55. }
  56. await request.post('/api-teacher/teacherAuthEntryRecord/doApply', {
  57. data: {
  58. graduateSchool: teacherCert.graduateSchool,
  59. subject: teacherCert.subject,
  60. subjectId: teacherCert.subjectId
  61. ? teacherCert.subjectId.split(',')
  62. : [],
  63. gradCertificate: teacherCert.gradCertificate,
  64. degreeCertificate: teacherCert.degreeCertificate,
  65. teacherCertificate: teacherCert.teacherCertificate
  66. }
  67. })
  68. Toast('提交成功')
  69. this.authStatus = true
  70. }
  71. },
  72. render() {
  73. return (
  74. <>
  75. {this.authStatus ? (
  76. <ColResult
  77. type="teacherCert"
  78. style={{ paddingTop: '60px' }}
  79. classImgSize="CERT"
  80. tips="感谢您的申请,小酷将在24小时内完成审核,请留意APP消息及短信获取审核结果。"
  81. />
  82. ) : (
  83. <div
  84. style={{
  85. paddingTop: '12px'
  86. }}
  87. >
  88. <CertThree />
  89. <ColSticky position="bottom">
  90. <div class={['btnGroup']} style={{ paddingTop: '12px' }}>
  91. <Button
  92. block
  93. round
  94. onClick={this.onSubmit}
  95. type="primary"
  96. text="确认修改"
  97. />
  98. </div>
  99. </ColSticky>
  100. </div>
  101. )}
  102. </>
  103. )
  104. }
  105. })