黄琪勇 1 năm trước cách đây
mục cha
commit
a34aa9f4a6

+ 4 - 0
src/components/myCalendar/myCalendar.vue

@@ -70,6 +70,10 @@ const isMarkClass = (date: string) => {
 }
 const { lang } = useLocale()
 const dateData = ref(props.modelValue)
+
+watch(isNowMonth, () => {
+   if (isNowMonth.value) dateData.value = props.modelValue
+})
 watch(dateData, (newVal, oldVal) => {
    if (newVal.getMonth() !== oldVal.getMonth()) {
       emits("monthChange", newVal)

+ 5 - 4
src/views/cloudTextbooks/cloudTextbooks.vue

@@ -35,12 +35,12 @@
                <div class="cloudTextbooksBox">
                   <div class="bookshelf" v-for="(list, index) in listData" :key="index">
                      <div class="book" v-for="item in list" :key="item.id">
-                        <div class="imgCon">
-                           <ElImage class="img" :src="item.img" @click="handleClick(item.id)" />
+                        <div class="imgCon" @click="handleClick(item.id)">
+                           <ElImage class="img" :src="item.img" />
                            <img class="imgbg" src="@/img/cloudTextbooks/yy.png" />
                            <img class="imgbg1" src="@/img/cloudTextbooks/hd1.png" />
                            <img class="imgbg2" src="@/img/cloudTextbooks/hd.png" />
-                           <div class="courseNum" @click="handleClick(item.id)">共{{ item.courseNum }}课</div>
+                           <div class="courseNum">共{{ item.courseNum }}课</div>
                         </div>
                         <div class="name">{{ item.name }}</div>
                      </div>
@@ -209,11 +209,11 @@ function handleClick(id: string) {
                   height: 212px;
                   display: inline-block;
                   position: relative;
+                  cursor: pointer;
                   &:hover {
                      transform: translateY(-4px);
                   }
                   .img {
-                     cursor: pointer;
                      width: 172px;
                      height: 212px;
                   }
@@ -223,6 +223,7 @@ function handleClick(id: string) {
                      right: -50px;
                      width: 76px;
                      height: 247px;
+                     pointer-events: none;
                   }
                   .imgbg1 {
                      position: absolute;

+ 18 - 3
src/views/coursewarePlay/coursewarePlay.vue

@@ -17,11 +17,27 @@
             </div>
          </div>
          <div class="rightTools posTools">
-            <div class="posBtn" @click="whitePenShow = true">
+            <div
+               class="posBtn"
+               @click="
+                  () => {
+                     videoPlayDom?.pauseVideo()
+                     whitePenShow = true
+                  }
+               "
+            >
                <img src="@/img/coursewarePlay/baiban.png" />
                <div>白板</div>
             </div>
-            <div class="posBtn" @click="penShow = true">
+            <div
+               class="posBtn"
+               @click="
+                  () => {
+                     videoPlayDom?.pauseVideo()
+                     penShow = true
+                  }
+               "
+            >
                <img src="@/img/coursewarePlay/pizhu.png" />
                <div>批注</div>
             </div>
@@ -273,7 +289,6 @@ function handleCoursewareEnd() {
    .activeName {
       transition: all 0.5s;
       position: absolute;
-      height: 120px;
       right: 30px;
       bottom: 15px;
       font-weight: 500;

+ 7 - 1
src/views/coursewarePlay/videoPlay/videoPlay.vue

@@ -171,6 +171,11 @@ function handlePlay() {
    playController.type === "pause" ? playerVm.play() : playerVm.pause()
    showController()
 }
+// 暂停
+function pauseVideo() {
+   playerVm.pause()
+   showController()
+}
 function handleLoop() {
    playController.loop ? playerVm.loop(false) : playerVm.loop(true)
    playController.loop = playerVm.loop()
@@ -209,7 +214,8 @@ function tryHideController() {
    }
 }
 defineExpose({
-   playVideo
+   playVideo,
+   pauseVideo
 })
 </script>
 

+ 3 - 1
src/views/curriculum/curriculum.vue

@@ -57,7 +57,9 @@ import {
 import { httpAjax } from "@/plugin/httpAjax"
 import { CODE_ERR_CANCELED } from "@/libs/auth"
 import { ElMessage } from "element-plus"
+import { useRoute } from "vue-router"
 
+const route = useRoute()
 const userStoreHook = userStore()
 const navs = [
    {
@@ -71,7 +73,7 @@ const navs = [
 
 const curriculumByMonth = shallowRef<string[]>([])
 const curriculumByDay = shallowRef<any[]>([])
-const dateValue = ref(new Date())
+const dateValue = ref(route.query.date ? new Date(route.query.date as string) : new Date())
 const loading = ref(false)
 const skeletonIng = ref(true)
 let monthController: AbortController

+ 4 - 4
src/views/curriculum/setUpCourseware.vue

@@ -11,12 +11,12 @@
          <div class="cloudTextbooksBox">
             <div class="bookshelf" v-for="(list, index) in listData" :key="index">
                <div class="book" v-for="item in list" :key="item.id">
-                  <div class="imgCon">
-                     <ElImage class="img" :src="item.img" @click="handleClick(item.id)" />
+                  <div class="imgCon" @click="handleClick(item.id)">
+                     <ElImage class="img" :src="item.img" />
                      <img class="imgbg" src="@/img/cloudTextbooks/yy.png" />
                      <img class="imgbg1" src="@/img/cloudTextbooks/hd1.png" />
                      <img class="imgbg2" src="@/img/cloudTextbooks/hd.png" />
-                     <div class="courseNum" @click="handleClick(item.id)">共{{ item.courseNum }}课</div>
+                     <div class="courseNum">共{{ item.courseNum }}课</div>
                   </div>
                   <div class="name">{{ item.name }}</div>
                </div>
@@ -187,11 +187,11 @@ function chunkArray(array: any[], size: number) {
                height: 212px;
                display: inline-block;
                position: relative;
+               cursor: pointer;
                &:hover {
                   transform: translateY(-4px);
                }
                .img {
-                  cursor: pointer;
                   width: 172px;
                   height: 212px;
                }

+ 10 - 1
src/views/homePage/homePage.vue

@@ -25,7 +25,7 @@
                         <div class="line"></div>
                         <div class="title">下次课程</div>
                      </div>
-                     <img class="rightRouter" @click="handleRouter('/curriculum')" src="@/img/homePage/back.png" />
+                     <img class="rightRouter" @click="handleRouterCurriculum" src="@/img/homePage/back.png" />
                   </div>
                   <el-skeleton class="elSkeleton" :loading="classDataLoading">
                      <template #template>
@@ -65,6 +65,7 @@ import curriculum_gym from "./components/curriculum/curriculum_gym.vue"
 import curriculum_gyt from "./components/curriculum/curriculum_gyt.vue"
 import { getRemind_gyt, getRecentCourseSchedule_gym } from "@/api/homePage.api"
 import { httpAjax } from "@/plugin/httpAjax"
+import { format } from "@/libs/tools"
 
 const userStoreHook = userStore()
 const router = useRouter()
@@ -178,6 +179,14 @@ function handleRouter(url?: string) {
            btnShow: [true]
         })
 }
+function handleRouterCurriculum() {
+   router.push({
+      path: "/curriculum",
+      query: {
+         date: classData.value.classDate ? format(classData.value.classDate) : ""
+      }
+   })
+}
 </script>
 <style lang="scss" scoped>
 .homePageNav.navContainer {

+ 1 - 1
vue.config.js

@@ -22,7 +22,7 @@ module.exports = defineConfig({
                         if (file.includes("normalize")) {
                            return true
                         }
-                        return false
+                        return true
                      }
                   })
                ]