소스 검색

合并代码

lifanagju_citu 2 달 전
부모
커밋
09a4f87e09

+ 1 - 1
src/api/recruit/personal/resume/index.js

@@ -208,7 +208,7 @@ export const enterpriseSearchByName = async (params) => {
 // 学校列表
 export const schoolList = async (data) => {
   return await request.post({
-    url: 'app-api/flames/school/list',
+    url: '/app-api/flames/school/list',
     data
   })
 }

+ 18 - 16
src/views/recruit/components/message/index.vue

@@ -162,18 +162,19 @@
   <CtDialog :visible="openPositionSelectDialog" :widthType="2" titleClass="text-h6" title="请选择要投递的职位" @close="openPositionSelectDialog = false" @submit="selectPositionSubmit">
     <div style="position: relative; min-height: 200px">
       <v-radio-group v-model="selectJobId">
-        <div v-for="val in rightEntPositionList" :key="val.value" class="d-flex align-center radioBox" >
+        <div v-for="val in entPositionList" :key="val.value" class="d-flex align-center radioBox" >
           <v-radio :label="val.label" :value="val.value"  color="primary"></v-radio>
           <span class="defaultLink mx-3" style="font-size: 14px;" @click.stop="positionDetail(val)">预览</span>
         </div>
       </v-radio-group>
     </div>
     <v-btn
+      v-if="entPositionTotal > 5"
       variant="text"
       color="primary"
       @click="changePositionData"
     >
-      {{ positionListIsEnd ? '没有更多职位了~ 再选一遍' : '换一批'}} <v-icon size="16">mdi-refresh</v-icon>
+      {{ entPositionListLastData ? '没有更多职位了~ 再选一遍' : '换一批'}} <v-icon size="16">mdi-refresh</v-icon>
     </v-btn>
   </CtDialog>
 
@@ -436,7 +437,7 @@ async function getMessageTypeSync () {
       ]
     }
   })
-  if (!data.records || !data.records.length) { 
+  if (!data.records || !data.records.length) {
     positionInfo.value = {}
     handleChangeSendResumeStatus(false)
     return
@@ -520,7 +521,8 @@ const handleUploadResume = async (url, title, filename) => {
 }
 
 const changePositionData = () => {
-  positionListParams.value.pageNo = positionListIsEnd.value ? 1 : positionListParams.value.pageNo + 1
+  entPositionListParams.value.pageNo = entPositionListLastData.value ? 1 : entPositionListParams.value.pageNo + 1
+  selectJobId.value = ''
   getRecruitPositionList()
 }
 
@@ -538,23 +540,23 @@ const selectPositionSubmit = async () => {
   handleSendResume(handleSendResumeItem)
 }
 
-const rightEntPositionTotal = ref(0)
-const rightEntPositionList = ref([])
-const positionListParams = ref({ pageNo: 1, pageSize: 5 })
-const openPositionSelectDialog = ref(false)
 const pageLoading = ref(false)
-const positionListIsEnd = computed(() => positionListParams.value.pageNo * positionListParams.value.pageSize >=  rightEntPositionTotal.value)
+const entPositionTotal = ref(0)
+const entPositionList = ref([])
+const entPositionListParams = ref({ pageNo: 1, pageSize: 5 })
+const openPositionSelectDialog = ref(false)
+const entPositionListLastData = computed(() => entPositionListParams.value.pageNo * entPositionListParams.value.pageSize >=  entPositionTotal.value)
 // 职位列表
 const getRecruitPositionList = async () => {
   const enterpriseId = info.value?.enterpriseId || null
   if (!enterpriseId) return Snackbar.warning('访问企业错误!')
 
   pageLoading.value = true
-  const { list, total: number } = await getJobAdvertisedSearch({ ...positionListParams.value, enterpriseId })
+  const { list, total: number } = await getJobAdvertisedSearch({ ...entPositionListParams.value, enterpriseId })
   if (!list.length) return Snackbar.warning('企业暂无招聘中的职位,无法进行投递!')
 
-  rightEntPositionTotal.value = number
-  rightEntPositionList.value = list.map(j => {
+  entPositionTotal.value = number
+  entPositionList.value = list.map(j => {
     const e = j?.job || null
     if (!e) return e
     const salary = e.payFrom && e.payTo ? `${e.payFrom ? e.payFrom + '-' : ''}${e.payTo}${e.payName ? '/' + e.payName : ''}` : '面议'
@@ -564,7 +566,7 @@ const getRecruitPositionList = async () => {
       data: e
     }
   }).filter(Boolean)
-  
+
   setTimeout(() => { pageLoading.value = false }, 300)
 }
 
@@ -578,7 +580,7 @@ async function handleSendResume (item) {
     // 没有基于职位接收到的沟通,弹出职位列表让求职者选择。否则无法投递简历。
     handleSendResumeItem = item
     await getRecruitPositionList()
-    if (rightEntPositionTotal.value) openPositionSelectDialog.value = true
+    if (entPositionTotal.value) openPositionSelectDialog.value = true
     return
   }
   try {
@@ -724,7 +726,7 @@ async function handleSubmitResume () {
     }
     // 如果是学生则需要带上实习信息
     if (practice && Object.keys(practice).length > 0) params = Object.assign(params, practice)
-    
+
     await jobCvRelSend(params)
   }
   handleChangeSendResumeStatus(true)
@@ -741,7 +743,7 @@ async function handleSubmitResume () {
   }
   if (enRequestPositionInfo.value) text.query.positionInfo = enRequestPositionInfo.value
   send (JSON.stringify(text), channelItem.value, 105)
-  
+
   enRequestPositionInfo.value = {}
 }
 

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

@@ -217,14 +217,14 @@ const handleSave = async () => {
     return
   }
   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招聘会
   if (route.query && route.query.id) submitParams.id = route.query.id // 有id则为编辑
   console.log('发布职位参数', submitParams)
   saveEmit()
 }
 
-const saveEmit = async () => {
+const saveEmit = async (retry) => {
   loading.value = true
   try {
     const res = await saveJobAdvertised({ ...submitParams, fair: props.isFair ? true : false }) // fair:是否为招聘会职位编辑-必填
@@ -250,7 +250,7 @@ const saveEmit = async () => {
     // 可发布职位额度不足时,将status设为99重新提交
     if (error === '企业额度已超过') {
       submitParams.status = '99'
-      saveEmit()
+      if (!retry) saveEmit(true) // true:重新提交避免死循环
     }
   } finally {
     loading.value = false

+ 0 - 2
src/views/recruit/enterprise/resume/components/table.vue

@@ -243,8 +243,6 @@ const handleEditSubmit = async () => {
   if (!valid) return
   const query = inviteRef.value.getQuery()
   if (!query?.time) return Snackbar.warning('请选择面试时间')
-  if (itemData.value?.practiceStartTime) query.practiceStartTime = itemData.value.practiceStartTime
-  if (itemData.value?.practiceEndTime) query.practiceEndTime = itemData.value.practiceEndTime
   await saveInterviewInvite(query)
   showTip.value = true
   handleEditClose()