|  | @@ -176,7 +176,10 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        () => [prepareStore.getSelectKey, prepareStore.getSubjectId],
 | 
	
		
			
				|  |  |        async () => {
 | 
	
		
			
				|  |  |          await getCoursewareList();
 | 
	
		
			
				|  |  | -        await getOpenCoursewareList();
 | 
	
		
			
				|  |  | +        // await getOpenCoursewareList();
 | 
	
		
			
				|  |  | +        eventGlobal.emit('openCoursewareChanged');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        subjectRef.value?.syncBarPosition();
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      );
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -251,9 +254,12 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            'prepareLessonSubjectId',
 | 
	
		
			
				|  |  |            prepareStore.getSubjectId as any
 | 
	
		
			
				|  |  |          );
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        subjectRef.value?.syncBarPosition();
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    const subjectRef = ref();
 | 
	
		
			
				|  |  |      onMounted(async () => {
 | 
	
		
			
				|  |  |        useResizeObserver(
 | 
	
		
			
				|  |  |          document.querySelector('#presetsLeftRef') as HTMLElement,
 | 
	
	
		
			
				|  | @@ -288,7 +294,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        // );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        await getCoursewareList();
 | 
	
		
			
				|  |  | -      await getOpenCoursewareList();
 | 
	
		
			
				|  |  | +      // await getOpenCoursewareList();
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // 重命名
 | 
	
	
		
			
				|  | @@ -316,7 +322,8 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          message.success('删除成功');
 | 
	
		
			
				|  |  |          getCoursewareList();
 | 
	
		
			
				|  |  | -        getOpenCoursewareList();
 | 
	
		
			
				|  |  | +        // getOpenCoursewareList();
 | 
	
		
			
				|  |  | +        eventGlobal.emit('openCoursewareChanged');
 | 
	
		
			
				|  |  |          forms.preRemoveVisiable = false;
 | 
	
		
			
				|  |  |        } catch {
 | 
	
		
			
				|  |  |          //
 | 
	
	
		
			
				|  | @@ -334,7 +341,8 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          await api_addByOpenCourseware({ id: item.id });
 | 
	
		
			
				|  |  |          message.success('添加成功');
 | 
	
		
			
				|  |  |          getCoursewareList();
 | 
	
		
			
				|  |  | -        getOpenCoursewareList();
 | 
	
		
			
				|  |  | +        // getOpenCoursewareList();
 | 
	
		
			
				|  |  | +        eventGlobal.emit('openCoursewareChanged');
 | 
	
		
			
				|  |  |        } catch {
 | 
	
		
			
				|  |  |          //
 | 
	
		
			
				|  |  |        }
 | 
	
	
		
			
				|  | @@ -441,7 +449,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            id="presetsLeftRef"
 | 
	
		
			
				|  |  |            style={{ width: `calc(${forms.leftWidth} - ${forms.rightWidth})` }}>
 | 
	
		
			
				|  |  |            <NTabs
 | 
	
		
			
				|  |  | -            // ref={lessonMainRef}
 | 
	
		
			
				|  |  | +            ref={subjectRef}
 | 
	
		
			
				|  |  |              defaultValue="subject"
 | 
	
		
			
				|  |  |              paneClass={styles.paneTitle}
 | 
	
		
			
				|  |  |              justifyContent="start"
 | 
	
	
		
			
				|  | @@ -490,38 +498,6 @@ export default defineComponent({
 | 
	
		
			
				|  |  |              )}
 | 
	
		
			
				|  |  |            </NTabs>
 | 
	
		
			
				|  |  |            <NScrollbar class={styles.coursewarePresets}>
 | 
	
		
			
				|  |  | -            {/* <div class={styles.title} id="coursewarePresets">
 | 
	
		
			
				|  |  | -            <div class={styles.titleLeft}>
 | 
	
		
			
				|  |  | -              <i class={[styles.icon, styles.iconWork]}></i>
 | 
	
		
			
				|  |  | -              我的课件
 | 
	
		
			
				|  |  | -            </div>
 | 
	
		
			
				|  |  | -          </div> */}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            {/* <NSpace>
 | 
	
		
			
				|  |  | -            <NSelect
 | 
	
		
			
				|  |  | -              placeholder="选择声部"
 | 
	
		
			
				|  |  | -              class={styles.btnSubjectList}
 | 
	
		
			
				|  |  | -              options={[
 | 
	
		
			
				|  |  | -                { name: '全部声部', id: '' },
 | 
	
		
			
				|  |  | -                ...prepareStore.getSubjectList
 | 
	
		
			
				|  |  | -              ]}
 | 
	
		
			
				|  |  | -              labelField="name"
 | 
	
		
			
				|  |  | -              valueField="id"
 | 
	
		
			
				|  |  | -              value={prepareStore.getSubjectId}
 | 
	
		
			
				|  |  | -              onUpdate:value={(val: any) => {
 | 
	
		
			
				|  |  | -                prepareStore.setSubjectId(val);
 | 
	
		
			
				|  |  | -                // 保存
 | 
	
		
			
				|  |  | -                forms.subjectId = val;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                if (!val) {
 | 
	
		
			
				|  |  | -                  sessionStorage.setItem(
 | 
	
		
			
				|  |  | -                    'prepareLessonCourseWareSubjectIsNull',
 | 
	
		
			
				|  |  | -                    val ? 'false' : 'true'
 | 
	
		
			
				|  |  | -                  );
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -              }}
 | 
	
		
			
				|  |  | -            />
 | 
	
		
			
				|  |  | -          </NSpace> */}
 | 
	
		
			
				|  |  |              <div style={{ overflow: 'hidden' }}>
 | 
	
		
			
				|  |  |                <NSpin show={forms.loading}>
 | 
	
		
			
				|  |  |                  <div class={styles.list}>
 | 
	
	
		
			
				|  | @@ -564,83 +540,6 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                  </div>
 | 
	
		
			
				|  |  |                </NSpin>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            {/* {forms.openTableList.length > 0 && (
 | 
	
		
			
				|  |  | -            <>
 | 
	
		
			
				|  |  | -              <div class={[styles.title, styles.line]}>
 | 
	
		
			
				|  |  | -                <div class={styles.titleLeft}>
 | 
	
		
			
				|  |  | -                  <i class={[styles.icon, styles.iconCourseware]}></i>
 | 
	
		
			
				|  |  | -                  相关课件
 | 
	
		
			
				|  |  | -                  {forms.openTableList.length > 1 && (
 | 
	
		
			
				|  |  | -                    <span
 | 
	
		
			
				|  |  | -                      class={styles.more}
 | 
	
		
			
				|  |  | -                      onClick={() => (forms.showRelatedClass = true)}>
 | 
	
		
			
				|  |  | -                      查看更多
 | 
	
		
			
				|  |  | -                      <i class={styles.iconP}></i>
 | 
	
		
			
				|  |  | -                    </span>
 | 
	
		
			
				|  |  | -                  )}
 | 
	
		
			
				|  |  | -                </div>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                {forms.openTableList.length > 1 && (
 | 
	
		
			
				|  |  | -                  <NSpace class={styles.swipeControll}>
 | 
	
		
			
				|  |  | -                    <div onClick={() => onChangeSlide('left')}>
 | 
	
		
			
				|  |  | -                      <NImage
 | 
	
		
			
				|  |  | -                        previewDisabled
 | 
	
		
			
				|  |  | -                        class={[
 | 
	
		
			
				|  |  | -                          styles.leftIcon,
 | 
	
		
			
				|  |  | -                          forms.carouselIndex === 0 && styles.disabled
 | 
	
		
			
				|  |  | -                        ]}
 | 
	
		
			
				|  |  | -                        src={iconSlideRight}
 | 
	
		
			
				|  |  | -                      />
 | 
	
		
			
				|  |  | -                    </div>
 | 
	
		
			
				|  |  | -                    <div onClick={() => onChangeSlide('right')}>
 | 
	
		
			
				|  |  | -                      <NImage
 | 
	
		
			
				|  |  | -                        class={
 | 
	
		
			
				|  |  | -                          forms.carouselIndex ==
 | 
	
		
			
				|  |  | -                            forms.openTableList.length - 1 && styles.disabled
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -                        previewDisabled
 | 
	
		
			
				|  |  | -                        src={iconSlideRight}
 | 
	
		
			
				|  |  | -                      />
 | 
	
		
			
				|  |  | -                    </div>
 | 
	
		
			
				|  |  | -                  </NSpace>
 | 
	
		
			
				|  |  | -                )}
 | 
	
		
			
				|  |  | -              </div>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -              <NSpin show={forms.openLoading} class={styles.openLoading}>
 | 
	
		
			
				|  |  | -                <NCarousel
 | 
	
		
			
				|  |  | -                  slidesPerView={1}
 | 
	
		
			
				|  |  | -                  loop={false}
 | 
	
		
			
				|  |  | -                  ref={carouselRef}
 | 
	
		
			
				|  |  | -                  // style={{ width: forms.bodyWidth }}
 | 
	
		
			
				|  |  | -                  v-model:currentIndex={forms.carouselIndex}>
 | 
	
		
			
				|  |  | -                  {forms.openTableList.map((item: any) => (
 | 
	
		
			
				|  |  | -                    <div class={[styles.list, styles.listSame]}>
 | 
	
		
			
				|  |  | -                      {item.map((child: any) => (
 | 
	
		
			
				|  |  | -                        <div
 | 
	
		
			
				|  |  | -                          class={[
 | 
	
		
			
				|  |  | -                            styles.itemWrap,
 | 
	
		
			
				|  |  | -                            styles.itemBlock,
 | 
	
		
			
				|  |  | -                            'row-nav'
 | 
	
		
			
				|  |  | -                          ]}>
 | 
	
		
			
				|  |  | -                          <div class={styles.itemWrapBox}>
 | 
	
		
			
				|  |  | -                            <CoursewareType
 | 
	
		
			
				|  |  | -                              isShowOpenFlag={false}
 | 
	
		
			
				|  |  | -                              isShowAdd
 | 
	
		
			
				|  |  | -                              isHoverShowAdd={false}
 | 
	
		
			
				|  |  | -                              item={child}
 | 
	
		
			
				|  |  | -                              onClick={() => onPreviewAttend(child.id)}
 | 
	
		
			
				|  |  | -                              onAdd={() => onAddCourseware(child)}
 | 
	
		
			
				|  |  | -                            />
 | 
	
		
			
				|  |  | -                          </div>
 | 
	
		
			
				|  |  | -                        </div>
 | 
	
		
			
				|  |  | -                      ))}
 | 
	
		
			
				|  |  | -                    </div>
 | 
	
		
			
				|  |  | -                  ))}
 | 
	
		
			
				|  |  | -                </NCarousel>
 | 
	
		
			
				|  |  | -              </NSpin>
 | 
	
		
			
				|  |  | -            </>
 | 
	
		
			
				|  |  | -          )} */}
 | 
	
		
			
				|  |  |            </NScrollbar>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -649,20 +548,42 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            <NTooltip showArrow={false}>
 | 
	
		
			
				|  |  |              {{
 | 
	
		
			
				|  |  |                trigger: () => (
 | 
	
		
			
				|  |  | -                <i
 | 
	
		
			
				|  |  | +                // <i
 | 
	
		
			
				|  |  | +                //   class={[
 | 
	
		
			
				|  |  | +                //     styles.presetsArrar,
 | 
	
		
			
				|  |  | +                //     !forms.openTableShow && styles.presetsArrarActive
 | 
	
		
			
				|  |  | +                //   ]}
 | 
	
		
			
				|  |  | +                //   onClick={() =>
 | 
	
		
			
				|  |  | +                //     (forms.openTableShow = !forms.openTableShow)
 | 
	
		
			
				|  |  | +                //   }></i>
 | 
	
		
			
				|  |  | +                <div
 | 
	
		
			
				|  |  |                    class={[
 | 
	
		
			
				|  |  |                      styles.presetsArrar,
 | 
	
		
			
				|  |  |                      !forms.openTableShow && styles.presetsArrarActive
 | 
	
		
			
				|  |  |                    ]}
 | 
	
		
			
				|  |  | -                  onClick={() =>
 | 
	
		
			
				|  |  | -                    (forms.openTableShow = !forms.openTableShow)
 | 
	
		
			
				|  |  | -                  }></i>
 | 
	
		
			
				|  |  | +                  onClick={() => (forms.openTableShow = !forms.openTableShow)}>
 | 
	
		
			
				|  |  | +                  <NIcon>
 | 
	
		
			
				|  |  | +                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
 | 
	
		
			
				|  |  | +                      <path
 | 
	
		
			
				|  |  | +                        d="M16.62 2.99a1.25 1.25 0 0 0-1.77 0L6.54 11.3a.996.996 0 0 0 0 1.41l8.31 8.31c.49.49 1.28.49 1.77 0s.49-1.28 0-1.77L9.38 12l7.25-7.25c.48-.48.48-1.28-.01-1.76z"
 | 
	
		
			
				|  |  | +                        fill="currentColor"></path>
 | 
	
		
			
				|  |  | +                    </svg>
 | 
	
		
			
				|  |  | +                  </NIcon>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  |                ),
 | 
	
		
			
				|  |  |                default: () => <div>{forms.openTableShow ? '收起' : '展开'}</div>
 | 
	
		
			
				|  |  |              }}
 | 
	
		
			
				|  |  |            </NTooltip>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          <Related />
 | 
	
		
			
				|  |  | +          <Related
 | 
	
		
			
				|  |  | +            onMore={() => (forms.showRelatedClass = true)}
 | 
	
		
			
				|  |  | +            onAdd={(item: any) => {
 | 
	
		
			
				|  |  | +              onAddCourseware(item);
 | 
	
		
			
				|  |  | +            }}
 | 
	
		
			
				|  |  | +            onLook={(item: any) => {
 | 
	
		
			
				|  |  | +              onPreviewAttend(item.id);
 | 
	
		
			
				|  |  | +            }}
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  |          {/* )} */}
 | 
	
		
			
				|  |  |  
 |