lex преди 1 година
родител
ревизия
8fc33649fe

+ 1 - 1
public/version.json

@@ -1 +1 @@
-{"version":1709627330322}
+{"version":1709704919931}

+ 6 - 6
src/views/classList/index.tsx

@@ -373,13 +373,13 @@ export default defineComponent({
         temp.forEach((i: any) => {
           i.name = i.name + '学年';
         });
-        temp.unshift({
-          id: '',
-          name: '全部学年'
-        });
+        // temp.unshift({
+        //   id: '',
+        //   name: '全部学年'
+        // });
         state.popSelectYearList = temp || [];
         if (temp.length > 0 && !state.searchForm.gradeYear) {
-          state.searchForm.gradeYear = temp[1].id;
+          state.searchForm.gradeYear = temp[0].id;
         }
       } catch {
         //
@@ -440,7 +440,7 @@ export default defineComponent({
                 {...({
                   options: state.popSelectYearList,
                   placeholder: '选择学年',
-                  clearable: true,
+                  clearable: false,
                   inline: true,
                   labelField: 'name',
                   valueField: 'id'

+ 13 - 6
src/views/natural-resources/components/my-collect/index.tsx

@@ -68,12 +68,19 @@ export default defineComponent({
     const showGuide = ref(false);
     const onSearch = async (item: any) => {
       state.pagination.page = 1;
-      // state.searchGroup = Object.assign(state.searchGroup, item);
-      const { subjectId, ...res } = item;
-      state.searchGroup = Object.assign(state.searchGroup, {
-        ...res,
-        musicalInstrumentId: subjectId
-      });
+      if (item.type === 'MUSIC') {
+        const { subjectId, ...res } = item;
+        state.searchGroup = Object.assign(state.searchGroup, {
+          ...res,
+          musicalInstrumentId: subjectId,
+          subjectId: null
+        });
+      } else {
+        state.searchGroup = Object.assign(state.searchGroup, {
+          ...item,
+          musicalInstrumentId: null
+        });
+      }
       getList();
     };
     // 收藏

+ 21 - 4
src/views/natural-resources/components/my-collect/search-group-resources.tsx

@@ -25,6 +25,9 @@ export default defineComponent({
       bookVersionId: null,
       subjectId: null
     });
+    const state = reactive({
+      tempSubjectId: null
+    });
 
     const onSearch = () => {
       emit('search', forms);
@@ -120,6 +123,7 @@ export default defineComponent({
                 focusable={false}
                 onClick={() => {
                   forms.type = item.value;
+                  forms.subjectId = null;
                   onSearch();
 
                   nextTick(() => {
@@ -199,12 +203,17 @@ export default defineComponent({
           <NFormItem label="声部:">
             <NSpace class={styles.spaceSection2}>
               {catchStore.getSubjectInstruments.map((subject: any) =>
-                subject.instruments && subject.instruments.length > 1 ? (
+                subject.instruments &&
+                subject.instruments.length > 1 &&
+                forms.type === 'MUSIC' ? (
                   <NPopselect
                     options={subject.instruments}
                     trigger="hover"
-                    v-model:value={forms.subjectId}
+                    v-model:value={state.tempSubjectId}
                     onUpdate:value={() => {
+                      if (forms.type === 'MUSIC') {
+                        forms.subjectId = state.tempSubjectId;
+                      }
                       onSearch();
                     }}
                     key={subject.value}
@@ -223,10 +232,18 @@ export default defineComponent({
                   <span
                     class={[
                       styles.textBtn,
-                      forms.subjectId === subject.value && styles.textBtnActive
+                      (forms.type === 'MUSIC'
+                        ? forms.subjectId === subject.value
+                        : forms.subjectId === subject.id) &&
+                        styles.textBtnActive
                     ]}
                     onClick={() => {
-                      forms.subjectId = subject.value;
+                      if (forms.type === 'MUSIC') {
+                        forms.subjectId = subject.value;
+                      } else {
+                        forms.subjectId = subject.id;
+                      }
+                      state.tempSubjectId = null;
                       onSearch();
                     }}>
                     {subject.name}

+ 14 - 5
src/views/natural-resources/components/my-resources/index.tsx

@@ -124,11 +124,20 @@ export default defineComponent({
 
     const onSearch = async (item: any) => {
       state.pagination.page = 1;
-      const { subjectId, ...res } = item;
-      state.searchGroup = Object.assign(state.searchGroup, {
-        ...res,
-        musicalInstrumentId: subjectId
-      });
+      if (item.type === 'MUSIC') {
+        const { subjectId, ...res } = item;
+        state.searchGroup = Object.assign(state.searchGroup, {
+          ...res,
+          musicalInstrumentId: subjectId,
+          subjectId: null
+        });
+      } else {
+        state.searchGroup = Object.assign(state.searchGroup, {
+          ...item,
+          musicalInstrumentId: null
+        });
+      }
+
       getList();
     };
 

+ 18 - 4
src/views/natural-resources/components/my-resources/search-group-resources.tsx

@@ -98,6 +98,8 @@ export default defineComponent({
                     emit('edit', state.isEdit);
                   }
                   forms.type = item.value;
+                  forms.subjectId = null;
+
                   onSearch();
                 }}>
                 {item.label}
@@ -204,7 +206,9 @@ export default defineComponent({
           <NFormItem label="声部:">
             <NSpace class={styles.spaceSection2}>
               {catchStore.getSubjectInstruments.map((subject: any) =>
-                subject.instruments && subject.instruments.length > 1 ? (
+                subject.instruments &&
+                subject.instruments.length > 1 &&
+                forms.type === 'MUSIC' ? (
                   <NPopselect
                     options={subject.instruments}
                     trigger="hover"
@@ -215,7 +219,9 @@ export default defineComponent({
                         state.isSelectAll = false;
                         emit('edit', state.isEdit);
                       }
-                      forms.subjectId = state.tempSubjectId;
+                      if (forms.type === 'MUSIC') {
+                        forms.subjectId = state.tempSubjectId;
+                      }
                       onSearch();
                     }}
                     key={subject.value}
@@ -234,10 +240,18 @@ export default defineComponent({
                   <span
                     class={[
                       styles.textBtn,
-                      forms.subjectId === subject.value && styles.textBtnActive
+                      (forms.type === 'MUSIC'
+                        ? forms.subjectId === subject.value
+                        : forms.subjectId === subject.id) &&
+                        styles.textBtnActive
                     ]}
                     onClick={() => {
-                      forms.subjectId = subject.value;
+                      if (forms.type === 'MUSIC') {
+                        forms.subjectId = subject.value;
+                      } else {
+                        forms.subjectId = subject.id;
+                      }
+                      state.tempSubjectId = null;
                       onSearch();
                     }}>
                     {subject.name}

+ 13 - 6
src/views/natural-resources/components/share-resources/index.tsx

@@ -68,12 +68,19 @@ export default defineComponent({
 
     const onSearch = async (item: any) => {
       state.pagination.page = 1;
-      // state.searchGroup = Object.assign(state.searchGroup, item);
-      const { subjectId, ...res } = item;
-      state.searchGroup = Object.assign(state.searchGroup, {
-        ...res,
-        musicalInstrumentId: subjectId
-      });
+      if (item.type === 'MUSIC') {
+        const { subjectId, ...res } = item;
+        state.searchGroup = Object.assign(state.searchGroup, {
+          ...res,
+          musicalInstrumentId: subjectId,
+          subjectId: null
+        });
+      } else {
+        state.searchGroup = Object.assign(state.searchGroup, {
+          ...item,
+          musicalInstrumentId: null
+        });
+      }
       getList();
     };
 

+ 22 - 18
src/views/natural-resources/components/share-resources/search-group-resources.tsx

@@ -25,6 +25,9 @@ export default defineComponent({
       bookVersionId: null,
       subjectId: null
     });
+    const state = reactive({
+      tempSubjectId: null
+    });
 
     const onSearch = () => {
       emit('search', forms);
@@ -111,6 +114,8 @@ export default defineComponent({
                 focusable={false}
                 onClick={() => {
                   forms.type = item.value;
+                  forms.subjectId = null;
+
                   onSearch();
 
                   nextTick(() => {
@@ -198,27 +203,18 @@ export default defineComponent({
 
           <NFormItem label="声部:">
             <NSpace class={styles.spaceSection}>
-              {/* {catchStore.getSubjectAllList.map((subject: any) => (
-                <NButton
-                  secondary={forms.subjectId === subject.id}
-                  quaternary={forms.subjectId !== subject.id}
-                  strong
-                  focusable={false}
-                  type={forms.subjectId === subject.id ? 'primary' : 'default'}
-                  onClick={() => {
-                    forms.subjectId = subject.id;
-                    onSearch();
-                  }}>
-                  {subject.name}
-                </NButton>
-              ))} */}
               {catchStore.getSubjectInstruments.map((subject: any) =>
-                subject.instruments && subject.instruments.length > 1 ? (
+                subject.instruments &&
+                subject.instruments.length > 1 &&
+                forms.type === 'MUSIC' ? (
                   <NPopselect
                     options={subject.instruments}
                     trigger="hover"
-                    v-model:value={forms.subjectId}
+                    v-model:value={state.tempSubjectId}
                     onUpdate:value={() => {
+                      if (forms.type === 'MUSIC') {
+                        forms.subjectId = state.tempSubjectId;
+                      }
                       onSearch();
                     }}
                     key={subject.value}
@@ -237,10 +233,18 @@ export default defineComponent({
                   <span
                     class={[
                       styles.textBtn,
-                      forms.subjectId === subject.value && styles.textBtnActive
+                      (forms.type === 'MUSIC'
+                        ? forms.subjectId === subject.value
+                        : forms.subjectId === subject.id) &&
+                        styles.textBtnActive
                     ]}
                     onClick={() => {
-                      forms.subjectId = subject.value;
+                      if (forms.type === 'MUSIC') {
+                        forms.subjectId = subject.value;
+                      } else {
+                        forms.subjectId = subject.id;
+                      }
+                      state.tempSubjectId = null;
                       onSearch();
                     }}>
                     {subject.name}

+ 14 - 8
src/views/prepare-lessons/model/select-resources/select-item/index.tsx

@@ -77,8 +77,7 @@ export default defineComponent({
         }
         const { data } = await materialQueryPage({
           ...state.searchGroup,
-          ...state.pagination,
-          subjectId: prepareStore.getSubjectId
+          ...state.pagination
         });
         state.loading = false;
         const tempRows = data.rows || [];
@@ -109,12 +108,19 @@ export default defineComponent({
     const throttledFnSearch = useDebounceFn(item => {
       state.pagination.page = 1;
       state.tableList = [];
-      // state.searchGroup = Object.assign(state.searchGroup, item);
-      const { subjectId, ...res } = item;
-      state.searchGroup = Object.assign(state.searchGroup, {
-        ...res,
-        musicalInstrumentId: subjectId
-      });
+      if (item.type === 'MUSIC') {
+        const { subjectId, ...res } = item;
+        state.searchGroup = Object.assign(state.searchGroup, {
+          ...res,
+          musicalInstrumentId: subjectId,
+          subjectId: null
+        });
+      } else {
+        state.searchGroup = Object.assign(state.searchGroup, {
+          ...item,
+          musicalInstrumentId: null
+        });
+      }
       getList();
     }, 500);
 

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

@@ -44,6 +44,9 @@ export default defineComponent({
       subjectId: subjectId.value as any,
       bookVersionId: null
     });
+    const state = reactive({
+      tempSubjectId: null
+    });
     const resourceType = ref([] as any);
 
     const onSearch = () => {
@@ -162,6 +165,7 @@ export default defineComponent({
                 focusable={false}
                 onClick={() => {
                   forms.type = item.value;
+                  forms.subjectId = null;
                   onSearch();
 
                   try {
@@ -268,12 +272,17 @@ export default defineComponent({
                 </NButton>
               ))} */}
               {catchStore.getSubjectInstruments.map((subject: any) =>
-                subject.instruments && subject.instruments.length > 1 ? (
+                subject.instruments &&
+                subject.instruments.length > 1 &&
+                forms.type === 'MUSIC' ? (
                   <NPopselect
                     options={subject.instruments}
                     trigger="hover"
-                    v-model:value={forms.subjectId}
+                    v-model:value={state.tempSubjectId}
                     onUpdate:value={() => {
+                      if (forms.type === 'MUSIC') {
+                        forms.subjectId = state.tempSubjectId;
+                      }
                       onSearch();
                     }}
                     key={subject.value}
@@ -292,10 +301,18 @@ export default defineComponent({
                   <span
                     class={[
                       styles.textBtn,
-                      forms.subjectId === subject.value && styles.textBtnActive
+                      (forms.type === 'MUSIC'
+                        ? forms.subjectId === subject.value
+                        : forms.subjectId === subject.id) &&
+                        styles.textBtnActive
                     ]}
                     onClick={() => {
-                      forms.subjectId = subject.value;
+                      if (forms.type === 'MUSIC') {
+                        forms.subjectId = subject.value;
+                      } else {
+                        forms.subjectId = subject.id;
+                      }
+                      state.tempSubjectId = null;
                       onSearch();
                     }}>
                     {subject.name}

+ 6 - 6
src/views/studentList/index.tsx

@@ -149,13 +149,13 @@ export default defineComponent({
         temp.forEach((i: any) => {
           i.name = i.name + '学年';
         });
-        temp.unshift({
-          id: '',
-          name: '全部学年'
-        });
+        // temp.unshift({
+        //   id: '',
+        //   name: '全部学年'
+        // });
         state.popSelectYearList = temp || [];
         if (temp.length > 0 && !state.searchForm.gradeYear) {
-          state.searchForm.gradeYear = temp[1].id;
+          state.searchForm.gradeYear = temp[0].id;
         }
       } catch {
         //
@@ -344,7 +344,7 @@ export default defineComponent({
                 {...({
                   options: state.popSelectYearList,
                   placeholder: '选择学年',
-                  clearable: true,
+                  clearable: false,
                   inline: true,
                   labelField: 'name',
                   valueField: 'id'