changeManager.vue 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. middleware: 'authenticated',
  32. transition: {
  33. name: 'fade',
  34. mode: 'out-in'
  35. },
  36. components: {
  37. AccountCenterHeader,
  38. ChangeStepSelect,
  39. ChangeStepMobile,
  40. ChangeStepEmail,
  41. ChangeStepSecurity,
  42. ChangeStepNew,
  43. ChangeStepSuccess,
  44. StepSelect,
  45. StepMobile,
  46. StepEmail,
  47. StepSecurity,
  48. StepNew,
  49. StepSuccess,
  50. StepAppeal
  51. },
  52. data () {
  53. return {
  54. step: 'select',
  55. info: '',
  56. tokenId: '',
  57. stepLast: 'new'
  58. }
  59. },
  60. computed: {
  61. isMobile () {
  62. return this.$store.state.option.isMobile
  63. }
  64. },
  65. mounted () {
  66. this.$route.query.token ? this.step = 'new' : this.step = 'select'
  67. },
  68. methods: {
  69. setStep (type) {
  70. this.step = type
  71. },
  72. setInfo (info) {
  73. this.info = info
  74. },
  75. loadToken (token) {
  76. this.tokenId = token
  77. },
  78. setStepLast (type) {
  79. this.stepLast = type
  80. }
  81. }
  82. }
  83. </script>