schoolInReview.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <template>
  2. <div class="my-5">
  3. <v-card class="default-width" elevation="10">
  4. <div style="margin: 70px auto; width: 600px;">
  5. <!-- 提交老师注册以后跳转显示页面 -->
  6. <div v-if="applyInfo && applyInfo?.authStatus === '0'" class="d-flex flex-column align-center">
  7. <svg-icon name="submit" size="300"></svg-icon>
  8. <div><strong class="color-primary font-size-20">已收到您的老师账号注册申请,</strong>审核时间预计在1~3个工作日内,申请结果会以短信方式通知到您的手机上,请注意查收。</div>
  9. <div style="width: 100%;">
  10. <div class="mt-5 mb-1">如有疑问请扫码添加下方企业微信联系我们:</div>
  11. <div style="width: 150px; height: 150px; margin: auto;">
  12. <v-img src="https://minio.menduner.com/dev/90d8688e33f024a1be2460a3524709ac7f027e9f023b3fce77acf60fdfd2c587.png" width="150" height="150"></v-img>
  13. </div>
  14. <div class="text-center ml-5">郑玉洁女士</div>
  15. </div>
  16. </div>
  17. <!-- 审核不通过 -->
  18. <div v-else-if="applyInfo?.authStatus === '2'">
  19. <div class="mb-3" style="color: red;">
  20. 您的老师账号注册申请<strong class="color-error font-size-20"> 审核不通过,</strong>
  21. 具体原因如下:{{ applyInfo?.authMessage }}
  22. </div>
  23. <div class="mt-5">
  24. <span>审核时间:{{ timesTampChange(applyInfo?.authTime) }}</span>
  25. </div>
  26. <div style="width: 100%;">
  27. <div class="mt-5 mb-1">如有疑问请扫码添加下方企业微信联系我们:</div>
  28. <div style="width: 150px; height: 150px; margin: auto;">
  29. <v-img src="https://minio.menduner.com/dev/90d8688e33f024a1be2460a3524709ac7f027e9f023b3fce77acf60fdfd2c587.png" width="150" height="150"></v-img>
  30. </div>
  31. <div class="text-center ml-5">郑玉洁女士</div>
  32. </div>
  33. </div>
  34. </div>
  35. <div class="text-center mb-15">
  36. <v-btn class="mt-16 mr-3 buttons" color="primary" @click="handleBackToFlame">回到火苗儿校企</v-btn>
  37. <v-btn v-if="getToken()" class="mt-16 mr-3 buttons" color="primary" @click="handleRefreshApproved">刷新审核进度</v-btn>
  38. <v-btn v-if="applyInfo?.authStatus === '2'" class="mt-16 buttons" color="primary" @click="handleConfirm">{{ $t('common.resubmit') }}</v-btn>
  39. </div>
  40. </v-card>
  41. </div>
  42. </template>
  43. <script setup>
  44. defineOptions({ name: 'register-schoolForm'})
  45. import { ref, onMounted } from 'vue'
  46. import { webContentStore } from '@/store/webContent'
  47. import { useRouter } from 'vue-router'
  48. import { timesTampChange } from '@/utils/date'
  49. import { useUserStore } from '@/store/user'
  50. import { getToken } from '@/utils/auth'
  51. import { getSchoolInformation } from '@/api/school'
  52. import Snackbar from '@/plugins/snackbar'
  53. const userStore = useUserStore()
  54. const applyInfo = ref(localStorage.getItem('registerSchoolInfo') ? JSON.parse(localStorage.getItem('registerSchoolInfo')) : {})
  55. console.log(applyInfo.value, '注册审核信息')
  56. const router = useRouter()
  57. const webContent = webContentStore()
  58. onMounted(async () => {
  59. await webContent.getSystemWebContent()
  60. })
  61. // 回到火苗儿校企页面
  62. const handleBackToFlame = async () => {
  63. await userStore.userLogout(1)
  64. router.push('/flameLogin')
  65. }
  66. // 重新提交
  67. const handleConfirm = async () => {
  68. router.push('/recruit/teacher/register/schoolIndex')
  69. }
  70. // 刷新审核状态
  71. const handleRefreshApproved = async () => {
  72. const data = await getSchoolInformation()
  73. if (!data) return
  74. localStorage.setItem('schoolInfo', data ? JSON.stringify(data) : '{}')
  75. if (data?.authStatus === '1') {
  76. Snackbar.success('您的账号审核已通过')
  77. router.push('/recruit/teacher/studentList/index')
  78. }
  79. if (data?.authStatus === '0') {
  80. Snackbar.warning('您的账号还在审核中,请耐心等待')
  81. }
  82. if (data?.authStatus === '2') {
  83. Snackbar.warning('您的账号审核未通过,请重新提交')
  84. }
  85. applyInfo.value = data
  86. localStorage.setItem('registerSchoolInfo', JSON.stringify(data))
  87. console.log('刷新审核状态', applyInfo.value)
  88. }
  89. </script>
  90. <style scoped lang="scss">
  91. .navBar {
  92. position: absolute;
  93. top: 0;
  94. }
  95. .box {
  96. position: relative;
  97. width: 100%;
  98. height: 100%;
  99. background-size: cover;
  100. background-repeat: no-repeat;
  101. background-position: center center;
  102. }
  103. .content {
  104. position: absolute;
  105. top: 50%;
  106. left: 50%;
  107. translate: -50% -50%;
  108. width: 600px;
  109. height: 80%;
  110. overflow: auto;
  111. background-color: #fff;
  112. border-radius: 10px;
  113. }
  114. .upload-box {
  115. width: 100px;
  116. }
  117. </style>