浏览代码

保存声部数据

lex 1 年之前
父节点
当前提交
6e8a1a05d5
共有 2 个文件被更改,包括 31 次插入7 次删除
  1. 1 0
      src/views/co-ai/baseIndex.module.less
  2. 30 7
      src/views/courseware-list/index.tsx

+ 1 - 0
src/views/co-ai/baseIndex.module.less

@@ -182,6 +182,7 @@
     position: relative;
     margin-bottom: 15px;
     width: 100%;
+    height: 170px;
     background-color: #edeff2;
     box-shadow: 0 5px 14px rgba(0, 0, 0, 0.4);
 

+ 30 - 7
src/views/courseware-list/index.tsx

@@ -77,10 +77,16 @@ export default defineComponent({
     const goback = () => {
       postMessage({ api: 'goBack' });
     };
+    const coursewareStorage = localStorage.getItem('courseware-list')
+      ? JSON.parse(localStorage.getItem('courseware-list') as any)
+      : {};
     const forms = reactive({
-      currentGradeNum: null,
-      bookVersionId: null as any,
-      subjectId: null,
+      currentGradeNum: coursewareStorage.currentGradeNum || null,
+      bookVersionId: coursewareStorage.bookVersionId || (null as any),
+      subjectId:
+        coursewareStorage.subjectId ||
+        state.user.data?.subjectId ||
+        (null as any),
       page: 1,
       rows: 999,
       type: 'COURSEWARE'
@@ -124,6 +130,13 @@ export default defineComponent({
 
           baseBookVerionList.value = data.bookVersionList || [];
           bookVersionList.value = deepClone(baseBookVerionList.value);
+          const index = baseBookVerionList.findIndex(
+            (item: any) => item.bookVersionId == coursewareStorage.bookVersoinId
+          );
+          // 判断列表中是存在,缓存的教材数据
+          if (index < 0) {
+            forms.bookVersionId = null;
+          }
         }
       } catch {
         //
@@ -231,9 +244,9 @@ export default defineComponent({
         data.subjectList = res.data.rows || [];
       } catch {}
     };
-    onMounted(() => {
-      getSubjectList();
-      getTanentList();
+    onMounted(async () => {
+      await getTanentList();
+      await getSubjectList();
       getData();
     });
 
@@ -497,7 +510,7 @@ export default defineComponent({
               <div class={[styles.popupList, styles.versionList]}>
                 {data.subjectList.map((item: any) => (
                   <Tag
-                    plain={forms.subjectId === item.id}
+                    plain={forms.subjectId == item.id}
                     round
                     onClick={() => (forms.subjectId = item.id)}>
                     {item.name}
@@ -512,6 +525,7 @@ export default defineComponent({
                 onClick={() => {
                   forms.bookVersionId = null;
                   forms.currentGradeNum = null;
+                  forms.subjectId = state.user.data?.subjectId || null;
                 }}>
                 重置
               </Button>
@@ -519,6 +533,15 @@ export default defineComponent({
                 round
                 class={styles.btnSure}
                 onClick={() => {
+                  // 保存缓存
+                  localStorage.setItem(
+                    'courseware-list',
+                    JSON.stringify({
+                      bookVersionId: forms.bookVersionId,
+                      currentGradeNum: forms.currentGradeNum,
+                      subjectId: forms.subjectId
+                    })
+                  );
                   getData();
                   popoverShow.value = false;
                 }}>