lex 1 年間 前
コミット
c20d5489e5

+ 6 - 8
src/components/card-preview/video-modal/index.module.less

@@ -23,7 +23,7 @@
       display: flex;
       justify-content: space-between;
       color: #fff;
-      padding: 4px 12px 4px;
+      padding: 4px 0 4px 12px;
       font-size: max(24px, 14Px);
       font-weight: 600;
       line-height: 33px;
@@ -35,9 +35,7 @@
 
       :global {
         .plyr__time {
-
           font-size: max(22px, 12Px);
-
         }
 
         .plyr__time+.plyr__time:before {
@@ -77,8 +75,8 @@
 
 
     .actionBtnSpeed {
-      width: 40px;
-      height: 40px;
+      width: 32px;
+      height: 32px;
       background-color: transparent;
       cursor: pointer;
 
@@ -90,8 +88,8 @@
 
 
     .iconReplay {
-      width: 40px;
-      height: 40px;
+      width: 35px;
+      height: 35px;
       background-color: transparent;
       cursor: pointer;
       margin: 0 22px;
@@ -105,7 +103,7 @@
     .iconDownload {
       width: 40px;
       height: 40px;
-      margin-left: 5px;
+      margin-left: 12px;
       background-color: transparent;
       cursor: pointer;
 

+ 2 - 2
src/components/card-preview/video-modal/index.tsx

@@ -268,7 +268,7 @@ export default defineComponent({
               value={videoFroms.defaultSpeed}
               step={0.1}
               max={1.5}
-              min={0.6}
+              min={0.5}
               vertical
               tooltip={false}
               onUpdate:value={(val: number) => {
@@ -289,7 +289,7 @@ export default defineComponent({
             <i
               class={[styles.iconCut]}
               onClick={() => {
-                if (videoFroms.defaultSpeed <= 0.6) {
+                if (videoFroms.defaultSpeed <= 0.5) {
                   return;
                 }
                 if (videoItem.value) {

+ 9 - 9
src/views/attend-class/component/video-play.tsx

@@ -115,7 +115,7 @@ export default defineComponent({
       emit('togglePlay', videoFroms.paused);
     };
 
-    let videoTimer = null as any;
+    const videoTimer = null as any;
     let videoTimerErrorCount = 0;
     const handlePlayVideo = () => {
       if (videoTimerErrorCount > 5) {
@@ -125,12 +125,12 @@ export default defineComponent({
       nextTick(() => {
         videoItem.value?.play().catch((err: any) => {
           // console.log('🚀 ~ err:', err)
-          videoTimer = setTimeout(() => {
-            if (err?.message?.includes('play()')) {
-              // emit('play');
-            }
-            handlePlayVideo();
-          }, 1000);
+          // videoTimer = setTimeout(() => {
+          //   if (err?.message?.includes('play()')) {
+          //     // emit('play');
+          //   }
+          //   handlePlayVideo();
+          // }, 1000);
         });
       });
       videoTimerErrorCount++;
@@ -380,7 +380,7 @@ export default defineComponent({
               value={videoFroms.defaultSpeed}
               step={0.1}
               max={1.5}
-              min={0.6}
+              min={0.5}
               vertical
               tooltip={false}
               onUpdate:value={(val: number) => {
@@ -402,7 +402,7 @@ export default defineComponent({
             <i
               class={[styles.iconCut]}
               onClick={() => {
-                if (videoFroms.defaultSpeed <= 0.6) {
+                if (videoFroms.defaultSpeed <= 0.5) {
                   return;
                 }
                 if (videoItem.value) {

+ 2 - 2
src/views/attend-class/component/video.module.less

@@ -53,7 +53,7 @@
       }
 
       .line {
-        font-size: 12px;
+        font-size: 20px;
       }
 
       :global {
@@ -140,7 +140,7 @@
 .sliderPopup {
   position: absolute;
   z-index: 9999;
-  left: 184px;
+  left: 164px;
   bottom: 90px;
   display: flex;
   align-items: center;

BIN
src/views/attend-class/image/icon-speed.png


+ 1 - 1
src/views/natural-resources/components/my-resources/index.module.less

@@ -246,7 +246,7 @@
     padding: 20px 40px 0;
 
     p {
-      font-size: max(18px, 14px);
+      font-size: max(18px, 14Px);
       color: #777777;
       line-height: 30px;
       text-align: center;

BIN
src/views/prepare-lessons/components/directory-main/images/arrow-active.png


BIN
src/views/prepare-lessons/components/directory-main/images/arrow-default.png


BIN
src/views/prepare-lessons/components/directory-main/images/icon-d-active.png


BIN
src/views/prepare-lessons/components/directory-main/images/icon-d.png


+ 11 - 3
src/views/prepare-lessons/components/directory-main/index.module.less

@@ -120,6 +120,10 @@
       font-size: max(18px, 14Px);
       color: #131415;
       line-height: 25px;
+      white-space: nowrap;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      max-width: 200px;
     }
 
     .subjects {
@@ -127,6 +131,10 @@
       color: #777777;
       line-height: 20px;
       padding: 11px 0 15px;
+      white-space: nowrap;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      max-width: 200px;
     }
 
     .changeDir {
@@ -137,7 +145,7 @@
       color: #0378EC;
       line-height: 20px;
       padding: 4px 12px;
-      display: flex;
+      display: inline-flex;
       align-items: center;
       cursor: pointer;
 
@@ -170,7 +178,7 @@
   font-size: max(17px, 12Px);
 
   &:hover {
-    background: #F5F6FA;
+    background: #E8F4FF;
   }
 
   .title {
@@ -231,7 +239,7 @@
   }
 
   &.childSelect {
-    background: #F5F6FA;
+    background: #E8F4FF;
 
     .title {
       color: var(--n-color);

+ 14 - 6
src/views/prepare-lessons/components/directory-main/index.tsx

@@ -1,4 +1,4 @@
-import { defineComponent, onMounted, reactive, ref } from 'vue';
+import { computed, defineComponent, onMounted, reactive, ref } from 'vue';
 import styles from './index.module.less';
 import { NIcon, NSpin, NScrollbar, NModal, NImage } from 'naive-ui';
 import {
@@ -172,6 +172,14 @@ export default defineComponent({
       setLastUseCoursewareId(item.id);
     };
 
+    const formatSubjectNames = computed(() => {
+      const names = prepareStore.getBaseCourseware.subjectNames;
+      if (!names) {
+        return '';
+      }
+      return names.split(',').join('、');
+    });
+
     onMounted(async () => {
       show.value = true;
       await getLessonCourseware();
@@ -193,7 +201,9 @@ export default defineComponent({
         {forms.showSelectBookStatus &&
           (prepareStore.getBaseCourseware.id ? (
             <div id="lessons-0" class={styles['select-directory-info']}>
-              <div class={styles.itemImg}>
+              <div
+                class={styles.itemImg}
+                onClick={() => (forms.coursewareStatus = true)}>
                 <NImage
                   objectFit="cover"
                   src={prepareStore.getBaseCourseware.coverImg}
@@ -206,9 +216,7 @@ export default defineComponent({
               </div>
               <div class={styles.itemContent}>
                 <h2>{prepareStore.getBaseCourseware.name}</h2>
-                <div class={styles.subjects}>
-                  {prepareStore.getBaseCourseware.subjectNames}
-                </div>
+                <div class={styles.subjects}>{formatSubjectNames.value}</div>
                 <div
                   class={styles.changeDir}
                   onClick={() => (forms.coursewareStatus = true)}>
@@ -368,7 +376,7 @@ export default defineComponent({
           preset="card"
           showIcon={false}
           class={['modalTitle background', styles.coursewareModal]}
-          title={'选择教材'}
+          title={'切换教材'}
           blockScroll={false}>
           <SelectLessonware
             onClose={() => (forms.coursewareStatus = false)}

+ 5 - 3
src/views/prepare-lessons/components/lesson-main/courseware-head/index.module.less

@@ -1,8 +1,8 @@
 .headerTitle {
-  display: flex;
-  align-items: center;
+  // display: flex;
+  // align-items: center;
   font-weight: 600;
-  font-size: max(15px, 12Px);
+  font-size: max(18px, 14Px);
   color: #000000;
   line-height: 21px;
   padding: 21px 0;
@@ -16,6 +16,8 @@
     flex-shrink: 0;
     background: url('../../../images/icon-book.png') no-repeat center;
     background-size: contain;
+    vertical-align: middle;
+    display: inline-block;
   }
 
   span {

+ 12 - 4
src/views/prepare-lessons/components/lesson-main/courseware-head/index.tsx

@@ -51,7 +51,7 @@ export default defineComponent({
         <div class={styles.formContainer}>
           <div class={[styles.btnItem, styles.block]}>
             <span class={[styles.btnTitle]}>
-              <span>*</span>标题
+              <span>*</span>课件标题
             </span>
             <NInput
               placeholder="请输入课件标题"
@@ -62,7 +62,7 @@ export default defineComponent({
           </div>
           <div class={[styles.btnItem, styles.block]}>
             <span class={[styles.btnTitle]}>
-              <span>*</span>声部
+              <span>*</span>课件声部
             </span>
             <NSelect
               placeholder="请选择声部(可多选)"
@@ -71,7 +71,7 @@ export default defineComponent({
               labelField="name"
               valueField="id"
               multiple
-              maxTagCount={1}
+              maxTagCount={2}
               size="small"
               v-model:value={forms.subjects}
               clearable
@@ -105,7 +105,15 @@ export default defineComponent({
             <NSwitch v-model:value={forms.autoPlay} />
           </div>
           <div class={styles.btnItem}>
-            <span class={styles.btnTitle}>公开</span>
+            <span class={styles.btnTitle}>
+              公开课件
+              <NTooltip style={{ maxWidth: '200px' }} showArrow={false}>
+                {{
+                  trigger: () => <i class={styles.iconQuestion}></i>,
+                  default: () => '公开课件后,其它老师可以使用该课件上课'
+                }}
+              </NTooltip>
+            </span>
             {!forms.openFlagEnable ? (
               <NTooltip style={{ maxWidth: '200px' }} showArrow={false}>
                 {{

+ 3 - 3
src/views/prepare-lessons/components/lesson-main/index.module.less

@@ -105,10 +105,10 @@
   :global {
     .n-button {
       border-radius: 8px;
-      height: 38px;
-      font-size: max(15px, 12Px);
+      height: 42px;
+      font-size: max(18px, 14Px);
       font-weight: 600 !important;
-      padding: 0 27px;
+      padding: 0 32px;
     }
 
     .n-button--error-type {

+ 3 - 1
src/views/prepare-lessons/components/lesson-main/index.tsx

@@ -43,7 +43,9 @@ export default defineComponent({
     };
 
     return () => (
-      <div class={[state.editCoursewareShow && styles.coursewareSection]}>
+      <div
+        class={[state.editCoursewareShow && styles.coursewareSection]}
+        style={{ height: '100%' }}>
         {/* 编辑作业头部标题 */}
         {state.editCoursewareShow && (
           <div class={styles.coursewareHeader}>

+ 6 - 1
src/views/prepare-lessons/index.module.less

@@ -4,6 +4,7 @@
   // padding-bottom: 32px;
   height: calc(100vh - 118px);
   overflow: hidden;
+  border-radius: 20px;
 
   .directoryMain,
   .resourceMain {
@@ -13,9 +14,13 @@
   }
 
 
+  .directoryMain {
+    margin-right: 20px;
+  }
+
 
   .lessonMain {
-    margin: 0 20px;
+    margin: 0 20px 0 0;
     flex: 1;
     // background-color: #fff;
     border-radius: 20px;