|  | @@ -64,6 +64,7 @@ import Tool, { ToolItem, ToolType } from './component/tool'
 | 
											
												
													
														|  |  import Tools from './component/tools/pen'
 |  |  import Tools from './component/tools/pen'
 | 
											
												
													
														|  |  import Pen from './component/tools/pen'
 |  |  import Pen from './component/tools/pen'
 | 
											
												
													
														|  |  import iconPen from './image/icon-pen.png'
 |  |  import iconPen from './image/icon-pen.png'
 | 
											
												
													
														|  | 
 |  | +import { useThrottle, useThrottleFn, useDebounceFn } from '@vueuse/core'
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  export default defineComponent({
 |  |  export default defineComponent({
 | 
											
												
													
														|  |    name: 'CoursewarePlay',
 |  |    name: 'CoursewarePlay',
 | 
											
										
											
												
													
														|  | @@ -625,6 +626,18 @@ export default defineComponent({
 | 
											
												
													
														|  |        )
 |  |        )
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +    const onChangeSwiper = useDebounceFn((type: string, itemActive?: any) => {
 | 
											
												
													
														|  | 
 |  | +      if (type === 'up') {
 | 
											
												
													
														|  | 
 |  | +        handlePreAndNext('up')
 | 
											
												
													
														|  | 
 |  | +      }
 | 
											
												
													
														|  | 
 |  | +      if (type === 'down') {
 | 
											
												
													
														|  | 
 |  | +        handlePreAndNext('down')
 | 
											
												
													
														|  | 
 |  | +      }
 | 
											
												
													
														|  | 
 |  | +      if (type === 'change') {
 | 
											
												
													
														|  | 
 |  | +        popupData.open = false
 | 
											
												
													
														|  | 
 |  | +        toggleMaterial(itemActive)
 | 
											
												
													
														|  | 
 |  | +      }
 | 
											
												
													
														|  | 
 |  | +    }, 200)
 | 
											
												
													
														|  |      /** 是否有转场动画 */
 |  |      /** 是否有转场动画 */
 | 
											
												
													
														|  |      const checkedAnimation = (index: number, nextIndex?: number) => {
 |  |      const checkedAnimation = (index: number, nextIndex?: number) => {
 | 
											
												
													
														|  |        const item = data.itemList[index]
 |  |        const item = data.itemList[index]
 | 
											
										
											
												
													
														|  | @@ -717,8 +730,8 @@ export default defineComponent({
 | 
											
												
													
														|  |            >
 |  |            >
 | 
											
												
													
														|  |              <div class={styles.wraps}>
 |  |              <div class={styles.wraps}>
 | 
											
												
													
														|  |                {data.itemList.map((m: any, mIndex: number) => {
 |  |                {data.itemList.map((m: any, mIndex: number) => {
 | 
											
												
													
														|  | -                const isRender = Math.abs(popupData.activeIndex - mIndex) < 5
 |  | 
 | 
											
												
													
														|  | -                const isEmtry = Math.abs(popupData.activeIndex - mIndex) > 3
 |  | 
 | 
											
												
													
														|  | 
 |  | +                const isRender = Math.abs(popupData.activeIndex - mIndex) < 4
 | 
											
												
													
														|  | 
 |  | +                const isEmtry = Math.abs(popupData.activeIndex - mIndex) > 2
 | 
											
												
													
														|  |                  // if (isRender) {
 |  |                  // if (isRender) {
 | 
											
												
													
														|  |                  //   m.isRender = true
 |  |                  //   m.isRender = true
 | 
											
												
													
														|  |                  // }
 |  |                  // }
 | 
											
										
											
												
													
														|  | @@ -871,7 +884,15 @@ export default defineComponent({
 | 
											
												
													
														|  |                  <div class={styles.leftFixedBtns} onClick={(e: Event) => e.stopPropagation()}>
 |  |                  <div class={styles.leftFixedBtns} onClick={(e: Event) => e.stopPropagation()}>
 | 
											
												
													
														|  |                    {popupData.activeIndex != 0 && (
 |  |                    {popupData.activeIndex != 0 && (
 | 
											
												
													
														|  |                      <div class={[styles.btnsWrap, styles.prePoint]}>
 |  |                      <div class={[styles.btnsWrap, styles.prePoint]}>
 | 
											
												
													
														|  | -                      <div class={styles.fullBtn} onClick={() => handlePreAndNext('up')}>
 |  | 
 | 
											
												
													
														|  | 
 |  | +                      <div
 | 
											
												
													
														|  | 
 |  | +                        class={styles.fullBtn}
 | 
											
												
													
														|  | 
 |  | +                        onClick={() => {
 | 
											
												
													
														|  | 
 |  | +                          // useThrottleFn(() => {
 | 
											
												
													
														|  | 
 |  | +                          //   handlePreAndNext('up')
 | 
											
												
													
														|  | 
 |  | +                          // }, 300)
 | 
											
												
													
														|  | 
 |  | +                          onChangeSwiper('up')
 | 
											
												
													
														|  | 
 |  | +                        }}
 | 
											
												
													
														|  | 
 |  | +                      >
 | 
											
												
													
														|  |                          <img src={iconUp} />
 |  |                          <img src={iconUp} />
 | 
											
												
													
														|  |                          <span style={{ textAlign: 'center' }}>上一个</span>
 |  |                          <span style={{ textAlign: 'center' }}>上一个</span>
 | 
											
												
													
														|  |                        </div>
 |  |                        </div>
 | 
											
										
											
												
													
														|  | @@ -879,7 +900,17 @@ export default defineComponent({
 | 
											
												
													
														|  |                    )}
 |  |                    )}
 | 
											
												
													
														|  |                    {popupData.activeIndex != data.itemList.length - 1 && (
 |  |                    {popupData.activeIndex != data.itemList.length - 1 && (
 | 
											
												
													
														|  |                      <div class={styles.btnsWrap}>
 |  |                      <div class={styles.btnsWrap}>
 | 
											
												
													
														|  | -                      <div class={styles.fullBtn} onClick={() => handlePreAndNext('down')}>
 |  | 
 | 
											
												
													
														|  | 
 |  | +                      <div
 | 
											
												
													
														|  | 
 |  | +                        class={styles.fullBtn}
 | 
											
												
													
														|  | 
 |  | +                        onClick={() => {
 | 
											
												
													
														|  | 
 |  | +                          // console.log('click down')
 | 
											
												
													
														|  | 
 |  | +                          // useThrottleFn(() => {
 | 
											
												
													
														|  | 
 |  | +                          //   console.log('click down pass')
 | 
											
												
													
														|  | 
 |  | +                          //   handlePreAndNext('down')
 | 
											
												
													
														|  | 
 |  | +                          // }, 300)
 | 
											
												
													
														|  | 
 |  | +                          onChangeSwiper('down')
 | 
											
												
													
														|  | 
 |  | +                        }}
 | 
											
												
													
														|  | 
 |  | +                      >
 | 
											
												
													
														|  |                          <span style={{ textAlign: 'center' }}>下一个</span>
 |  |                          <span style={{ textAlign: 'center' }}>下一个</span>
 | 
											
												
													
														|  |                          <img src={iconDown} />
 |  |                          <img src={iconDown} />
 | 
											
												
													
														|  |                        </div>
 |  |                        </div>
 | 
											
										
											
												
													
														|  | @@ -969,8 +1000,9 @@ export default defineComponent({
 | 
											
												
													
														|  |              tabActive={popupData.tabActive}
 |  |              tabActive={popupData.tabActive}
 | 
											
												
													
														|  |              itemActive={popupData.itemActive}
 |  |              itemActive={popupData.itemActive}
 | 
											
												
													
														|  |              onHandleSelect={(res: any) => {
 |  |              onHandleSelect={(res: any) => {
 | 
											
												
													
														|  | -              popupData.open = false
 |  | 
 | 
											
												
													
														|  | -              toggleMaterial(res.itemActive)
 |  | 
 | 
											
												
													
														|  | 
 |  | +              onChangeSwiper('change', res.itemActive)
 | 
											
												
													
														|  | 
 |  | +              // popupData.open = false
 | 
											
												
													
														|  | 
 |  | +              // toggleMaterial(res.itemActive)
 | 
											
												
													
														|  |              }}
 |  |              }}
 | 
											
												
													
														|  |            />
 |  |            />
 | 
											
												
													
														|  |          </Popup>
 |  |          </Popup>
 |