phoneValidation.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div>
  3. <template v-if="isMobile">
  4. <validationPhone-stepSelect v-if="step === 'first'" @stepEvent="setStep" @setDataEvent="setInfo"/>
  5. <validationPhone-stepMobile v-if="step === 'mobile'" @stepEvent="setStep" @tokenEvent="loadToken" :info="info"/>
  6. <validationPhone-stepEmail v-if="step === 'email'" @stepEvent="setStep" :info="info"/>
  7. <validationPhone-stepSecurity v-if="step === 'questions'" @stepEvent="setStep" @tokenEvent="loadToken" :tokenId="tokenId"/>
  8. <validationPhone-stepNew v-if="step === 'new'" @stepEvent="setStep" @lastEvent="setStepLast" :stepLast="stepLast" :tokenId="tokenId"/>
  9. </template>
  10. <template v-else>
  11. <accountCenter-header/>
  12. <phone-validation/>
  13. </template>
  14. </div>
  15. </template>
  16. <script>
  17. import AccountCenterHeader from '~components/default/AccountCenterHeader.vue'
  18. import PhoneValidation from '~components/validation/PhoneValidation.vue'
  19. import {ValidationPhoneStepSelect, ValidationPhoneStepMobile, ValidationPhoneStepEmail, ValidationPhoneStepSecurity, ValidationPhoneStepNew} from '~components/mobile/validation'
  20. export default {
  21. layout (context) {
  22. return context.store.state.option.isMobile ? 'mobile' : 'default'
  23. },
  24. transition: {
  25. name: 'fade',
  26. mode: 'out-in'
  27. },
  28. data () {
  29. return {
  30. step: 'first',
  31. info: '',
  32. tokenId: '',
  33. stepLast: 'new'
  34. }
  35. },
  36. components: {
  37. AccountCenterHeader,
  38. PhoneValidation,
  39. ValidationPhoneStepSelect,
  40. ValidationPhoneStepMobile,
  41. ValidationPhoneStepEmail,
  42. ValidationPhoneStepSecurity,
  43. ValidationPhoneStepNew
  44. },
  45. computed: {
  46. isMobile () {
  47. return this.$store.state.option.isMobile
  48. }
  49. },
  50. methods: {
  51. setStep (type) {
  52. this.step = type
  53. },
  54. setInfo (style) {
  55. this.info = style
  56. },
  57. loadToken (token) {
  58. this.tokenId = token
  59. },
  60. setStepLast (type) {
  61. console.log(type)
  62. this.stepLast = type
  63. }
  64. }
  65. }
  66. </script>