فهرست منبع

Merge branch 'dev' of https://git.citupro.com/zhengnaiwen_citu/menduner into dev

Xiao_123 10 ماه پیش
والد
کامیت
f5acfd8d50

+ 7 - 1
src/components/CtDialog/index.vue

@@ -15,6 +15,7 @@
         <span class="d-flex align-center justify-space-between" :class="[props.titleClass]">
           {{ props.title }}
           <v-btn
+            v-if="props.closeable"
             icon
             elevation="0"
             @click="handleClose"
@@ -34,6 +35,7 @@
         <v-card-actions>
           <v-spacer></v-spacer>
           <v-btn
+            v-if="props.closeable"
             color="primary"
             text
             @click="handleClose"
@@ -97,7 +99,11 @@ const props = defineProps({
   flexBox: {
     type: Boolean,
     default: false
-  }
+  },
+  closeable: {
+    type: Boolean,
+    default: true
+  },
 })
 
 const show = ref(false)

+ 1 - 1
src/store/loginType.js

@@ -3,7 +3,7 @@ import { defineStore } from 'pinia'
 export const useLoginType = defineStore('changeLoginType', {
   state: () => ({
     // loginType: 0
-    loginType: localStorage.getItem('loginType') || 0
+    loginType: localStorage.getItem('loginType') || 'personal'
   }),
   actions: {
     change(type) {

+ 1 - 2
src/store/user.js

@@ -102,8 +102,7 @@ export const useUserStore = defineStore('user',
           const api = this.loginType ? null : getBaseInfo
           if (!api) return
           const data = await api({ userId: userId || this.accountInfo.userId })
-          // if (!data) return localStorage.setItem('baseInfo', JSON.stringify('{}'))
-          if (!data) return
+          if (!data) return localStorage.setItem('baseInfo', '{}')
           this.baseInfo = await this.getFieldText(data)
           localStorage.setItem('baseInfo', JSON.stringify(this.baseInfo))
         } catch (error) {

+ 1 - 1
src/views/recruit/enterprise/systemManagement/groupAccount/inviteConfirm.vue

@@ -77,7 +77,7 @@ const handleLogin = async () => {
     const res = await smsLogin(params)
     setToken(res.accessToken)
     setRefreshToken(res.refreshToken)
-    localStorage.setItem('loginType', 'personal') // 不存在时刷新会出现重定向,值没有影响
+    localStorage.setItem('loginType', 'personal') // 不存在时刷新会出现重定向
     getUserBaseInfos(res.userId)
   } catch (error) {
     Snackbar.error('加入失败! ' + error)

+ 10 - 0
src/views/recruit/personal/home/index.vue

@@ -13,10 +13,13 @@
       <PopularEnterprises class="mt-10"></PopularEnterprises>
     </div>
   </div>
+  <!-- 快速填写简易人才信息-弹窗 -->
+  <simplePage v-if="showSimplePage" :closeable="true"></simplePage>
 </template>
 
 <script setup>
 defineOptions({ name:'personal-index'})
+import simplePage from '@/views/recruit/personal/shareJob/sendResume/simple.vue'
 import headCarousel from './components/headCarousel.vue'
 import headSearch from '@/components/headSearch'
 import hotJobs from './components/hotJobs.vue'
@@ -26,8 +29,15 @@ import hotPromotedPositions from './components/hotPromotedPositions.vue'
 import PopularEnterprises from './components/popularEnterprises.vue'
 import advertisementPage from './components/advertisement.vue'
 import { useRouter } from 'vue-router'
+import { nextTick, ref } from 'vue'
 
 const router = useRouter()
+console.log('1', localStorage.getItem('simpleCompleteDialogHaveBeenShow'))
+const simple = localStorage.getItem('simpleCompleteDialogHaveBeenShow')
+const showSimplePage = ref(simple? false : true) // 只提示一次
+nextTick(() => {
+  localStorage.setItem('simpleCompleteDialogHaveBeenShow', true)
+})
 
 const handleSearch = (val) => {
   if (val) router.push(`/recruit/personal/position?content=${val}`)

+ 1 - 1
src/views/recruit/personal/remuse/components/basicInfo.vue

@@ -136,7 +136,7 @@ const welfareList = ref(['响应', '改变', '诚信', '进取精神', '信任',
 let baseInfo = ref({})
 const getBasicInfo = () => { // 获取基础信息
   const key = localStorage.getItem('baseInfo')
-  if (!key) return
+  if (!key || !Object.keys(key).length) return
   baseInfo.value = JSON.parse(key) // 人才信息
 }
 getBasicInfo()

+ 2 - 2
src/views/recruit/personal/remuse/components/selfEvaluation.vue

@@ -41,8 +41,8 @@ const useStore = useUserStore()
 const getData = async () => {
   await useStore.getUserBaseInfos(JSON.parse(localStorage.getItem('userInfo')).id)
   const baseInfo = JSON.parse(localStorage.getItem('baseInfo'))
-  if (!baseInfo) return
-  advantage.value = baseInfo.advantage
+  // if (!baseInfo) return
+  advantage.value = baseInfo?.advantage || ''
 }
 getData()
 

+ 17 - 3
src/views/recruit/personal/shareJob/sendResume/simple.vue

@@ -5,7 +5,8 @@
     :widthType="2"
     titleClass="text-h6"
     title="补充基本信息"
-    @close="openDialog = false"
+    :closeable="props.closeable"
+    @close="openDialog = props.closeable ? false : true"
     @submit="simpleInfoSubmit"
   >
     <simpleInfoForm ref="formRef"></simpleInfoForm>
@@ -13,6 +14,7 @@
 </template>
 
 <script setup>
+import { getToken } from '@/utils/auth'
 import simpleInfoForm from '../form/simpleInfo.vue'
 import { savePersonSimpleInfo } from '@/api/recruit/personal/shareJob'
 import { useI18n } from '@/hooks/web/useI18n'; const { t } = useI18n()
@@ -20,6 +22,12 @@ import Snackbar from '@/plugins/snackbar'
 import { ref } from 'vue'
 defineOptions({name: 'shareJob-sendResume-simple'})
 const emit = defineEmits(['simpleInfoReady'])
+const props = defineProps({
+  closeable: {
+    type: Boolean,
+    default: true
+  }
+})
 
 const openDialog = ref(false) // 默认不打开弹窗,先检验simpleInfoReady
 const info = ref(null)
@@ -32,14 +40,20 @@ setTimeout(() => { if (!info.value) getUserInfoFail() }, 10000);
 
 // 查询用户基本信息
 const getUserInfoVerify = () => {
+  if (!getToken()) {
+    clearInterval(timer.value); timer.value = null
+    return
+  }
   if (info.value) {
     if (timer.value) clearInterval(timer.value); timer.value = null
     const keyArr = ['name', 'phone', 'jobStatus', 'expType', 'eduType'] // 必填人才信息
     const simpleInfoReady = Object.keys(info.value).length && keyArr.every(e => info.value[e] && info.value[e] !== 0) // 校验必填人才信息
-    if (simpleInfoReady) emit('simpleInfoReady') // 存在
-    else {
+    if (simpleInfoReady) {
+      emit('simpleInfoReady') // 存在
+    } else {
       openDialog.value = true // 不存在
       Snackbar.warning('请先完善个人基本信息')
+      localStorage.setItem('simpleCompleteDialogHaveBeenShow', true)
     }
   }
   info.value = JSON.parse(localStorage.getItem('baseInfo'))