|
@@ -0,0 +1,40 @@
|
|
|
+<template>
|
|
|
+ <div class="d-flex">
|
|
|
+ <div class="label-title">企业性质</div>
|
|
|
+ <div class="label-content">
|
|
|
+ <span
|
|
|
+ v-for="k in items"
|
|
|
+ :key="k.id"
|
|
|
+ :class="['label-color', {'actives': k.active}]"
|
|
|
+ @click="handleItemClick(k)"
|
|
|
+ >{{ k.label }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+defineOptions({ name: 'search-nature-type'})
|
|
|
+import { ref } from 'vue'
|
|
|
+import { getDict } from '@/hooks/web/useDictionaries'
|
|
|
+const emits = defineEmits(['handleClick'])
|
|
|
+
|
|
|
+const items = ref([])
|
|
|
+getDict('menduner_enterprise_type').then(({ data }) => {
|
|
|
+ data = data?.length && data || []
|
|
|
+ const list = data.map(e => {
|
|
|
+ e.active = false
|
|
|
+ return e
|
|
|
+ })
|
|
|
+ items.value = [{ id: -1, label: '不限', active: true }, ...list]
|
|
|
+})
|
|
|
+
|
|
|
+const handleItemClick = (k) => {
|
|
|
+ items.value.map(e => e.active = false)
|
|
|
+ k.active = true
|
|
|
+ emits('handleClick', k, 'scale')
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+@import '@/styles/recruit/company.scss';
|
|
|
+</style>
|