| 
					
				 | 
			
			
				@@ -30,7 +30,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script setup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // import recursive from './recursive' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getDict } from '@/hooks/web/useDictionaries' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { reactive, ref } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { inject, reactive, ref } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useRoute } from 'vue-router' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 defineOptions({ name:'common-components-areaTree'}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const emits = defineEmits('checkedInput') 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -55,16 +55,14 @@ const num = 10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let treeList = ref()  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const show = ref(false)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const query = inject('routeQuery') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取区域数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 getDict('areaTreeData', {}, 'areaTreeData').then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const arr = data?.length && data || [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   treeList.value = [arr] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (route?.query && Object.keys(route?.query).length && route?.query.level1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (query && query.level1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 刷新回显 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    console.log('route?.query', route?.query) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Object.keys(route?.query).forEach(key => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log('key', key) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Object.keys(query).forEach(key => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if(key.includes('level')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const levelIndex = key.split('level')[1] - 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (levelIndex !== -1 && treeList.value[levelIndex]?.length) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -74,7 +72,7 @@ getDict('areaTreeData', {}, 'areaTreeData').then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (arr?.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               arr.forEach(idItem => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const dataItem = treeList.value[levelIndex].find(findItem => findItem.id === (idItem - 0)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (dataItem) handleNext(dataItem, levelIndex) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (dataItem) handleNext(dataItem, levelIndex, false, false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,7 +86,7 @@ getDict('areaTreeData', {}, 'areaTreeData').then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for (let index = 0; index < props.defaultOpen; index++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (treeList.value?.length && treeList.value[index]?.length && treeList.value[index][0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           const stopExpand = (index + 1) === props.defaultOpen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          handleNext(treeList.value[index][0], index, stopExpand) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          handleNext(treeList.value[index][0], index, stopExpand, true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -111,12 +109,12 @@ const getIdChecked = (item, levelIndex) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   idChecked.splice(levelIndex + 1, treeList.value.length) // 取消其下级数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  emits('checkedInput', idChecked) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 展开下一级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const handleNext = (item, index, stopExpand) => { // stopExpand:不展开下级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handleNext = (item, index, stopExpand, isEmit = true) => { // stopExpand:不展开下级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   getIdChecked(item, index) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (isEmit) emits('checkedInput', idChecked) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!stopExpand &&item.children && item.children.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     treeList.value[index + 1] = item.children 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     treeList.value.splice(index + 2, treeList.value.length) 
			 |