|
@@ -108,14 +108,15 @@
|
|
|
:http-request="httpRequest"
|
|
|
accept=".pdf"
|
|
|
drag
|
|
|
+ :limit="5"
|
|
|
multiple
|
|
|
class="flex-1"
|
|
|
>
|
|
|
<i class="el-icon-upload"></i>
|
|
|
- <div class="el-upload__text">上传附件, 将文件拖到此处,或 <em>点击上传</em></div>
|
|
|
+ <div class="el-upload__text">仅允许导入PDF格式文件! 将文件拖到此处,或 <em>点击上传</em></div>
|
|
|
<template #tip>
|
|
|
<div class="el-upload__tip color-red">
|
|
|
- 提示:仅允许导入 PDF格式文件!
|
|
|
+ 提示:最多可上传5份简历({{ fileList.length }}/5)
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-upload>
|
|
@@ -129,7 +130,7 @@
|
|
|
@handle-change="cardUploadChange"
|
|
|
height="150px" width="150px" style="margin: 20px auto; text-align: center;"
|
|
|
>
|
|
|
- <template #tip>{{ cardImgUrl ? '' : '请上传名片' }}</template>
|
|
|
+ <template #tip>{{ cardImgUrl ? `${cardImgUrl.length}/30` : '请上传名片(最多可上传30张)' }}</template>
|
|
|
</UploadImgs>
|
|
|
</template>
|
|
|
<!-- 杂项 -->
|
|
@@ -171,8 +172,6 @@ defineOptions({ name: 'TalentMapStoreIndex' })
|
|
|
import { dateFormatter } from '@/utils/formatTime'
|
|
|
import { talentLabelingApi } from '@/api/menduner/system/talentMap/labeling'
|
|
|
import { TalentMap } from '@/api/menduner/system/talentMap'
|
|
|
-import { Plus } from '@element-plus/icons-vue'
|
|
|
-import { timesTampChange, timestampToAge } from '@/utils/transform/date'
|
|
|
import Search from './components/search.vue'
|
|
|
import webAnalysis from './components/webAnalysis.vue'
|
|
|
import { useUpload } from '@/components/UploadFile/src/useUpload'
|
|
@@ -333,13 +332,14 @@ const handleCreateWebTask = async () => {
|
|
|
handleCreateTask(formData)
|
|
|
}
|
|
|
|
|
|
-// 名片、简历、杂项
|
|
|
+// 任务创建
|
|
|
const analysisLoading = ref(false)
|
|
|
const handleSubmit = async () => {
|
|
|
const type = radioValue.value
|
|
|
- // 新任命任务创建
|
|
|
+ // 新任命
|
|
|
if (type === 'web') return handleCreateWebTask()
|
|
|
|
|
|
+ // 杂项、名片、简历
|
|
|
if (['card', 'file', 'picture'].includes(type)) {
|
|
|
const currentList = type === 'file' ? fileList.value : cardUploadRow.value
|
|
|
if (!currentList || !currentList?.length) {
|
|
@@ -356,6 +356,7 @@ const handleSubmit = async () => {
|
|
|
handleCreateTask(formData)
|
|
|
}
|
|
|
|
|
|
+ // 门墩儿招聘
|
|
|
if (type === 'menduner') {
|
|
|
const formData = new FormData()
|
|
|
const list = SearchRef.value?.addList?.length ? SearchRef.value.addList : null
|
|
@@ -383,26 +384,6 @@ const handleExceed = () => {
|
|
|
message.error('最多只能上传一个文件!')
|
|
|
}
|
|
|
|
|
|
-// 简历解析数据解构赋值
|
|
|
-const resumeAnalysisToForm = (data) => {
|
|
|
- itemData.value = {
|
|
|
- name_zh: data?.person?.name || '',
|
|
|
- email: data?.person?.email || '',
|
|
|
- mobile: data?.person?.phone || '',
|
|
|
- birthday: data?.person?.birthday ? timesTampChange(data.person.birthday, 'Y-M-D') : '',
|
|
|
- age: data?.person?.birthday ? timestampToAge(data.person.birthday) : null,
|
|
|
- career_path: data?.workList ? data.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,
|
|
|
- created_at: data?.person?.createTime ? timesTampChange(data.person.createTime, 'Y-M-D') : null,
|
|
|
- updated_at: data?.person?.updateTime ? timesTampChange(data.person.updateTime, 'Y-M-D') : null,
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
// 名片解析
|
|
|
const cardUploadRow = ref(null)
|
|
|
const cardImgUrl = ref(null)
|