zhengnaiwen_citu 6 mesi fa
parent
commit
94e924ad64

+ 22 - 10
src/router/modules/components/recruit/enterprise.js

@@ -360,17 +360,29 @@ const enterprise = [
           title: '双选会详情',
           enName: 'Job Fair Details'
         },
-        component: () => import('@/views/recruit/enterprise/jobFair/details.vue')
+        // component: () => import('@/views/recruit/enterprise/jobFair/details.vue'),
+        children: [
+          {
+            path: '/recruit/enterprise/jobFair/details/:id',
+            show: true,
+            meta: {
+              title: '双选会详情',
+              enName: 'Job Fair Details'
+            },
+            component: () => import('@/views/recruit/enterprise/jobFair/details.vue'),
+          },
+          {
+            path: '/recruit/enterprise/jobFair/details/:id/edit',
+            show: true,
+            meta: {
+              title: '职位编辑',
+              enName: 'Job Fair Edit'
+            },
+            component: () => import('@/views/recruit/enterprise/jobFair/editJob.vue')
+          }
+        ]
       },
-      {
-        path: '/recruit/enterprise/jobFair/details/:jobFairId/edit',
-        show: true,
-        meta: {
-          title: '职位编辑',
-          enName: 'Job Fair Edit'
-        },
-        component: () => import('@/views/recruit/enterprise/jobFair/editJob.vue')
-      }
+      
     ]
   }
 ]

+ 31 - 8
src/views/recruit/enterprise/jobFair/editJob.vue

@@ -7,11 +7,7 @@
         >
         <div>
           <h2 class="mt-n1 headline font-weight-regular">{{ t('common.other') }}</h2>
-          <CtForm ref="formPageRef" class="mt-3" :items="items" style="width: 650px;">
-            <template #frequency>
-              <div class="pl-3">111</div>
-            </template>
-          </CtForm>
+          <CtForm ref="formPageRef" class="mt-3" :items="items" style="width: 650px;"></CtForm>
         </div>
       </v-timeline-item>
     </template>
@@ -26,7 +22,11 @@ import CtForm from '@/components/CtForm'
 import Add from '@/views/recruit/enterprise/positionManagement/components/add.vue'
 import { useI18n } from '@/hooks/web/useI18n'
 import { schoolMajorByName } from '@/api/recruit/personal/resume'
-import { saveJobAdvertisedExtend, joinJobFairPosition } from '@/api/recruit/enterprise/jobFair'
+import {
+  saveJobAdvertisedExtend,
+  joinJobFairPosition,
+  getJobAdvertisedExtend
+} from '@/api/recruit/enterprise/jobFair'
 import Snackbar from '@/plugins/snackbar'
 
 const { t } = useI18n()
@@ -92,6 +92,26 @@ const items = ref({
   ]
 })
 
+console.log(route)
+if (route.query.id) {
+  // 编辑
+  initPosition(route.query.id)
+}
+
+async function initPosition (jobId) {
+  console.log(jobId)
+  const res = await getJobAdvertisedExtend(jobId)
+  console.log(res)
+  items.value.options.forEach(e => {
+    if (e.key.includes('frequency')) {
+      const keys = e.key.split('-')
+      e.value = res[keys[0]][keys[1]]
+      return
+    }
+    e.value = res[e.key]
+  })
+}
+
 async function getMajorList (name) {
   if (!name) {
     return
@@ -115,17 +135,20 @@ const afterAdd = async (jobId) => {
         r[keys[0]][keys[1]] = v.type === 'number' ? +v.value : v.value
         return r
       }
+      if (v.key === 'majorId') {
+        r.major = v.items.find(e => e.id === v.value).nameCn
+      }
       r[v.key] = v.type === 'number' ? +v.value : v.value
       return r
     }, { jobId })
     await saveJobAdvertisedExtend(query)
     console.log('招聘会职位扩展信息保存成功')
     await joinJobFairPosition({
-      jobFairId: route.params.jobFairId,
+      jobFairId: route.params.id,
       jobId
     })
     Snackbar.success(t('common.publishSuccessMsg'))
-    router.push(`/recruit/enterprise/jobFair/details/${route.params.jobFairId}`)
+    router.push(`/recruit/enterprise/jobFair/details/${route.params.id}`)
   } catch (error) {
     Snackbar.error(t('sys.api.operationFailed'))
   }

+ 4 - 3
src/views/recruit/enterprise/jobFair/job/item.vue

@@ -38,7 +38,7 @@
 <script setup>
 defineOptions({ name: 'enterprise-position-item'})
 import { ref } from 'vue'
-import { useRouter } from 'vue-router'
+import { useRouter, useRoute } from 'vue-router'
 import { timesTampChange } from '@/utils/date'
 import Snackbar from '@/plugins/snackbar'
 import { getEnterprisePubJobTypePermission } from '@/api/recruit/enterprise/position'
@@ -51,12 +51,13 @@ defineProps({
 const loading = ref(false)
 
 const router = useRouter()
+const route = useRoute()
 // 职位编辑
 const handleEdit = async (val) => {
-  console.log(val, 'val-edit')
+  // console.log(val, 'val-edit')
   const data = await getEnterprisePubJobTypePermission()
   if (!data || !data.length) return Snackbar.warning('没有该操作权限,请联系平台管理员升级后再试')
-  // router.push(`/recruit/enterprise/position/edit?id=${val.id}`)
+  router.push(`/recruit/enterprise/jobFair/details/${route.params.id}/edit?id=${val.id}`)
 }
 </script>