Xiao_123 9 ماه پیش
والد
کامیت
e1ded15880

+ 5 - 5
src/components/Enterprise/hotPromoted.vue

@@ -10,11 +10,11 @@
           <div class="company-info">
             <h3>{{ item.enterprise.anotherName }}</h3>
             <p>
-              {{ item.financingName }}
-              <span class="septal-line" v-if="item.financingName && item.scaleName"></span>
-              {{ item.scaleName }}
-              <span class="septal-line" v-if="item.industryName"></span>
-              {{ item.industryName }}
+              {{ item?.enterprise.financingName }}
+              <span class="septal-line" v-if="item.enterprise.financingName && item.enterprise.scaleName"></span>
+              {{ item?.enterprise.scaleName }}
+              <span class="septal-line" v-if="item.enterprise.industryName"></span>
+              {{ item?.enterprise.industryName }}
             </p>
           </div>
         </div>

+ 1 - 0
src/utils/position.js

@@ -56,6 +56,7 @@ export const dealDictArrayData = (res, list) => {
 }
 
 export const dealDictObjData = (res, obj) => {
+  res = obj
   Object.keys(obj).map(e => {
     const data = dictList.value.find(k => k.key === e)
     if (!data) return

+ 8 - 50
src/views/recruit/personal/home/components/popularEnterprises.vue

@@ -9,63 +9,21 @@
 
 <script setup name="popularEnterprises">
 import HotPromoted from '@/components/Enterprise/hotPromoted.vue'
-import { ref, reactive } from 'vue'
+import { ref } from 'vue'
 import { getHotEnterprise } from '@/api/enterprise'
-import { getDict } from '@/hooks/web/useDictionaries'
-import { dealDictArrayData } from '@/utils/position'
+import { dealDictArrayData, dealDictObjData } from '@/utils/position'
 
 const items = ref([])
-const dictObj = reactive({
-  payUnit: [], // 薪资单位
-  scale: [], // 规模
-  industry: [], // 行业
-  edu: [], // 学历
-  exp: [], // 工作经验
-  area: [], // 地区
-  financing: [] // 融资类型
-})
-const dictList = ref([
-  { type: 'menduner_pay_unit', value: 'payUnit', key: 'payUnit', label: 'payName' },
-  { type: 'menduner_education_type', value: 'edu', key: 'eduType', label: 'eduName' },
-  { type: 'menduner_exp_type', value: 'exp', key: 'expType', label: 'expName' },
-  { type: 'menduner_area_type', value: 'area', key: 'areaId', label: 'areaName', params: {}, apiType: 'areaList', nameKey: 'name', valueKey: 'id' },
-  { type: 'menduner_financing_status', value: 'financing', key: 'financingStatus', label: 'financingName', isEnter: true },
-  { type: 'menduner_scale', value: 'scale', key: 'scale', label: 'scaleName', isEnter: true },
-  { type: 'menduner_industry_type', value: 'industry', key: 'industryId', label: 'industryName', params: {}, apiType: 'industryList', nameKey: 'nameCn', valueKey: 'id', isEnter: true }
-])
 
 // 热门企业
 const getHotEnterpriseList = async () => {
   const { list } = await getHotEnterprise({ pageNo: 1, pageSize: 9 })
-  dictList.value.forEach(item => {
-    items.value = list.map(e => {
-      if (item.isEnter) {
-        const valueKey = item.nameKey ? item.nameKey : 'label'
-        const idKey = item.valueKey ? item.valueKey : 'value'
-        const obj = dictObj[item.value].find(k => k[idKey] === e.enterprise[item.key])
-        if (!obj) return
-        e[item.label] = obj[valueKey]
-      }
-      const list = e.jobList
-      if (!item.isEnter) {
-        // 职位列表
-        e.jobList = dealDictArrayData([], list).slice(0, 3)
-      }
-      return e
-    })
+  items.value = list.map(e => {
+    let jobList = []
+    const enterprise = dealDictObjData({}, e.enterprise)
+    if (e.jobList && e.jobList.length) jobList = dealDictArrayData([], e.jobList).slice(0, 3)
+    return { enterprise, jobList }
   })
 }
-
-// 字典
-const getDictList = async () => {
-  dictList.value.forEach(async (val) => {
-    const { data } = await getDict(val.type, val.params, val.apiType)
-    dictObj[val.value] = data
-  })
-}
-const getData = async () => {
-  await getDictList()
-  getHotEnterpriseList()
-}
-getData()
+getHotEnterpriseList()
 </script>