Jelajahi Sumber

职位详情

lifanagju_citu 6 bulan lalu
induk
melakukan
085cf461fc

+ 8 - 0
src/router/modules/components/recruit/enterprise.js

@@ -54,6 +54,14 @@ const enterprise = [
           title: '职位编辑'
         },
         component: () => import('@/views/recruit/enterprise/positionManagement/components/add.vue')
+      },
+      {
+        path: '/recruit/enterprise/position/details',
+        show: true,
+        meta: {
+          title: '职位详情'
+        },
+        component: () => import('@/views/recruit/enterprise/positionManagement/components/details.vue')
       }
     ]
   },

+ 25 - 0
src/views/recruit/enterprise/positionManagement/components/details.vue

@@ -0,0 +1,25 @@
+<!-- 职位详情 -->
+<template>
+  <div style="width: 100%; background-color: #f7f8fa; padding: 12px;">
+    <positionItemDetail 
+      v-if="jobId"
+      :defaultWidth="false"
+      :showOperateBtn="false"
+      :showContentRight="false"
+      :propJobId="jobId"
+      style="width: 720px; margin: auto;"
+    ></positionItemDetail>
+  </div>
+</template>
+
+<script setup>
+defineOptions({ name: 'enterprise-position-details'})
+import positionItemDetail from '@/views/recruit/personal/position/components/details.vue'
+import { ref } from 'vue'
+import { useRoute } from 'vue-router'; const route = useRoute()
+
+const jobId = ref(route?.query?.id || '')
+
+</script>
+<style scoped lang="scss">
+</style>

+ 2 - 1
src/views/recruit/enterprise/positionManagement/components/item.vue

@@ -216,7 +216,8 @@ const handleEdit = async (val) => {
 // 职位详情
 const handleDetail = async (val) => {
   if (!val.id) return
-  window.open(`/recruit/personal/position/details/${val.id}`)
+  router.push(`/recruit/enterprise/position/details?id=${val.id}`)
+  // window.open(`/recruit/personal/position/details/${val.id}`)
 }
 </script>
 

+ 6 - 2
src/views/recruit/personal/position/components/details.vue

@@ -30,7 +30,7 @@
           </div>
           <div v-if="info?.hire" class="font-size-14 mt-3 color-error">推荐好友入职成功即可获得赏金</div>
         </div>
-        <div class="banner-tools-btns">
+        <div class="banner-tools-btns" v-if="props.showOperateBtn">
           <v-btn v-if="info?.hire" class="radius mr-2 button-item" variant="outlined" color="error" prepend-icon="mdi-share-outline" @click="handleShare">我要赏金</v-btn>
           <v-btn v-else class="radius mr-2 button-item" variant="outlined" color="error" prepend-icon="mdi-share-outline" @click="handleShare">{{ $t('position.rewardsShared') }}</v-btn>
           <v-btn class="button-item radius" color="warning" variant="outlined" :prepend-icon="isCollection ? 'mdi-heart' : 'mdi-heart-outline'" @click="handleCollection">{{ isCollection ? $t('position.cancelFavorite') : $t('position.collection') }}</v-btn>
@@ -78,7 +78,7 @@
                 <span style="color: var(--color-666);font-size: 15px;">{{ info.address ? info.address : '未知' }}</span>
               </div>
             </div>
-            <div class="mt-3 text-center">
+            <div class="mt-3 text-center" v-if="props.showOperateBtn">
               <v-btn
                 class="mr-2 radius button-item"
                 color="success"
@@ -192,6 +192,10 @@ const props = defineProps({
     type: Boolean,
     default: true
   },
+  showOperateBtn: {
+    type: Boolean,
+    default: true
+  },
   showContentRight: {
     type: Boolean,
     default: true