Browse Source

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

Xiao_123 6 months ago
parent
commit
c60c421d68

+ 2 - 2
src/components/Upload/file.vue

@@ -39,10 +39,10 @@ const trigger = () => {
 
 const handleUploadFile = async (e) => {
   if (!e.target.files.length) return
-
+  
   const file = e.target.files[0]
   const size = file.size
-  if (size / (1024*1024) > 10) {
+  if (size / (1024*1024) > 20) {
     Snackbar.warning(t('common.fileSizeExceed'))
     return
   }

+ 8 - 8
src/components/VerificationCode/index.vue

@@ -16,7 +16,7 @@
       <v-text-field v-model="loginData.phone" counter="11" :disabled="props.phoneDisabled" :placeholder="$t('login.mobileNumberPlaceholder')" color="primary" variant="outlined" density="compact" :rules="phoneRules" validate-on="input">
         <template v-slot:prepend-inner>
           <span class="d-flex">
-            <v-icon icon="mdi-cellphone" size="20"></v-icon>
+            <v-icon icon="mdi-cellphone" size="24" color="#818181"></v-icon>
             <!-- <span class="d-flex" id="menu-activator">
               <span class="phone-number">{{ currentArea }}</span>
               <v-icon size="20">mdi-chevron-down</v-icon>
@@ -205,15 +205,15 @@ const handleEnter = () => {
   emits('handleEnter')
 }
 
-const resetForm = () => {
-  loginData.email = ''
-  loginData.phone = ''
-  loginData.code = ''
-  count.value = 0
-}
+// const resetForm = () => {
+//   loginData.email = ''
+//   loginData.phone = ''
+//   loginData.code = ''
+//   count.value = 0
+// }
 
 defineExpose({
-  resetForm, 
+  // resetForm, 
   loginData, 
   phoneForm
 })

+ 5 - 5
src/layout/personal/footer.vue

@@ -21,15 +21,15 @@
         <h4>使用与帮助</h4>
         <div class="mt-4 size">
           <div class="d-flex my-2">
-            <a href="/userAgreement" style="width: 140px;">用户协议</a>
-            <a href="/UserBehaviorNorms">行为规范</a>
+            <a  target="_blank" href="/userAgreement" style="width: 140px;">用户协议</a>
+            <a  target="_blank" href="/UserBehaviorNorms">行为规范</a>
           </div>
           <div class="d-flex my-2">
-            <a href="/CopyrightPolicy" style="width: 140px;">版权政策</a>
-            <a href="/privacyPolicy">隐私协议</a>
+            <a  target="_blank" href="/CopyrightPolicy" style="width: 140px;">版权政策</a>
+            <a  target="_blank" href="/privacyPolicy">隐私协议</a>
           </div>
           <div class="d-flex my-2">
-            <a href="/WorkplaceCommunityPolicy" style="width: 140px;">职场社区政策</a>
+            <a  target="_blank" href="/WorkplaceCommunityPolicy" style="width: 140px;">职场社区政策</a>
           </div>
         </div>
       </div>

+ 1 - 1
src/locales/en.js

@@ -25,7 +25,7 @@ export default {
     uploadPictures: 'upload pictures',
     uploadSucMsg: 'Upload successful',
     uploadErrMsg: 'Upload failed',
-    fileSizeExceed: 'The file size cannot exceed 10M',
+    fileSizeExceed: 'The file size cannot exceed 20M',
     fileFormatIncorrect: 'The uploaded file format is incorrect',
     refresh: 'Refresh',
     currentlyUnavailable: 'Currently unavailable',

+ 1 - 1
src/locales/zh-CN.js

@@ -25,7 +25,7 @@ export default {
     uploadPictures: '上传图片',
     uploadSucMsg: '上传成功',
     uploadErrMsg: '上传失败',
-    fileSizeExceed: '文件大小不能超过10M',
+    fileSizeExceed: '文件大小不能超过20M',
     fileFormatIncorrect: '上传的文件格式不正确',
     refresh: '刷新',
     currentlyUnavailable: '暂无',

+ 1 - 1
src/views/login/components/passwordPage.vue

@@ -14,7 +14,7 @@
     >
       <!-- <template v-slot:prepend-inner>
         <span class="d-flex">
-          <v-icon icon="mdi-cellphone" size="20"></v-icon>
+          <v-icon icon="mdi-cellphone" size="24" color="#818181"></v-icon>
           <span class="d-flex" id="menu-activator">
             <span class="phone-number">{{ currentArea }}</span>
             <v-icon size="20">mdi-chevron-down</v-icon>

+ 11 - 5
src/views/login/index.vue

@@ -23,8 +23,8 @@
           <!-- 个人登录 -->
           <div v-show="!isEnterpriseLogin" class="login-tab">
             <v-tabs v-model="tab" align-tabs="center" color="primary" class="mb-10" @update:modelValue="tabChange">
-              <v-tab :value="1">验证码</v-tab>
               <v-tab :value="2">账号</v-tab>
+              <v-tab :value="1">验证码</v-tab>
               <!-- <v-tab :value="3">微信</v-tab> -->
             </v-tabs>
             <v-window v-model="tab">
@@ -58,8 +58,8 @@
               <v-icon v-if="isAgree" size="18" color="primary" class="mr-2" @click="isAgree = !isAgree">mdi-check-circle</v-icon>
               <v-icon v-else size="18" color="grey" class="mr-2" @click="isAgree = !isAgree">mdi-check-circle-outline</v-icon>
               {{ $t('login.agreeLogin') }}
-              <span class="color" style="cursor: pointer;" @click="router.push('/userAgreement')"> [{{ $t('login.userAgreement') }}] </span>和
-              <span class="color" style="cursor: pointer;" @click="router.push('/privacyPolicy')">[{{ $t('login.privacyPolicy') }}]</span>
+              <span class="color" style="cursor: pointer;" @click="windowOpen('/userAgreement')"> [{{ $t('login.userAgreement') }}] </span>和
+              <span class="color" style="cursor: pointer;" @click="windowOpen('/privacyPolicy')">[{{ $t('login.privacyPolicy') }}]</span>
           </div>
         </div>
       </div>
@@ -105,7 +105,7 @@ onMounted(() => {
 
 const { t } = useI18n()
 const router = useRouter()
-const tab = ref(1)
+const tab = ref(2)
 const tab1 = ref(1)
 const isAgree = ref(false)
 const isEnterpriseLogin = ref(route.query?.entLogin || false)
@@ -113,7 +113,8 @@ const isEnterpriseLogin = ref(route.query?.entLogin || false)
 const handleChangeLogin = () => {
   isEnterpriseLogin.value = !isEnterpriseLogin.value
   nextTick(() => {
-    tab.value = isEnterpriseLogin.value ? 2 : 1 // 为了验证邮箱validate
+    // tab.value = isEnterpriseLogin.value ? 2 : 1 // 为了验证邮箱validate,企业邮箱登录时需要tab
+    tab.value = 2 // 为了验证邮箱validate,企业邮箱登录时需要tab=2
   })
 }
 
@@ -235,6 +236,11 @@ const verifySuccess = (params) => {
   handleLogin()
 }
 
+const windowOpen = (url) => {
+  // router.push(url)
+  if (url) window.open(url)
+}
+
 </script>
 
 <style lang="scss" scoped>

+ 3 - 1
src/views/recruit/components/message/index.vue

@@ -141,7 +141,7 @@
         <File ref="uploadFile" @success="handleUploadResume"></File>
       </template>
     </CtForm>
-    <div class="color-666" style="font-size: 13px;">* 仅支持.doc, .docx, .pdf文件</div>
+    <div class="color-666" style="font-size: 13px;">* 仅支持.doc, .docx, .pdf文件且大小不能超过20MB</div>
   </CtDialog>
 
   <!-- 面试邀请 -->
@@ -272,6 +272,8 @@ const formItems = ref({
       truthValue: '',
       label: '点击上传附件简历 *',
       outline: true,
+      accept: '.doc, .docx, .pdf',
+      prependInnerIcon: 'mdi-file-document-outline',
       rules: [v => !!v || '请上传您的附件简历']
     }
   ]

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

@@ -13,7 +13,7 @@
         </div>
       </div>
       <div class="mt-10 d-flex flex-column align-center">
-        <template v-if="joinSuccess">
+        <div v-if="joinSuccess">
           <div style="color: var(--v-primary-base); font-size: 18px; font-weight: bold;">加入成功!</div>
           <!-- <div class="mt-3">您使用企业邮箱登录招聘端的初始密码为"邮箱账号",请尽快登录招聘端修改密码!</div> -->
           <div class="mt-3">您使用企业邮箱登录招聘端的初始密码</div>
@@ -21,15 +21,15 @@
           <div class="mt-2" style="color: var(--v-error-base);">请尽快登录招聘企业修改密码!</div>
           <!-- <div class="mt-3">您使用企业邮箱登录招聘端的初始密码为"邮箱账号",请尽快登录招聘端修改密码!</div> -->
           <v-btn v-if="!isMobile" class="mt-10" color="warning" to="/recruitHome">{{ $t('common.toHome') }}</v-btn>
-        </template>
-        <template v-else>
-          <phoneFrom ref="phoneRef" showEmailInput @handleEnter="handleLogin" class="text-left" :style="{'width': isMobile ? '100%' : '350px' }"></phoneFrom>
+        </div>
+        <div v-else>
+          <phoneFrom ref="phoneRef" openVerify showEmailInput @handleEnter="handleLogin" class="text-left" :style="{'width': isMobile ? '100%' : '350px' }"></phoneFrom>
           <v-btn :loading="loginLoading" color="warning" class="white--text mt-5" min-width="350" @click="handleLogin" :style="{'width': isMobile ? '100%' : '350px' }">
             {{ $t('common.confirmJoin') }}
           </v-btn>
           <div class="font-size-15 text-end color-666 mt-2">提示:未注册的手机号,加入自动注册账号</div>
           <!-- <div class="color-999 mt-2" style="font-size: 13px;">注:确认即代表加入该企业</div> -->
-        </template>
+        </div>
       </div>
     </div>
   </div>
@@ -135,8 +135,9 @@ const join = async () => {
     joinSuccess.value = true
     Snackbar.success('加入成功')
   } catch (error) {
-    Snackbar.error('加入失败! ' + error + '请更换手机号')
-    if (phoneRef.value?.resetPhone) phoneRef.value.resetForm()
+    // 1.手机号绑定的userId或2.输入的邮箱已加入则不能再加入
+    Snackbar.error(error)
+    // if (phoneRef.value?.resetPhone) phoneRef.value.resetForm()
   } finally {
     if (isMobile.value) logoutFun() // 网页打开保留登录状态
     loginLoading.value = false

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

@@ -25,7 +25,7 @@
             </v-btn>
           </div>
           <div v-show="!showCompanySelect">
-            <phoneFrom ref="phoneRef" @handleEnter="handleClick()" :style="{'width': isMobile ? '100%' : '350px' }"></phoneFrom>
+            <phoneFrom ref="phoneRef" openVerify @handleEnter="handleClick()" :style="{'width': isMobile ? '100%' : '350px' }"></phoneFrom>
             <v-btn :loading="loginLoading" color="warning" class="white--text mt-3" min-width="350" @click="handleConfirmJoin" :style="{'width': isMobile ? '100%' : '350px' }">
               {{ quickRegister ? $t('login.register') : $t('common.confirmJoin') }}
             </v-btn>

+ 3 - 1
src/views/recruit/personal/PersonalCenter/resume/attachment/index.vue

@@ -39,7 +39,7 @@
         <File ref="uploadFile" @success="handleUploadResume"></File>
       </template>
     </CtForm>
-    <div class="color-666" style="font-size: 13px;">* 仅支持.doc, .docx, .pdf文件</div>
+    <div class="color-666" style="font-size: 13px;">* 仅支持.doc, .docx, .pdf文件且大小不能超过20MB</div>
   </CtDialog>
 </template>
 
@@ -72,6 +72,8 @@ const formItems = ref({
       truthValue: '',
       label: '点击上传附件简历 *',
       outline: true,
+      accept: '.doc, .docx, .pdf',
+      prependInnerIcon: 'mdi-file-document-outline',
       rules: [v => !!v || '请上传您的附件简历']
     }
   ]

+ 6 - 1
src/views/recruit/personal/company/index.vue

@@ -61,9 +61,11 @@ const dealRouteQuery = (data) => {
   if (str) router.push(`${route.path}?${str}`)
 }
 
+const content = ref('')
 // 搜索
 const handleSearch = async (val, key) => {
   if (!val && key !== 'name') return
+  if (key === 'name') content.value = val
   query.value.pageNo = 1
   // val为-1时选择的是不限或者全国, 此时选中的字段不传
   if (!val || val === -1 || val[0] === -1) delete query.value[key]
@@ -98,10 +100,13 @@ const getCompanyData = async () => {
 const handleClear = () => {
   clear.value = true
   query.value = {
+    name: content.value,
     pageNo: 1,
     pageSize: 12
   }
-  router.push(route.path)
+  if (content.value) router.push(`${route.path}?name=${content.value}`)
+  else router.push(route.path)
+  //
   getCompanyData()
 }
 

+ 3 - 1
src/views/recruit/personal/position/components/details.vue

@@ -115,7 +115,7 @@
           <File ref="uploadFile" @success="handleUploadResume"></File>
         </template>
       </CtForm>
-      <div class="color-666" style="font-size: 13px;">* 仅支持.doc, .docx, .pdf文件</div>
+      <div class="color-666" style="font-size: 13px;">* 仅支持.doc, .docx, .pdf文件且大小不能超过20MB</div>
     </CtDialog>
 
     <!-- 选择简历 -->
@@ -229,6 +229,8 @@ const formItems = ref({
       truthValue: '',
       label: '点击上传附件简历 *',
       outline: true,
+      accept: '.doc, .docx, .pdf',
+      prependInnerIcon: 'mdi-file-document-outline',
       rules: [v => !!v || '请上传您的附件简历']
     }
   ]

+ 5 - 4
src/views/recruit/personal/position/index.vue

@@ -85,7 +85,7 @@ const getData = async () => {
     })
   }
   // 没有筛选条件不请求数据
-  if (!Object.keys(routerParams).length) {
+  if (!Object.keys(routerParams).length && !headSearchText.value) {
     noParams.value = true
     items.value = []
     total.value = 0
@@ -129,9 +129,10 @@ const handleQueryChange = (key, val) => { // val为字符串,数组的话用_下
 }
 
 // 清空筛选条件
-const handleReset = async () => {
-  routeQuery = {}
-  await updateRouter()
+const handleReset = () => {
+  // routeQuery = {}
+  showFilterList.forEach(e => {if (routeQuery[e.key]) delete routeQuery[e.key]})
+  updateRouter()
 }
 
 // 分页

+ 4 - 3
src/views/recruit/personal/shareJob/form/upload.vue

@@ -1,7 +1,7 @@
 <template>
   <div style="width: 100%;">
     <CtForm ref="formPageRef" :items="items"></CtForm>
-    <div class="color-666 mb-3" style="font-size: 13px;">* 仅支持.doc, .docx, .pdf文件</div>
+    <div class="color-666 mb-3" style="font-size: 13px;">* 仅支持.doc, .docx, .pdf文件且大小不能超过20MB</div>
   </div>
 </template>
 
@@ -21,7 +21,7 @@ const typeList = ['pdf', 'doc', 'docx']
 const handleUpload = async (e) => {
   const file = e
   const size = file.size
-  if (size / (1024*1024) > 10) {
+  if (size / (1024*1024) > 20) {
     Snackbar.warning(t('common.fileSizeExceed'))
     return
   }
@@ -54,8 +54,9 @@ const items = ref({
       value: null,
       data: '',
       label: '附件简历 *',
-      accept: '.doc, .docx, .pdf',
       placeholder: '请上传附件简历',
+      accept: '.doc, .docx, .pdf',
+      prependInnerIcon: 'mdi-file-document-outline',
       rules: [v => !!v || '请上传附件简历'],
       change: handleUpload
     }

+ 10 - 2
src/views/register/person.vue

@@ -12,8 +12,8 @@
         <v-icon v-if="isAgree" size="18" color="primary" class="mr-2" @click="isAgree = !isAgree">mdi-check-circle</v-icon>
         <v-icon v-else size="18" color="grey" class="mr-2" @click="isAgree = !isAgree">mdi-check-circle-outline</v-icon>
         点击注册即代表您同意
-        <span class="color-primary" style="cursor: pointer;" @click="router.push('/userAgreement')"> [{{ $t('login.userAgreement') }}] </span>和
-        <span class="color-primary" style="cursor: pointer;" @click="router.push('/privacyPolicy')">[{{ $t('login.privacyPolicy') }}]</span>
+        <span class="color" style="cursor: pointer;" @click="windowOpen('/userAgreement')"> [{{ $t('login.userAgreement') }}] </span>和
+        <span class="color" style="cursor: pointer;" @click="windowOpen('/privacyPolicy')">[{{ $t('login.privacyPolicy') }}]</span>
       </div>
     </div>
   </div>
@@ -76,9 +76,17 @@ const handleRegister = async () => {
     loading.value = false
   }
 }
+
+const windowOpen = (url) => {
+  // router.push(url)
+  if (url) window.open(url)
+}
 </script>
 
 <style scoped lang="scss">
+.color {
+  color: var(--v-primary-base); 
+}
 .navBar {
   position: absolute;
   top: 0;