| 
					
				 | 
			
			
				@@ -1,302 +1,306 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  PropType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  computed, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  defineComponent, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  nextTick, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  onMounted, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  reactive, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  ref 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import styles from './index.module.less'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  NButton, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  NCarousel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  NCarouselItem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  NForm, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  NFormItem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  NImage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  NPopselect, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  NSpace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} from 'naive-ui'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import TheSearch from '/src/components/TheSearch'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import iconSlideRight from '/src/views/prepare-lessons/images/icon-slide-right.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  name: 'search-group', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    categoryChildList: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Array as PropType<any>, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      default: () => [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    wikiCategoryId: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      default: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  emits: ['search', 'add'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  expose: ['init'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  setup(props, { emit }) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // const catchStore = useCatchStore(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const forms = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      keyword: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      wikiCategoryId: props.wikiCategoryId || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      wikiCategoryIdChild: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      childIds: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      currentIndex: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const carouselRef = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const onSearch = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      emit('search', forms); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const selectChildObj = (item: any, index: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const obj: any = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      item?.forEach((child: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (child.id === forms.wikiCategoryIdChild) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          obj.selected = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          obj.name = child.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return obj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const childList = computed(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const categoryChildList = props.categoryChildList || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const child = categoryChildList.find( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        (item: any) => item.id === forms.wikiCategoryId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (child && child.childrenList.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const temps: any = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        child.childrenList.forEach((c: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          const i = c.childrenList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          const childTemp: any = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // const i = c.childrenList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (i && i.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            childTemp.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              label: '全部', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              value: c.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              name: c.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              id: c.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            i.forEach((j: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              // j.label = j.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              // j.value = j.id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              childTemp.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                label: j.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                value: j.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                name: j.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                id: j.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          temps.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ...c, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            childrenList: childTemp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              label: '全部', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              value: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              id: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              name: '全部', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              childrenList: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ...temps 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ] || [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const state = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      showSlide: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const onChangeSlide = (type: string) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (type === 'left') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        carouselRef.value?.prev(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } else if (type === 'right') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        carouselRef.value?.next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 最外层宽度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const carouselContainer = document.querySelector('.carouselContainer'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const carouselContainerWidth = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          (carouselContainer && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            carouselContainer.getBoundingClientRect().width) || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const slideDoms = document.querySelectorAll('.n-carousel__slide'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let slideWidth = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        slideDoms.forEach(doom => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          const rect = doom.getBoundingClientRect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          slideWidth += rect.width; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (slideWidth >= carouselContainerWidth) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          state.showSlide = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <div class={styles.searchGroup}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            styles.searchCatatory, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            childList.value.length > 0 ? styles.border : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <NSpace size="small" class={styles.btnType}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {props.categoryChildList.length > 0 ? ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <NButton 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                type={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  forms.wikiCategoryId === props.wikiCategoryId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ? 'primary' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    : 'default' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                secondary={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  forms.wikiCategoryId === props.wikiCategoryId ? false : true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                round 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                focusable={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  forms.wikiCategoryId = props.wikiCategoryId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  forms.wikiCategoryIdChild = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  onSearch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                全部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </NButton> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ) : ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <span></span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class={[styles.carouselGroup]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <NCarousel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ref={carouselRef} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                slidesPerView={'auto'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                loop={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                class={[styles.carouselContainer, 'carouselContainer']} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                showDots={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // spaceBetween={20} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                draggable={state.showSlide} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                currentIndex={forms.currentIndex} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                onUpdate:currentIndex={(val: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  // if (val > forms.maxIndex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  //   forms.maxIndex = val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  //   carouselRef.value?.to(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  forms.currentIndex = val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                {props.categoryChildList.map((item: any) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <NCarouselItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <NButton 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      type={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        forms.wikiCategoryId === item.id ? 'primary' : 'default' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      secondary={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        forms.wikiCategoryId === item.id ? false : true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      round 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      focusable={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        forms.wikiCategoryId = item.id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        onSearch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      {item.name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </NButton> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </NCarouselItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </NCarousel> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              {state.showSlide && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <NSpace class={styles.swipeControll}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div onClick={() => onChangeSlide('left')}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <NImage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      previewDisabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        styles.leftIcon 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // forms.currentIndex === 0 && styles.disabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      ]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      src={iconSlideRight} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div onClick={() => onChangeSlide('right')}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <NImage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      // class={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      //   // forms.currentIndex == forms.openTableList.length - 4 && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      //   styles.disabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      previewDisabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      src={iconSlideRight} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </NSpace> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </NSpace> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <TheSearch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            class={styles.inputSearch} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            placeholder="请输入曲目名称" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            round 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            onSearch={(val: string) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              forms.keyword = val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              onSearch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {childList.value.length > 0 && ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class={[styles.collapseWrap]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <NSpace class={[styles.spaceSection]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              {childList.value.map((music: any, index: number) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  {music.childrenList.length > 0 ? ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <NPopselect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      options={music.childrenList} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      trigger="hover" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      v-model:value={forms.wikiCategoryIdChild} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      onUpdate:value={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        onSearch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      key={music.id} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      class={styles.popSelect}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <span 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          styles.textBtn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          selectChildObj(music.childrenList, index).selected && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            styles.textBtnActive 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        ]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        {selectChildObj(music.childrenList, index).name || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          music.name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <i class={styles.iconArrow}></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </NPopselect> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  ) : ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <span 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        styles.textBtn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        forms.wikiCategoryIdChild === music.id && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          styles.textBtnActive 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      ]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        forms.wikiCategoryIdChild = music.id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        onSearch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      {music.name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </NSpace> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  PropType,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  defineComponent,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  nextTick,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  onMounted,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  reactive,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ref
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from 'vue';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import styles from './index.module.less';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NButton,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NCarousel,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NCarouselItem,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NForm,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NFormItem,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NImage,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NPopselect,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NSpace
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from 'naive-ui';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import TheSearch from '/src/components/TheSearch';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import iconSlideRight from '/src/views/prepare-lessons/images/icon-slide-right.png';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default defineComponent({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'search-group',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    categoryChildList: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Array as PropType<any>,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: () => []
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    wikiCategoryId: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: ''
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  emits: ['search', 'add'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  expose: ['init'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  setup(props, { emit }) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // const catchStore = useCatchStore();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const forms = reactive({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      keyword: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      wikiCategoryId: props.wikiCategoryId || '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      wikiCategoryIdChild: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      childIds: [] as any,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      currentIndex: 0
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const carouselRef = ref();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onSearch = () => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      emit('search', forms);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    };
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const selectChildObj = (item: any, index: number) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const obj: any = {};
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      item?.forEach((child: any) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (child.id === forms.wikiCategoryIdChild) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          obj.selected = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          obj.name = child.name;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return obj;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    };
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const childList = computed(() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const categoryChildList = props.categoryChildList || [];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const child = categoryChildList.find(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (item: any) => item.id === forms.wikiCategoryId
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (child && child.childrenList.length) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const temps: any = [];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        child.childrenList.forEach((c: any) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const i = c.childrenList;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const childTemp: any = [];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // const i = c.childrenList;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (i && i.length > 0) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            childTemp.push({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              label: '全部',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              value: c.id,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              name: c.name,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              id: c.id
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            i.forEach((j: any) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // j.label = j.name;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // j.value = j.id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              childTemp.push({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                label: j.name,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                value: j.id,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name: j.name,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                id: j.id
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          temps.push({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ...c,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            childrenList: childTemp
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          [
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              label: '全部',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              value: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              id: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              name: '全部',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              childrenList: []
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ...temps
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ]
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return [];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const state = reactive({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      showSlide: false
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onChangeSlide = (type: string) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (type === 'left') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        carouselRef.value?.prev();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (type === 'right') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        carouselRef.value?.next();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    };
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onMounted(() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      nextTick(() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 最外层宽度
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const carouselContainer = document.querySelector('.carouselContainer');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const carouselContainerWidth =
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          (carouselContainer &&
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            carouselContainer.getBoundingClientRect().width) ||
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const slideDoms = document.querySelectorAll('.n-carousel__slide');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let slideWidth = 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        slideDoms.forEach(doom => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const rect = doom.getBoundingClientRect();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          slideWidth += rect.width;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (slideWidth >= carouselContainerWidth) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          state.showSlide = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return () => (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class={styles.searchGroup}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          class={[
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            styles.searchCatatory,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            childList.value.length > 0 ? styles.border : ''
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ]}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <NSpace size="small" class={styles.btnType}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {props.categoryChildList.length > 0 ? (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <NButton
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type={
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  forms.wikiCategoryId === props.wikiCategoryId
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ? 'primary'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    : 'default'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                secondary={
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  forms.wikiCategoryId === props.wikiCategoryId ? false : true
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                round
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                size="small"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                focusable={false}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                onClick={() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  forms.wikiCategoryId = props.wikiCategoryId;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  forms.wikiCategoryIdChild = '';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  onSearch();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                全部
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </NButton>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ) : (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span></span>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            )}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class={[styles.carouselGroup]}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <NCarousel
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ref={carouselRef}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                slidesPerView={'auto'}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                loop={false}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                class={[styles.carouselContainer, 'carouselContainer']}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                showDots={false}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // spaceBetween={20}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                draggable={state.showSlide}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                currentIndex={forms.currentIndex}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                onUpdate:currentIndex={(val: any) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  //
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  // if (val > forms.maxIndex) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  //   forms.maxIndex = val;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  //   carouselRef.value?.to(0);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  // }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  forms.currentIndex = val;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {props.categoryChildList.map((item: any) => (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <NCarouselItem>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <NButton
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      type={
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        forms.wikiCategoryId === item.id ? 'primary' : 'default'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      secondary={
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        forms.wikiCategoryId === item.id ? false : true
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      round
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      size="small"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      focusable={false}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      onClick={() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        forms.wikiCategoryId = item.id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        onSearch();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      }}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      {item.name}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </NButton>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </NCarouselItem>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ))}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </NCarousel>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {state.showSlide && (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <NSpace class={styles.swipeControll}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div onClick={() => onChangeSlide('left')}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <NImage
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      previewDisabled
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      class={[
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        styles.leftIcon
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // forms.currentIndex === 0 && styles.disabled
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      ]}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      src={iconSlideRight}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div onClick={() => onChangeSlide('right')}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <NImage
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      // class={
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      //   // forms.currentIndex == forms.openTableList.length - 4 &&
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      //   styles.disabled
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      // }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      previewDisabled
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      src={iconSlideRight}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </NSpace>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              )}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </NSpace>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <TheSearch
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class={styles.inputSearch}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placeholder="请输入曲目名称"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            round
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value={forms.keyword}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onUpdate:value={(val: string) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              forms.keyword = val;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onSearch={(val: string) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              forms.keyword = val;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              onSearch();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {childList.value.length > 0 && (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class={[styles.collapseWrap]}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <NSpace class={[styles.spaceSection]}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {childList.value.map((music: any, index: number) => (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  {music.childrenList.length > 0 ? (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <NPopselect
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      options={music.childrenList}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      trigger="hover"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      v-model:value={forms.wikiCategoryIdChild}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      onUpdate:value={() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        onSearch();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      }}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      key={music.id}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      class={styles.popSelect}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <span
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        class={[
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          styles.textBtn,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          selectChildObj(music.childrenList, index).selected &&
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            styles.textBtnActive
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ]}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        {selectChildObj(music.childrenList, index).name ||
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          music.name}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <i class={styles.iconArrow}></i>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </span>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </NPopselect>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ) : (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <span
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      class={[
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        styles.textBtn,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        forms.wikiCategoryIdChild === music.id &&
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          styles.textBtnActive
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      ]}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      onClick={() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        forms.wikiCategoryIdChild = music.id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        onSearch();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      }}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      {music.name}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </span>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  )}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ))}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </NSpace>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        )}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+});
 
			 |