Browse Source

企业-招聘会职位面试邀约

Xiao_123 3 months ago
parent
commit
e86e99e20a

+ 4 - 1
src/views/recruit/enterprise/interviewManagement/components/invite.vue

@@ -18,6 +18,8 @@ const props = defineProps({
     default: () => []
   }
 })
+// 过滤已关闭的职位
+const positionList = ref(props.position.filter(e => e.status !== '1'))
 
 const handleChangeJob = (e) => {
   const obj = props.position.find(item => item.value === e)
@@ -51,7 +53,7 @@ const formItems = ref({
       itemText: 'label',
       itemValue: 'value',
       rules: [v => !!v || '请选择招聘职位'],
-      items: props.position,
+      items: positionList.value,
       change: handleChangeJob
     },
     {
@@ -99,6 +101,7 @@ const getQuery = () => {
   obj.type = 1
   obj.id = props.itemData.id
   obj.userId = props.itemData.userId
+  if (props.itemData.jobFairId) obj.jobFairId = props.itemData.jobFairId
   return obj
 }
 

+ 5 - 2
src/views/recruit/enterprise/interviewManagement/components/item.vue

@@ -3,9 +3,12 @@
     <div class="d-flex align-center">
       <div class="mr-5 font-size-16" style="color: orange; width: 96px;">{{ timesTampChange(item.time, 'Y-M-D h:m') }}</div>
       <v-avatar class="mr-2" size=40 :image="getUserAvatar(item?.person?.avatar, item?.person?.sex)"></v-avatar>
-      <div class="d-flex flex-column mr-3" style="width: 120px;">
+      <div class="d-flex flex-column mr-3" style="width: 200px;">
         <span class="ellipsis mb-1">{{ item?.person?.name || item?.phone }}</span>
-        <span class="ellipsis" v-ellipse-tooltip style="color: var(--color-999);">{{ formatName(item?.job?.name) }}</span>
+        <span class="d-flex justify-center" style="max-width: 200px;">
+          <svg-icon v-if="item.jobFairId" class="mr-1" name="jobFair" size="20"></svg-icon>
+          <p v-ellipse-tooltip class="color-999">{{ formatName(item?.job?.name) }}</p>
+        </span>
       </div>
     </div>
     <div class="d-flex align-center right-item">

+ 1 - 1
src/views/recruit/enterprise/interviewManagement/index.vue

@@ -161,7 +161,7 @@ const getPositionList = async () => {
   const list = dealDictArrayData([], data)
   positionItems.value = list.map(e => {
     const salary = e.payFrom && e.payTo ? `${e.payFrom ? e.payFrom + '-' : ''}${e.payTo}${e.payName ? '/' + e.payName : ''}` : '面议'
-    return { label: `${formatName(e.name)}_${e.areaName ? e.area?.str ?? '全国' : '全国'} ${salary}_${e.status === 0 ? '招聘中' : '已关闭'}`, value: e.id }
+    return { label: `${formatName(e.name)}_${e.areaName ? e.area?.str ?? '全国' : '全国'} ${salary}_${Number(e.status) === 0 ? '招聘中' : '已关闭'}`, value: e.id, status: e.status }
   })
 }
 getPositionList()

+ 1 - 0
src/views/recruit/enterprise/resume/components/invite.vue

@@ -108,6 +108,7 @@ const getQuery = () => {
     if (item.noParam) return
     obj[item.key] = item.value
   })
+  if (props.itemData?.jobFairId) obj.jobFairId = props.itemData.jobFairId
   return obj
 }
 

+ 3 - 1
src/views/recruit/enterprise/resume/components/table.vue

@@ -116,7 +116,7 @@ const headers = ref([
   { title: '工作经验', key: 'person.expName', sortable: false },
   { title: '最高学历', key: 'person.eduName', sortable: false },
   { title: '应聘职位', key: 'jobName', sortable: false },
-  { title: '投递简历时间', key: 'createTime', sortable: false },
+  { title: '操作时间', key: 'createTime', sortable: false },
   { title: '状态', key: 'status', sortable: false },
   { title: '操作', value: 'actions', sortable: false }
 ])
@@ -181,6 +181,8 @@ const handleEliminate = async (item) => {
     userId: item.userId,
     type: props.tab === 0 ? '0' : '1' // 投递简历0 已邀约1
   }
+  // 招聘会职位则带id
+  if (item?.jobFairId) query.jobFairId = item.jobFairId
   await joinEliminate(query)
   Snackbar.success(t('common.operationSuccessful'))
   emit('refresh')