index.vue 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. inject: ['openAiRobot'],//注入Ai机器人组件调用方法
  48. watch:{
  49. // 监听顶部的subjectCode变化
  50. subjectCode(newVal, oldVal){
  51. console.log('科目编码改变了', newVal, oldVal)
  52. // ========= 业务逻辑写这里 =========
  53. // 例如:切换科目,重置步骤、重新请求知识点图谱数据
  54. this.OpenAiRobot();
  55. }
  56. },
  57. mounted()
  58. {
  59. },
  60. methods: {
  61. // 打开Ai机器人测试
  62. OpenAiRobot()
  63. {
  64. let content = "使用Ai机器人测试,帮我解答这道题";
  65. this.openAiRobot(content);
  66. },
  67. // 步骤切换
  68. ChangeStep(index)
  69. {
  70. this.stepIndex = index;
  71. },
  72. }
  73. };
  74. </script>
  75. <style lang="scss" scoped>
  76. </style>