ReviewManagementDetail.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <template>
  2. <div class="main_container">
  3. <component :is="curentComponent"></component>
  4. </div>
  5. </template>
  6. <script setup lang="ts">
  7. import { useRoute,useRouter } from 'vue-router';
  8. import { computed, onBeforeUnmount, onMounted, ref } from 'vue';
  9. import Step1Component from './stepComponent/step1Component/Step1Component.vue';
  10. import Step2Component from './stepComponent/step2Component/Step2Component.vue';
  11. import Step3Component from './stepComponent/step3Component/Step3Component.vue';
  12. import Step4Component from './stepComponent/step4Component/Step4Component.vue';
  13. import GenerateReviewCode from './stepComponent/step4Component/GenerateReviewCode.vue';
  14. const route = useRoute()
  15. const router = useRouter()
  16. const curentComponent = computed(()=>{
  17. switch(route.params.stepName){
  18. case 'evaluationData':
  19. return Step1Component
  20. case 'teachingRelationship':
  21. return Step2Component
  22. case 'questionnaireTemplate':
  23. return Step3Component
  24. case 'reviewAccount':
  25. return Step4Component
  26. case 'generateReviewCode':
  27. return GenerateReviewCode
  28. case 'parameterSetting':
  29. break
  30. case 'evaluationProgress':
  31. break
  32. case 'generateAnalysis':
  33. break
  34. default:
  35. router.replace('/login')
  36. break
  37. }
  38. })
  39. onBeforeUnmount(()=>{
  40. // 清除 评价管理详情页的标题
  41. sessionStorage.removeItem('evaluationManageDetailName')
  42. })
  43. </script>
  44. <style lang="scss" scoped>
  45. .main_container {
  46. height: 100vh !important;
  47. }
  48. </style>