Browse Source

Merge remote-tracking branch 'origin/iteration-login' into startLogin

mo 1 year ago
parent
commit
a101423f96

+ 6 - 1
src/views/classList/components/classRecord.tsx

@@ -35,7 +35,12 @@ export default defineComponent({
     };
 
     const onReset = () => {
-      state.searchForm = { createTimer: null as any };
+      state.searchForm = {
+        createTimer: [
+          dayjs(nowTime).subtract(1, 'month').valueOf(),
+          dayjs(nowTime).valueOf()
+        ] as any
+      };
       search();
     };
     const getList = async () => {

+ 5 - 2
src/views/classList/index.tsx

@@ -150,7 +150,7 @@ export default defineComponent({
                     学生调整
                   </NButton>
                   <NButton
-                  disabled={!(row.preStudentNum > 0)}
+                    disabled={!(row.preStudentNum > 0)}
                     type="primary"
                     text
                     onClick={() => classesBegin(row)}>
@@ -241,7 +241,10 @@ export default defineComponent({
           v-slots={{
             icon: () => (
               <>
-                <NImage class={styles.addBtnIcon} previewDisabled src={add}></NImage>
+                <NImage
+                  class={styles.addBtnIcon}
+                  previewDisabled
+                  src={add}></NImage>
               </>
             )
           }}>

+ 9 - 7
src/views/home/index.tsx

@@ -49,11 +49,11 @@ import HomeGuide from '/src/custom-plugins/guide-page/home-guide';
 export const formatDateToDay = () => {
   const hours = dayjs().hour();
   if (hours < 12) {
-    return '早上好'; //如果小时数小于12则输出“早上好!”
+    return '早上好'; //如果小时数小于12则输出“早上好!”
   } else if (hours > 12 && hours < 18) {
-    return '下午好'; //如果小时数大于12并且小于18,输入“下午好!”
+    return '下午好'; //如果小时数大于12并且小于18,输入“下午好!”
   } else {
-    return '晚上好'; //如果上面两个条件都不符合,则输出“晚上好!”
+    return '晚上好'; //如果上面两个条件都不符合,则输出“晚上好!”
   }
 };
 
@@ -139,6 +139,7 @@ export default defineComponent({
           page: 1,
           rows: 99,
           type: 'COURSEWARE'
+          // currentGradeNum: forms.applyClassItem.currentGradeNum
         });
 
         forms.list = data.rows.map((item: any) => {
@@ -207,9 +208,9 @@ export default defineComponent({
           }
 
           const classList: any = [];
-          item.classGroupList.forEach((i: any, j: number) => {
+          item.classGroupList.forEach((i: any) => {
             classList.push({
-              label: j + 1 + '班',
+              label: i.currentClass + '班',
               value: i.id,
               lastStudy: i.lastStudy
             });
@@ -234,7 +235,8 @@ export default defineComponent({
         const { data } = await courseSchedulePage({
           classGroupId: forms.classSelect.currentClass,
           page: 1,
-          rows: 6
+          rows: 6,
+          teacherId: userStore.getUserInfo.id
         });
 
         const result = data.rows || [];
@@ -437,7 +439,7 @@ export default defineComponent({
                         disabled={!forms.category}
                         {...({
                           options: [...forms.unitList],
-                          placeholder: '选择单元',
+                          placeholder: '选择章节',
                           clearable: true
                         } as any)}
                         childrenField="knowledgeList"

+ 31 - 27
src/views/natural-resources/components/my-collect/index.tsx

@@ -41,7 +41,23 @@ export default defineComponent({
         });
         state.loading = false;
         state.pageTotal = Number(data.total);
-        state.tableList = data.rows || [];
+        const tempRows = data.rows || [];
+        const temp: any = [];
+        tempRows.forEach((row: any) => {
+          temp.push({
+            id: row.id,
+            coverImg: row.coverImg,
+            type: row.type,
+            title: row.name,
+            isCollect: !!row.favoriteFlag,
+            isSelected: row.sourceFrom === 'PLATFORM' ? true : false,
+            content: row.content,
+            subjectId: row.subjectIds,
+            enableFlag: row.enableFlag ? 1 : 0,
+            openFlag: row.openFlag
+          });
+        });
+        state.tableList = temp || [];
       } catch {
         state.loading = false;
       }
@@ -96,32 +112,20 @@ export default defineComponent({
 
         <NSpin v-model:show={state.loading} style={{ 'min-height': '50vh' }}>
           <div class={styles.list}>
-            {state.tableList.map((item: any) => {
-              const tmpItem = {
-                id: item.id,
-                coverImg: item.coverImg,
-                type: item.type,
-                title: item.name,
-                isCollect: !!item.favoriteFlag,
-                isSelected: item.sourceFrom === 'PLATFORM' ? true : false,
-                enableFlag: item.enableFlag ? 1 : 0,
-                openFlag: item.openFlag
-              };
-              return (
-                <CardType
-                  item={tmpItem}
-                  offShelf={item.enableFlag ? false : true}
-                  onOffShelf={() => onRemove(item)}
-                  disabledMouseHover={false}
-                  onClick={(val: any) => {
-                    if (val.type === 'IMG' || !item.enableFlag) return;
-                    state.show = true;
-                    state.item = val;
-                  }}
-                  onCollect={(item: any) => onCollect(item)}
-                />
-              );
-            })}
+            {state.tableList.map((item: any) => (
+              <CardType
+                item={item}
+                offShelf={item.enableFlag ? false : true}
+                onOffShelf={() => onRemove(item)}
+                disabledMouseHover={false}
+                onClick={(val: any) => {
+                  if (val.type === 'IMG' || !item.enableFlag) return;
+                  state.show = true;
+                  state.item = val;
+                }}
+                onCollect={(item: any) => onCollect(item)}
+              />
+            ))}
 
             {!state.loading && state.tableList.length <= 0 && (
               <TheEmpty description="暂无收藏资源" />

+ 10 - 0
src/views/prepare-lessons/api.ts

@@ -21,6 +21,7 @@ export const lessonCoursewareDetail = (params: any) => {
  */
 export const lessonCoursewareRemove = (params: any) => {
   return request.post('/edu-app/lessonCourseware/remove', {
+    requestType: 'form',
     data: params
   });
 };
@@ -141,3 +142,12 @@ export const bookVersionPage = (params?: any) => {
     data: params
   });
 };
+/**
+ * 备课 - 使用课件打标记
+ */
+export const tagUseCourseware = (params?: any) => {
+  return request.post('/edu-app/teacherKnowledgeMaterial/tagUseCourseware', {
+    requestType: 'form',
+    data: params
+  });
+};

+ 41 - 7
src/views/prepare-lessons/components/directory-main/index.tsx

@@ -1,17 +1,24 @@
 import { defineComponent, onMounted, reactive, ref } from 'vue';
 import styles from './index.module.less';
 import { NIcon, NSpin, NScrollbar, NModal } from 'naive-ui';
-import { lessonCoursewareDetail, lessonCoursewarePage } from '../../api';
+import {
+  lessonCoursewareDetail,
+  lessonCoursewarePage,
+  tagUseCourseware
+} from '../../api';
 import SelectLessonware from './select-lessonware';
 import TheEmpty from '/src/components/TheEmpty';
 import { usePrepareStore } from '/src/store/modules/prepareLessons';
+import { useUserStore } from '/src/store/modules/users';
 
 export default defineComponent({
   name: 'directory-main',
   setup() {
     const prepareStore = usePrepareStore();
+    const userStore = useUserStore();
     const show = ref(true);
     const forms = reactive({
+      showSelectBookStatus: false,
       coursewareStatus: false
     });
 
@@ -19,14 +26,30 @@ export default defineComponent({
       try {
         const { data } = await lessonCoursewarePage({
           page: 1,
-          rows: 1,
+          rows: 99,
           type: 'COURSEWARE',
           enableFlag: 1
         });
-
-        if (data.rows.length > 0) {
-          prepareStore.setBaseCourseware(data.rows[0]);
+        const result = data.rows || [];
+        if (result.length > 0) {
+          // 判断是否有默认数据
+          const selectItem = result.find(
+            (item: any) =>
+              item.id === userStore.getUserInfo?.lastUseCoursewareId
+          );
+          let id: any = null;
+          // console.log(userStore.getUserInfo?.lastUseCoursewareId, result);
+          if (selectItem) {
+            prepareStore.setBaseCourseware(selectItem);
+            id = selectItem.id;
+          } else {
+            prepareStore.setBaseCourseware(result[0]);
+            id = result[0]?.id;
+          }
+          setLastUseCoursewareId(id);
         }
+
+        forms.showSelectBookStatus = true;
       } catch {
         //
       }
@@ -40,6 +63,7 @@ export default defineComponent({
           id: baseCourseware.id
         });
         const tempList: any = data.lessonList || [];
+
         tempList.forEach((item: any, index: number) => {
           item.selected = false;
           if (index === 0) {
@@ -58,6 +82,15 @@ export default defineComponent({
       }
     };
 
+    const setLastUseCoursewareId = async (id: any) => {
+      try {
+        await tagUseCourseware({ coursewareId: id });
+        userStore.getInfo();
+      } catch {
+        //
+      }
+    };
+
     onMounted(async () => {
       show.value = true;
       await getLessonCourseware();
@@ -66,14 +99,14 @@ export default defineComponent({
     });
     return () => (
       <div class={styles.directoryList}>
-        {prepareStore.getBaseCourseware.id && (
+        {forms.showSelectBookStatus && (
           <div
             class={styles['select-directory']}
             onClick={() => (forms.coursewareStatus = true)}>
             <span
               class={['cr-ellipsis']}
               title={prepareStore.getBaseCourseware.name}>
-              {prepareStore.getBaseCourseware.name}
+              {prepareStore.getBaseCourseware.name || '请选择教材'}
             </span>
             <NIcon class={styles.iconArrow}>
               <svg
@@ -189,6 +222,7 @@ export default defineComponent({
             onConfirm={(item: any) => {
               prepareStore.setBaseCourseware(item);
               getLessonCoursewareDetail();
+              setLastUseCoursewareId(item.id);
             }}
           />
         </NModal>

+ 1 - 0
src/views/prepare-lessons/components/directory-main/select-lessonware/index.tsx

@@ -75,6 +75,7 @@ export default defineComponent({
           try {
             await lessonCoursewareRemove({ id: item.id });
             message.success('删除成功');
+            getLessonCourseware();
           } catch {
             //
           }

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

@@ -43,8 +43,9 @@ export default defineComponent({
     const getList = async () => {
       forms.loadingStatus = true;
       try {
-        // 判断是否有选择对应的课件
-        if (!prepareStore.getSelectKey) return;
+        // 判断是否有选择对应的课件 或声部
+        if (!prepareStore.getSelectKey || !prepareStore.getSubjectId)
+          return (forms.loadingStatus = false);
         const { data } = await queryCourseware({
           coursewareDetailKnowledgeId: prepareStore.getSelectKey,
           subjectId: prepareStore.getSubjectId,
@@ -82,6 +83,13 @@ export default defineComponent({
         getList();
       }
     );
+    // 声部变化时
+    watch(
+      () => prepareStore.getSubjectId,
+      () => {
+        getList();
+      }
+    );
     watch(
       () => prepareStore.getIsAddResource,
       (val: boolean) => {

+ 3 - 0
src/views/prepare-lessons/index.tsx

@@ -34,6 +34,9 @@ export default defineComponent({
       prepareStore.setSelectResourceStatus(false);
       prepareStore.setIsAddResource(false);
       prepareStore.setIsAddTrain(false);
+      // prepareStore.setCoursewareList([]);
+      // prepareStore.setTreeList([]);
+      // prepareStore.setTrainList([]);
     });
     return () => (
       <div class={styles.prepareLessons}>

+ 1 - 1
src/views/prepare-lessons/model/select-resources/select-item/resource-search-group/index.tsx

@@ -92,7 +92,7 @@ export default defineComponent({
                       forms.bookVersionId === music.id ? 'primary' : 'default'
                     }
                     onClick={() => {
-                      forms.bookVersionId = music.value;
+                      forms.bookVersionId = music.id;
                       throttleFn();
                     }}>
                     {music.name}

+ 1 - 1
src/views/xiaoku-music/index.tsx

@@ -346,7 +346,7 @@ export default defineComponent({
                 </div>
                 <div class={styles.staffImgs}>
                   <TransitionGroup name="van-fade">
-                    {activeItem.value?.firstTone
+                    {(activeItem.value?.musicSvg || activeItem.value?.musicImg)
                       ?.split(',')
                       .map((item, index) => {
                         return <img src={item} key={item} />;

+ 2 - 0
src/views/xiaoku-music/type.ts

@@ -11,4 +11,6 @@ export interface IMusicItem {
   firstTone: string;
   delFlag: boolean;
   favitor: boolean;
+  musicSvg: string;
+  musicImg: string;
 }