ソースを参照

不改变原本招聘会逻辑,招聘会编辑职位传递路由中的招聘会id,职位管理中编辑才显示选择招聘会

lifanagju_citu 1 ヶ月 前
コミット
8ee6d057d6

+ 6 - 4
src/views/recruit/enterprise/positionManagement/components/add.vue

@@ -11,7 +11,7 @@
           <div>
             <h2 class="mt-n1 headline font-weight-regular">{{ val.title }}</h2>
             <div class="mb-4 desc">{{ val.desc }}</div>
-            <component :is="val.path" :ref="val.ref" :itemData="itemData" @changeType="handleChangeType"></component>
+            <component :is="val.path" :ref="val.ref" :isFair="props.isFair" :itemData="itemData" @changeType="handleChangeType"></component>
           </div>
         </v-timeline-item>
         <v-timeline-item v-if="showExtend" dot-color="light-blue darken-1" icon="mdi-numeric-3">
@@ -219,8 +219,11 @@ const handleSave = async () => {
   }
   if (!baseInfo || !requirement) return Snackbar.warning('请将信息填写完整')
   
-  // submitParams = Object.assign(baseInfo, requirement, { currency_type: 0, source: props.isFair ? '2' : '0', bizId: props.isFair ? route.params.id : null }) // currency_type: 写死0(人民币)  source: 0职位管理|1招聘会
   submitParams = Object.assign(baseInfo, requirement, { currency_type: 0 }) // currency_type: 写死0(人民币)  source: 0职位管理|1招聘会
+
+  submitParams.source = props.isFair ? '2' : submitParams.source ? submitParams.source : '0'  // 职位来源(0职位管理|1众聘职位|2招聘会)
+  submitParams.bizId = props.isFair ? route.params.id : submitParams.bizId ? submitParams.bizId : null 
+
   if (route.query && route.query.id) submitParams.id = route.query.id // 有id则为编辑
   console.log('发布职位参数', submitParams)
   saveEmit()
@@ -229,8 +232,7 @@ const handleSave = async () => {
 const saveEmit = async (retry) => {
   loading.value = true
   try {
-    // const res = await saveJobAdvertised({ ...submitParams, fair: props.isFair ? true : false }) // fair:是否为招聘会职位编辑-必填
-    const res = await saveJobAdvertised({ ...submitParams, fair: submitParams.source === '2' ? true : false }) // fair:是否为招聘会职位编辑-必填
+    const res = await saveJobAdvertised({ ...submitParams, fair: props.isFair ? true : false }) // fair:是否为招聘会职位编辑-必填
     // status:99为待支付职位,弹窗支付
     if (submitParams?.status && submitParams?.status === '99') {
       loading.value = true

+ 12 - 3
src/views/recruit/enterprise/positionManagement/components/baseInfo.vue

@@ -63,7 +63,8 @@ import { getJobFairWhiteList } from '@/api/recruit/enterprise/jobFair'
 
 const { t } = useI18n()
 const props = defineProps({
-  itemData: Object
+  itemData: Object,
+  isFair: Boolean
 })
 
 const getValue = (key) => {
@@ -148,10 +149,13 @@ watch(
       }
       if (e.noParam) return
       if (e.key === 'expireTime' && !val[e.key]) return handleSoFarChange(true, e)
-      if (e.key === 'bizId' && val.source === '2') jobFairCheckboxChange(true, e) // 招聘会回显
-      if (e.key === 'bizId' && val.source === '0') val[e.key] = null // 非招聘会职位
+      if (!props.isFair) {
+        if (e.key === 'bizId' && val.source === '2') jobFairCheckboxChange(true, e) // 招聘会回显
+        if (e.key === 'bizId' && val.source === '0') val[e.key] = null // 非招聘会职位
+      }
       e.value = val[e.key]
     })
+    if (props.isFair) items.value.options = items.value.options.filter(e => e.key !== 'bizId') // 如果为招聘会编辑则不显示
   },
   { immediate: true },
   { deep: true }
@@ -159,6 +163,7 @@ watch(
 
 const doNotJobFair = ref(false)
 const getJobFairData = async () => {
+  if (props.isFair) return
   const data = await getJobFairWhiteList()
   if (!data?.length) {
     doNotJobFair.value = true
@@ -221,6 +226,10 @@ const handleSoFarChange = (bool, item) => {
 // 设置为招聘会职位
 const jobFairCheckbox = ref(false)
 const jobFairCheckboxChange = (bool, item) => {
+  if (props.isFair) { // 招聘会内职位编辑
+    jobFairCheckbox.value = false
+    return
+  }
   if (doNotJobFair.value) {
     bool = false
     Snackbar.warning('没有加入任何招聘会')