瀏覽代碼

招聘会标识调整

Xiao_123 2 月之前
父節點
當前提交
87ceb5a5eb

+ 4 - 2
src/components/Position/longStrip.vue

@@ -21,7 +21,7 @@
       <div class="info-content" >
         <div class="job-info">
           <div class="job-name ellipsis" :class="{'cursor-pointer': val.job.status === '0'}" v-ellipse-tooltip>
-            <svg-icon v-if="val.job.bizId" name="jobFair" size="18" class="mr-1"></svg-icon>
+            <!-- <svg-icon v-if="val.job.bizId" name="jobFair" size="18" class="mr-1"></svg-icon> -->
             <span class="mr-3" :class="{'info-name': val.job.status === '0'}" @click.stop="handleToPositionDetails(val)">{{ formatName(val.job.name) }}</span>
             <span>
               [{{ !val.job.areaId ? '全国' : val.job.area?.str }}]
@@ -105,7 +105,9 @@ const handleCancel = async (item) => {
 // 职位详情
 const handleToPositionDetails = (item) => {
   if (item.job.status === '1') return
-  router.push(`/recruit/personal/position/details/${item.job.id}`)
+  let path = `/recruit/personal/position/details/${item.job.id}`
+  if (item.cvRel?.jobFairId) path += `?jobFairId=${item.cvRel.jobFairId}`
+  router.push(path)
 }
 
 let toDetailsInfo = {}

+ 4 - 2
src/views/recruit/personal/PersonalCenter/jobFeedback/components/interview/item.vue

@@ -27,7 +27,7 @@
         </div>
         <div class="job-info color-666">
           <div class="job-name ellipsis" style="max-width: 410px;">
-            <svg-icon v-if="val.jobFairId" name="jobFair" size="18" class="mr-1"></svg-icon>
+            <!-- <svg-icon v-if="val.jobFairId" name="jobFair" size="18" class="mr-1"></svg-icon> -->
             <span class="mr-3" :class="{'cursor-pointer': val.job.status === '0', 'position-name': val.job.status === '0'}" @click.stop="handleToPositionDetails(val)">{{ formatName(val.job.name) }}</span>
             <span v-if="!val.job.payFrom && !val.job.payTo">面议</span>
             <span v-else>{{ val.job.payFrom ? val.job.payFrom + '-' : '' }}{{ val.job.payTo }}{{ val.job.payName ? '/' + val.job.payName : '' }}</span>
@@ -82,7 +82,9 @@ const router = useRouter()
 // 职位详情
 const handleToPositionDetails = (item) => {
   if (item.job.status === '1') return
-  router.push(`/recruit/personal/position/details/${item.job.id}`)
+  let path = `/recruit/personal/position/details/${item.job.id}`
+  if (item?.jobFairId) path += `?jobFairId=${item.jobFairId}`
+  router.push(path)
 }
 
 // 同意

+ 11 - 0
src/views/recruit/personal/PersonalCenter/student/intershipCompany/index.vue

@@ -0,0 +1,11 @@
+<template>
+	<div>xxx</div>
+</template>
+
+<script setup>
+defineOptions({ name: 'PersonalCenterStudentInternshipCompany'})
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 0 - 182
src/views/recruit/personal/PersonalCenter/studentInformation/index.vue

@@ -1,182 +0,0 @@
-<template>
-  <div style="padding: 20px 30px">
-    <div class="resume-header mb-3">
-      <div class="resume-title">学生信息认证</div>
-    </div>
-    <div class="d-flex flex-column align-center pt-5">
-      <CtForm ref="CtFormRef" :items="items" style="width: 900px;"></CtForm>
-      <v-btn class="buttons mt-5" color="primary" @click.stop="handleSubmit">{{ $t('common.save') }}</v-btn>
-    </div>
-  </div>
-
-  <Loading :visible="overlay"></Loading>
-</template>
-
-<script setup>
-defineOptions({name: 'personal-personCenter-studentInformation-index'})
-import { ref } from 'vue'
-import { saveStudentSimpleInfo } from '@/api/recruit/personal/shareJob'
-import { schoolList, departmentList, getStudentInfo } from '@/api/recruit/personal/resume'
-import { useI18n } from '@/hooks/web/useI18n'
-import Snackbar from '@/plugins/snackbar'
-import { isValidIdCard18 } from '@/utils/validate'
-
-const { t } = useI18n()
-
-const overlay = ref(false)
-
-const CtFormRef = ref()
-const items = ref({
-  options: [
-    {
-      type: 'autocomplete',
-      key: 'schoolId',
-      value: null,
-      default: null,
-      label: '就读学校 *',
-      outlined: true,
-      itemText: 'schoolName',
-      itemValue: 'schoolId',
-      rules: [v => !!v || '请选择就读学校'],
-      items: [],
-      change: e => getDepartmentList(e),
-    },
-    {
-      type: 'autocomplete',
-      key: 'schoolDepartmentName',
-      value: null,
-      default: null,
-      label: '所在院系 *',
-      outlined: true,
-      itemText: 'departmentTitle',
-      itemValue: 'schoolDepartmentId',
-      rules: [v => !!v || '请选择所在院系'],
-      items: []
-    },
-    {
-      type: 'text',
-      key: 'majorName',
-      value: '',
-      default: null,
-      label: '所学专业 *',
-      outlined: true,
-      rules: [v => !!v || '请输入所学专业']
-    },
-    {
-      type: 'text',
-      key: 'schoolClassName',
-      value: '',
-      default: null,
-      label: '所在班级 *',
-      outlined: true,
-      rules: [v => !!v || '请填写所在班级']
-    },
-    {
-      type: 'text',
-      key: 'studentNo',
-      value: '',
-      default: null,
-      label: '学号 *',
-      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 || '请填写紧急联系人姓名']
-    },
-    {
-      type: 'phoneNumber',
-      key: 'emergencyContactPhone',
-      value: '',
-      clearable: true,
-      label: '紧急联系人手机号 *',
-      rules: [v => !!v || '请填写紧急联系人手机号']
-    },
-  ]
-})
-
-// 左侧加mr
-items.value.options.forEach((e, index) => {
-  e.col = 6
-  if ((index + 2) % 2 === 0) e.flexStyle = 'mr-3'
-})
-
-// // 学校下拉列表
-const getSchoolListData = async () => {
-  const item = items.value.options.find(e => e.key === 'schoolId')
-  if (!item) return
-  const { records } = await schoolList({current: 1,size: 9999})
-  item.items = records || []
-}
-getSchoolListData()
-
-const getDepartmentList = async (e) => {
-  const item = items.value.options.find(e => e.key === 'schoolDepartmentName')
-  if (!item) return
-  const query = {
-    page: { size: 9999,	current: 1	},
-    entity: { schoolId: e }
-  }
-  const res = await departmentList(query)
-  const list = res?.records?.length ? res.records : []
-  item.items = list.map(e => e.entity)
-}
-
-// 获取学生基本信息
-const getStudentInfoFun = async () => {
-  const data = await getStudentInfo()
-  if (data.schoolId) getDepartmentList(data.schoolId)
-  // 回显
-  items.value.options.forEach(e => {
-    if (data[e.key]) e.value = data[e.key]
-  })
-}
-getStudentInfoFun()
-
-
-// 提交
-const handleSubmit = async () => {
-  const { valid } = await CtFormRef.value.formRef.validate()
-  if (!valid) return
-  overlay.value = true
-  const params = {}
-  items.value.options.forEach(item => {
-    params[item.key] = item.value
-  })
-  await saveStudentSimpleInfo(params)
-  // getStudentInfoFun()
-  setTimeout(async () => {
-    Snackbar.success(t('common.submittedSuccessfully'))
-    overlay.value = false
-  }, 1000)
-}
-
-</script>
-
-<style scoped lang="scss">
-</style>

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

@@ -4,7 +4,7 @@
       <div class="banner-title d-flex justify-space-between align-center">
         <div class="d-flex align-center justify-between">
           <svg-icon v-if="info?.hire" class="ml-5" name="pin" size="50"></svg-icon>
-          <svg-icon v-if="info.bizId || jobFairId" name="jobFair" class="mr-1" size="35"></svg-icon>
+          <svg-icon v-if="jobFairId" name="jobFair" class="mr-1" size="35"></svg-icon>
           <h1>{{ formatName(info.name) }}</h1>
         </div>
         <v-btn v-if="showContentRight && !jobFairId" color="primary" variant="text" size="large" @click.stop="handleReturn" prepend-icon="mdi-chevron-triple-left">返回上一页</v-btn>
@@ -308,17 +308,6 @@ const getSimilarPositionList = async () => {
   similarList.value = dealDictArrayData([], items)
 }
 
-// 职位详情
-const info = ref({})
-const positionInfo = ref({})
-const getPositionDetail = async () => {
-  const data = await getPositionDetails({ id })
-  info.value = data
-  positionInfo.value = { ...dealDictObjData({}, info.value), ...info.value }
-  if (props.type !=='recommendShow') getSimilarPositionList()
-}
-getPositionDetail()
-
 // 效验是否有投递过简历
 const deliveryCheck = async () => {
   // 区分招聘会职位与普通职位
@@ -330,6 +319,17 @@ const deliveryCheck = async () => {
 }
 if (getToken()) deliveryCheck()
 
+// 职位详情
+const info = ref({})
+const positionInfo = ref({})
+const getPositionDetail = async () => {
+  const data = await getPositionDetails({ id })
+  info.value = data
+  positionInfo.value = { ...dealDictObjData({}, info.value), ...info.value }
+  if (props.type !=='recommendShow') getSimilarPositionList()
+}
+getPositionDetail()
+
 const desc = [
   { mdi: 'mdi-map-marker-outline', value: 'areaName' },
   { mdi: 'mdi-school-outline', value: 'eduName' },