|
@@ -7,25 +7,25 @@
|
|
|
titleClass="text-h6"
|
|
|
@close="showUploadFile = false"
|
|
|
title="简历上传"
|
|
|
- @submit="null"
|
|
|
+ @submit="uploadFileSubmit"
|
|
|
>
|
|
|
- <DeliveryForm ref="deliveryForm"></DeliveryForm>
|
|
|
+ <DeliveryForm ref="deliveryFormRef"></DeliveryForm>
|
|
|
</CtDialog>
|
|
|
<CtDialog
|
|
|
:visible="baseInfoCompleteDialog"
|
|
|
:widthType="2"
|
|
|
titleClass="text-h6"
|
|
|
- title="快速填写"
|
|
|
@close="baseInfoCompleteDialog = false"
|
|
|
+ title="快速填写"
|
|
|
@submit="baseInfoSubmit"
|
|
|
>
|
|
|
- <baseInfoCompleteForm ref="deliveryForm"></baseInfoCompleteForm>
|
|
|
+ <baseInfoCompleteForm ref="baseInfoCompleteFormRef" :baseInfo="baseInfo"></baseInfoCompleteForm>
|
|
|
</CtDialog>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
defineOptions({name: 'shareJob-handleDeliveryCom'})
|
|
|
-import { ref } from 'vue'
|
|
|
+import { nextTick, ref } from 'vue'
|
|
|
import selectResumeDialog from '@/views/recruit/personal/position/components/jobDetails/selectResumeDialog'
|
|
|
import Snackbar from '@/plugins/snackbar'
|
|
|
import { useI18n } from '@/hooks/web/useI18n'; const { t } = useI18n()
|
|
@@ -33,10 +33,10 @@ import {
|
|
|
// jobCvRelCheckSend,
|
|
|
jobCvRelSend
|
|
|
} from '@/api/position'
|
|
|
-import { hireJobCvDelivery } from '@/api/recruit/personal/shareJob'
|
|
|
+import { hireJobCvDelivery, savePersonSimpleInfo } from '@/api/recruit/personal/shareJob'
|
|
|
import DeliveryForm from './deliveryForm.vue'
|
|
|
import baseInfoCompleteForm from './baseInfoCompleteForm.vue'
|
|
|
-import { getPersonResumeCv } from '@/api/resume'
|
|
|
+import { getPersonResumeCv, savePersonResumeCv } from '@/api/resume'
|
|
|
|
|
|
const emits = defineEmits(['refresh'])
|
|
|
const props = defineProps({
|
|
@@ -59,16 +59,40 @@ const props = defineProps({
|
|
|
})
|
|
|
const showResume = ref(false)
|
|
|
const showUploadFile = ref(false)
|
|
|
-const baseInfoCompleteDialog = ref(false)
|
|
|
const resumeList = ref([])
|
|
|
|
|
|
+// 填写必填信息
|
|
|
+const baseInfoReady1 = ref(false)
|
|
|
+const baseInfoCompleteDialog = ref(false)
|
|
|
+const baseInfoCompleteFormRef = ref()
|
|
|
+const baseInfoSubmit = async () => {
|
|
|
+ const appPersonInfoSaveSimpleReqVO = await baseInfoCompleteFormRef.value.getQuery()
|
|
|
+ await savePersonSimpleInfo(appPersonInfoSaveSimpleReqVO)
|
|
|
+ localStorage.setItem('baseInfo', JSON.stringify(appPersonInfoSaveSimpleReqVO))
|
|
|
+ baseInfoReady1.value = true
|
|
|
+ baseInfoCompleteDialog.value = false
|
|
|
+ inspectionProcess()
|
|
|
+ // nextTick(() => { baseInfoCompleteDialog.value = false; inspectionProcess() })
|
|
|
+}
|
|
|
+
|
|
|
+const deliveryFormRef = ref()
|
|
|
+const uploadFileSubmit = async () => {
|
|
|
+ const obj = await deliveryFormRef.value.getQuery()
|
|
|
+ await savePersonResumeCv({ title: obj.fileName, url: obj.url })
|
|
|
+ showUploadFile.value = false
|
|
|
+ inspectionProcess()
|
|
|
+}
|
|
|
+
|
|
|
const inspectionProcess = async () => {
|
|
|
try {
|
|
|
// 已登录情况下流程:
|
|
|
//
|
|
|
// * 必填人才信息不完全 -> 不符合快速投递,进入完善人才信息流程
|
|
|
- if (!props.baseInfo?.baseInfoReady) {
|
|
|
- baseInfoCompleteDialog.value = true
|
|
|
+ const info = JSON.parse(localStorage.getItem('baseInfo'))
|
|
|
+ const keyArr = ['name', 'phone', 'jobStatus', 'expType', 'eduType'] // 必填人才信息
|
|
|
+ const baseInfoReady = keyArr.every(e => info[e] && info[e] !== 0) // 校验必填人才信息
|
|
|
+ if (!baseInfoReady) {
|
|
|
+ nextTick(() => { baseInfoCompleteDialog.value = true })
|
|
|
return
|
|
|
}
|
|
|
// * 查看简历列表
|
|
@@ -76,11 +100,11 @@ const inspectionProcess = async () => {
|
|
|
resumeList.value = data
|
|
|
// * 上传简历 (已登录但未上传简历)
|
|
|
if (!data?.length) {
|
|
|
- showUploadFile.value = true
|
|
|
+ nextTick(() => { showUploadFile.value = true })
|
|
|
return
|
|
|
}
|
|
|
// * 简历选择
|
|
|
- if (data?.length) showResume.value = true
|
|
|
+ if (data?.length) nextTick(() => { showResume.value = true })
|
|
|
} catch (error) {
|
|
|
console.error('error', error)
|
|
|
}
|