| 
					
				 | 
			
			
				@@ -9,14 +9,14 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <v-menu :close-delay="1" :open-delay="0" v-bind="$attrs"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <template v-slot:activator="{  props }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <textUI 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              :modelValue="item.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-model="item.value" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               :item="item" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               v-bind="props" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               style="position: relative;" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              @handleClear="handleJobClickItem" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @handleClear="handleJobClickItem()" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ></textUI> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <jobTypeCard class="jobTypeCardBox" :select="[positionId].filter(Boolean)" :isSingle="true" @handleJobClick="handleJobClickItem"></jobTypeCard> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <jobTypeCard class="jobTypeCardBox" :select="[item[item.valueKey]].filter(Boolean)" :isSingle="true" @handleJobClick="handleJobClickItem"></jobTypeCard> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </v-menu> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </CtForm> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -38,6 +38,7 @@ defineOptions({ name: 'talent-map-filter'}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import jobTypeCard from '@/components/jobTypeCard' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import textUI from '@/components/FormUI/TextInput' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getDict } from '@/hooks/web/useDictionaries' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import Snackbar from '@/plugins/snackbar' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { ref } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const emit = defineEmits(['cancel', 'confirm']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -184,7 +185,6 @@ const formItems = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取字典内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getDictData = async (item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (item) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -206,14 +206,14 @@ formItems.value.options.forEach((e, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 期望职位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let positionId = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let positionName = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const positionId = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const positionName = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const handleJobClickItem = (list, name) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const positionItem = formItems.value.options.find(f => f.key === 'positionName') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (positionItem) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (list?.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      positionItem.value = positionName = name || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      positionItem[positionItem.valueKey] = positionId = list?.length ? list[0] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      positionItem.value = positionName.value = name || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      positionItem[positionItem.valueKey] = positionId.value = list?.length ? list[0] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       positionItem.value = name || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       positionItem[positionItem.valueKey] = list?.length ? list[0] : '' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -226,13 +226,17 @@ const confirm = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   formItems.value.options.forEach(e => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (e.key === 'positionName') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (e.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        obj[e.valueKey] = positionId ? positionId : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        obj[e.key] = positionName ? positionName : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        obj[e.valueKey] = positionId.value || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        obj[e.key] = positionName.value || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else if (e.value !== null && e.value !== '' && e.value !== undefined) obj[e.key] = e.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (obj.age1 || obj.age2) obj.age = [obj.age1 || null, obj.age2 || null] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (obj.pay1 || obj.pay2) obj.pay = [obj.pay1 || null, obj.pay2 || null] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (obj.age1 > obj.age2) return Snackbar.warning('年龄区间异常,前者不能大于后者!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (obj.pay2 > obj.pay1) return Snackbar.warning('期望薪资异常,前者不能大于后者!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (obj.age1 || obj.age2) obj.age = [obj.age1 || null, obj.age2 || null].filter(Boolean) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (obj.pay1 || obj.pay2) obj.pay = [obj.pay1 || null, obj.pay2 || null].filter(Boolean) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!obj.labels?.length) delete obj.labels 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   emit('confirm', obj) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -241,7 +245,7 @@ const resetValue = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   formItems.value.options.forEach(e => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (e.key === 'positionName') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       e[e.valueKey] = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      e.value = e[e.valueKey] = positionId = positionName = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      e.value = e[e.valueKey] = positionId.value = positionName.value = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       e.value = null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -250,8 +254,8 @@ const resetValue = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const setValue = (query) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   formItems.value.options.forEach(e => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (e.key === 'positionName') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      e.value = query[e.key] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      e[e.valueKey] = query[e.valueKey] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      e.value = positionName.value = query[e.key] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      e[e.valueKey] = positionId.value = query[e.valueKey] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (query[e.key] !== undefined) e.value = query[e.key] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |