|
@@ -1,8 +1,6 @@
|
|
<template>
|
|
<template>
|
|
<div class="px-5 pt-1 py-15" style="position: relative;">
|
|
<div class="px-5 pt-1 py-15" style="position: relative;">
|
|
- <h3 class="my-3" style="color: var(--v-primary-base);">条件筛选</h3>
|
|
|
|
- <!-- <v-divider class="my-3"></v-divider>
|
|
|
|
- <div class="text-right reset-text cursor-pointer" @click="handleReset">重置筛选</div> -->
|
|
|
|
|
|
+ <h3 class="my-3 color-primary">条件筛选</h3>
|
|
<CtForm ref="CtFormRef" :items="formItems" style="width: 100%;">
|
|
<CtForm ref="CtFormRef" :items="formItems" style="width: 100%;">
|
|
<!-- 期望岗位 -->
|
|
<!-- 期望岗位 -->
|
|
<template #positionId="{ item }">
|
|
<template #positionId="{ item }">
|
|
@@ -35,13 +33,14 @@
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
defineOptions({ name: 'talent-pool-filter'})
|
|
defineOptions({ name: 'talent-pool-filter'})
|
|
-import { getRocketLabelList } from '@/api/recruit/enterprise/resumeManagement/talentMap'
|
|
|
|
|
|
+// import { getRocketLabelList } from '@/api/recruit/enterprise/resumeManagement/talentMap'
|
|
|
|
|
|
import jobTypeCard from '@/components/jobTypeCard'
|
|
import jobTypeCard from '@/components/jobTypeCard'
|
|
import textUI from '@/components/FormUI/TextInput'
|
|
import textUI from '@/components/FormUI/TextInput'
|
|
import { getDict } from '@/hooks/web/useDictionaries'
|
|
import { getDict } from '@/hooks/web/useDictionaries'
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import { ref } from 'vue'
|
|
import { ref } from 'vue'
|
|
|
|
+
|
|
const emit = defineEmits(['cancel', 'confirm'])
|
|
const emit = defineEmits(['cancel', 'confirm'])
|
|
|
|
|
|
const CtFormRef = ref()
|
|
const CtFormRef = ref()
|
|
@@ -51,8 +50,7 @@ const formItems = ref({
|
|
type: 'text',
|
|
type: 'text',
|
|
key: 'name',
|
|
key: 'name',
|
|
value: '',
|
|
value: '',
|
|
- label: '姓名 ',
|
|
|
|
- col: 12
|
|
|
|
|
|
+ label: '姓名 '
|
|
},
|
|
},
|
|
{
|
|
{
|
|
type: 'autocomplete',
|
|
type: 'autocomplete',
|
|
@@ -66,35 +64,6 @@ const formItems = ref({
|
|
dictTypeName: 'menduner_sex',
|
|
dictTypeName: 'menduner_sex',
|
|
items: []
|
|
items: []
|
|
},
|
|
},
|
|
- // {
|
|
|
|
- // type: 'ifRadio',
|
|
|
|
- // key: 'sex',
|
|
|
|
- // value: '0',
|
|
|
|
- // default: 0,
|
|
|
|
- // label: '人才分类',
|
|
|
|
- // width: 90,
|
|
|
|
- // items: [
|
|
|
|
- // { label: '不限', value: '0' },
|
|
|
|
- // { label: '默认分类', value: '1' }
|
|
|
|
- // ]
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // type: 'ifRadio',
|
|
|
|
- // key: 'type',
|
|
|
|
- // value: '0',
|
|
|
|
- // default: 0,
|
|
|
|
- // label: '简历状态',
|
|
|
|
- // width: 120,
|
|
|
|
- // items: [
|
|
|
|
- // { label: '不限', value: '0' },
|
|
|
|
- // { label: '已查看', value: '1' },
|
|
|
|
- // { label: '未查看', value: '2' },
|
|
|
|
- // { label: '已导出', value: '3' },
|
|
|
|
- // { label: '已邀请', value: '4' },
|
|
|
|
- // { label: '已回复', value: '5' },
|
|
|
|
- // { label: '有评语', value: '6' }
|
|
|
|
- // ],
|
|
|
|
- // },
|
|
|
|
{
|
|
{
|
|
type: 'text',
|
|
type: 'text',
|
|
key: 'email',
|
|
key: 'email',
|
|
@@ -107,75 +76,6 @@ const formItems = ref({
|
|
value: '',
|
|
value: '',
|
|
label: '联系手机号 ',
|
|
label: '联系手机号 ',
|
|
},
|
|
},
|
|
- {
|
|
|
|
- type: 'text',
|
|
|
|
- key: 'wxCode',
|
|
|
|
- value: '',
|
|
|
|
- label: '微信号 ',
|
|
|
|
- },
|
|
|
|
- // {
|
|
|
|
- // type: 'text',
|
|
|
|
- // key: 'birthday',
|
|
|
|
- // value: '',
|
|
|
|
- // label: '出生日期 ',
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // type: 'autocomplete',
|
|
|
|
- // key: 'labels',
|
|
|
|
- // value: null,
|
|
|
|
- // label: '人员标签 ',
|
|
|
|
- // multiple: true,
|
|
|
|
- // outlined: true,
|
|
|
|
- // itemText: 'label',
|
|
|
|
- // itemValue: 'value',
|
|
|
|
- // items: [
|
|
|
|
- // { label: '标签', value: '0' },
|
|
|
|
- // ]
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // type: 'number',
|
|
|
|
- // key: 'age1',
|
|
|
|
- // value: null,
|
|
|
|
- // label: '年龄区间:起始',
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // type: 'number',
|
|
|
|
- // key: 'age2',
|
|
|
|
- // value: null,
|
|
|
|
- // label: '年龄区间:结束',
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // type: 'number',
|
|
|
|
- // key: 'pay1',
|
|
|
|
- // value: null,
|
|
|
|
- // suffix: '元',
|
|
|
|
- // label: '期望薪资:起始',
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // type: 'number',
|
|
|
|
- // key: 'pay2',
|
|
|
|
- // value: null,
|
|
|
|
- // suffix: '元',
|
|
|
|
- // label: '期望薪资:结束',
|
|
|
|
- // },
|
|
|
|
- {
|
|
|
|
- type: 'areaSelect',
|
|
|
|
- key: 'areaIds',
|
|
|
|
- value: '',
|
|
|
|
- // label: ' ',
|
|
|
|
- placeholder: '所在城市', // 暂时只能使用placeholder
|
|
|
|
- readonly: true,
|
|
|
|
- limit: 1,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- type: 'areaSelect',
|
|
|
|
- key: 'regIds',
|
|
|
|
- value: '',
|
|
|
|
- // label: ' ',
|
|
|
|
- placeholder: '户籍所在地', // 暂时只能使用placeholder
|
|
|
|
- readonly: true,
|
|
|
|
- limit: 1,
|
|
|
|
- },
|
|
|
|
{
|
|
{
|
|
type: 'autocomplete',
|
|
type: 'autocomplete',
|
|
key: 'eduType',
|
|
key: 'eduType',
|
|
@@ -249,6 +149,30 @@ const formItems = ref({
|
|
dictTypeName: 'menduner_marital_status',
|
|
dictTypeName: 'menduner_marital_status',
|
|
items: []
|
|
items: []
|
|
},
|
|
},
|
|
|
|
+ {
|
|
|
|
+ type: 'cascade',
|
|
|
|
+ key: 'areaIds',
|
|
|
|
+ value: null,
|
|
|
|
+ default: null,
|
|
|
|
+ label: '所在城市',
|
|
|
|
+ itemText: 'name',
|
|
|
|
+ itemValue: 'id',
|
|
|
|
+ checkStrictly: true,
|
|
|
|
+ clearable: true,
|
|
|
|
+ items: [],
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: 'cascade',
|
|
|
|
+ key: 'regIds',
|
|
|
|
+ value: null,
|
|
|
|
+ default: null,
|
|
|
|
+ label: '户籍所在地',
|
|
|
|
+ itemText: 'name',
|
|
|
|
+ itemValue: 'id',
|
|
|
|
+ checkStrictly: true,
|
|
|
|
+ clearable: true,
|
|
|
|
+ items: [],
|
|
|
|
+ },
|
|
]
|
|
]
|
|
})
|
|
})
|
|
|
|
|
|
@@ -260,15 +184,22 @@ const getDictData = async (item) => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-const getLabelData = async () => {
|
|
|
|
- const res = await getRocketLabelList({ current: 1, size:9999, type: 'person' }) //type: job enterprise person
|
|
|
|
- const labels = res?.records || []
|
|
|
|
- const labelsItem = formItems.value.options.find(f => f.key === 'labels')
|
|
|
|
- if (labelsItem) {
|
|
|
|
- labelsItem.items = labels.map(e => ({ label: e, value: e }))
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-getLabelData()
|
|
|
|
|
|
+getDict('areaTreeData', null, 'areaTreeData').then(({ data }) => {
|
|
|
|
+ data = data?.length && data || []
|
|
|
|
+ if (!data?.length) return console.error('areaTreeData获取失败!')
|
|
|
|
+ formItems.value.options.find(e => e.key === 'areaIds').items = data ?? []
|
|
|
|
+ formItems.value.options.find(e => e.key === 'regIds').items = data ?? []
|
|
|
|
+})
|
|
|
|
+
|
|
|
|
+// const getLabelData = async () => {
|
|
|
|
+// const res = await getRocketLabelList({ current: 1, size:9999, type: 'person' }) //type: job enterprise person
|
|
|
|
+// const labels = res?.records || []
|
|
|
|
+// const labelsItem = formItems.value.options.find(f => f.key === 'labels')
|
|
|
|
+// if (labelsItem) {
|
|
|
|
+// labelsItem.items = labels.map(e => ({ label: e, value: e }))
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// getLabelData()
|
|
|
|
|
|
let flexStyle = false
|
|
let flexStyle = false
|
|
formItems.value.options.forEach(e => {
|
|
formItems.value.options.forEach(e => {
|
|
@@ -316,13 +247,13 @@ const confirm = () => {
|
|
}
|
|
}
|
|
} else if (e.value !== null && e.value !== '' && e.value !== undefined) obj[e.key] = e.value
|
|
} else if (e.value !== null && e.value !== '' && e.value !== undefined) obj[e.key] = e.value
|
|
})
|
|
})
|
|
- if (obj.age1 > obj.age2) return Snackbar.warning('年龄区间异常,前者不能大于后者!')
|
|
|
|
- if (obj.pay2 > obj.pay1) return Snackbar.warning('期望薪资异常,前者不能大于后者!')
|
|
|
|
|
|
+ // 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.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
|
|
|
|
|
|
+ // if (!obj.labels?.length) delete obj.labels
|
|
emit('confirm', obj)
|
|
emit('confirm', obj)
|
|
}
|
|
}
|
|
|
|
|