Explorar o código

实操课添加提示以及教学大纲换行问题

丸子 hai 8 meses
pai
achega
868c9374f0
Modificáronse 1 ficheiros con 21 adicións e 4 borrados
  1. 21 4
      src/views/AIGeneralCourse.vue

+ 21 - 4
src/views/AIGeneralCourse.vue

@@ -27,7 +27,7 @@
           <!-- 菜单栏 -->
           <div class="drawer-box">
             <el-row class="tac">
-              <el-col :span="15">
+              <el-col :span="12">
                 <span class="mb-2">
                   <img :src="teachingImg" alt="教学" />
                   教学大纲
@@ -103,7 +103,7 @@
               <template #prefix>
                 <el-icon class="el-input__icon"><search /></el-icon>
               </template>
-              <!-- 添加下拉项模板 -->
+              <!-- 下拉项模板 -->
               <template #popper-append-to-body>
                 <el-option
                 class="scrollbar"
@@ -204,6 +204,12 @@ const fetchClassOutline = async (classId) => {
 
 // 实操课
 const handleNewButtonClick = async() => {
+   // 检查是否有实操课数据
+  if (!showPracticalCourse.value && ClassOutlineScData.value.length === 0) {
+    // 实操课没有数据的时候显示提示
+    Message().notifyWarning('目前暂未开放此课程', true)
+    return
+  }
   // 切换状态
   showPracticalCourse.value = !showPracticalCourse.value
   // 保存状态到localStorage
@@ -221,7 +227,17 @@ const handleGradeSelect = command => {
   if (selectedItem) {
     localStorage.setItem('selectedGradeId', selectedItem.id)
     // 获取课程大纲
-    fetchClassOutline(selectedItem.id)
+    fetchClassOutline(selectedItem.id).then(() => {
+      // 检查是否当前显示的是实操课但没有实操课数据
+      if (showPracticalCourse.value && ClassOutlineScData.value.length === 0) {
+        // 切换回通识课
+        showPracticalCourse.value = false
+        // 显示提示
+        Message().notifyWarning('目前暂未开放此课程', true)
+        // 更新localStorage中的状态
+        localStorage.setItem('showPracticalCourse', 'false')
+      }
+    })
   }
 }
 // 添加切换抽屉显示状态的函数
@@ -457,13 +473,14 @@ const goToAIExperience = outlineData => {
   color: white;
   font-size: rpx(9);
   margin-left: rpx(10);
+  white-space: nowrap; /* 防止文字换行 */
 }
 .mb-2 img {
   width: rpx(15);
   height: rpx(15);
   vertical-align: middle;
   margin-top: rpx(-2);
-  margin-left: rpx(-5);
+  margin-left: 0;
 }
 .el-menu-item {
   width: rpx(115);