lex před 1 rokem
rodič
revize
6f58ead2b7

+ 11 - 0
src/views/prepare-lessons/components/directory-main/index.tsx

@@ -289,6 +289,17 @@ export default defineComponent({
             onConfirm={(item: any) => {
               prepareStore.setBaseCourseware(item);
               prepareStore.setSubjectList(item.subjectList);
+              const index = item.subjectList.findIndex(
+                (subject: any) => subject.id == prepareStore.getSubjectId
+              );
+              // 判断教材里面是否有当前选择的声部,如果没有则默认选择第一个
+              if (index < 0) {
+                const subjectId = item.subjectList[0].id
+                  ? Number(item.subjectList[0].id)
+                  : '';
+                prepareStore.setSubjectId(subjectId);
+              }
+
               getLessonCoursewareDetail();
               setLastUseCoursewareId(item.id);
             }}

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

@@ -40,6 +40,7 @@ export default defineComponent({
       bookVersionId: null,
       keyword: null,
       currentGradeNum: null,
+      subjectId: null,
       removeVisiable: false,
       removeRow: {} as any
       // bookType: null
@@ -55,7 +56,8 @@ export default defineComponent({
           enableFlag: 1,
           bookVersionId: forms.bookVersionId,
           keyword: forms.keyword,
-          currentGradeNum: forms.currentGradeNum
+          currentGradeNum: forms.currentGradeNum,
+          subjectId: forms.subjectId
           // bookType: forms.bookType
         });
 
@@ -88,6 +90,7 @@ export default defineComponent({
     onMounted(async () => {
       // 获取教材分类列表
       try {
+        await catchStore.getSubjects();
         const { data } = await bookVersionPage({
           page: 1,
           rows: 99,
@@ -127,6 +130,20 @@ export default defineComponent({
             }}
           </NInput>
           <NSelect
+            placeholder="全部声部"
+            clearable
+            options={
+              [
+                { name: '全部声部', id: null },
+                ...catchStore.getSubjectList
+              ] as any
+            }
+            valueField="id"
+            labelField="name"
+            v-model:value={forms.subjectId}
+            onUpdate:value={() => throttledFn()}
+          />
+          <NSelect
             placeholder="全部版本"
             clearable
             options={[{ id: null, name: '全部版本' }, ...forms.musicTagList]}

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

@@ -193,7 +193,10 @@ export default defineComponent({
       <div>
         <ResourceSearchGroup
           type={props.type}
-          onSearch={(item: any) => throttledFnSearch(item)}
+          onSearch={(item: any) => {
+            state.searchGroup = Object.assign(state.searchGroup, item);
+            throttledFnSearch(item);
+          }}
         />
         <NScrollbar
           class={[

+ 20 - 22
src/views/xiaoku-ai/index.tsx

@@ -155,7 +155,7 @@ export default defineComponent({
             {data.tagChildren.map((column: any, columnIndex: number) => {
               return (
                 <div class={styles.tags}>
-                  <NSpace size={[24, 12]}>
+                  <NSpace size={[20, 12]}>
                     <span class={styles.firstButton}>{column.columnName}</span>
 
                     {column.list.map((item: any, index: number) => {
@@ -182,29 +182,27 @@ export default defineComponent({
               );
             })}
             <div class={styles.tags}>
-              <NSpace size={[24, 12]}>
+              <NSpace size={[20, 12]}>
                 <span class={styles.firstButton}>声部</span>
 
-                {catchStore.getSubjectAllList.map(
-                  (item: any, index: number) => {
-                    return (
-                      <>
-                        <NButton
-                          round
-                          secondary={item.id === forms.subjectId ? false : true}
-                          type={
-                            item.id === forms.subjectId ? 'primary' : 'default'
-                          }
-                          onClick={() => {
-                            forms.subjectId = item.id;
-                            getList();
-                          }}>
-                          {item.name}
-                        </NButton>
-                      </>
-                    );
-                  }
-                )}
+                {catchStore.getSubjectAllList.map((item: any) => {
+                  return (
+                    <>
+                      <NButton
+                        round
+                        secondary={item.id === forms.subjectId ? false : true}
+                        type={
+                          item.id === forms.subjectId ? 'primary' : 'default'
+                        }
+                        onClick={() => {
+                          forms.subjectId = item.id;
+                          getList();
+                        }}>
+                        {item.name}
+                      </NButton>
+                    </>
+                  );
+                })}
               </NSpace>
             </div>
           </div>