| 
					
				 | 
			
			
				@@ -1,14 +1,26 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { defineComponent, reactive } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { defineComponent, reactive, toRefs } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import styles from './chapter.module.less'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import iconMenuChapter from '../image/icon-menu-chapter.svg'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { Collapse, CollapseItem, Icon, Image } from 'vant'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { Collapse, CollapseItem, Icon, Image, showToast } from 'vant'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import chapterDown from '../image/chapter-down-arrow.svg'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import chapterDefault from '../image/chapter-default-arrow.svg'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import chapterVideo from '../image/chapter-video.svg'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'chapter', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  setup() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    detail: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Object, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: () => [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    itemActive: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  emits: ['handleSelect'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  setup(props, { emit }) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const { detail, itemActive } = toRefs(props); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const pointData = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       active: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27,87 +39,60 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             border={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             accordion> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <CollapseItem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              center 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              class={styles.collapseItem} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              border={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              isLink={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              title={'第一种'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              name={1}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                default: () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        styles.item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // props.itemActive == n.id ? styles.itemActive : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      ]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // emit('handleSelect', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //   itemActive: n.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //   tabActive: item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //   tabName: item.name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <Image src={chapterVideo} class={styles.itemImage} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <span style={{ width: '80%' }} class="van-ellipsis"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        章节名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        styles.item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // props.itemActive == n.id ? styles.itemActive : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      ]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // emit('handleSelect', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //   itemActive: n.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //   tabActive: item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //   tabName: item.name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <Image src={chapterVideo} class={styles.itemImage} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <span style={{ width: '80%' }} class="van-ellipsis"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        章节名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                icon: () => <img class={styles.arrow} src={chapterDefault} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </CollapseItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <CollapseItem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              center 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              class={styles.collapseItem} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              border={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              isLink={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              title={'第二种'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              name={1}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                default: () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        styles.item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // props.itemActive == n.id ? styles.itemActive : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      ]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // emit('handleSelect', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //   itemActive: n.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //   tabActive: item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //   tabName: item.name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <Image src={chapterVideo} class={styles.itemImage} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <span style={{ width: '80%' }} class="van-ellipsis"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        章节名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                icon: () => <img class={styles.arrow} src={chapterDefault} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </CollapseItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {detail.value.map((item: any) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <CollapseItem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                center 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  styles.collapseItem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  pointData.active === item.id ? styles.activeItem : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                border={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                isLink={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                title={item.name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                titleClass={'van-ellipsis'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                titleStyle={{ width: '80%' }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name={item.id}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  default: () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      {item.knowledgeList.map((know: any) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          class={[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            styles.item, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            itemActive.value == know.id ? styles.itemActive : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          ]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (!know.containMaterial) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              showToast('暂无课件,不法切换'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            emit('handleSelect', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              itemActive: know.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              tabActive: item.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              tabName: item.name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <Image src={chapterVideo} class={styles.itemImage} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <span style={{ width: '80%' }} class="van-ellipsis"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            {know.name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  icon: () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <img 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      class={styles.arrow} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      src={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        pointData.active === item.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          ? chapterDown 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          : chapterDefault 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </CollapseItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </Collapse> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 |