Forráskód Böngészése

企业详情-根据企业id查询职位类别

Xiao_123 1 éve
szülő
commit
a8e5e7688c

+ 8 - 0
src/api/position.js

@@ -55,3 +55,11 @@ export const getJobFavoriteCheck = async (params) => {
     params
   })
 }
+
+// 根据企业id统计职位类型的数量
+export const getJobAdvertisedPositionCount = async (params) => {
+  return await request.get({
+    url: '/app-api/menduner/system/job/advertised/get/position/count',
+    params
+  })
+}

+ 30 - 2
src/components/Enterprise/components/positions.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <!-- <div class="top">检索</div> -->
+    <div class="top">检索</div>
     <div class="bottom">
       <div 
         v-for="(val, i) in list" 
@@ -9,7 +9,7 @@
         @mouseenter="val.active = true"
         @mouseleave="val.active = false"
         @click="handlePosition(val)"
-       >
+      >
         <div>
           <p :class="['name', {'default-active': val.active }]">{{ val.name }}</p>
           <div style="line-height: 40px;">
@@ -45,8 +45,17 @@
 defineOptions({ name: 'recruitment-positions'})
 import { ref } from 'vue'
 import { timesTampChange } from '@/utils/date'
+import { getDict } from '@/hooks/web/useDictionaries'
+import { getJobAdvertisedPositionCount } from '@/api/position'
 import MPagination from '@/components/CtVuetify/CtPagination'
 
+const props = defineProps({
+  info: {
+    type: Object,
+    default: () => {}
+  }
+})
+
 const total = ref(12)
 const pageInfo = ref({
   size: 3,
@@ -61,6 +70,25 @@ const handlePosition = (val) => {
   window.open(`/recruit/position/details/${val.positionId}`)
 }
 
+// 行业列表
+const industryList = ref([])
+const getDictData = async () => {
+  const { data } = await getDict('menduner_industry_type', {}, 'industryList')
+  industryList.value = data
+}
+getDictData()
+
+// 职位类别
+const positionCategory = ref([])
+const getData = async () => {
+  const data = await getJobAdvertisedPositionCount({ enterpriseId: props.info.enterprise.id })
+  positionCategory.value = data.map(val => {
+    const value = industryList.value.find(e => Number(e.id) === Number(val.key))
+    return { id: value.id, label: value.nameCn, number: val.value }
+  })
+}
+getData()
+
 const list = ref([
   {
     name: '产品经理',

+ 1 - 1
src/components/Enterprise/details.vue

@@ -34,7 +34,7 @@
       <div class="d-flex" v-if="Object.keys(info).length">
         <div class="content-left">
           <EnterpriseIntroduction v-if="tab === 1" :info="info" />
-          <recruitmentPositions v-else />
+          <recruitmentPositions v-else :info="info"/>
         </div>
         <div class="content-right">
           <div class="welfare">