|
@@ -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>
|
|
|
|
|
@@ -516,7 +517,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()
|
|
|
}
|
|
|
|
|
@@ -534,23 +536,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 : ''}` : '面议'
|
|
@@ -574,7 +576,7 @@ async function handleSendResume (item) {
|
|
|
// 没有基于职位接收到的沟通,弹出职位列表让求职者选择。否则无法投递简历。
|
|
|
handleSendResumeItem = item
|
|
|
await getRecruitPositionList()
|
|
|
- if (rightEntPositionTotal.value) openPositionSelectDialog.value = true
|
|
|
+ if (entPositionTotal.value) openPositionSelectDialog.value = true
|
|
|
return
|
|
|
}
|
|
|
try {
|