浏览代码

人才地图

lifanagju_citu 8 月之前
父节点
当前提交
569950a0e8

+ 6 - 2
src/views/recruit/enterprise/talentMap/components/filter.vue

@@ -93,9 +93,13 @@ const handleReset = () => {
   emit('confirm', {})
 }
 
+const open = (query) => {
+  if (Object.keys(query).length) setValue(query)
+  else resetValue()
+}
+
 defineExpose({
-  setValue,
-  resetValue,
+  open,
 })
 </script>
 

+ 15 - 5
src/views/recruit/enterprise/talentMap/index.vue

@@ -1,7 +1,7 @@
 <template>
   <v-card class="card-box pa-5" style="height: 100%;">
     <div class="d-flex justify-center">
-      <TextUI v-model="query.content" :item="textItem" @focus="openDrawer" @appendInnerClick="openDrawer"></TextUI>
+      <TextUI v-model="query.content" :item="textItem" @click="openDrawer" @appendInnerClick="openDrawer"></TextUI>
       <!-- <v-btn color="primary" class="half-button" variant="tonal" @click="openDrawer">职位匹配</v-btn> -->
     </div>
     <!-- 人员信息表单 -->
@@ -17,7 +17,7 @@
     >
       <template #bottom></template>
       <template v-slot:[`item.name`]="{ item }">
-        <div class="d-flex align-center cursor-pointer" @click="null">
+        <div class="d-flex align-center cursor-pointer" @click="talentPoolDetails(item)">
           <v-badge
             v-if="item?.sex === '1' || item?.sex === '2'"
             bordered
@@ -32,9 +32,12 @@
       </template>
       <template v-slot:[`item.advantage`]="{ item }">
         <template v-if="item.advantage">
-          <v-btn color="primary" variant="tonal" @click="advantageDetail(item.advantage)">查看</v-btn>
+          <v-btn color="primary" variant="text" @click="advantageDetail(item.advantage)">查看TA的优势</v-btn>
         </template>
       </template>
+      <template v-slot:[`item.actions`]="{ item }">
+        <v-btn color="primary" variant="text" @click="talentPoolDetails(item)">查看</v-btn>
+      </template>
     </v-data-table>
     <CtPagination
       v-if="total > 0"
@@ -95,6 +98,7 @@ const headers = [
   { title: '个人优势', key: 'advantage', sortable: false },
   { title: '工作年限', key: 'expName', sortable: false },
   { title: '最高学历', key: 'eduName', sortable: false },
+  { title: '操作', value: 'actions', sortable: false }
 ]
 
 // 获取数据
@@ -132,8 +136,7 @@ const advantageDetail = (advantage) => {
 const FilterPageRef = ref()
 const openDrawer = () => {
   screen.value = true
-  if (Object.keys(query).length) FilterPageRef.value?.setValue(query)
-  else FilterPageRef.value?.resetValue()
+  FilterPageRef.value?.open(query)
 }
 
 const badgeColor = computed(() => (item) => {
@@ -150,9 +153,16 @@ const textItem = ref({
   value: '',
   label: '职位匹配',
   clearable: false,
+  readonly: true,
   appendInnerIcon: 'mdi-magnify'
 })
 
+// 人才详情
+const talentPoolDetails = ({ userId, id }) => {
+  if (!userId || !id) return
+  window.open(`/recruit/enterprise/talentPool/details/${userId}?id=${id}`)
+}
+
 </script>
 
 <style scoped lang="scss">