index.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <template>
  2. <div class="page_target">
  3. <TargetSubject></TargetSubject>
  4. <div class="target_item target_step">
  5. <div class="step_item" :class="stepIndex==1?'step_item_cur':''" @click="ChangeStep(1)">
  6. <div class="span_number">1</div>选择练习知识点
  7. </div>
  8. <div class="step_line">
  9. </div>
  10. <div class="step_item" :class="stepIndex==2?'step_item_cur':''" @click="ChangeStep(2)">
  11. <div class="span_number">2</div>知识点练习作答
  12. </div>
  13. <div class="step_line">
  14. </div>
  15. <div class="step_item" :class="stepIndex==3?'step_item_cur':''" @click="ChangeStep(3)">
  16. <div class="span_number">3</div>查看练习结果
  17. </div>
  18. </div>
  19. <!-- 知识点图谱 -->
  20. <knowledgeGraph v-if="stepIndex==1"></knowledgeGraph>
  21. <PracticeAnswer v-if="stepIndex==2"></PracticeAnswer>
  22. <PracticeResults v-if="stepIndex==3"></PracticeResults>
  23. </div>
  24. </template>
  25. <script>
  26. import TargetSubject from "@/views/targetImprove/components/TargetSubject.vue"//顶部筛选科目组件
  27. import knowledgeGraph from "@/views/targetImprove/practice/knowledgeGraph.vue"//知识点图谱
  28. import PracticeAnswer from "@/views/targetImprove/practice/practiceAnswer.vue"//练习作答
  29. import PracticeResults from "@/views/targetImprove/practice/practiceResults.vue"//练习结果
  30. import { mapState } from 'vuex'
  31. export default {
  32. components: {
  33. TargetSubject,
  34. knowledgeGraph,
  35. PracticeAnswer,
  36. PracticeResults
  37. },
  38. data() {
  39. return {
  40. userInfo: {},
  41. stepIndex:1,//步骤
  42. }
  43. },
  44. computed:{
  45. ...mapState('target', ['subjectCode'])
  46. },
  47. watch:{
  48. // 监听顶部的subjectCode变化
  49. subjectCode(newVal, oldVal){
  50. console.log('科目编码改变了', newVal, oldVal)
  51. // ========= 业务逻辑写这里 =========
  52. // 例如:切换科目,重置步骤、重新请求知识点图谱数据
  53. }
  54. },
  55. mounted()
  56. {
  57. },
  58. methods: {
  59. // 步骤切换
  60. ChangeStep(index)
  61. {
  62. this.stepIndex = index;
  63. },
  64. }
  65. };
  66. </script>
  67. <style lang="scss" scoped>
  68. </style>