| 
					
				 | 
			
			
				@@ -49,6 +49,7 @@ import { eventGlobal } from '/src/utils'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import TheMessageDialog from '/src/components/TheMessageDialog'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import AddItemModel from '../../../model/add-item-model'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import AddOtherSource from '../../../model/add-other-source'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import deepClone from '/src/helpers/deep-clone'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'courseware-modal', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   props: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -71,6 +72,13 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       openFlagEnable: true, // 是否支持修改公开状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       name: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       openFlag: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      baseCoursewareList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          id: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          list: [] as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ] as any, // 基础数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       coursewareList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           name: '', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -156,6 +164,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         forms.coursewareList = temp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        forms.baseCoursewareList = deepClone(temp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log(e); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -448,18 +457,29 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 当页面离开时 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const onPageBeforeLeave = (event: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      forms.messageCallBack = event; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      forms.messageOperation = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        visiable: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        type: 'pageLive', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        contentDirection: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        title: '保存课件', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        content: '当前课件暂未保存,是否保存?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cancelButtonText: '不保存', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        confirmButtonText: '保存', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        index: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const objA = JSON.stringify(forms.coursewareList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const objB = JSON.stringify(forms.baseCoursewareList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (objA === objB) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (typeof event === 'function') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          event(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          emit('change', { status: false }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          eventGlobal.emit('teacher-slideshow', false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        forms.messageCallBack = event; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        forms.messageOperation = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          visiable: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          type: 'pageLive', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          contentDirection: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title: '保存课件', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          content: '当前课件暂未保存,是否保存?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cancelButtonText: '不保存', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          confirmButtonText: '保存', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          index: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     onMounted(async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       await getList(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -471,6 +491,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     onUnmounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       eventGlobal.off('onPrepareAddItem', addItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      eventGlobal.off('pageBeforeLeave', onPageBeforeLeave); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 当列表数据更新时同步缓存数据 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -564,17 +585,24 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <NButton 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               type="error" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               onClick={() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                forms.messageOperation = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  visiable: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  type: 'save', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  contentDirection: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  title: '保存课件', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  content: '当前课件暂未保存,是否保存?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  cancelButtonText: '不保存', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  confirmButtonText: '保存', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  index: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const objA = JSON.stringify(forms.coursewareList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const objB = JSON.stringify(forms.baseCoursewareList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (objA === objB) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  emit('change', { status: false }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  eventGlobal.emit('teacher-slideshow', false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  forms.messageOperation = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    visiable: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    type: 'save', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    contentDirection: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    title: '保存课件', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    content: '当前课件暂未保存,是否保存?', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    cancelButtonText: '不保存', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    confirmButtonText: '保存', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    index: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               取消 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </NButton> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -809,7 +837,9 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {/* 弹窗查看 */} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <CardPreview 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           size={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ['INSTRUMENT', 'THEORY', 'MUSIC_WIKI'].includes(forms.item.type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['INSTRUMENT', 'THEORY', 'MUSIC_WIKI', 'MUSICIAN'].includes( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              forms.item.type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               ? 'large' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -917,8 +947,6 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 addCoursewareItem({ ...item, index: forms.addOtherIndex }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              console.log(forms.coursewareList, 'courseware'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </NModal> 
			 |