|
@@ -4,10 +4,15 @@
|
|
|
<div class="analysisFile !w-50%">
|
|
|
<!-- 门墩儿人才库 -->
|
|
|
<template v-if="source === '招聘'">
|
|
|
- <el-card shadow="never">
|
|
|
- <Info id="1793583467288223745" :user-id="userId" />
|
|
|
- <expExtend :user-id="userId" defaultShowAll class="m-t-20px" />
|
|
|
- </el-card>
|
|
|
+ <el-tabs v-model="activeName" type="border-card">
|
|
|
+ <el-tab-pane label="基本信息" name="info">
|
|
|
+ <Info :id="personId" :user-id="userId" @echo="infoEcho" />
|
|
|
+ <expExtend :user-id="userId" defaultShowAll class="m-t-20px" @echo="expEcho" />
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="附件简历" name="Attachment">
|
|
|
+ <Attachment showPreview :user-id="userId" />
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
</template>
|
|
|
<!-- 简历解析 -->
|
|
|
<template v-if="source === '简历'">
|
|
@@ -69,10 +74,12 @@ import { ElLoading } from 'element-plus'
|
|
|
import FormPage from '@/views/menduner/system/talentMap/components/FormPage.vue'
|
|
|
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'
|
|
|
import TestData from './data.js'
|
|
|
import { cloneDeep } from 'lodash-es'
|
|
|
import { marked } from 'marked'
|
|
|
import data from './data.js'
|
|
|
+import { timesTampChange, timestampToAge } from '@/utils/transform/date'
|
|
|
|
|
|
// 配置 marked
|
|
|
// marked.setOptions({
|
|
@@ -91,7 +98,9 @@ const originData = ref([])
|
|
|
|
|
|
const imgUrl = ref(null)
|
|
|
const fileUrl = ref(null)
|
|
|
-const userId = ref(null)
|
|
|
+const personId = ref('')
|
|
|
+const userId = ref('')
|
|
|
+const activeName = ref('info')
|
|
|
|
|
|
// markdown回显
|
|
|
const showPage = (html) => {
|
|
@@ -136,13 +145,50 @@ const dealData = async (type, data) => {
|
|
|
imgUrl.value = data.pic_url
|
|
|
}
|
|
|
if (type === '简历') fileUrl.value = data.pic_url
|
|
|
- if (type === '招聘') userId.value = data.userId
|
|
|
+
|
|
|
+ if (type === '招聘') { // 门墩儿招聘-人员信息在组件中通过id和userId获取
|
|
|
+ personId.value = data?.id || ''
|
|
|
+ userId.value = data?.userId || ''
|
|
|
+ // return
|
|
|
+ }
|
|
|
if (type === '新任命') {
|
|
|
await nextTick()
|
|
|
showPage(marked(data.originText))
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// 门墩儿招聘人才详情回显赋值
|
|
|
+const infoEcho = (data) => {
|
|
|
+ data = data ? JSON.parse(data) : null
|
|
|
+ itemData.value = {
|
|
|
+ ...itemData.value,
|
|
|
+ name_zh: data?.name || '',
|
|
|
+ email: data?.email || '',
|
|
|
+ mobile: data?.phone || '',
|
|
|
+ birthday: data?.birthday ? timesTampChange(data.birthday, 'Y-M-D') : '',
|
|
|
+ age: data?.birthday ? timestampToAge(data.birthday) : null,
|
|
|
+ created_at: data?.createTime ? timesTampChange(data.createTime, 'Y-M-D') : null,
|
|
|
+ updated_at: data?.updateTime ? timesTampChange(data.updateTime, 'Y-M-D') : null,
|
|
|
+ }
|
|
|
+ // if (FormPageRef.value?.setFormData) FormPageRef.value.setFormData(itemData.value)
|
|
|
+}
|
|
|
+
|
|
|
+// 门墩儿招聘人才工作经历回显赋值
|
|
|
+const expEcho = (workList) => {
|
|
|
+ workList = workList ? JSON.parse(workList) : null
|
|
|
+ itemData.value = {
|
|
|
+ ...itemData.value,
|
|
|
+ career_path: workList ? workList.map(e => {
|
|
|
+ return {
|
|
|
+ hotel_zh: e?.enterpriseName || null,
|
|
|
+ title_zh: e?.positionName || null,
|
|
|
+ date: e?.startTime ? timesTampChange(e.startTime, 'Y-M-D') : null
|
|
|
+ }
|
|
|
+ }) : null
|
|
|
+ }
|
|
|
+ // if (FormPageRef.value?.setFormData) FormPageRef.value.setFormData(itemData.value)
|
|
|
+}
|
|
|
+
|
|
|
// 重置
|
|
|
const resetData = () => {
|
|
|
imgUrl.value = null
|