lex 1 year ago
parent
commit
ef8667bfe3
20 changed files with 94 additions and 57 deletions
  1. BIN
      src/components/TheEmpty/images/nomore.png
  2. 2 2
      src/components/TheEmpty/index.module.less
  3. 3 3
      src/views/attend-class/model/select-class/index.module.less
  4. 1 0
      src/views/attend-class/model/select-class/index.tsx
  5. BIN
      src/views/attend-class/model/train-type/images/icon-edit-active.png
  6. 36 16
      src/views/attend-class/model/train-type/index.module.less
  7. 2 1
      src/views/attend-class/model/train-type/index.tsx
  8. 1 1
      src/views/home/index2.module.less
  9. 1 1
      src/views/home/modals/class-modal/index.module.less
  10. 13 11
      src/views/prepare-lessons/components/lesson-main/courseware-presets/index.module.less
  11. 2 1
      src/views/prepare-lessons/components/lesson-main/courseware-presets/index.tsx
  12. 4 4
      src/views/prepare-lessons/components/lesson-main/courseware-presets/select-related/index.module.less
  13. 4 0
      src/views/prepare-lessons/components/lesson-main/courseware-presets/select-related/index.tsx
  14. 1 6
      src/views/prepare-lessons/components/lesson-main/courseware/addCourseware.tsx
  15. 1 1
      src/views/prepare-lessons/components/lesson-main/train/assign-student/index.module.less
  16. 3 1
      src/views/prepare-lessons/components/lesson-main/train/index.tsx
  17. BIN
      src/views/prepare-lessons/images/icon-no-work.png
  18. 9 5
      src/views/prepare-lessons/model/add-courseware-protocol/index.module.less
  19. 2 2
      src/views/prepare-lessons/model/courseware-type/index.tsx
  20. 9 2
      src/views/prepare-lessons/model/related-class/index.tsx

BIN
src/components/TheEmpty/images/nomore.png


+ 2 - 2
src/components/TheEmpty/index.module.less

@@ -15,7 +15,7 @@
   }
 
   .emptyImg {
-    width: 240px;
-    height: 240px;
+    width: 196px;
+    height: 196px;
   }
 }

+ 3 - 3
src/views/attend-class/model/select-class/index.module.less

@@ -1,18 +1,18 @@
 .selectClass {
-  padding: 27px 0;
+  padding: 12px 0 27px;
 }
 
 .selectClassScroll {
   min-height: 60vh;
   max-height: 60vh;
-  padding: 0 33px
+
 }
 
 .list {
   display: flex;
   flex-flow: row wrap;
   justify-content: flex-start;
-  padding: 0 0 12px;
+  padding: 14px 33px 12px;
   gap: 20px 0;
   margin: 0 -10px 0;
   min-height: 300px;

+ 1 - 0
src/views/attend-class/model/select-class/index.tsx

@@ -31,6 +31,7 @@ export default defineComponent({
       forms.loading = true;
       try {
         // 如果是上课则查询班级声部,预览查询全部
+        console.log(props.classId, props.subjectId);
         const { data } = await teacherChapterLessonCoursewareList({
           coursewareDetailKnowledgeId: props.courseId,
           subjectId: props.classId ? props.subjectId : null

BIN
src/views/attend-class/model/train-type/images/icon-edit-active.png


+ 36 - 16
src/views/attend-class/model/train-type/index.module.less

@@ -6,6 +6,7 @@
   position: relative;
   overflow: hidden;
   border: 1px solid #CAE4F4;
+  transition: all .2s ease;
 
   .overflowBg {
     position: absolute;
@@ -17,6 +18,18 @@
     padding: 20px;
     cursor: move;
   }
+
+  &:hover {
+    transition: all .2s ease;
+    border-color: #007afe;
+    transform: scale(1.01);
+
+    .iconDelete {
+      opacity: 1;
+      visibility: visible;
+      transition: all .2s ease;
+    }
+  }
 }
 
 .train-header {
@@ -103,7 +116,7 @@
     .n-image {
       width: 100%;
       height: inherit;
-      transition: all 0.2s ease;
+      // transition: all 0.2s ease;
 
       img {
         width: 100%;
@@ -196,18 +209,12 @@
       transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     }
 
-    .iconDelete {
-      opacity: 1;
-      visibility: visible;
-      transition: all .2s ease;
-    }
-
-    :global {
-      .n-image {
-        transform: scale(1.05);
-        transition: all 0.2s ease;
-      }
-    }
+    // :global {
+    //   .n-image {
+    //     transform: scale(1.05);
+    //     transition: all 0.2s ease;
+    //   }
+    // }
   }
 
   .iconDelete {
@@ -245,9 +252,22 @@
     padding: 0;
     border-radius: 50%;
 
-    img {
-      height: 34px;
+    // img {
+    //   height: 34px;
+    //   width: 34px;
+    // }
+
+    .iconEdit {
+      display: inline-block;
       width: 34px;
+      height: 34px;
+      background: url('./images/icon-edit.png') no-repeat center;
+      background-size: contain;
+
+      &:hover {
+        background: url('./images/icon-edit-active.png') no-repeat center;
+        background-size: contain;
+      }
     }
   }
 }
@@ -292,7 +312,7 @@
     align-items: center;
     padding-top: 5px;
     font-size: 11Px;
-    font-weight: 500;
+    font-weight: 400;
     color: rgba(0, 0, 0, 0.5);
 
     :global {

+ 2 - 1
src/views/attend-class/model/train-type/index.tsx

@@ -292,7 +292,8 @@ export default defineComponent({
                 }}>
                 <NTooltip showArrow={false}>
                   {{
-                    trigger: () => <img src={iconEdit} />,
+                    trigger: () => <i class={styles.iconEdit}></i>,
+                    // <img src={iconEdit} />
                     default: '编辑'
                   }}
                 </NTooltip>

+ 1 - 1
src/views/home/index2.module.less

@@ -671,7 +671,7 @@
   }
 
   .n-empty {
-    --n-font-size: max(16px, 14Px) !important;
+    --n-font-size: max(16px, 12Px) !important;
   }
 }
 

+ 1 - 1
src/views/home/modals/class-modal/index.module.less

@@ -53,7 +53,7 @@
   }
 
   .n-empty {
-    --n-font-size: max(16px, 14Px) !important;
+    --n-font-size: max(16px, 12Px) !important;
   }
 }
 

+ 13 - 11
src/views/prepare-lessons/components/lesson-main/courseware-presets/index.module.less

@@ -13,11 +13,12 @@
       transform: none;
     }
 
-    .list {
-      .itemWrap {
-        width: calc(100% / 3);
-      }
-    }
+    // .list {
+    //   .itemWrap {
+    //     // width: calc(100% / 3);
+    //     width: 336px;
+    //   }
+    // }
   }
 
   :global {
@@ -54,7 +55,7 @@
     background: #FFFFFF;
     box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
     border-radius: 0px 17px 17px 0px;
-    flex: 0 0 380px;
+    flex: 0 0 340px;
 
     transition: all .1s ease;
     position: absolute;
@@ -116,8 +117,8 @@
 }
 
 .addBtnIcon {
-  width: 13px !important;
-  height: 14px !important;
+  width: 18px !important;
+  height: 18px !important;
   margin-right: 8px;
 }
 
@@ -127,8 +128,8 @@
   border-radius: 7Px !important;
   padding: 0 16Px !important;
   border-radius: 8px;
-  height: 38px;
-  font-size: max(15px, 12Px) !important;
+  height: max(38px, 32Px);
+  font-size: max(18px, 13Px) !important;
   font-weight: 600 !important;
   position: relative;
   z-index: 9;
@@ -265,7 +266,8 @@
   }
 
   .itemWrap {
-    width: calc(100% / 4);
+    // width: calc(100% / 4);
+    width: 336px;
     // padding-bottom: calc(100% / 3 * 0.73333);
     // position: relative;
 

+ 2 - 1
src/views/prepare-lessons/components/lesson-main/courseware-presets/index.tsx

@@ -111,6 +111,7 @@ export default defineComponent({
       try {
         // 判断是否有选择对应的课件 或声部
         if (!prepareStore.getSelectKey) return (forms.loading = false);
+
         const { data } = await teacherChapterLessonCoursewareList({
           subjectId: prepareStore.getSubjectId,
           coursewareDetailKnowledgeId: prepareStore.getSelectKey
@@ -146,9 +147,9 @@ export default defineComponent({
     watch(
       () => [prepareStore.getSelectKey, prepareStore.getSubjectId],
       async () => {
+        eventGlobal.emit('openCoursewareChanged');
         await getCoursewareList();
         // await getOpenCoursewareList();
-        eventGlobal.emit('openCoursewareChanged');
 
         subjectRef.value?.syncBarPosition();
       }

+ 4 - 4
src/views/prepare-lessons/components/lesson-main/courseware-presets/select-related/index.module.less

@@ -47,8 +47,8 @@
 
   .itemCover {
     position: relative;
-    width: 111px;
-    height: 63px;
+    width: 118px;
+    height: 66px;
     margin-right: 10px;
     border-radius: 12px;
     border: 1px solid #EFF0F2;
@@ -56,8 +56,8 @@
 
     :global {
       .n-image {
-        width: 111px;
-        height: 63px;
+        width: 118px;
+        height: 66px;
       }
     }
 

+ 4 - 0
src/views/prepare-lessons/components/lesson-main/courseware-presets/select-related/index.tsx

@@ -40,6 +40,7 @@ export default defineComponent({
     const getList = async () => {
       try {
         if (!prepareStore.getSelectKey) return;
+
         if (state.pagination.page === 1) {
           state.loading = true;
         }
@@ -50,6 +51,9 @@ export default defineComponent({
           ...state.searchGroup,
           ...state.pagination
         });
+        if (state.pagination.page === 1 && state.tableList.length > 0) {
+          state.tableList = [];
+        }
         const result = data.rows || [];
         const tempList: any = [];
         result.forEach((item: any) => {

+ 1 - 6
src/views/prepare-lessons/components/lesson-main/courseware/addCourseware.tsx

@@ -503,12 +503,7 @@ export default defineComponent({
           event();
 
           emit('change', {
-            status: false,
-            addParam: {
-              isAdd: !props.groupItem.id ? true : false,
-              name: forms.name,
-              id: forms.createId
-            }
+            status: false
           });
           eventGlobal.emit('teacher-slideshow', false);
         }

+ 1 - 1
src/views/prepare-lessons/components/lesson-main/train/assign-student/index.module.less

@@ -159,7 +159,7 @@
 
   .student {
     padding: 0 30px;
-    height: calc(50vh);
+    height: calc(48vh);
   }
 
   .studentItem {

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

@@ -244,7 +244,9 @@ export default defineComponent({
         <div class={styles.btnGroup}>
           <NSpace>
             <div class={styles.btnItem}>
-              <span class={styles.btnTitle}>标题:</span>
+              <span class={styles.btnTitle}>
+                <i style={{ color: '#ea4132', fontStyle: 'normal' }}>*</i>标题:
+              </span>
               <NInput
                 placeholder={'请输入标题'}
                 v-model:value={forms.title}

BIN
src/views/prepare-lessons/images/icon-no-work.png


+ 9 - 5
src/views/prepare-lessons/model/add-courseware-protocol/index.module.less

@@ -52,7 +52,7 @@
   }
 
   p {
-    font-size: max(18px, 14Px);
+    font-size: max(18px, 13Px);
     font-family: PingFangSC-Regular, PingFang SC;
     font-weight: 400;
     color: #777777;
@@ -77,13 +77,17 @@
   padding-top: 17px;
   display: flex;
   align-items: flex-start;
-  font-size: 13px;
-  color: #333333;
-  line-height: 20px;
+
   cursor: pointer;
 
+  p {
+    font-size: max(16px, 12Px);
+    // line-height: 20px;
+    color: #333333;
+  }
+
   .checkbox {
-    margin-top: 6px;
+    margin-top: 5px;
     margin-right: 5px;
     width: 15Px;
     height: 15Px;

+ 2 - 2
src/views/prepare-lessons/model/courseware-type/index.tsx

@@ -89,7 +89,7 @@ export default defineComponent({
           {/* 是否有添加逻辑 */}
           {props.isShowAdd && (
             <div class={styles.function}>
-              <NTooltip showArrow={false} duration={30}>
+              <NTooltip showArrow={false} duration={30} animated={false}>
                 {{
                   trigger: () => (
                     <i class={styles.iconLook} onClick={() => emit('look')}></i>
@@ -97,7 +97,7 @@ export default defineComponent({
                   default: () => '预览课件'
                 }}
               </NTooltip>
-              <NTooltip showArrow={false} duration={30}>
+              <NTooltip showArrow={false} duration={30} animated={false}>
                 {{
                   trigger: () => (
                     <i class={styles.iconAdd} onClick={() => emit('add')}></i>

+ 9 - 2
src/views/prepare-lessons/model/related-class/index.tsx

@@ -1,10 +1,11 @@
-import { defineComponent, onMounted, reactive, watch } from 'vue';
+import { defineComponent, onMounted, onUnmounted, reactive, watch } from 'vue';
 import styles from './index.module.less';
 import { NInput, NScrollbar, NSelect, NSpin } from 'naive-ui';
 import { useThrottleFn } from '@vueuse/core';
 import CoursewareType from '../courseware-type';
 import TheEmpty from '/src/components/TheEmpty';
 import { api_queryOpenCoursewareByPage } from '../../api';
+import { eventGlobal } from '/src/utils';
 
 export default defineComponent({
   name: 'related-class',
@@ -37,7 +38,7 @@ export default defineComponent({
       },
       tableList: [] as any,
       searchGroup: {
-        subjectId: props.subjectId,
+        subjectId: props.subjectId ? Number(props.subjectId) : '',
         keyword: null
       }
     });
@@ -98,12 +99,18 @@ export default defineComponent({
     // );
 
     const throttleFn = useThrottleFn(() => {
+      forms.pagination.page = 1;
       forms.tableList = [];
       getList();
     }, 500);
 
     onMounted(() => {
       getList();
+      eventGlobal.on('openCoursewareChanged', throttleFn);
+    });
+
+    onUnmounted(() => {
+      eventGlobal.off('openCoursewareChanged', throttleFn);
     });
     return () => (
       <div class={styles.relatedClass}>