index.vue 655 B

1234567891011121314151617181920212223242526272829303132
  1. <template>
  2. <div class="p-fill-order">
  3. <h3 class="ptc-title">Fill Order</h3>
  4. <component :is="Component" @next="next" />
  5. </div>
  6. </template>
  7. <script setup lang="ts">
  8. import { useRoute, useRouter } from 'vue-router'
  9. import StepOne from './StepOne.vue'
  10. import StepTwo from './StepTwo.vue'
  11. import StepThree from './StepThree.vue'
  12. const router = useRouter()
  13. const step = +((useRoute().query.step || '0') as string)
  14. const Component = [StepOne, StepTwo, StepThree][step]
  15. function next() {
  16. router.push({
  17. path: '',
  18. query: {
  19. step: step + 1,
  20. },
  21. })
  22. }
  23. </script>
  24. <style lang="scss">
  25. .p-fill-order {
  26. background: #f7f7f7;
  27. }
  28. </style>