Bladeren bron

ppt 类型选择课件的时候 直接弹出选择课件的弹窗

黄琪勇 4 maanden geleden
bovenliggende
commit
3f37733e8f
2 gewijzigde bestanden met toevoegingen van 25 en 4 verwijderingen
  1. 2 1
      src/views/courseware-play/component/PptList/index.tsx
  2. 23 3
      src/views/courseware-play/index.tsx

+ 2 - 1
src/views/courseware-play/component/PptList/index.tsx

@@ -15,7 +15,7 @@ export default defineComponent({
       type: String // 'PLATFORM' | 'TEACHER' | 'CLASS'
     }
   },
-  emits: ['initPPT', 'changeSlideIndex'],
+  emits: ['initPPT', 'changeSlideIndex', 'init'],
   setup(props, { emit, expose }) {
     const Authorization = storage.get(ACCESS_TOKEN);
     const iframeRef = ref<HTMLIFrameElement>();
@@ -40,6 +40,7 @@ export default defineComponent({
         emit('changeSlideIndex', content);
       }
     }
+    emit('init');
     onMounted(() => {
       window.addEventListener('message', handleMessage);
     });

+ 23 - 3
src/views/courseware-play/index.tsx

@@ -180,7 +180,8 @@ export default defineComponent({
     const pptData = reactive({
       pptEl: null as any,
       slidesLen: 1,
-      activeLen: 0
+      activeLen: 0,
+      disable: false
     });
     const activeData = reactive({
       isAutoPlay: true, // 是否自动播放
@@ -926,6 +927,7 @@ export default defineComponent({
     // 是否允许上一页
     const isUpArrow = computed(() => {
       if (data.coursewareType === 'PPT') {
+        if (pptData.disable) return false;
         if (pptData.activeLen > 0) {
           return true;
         }
@@ -999,6 +1001,7 @@ export default defineComponent({
     // 是否允许下一页
     const isDownArrow = computed(() => {
       if (data.coursewareType === 'PPT') {
+        if (pptData.disable) return false;
         if (pptData.activeLen < pptData.slidesLen - 1) {
           return true;
         }
@@ -1450,8 +1453,13 @@ export default defineComponent({
                         ref={el => {
                           pptData.pptEl = el;
                         }}
+                        onInit={() => {
+                          pptData.disable = true;
+                        }}
                         onInitPPT={({ slidesLen }) => {
+                          pptData.disable = false;
                           pptData.slidesLen = slidesLen;
+                          pptData.activeLen = 0;
                         }}
                         onChangeSlideIndex={({ slideIndex }) => {
                           pptData.activeLen = slideIndex;
@@ -1503,9 +1511,21 @@ export default defineComponent({
                   class={[
                     styles.fullBtn,
                     styles.point,
-                    data.coursewareType === 'PPT' ? styles.hideBtn : ''
+                    data.coursewareType === 'PPT' && data.allList.length <= 1
+                      ? styles.hideBtn
+                      : ''
                   ]}
-                  onClick={() => (popupData.open = true)}>
+                  onClick={() => {
+                    // 现在 如果当前是ppt,并且有多个课件的时候,就直接出现选择课件
+                    if (
+                      data.coursewareType === 'PPT' &&
+                      data.allList.length > 1
+                    ) {
+                      checkCourseware({}, 'same');
+                    } else {
+                      popupData.open = true;
+                    }
+                  }}>
                   <img src={iconMenu} />
                   <span>课件</span>
                 </div>