|
@@ -186,6 +186,8 @@ import { timesTampChange } from '@/utils/date'
|
|
import { dealDictObjData, dealDictArrayData, commissionCalculation } from '@/utils/position'
|
|
import { dealDictObjData, dealDictArrayData, commissionCalculation } from '@/utils/position'
|
|
import { getToken } from '@/utils/auth'
|
|
import { getToken } from '@/utils/auth'
|
|
import { getUserAvatar } from '@/utils/avatar'
|
|
import { getUserAvatar } from '@/utils/avatar'
|
|
|
|
+import { checkPersonBaseInfo } from '@/utils/check'
|
|
|
|
+import necessaryInfo from '@/plugins/necessaryInfo'
|
|
|
|
|
|
const props = defineProps({
|
|
const props = defineProps({
|
|
defaultWidth: {
|
|
defaultWidth: {
|
|
@@ -208,7 +210,8 @@ const props = defineProps({
|
|
|
|
|
|
const { t } = useI18n()
|
|
const { t } = useI18n()
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
-const { id } = props.propJobId ? { id: props.propJobId } : router.currentRoute.value.params
|
|
|
|
|
|
+let { id } = props.propJobId ? { id: props.propJobId } : router.currentRoute.value.params
|
|
|
|
+if (id) id = id.toString()
|
|
const delivery = ref(false) // 是否已投递简历
|
|
const delivery = ref(false) // 是否已投递简历
|
|
const loading = ref(false)
|
|
const loading = ref(false)
|
|
const showLogin = ref(false)
|
|
const showLogin = ref(false)
|
|
@@ -240,7 +243,7 @@ const formItems = ref({
|
|
]
|
|
]
|
|
})
|
|
})
|
|
|
|
|
|
-const nextFunc = ref(null)
|
|
|
|
|
|
+const nextFunc = ref(null) // 登录成功或强制填写个人信息成功后回调
|
|
let loginCloseWarningWord = ''
|
|
let loginCloseWarningWord = ''
|
|
// 快速登录
|
|
// 快速登录
|
|
const loginSuccess = () => {
|
|
const loginSuccess = () => {
|
|
@@ -337,27 +340,39 @@ getCollectionStatus()
|
|
// 分享有礼
|
|
// 分享有礼
|
|
const shareDialog = ref(false)
|
|
const shareDialog = ref(false)
|
|
const handleShare = async () => {
|
|
const handleShare = async () => {
|
|
|
|
+ nextFunc.value = handleShare // 登录成功或强制填写个人信息成功后回调
|
|
if (!getToken()) {
|
|
if (!getToken()) {
|
|
showLogin.value = true // 打开快速登录弹窗
|
|
showLogin.value = true // 打开快速登录弹窗
|
|
Snackbar.warning('您还未登录,请先登录后再试')
|
|
Snackbar.warning('您还未登录,请先登录后再试')
|
|
//
|
|
//
|
|
- nextFunc.value = handleShare // 登录成功后要执行的操作
|
|
|
|
loginCloseWarningWord = '您已取消登录,无法分享职位给好友' // 取消登录提示语
|
|
loginCloseWarningWord = '您已取消登录,无法分享职位给好友' // 取消登录提示语
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ if (!checkPersonBaseInfo()) { // 强制填写个人信息
|
|
|
|
+ necessaryInfo('necessaryInfoDialog').then(() => {
|
|
|
|
+ if (nextFunc.value) nextFunc.value()
|
|
|
|
+ })
|
|
|
|
+ return
|
|
|
|
+ }
|
|
generateAndDownloadImage() // 生成海报
|
|
generateAndDownloadImage() // 生成海报
|
|
}
|
|
}
|
|
|
|
|
|
// 收藏&取消收藏职位
|
|
// 收藏&取消收藏职位
|
|
const handleCollection = async () => {
|
|
const handleCollection = async () => {
|
|
|
|
+ nextFunc.value = handleCollection // 登录成功或强制填写个人信息成功后回调
|
|
if (!getToken()) {
|
|
if (!getToken()) {
|
|
showLogin.value = true // 打开快速登录弹窗
|
|
showLogin.value = true // 打开快速登录弹窗
|
|
Snackbar.warning('您还未登录,请先登录后再试')
|
|
Snackbar.warning('您还未登录,请先登录后再试')
|
|
//
|
|
//
|
|
- nextFunc.value = handleCollection // 登录成功后要执行的操作
|
|
|
|
loginCloseWarningWord = '您已取消登录,无法收藏职位' // 取消登录提示语
|
|
loginCloseWarningWord = '您已取消登录,无法收藏职位' // 取消登录提示语
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ if (!checkPersonBaseInfo()) { // 强制填写个人信息
|
|
|
|
+ necessaryInfo('necessaryInfoDialog').then(() => {
|
|
|
|
+ if (nextFunc.value) nextFunc.value()
|
|
|
|
+ })
|
|
|
|
+ return
|
|
|
|
+ }
|
|
const api = isCollection.value ? getPersonJobUnfavorite : getPersonJobFavorite
|
|
const api = isCollection.value ? getPersonJobUnfavorite : getPersonJobFavorite
|
|
await api(isCollection.value ? id : { jobId: id })
|
|
await api(isCollection.value ? id : { jobId: id })
|
|
await getCollectionStatus()
|
|
await getCollectionStatus()
|
|
@@ -402,15 +417,21 @@ const showResume = ref(false)
|
|
const resumeList = ref([])
|
|
const resumeList = ref([])
|
|
const selectResume = ref()
|
|
const selectResume = ref()
|
|
const handleDelivery = async () => {
|
|
const handleDelivery = async () => {
|
|
|
|
+ nextFunc.value = handleDelivery // 登录成功或强制填写个人信息成功后回调
|
|
if (!getToken()) {
|
|
if (!getToken()) {
|
|
showLogin.value = true // 打开快速登录弹窗
|
|
showLogin.value = true // 打开快速登录弹窗
|
|
Snackbar.warning('您还未登录,请先登录后再试')
|
|
Snackbar.warning('您还未登录,请先登录后再试')
|
|
//
|
|
//
|
|
- nextFunc.value = handleDelivery // 登录成功后要执行的操作
|
|
|
|
loginCloseWarningWord = '您已取消登录,无法投递简历' // 取消登录提示语
|
|
loginCloseWarningWord = '您已取消登录,无法投递简历' // 取消登录提示语
|
|
return
|
|
return
|
|
}
|
|
}
|
|
if (delivery.value) return Snackbar.warning(t('resume.alreadyResume'))
|
|
if (delivery.value) return Snackbar.warning(t('resume.alreadyResume'))
|
|
|
|
+ if (!checkPersonBaseInfo()) { // 强制填写个人信息
|
|
|
|
+ necessaryInfo('necessaryInfoDialog').then(() => {
|
|
|
|
+ if (nextFunc.value) nextFunc.value()
|
|
|
|
+ })
|
|
|
|
+ return
|
|
|
|
+ }
|
|
const result = await getPersonResumeCv()
|
|
const result = await getPersonResumeCv()
|
|
resumeList.value = result
|
|
resumeList.value = result
|
|
// 没有上传过简历的先去上传
|
|
// 没有上传过简历的先去上传
|
|
@@ -445,6 +466,7 @@ const handleSubmit = async (val) =>{
|
|
let toDetailsInfo = {}
|
|
let toDetailsInfo = {}
|
|
// 沟通
|
|
// 沟通
|
|
const toDetails = async (info) => {
|
|
const toDetails = async (info) => {
|
|
|
|
+ nextFunc.value = toDetails // 登录成功或强制填写个人信息成功后回调
|
|
if (info) toDetailsInfo = info // 快速登录弹窗回调使用
|
|
if (info) toDetailsInfo = info // 快速登录弹窗回调使用
|
|
else info = toDetailsInfo
|
|
else info = toDetailsInfo
|
|
if (!getToken()) {
|
|
if (!getToken()) {
|
|
@@ -452,7 +474,6 @@ const toDetails = async (info) => {
|
|
Snackbar.warning('您还未登录,请先登录后再试')
|
|
Snackbar.warning('您还未登录,请先登录后再试')
|
|
//
|
|
//
|
|
loginCloseWarningWord = '您已取消登录,无法对职位进行沟通' // 取消登录提示语
|
|
loginCloseWarningWord = '您已取消登录,无法对职位进行沟通' // 取消登录提示语
|
|
- nextFunc.value = toDetails // 登录成功后要执行的操作 (toDetails执行不成功,原因未找到)
|
|
|
|
return
|
|
return
|
|
}
|
|
}
|
|
try {
|
|
try {
|