瀏覽代碼

热门企业

Xiao_123 1 年之前
父節點
當前提交
63bbe58904

+ 2 - 2
src/components/Enterprise/info.vue

@@ -25,7 +25,7 @@
 <script setup>
 defineOptions({ name: 'enterprise-info' })
 import { ref } from 'vue'
-import { dealData } from '@/views/recruit/position/components/dict'
+import { dealDictData } from '@/views/recruit/position/components/dict'
 const props = defineProps({
   info: {
     type: Object,
@@ -41,7 +41,7 @@ const list = [
 const obj = ref({})
 const getData = async () => {
   const prise = props.info.enterprise
-  obj.value = dealData(obj.value, prise)
+  obj.value = dealDictData(obj.value, prise)
 }
 getData()
 </script>

+ 2 - 2
src/views/Home/personal/components/hotPromotedPositions.vue

@@ -26,7 +26,7 @@
 import PositionCard from '@/components/Position/item.vue'
 import { ref } from 'vue'
 import { getPromotedPosition, getLatestPosition, getUrgentPosition } from '@/api/position'
-import { dealData } from '@/views/recruit/position/components/dict'
+import { dealDictData } from '@/views/recruit/position/components/dict'
 
 const tab = ref(1)
 const items = ref([])
@@ -35,7 +35,7 @@ const items = ref([])
 const getPositionList = async () => {
   const api = tab.value === 1 ? getPromotedPosition : (tab.value === 2 ? getLatestPosition : getUrgentPosition)
   const { list } = await api({ pageNo: 1, pageSize: 9 })
-  items.value = dealData(items.value, list)
+  items.value = dealDictData(items.value, list)
 }
 getPositionList()
 

+ 10 - 14
src/views/Home/personal/components/popularEnterprises.vue

@@ -12,6 +12,7 @@ import HotPromoted from '@/components/Enterprise/hotPromoted.vue'
 import { ref, reactive } from 'vue'
 import { getHotEnterprise } from '@/api/enterprise'
 import { getDict } from '@/hooks/web/useDictionaries'
+import { dealDictData } from '@/views/recruit/position/components/dict'
 
 const items = ref([])
 const dictObj = reactive({
@@ -44,22 +45,14 @@ const getHotEnterpriseList = async () => {
         e[item.label] = dictObj[item.value].find(k => Number(k[idKey]) === e[item.key])[valueKey]
       }
       const list = e.jobList
-      deal(item, list, e)
+      if (!item.isEnter) {
+        // 职位列表
+        e.jobList = dealDictData(e.jobList, list)
+      }
       return e
     })
   })
 }
-const deal = (item, list, e) => {
-  if (item.isEnter) return
-  list.map(val => {
-    const valueKey = item.nameKey ? item.nameKey : 'label'
-    const idKey = item.valueKey ? item.valueKey : 'value'
-    val[item.label] = dictObj[item.value].find(k => Number(k[idKey]) === val[item.key])[valueKey]
-    val.active = false
-    return val
-  })
-  e.jobList = list
-}
 
 // 字典
 const getDictList = async () => {
@@ -68,6 +61,9 @@ const getDictList = async () => {
     dictObj[val.value] = data
   })
 }
-getDictList()
-getHotEnterpriseList()
+const getData = async () => {
+  await getDictList()
+  getHotEnterpriseList()
+}
+getData()
 </script>

+ 3 - 3
src/views/recruit/position/components/details.vue

@@ -74,7 +74,7 @@ import { ref } from 'vue'
 import { useRouter } from 'vue-router'
 import { timesTampChange } from '@/utils/date'
 import { getPositionDetails, getSimilarPosition } from '@/api/position'
-import { dealData } from '@/views/recruit/position/components/dict'
+import { dealDictData } from '@/views/recruit/position/components/dict'
 import similarPositions from '@/components/Position/similarPositions.vue'
 import EnterpriseInfo from '@/components/Enterprise/info.vue'
 
@@ -87,7 +87,7 @@ const positionInfo = ref({})
 const getPositionDetail = async () => {
   const data = await getPositionDetails({ id })
   info.value = data
-  positionInfo.value = { ...dealData(positionInfo.value, info.value), ...info.value }
+  positionInfo.value = { ...dealDictData(positionInfo.value, info.value), ...info.value }
 }
 getPositionDetail()
 
@@ -103,7 +103,7 @@ const getSimilarPositionList = async () => {
   if (!Object.keys(positionInfo).length) return
   const { list } = await getSimilarPosition({ pageNo: 1, pageSize: 4, positionId: positionInfo.value.positionId, expType: positionInfo.value.expType })
   const items = list.splice(0, 4)
-  similarList.value = dealData(similarList.value, items)
+  similarList.value = dealDictData(similarList.value, items)
 }
 
 getSimilarPositionList()

+ 1 - 1
src/views/recruit/position/components/dict.js

@@ -29,7 +29,7 @@ const getDictList = async () => {
 }
 getDictList()
 
-export const dealData = (res, list) => {
+export const dealDictData = (res, list) => {
   dictList.forEach(item => {
     const valueKey = item.nameKey ? item.nameKey : 'label'
     const idKey = item.valueKey ? item.valueKey : 'value'