changeManager.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <div>
  3. <template v-if="isMobile">
  4. <step-select v-if="step === 'select'" @stepEvent="setStep" @setDataEvent="setInfo"/>
  5. <step-mobile v-if="step === 'mobile'" @stepEvent="setStep" @tokenEvent="loadToken" :info="info"/>
  6. <step-email v-if="step === 'email'" @stepEvent="setStep" :info="info"/>
  7. <step-security v-if="step === 'questions'" @stepEvent="setStep" @tokenEvent="loadToken" :info="info"/>
  8. <step-new v-if="step === 'new'" @stepEvent="setStep" @lastEvent="setStepLast" :tokenId="tokenId"/>
  9. <step-success v-if="step === 'last'" :stepLast="stepLast"/>
  10. <step-appeal v-if="step === 'appeal'" @stepEvent="setStep" @lastEvent="setStepLast"/>
  11. </template>
  12. <template v-else>
  13. <accountCenter-header/>
  14. <change-stepSelect v-if="step === 'select'" @stepEvent="setStep" @setDataEvent="setInfo"/>
  15. <change-stepMobile v-if="step === 'mobile'" @stepEvent="setStep" @tokenEvent="loadToken" :info="info"/>
  16. <change-stepEmail v-if="step === 'email'" @stepEvent="setStep" :info="info"/>
  17. <change-stepSecurity v-if="step === 'questions'" @stepEvent="setStep" @tokenEvent="loadToken" :info="info"/>
  18. <change-stepNew v-if="step === 'new'" @stepEvent="setStep" @lastEvent="setStepLast" :tokenId="tokenId"/>
  19. <change-stepSuccess v-if="step === 'last'"/>
  20. </template>
  21. </div>
  22. </template>
  23. <script>
  24. import AccountCenterHeader from '~components/default/AccountCenterHeader.vue'
  25. import { ChangeStepSelect, ChangeStepMobile, ChangeStepEmail, ChangeStepSecurity, ChangeStepNew, ChangeStepSuccess } from '~components/change'
  26. import {StepSelect, StepMobile, StepEmail, StepSecurity, StepNew, StepSuccess, StepAppeal} from '~components/mobile/changeManager'
  27. export default {
  28. layout (content) {
  29. return content.store.state.option.isMobile ? 'mobile' : 'default'
  30. },
  31. transition: {
  32. name: 'fade',
  33. mode: 'out-in'
  34. },
  35. components: {
  36. AccountCenterHeader,
  37. ChangeStepSelect,
  38. ChangeStepMobile,
  39. ChangeStepEmail,
  40. ChangeStepSecurity,
  41. ChangeStepNew,
  42. ChangeStepSuccess,
  43. StepSelect,
  44. StepMobile,
  45. StepEmail,
  46. StepSecurity,
  47. StepNew,
  48. StepSuccess,
  49. StepAppeal
  50. },
  51. data () {
  52. return {
  53. step: 'select',
  54. info: '',
  55. tokenId: '',
  56. stepLast: 'new'
  57. }
  58. },
  59. computed: {
  60. isMobile () {
  61. return this.$store.state.option.isMobile
  62. }
  63. },
  64. mounted () {
  65. if (this.$route.query.token) {
  66. this.step = 'new'
  67. } else {
  68. if (this.$store.state.option.isLogin.data.content.isLogin) {
  69. this.step = 'select'
  70. } else {
  71. this.$router.push('/')
  72. }
  73. }
  74. },
  75. methods: {
  76. setStep (type) {
  77. this.step = type
  78. },
  79. setInfo (info) {
  80. this.info = info
  81. },
  82. loadToken (token) {
  83. this.tokenId = token
  84. },
  85. setStepLast (type) {
  86. this.stepLast = type
  87. }
  88. }
  89. }
  90. </script>