Explorar el Código

人才定位、人才标注:招聘详情展示

Xiao_123 hace 2 meses
padre
commit
dd127cfa2f

+ 1 - 1
src/views/menduner/system/talentMap/maintenance/examine/store.vue

@@ -9,7 +9,7 @@
     <div class="analysisInfoBox">
       <div class="analysisFile !w-50%">
         <div v-if="hasSourceUrl">
-          <!-- 门墩儿人才库 -->
+          <!-- 门墩儿招聘 -->
           <template v-if="type === '招聘'">
             <el-tabs v-model="activeName" type="border-card">
               <el-tab-pane label="基本信息" name="info">

+ 2 - 2
src/views/menduner/system/talentMap/maintenance/gather/components/detail.vue

@@ -253,7 +253,7 @@ const open = async (row) => {
   }
 
   // 待解析 解析成功 部分解析成功 解析失败
-  if (['部分解析成功', '解析失败'].includes(row.task_status)) {
+  if (['解析中', '部分解析成功', '解析失败'].includes(row.task_status)) {
     showAnalysisBtn.value = row.task_source.some(e => e.parse_flag.toString() === '1')
   }
 
@@ -280,8 +280,8 @@ const handleAnlysis = () => {
   }
   originData.value.task_source = taskList
 
-  emit('analysis', originData.value)
   dialogVisible.value = false
+  emit('analysis', originData.value)
 }
 </script>
 

+ 1 - 1
src/views/menduner/system/talentMap/maintenance/gather/index.vue

@@ -270,9 +270,9 @@ const handleAnalysis = async (row, noTip = false) => {
   try {
     await talentGatherApi.taskAnalysis({ data: row })
     message.success('解析成功')
-    handleQuery()
   } finally {
     loading.close()
+    handleQuery()
   }
 }
 

+ 27 - 3
src/views/menduner/system/talentMap/maintenance/labeling/LabelingForm.vue

@@ -15,7 +15,18 @@
 							:src="val.minio_path"
 						/>
 
-						<p v-if="val.task_type === '招聘'">人才ID:{{ val.minio_path }}</p>
+						<!-- 门墩儿招聘 -->
+						<template v-if="val.task_type === '招聘'">
+							<el-tabs v-model="activeName" type="border-card">
+								<el-tab-pane label="基本信息" name="info">
+									<Info :id="personId" :user-id="userId" />
+									<expExtend :user-id="userId" defaultShowAll class="m-t-20px" />
+								</el-tab-pane>
+								<el-tab-pane label="附件简历" name="Attachment">
+									<Attachment showPreview :user-id="userId" />
+								</el-tab-pane>
+							</el-tabs>
+						</template>
 
 						<template v-if="val.task_type === '简历'">
 							<IFrame :src="val.minio_path" />
@@ -101,6 +112,9 @@ import { TalentMap } from '@/api/menduner/system/talentMap'
 import FormPage from '@/views/menduner/system/talentMap/components/FormPage.vue'
 import { marked } from 'marked'
 import { generateUUID } from '@/utils'
+import Info from '@/views/menduner/system/person/details/components/info.vue'
+import expExtend from '@/views/menduner/system/person/details/components/expExtend.vue'
+import Attachment from '@/views/menduner/system/person/details/components/attachment.vue'
 
 const message = useMessage() // 消息弹窗
 const loading = ref(false)
@@ -197,9 +211,14 @@ const handleShowPage = async (id, url) => {
 }
 
 /** 打开弹窗 */
+const personId = ref('')
+const userId = ref('')
+const activeName = ref('info')
 const sourceList = ref([])
 const open = async (data) => {
 	sourceList.value = []
+	personId.value = null
+	userId.value = null
   dialogVisible.value = true
 	talentItem.value = data
 
@@ -213,6 +232,13 @@ const open = async (data) => {
 			if (e.task_type === '新任命') {
 				handleShowPage(item.id, item.minio_path)
 			}
+
+			if (e.task_type === '招聘') { // 门墩儿招聘-人员信息在组件中通过id和userId获取
+				const obj = JSON.parse(e.minio_path)
+				personId.value = obj?.id || ''
+				userId.value = obj?.userId || ''
+				activeName.value = 'info'
+			}
 			
 			return item
 		})
@@ -278,8 +304,6 @@ const handleSave = async () => {
 		image_path: talentItem.value?.image_path
 	}
 
-	console.log(params, '编辑')
-
 	try {
 		await talentLabelingApi.updateBusinessCard(params, talentItem.value.id)
 		dialogVisible.value = false

+ 27 - 1
src/views/menduner/system/talentMap/search/index.vue

@@ -61,7 +61,18 @@
 							:src="val.minio_path"
 						/>
 
-						<p v-if="val.task_type === '招聘'">人才ID:{{ val.minio_path }}</p>
+						<!-- 门墩儿招聘 -->
+						<template v-if="val.task_type === '招聘'">
+							<el-tabs v-model="activeName" type="border-card">
+								<el-tab-pane label="基本信息" name="info">
+									<Info :id="personId" :user-id="userId" />
+									<expExtend :user-id="userId" defaultShowAll class="m-t-20px" />
+								</el-tab-pane>
+								<el-tab-pane label="附件简历" name="Attachment">
+									<Attachment showPreview :user-id="userId" />
+								</el-tab-pane>
+							</el-tabs>
+						</template>
 
 						<template v-if="val.task_type === '简历'">
 							<IFrame :src="val.minio_path" />
@@ -131,6 +142,9 @@ import { generateUUID } from '@/utils'
 import { marked } from 'marked'
 import { talentSearchApi } from '@/api/menduner/system/talentMap/search'
 import { talentLabelingApi } from '@/api/menduner/system/talentMap/labeling'
+import Info from '@/views/menduner/system/person/details/components/info.vue'
+import expExtend from '@/views/menduner/system/person/details/components/expExtend.vue'
+import Attachment from '@/views/menduner/system/person/details/components/attachment.vue'
 
 const message = useMessage() // 消息弹窗
 const searchValue = ref(null)
@@ -235,8 +249,13 @@ const resetData = () => {
 	sourceList.value = []
 	talentTags.value = []
 	detail.value = {}
+	personId.value = null
+	userId.value = null
 }
 
+const personId = ref('')
+const userId = ref('')
+const activeName = ref('info')
 const sourceList = ref([])
 const handleDetails = async (id) => {
 	if (!id) return
@@ -259,6 +278,13 @@ const handleDetails = async (id) => {
 						handleShowPage(item.id, item.minio_path)
 					}, 200)
 				}
+
+				if (e.task_type === '招聘') { // 门墩儿招聘-人员信息在组件中通过id和userId获取
+					const obj = JSON.parse(e.minio_path)
+					personId.value = obj?.id || ''
+					userId.value = obj?.userId || ''
+					activeName.value = 'info'
+				}
 				return item
 			})
 		}