Explorar o código

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

lifanagju_citu hai 1 mes
pai
achega
99a4a50e92

+ 3 - 2
src/layout/personal/navBar.vue

@@ -154,6 +154,7 @@ defineProps({
 
 const showBall = ref(false)
 const showTeacherLogin = ref(false)
+const isSchool = localStorage.getItem('isSchool') ? true : false
 
 // 获取老师注册信息
 const schoolInfo = ref({})
@@ -161,7 +162,7 @@ const getSchoolInfo = async () => {
   const data = await getSchoolInformation()
   if (data && Object.keys(data).length > 0) {
     schoolInfo.value = data
-    showTeacherLogin.value = true
+    showTeacherLogin.value = isSchool ? false : true
   }
 }
 
@@ -191,7 +192,7 @@ const navList = ref([
   { title: '门墩儿招聘', path: '/recruit/personal/recommend', dealActive: true },
   { title: '门墩儿猎头', path: '/headhunting' },
   { title: '门墩儿商城', path: '/pointsExchange', isEdit: true },
-  { title: '火苗儿校企', path: '/flame' },
+  { title: '火苗儿校企', path: '/flameLogin' },
   { title: '了解门墩儿', path: '/about' }
 ])
 

+ 1 - 1
src/layout/teacher/navBar.vue

@@ -68,7 +68,7 @@ const handleLogoClick = () => { window.open('/recruitHome') } // 点击logo
 // 退出登录
 const handleLogout = async () => {
   await userStore.userLogout(1)
-  router.push({ path: '/flame' })
+  router.push({ path: '/flameLogin' })
 }
 
 const menuList = ref([

+ 3 - 25
src/plugins/dialogExtend/components/studentInfoForm.vue

@@ -103,26 +103,6 @@ const items = ref({
       items: [],
       change: val => male.value = val
     },
-    {
-      type: 'text',
-      key: 'idCardNo',
-      value: '',
-      label: '身份证号码 *',
-      rules: [
-        value => {
-          if (!value) {
-            return '请输入您的身份证号码'
-          }
-          return true
-        },
-        value => {
-          if (!isValidIdCard18(value)) {
-            return '请输入正确的身份证号码'
-          }
-          return true
-        }
-      ]
-    },
     {
       type: 'phoneNumber',
       key: 'phone',
@@ -210,17 +190,15 @@ const items = ref({
       key: 'emergencyContactName',
       value: '',
       default: null,
-      label: '紧急联系人姓名 *',
-      outlined: true,
-      rules: [v => !!v || '请填写紧急联系人姓名']
+      label: '紧急联系人姓名',
+      outlined: true
     },
     {
       type: 'phoneNumber',
       key: 'emergencyContactPhone',
       value: '',
       clearable: true,
-      label: '紧急联系人手机号 *',
-      rules: [v => !!v || '请填写紧急联系人手机号']
+      label: '紧急联系人手机号'
     },
   ]
 })

+ 1 - 1
src/router/modules/remaining.js

@@ -22,7 +22,7 @@ const remainingRouter = [
     name: 'flameLogin',
     meta: {
       hidden: true,
-      title: '老师登录/注册'
+      title: '火苗儿校企'
     }
   },
   {

+ 4 - 0
src/store/user.js

@@ -274,6 +274,10 @@ export const useUserStore = defineStore('user',
       // 获取学校基本信息
       async getSchoolInfo (isRegister = false) {
         const data = await getSchoolInformation()
+
+        // 存储学校登录标识
+        localStorage.setItem('isSchool', 1)
+
         this.schoolInfo = data || {}
         localStorage.setItem('schoolInfo', data ? JSON.stringify(data) : '{}')
 

+ 2 - 9
src/views/login/flameLogin.vue

@@ -39,9 +39,6 @@
           </div>
         </div>
       </div>
-      <div class="aboutBox">
-        <about :showBanner="false"></about>
-      </div>
     </div>
     <navBar :showLoginBtn="false" class="navBar"></navBar>
   </div>
@@ -183,9 +180,9 @@ const windowOpen = (url) => {
   align-items: center;
   justify-content: center;
   width: 100%;
-  height: 78vh;
+  height: 100vh;
   // height: calc(100vh - 50px);
-  margin-top: 50px;
+  // margin-top: 50px;
 }
 .login-change {
   position: absolute;
@@ -224,10 +221,6 @@ const windowOpen = (url) => {
   color: var(--v-primary-base); 
 }
 
-.aboutBox {
-  width: 100%;
-  background-color: #fff;
-}
 .carousel {
   :deep(.v-window) {
     height: 392px !important;

+ 3 - 108
src/views/recruit/enterprise/search/retrieval/index.vue

@@ -64,7 +64,6 @@
           <div class="d-flex">
             <div class="mr-10">{{ item.subTitle }}</div>
             <div class="mr-10">首次工作时间: {{ timesTampChange(item.firstWorkTime, 'Y-M-D') }}</div>
-            <!-- <div class="mr-10">所在城市: {{ item.areaName }}</div> -->
             <div v-if="item.interestedList?.length" class="mr-10 d-flex flex-wrap">
               <div>求职意向:</div>
               <div
@@ -89,121 +88,16 @@
                     <span v-if="j.endTimeStr"> - {{ j.endTimeStr }}</span>
                     <span v-if="j.year"> ({{ j.year }})</span>
                   </div>
-                  <div v-ellipse-tooltip class="timeline-item-name mx-3">{{ j.enterpriseName }}</div>
-                  <div v-ellipse-tooltip class="timeline-item-name">{{ j.positionName }}</div>
+                  <div v-ellipse-tooltip class="timeline-item-name mx-3">{{ formatName(j.enterpriseName) || '' }}</div>
+                  <div v-ellipse-tooltip class="timeline-item-name">{{ formatName(j.positionName) || '' }}</div>
                 </div>
               </v-timeline-item>
             </v-timeline>
           </div>
         </div>
-
-        <!-- <div style="padding-left: 84px;" class="pb-5 d-flex align-center">
-          <div class="d-flex align-center mr-10">
-            <div class="mr-3">最新职位:</div>
-            <div>
-              <v-chip
-                class="mr-3"
-                color="primary"
-              >{{ item.workList[0]?.positionName ?? '暂无' }}</v-chip>
-            </div>
-          </div>
-          
-          <div class="d-flex align-center">
-            <div class="mr-3">求职意向:</div>
-            <v-chip
-              v-for="interested in item.interestedList"
-              :key="interested.id"
-              class="mr-3"
-              color="primary"
-            >{{ positionData.find(e => e.id === interested.positionId)?.nameCn ?? '暂无' }}</v-chip>
-          </div>
-        </div> -->
-        <!-- <v-divider></v-divider> -->
-        <!-- <v-card-text class="d-flex mb-10"> -->
-          <!-- <div style="width: 50%;" class="d-flex align-center">
-            <div class="mr-3">最新职位:</div>
-            <div class="mr-10">
-              <v-chip
-                class="mr-3"
-                color="primary"
-              >{{ item.workList[0]?.positionName ?? '暂无' }}</v-chip>
-            </div>
-          </div>
-          
-          <div style="width: 50%;" class="d-flex align-center">
-            <div class="mr-3">求职意向</div>
-            <v-chip
-              v-for="interested in item.interestedList"
-              :key="interested.id"
-              class="mr-3"
-              color="primary"
-            >{{ positionData.find(e => e.id === interested.positionId)?.nameCn ?? '暂无' }}</v-chip>
-          </div> -->
-  
-            <!-- <v-timeline truncate-line="both" side="end" class="justify-start">
-              <v-timeline-item
-                dot-color="primary"
-                size="x-small"
-                v-for="work in item.workList"
-                :key="work.id"
-              >
-                <div class="d-flex">
-                  <div style="width: 200px;">
-                    {{ timesTampChange(work.startTime, 'Y.M.D') || '暂无' }}
-                    -
-                    {{ timesTampChange(work.endTime, 'Y.M.D') || timesTampChange(work.startTime, 'Y.M.D') ? '至今' : '暂无' }}
-                  </div>
-                  <div class="pr-3" style="min-width: 200px;">{{ work.enterpriseName }}</div>
-                  <div>{{ work.positionName }}</div>
-                </div>
-                
-              </v-timeline-item>
-            </v-timeline> -->
-
-          <!-- <div style="width: 50%;">
-            <div class="pa-3">求职意向</div>
-            <v-chip
-              v-for="interested in item.interestedList"
-              :key="interested.id"
-              class="mr-3"
-              color="primary"
-            >{{ positionData.find(e => e.id === interested.positionId)?.nameCn ?? '暂无' }}</v-chip>
-          </div> -->
-        <!-- </v-card-text> -->
       </v-card>
     </div>
     <CtPagination :total="total" :page="query.pageNo" :limit="query.pageSize" @handleChange="handleChangePage"></CtPagination>
-    <!-- <CtTable
-      :items="items"
-      :headers="headers"
-      :loading="loading"
-      :elevation="0"
-      :isTools="false"
-      :showPage="true"
-      :total="total"
-      :page-info="query"
-      itemKey="id"
-      @pageHandleChange="handleChangePage"
-    >
-      <template #name="{ item }">
-        <div class="d-flex align-center cursor-pointer" @click="handleToPersonDetail(item)">
-          <v-badge
-            v-if="item?.sex === '1' || item?.sex === '2'"
-            bordered
-            offset-y="6"
-            :color="badgeColor(item)"
-            :icon="badgeIcon(item)">
-            <v-avatar size="40" :image="getUserAvatar(item.avatar, item.sex)"></v-avatar>
-          </v-badge>
-          <v-avatar v-else size="40" :image="getUserAvatar(item.avatar, item.sex)"></v-avatar>
-          <span class="defaultLink ml-3 mt-2">{{ item?.name }}</span>
-        </div>
-      </template>
-      <template #actions="{ item }">
-        <v-btn color="primary" variant="text" @click="handleInvite(item)">邀请面试</v-btn>
-        <v-btn color="primary" variant="text" @click="handleCommunicate(item)">立即沟通</v-btn>
-      </template>
-    </CtTable> -->
   </div>
 
   <CtDialog :visible="showInvite" :widthType="4" titleClass="text-h6" title="邀请面试" @close="showInvite = false" @submit="handleSubmit">
@@ -231,6 +125,7 @@ import { useRouter } from 'vue-router'; const router = useRouter()
 import InvitePage from '@/views/recruit/enterprise/interviewManagement/components/invite'
 import { getDict } from '@/hooks/web/useDictionaries'
 import { getTimeDifferenceInChinese } from '@/utils/date'
+import { formatName } from '@/utils/getText'
 
 const textItem = ref({
   type: 'text',

+ 7 - 1
src/views/recruit/enterprise/talentPool/components/details/jobIntention.vue

@@ -16,7 +16,13 @@
         <div class="color-999">{{ k.jobTypeName }}</div>
         <div class="line" v-if="k.jobTypeName && k.workArea">|</div>
         <div v-ellipse-tooltip class="color-999" style="max-width: 160px;">
-          {{ k.interestedArea && k.interestedArea.length ? k.workArea + ',' + k.interestedArea.map(e => e.name).join(',') : k.workArea }}
+          {{ 
+            k.interestedArea && k.interestedArea.length 
+            ? 
+            (k.workArea ? k.workArea + ',' : '') + k.interestedArea.map(e => e.name).join(',') 
+            : 
+            (k.workArea || '')
+          }}
         </div>
       </div>
     </div>

+ 3 - 25
src/views/recruit/personal/PersonalCenter/student/information/index.vue

@@ -104,41 +104,19 @@ const items = ref({
       outlined: true,
       rules: [v => !!v || '请填写学号']
     },
-    {
-      type: 'text',
-      key: 'idCardNo',
-      value: '',
-      label: '身份证号码 *',
-      rules: [
-        value => {
-          if (!value) {
-            return '请输入您的身份证号码'
-          }
-          return true
-        },
-        value => {
-          if (!isValidIdCard18(value)) {
-            return '请输入正确的身份证号码'
-          }
-          return true
-        }
-      ]
-    },
     {
       type: 'text',
       key: 'emergencyContactName',
       value: '',
       default: null,
-      label: '紧急联系人姓名 *',
-      outlined: true,
-      rules: [v => !!v || '请填写紧急联系人姓名']
+      label: '紧急联系人姓名',
+      outlined: true
     },
     {
       type: 'phoneNumber',
       key: 'emergencyContactPhone',
       value: '',
-      label: '紧急联系人手机号 *',
-      rules: [v => !!v || '请填写紧急联系人手机号']
+      label: '紧急联系人手机号'
     }
   ]
 })

+ 3 - 25
src/views/recruit/personal/PersonalCenter/studentInformation/index.vue

@@ -80,42 +80,20 @@ const items = ref({
       outlined: true,
       rules: [v => !!v || '请填写学号']
     },
-    {
-      type: 'text',
-      key: 'idCardNo',
-      value: '',
-      label: '身份证号码 *',
-      rules: [
-        value => {
-          if (!value) {
-            return '请输入您的身份证号码'
-          }
-          return true
-        },
-        value => {
-          if (!isValidIdCard18(value)) {
-            return '请输入正确的身份证号码'
-          }
-          return true
-        }
-      ]
-    },
     {
       type: 'text',
       key: 'emergencyContactName',
       value: '',
       default: null,
-      label: '紧急联系人姓名 *',
-      outlined: true,
-      rules: [v => !!v || '请填写紧急联系人姓名']
+      label: '紧急联系人姓名',
+      outlined: true
     },
     {
       type: 'phoneNumber',
       key: 'emergencyContactPhone',
       value: '',
       clearable: true,
-      label: '紧急联系人手机号 *',
-      rules: [v => !!v || '请填写紧急联系人手机号']
+      label: '紧急联系人手机号'
     },
   ]
 })

+ 1 - 1
src/views/register/schoolInReview.vue

@@ -67,7 +67,7 @@ onMounted(async () => {
 // 回到火苗儿校企页面
 const handleBackToFlame = async () => {
   await userStore.userLogout(1)
-  router.push('/flame')
+  router.push('/flameLogin')
 }
 
 // 重新提交