Bläddra i källkod

图谱组件-加入练习按钮接口添加新的参数

吴朋磊 5 timmar sedan
förälder
incheckning
90b0b230bd

+ 18 - 5
src/views/targetImprove/practice/knowledgeGraph.vue

@@ -102,7 +102,7 @@ export default {
       // 年级列表(从localStorage的student_gradesList读取)
       gradeList: [],
       // 中心圆点学科名称(通过 subjectCode 从 student_subjectList 匹配)
-      subjectNameState: '数学知识点',
+      subjectNameState: '',
       // 默认选中知识点ID:接口返回的 knowList 中"第一棵节点树的最后一个子节点(叶子)"
       defaultKnowledgeId: '',
       // 接口返回的真实统计数据
@@ -134,7 +134,7 @@ export default {
     };
   },
   computed: {
-    ...mapState('target', ['subjectCode']),
+    ...mapState('target', ['subjectCode', 'subjectName']),
     // 中心圆点学科名称:优先从 localStorage 的 student_subjectList 匹配 subjectCode
     actualSubjectName() {
       return this.subjectNameState || '知识点';
@@ -245,8 +245,12 @@ export default {
           value: item.value ?? item.code ?? item.label ?? item.name ?? String(item)
         }));
 
-        // 默认全部选中
-        this.currentGradeList = this.gradeList.map(g => g.value);
+        // 默认只选中最后一个年级
+        //   例:[{高一,10},{高二,11}] → currentGradeList = ['11'](仅选中高二)
+        //   同“加入练习接口 gradeCode = gradeList 末尾 value”规则保持一致
+        this.currentGradeList = this.gradeList.length > 0
+          ? [this.gradeList[this.gradeList.length - 1].value]
+          : [];
       } catch (e) {
         console.warn('[KnowledgeGraph] 解析 localStorage.student_gradesList 失败:', e);
       }
@@ -593,21 +597,30 @@ export default {
       //   - 只有一个年级 → 直接取该年级 value
       //   - 空/无效 → 传空串兜底
       let gradeCode = '';
+      let gradeName = '';
       if (Array.isArray(this.gradeList) && this.gradeList.length > 0) {
         const lastGrade = this.gradeList[this.gradeList.length - 1];
         if (lastGrade && lastGrade.value !== undefined && lastGrade.value !== null && lastGrade.value !== '') {
           gradeCode = String(lastGrade.value);
         }
+        // 年级NAME:与 gradeCode 一一对应,取同一元素的 label
+        if (lastGrade && lastGrade.label !== undefined && lastGrade.label !== null) {
+          gradeName = String(lastGrade.label);
+        }
       }
 
+      const subjectName = this.subjectName || '';
+
       const params = {
         knowledgeId,
         knowledgeName,
         personalScoreRate,
         knowledgeType,
         subjectCode,
+        subjectName,
         levelCode,
-        gradeCode
+        gradeCode,
+        gradeName
       };
 
       this.$api.target.addExercise(params).then(res => {

+ 2 - 1
src/views/targetImprove/practice/knowledgeGraph/region.vue

@@ -1,3 +1,4 @@
+@ -1,702 +0,0 @@
 <template>
   <div class="region_container">
     <!-- 薄弱补强区 -->
@@ -699,4 +700,4 @@ export default {
     background: #F5F7FA !important;
   }
 }
-</style>
+</style>