|
@@ -1,35 +1,30 @@
|
|
|
<template>
|
|
|
<Dialog title="人才标注" v-model="dialogVisible" class="!w-90%">
|
|
|
- <el-row>
|
|
|
- <el-col :span="8">
|
|
|
- <div>
|
|
|
- <p :class="{'cursor-pointer': previewUrl}" :style="{'color': previewUrl ? '#2d8cf0' : ''}">
|
|
|
- 名片
|
|
|
- <Icon v-if="previewUrl" :size="20" icon="ep:zoom-out" />
|
|
|
- </p>
|
|
|
- <img v-if="previewUrl" width="100%" class="cursor-pointer" :src="previewUrl" />
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="9">
|
|
|
+ <el-card>
|
|
|
+ <p :style="{'color': previewUrl ? '#2d8cf0' : ''}">名片</p>
|
|
|
+ <el-image v-if="previewUrl" width="100%" :preview-src-list="[previewUrl]" class="cursor-pointer" :src="previewUrl" />
|
|
|
<p class="mb-3" :class="{'mt-3': !previewUrl}">门墩儿新任命</p>
|
|
|
<p>门墩儿用户简历</p>
|
|
|
- </div>
|
|
|
+ </el-card>
|
|
|
</el-col>
|
|
|
- <el-col :span="16">
|
|
|
- <div>
|
|
|
+ <el-col :span="15">
|
|
|
+ <el-card>
|
|
|
<div class="base-info">
|
|
|
- <div class="mb-15px">
|
|
|
- {{ talentItem.name_zh }}
|
|
|
- <span v-if="talentItem.name_en">({{ talentItem.name_en }})</span>
|
|
|
- </div>
|
|
|
- <div class="flex align-center">
|
|
|
- <div v-for="(val, index) in talentInfoKeys" :key="index" class="common-width info-item">
|
|
|
- <p>{{ talentItem[val.key] }}</p>
|
|
|
- <p>{{ talentItem[val.value] }}</p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="flex align-center my-24px">
|
|
|
- <div class="common-width pr-12px">{{ talentItem.mobile }}</div>
|
|
|
- <div class="flex-1">{{ talentItem.email }}</div>
|
|
|
- </div>
|
|
|
- <div>{{ talentItem.address_zh }}</div>
|
|
|
+ <el-descriptions :column="1" direction="vertical">
|
|
|
+ <el-descriptions-item :label="talentItem.name_en ? `${talentItem.name_zh}(${ talentItem.name_en })` : talentItem.name_zh" />
|
|
|
+ </el-descriptions>
|
|
|
+ <el-descriptions :column="3" direction="vertical">
|
|
|
+ <el-descriptions-item width="33.3%" :label="talentItem['title_zh']">{{ talentItem['title_en'] }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item width="33.3%" :label="talentItem['hotel_zh']">{{ talentItem['hotel_en'] }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item width="33.3%" :label="talentItem['brand_zh']">{{ talentItem['brand_en'] }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="">{{ talentItem.mobile }}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="">{{ talentItem.email }}</el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ <el-descriptions :column="1" direction="vertical">
|
|
|
+ <el-descriptions-item label="">{{ talentItem.address_zh }}</el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
</div>
|
|
|
|
|
|
<div class="my-5">
|
|
@@ -61,11 +56,11 @@
|
|
|
</el-tag>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </el-card>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<template #footer>
|
|
|
- <el-button @click="submitForm" type="primary" :disabled="loading">确 定</el-button>
|
|
|
+ <el-button @click="submitForm" type="primary" :disabled="loading">更 新</el-button>
|
|
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
|
|
</template>
|
|
|
</Dialog>
|
|
@@ -79,14 +74,9 @@ const message = useMessage() // 消息弹窗
|
|
|
const loading = ref(false)
|
|
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
|
|
const talentItem = ref({})
|
|
|
-const previewUrl = ref<string>()
|
|
|
+const previewUrl = ref()
|
|
|
const talentSelectedTags = ref([])
|
|
|
const tagList = ref([])
|
|
|
-const talentInfoKeys = [
|
|
|
- { key: 'title_zh', value: 'title_en' },
|
|
|
- { key: 'hotel_zh', value: 'hotel_en' },
|
|
|
- { key: 'brand_zh', value: 'brand_en' },
|
|
|
-]
|
|
|
|
|
|
// 获取人才标签
|
|
|
const getTagList = async () => {
|
|
@@ -101,6 +91,7 @@ const getTagList = async () => {
|
|
|
|
|
|
/** 打开弹窗 */
|
|
|
const open = async (data: any) => {
|
|
|
+ previewUrl.value = null
|
|
|
dialogVisible.value = true
|
|
|
talentItem.value = data
|
|
|
|
|
@@ -145,6 +136,7 @@ const submitForm = async () => {
|
|
|
// 提交请求
|
|
|
try {
|
|
|
await talentLabelingApi.updateTalentTags(tags)
|
|
|
+ message.success('人才标签更新成功')
|
|
|
dialogVisible.value = false
|
|
|
// 发送操作成功的事件
|
|
|
emit('success')
|
|
@@ -160,21 +152,12 @@ const submitForm = async () => {
|
|
|
border-radius: 6px;
|
|
|
padding: 15px;
|
|
|
}
|
|
|
-.common-width {
|
|
|
- width: 33.3%;
|
|
|
- max-width: 33.3%;
|
|
|
-}
|
|
|
-.info-item {
|
|
|
- padding-right: 12px;
|
|
|
- &:nth-child(3n) {
|
|
|
- padding-right: 0;
|
|
|
+:deep {
|
|
|
+ .el-descriptions__content {
|
|
|
+ color: #303133;
|
|
|
}
|
|
|
- p {
|
|
|
- height: 24px;
|
|
|
+ .el-descriptions__body {
|
|
|
+ background-color: #f7f8fa;
|
|
|
}
|
|
|
}
|
|
|
-.active {
|
|
|
- color: var(--v-primary-base);
|
|
|
- cursor: pointer;
|
|
|
-}
|
|
|
</style>
|