|
@@ -14,6 +14,7 @@
|
|
|
<el-button :icon="Search" @click="handleSearch" />
|
|
|
</template>
|
|
|
</el-input>
|
|
|
+ <el-text v-if="!isSearch" class="text-xs !color-gray-400">例如:有酒店筹开经验,担任总经理的人</el-text>
|
|
|
</div>
|
|
|
</div>
|
|
|
</ContentWrap>
|
|
@@ -53,26 +54,16 @@
|
|
|
</div>
|
|
|
|
|
|
<el-descriptions title="基本信息" :column="1" border>
|
|
|
- <el-descriptions-item label="中文名">{{ detail.name_zh }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="英文名">{{ detail.name_en }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="职位/头衔(中)">{{ detail.title_zh }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="职位/头衔(英)">{{ detail.title_en }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="手机号码">{{ detail.mobile }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="电子邮箱">{{ detail.email }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="酒店/公司名称(中)">{{ detail.hotel_zh }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="酒店/公司名称(英)">{{ detail.hotel_eh }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="地址(中)">{{ detail.address_zh }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="地址(英)">{{ detail.address_en }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="邮政编码(中)">{{ detail.postal_code_zh }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="邮政编码(英)">{{ detail.postal_code_en }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="品牌名称(中)">{{ detail.brand_zh }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="品牌名称(英)">{{ detail.brand_en }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="隶属关系(中)">{{ detail.affiliation_zh }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="隶属关系(英)">{{ detail.affiliation_en }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="品牌组合">{{ detail.brand_group }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="固定电话">{{ detail.phone }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="创建时间">{{ detail.created_at }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="更新时间">{{ detail.updated_at }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="人才标签">
|
|
|
+ <el-tag v-for="k in talentTags" :key="k.talent" type="success" class="mr-10px my-10px">{{ k.tag }}</el-tag>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item
|
|
|
+ v-for="val in keyArr"
|
|
|
+ :key="val.value"
|
|
|
+ :label="val.label"
|
|
|
+ >
|
|
|
+ {{ detail[val.value] ?? '' }}
|
|
|
+ </el-descriptions-item>
|
|
|
<el-descriptions-item label="状态">
|
|
|
<el-tag :type="detail.status === 'active' ? 'primary' : 'danger'">
|
|
|
{{ detail.status === 'active' ? '已启用' : '已禁用' }}
|
|
@@ -83,9 +74,15 @@
|
|
|
<div class="mt-30px career">
|
|
|
<div class="el-descriptions__header el-descriptions__title">职业轨迹</div>
|
|
|
<el-table :data="detail.career_path" border>
|
|
|
- <el-table-column prop="company_name" label="酒店名称" />
|
|
|
- <el-table-column prop="position" label="职位名称" />
|
|
|
- <el-table-column prop="current_date" label="日期" />
|
|
|
+ <el-table-column prop="company_name" label="酒店名称">
|
|
|
+ <template #default="{ row }">{{ row.company_name ?? '-'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="position" label="职位名称">
|
|
|
+ <template #default="{ row }">{{ row.position ?? '-'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="current_date" label="日期">
|
|
|
+ <template #default="{ row }">{{ row.current_date ?? '-'}}</template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -111,7 +108,31 @@ const abortController = ref(null)
|
|
|
const drawer = ref(false)
|
|
|
const detailsLoading = ref(false)
|
|
|
const detail = ref({})
|
|
|
+const talentTags = ref([])
|
|
|
const previewUrl = ref(null)
|
|
|
+const keyArr = [
|
|
|
+ { label: '中文名', value: 'name_zh' },
|
|
|
+ { label: '英文名', value: 'name_en' },
|
|
|
+ { label: '职位/头衔(中)', value: 'title_zh' },
|
|
|
+ { label: '职位/头衔(英)', value: 'title_en' },
|
|
|
+ { label: '手机号码', value: 'mobile' },
|
|
|
+ { label: '电子邮箱', value: 'email' },
|
|
|
+ { label: '酒店/公司名称(中)', value: 'hotel_zh' },
|
|
|
+ { label: '酒店/公司名称(英)', value: 'hotel_eh' },
|
|
|
+ { label: '地址(中)', value: 'address_zh' },
|
|
|
+ { label: '地址(英)', value: 'address_en' },
|
|
|
+ { label: '邮政编码(中)', value: 'postal_code_zh' },
|
|
|
+ { label: '邮政编码(英)', value: 'postal_code_en' },
|
|
|
+ { label: '品牌名称(中)', value: 'brand_zh' },
|
|
|
+ { label: '品牌名称(英)', value: 'brand_en' },
|
|
|
+ { label: '隶属关系(中)', value: 'affiliation_zh' },
|
|
|
+ { label: '隶属关系(英)', value: 'affiliation_en' },
|
|
|
+ { label: '品牌组合', value: 'brand_group' },
|
|
|
+ { label: '固定电话', value: 'phone' },
|
|
|
+ { label: '创建时间', value: 'created_at' },
|
|
|
+ { label: '更新时间', value: 'updated_at' }
|
|
|
+]
|
|
|
+
|
|
|
const handleDetails = async (id) => {
|
|
|
if (!id) return
|
|
|
|
|
@@ -126,6 +147,10 @@ const handleDetails = async (id) => {
|
|
|
const data = await talentLabelingApi.getTalentCardByImagePath(result.image_path)
|
|
|
previewUrl.value = URL.createObjectURL(data)
|
|
|
}
|
|
|
+
|
|
|
+ // 获取人才标签
|
|
|
+ const tagData = await talentLabelingApi.getTalentTagById(id)
|
|
|
+ talentTags.value = tagData ?? []
|
|
|
} finally {
|
|
|
detailsLoading.value = false
|
|
|
}
|