lifanagju_citu hace 7 meses
padre
commit
b2b0f357dc

+ 37 - 17
src/views/recruit/personal/PersonalCenter/resume/online/components/jobIntention.vue

@@ -38,7 +38,7 @@
     <div v-if="isAdd" class="mt-2">
       <CtForm ref="formPageRef" :items="items" style="width: 100%;">
         <!-- 期望岗位 -->
-        <template #positionId="{ item }">
+        <!-- <template #positionId="{ item }">
           <v-menu :close-delay="1" :open-delay="0" v-bind="$attrs">
             <template v-slot:activator="{  props }">
               <textUI
@@ -50,7 +50,7 @@
             </template>
             <jobTypeCard class="jobTypeCardBox" :select="[query.positionId].filter(Boolean)" :isSingle="true" @handleJobClick="handleJobClickItem"></jobTypeCard>
           </v-menu>
-        </template>
+        </template> -->
         <!-- 期望行业 -->
         <template #industryIdList="{ item }">
           <v-menu :close-delay="1" :open-delay="0" v-bind="$attrs" :close-on-content-click="false">
@@ -99,7 +99,7 @@
 import { ref, reactive } from 'vue'
 import CtForm from '@/components/CtForm'
 import textUI from '@/components/FormUI/TextInput'
-import jobTypeCard from '@/components/jobTypeCard'
+// import jobTypeCard from '@/components/jobTypeCard'
 import industryTypeCard from '@/components/industryTypeCard'
 import Snackbar from '@/plugins/snackbar'
 import Confirm from '@/plugins/confirm'
@@ -115,17 +115,32 @@ let query = reactive({})
 const items = ref({
   options: [
     {
-      slotName: 'positionId',
+      type: 'cascade',
       key: 'positionId',
-      value: '',
+      value: null,
+      default: null,
+      label: '期望岗位',
+      itemText: 'nameCn',
+      itemValue: 'id',
+      required: true,
+      clearable: false,
       col: 6,
-      label: '期望岗位 *',
       flexStyle: 'mr-3',
-      valueKey: 'position', 
-      hideDetails: true,
-      outlined: true,
-      rules: [v => !!v || '请选择期望岗位']
+      rules: [v => !!v || '请选择期望岗位'],
+      items: [],
     },
+    // {
+    //   slotName: 'positionId',
+    //   key: 'positionId',
+    //   value: '',
+    //   col: 6,
+    //   label: '期望岗位 *',
+    //   flexStyle: 'mr-3',
+    //   valueKey: 'position', 
+    //   hideDetails: true,
+    //   outlined: true,
+    //   rules: [v => !!v || '请选择期望岗位']
+    // },
     {
       slotName: 'industryIdList',
       key: 'industryIdList',
@@ -231,6 +246,11 @@ getDict('menduner_job_type').then(({ data }) => {
   data = data?.length && data || []
   items.value.options.find(e => e.key === 'jobType').items = data
 })
+// 岗位tree
+getDict('positionTreeData', null, 'positionTreeData').then(({ data }) => {
+  data = data?.length && data || []
+  items.value.options.find(e => e.key === 'positionId').items = data
+})
 
 // 获取求职意向
 const interestList = ref([])
@@ -250,12 +270,12 @@ const setValue = (key, value) => {
   items.value.options.find(e => e.key === key).value = value
 }
 
-// 期望职位
-const handleJobClickItem = (list, name) => {
-  if (!list.length) return
-  query.positionId = list[0]
-  setValue('positionId', name)
-}
+// // 期望职位
+// const handleJobClickItem = (list, name) => {
+//   if (!list.length) return
+//   query.positionId = list[0]
+//   setValue('positionId', name)
+// }
 
 // 行业类型
 let currentSelect = reactive([])
@@ -297,7 +317,7 @@ const resetForm = () => {
   areaSelect = []
 }
 
-const arr = ['payFrom', 'payTo', 'jobType', 'workAreaId']
+const arr = ['payFrom', 'payTo', 'jobType', 'workAreaId', 'positionId']
 const handleSave = async () => {
   const { valid } = await formPageRef.value.formRef.validate()
   if (!valid) return