Explorar o código

跳转集团页面

Xiao_123 hai 4 meses
pai
achega
f44564934a

+ 0 - 3
pages/index/crowdsourcing.vue

@@ -80,9 +80,6 @@ const more = ref('more')
 
 // 跳转企业详情
 const handleToDetails = ({ link, title }) => {
-	// if (id) {
-	// 	uni.navigateTo({ url: `/pagesB/companyDetail/index?id=${id}` })
-	// }
 	if (link) {
 		uni.navigateTo({ url: `/pages/addWebView/index?url=${link}&title=${title || '风尚榜奖投票'}` })
 	}

+ 2 - 9
pagesA/collect/company.vue

@@ -2,7 +2,7 @@
   <view class="ss-m-x-20">
     <scroll-view class="scrollBox" scroll-y="true" @scrolltolower="loadingMore" style="height: 100vh;">
       <view v-if="items.length">
-        <view v-for="(item, index) in items" :key="index" class="ss-m-t-20" @click="toDetail(item)">
+        <view v-for="(item, index) in items" :key="index" class="ss-m-t-20" @click="jumpToEnterpriseDetail(item.id)">
           <view style="background-color: #fff; border-radius: 12px;" class="ss-p-30">
             <view class="d-flex align-center">
               <image :src="item.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'" style="width: 50px; height: 50px; object-fit: contain"></image>
@@ -42,7 +42,7 @@
 <script setup>
 import { ref } from 'vue'
 import { getSubscribeEnterprise } from '@/api/user'
-import { dealDictArrayData } from '@/utils/position'
+import { dealDictArrayData, jumpToEnterpriseDetail } from '@/utils/position'
 import { formatName } from '@/utils/getText'
 
 const items = ref([])
@@ -69,13 +69,6 @@ const loadingMore = () => {
   queryParams.value.pageNo++
   getList()
 }
-
-// 企业详情
-const toDetail = (item) => {
-  uni.navigateTo({
-    url: `/pagesB/companyDetail/index?id=${item.id}`
-  })
-}
 </script>
 
 <style scoped lang="scss">

+ 0 - 2
pagesA/collect/index.vue

@@ -17,8 +17,6 @@ const controlList = ['职位', '企业']
 const handleChange = (e) => {
   current.value = e.currentIndex
 }
-
-const loadingMore = () => {}
 </script>
 
 <style scoped lang="scss">

+ 6 - 6
pagesA/interview/item.vue

@@ -1,7 +1,7 @@
 <template>
   <view v-if="list.length > 0" class="ss-m-x-20">
     <view v-for="(item, index) in list" :key="index">
-      <view class="sub-li-bottom" @click.stop="toDetail(0, item)">
+      <view class="sub-li-bottom" @click.stop="jumpToEnterpriseDetail(item.enterprise?.id)">
         <view class="avatarBox">
           <image class="enterAvatar" :src="item.enterprise?.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'"></image>
         </view>
@@ -14,13 +14,13 @@
       </view>
       <!-- 职位信息 -->
       <view class="list-shape">
-        <view class="titleBox my-5" @click="toDetail(1, item)">
+        <view class="titleBox my-5" @click="toDetail(item)">
           <span style="font-size: 16px;font-weight: 700; color: #345768;">{{ formatName(item.job?.name) }}</span>
           <span v-if="!item.job?.payFrom && !item.job?.payTo" class="salary-text">面议</span>
           <span v-else class="salary-text">{{ item.job?.payFrom }}-{{ item.job?.payTo }}{{ item.job?.payName ? '/' + item.job?.payName : '' }}</span>
         </view>
         <!-- 面试时间、地点 -->
-        <view class="color-666 font-size-14 ss-m-t-20" @click="toDetail(1, item)">
+        <view class="color-666 font-size-14 ss-m-t-20" @click="toDetail(item)">
           <view>面试时间:{{ timesTampChange(item.time, 'Y-M-D h:m') }}</view>
           <view class="ss-m-t-20">面试地点:{{ item.address }}</view>
         </view>
@@ -41,6 +41,7 @@
 <script setup>
 import { timesTampChange } from '@/utils/date'
 import { formatName } from '@/utils/getText'
+import { jumpToEnterpriseDetail } from '@/utils/position'
 
 const emits = defineEmits(['action'])
 const props = defineProps({
@@ -48,9 +49,8 @@ const props = defineProps({
 })
 
 //岗位详情
-const toDetail = (isPosition, item) =>{
-  const url = isPosition ? `/pagesB/positionDetail/index?id=${item.job?.id}&area=${item.job.areaName}` : `/pagesB/companyDetail/index?id=${item.enterprise?.id}`
-  uni.navigateTo({ url })
+const toDetail = (item) =>{
+  uni.navigateTo({ url: `/pagesB/positionDetail/index?id=${item.job?.id}&area=${item.job.areaName}` })
 }
 
 const handleAction = (item, type) => {

+ 2 - 9
pagesA/seenMe/index.vue

@@ -2,7 +2,7 @@
   <view class="defaultBgc ss-p-x-20" style="height: 100vh;">
     <scroll-view class="scrollBox" scroll-y="true" @scrolltolower="loadingMore">
       <view v-if="list.length > 0">
-        <view v-for="(item, index) in list" :key="index" class="ss-m-t-20" @click="toDetail(item)">
+        <view v-for="(item, index) in list" :key="index" class="ss-m-t-20" @click="jumpToEnterpriseDetail(item.enterprise.id)">
           <view class="sub-li-bottom">
             <view class="avatarBox">
               <image class="r-avatar" :src="getUserAvatar(item.contact.avatar, item.contact.sex)"></image>
@@ -55,7 +55,7 @@
 <script setup>
 import { ref } from 'vue'
 import { getInterestedMePage } from '@/api/user'
-import { dealDictObjData } from '@/utils/position'
+import { dealDictObjData, jumpToEnterpriseDetail } from '@/utils/position'
 import { getUserAvatar } from '@/utils/avatar'
 import { timesTampChange } from '@/utils/date'
 import { formatName } from '@/utils/getText'
@@ -87,13 +87,6 @@ const loadingMore = () => {
   queryParams.value.pageNo++
   getList()
 }
-
-// 企业详情
-const toDetail = (item) => {
-  uni.navigateTo({
-    url: `/pagesB/companyDetail/index?id=${item.enterprise.id}`
-  })
-}
 </script>
 
 <style scoped lang="scss">

+ 2 - 9
pagesB/positionDetail/index.vue

@@ -44,7 +44,7 @@
           </view>
           <view class="font-size-13 color-999 ss-m-t-10" style="text-align: end;">更新时间:{{ timesTampChange(info.updateTime, 'Y-M-D h:m') }}</view>
           <!-- 企业信息 -->
-          <view class="topLine mt-5 d-flex" @click="handleToEnterprise">
+          <view class="topLine mt-5 d-flex" @click="jumpToEnterpriseDetail(info.enterprise.id)">
             <view class="avatarBox">
               <image style="width: 40px; height: 40px;" :src="info.enterprise?.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'"></image>
             </view>
@@ -201,7 +201,7 @@
 </template>
 
 <script setup>
-import { commissionCalculation } from '@/utils/position'
+import { commissionCalculation, jumpToEnterpriseDetail } from '@/utils/position'
 import { timesTampChange } from '@/utils/date'
 import { preview } from '@/utils/preview'
 import { uploadFile } from '@/api/file'
@@ -424,13 +424,6 @@ const cleanedHtml = (text) => {
   return cleaned
 }
 
-// 企业详情
-const handleToEnterprise = () => {
-  uni.navigateTo({
-    url: `/pagesB/companyDetail/index?id=${info.value.enterprise?.id}`
-  })
-}
-
 // 职位详情
 async function getPositionDetail () {
   try {

+ 2 - 9
pagesB/recommendEnterprise/index.vue

@@ -3,7 +3,7 @@
     <scroll-view scroll-y="true" @scrolltolower="loadingMore" style="height: 100vh;">
       <view v-if="items.length">
         <uni-card v-for="(val, index) in items" :key="index" :is-shadow="true" :border='false' shadow="0px 0px 3px 1px rgba(0,0,0,0.1)">
-          <view class="d-flex align-center" @click="handleToEnterprise(val)">
+          <view class="d-flex align-center" @click="jumpToEnterpriseDetail(val.enterprise.id)">
             <image class="enterAvatar" :src="val.enterprise.logoUrl ? val.enterprise.logoUrl : 'https://minio.citupro.com/dev/menduner/company-avatar.png'"></image>
             <view class="ss-m-l-20" style="flex: 1;">
               <view class="font-size-16 enterpriseName">{{ formatName(val.enterprise.anotherName || val.enterprise.name) }}</view>
@@ -57,7 +57,7 @@
 <script setup>
 import { ref }  from 'vue'
 import { getHotEnterprise } from '@/api/enterprise'
-import { dealDictObjData, dealDictArrayData } from '@/utils/position'
+import { dealDictObjData, dealDictArrayData, jumpToEnterpriseDetail } from '@/utils/position'
 import { formatName } from '@/utils/getText'
 
 const more = ref('more')
@@ -93,13 +93,6 @@ const loadingMore = () => {
   getPopularEnterprise()
 }
 
-// 企业详情
-const handleToEnterprise = (val) => {
-  uni.navigateTo({
-    url: `/pagesB/companyDetail/index?id=${val.enterprise?.id}`
-  })
-}
-
 // 职位详情
 const handleToPosition = (k) => {
   const url = `/pagesB/positionDetail/index?id=${k.id}&area=${k.areaName}`

+ 23 - 0
utils/position.js

@@ -113,4 +113,27 @@ export const FenYuanTransform = (count, type='toYuan') => {
   if (!count) return ''
   const Magnification = type === 'toCent' ? 100 : 1/100 
   return type === 'toCent' ? (count - 0)*Magnification : ((count - 0)*Magnification).toFixed(2)
+}
+
+
+
+// 跳转企业详情(有优选集团页面则跳转集团页面,没有则跳转企业详情页面)
+import { getWebContent } from '@/api/common'
+const preferred = ref({})
+
+const getSystemWebContent = async () => {
+  const { data } = await getWebContent()
+  // 优选集团
+  preferred.value = data.appPreferredGroup
+}
+getSystemWebContent()
+
+export const jumpToEnterpriseDetail = async (id) => {
+  if (!preferred.value || !Object.keys(preferred.value).length) await getSystemWebContent()
+
+  // 跳转集团页面
+  if (preferred.value[id] && Object.keys(preferred.value[id]).length > 0) return uni.navigateTo({ url: '/pagesB/preferredGroup/index?id=' + id })
+
+  // 不在优选集团中跳转企业详情
+  uni.navigateTo({ url: '/pagesB/companyDetail/index?id=' + id })
 }