|
|
@@ -4,6 +4,7 @@
|
|
|
课程列表
|
|
|
</div>
|
|
|
</h2>
|
|
|
+ <div class="grandTitle2" v-if="gotype.gotype == 'bjs'">人工智能通识课</div>
|
|
|
<div class="course_select">
|
|
|
<span class="grandTitle">课程类型:</span>
|
|
|
<el-button :class="courseTypeShow ? 'el_button_active' : ''" @click="SwitchCourseType(true)">AI通识课2025版</el-button>
|
|
|
@@ -147,6 +148,39 @@
|
|
|
</el-row>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="grandTitle2" v-if="gotype.gotype == 'bjs'" style="margin-top: 20px;">人工智能竞赛课</div>
|
|
|
+ <div class="course_select" v-if="gotype.gotype == 'bjs'">
|
|
|
+ <span class="grandTitle">课程类型:</span>
|
|
|
+ <el-button class="el_button_active">智能体课程</el-button>
|
|
|
+ <!-- <el-button :class="!courseTypeShow ? 'el_button_active' : ''" @click="SwitchCourseType(false)">AI通识课2024版</el-button> -->
|
|
|
+ </div>
|
|
|
+ <div class="course_select" v-if="gotype.gotype == 'bjs'">
|
|
|
+ <span class="grandTitle">模块:</span>
|
|
|
+ <el-button :class="selectmod == '模块一' ? 'el_button_active' : ''" @click="clickmod('模块一')">模块一</el-button>
|
|
|
+ <el-button :class="selectmod == '模块二' ? 'el_button_active' : ''" @click="clickmod('模块二')">模块二</el-button>
|
|
|
+ <el-button :class="selectmod == '模块三' ? 'el_button_active' : ''" @click="clickmod('模块三')">模块三</el-button>
|
|
|
+ <el-button :class="selectmod == '模块四' ? 'el_button_active' : ''" @click="clickmod('模块四')">模块四</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="course_select" v-if="gotype.gotype == 'bjs'">
|
|
|
+ <div v-if="currentmodData && currentmodData.shang.length > 0">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="6" v-for="item in currentmodData.shang" :key="item.title" style="margin-top: 10px;">
|
|
|
+ <div class="grid-content ep-bg-purple">
|
|
|
+ <img :src="getImageUrl(item.url)" alt="">
|
|
|
+ <div class="course_content">
|
|
|
+ <div class="div_title">
|
|
|
+ {{ item.title }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="class_button" v-if="isupdateCourse">
|
|
|
+ <el-button :style="item.courseType == '1' ? 'width: 50%;' : 'width: 100%;'" class="el_button_active"
|
|
|
+ @click="openCourseDetail(item.id, item)">上课</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<el-dialog v-model="dialogVisible" :before-close="handleClose" width=500>
|
|
|
<template #header>
|
|
|
<div class="dialog-header img_text_middle">
|
|
|
@@ -167,7 +201,7 @@
|
|
|
</template>
|
|
|
<script setup>
|
|
|
import { ref, onMounted, watchEffect } from 'vue';
|
|
|
-import { userCurrentRole, userInfoStore, userCurrent } from '../../stores/counter'
|
|
|
+import { userCurrentRole, userInfoStore, userCurrent,pageGotype } from '../../stores/counter'
|
|
|
import JSZip from 'jszip';
|
|
|
import { saveAs } from 'file-saver';
|
|
|
import DownloadImg from '@/assets/img/download.png'
|
|
|
@@ -190,8 +224,13 @@ const user = userInfoStore()
|
|
|
const CurrentRole = userCurrentRole()
|
|
|
const Current = userCurrent()
|
|
|
const selectGrand = ref('三年级')
|
|
|
+const selectmod = ref('模块一')
|
|
|
+const gotype = pageGotype()
|
|
|
+
|
|
|
const isupdateCourse = ref(false)
|
|
|
const currentData = ref(courseDataJson.old.三年级)
|
|
|
+const currentmodData = ref(courseDataJson.mod.模块一)
|
|
|
+
|
|
|
const dialogVisible = ref(false)
|
|
|
const updateReductionId = ref("")
|
|
|
const checked1 = ref(false)
|
|
|
@@ -201,6 +240,8 @@ const courseTypeShow = ref(true) // old 旧版 new 纲要
|
|
|
const setIntervalNum = ref(null)
|
|
|
|
|
|
const courseData = ref(courseDataJson.new)
|
|
|
+const modData = ref(courseDataJson.mod)
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
currentData.value = courseData.value["三年级"]
|
|
|
getTimeCourse(1, 1)
|
|
|
@@ -209,6 +250,10 @@ const clickGrand = val => {
|
|
|
selectGrand.value = val
|
|
|
currentData.value = courseData.value[val]
|
|
|
}
|
|
|
+const clickmod = val => {
|
|
|
+ selectmod.value = val
|
|
|
+ currentmodData.value = modData.value[val]
|
|
|
+}
|
|
|
const SwitchCourseType = (val) => {
|
|
|
courseTypeShow.value = val
|
|
|
if (val) {
|
|
|
@@ -649,4 +694,14 @@ watchEffect(() => {
|
|
|
font-size: 16px;
|
|
|
font-weight: 500;
|
|
|
}
|
|
|
+.grandTitle2 {
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 600 !important;
|
|
|
+ line-height: 28px;
|
|
|
+ letter-spacing: 0em;
|
|
|
+ // text-align: center;
|
|
|
+}
|
|
|
+.grandTitle3{
|
|
|
+ margin-top: 0;
|
|
|
+}
|
|
|
</style>
|