Просмотр исходного кода

```
feat(api): 将字典数据API从course模块迁移到common模块

- 将getDictType函数从src/api/course.js迁移至src/api/common.js
- 更新API请求路径从/system/dict/type到/common/dictData
- 保留原有的字典类型注释说明

refactor(learning-system): 优化学习系统页面的字典数据显示逻辑

- 修复Vue模板中的赋值语法错误,将===改为=
- 更新v-for循环的key值从业务字段改为dictValue
- 调整click事件中的数据绑定,统一使用dictValue和dictLabel
- 修改字典数据获取后的处理逻辑,使用switch语句分别处理不同字典类型
- 更新API导入路径,从course.js改为common.js
```

zhangningning 1 месяц назад
Родитель
Сommit
2a43a65351
3 измененных файлов с 38 добавлено и 27 удалено
  1. 7 0
      src/api/common.js
  2. 0 7
      src/api/course.js
  3. 31 20
      src/pages/LearningSystem/LearningSystem.vue

+ 7 - 0
src/api/common.js

@@ -11,4 +11,11 @@ export function uploadFile(data = {}) {
  */
 export function purchase(data = {}) {
   return request.get('/common/purchase',data)
+}
+// 获取课程标签
+//学习阶段  bus_study_stage
+//教程分类  bus_course_category
+//技能标签  bus_skill_tag
+export function getDictType(data = {}) {
+  return request.get('/common/dictData',data)
 }

+ 0 - 7
src/api/course.js

@@ -13,13 +13,6 @@ export function getCourseDetail(data = {}) {
 export function getCourseWithNotesList(data = {}) {
   return request.get('/course/coursesWithNotesList')
 }
-// 获取课程标签
-//学习阶段  bus_study_stage
-//教程分类  bus_course_category
-//技能标签  bus_skill_tag
-export function getDictType(data = {}) {
-  return request.get('/system/dict/type',data)
-}
 // 查询章节列表
 export function getChaptersList(data = {}) {
   return request.get('/chapter/chaptersList/'+data.id)

+ 31 - 20
src/pages/LearningSystem/LearningSystem.vue

@@ -28,15 +28,15 @@
           <div class="gray font_size14 typeName">学习阶段:</div>
           <div class="flex_1 gap10">
             <div class="font_size14 typeItem"  :class="{'active':searchFom.studyStage === ''}"
-            @click="searchFom.studyStage === '';getList('init');"
+            @click="searchFom.studyStage = '';getList('init');"
             :key="-1">
               全部
             </div>
             <div class="font_size14 typeItem" 
-             v-for="item in bus_study_stage" :key="item.studyStage"
-             :class="{'active':searchFom.studyStage === item.studyStage}"
-             @click="searchFom.categoryId2 = item.categoryId;searchFom.categoryId3 = '';categoryListTree2=[]; getList('init');getCategoryListTreeFn2();">
-              {{item.categoryName}}
+             v-for="item in bus_study_stage" :key="item.dictValue"
+             :class="{'active':searchFom.studyStage === item.dictValue}"
+             @click="searchFom.studyStage = item.dictValue;getList('init');">
+              {{item.dictLabel}}
             </div>
           </div>
         </div>
@@ -44,15 +44,15 @@
           <div class="gray font_size14 typeName">教程分类:</div>
           <div class="flex_1 gap10">
             <div class="font_size14 typeItem"  :class="{'active':searchFom.courseCategory === ''}"
-            @click="searchFom.courseCategory === '';getList('init');"
+            @click="searchFom.courseCategory = '';getList('init');"
             :key="-1">
               全部
             </div>
             <div class="font_size14 typeItem" 
-             v-for="item in bus_course_category" :key="item.courseCategory"
-             :class="{'active':searchFom.courseCategory === item.courseCategory}"
-             @click="getList('init');">
-              {{item.categoryName}}
+             v-for="item in bus_course_category" :key="item.dictValue"
+             :class="{'active':searchFom.courseCategory === item.dictValue}"
+             @click="searchFom.courseCategory = item.dictValue;getList('init');">
+              {{item.dictLabel}}
             </div>
           </div>
         </div>
@@ -65,10 +65,10 @@
               全部
             </div>
             <div class="font_size14 typeItem" 
-             v-for="item in bus_skill_tag" :key="item.skillTag"
-             :class="{'active':searchFom.skillTag === item.skillTag}"
-             @click="searchFom.skillTag = item.skillTag; getList('init');">
-              {{item.categoryName}}
+             v-for="item in bus_skill_tag" :key="item.dictValue"
+             :class="{'active':searchFom.skillTag === item.dictValue}"
+             @click="searchFom.skillTag = item.dictValue; getList('init');">
+              {{item.dictLabel}}
             </div>
           </div>
         </div>
@@ -124,7 +124,8 @@
   import Pagination from '@/components/Pagination.vue'
 
   import { getCategoryListTree } from '@/api/category.js'
-  import { getCourseList, getDictType } from '@/api/course.js'
+  import { getCourseList } from '@/api/course.js'
+  import { getDictType } from '@/api/common.js'
 
   import { isLogin } from '@/utils/util.js'
   import { useI18n } from 'vue-i18n' 
@@ -215,14 +216,24 @@
     })
   };
 
-  //// 获取课程标签
-//学习阶段  bus_study_stage
-//教程分类  bus_course_category
-//技能标签  bus_skill_tag
+  // 获取课程标签
+  //学习阶段  bus_study_stage
+  //教程分类  bus_course_category
+  //技能标签  bus_skill_tag
   const getDictTypeFn = (dictType) => {
     getDictType({dictType}).then(res => {
       console.log(res)
-      [dictType].value = res.rows || [];
+      switch (dictType) {
+        case 'bus_study_stage':
+          bus_study_stage.value = res.rows || [];
+          break;
+        case 'bus_course_category':
+          bus_course_category.value = res.rows || [];
+          break;
+        case 'bus_skill_tag':
+          bus_skill_tag.value = res.rows || [];
+          break;
+      }
     })
   };