index.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <script lang="ts" setup>
  2. // import companyInfo from './companyInfo.vue'
  3. import userInfo from './userInfo.vue'
  4. import { CUR_STATUS } from '@/enums/common'
  5. const visible = defineModel('visible', { default: false })
  6. enum STATUS {
  7. FirstStep = 'info',
  8. SecondStep = 'success',
  9. }
  10. const status = ref(STATUS.FirstStep)
  11. const countNum = ref(20)
  12. const onSuccess = (val: CUR_STATUS) => {
  13. status.value = STATUS.SecondStep
  14. // countDown()
  15. }
  16. const countDown = () => {
  17. countNum.value = 20
  18. const timer = setInterval(() => {
  19. countNum.value--
  20. if (countNum.value === 0) {
  21. clearInterval(timer)
  22. visible.value = false
  23. }
  24. }, 1000)
  25. }
  26. </script>
  27. <template>
  28. <a-modal v-model:open="visible" :footer="false" :width="560" wrapClassName="custom-info" :keyboard="false" :maskClosable="false" :closable="false">
  29. <div v-if="status === STATUS.FirstStep">
  30. <user-info @success="onSuccess" v-model:visible="visible" />
  31. </div>
  32. <div v-if="status === STATUS.SecondStep" class="text-center py-100px">
  33. <div>
  34. <img class="w-88px h-88px" src="@/assets/images/smile.png" alt="" />
  35. <div>
  36. <h3 class="c-#000 fw-700 fs-34 mb-4px mt-37px">Information submitted</h3>
  37. <div class="c-333 mb-26px">We will conduct the audit within 7 working days, and the audit results will be communicated via email</div>
  38. <div class="c-333 mb-26px">You can view the submission form in the Personal Center - My Profile</div>
  39. </div>
  40. </div>
  41. </div>
  42. </a-modal>
  43. </template>
  44. <style lang="less">
  45. .custom-info {
  46. .ant-modal {
  47. .ant-modal-content {
  48. border-radius: 18px;
  49. padding: 0 !important;
  50. }
  51. }
  52. }
  53. </style>