|
@@ -21,19 +21,23 @@ import { getDict } from '@/hooks/web/useDictionaries'
|
|
|
import { ref, defineEmits, inject } from 'vue';
|
|
|
|
|
|
defineOptions({name: 'conditionFilter-expType'})
|
|
|
+const emits = defineEmits(['inputChange'])
|
|
|
+const query = inject('routeQuery')
|
|
|
const props = defineProps({
|
|
|
isSingle: {
|
|
|
type: Boolean,
|
|
|
default: false
|
|
|
+ },
|
|
|
+ positionIndexPage: { // 职位检索
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
-const show = ref(false)
|
|
|
-const query = inject('routeQuery')
|
|
|
const title = ref('工作经验')
|
|
|
-const emits = defineEmits(['inputChange'])
|
|
|
+const show = ref(false)
|
|
|
let items = ref()
|
|
|
const selectedItems = ref([])
|
|
|
+
|
|
|
getDict('menduner_exp_type').then(({ data }) => {
|
|
|
data = data?.length && data || []
|
|
|
items.value = data
|
|
@@ -41,9 +45,9 @@ getDict('menduner_exp_type').then(({ data }) => {
|
|
|
const str = query.expType.split(',')[0]
|
|
|
const arr = str.split('_')
|
|
|
if (arr?.length) {
|
|
|
- title.value = `工作经验(${arr.length})`
|
|
|
selectedItems.value = arr
|
|
|
- emits('inputChange', { values: selectedItems.value, isEmit: true })
|
|
|
+ title.value = selectedItems.value.length ? `工作经验(${selectedItems.value.length})` : '工作经验'
|
|
|
+ if (!props.positionIndexPage) emits('inputChange', { values: selectedItems.value, isEmit: true })
|
|
|
}
|
|
|
}
|
|
|
show.value = true
|
|
@@ -53,7 +57,7 @@ const handle = (val) => {
|
|
|
if (props.isSingle) {
|
|
|
// 单选
|
|
|
selectedItems.value = obj ? [] : [val]
|
|
|
- title.value = (obj || val === '2') ? '工作经验' : '工作经验(1)'
|
|
|
+ // title.value = (obj || val === '2') ? '工作经验' : '工作经验(1)'
|
|
|
} else {
|
|
|
// 多选
|
|
|
if (obj) {
|
|
@@ -66,9 +70,12 @@ const handle = (val) => {
|
|
|
// 当经验不限已存在时还选中其它项,把经验不限给清掉
|
|
|
if (val !== '2' && selectedItems.value.find(k => k === '2')) selectedItems.value = selectedItems.value.filter(i => i !== '2')
|
|
|
}
|
|
|
- title.value = val === '2' ? '工作经验' : (selectedItems.value.length ? `工作经验(${selectedItems.value.length})` : '工作经验')
|
|
|
+ // title.value = val === '2' ? '工作经验' : (selectedItems.value.length ? `工作经验(${selectedItems.value.length})` : '工作经验')
|
|
|
+ title.value = selectedItems.value.length ? `工作经验(${selectedItems.value.length})` : '工作经验'
|
|
|
+
|
|
|
}
|
|
|
- emits('inputChange', { values: selectedItems.value, isEmit: true })
|
|
|
+ if (props.positionIndexPage) emits('inputChange', selectedItems.value)
|
|
|
+ else emits('inputChange', { values: selectedItems.value, isEmit: true })
|
|
|
}
|
|
|
</script>
|
|
|
|