|
@@ -38,7 +38,6 @@ const props = defineProps({
|
|
})
|
|
})
|
|
|
|
|
|
const openDialog = ref(false) // 默认不打开弹窗,先检验simpleInfoReady
|
|
const openDialog = ref(false) // 默认不打开弹窗,先检验simpleInfoReady
|
|
-const info = ref(null)
|
|
|
|
const store = useUserStore()
|
|
const store = useUserStore()
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
|
|
|
|
@@ -47,38 +46,29 @@ const handleClose = () => {
|
|
openDialog.value = props.closeable ? false : true
|
|
openDialog.value = props.closeable ? false : true
|
|
}
|
|
}
|
|
|
|
|
|
-// 查询用户基本信息
|
|
|
|
-const timer = ref(null)
|
|
|
|
-
|
|
|
|
-// 登录情况下校验必填人才信息
|
|
|
|
-if (getToken()) timer.value = setInterval(() => { getUserInfoVerify() }, 100)
|
|
|
|
-
|
|
|
|
-// 查询用户基本信息
|
|
|
|
|
|
+let verifyCount = 0
|
|
const getUserInfoVerify = () => {
|
|
const getUserInfoVerify = () => {
|
|
- setTimeout(() => { if (!info.value) getUserInfoFail() }, 10000); // 十秒后停止获取清除timer
|
|
|
|
- if (info.value) {
|
|
|
|
- if (timer.value) clearInterval(timer.value); timer.value = null
|
|
|
|
|
|
+ // console.log('获取人才信息->')
|
|
|
|
+ const bInfo = JSON.parse(localStorage.getItem('baseInfo'))
|
|
|
|
+ if (bInfo && Object.keys(bInfo).length) { // 校验必填人才信息
|
|
|
|
+ // console.log('获取人才信息成功->')
|
|
const keyArr = ['name', 'phone', 'jobStatus', 'expType', 'eduType'] // 必填人才信息
|
|
const keyArr = ['name', 'phone', 'jobStatus', 'expType', 'eduType'] // 必填人才信息
|
|
- const simpleInfoReady = Object.keys(info.value).length && keyArr.every(e => info.value[e] && info.value[e] !== 0) // 校验必填人才信息
|
|
|
|
|
|
+ const simpleInfoReady = keyArr.every(e => bInfo[e] && bInfo[e] !== 0) // 校验必填人才信息
|
|
if (simpleInfoReady) {
|
|
if (simpleInfoReady) {
|
|
emit('simpleInfoReady') // 存在
|
|
emit('simpleInfoReady') // 存在
|
|
} else {
|
|
} else {
|
|
openDialog.value = true // 不存在
|
|
openDialog.value = true // 不存在
|
|
Snackbar.warning('请先完善个人基本信息')
|
|
Snackbar.warning('请先完善个人基本信息')
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ if (verifyCount > 2) Snackbar.error(t('login.getUserInfoFailed')+','+t('login.loginAgain')) // 获取人才信息失败
|
|
|
|
+ else {
|
|
|
|
+ verifyCount++
|
|
|
|
+ setTimeout(() => { getUserInfoVerify() }, 4000) // 获取人才信息
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- info.value = JSON.parse(localStorage.getItem('baseInfo'))
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// 查询用户基本信息-失败
|
|
|
|
-const getUserInfoFail = () => {
|
|
|
|
- if (timer.value) clearInterval(timer.value); timer.value = null
|
|
|
|
- Snackbar.error(t('login.getUserInfoFailed')+','+t('login.loginAgain'))
|
|
|
|
- setTimeout(() => {
|
|
|
|
- store.userLogout(1)
|
|
|
|
- router.push('/login')
|
|
|
|
- }, 3000)
|
|
|
|
}
|
|
}
|
|
|
|
+setTimeout(() => { getUserInfoVerify() }, 2000) // 获取人才信息
|
|
|
|
|
|
const formRef = ref()
|
|
const formRef = ref()
|
|
const simpleInfoSubmit = async () => {
|
|
const simpleInfoSubmit = async () => {
|