changeManager.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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-manager/>
  15. </template>
  16. </div>
  17. </template>
  18. <script>
  19. import AccountCenterHeader from '~components/default/AccountCenterHeader.vue'
  20. import ChangeManager from '~components/change/ChangeManager.vue'
  21. import {StepSelect, StepMobile, StepEmail, StepSecurity, StepNew, StepSuccess, StepAppeal} from '~components/mobile/changeManager'
  22. export default {
  23. layout (content) {
  24. return content.store.state.option.isMobile ? 'mobile' : 'default'
  25. },
  26. middleware: 'authenticated',
  27. transition: {
  28. name: 'fade',
  29. mode: 'out-in'
  30. },
  31. components: {
  32. AccountCenterHeader,
  33. ChangeManager,
  34. StepSelect,
  35. StepMobile,
  36. StepEmail,
  37. StepSecurity,
  38. StepNew,
  39. StepSuccess,
  40. StepAppeal
  41. },
  42. data () {
  43. return {
  44. step: 'select',
  45. info: '',
  46. tokenId: '',
  47. stepLast: 'new'
  48. }
  49. },
  50. computed: {
  51. isMobile () {
  52. return this.$store.state.option.isMobile
  53. }
  54. },
  55. mounted () {
  56. this.$route.query.token ? this.step = 'new' : this.step = 'select'
  57. },
  58. methods: {
  59. setStep (type) {
  60. this.step = type
  61. },
  62. setInfo (info) {
  63. this.info = info
  64. },
  65. loadToken (token) {
  66. this.tokenId = token
  67. },
  68. setStepLast (type) {
  69. this.stepLast = type
  70. }
  71. }
  72. }
  73. </script>