|  | @@ -263,13 +263,14 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      const getSelectCondition = async (type: string) => {
 | 
	
		
			
				|  |  |        // 判断是否已经查询过数据
 | 
	
		
			
				|  |  | -      if(Object.keys(searchObj.value[type]).length > 0) {
 | 
	
		
			
				|  |  | +      if (Object.keys(searchObj.value[type]).length > 0) {
 | 
	
		
			
				|  |  |          return
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        const { data } = await request.post(
 | 
	
		
			
				|  |  |          `${apiSuffix.value}/tenantAlbumMusic/selectCondition`,
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |            data: {
 | 
	
		
			
				|  |  | +            subjectId: state.teacherSubjectId,
 | 
	
		
			
				|  |  |              subjectType: type,
 | 
	
		
			
				|  |  |              tenantAlbumId: state.details.id
 | 
	
		
			
				|  |  |            }
 | 
	
	
		
			
				|  | @@ -308,9 +309,9 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        state.isError = false
 | 
	
		
			
				|  |  |        const tempParams = {
 | 
	
		
			
				|  |  |          ...params,
 | 
	
		
			
				|  |  | -      //   level: '',
 | 
	
		
			
				|  |  | -      // type: '',
 | 
	
		
			
				|  |  | -      // subjectId: params.subjectId
 | 
	
		
			
				|  |  | +        //   level: '',
 | 
	
		
			
				|  |  | +        // type: '',
 | 
	
		
			
				|  |  | +        // subjectId: params.subjectId
 | 
	
		
			
				|  |  |          albumId: state.details.id || null,
 | 
	
		
			
				|  |  |          subjectType: state.activeTab
 | 
	
		
			
				|  |  |        } as any
 | 
	
	
		
			
				|  | @@ -658,11 +659,18 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                          pagination={{ clickable: true }}
 | 
	
		
			
				|  |  |                          // onTransitionEnd={(swiper: any) => {}} onSlideChange
 | 
	
		
			
				|  |  |                          onSlideChange={(swiper: any) => {
 | 
	
		
			
				|  |  | -                          params.subjectId = null;
 | 
	
		
			
				|  |  | -                          params.keyword = null;
 | 
	
		
			
				|  |  | +                          params.subjectId = null
 | 
	
		
			
				|  |  | +                          params.keyword = null
 | 
	
		
			
				|  |  |                            params.level = ''
 | 
	
		
			
				|  |  |                            params.type = ''
 | 
	
		
			
				|  |  |                            params.courseTypeCode = ''
 | 
	
		
			
				|  |  | +                          searchObj.value = {
 | 
	
		
			
				|  |  | +                            COURSEWARE: {},
 | 
	
		
			
				|  |  | +                            SUBJECT: {},
 | 
	
		
			
				|  |  | +                            MUSIC: {},
 | 
	
		
			
				|  |  | +                            ENSEMBLE: {}
 | 
	
		
			
				|  |  | +                          }
 | 
	
		
			
				|  |  | +                          activeTypeParams()
 | 
	
		
			
				|  |  |                            state.details = state.albumList[swiper.activeIndex]
 | 
	
		
			
				|  |  |                            // 等tab渲染完了之后再切换 不然tab会自动重新赋值
 | 
	
		
			
				|  |  |                            nextTick(() => {
 | 
	
	
		
			
				|  | @@ -752,8 +760,8 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                      shrink
 | 
	
		
			
				|  |  |                      v-model:active={state.activeTab}
 | 
	
		
			
				|  |  |                      onClick-tab={val => {
 | 
	
		
			
				|  |  | -                      params.subjectId = null;
 | 
	
		
			
				|  |  | -                      params.keyword = null;
 | 
	
		
			
				|  |  | +                      params.subjectId = null
 | 
	
		
			
				|  |  | +                      params.keyword = null
 | 
	
		
			
				|  |  |                        params.level = ''
 | 
	
		
			
				|  |  |                        params.type = ''
 | 
	
		
			
				|  |  |                        params.courseTypeCode = ''
 | 
	
	
		
			
				|  | @@ -779,7 +787,11 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                      )}
 | 
	
		
			
				|  |  |                    </Tabs>
 | 
	
		
			
				|  |  |                    <Search
 | 
	
		
			
				|  |  | -                    placeholder={state.activeTab === 'COURSEWARE' ? '请输入教材关键词' : '请输入曲谱关键词'}
 | 
	
		
			
				|  |  | +                    placeholder={
 | 
	
		
			
				|  |  | +                      state.activeTab === 'COURSEWARE'
 | 
	
		
			
				|  |  | +                        ? '请输入教材关键词'
 | 
	
		
			
				|  |  | +                        : '请输入曲谱关键词'
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  |                      class={styles.search}
 | 
	
		
			
				|  |  |                      onSearch={onSearch}
 | 
	
		
			
				|  |  |                      type="tenant"
 | 
	
	
		
			
				|  | @@ -791,8 +803,11 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                                <DropdownItem
 | 
	
		
			
				|  |  |                                  teleport="body"
 | 
	
		
			
				|  |  |                                  onOpen={() => {
 | 
	
		
			
				|  |  | -                                  const targetElement: any = document.querySelector('.musicList')
 | 
	
		
			
				|  |  | -                                  const targetPosition = targetElement.getBoundingClientRect().top + window.scrollY;
 | 
	
		
			
				|  |  | +                                  const targetElement: any =
 | 
	
		
			
				|  |  | +                                    document.querySelector('.musicList')
 | 
	
		
			
				|  |  | +                                  const targetPosition =
 | 
	
		
			
				|  |  | +                                    targetElement.getBoundingClientRect().top +
 | 
	
		
			
				|  |  | +                                    window.scrollY
 | 
	
		
			
				|  |  |                                    // 设置距离顶部的像素值
 | 
	
		
			
				|  |  |                                    window.scrollTo({
 | 
	
		
			
				|  |  |                                      top: targetPosition - state.heightV + 1,
 | 
	
	
		
			
				|  | @@ -808,9 +823,12 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                              ) : (
 | 
	
		
			
				|  |  |                                <DropdownItem
 | 
	
		
			
				|  |  |                                  onOpen={() => {
 | 
	
		
			
				|  |  | -                                  const targetElement: any = document.querySelector('.musicList')
 | 
	
		
			
				|  |  | -                                  const targetPosition = targetElement.getBoundingClientRect().top + window.scrollY;
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | +                                  const targetElement: any =
 | 
	
		
			
				|  |  | +                                    document.querySelector('.musicList')
 | 
	
		
			
				|  |  | +                                  const targetPosition =
 | 
	
		
			
				|  |  | +                                    targetElement.getBoundingClientRect().top +
 | 
	
		
			
				|  |  | +                                    window.scrollY
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                                    window.scrollTo({
 | 
	
		
			
				|  |  |                                      top: targetPosition - state.heightV + 1,
 | 
	
		
			
				|  |  |                                      behavior: 'smooth'
 | 
	
	
		
			
				|  | @@ -835,7 +853,8 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                                    }}
 | 
	
		
			
				|  |  |                                  >
 | 
	
		
			
				|  |  |                                    {searchObj.value[state.activeTab].subjects &&
 | 
	
		
			
				|  |  | -                                    searchObj.value[state.activeTab].subjects.length > 0 && (
 | 
	
		
			
				|  |  | +                                    searchObj.value[state.activeTab].subjects
 | 
	
		
			
				|  |  | +                                      .length > 0 && (
 | 
	
		
			
				|  |  |                                        <>
 | 
	
		
			
				|  |  |                                          <div class={styles.searchTitle}>
 | 
	
		
			
				|  |  |                                            声部
 | 
	
	
		
			
				|  | @@ -847,34 +866,34 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                                              styles['organ-radio']
 | 
	
		
			
				|  |  |                                            ]}
 | 
	
		
			
				|  |  |                                          >
 | 
	
		
			
				|  |  | -                                          {searchObj.value[state.activeTab].subjects.map(
 | 
	
		
			
				|  |  | -                                            (subject: any) => {
 | 
	
		
			
				|  |  | -                                              const isActive =
 | 
	
		
			
				|  |  | -                                                subject.id === params.subjectId
 | 
	
		
			
				|  |  | -                                              const type = isActive
 | 
	
		
			
				|  |  | -                                                ? 'primary'
 | 
	
		
			
				|  |  | -                                                : 'default'
 | 
	
		
			
				|  |  | -                                              return (
 | 
	
		
			
				|  |  | -                                                <Tag
 | 
	
		
			
				|  |  | -                                                  size="large"
 | 
	
		
			
				|  |  | -                                                  plain={isActive}
 | 
	
		
			
				|  |  | -                                                  type={type}
 | 
	
		
			
				|  |  | -                                                  round
 | 
	
		
			
				|  |  | -                                                  onClick={() => {
 | 
	
		
			
				|  |  | -                                                    params.subjectId =
 | 
	
		
			
				|  |  | -                                                      subject.id
 | 
	
		
			
				|  |  | -                                                  }}
 | 
	
		
			
				|  |  | -                                                >
 | 
	
		
			
				|  |  | -                                                  {subject.name}
 | 
	
		
			
				|  |  | -                                                </Tag>
 | 
	
		
			
				|  |  | -                                              )
 | 
	
		
			
				|  |  | -                                            }
 | 
	
		
			
				|  |  | -                                          )}
 | 
	
		
			
				|  |  | +                                          {searchObj.value[
 | 
	
		
			
				|  |  | +                                            state.activeTab
 | 
	
		
			
				|  |  | +                                          ].subjects.map((subject: any) => {
 | 
	
		
			
				|  |  | +                                            const isActive =
 | 
	
		
			
				|  |  | +                                              subject.id === params.subjectId
 | 
	
		
			
				|  |  | +                                            const type = isActive
 | 
	
		
			
				|  |  | +                                              ? 'primary'
 | 
	
		
			
				|  |  | +                                              : 'default'
 | 
	
		
			
				|  |  | +                                            return (
 | 
	
		
			
				|  |  | +                                              <Tag
 | 
	
		
			
				|  |  | +                                                size="large"
 | 
	
		
			
				|  |  | +                                                plain={isActive}
 | 
	
		
			
				|  |  | +                                                type={type}
 | 
	
		
			
				|  |  | +                                                round
 | 
	
		
			
				|  |  | +                                                onClick={() => {
 | 
	
		
			
				|  |  | +                                                  params.subjectId = subject.id
 | 
	
		
			
				|  |  | +                                                }}
 | 
	
		
			
				|  |  | +                                              >
 | 
	
		
			
				|  |  | +                                                {subject.name}
 | 
	
		
			
				|  |  | +                                              </Tag>
 | 
	
		
			
				|  |  | +                                            )
 | 
	
		
			
				|  |  | +                                          })}
 | 
	
		
			
				|  |  |                                          </div>
 | 
	
		
			
				|  |  |                                        </>
 | 
	
		
			
				|  |  |                                      )}
 | 
	
		
			
				|  |  |                                    {searchObj.value[state.activeTab].levelList &&
 | 
	
		
			
				|  |  | -                                    searchObj.value[state.activeTab].levelList.length > 0 && (
 | 
	
		
			
				|  |  | +                                    searchObj.value[state.activeTab].levelList
 | 
	
		
			
				|  |  | +                                      .length > 0 && (
 | 
	
		
			
				|  |  |                                        <>
 | 
	
		
			
				|  |  |                                          <div class={styles.searchTitle}>
 | 
	
		
			
				|  |  |                                            级别
 | 
	
	
		
			
				|  | @@ -886,33 +905,34 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                                              styles['organ-radio']
 | 
	
		
			
				|  |  |                                            ]}
 | 
	
		
			
				|  |  |                                          >
 | 
	
		
			
				|  |  | -                                          {searchObj.value[state.activeTab].levelList.map(
 | 
	
		
			
				|  |  | -                                            (subject: any) => {
 | 
	
		
			
				|  |  | -                                              const isActive =
 | 
	
		
			
				|  |  | -                                                subject.id === params.level
 | 
	
		
			
				|  |  | -                                              const type = isActive
 | 
	
		
			
				|  |  | -                                                ? 'primary'
 | 
	
		
			
				|  |  | -                                                : 'default'
 | 
	
		
			
				|  |  | -                                              return (
 | 
	
		
			
				|  |  | -                                                <Tag
 | 
	
		
			
				|  |  | -                                                  size="large"
 | 
	
		
			
				|  |  | -                                                  plain={isActive}
 | 
	
		
			
				|  |  | -                                                  type={type}
 | 
	
		
			
				|  |  | -                                                  round
 | 
	
		
			
				|  |  | -                                                  onClick={() => {
 | 
	
		
			
				|  |  | -                                                    params.level = subject.id
 | 
	
		
			
				|  |  | -                                                  }}
 | 
	
		
			
				|  |  | -                                                >
 | 
	
		
			
				|  |  | -                                                  {subject.value}
 | 
	
		
			
				|  |  | -                                                </Tag>
 | 
	
		
			
				|  |  | -                                              )
 | 
	
		
			
				|  |  | -                                            }
 | 
	
		
			
				|  |  | -                                          )}
 | 
	
		
			
				|  |  | +                                          {searchObj.value[
 | 
	
		
			
				|  |  | +                                            state.activeTab
 | 
	
		
			
				|  |  | +                                          ].levelList.map((subject: any) => {
 | 
	
		
			
				|  |  | +                                            const isActive =
 | 
	
		
			
				|  |  | +                                              subject.id === params.level
 | 
	
		
			
				|  |  | +                                            const type = isActive
 | 
	
		
			
				|  |  | +                                              ? 'primary'
 | 
	
		
			
				|  |  | +                                              : 'default'
 | 
	
		
			
				|  |  | +                                            return (
 | 
	
		
			
				|  |  | +                                              <Tag
 | 
	
		
			
				|  |  | +                                                size="large"
 | 
	
		
			
				|  |  | +                                                plain={isActive}
 | 
	
		
			
				|  |  | +                                                type={type}
 | 
	
		
			
				|  |  | +                                                round
 | 
	
		
			
				|  |  | +                                                onClick={() => {
 | 
	
		
			
				|  |  | +                                                  params.level = subject.id
 | 
	
		
			
				|  |  | +                                                }}
 | 
	
		
			
				|  |  | +                                              >
 | 
	
		
			
				|  |  | +                                                {subject.value}
 | 
	
		
			
				|  |  | +                                              </Tag>
 | 
	
		
			
				|  |  | +                                            )
 | 
	
		
			
				|  |  | +                                          })}
 | 
	
		
			
				|  |  |                                          </div>
 | 
	
		
			
				|  |  |                                        </>
 | 
	
		
			
				|  |  |                                      )}
 | 
	
		
			
				|  |  |                                    {searchObj.value[state.activeTab].typeList &&
 | 
	
		
			
				|  |  | -                                    searchObj.value[state.activeTab].typeList.length > 0 && (
 | 
	
		
			
				|  |  | +                                    searchObj.value[state.activeTab].typeList
 | 
	
		
			
				|  |  | +                                      .length > 0 && (
 | 
	
		
			
				|  |  |                                        <>
 | 
	
		
			
				|  |  |                                          <div class={styles.searchTitle}>
 | 
	
		
			
				|  |  |                                            类型
 | 
	
	
		
			
				|  | @@ -924,28 +944,28 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                                              styles['organ-radio']
 | 
	
		
			
				|  |  |                                            ]}
 | 
	
		
			
				|  |  |                                          >
 | 
	
		
			
				|  |  | -                                          {searchObj.value[state.activeTab].typeList.map(
 | 
	
		
			
				|  |  | -                                            (subject: any) => {
 | 
	
		
			
				|  |  | -                                              const isActive =
 | 
	
		
			
				|  |  | -                                                subject.id === params.type
 | 
	
		
			
				|  |  | -                                              const type = isActive
 | 
	
		
			
				|  |  | -                                                ? 'primary'
 | 
	
		
			
				|  |  | -                                                : 'default'
 | 
	
		
			
				|  |  | -                                              return (
 | 
	
		
			
				|  |  | -                                                <Tag
 | 
	
		
			
				|  |  | -                                                  size="large"
 | 
	
		
			
				|  |  | -                                                  plain={isActive}
 | 
	
		
			
				|  |  | -                                                  type={type}
 | 
	
		
			
				|  |  | -                                                  round
 | 
	
		
			
				|  |  | -                                                  onClick={() => {
 | 
	
		
			
				|  |  | -                                                    params.type = subject.id
 | 
	
		
			
				|  |  | -                                                  }}
 | 
	
		
			
				|  |  | -                                                >
 | 
	
		
			
				|  |  | -                                                  {subject.value}
 | 
	
		
			
				|  |  | -                                                </Tag>
 | 
	
		
			
				|  |  | -                                              )
 | 
	
		
			
				|  |  | -                                            }
 | 
	
		
			
				|  |  | -                                          )}
 | 
	
		
			
				|  |  | +                                          {searchObj.value[
 | 
	
		
			
				|  |  | +                                            state.activeTab
 | 
	
		
			
				|  |  | +                                          ].typeList.map((subject: any) => {
 | 
	
		
			
				|  |  | +                                            const isActive =
 | 
	
		
			
				|  |  | +                                              subject.id === params.type
 | 
	
		
			
				|  |  | +                                            const type = isActive
 | 
	
		
			
				|  |  | +                                              ? 'primary'
 | 
	
		
			
				|  |  | +                                              : 'default'
 | 
	
		
			
				|  |  | +                                            return (
 | 
	
		
			
				|  |  | +                                              <Tag
 | 
	
		
			
				|  |  | +                                                size="large"
 | 
	
		
			
				|  |  | +                                                plain={isActive}
 | 
	
		
			
				|  |  | +                                                type={type}
 | 
	
		
			
				|  |  | +                                                round
 | 
	
		
			
				|  |  | +                                                onClick={() => {
 | 
	
		
			
				|  |  | +                                                  params.type = subject.id
 | 
	
		
			
				|  |  | +                                                }}
 | 
	
		
			
				|  |  | +                                              >
 | 
	
		
			
				|  |  | +                                                {subject.value}
 | 
	
		
			
				|  |  | +                                              </Tag>
 | 
	
		
			
				|  |  | +                                            )
 | 
	
		
			
				|  |  | +                                          })}
 | 
	
		
			
				|  |  |                                          </div>
 | 
	
		
			
				|  |  |                                        </>
 | 
	
		
			
				|  |  |                                      )}
 |