Forráskód Böngészése

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

Xiao_123 8 hónapja
szülő
commit
958f5beeef

+ 8 - 0
src/api/enterprise.js

@@ -79,6 +79,14 @@ export const saveUserInfo = async (data) => {
   })
 }
 
+// 招聘端-绑定-修改用户邮箱
+export const entUpdateEmail = async (data) => {
+  return await request.put({
+    url: '/app-api/menduner/system/recruit/user/update-email',
+    data
+  })
+}
+
 // 招聘端-获取人才的在线简历详情
 export const getPersonCvDetail = async (userId, id) => {
   return await request.get({

+ 1 - 5
src/router/modules/components/recruit/enterprise.js

@@ -63,16 +63,12 @@ const enterprise = [
     meta: {
       title: '精英储备',
       enName: 'Job Management',
-      icon: 'mdi-format-list-bulleted-square'
+      icon: 'mdi-account-supervisor-circle'
     },
     children: [
       {
         path: '/recruit/enterprise/talentPool',
         show: true,
-        meta: {
-          title: '职位列表',
-          enName: 'Job list'
-        },
         component: () => import('@/views/recruit/enterprise/talentPool/index.vue')
       },
       {

+ 3 - 3
src/views/recruit/entRegister/register.vue

@@ -62,6 +62,7 @@ import { useI18n } from '@/hooks/web/useI18n'
 import { useRouter } from 'vue-router'; const router = useRouter()
 import { enterpriseRegisterApply } from '@/api/personal/user'
 import { onMounted, ref } from 'vue';
+import { checkEmail } from '@/utils/validate'
 defineOptions({name: 'enterprise-enterpriseRegister-register'})
 const { t } = useI18n()
 const CtFormRef = ref()
@@ -139,9 +140,8 @@ const formItems = ref({
           return '请输入联系邮箱'
         },
         value => {
-          const pattern = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
-          if (pattern.test(value)) return true
-          return '请输入邮箱'
+          if (checkEmail(value)) return true
+          return '请输入正确的电子邮箱'
         }
       ]
     },

+ 21 - 2
src/views/recruit/enterprise/staffInfoSetting/index.vue

@@ -19,6 +19,7 @@
       </template>
     </CtForm>
     <v-btn class="buttons mt-5" color="primary" @click.stop="handleSubmit">{{ $t('common.save') }}</v-btn>
+    <!-- <v-btn class="mt-3" color="primary" variant="text" @click.stop="ud">修改登录密码</v-btn> -->
   </v-card>
 
   <Loading :visible="overlay"></Loading>
@@ -28,13 +29,14 @@
 <script setup>
 defineOptions({ name: 'information-setting'})
 import { ref } from 'vue'
-import { saveUserInfo } from '@/api/enterprise'
+import { saveUserInfo, entUpdateEmail } from '@/api/enterprise'
 import { uploadFile } from '@/api/common'
 import { useI18n } from '@/hooks/web/useI18n'
 import { getDict } from '@/hooks/web/useDictionaries'
 import { useUserStore } from '@/store/user'
 import Snackbar from '@/plugins/snackbar'
 import { getUserAvatar } from '@/utils/avatar'
+import { checkEmail } from '@/utils/validate'
 
 const { t } = useI18n()
 const userStore = useUserStore()
@@ -81,12 +83,24 @@ const formItems = ref({
       type: 'text',
       key: 'email',
       value: '',
-      label: '电子邮箱'
+      label: '电子邮箱',
+      disabled: true,
+      rules: [
+        value => {
+          if (value) return true
+          return '请输入联系邮箱'
+        },
+        value => {
+          if (checkEmail(value)) return true
+          return '请输入正确的电子邮箱'
+        }
+      ]
     }
   ]
 })
 
 // 用户基本信息
+let emailChange = false
 const baseInfo = ref(JSON.parse(localStorage.getItem('entBaseInfo')) || {})
 const query = ref({})
 // 获取字典数据以及字段回显
@@ -101,6 +115,10 @@ formItems.value.options.forEach(item => {
     item.value = baseInfo.value[item.key]
     query.value.id = baseInfo.value.id
   }
+  if (item.key === 'email') {
+    item.disabled = checkEmail(item.value)
+    emailChange = !item.disabled
+  }
 })
 // 监听store变化
 userStore.$subscribe((mutation, state) => {
@@ -153,6 +171,7 @@ const handleSubmit = async () => {
     query.value[item.key] = item.value
   })
   await saveUserInfo(query.value)
+  if (query.value?.email && emailChange) await entUpdateEmail({ email: query.value.email })
   setTimeout(async () => {
     await userStore.getEnterpriseInfo()
     Snackbar.success(t('common.submittedSuccessfully'))