Преглед на файлове

校验必填人才信息优化

lifanagju_citu преди 6 месеца
родител
ревизия
c3f8096a5e
променени са 1 файла, в които са добавени 13 реда и са изтрити 23 реда
  1. 13 23
      src/views/recruit/personal/shareJob/sendResume/simple.vue

+ 13 - 23
src/views/recruit/personal/shareJob/sendResume/simple.vue

@@ -38,7 +38,6 @@ const props = defineProps({
 })
 
 const openDialog = ref(false) // 默认不打开弹窗,先检验simpleInfoReady
-const info = ref(null)
 const store = useUserStore()
 const router = useRouter()
 
@@ -47,38 +46,29 @@ const handleClose = () => {
   openDialog.value = props.closeable ? false : true
 }
 
-// 查询用户基本信息
-const timer = ref(null)
-
-// 登录情况下校验必填人才信息
-if (getToken()) timer.value = setInterval(() => { getUserInfoVerify() }, 100)
-
-// 查询用户基本信息
+let verifyCount = 0
 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 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) {
       emit('simpleInfoReady') // 存在
     } else {
       openDialog.value = true // 不存在
       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 simpleInfoSubmit = async () => {