浏览代码

更新样式

lex 1 年之前
父节点
当前提交
959c540cdf

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

@@ -74,7 +74,7 @@ export default defineComponent({
               src={props.item.trainingType === 'EVALUATION' ? eTag : pTag}
               src={props.item.trainingType === 'EVALUATION' ? eTag : pTag}
               class={styles['title-tag']}
               class={styles['title-tag']}
             />
             />
-            <NEllipsis class={styles['title-text']}>
+            <NEllipsis class={styles['title-text']} tooltip={false}>
               {props.item.musicName}
               {props.item.musicName}
             </NEllipsis>
             </NEllipsis>
           </div>
           </div>

+ 2 - 1
src/views/prepare-lessons/components/directory-main/select-lessonware/index.module.less

@@ -25,10 +25,11 @@
 }
 }
 
 
 .classList {
 .classList {
-  min-height: 50vh;
+  min-height: 60vh;
   max-height: 60vh;
   max-height: 60vh;
 
 
   .content {
   .content {
+    min-height: 60vh;
     padding: 32px 40px;
     padding: 32px 40px;
   }
   }
 }
 }

+ 46 - 19
src/views/prepare-lessons/components/directory-main/select-lessonware/index.tsx

@@ -8,6 +8,7 @@ import {
   NScrollbar,
   NScrollbar,
   NSelect,
   NSelect,
   NSpace,
   NSpace,
+  NSpin,
   useDialog,
   useDialog,
   useMessage
   useMessage
 } from 'naive-ui';
 } from 'naive-ui';
@@ -16,34 +17,46 @@ import AddTeaching, {
 } from '/src/views/natural-resources/model/add-teaching';
 } from '/src/views/natural-resources/model/add-teaching';
 import { lessonCoursewarePage, lessonCoursewareRemove } from '../../../api';
 import { lessonCoursewarePage, lessonCoursewareRemove } from '../../../api';
 import iconUploadBg from '../images/icon-upload-bg.svg';
 import iconUploadBg from '../images/icon-upload-bg.svg';
+import { useCatchStore } from '/src/store/modules/catchData';
+import { useThrottleFn } from '@vueuse/core';
 
 
 export default defineComponent({
 export default defineComponent({
   name: 'select-lessonware',
   name: 'select-lessonware',
   emits: ['close', 'confirm'],
   emits: ['close', 'confirm'],
   setup(props, { emit }) {
   setup(props, { emit }) {
+    const catchStore = useCatchStore();
     const dialog = useDialog();
     const dialog = useDialog();
     const message = useMessage();
     const message = useMessage();
     const forms = reactive({
     const forms = reactive({
-      currentGradeNum: null,
-      bookType: null,
+      loading: false,
       list: [] as any[],
       list: [] as any[],
       teachingStatus: false,
       teachingStatus: false,
-      selectItem: {} as any
+      selectItem: {} as any,
+      bookVersionId: null,
+      keyword: null,
+      currentGradeNum: null,
+      bookType: null
     });
     });
 
 
     const getLessonCourseware = async () => {
     const getLessonCourseware = async () => {
+      forms.loading = true;
       try {
       try {
         const { data } = await lessonCoursewarePage({
         const { data } = await lessonCoursewarePage({
           page: 1,
           page: 1,
           rows: 99,
           rows: 99,
           type: 'COURSEWARE',
           type: 'COURSEWARE',
-          enableFlag: 1
+          enableFlag: 1,
+          bookVersionId: forms.bookVersionId,
+          keyword: forms.keyword,
+          currentGradeNum: forms.currentGradeNum,
+          bookType: forms.bookType
         });
         });
 
 
         forms.list = data.rows;
         forms.list = data.rows;
       } catch {
       } catch {
         //
         //
       }
       }
+      forms.loading = false;
     };
     };
 
 
     // 删除教材
     // 删除教材
@@ -64,35 +77,47 @@ export default defineComponent({
       });
       });
     };
     };
 
 
+    const throttledFn = useThrottleFn(() => getLessonCourseware(), 500);
+
     const onDetail = (item: any) => {
     const onDetail = (item: any) => {
       emit('confirm', item);
       emit('confirm', item);
       emit('close');
       emit('close');
     };
     };
 
 
-    onMounted(() => {
+    onMounted(async () => {
+      // 获取教材分类列表
+      await catchStore.getMusicSheetCategory();
       getLessonCourseware();
       getLessonCourseware();
     });
     });
     return () => (
     return () => (
       <div class={styles.selectLessonware}>
       <div class={styles.selectLessonware}>
         <div class={styles.attendClassSearch}>
         <div class={styles.attendClassSearch}>
-          <NInput placeholder="请输入班级名称" clearable>
+          <NInput
+            placeholder="请输入班级名称"
+            clearable
+            v-model:value={forms.keyword}
+            onKeyup={(e: KeyboardEvent) => {
+              if (e.code === 'Enter') {
+                throttledFn();
+              }
+            }}
+            onClear={() => throttledFn()}>
             {{
             {{
-              prefix: () => <span class="icon-search-input"></span>
+              prefix: () => (
+                <span
+                  class="icon-search-input"
+                  onClick={() => throttledFn()}></span>
+              )
             }}
             }}
           </NInput>
           </NInput>
           <NSelect
           <NSelect
             placeholder="版本"
             placeholder="版本"
             clearable
             clearable
-            options={[
-              {
-                label: '一年级',
-                value: '1'
-              },
-              {
-                label: '二年级',
-                value: '2'
-              }
-            ]}
+            options={catchStore.getMusicCategories}
+            labelField="name"
+            valueField="id"
+            v-model:value={forms.bookVersionId}
+            onUpdate:value={() => throttledFn()}
           />
           />
           <NSelect
           <NSelect
             placeholder="请选择年级"
             placeholder="请选择年级"
@@ -100,16 +125,18 @@ export default defineComponent({
             v-model:value={forms.currentGradeNum}
             v-model:value={forms.currentGradeNum}
             clearable
             clearable
             filterable
             filterable
+            onUpdate:value={() => throttledFn()}
           />
           />
           <NSelect
           <NSelect
             placeholder="请选择册别"
             placeholder="请选择册别"
             options={BOOK_DATA.bookTypes}
             options={BOOK_DATA.bookTypes}
             v-model:value={forms.bookType}
             v-model:value={forms.bookType}
             clearable
             clearable
+            onUpdate:value={() => throttledFn()}
           />
           />
         </div>
         </div>
         <NScrollbar class={styles.classList}>
         <NScrollbar class={styles.classList}>
-          <div class={styles.content}>
+          <NSpin show={forms.loading} class={styles.content}>
             <NSpace size={[50, 40]}>
             <NSpace size={[50, 40]}>
               <div
               <div
                 class={styles.item}
                 class={styles.item}
@@ -188,7 +215,7 @@ export default defineComponent({
                 );
                 );
               })}
               })}
             </NSpace>
             </NSpace>
-          </div>
+          </NSpin>
         </NScrollbar>
         </NScrollbar>
 
 
         {/* 添加自定义教材 */}
         {/* 添加自定义教材 */}

+ 13 - 0
src/views/prepare-lessons/components/lesson-main/courseware/index.tsx

@@ -106,6 +106,11 @@ export default defineComponent({
         negativeText: '取消',
         negativeText: '取消',
         onPositiveClick: async () => {
         onPositiveClick: async () => {
           try {
           try {
+            if (forms.coursewareList.length <= 0) {
+              forms.drag = false;
+              message.success('编辑成功');
+              return;
+            }
             const temp: any = [];
             const temp: any = [];
             forms.coursewareList.forEach((item: any) => {
             forms.coursewareList.forEach((item: any) => {
               temp.push({
               temp.push({
@@ -170,6 +175,14 @@ export default defineComponent({
               <NButton
               <NButton
                 type="error"
                 type="error"
                 onClick={() => {
                 onClick={() => {
+                  forms.drag = false;
+                  getList();
+                }}>
+                退出编辑
+              </NButton>
+              <NButton
+                type="error"
+                onClick={() => {
                   forms.coursewareList = [];
                   forms.coursewareList = [];
                   prepareStore.setCoursewareList([]);
                   prepareStore.setCoursewareList([]);
                 }}>
                 }}>

+ 13 - 0
src/views/prepare-lessons/components/lesson-main/train/index.tsx

@@ -50,6 +50,11 @@ export default defineComponent({
         negativeText: '取消',
         negativeText: '取消',
         onPositiveClick: async () => {
         onPositiveClick: async () => {
           try {
           try {
+            if (forms.trainList.length <= 0) {
+              forms.drag = false;
+              message.success('编辑成功');
+              return;
+            }
             // 保存课件
             // 保存课件
             await lessonPreTrainingBatchSave(forms.trainList);
             await lessonPreTrainingBatchSave(forms.trainList);
 
 
@@ -159,6 +164,14 @@ export default defineComponent({
               <NButton
               <NButton
                 type="error"
                 type="error"
                 onClick={() => {
                 onClick={() => {
+                  forms.drag = false;
+                  getList();
+                }}>
+                退出编辑
+              </NButton>
+              <NButton
+                type="error"
+                onClick={() => {
                   forms.trainList = [];
                   forms.trainList = [];
                   prepareStore.setTrainList([]);
                   prepareStore.setTrainList([]);
                 }}>
                 }}>

+ 8 - 0
src/views/prepare-lessons/components/resource-main/components/resource-item/index.module.less

@@ -3,6 +3,14 @@
   max-height: calc(var(--window-page-lesson-height) - 224px - 20px);
   max-height: calc(var(--window-page-lesson-height) - 224px - 20px);
   // overflow-x: auto;
   // overflow-x: auto;
 
 
+  &.listNoMusic {
+    max-height: calc(var(--window-page-lesson-height) - 224px - 20px + 60px);
+
+    .listSection {
+      min-height: calc(var(--window-page-lesson-height) - 224px - 20px + 60px);
+    }
+  }
+
   .listSection {
   .listSection {
     min-height: calc(var(--window-page-lesson-height) - 224px - 20px);
     min-height: calc(var(--window-page-lesson-height) - 224px - 20px);
   }
   }

+ 4 - 1
src/views/prepare-lessons/components/resource-main/components/resource-item/index.tsx

@@ -155,7 +155,10 @@ export default defineComponent({
           onSearch={(item: any) => onSearch(item)}
           onSearch={(item: any) => onSearch(item)}
         />
         />
         <NScrollbar
         <NScrollbar
-          class={styles.listContainer}
+          class={[
+            styles.listContainer,
+            state.searchGroup.type !== 'MUSIC' ? styles.listNoMusic : ''
+          ]}
           onScroll={(e: any) => {
           onScroll={(e: any) => {
             const clientHeight = e.target?.clientHeight;
             const clientHeight = e.target?.clientHeight;
             const scrollTop = e.target?.scrollTop;
             const scrollTop = e.target?.scrollTop;

+ 3 - 1
src/views/prepare-lessons/components/resource-main/components/resource-item/resource-search-group/index.module.less

@@ -2,7 +2,7 @@
   padding: 0 20px;
   padding: 0 20px;
 
 
   .searchSelect {
   .searchSelect {
-    padding: 20px 0;
+    padding: 20px 0 0;
     display: flex;
     display: flex;
     justify-content: flex-start;
     justify-content: flex-start;
     gap: 0px 16px;
     gap: 0px 16px;
@@ -22,6 +22,8 @@
 }
 }
 
 
 .inputSearch {
 .inputSearch {
+  margin-top: 20px;
+
   :global {
   :global {
     .n-input-wrapper {
     .n-input-wrapper {
       padding-left: 12px;
       padding-left: 12px;

+ 15 - 13
src/views/prepare-lessons/components/resource-main/components/resource-item/resource-search-group/index.tsx

@@ -67,19 +67,21 @@ export default defineComponent({
             ))}
             ))}
           </NSpace>
           </NSpace>
 
 
-          <div class={styles.searchSelect}>
-            <NSelect
-              placeholder="教材"
-              options={catchStore.getMusicCategories}
-              clearable
-              labelField="name"
-              valueField="id"
-              v-model:value={forms.bookVersionId}
-              onUpdate:value={() => {
-                onSearch();
-              }}
-            />
-          </div>
+          {forms.type === 'MUSIC' && (
+            <div class={styles.searchSelect}>
+              <NSelect
+                placeholder="教材"
+                options={catchStore.getMusicCategories}
+                clearable
+                labelField="name"
+                valueField="id"
+                v-model:value={forms.bookVersionId}
+                onUpdate:value={() => {
+                  onSearch();
+                }}
+              />
+            </div>
+          )}
 
 
           <NInput
           <NInput
             type="text"
             type="text"