| 
					
				 | 
			
			
				@@ -1,30 +1,30 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <!--  --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	<view class="f-straight wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		<uni-forms ref="form" :modelValue="formData" :rules="rules" validateTrigger="bind" label-width="90px" label-align="right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<uni-forms ref="form" :modelValue="formData" :rules="salaryDisabled ? rules : {...rules, ...salaryRules}" validateTrigger="bind" label-width="90px" label-align="right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			<uni-forms-item label="招聘类型" name="type" required> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				<uni-data-picker popup-title="请选择招聘类型" v-model="formData.type" :localdata="jobType" :clear-icon="false" :map="{ text: 'key', value: 'value'}" @change="typeChange"></uni-data-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</uni-forms-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			<uni-forms-item label="学历要求" name="eduType" required> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<uni-data-picker popup-title="请选择学历要求" v-model="formData.eduType" :localdata="dictObj?.edu || []" :clear-icon="false" :map="{ text: 'label', value: 'value'}"></uni-data-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<uni-data-picker popup-title="请选择学历要求" v-model="formData.eduType" :localdata="dictObj?.edu_extend || []" :clear-icon="false" :map="{ text: 'label', value: 'value'}"></uni-data-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</uni-forms-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			<uni-forms-item label="工作经验" name="expType" required> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<uni-data-picker popup-title="请选择工作经验" v-model="formData.expType" :localdata="dictObj?.exp || []" :clear-icon="false" :map="{ text: 'label', value: 'value'}"></uni-data-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<uni-data-picker popup-title="请选择工作经验" v-model="formData.expType" :localdata="dictObj?.exp_extend || []" :clear-icon="false" :map="{ text: 'label', value: 'value'}"></uni-data-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</uni-forms-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <uni-forms-item label="最低薪资" name="payFrom" :required="Boolean(!salary?.length)" label-width="90px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <uni-forms-item label="最低薪资" name="payFrom" :required="!salaryDisabled" label-width="90px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				<view class="d-flex"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <uni-number-box v-model="formData.payFrom" :disabled="Boolean(salary?.length)" :min="1" :max="999999999" :step="salaryStep" :width="100" @change="payChange"></uni-number-box> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <uni-data-checkbox v-model="salary" multiple :localdata="[{ text: '薪资面议', value: 1 }]" selectedColor="#00B760" class="ss-m-l-20" ></uni-data-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <uni-number-box v-model="formData.payFrom" :disabled="salaryDisabled" :min="1" :max="999999999" :step="salaryStep" :width="100" @change="payChange"></uni-number-box> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <uni-data-checkbox v-model="salary" multiple :localdata="[{ text: '薪资面议', value: 1 }]" selectedColor="#00B760" class="ss-m-l-20" @change="salaryCheckboxChange"></uni-data-checkbox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</uni-forms-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <uni-forms-item label="最高薪资" name="payTo" :required="Boolean(!salary?.length)" label-width="90px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <uni-number-box v-model="formData.payTo" :disabled="Boolean(salary?.length)" :min="payToMin" :max="999999999" :step="salaryStep" :width="100"></uni-number-box> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <uni-forms-item label="最高薪资" name="payTo" :required="!salaryDisabled" label-width="90px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <uni-number-box v-model="formData.payTo" :disabled="salaryDisabled" :min="payToMin" :max="999999999" :step="salaryStep" :width="100"></uni-number-box> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</uni-forms-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			<uni-forms-item label="计薪时段" name="payUnit" :required="Boolean(!salary?.length)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<uni-data-picker popup-title="请选择计薪时段" :placeholder="Boolean(salary?.length) ? '薪资面议' : '请选择'" v-model="formData.payUnit" :readonly="Boolean(salary?.length)" :localdata="dictObj?.payUnit || []" :clear-icon="false" :map="{ text: 'label', value: 'value'}"></uni-data-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<uni-forms-item label="计薪时段" name="payUnit" :required="!salaryDisabled"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<uni-data-picker popup-title="请选择计薪时段" :placeholder="salaryDisabled ? '薪资面议' : '请选择'" v-model="formData.payUnit" :readonly="Boolean(salary?.length)" :localdata="dictObj?.payUnit || []" :clear-icon="false" :map="{ text: 'label', value: 'value'}"></uni-data-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</uni-forms-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <uni-forms-item label="工作城市" name="areaId" required label-width="90px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<uni-data-picker popup-title="请选择工作城市" v-model="formData.areaId" :localdata="dictObj?.areaTreeData || []" :clear-icon="false" :map="{ text: 'name', value: 'id'}"></uni-data-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<uni-data-picker popup-title="请选择工作城市" v-model="formData.areaId" :localdata="dictObj?.areaTreeData_extend || []" :clear-icon="false" :map="{ text: 'name', value: 'id'}"></uni-data-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</uni-forms-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			<uni-forms-item required label="详情地址" name="address"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <uni-easyinput v-model="formData.address" placeholder="请填写详细地址"></uni-easyinput> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54,7 +54,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	</view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script setup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { ref, unref } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { ref, unref, computed } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { dictObj } from '@/utils/position.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getEnterprisePubJobTypePermission } from '@/api/new/position' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import portrait from './portrait.vue' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -68,16 +68,24 @@ const props = defineProps({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const formData = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   type: props.data?.type || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  eduType: props.data?.eduType || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  expType: props.data?.expType || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  eduType: props.data?.eduType ? props.data?.eduType : props.data ? -1 : '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  expType: props.data?.expType ? props.data?.expType : props.data ? -1 : '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   payFrom: props.data?.payFrom || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   payTo: props.data?.payTo || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   payUnit: props.data?.payUnit || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  areaId: props.data?.areaId || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  areaId: props.data?.areaId ? props.data?.areaId : props.data ? -1 : '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   address: props.data?.address || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const tagList = ref(props.data?.tagList?.length ? props.data.tagList : []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const salaryDisabled = computed(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return Boolean(salary?.value.length) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const salaryCheckboxChange = (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // const bool = e.detail.value.length ? e.detail.value[0] : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const rules = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	type:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		rules: [{required: true, errorMessage: '请选择招聘类型' }] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,7 +96,16 @@ const rules = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	expType:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		rules: [{required: true, errorMessage: '请选择工作经验' }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	payFrom:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	areaId:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		rules: [{required: true, errorMessage: '请选择工作城市' }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	address:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		rules: [{required: true, errorMessage: '请填写详细地址' }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const salaryRules = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	payFrom: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		rules: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         required: true, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -113,7 +130,7 @@ const rules = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	payTo:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	payTo: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		rules: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         required: true, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -140,13 +157,7 @@ const rules = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	payUnit: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		rules: [{required: true, errorMessage: '请选择计薪时段' }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	areaId:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		rules: [{required: true, errorMessage: '请选择工作城市' }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	address:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		rules: [{required: true, errorMessage: '请填写详细地址' }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const jobType = ref([]) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -195,7 +206,6 @@ const getQuery = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (obj.salary && ['payFrom', 'payTo', 'payUnit'].includes(key)) obj[key] = null  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  console.log('岗位要求:', obj) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return obj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |