| 
														
															@@ -1,6 +1,6 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 <template> 
														 | 
														
														 | 
														
															 <template> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	<div> 
														 | 
														
														 | 
														
															 	<div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		<CtFilter :items="formItems" @reset="handleReset" @search="handleSearch" /> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		<CtFilter :items="filterItems" @reset="handleReset" @search="handleSearch" /> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		<v-card elevation="5" class="mt-3"> 
														 | 
														
														 | 
														
															 		<v-card elevation="5" class="mt-3"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			<CtTable 
														 | 
														
														 | 
														
															 			<CtTable 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -11,147 +11,123 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				:disable-sort="true" 
														 | 
														
														 | 
														
															 				:disable-sort="true" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				:elevation="0" 
														 | 
														
														 | 
														
															 				:elevation="0" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				:isTools="false" 
														 | 
														
														 | 
														
															 				:isTools="false" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				height="calc(100vh - 400px)" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				:showPage="true" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				:items-per-page="-1" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				height="calc(100vh - 150px)" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				:showFixedLastItem="true" 
														 | 
														
														 | 
														
															 				:showFixedLastItem="true" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				:total="total" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				:pageInfo="query" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				itemKey="id" 
														 | 
														
														 | 
														
															 				itemKey="id" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				@pageHandleChange="handleChangePage" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			> 
														 | 
														
														 | 
														
															 			> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				<template #status="{ item }"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					<v-chip size="small" variant="elevated" :color="item.status === 'active' ? 'primary' : 'error'">{{ item.status === 'active' ? '已启用' : '已禁用' }}</v-chip> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				</template> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				<template #actions="{ item }"> 
														 | 
														
														 | 
														
															 				<template #actions="{ item }"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					<v-btn variant="text" color="primary" @click.stop="handleAnnotation(item)">标注</v-btn> 
														 | 
														
														 | 
														
															 					<v-btn variant="text" color="primary" @click.stop="handleAnnotation(item)">标注</v-btn> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					<v-btn variant="text" color="error" @click.stop="handleDisabled(item)">禁用</v-btn> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					<v-btn variant="text" color="#008970" @click.stop="handleEnable(item)">启用</v-btn> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					<v-btn variant="text" color="error" @click.stop="handleDelete(item)">删除</v-btn> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					<v-btn v-if="item.status === 'active'" variant="text" color="warning" @click.stop="handleAction(item.id, 'inactive')">禁用</v-btn> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					<v-btn v-if="item.status === 'inactive'" variant="text" color="#007cd6" @click.stop="handleAction(item.id, 'active')">启用</v-btn> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					<!-- <v-btn variant="text" color="error" @click.stop="handleDelete(item)">删除</v-btn> --> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				</template> 
														 | 
														
														 | 
														
															 				</template> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			</CtTable> 
														 | 
														
														 | 
														
															 			</CtTable> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		</v-card> 
														 | 
														
														 | 
														
															 		</v-card> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		<!-- 无权限提示 --> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		<CtDialog :visible="showDialog" :widthType="4" :footer="false" titleClass="text-h6" title="系统提示" @close="showDialog = false"> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			<div class="d-flex align-center flex-column"> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				<div class="color-warning"> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					<p>很抱歉,您当前没有权限查看门墩儿新任命的相关信息</p> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					<p>请用微信扫描下方企业微信联系门墩儿管理员开通权限</p> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				</div> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				<div style="width: 150px; height: 150px;"> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					<v-img src="https://minio.menduner.com/dev/menduner/contact.png"></v-img> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				</div> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				<div class="text-center ml-5">潘青海先生(Peter Pan)</div> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			</div> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		</CtDialog> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		<!-- 标注 --> 
														 | 
														
														 | 
														
															 		<!-- 标注 --> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		<CtDialog :visible="showAnnotationDialog" title="人才标注" :footer="false" widthType="1" @close="showAnnotationDialog = false"> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		<CtDialog :visible="showDialog" title="人才标注" :footer="false" widthType="1" @close="showDialog = false"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			<v-row> 
														 | 
														
														 | 
														
															 			<v-row> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				<v-col cols="4"> 
														 | 
														
														 | 
														
															 				<v-col cols="4"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					<v-card elevation="3" class="pa-3" style="height: 100%"> 
														 | 
														
														 | 
														
															 					<v-card elevation="3" class="pa-3" style="height: 100%"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						<p>名片</p> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						<p>门墩儿新任命</p> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						<p :class="{'active': previewUrl}" @click="handlePreview"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							名片 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							<v-icon v-if="previewUrl">mdi-magnify-expand</v-icon> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						</p> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						<img v-if="previewUrl" width="100%" :src="previewUrl" /> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						<p class="mb-3" :class="{'mt-3': !previewUrl}">门墩儿新任命</p> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						<p>门墩儿用户简历</p> 
														 | 
														
														 | 
														
															 						<p>门墩儿用户简历</p> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					</v-card> 
														 | 
														
														 | 
														
															 					</v-card> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				</v-col> 
														 | 
														
														 | 
														
															 				</v-col> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				<v-col cols="8"> 
														 | 
														
														 | 
														
															 				<v-col cols="8"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					<v-card elevation="3" class="pa-3"> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					<v-card elevation="3" class="pa-3" height="100%"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						<div class="base-info pa-3"> 
														 | 
														
														 | 
														
															 						<div class="base-info pa-3"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							<div class="mb-6"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								{{ talentItem.name_zh }} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								<span v-if="talentItem.name_en">({{ talentItem.name_en }})</span> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							<div class="d-flex align-center"> 
														 | 
														
														 | 
														
															 							<div class="d-flex align-center"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								<div v-for="(val, index) in talentInfoKeys" :key="index" class="common-width"> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								<div v-for="(val, index) in talentInfoKeys" :key="index" class="common-width info-item"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 									<p v-ellipse-tooltip>{{ talentItem[val.key] }}</p> 
														 | 
														
														 | 
														
															 									<p v-ellipse-tooltip>{{ talentItem[val.key] }}</p> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 									<p v-ellipse-tooltip>{{ talentItem[val.value] }}</p> 
														 | 
														
														 | 
														
															 									<p v-ellipse-tooltip>{{ talentItem[val.value] }}</p> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								</div> 
														 | 
														
														 | 
														
															 								</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							</div> 
														 | 
														
														 | 
														
															 							</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							<div class="d-flex align-center my-6"> 
														 | 
														
														 | 
														
															 							<div class="d-flex align-center my-6"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								<div class="common-width">{{ talentItem.phone }}</div> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								<div class="common-width">{{ talentItem.email }}</div> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								<div class="common-width pr-3" v-ellipse-tooltip>{{ talentItem.mobile }}</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								<div style="flex: 1;">{{ talentItem.email }}</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							</div> 
														 | 
														
														 | 
														
															 							</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							<div>{{ talentItem.address }}</div> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							<div>{{ talentItem.address_zh }}</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						</div> 
														 | 
														
														 | 
														
															 						</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						<div class="my-5"> 
														 | 
														
														 | 
														
															 						<div class="my-5"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							<p>自动标注</p> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							<p>人才标签</p> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							<v-chip 
														 | 
														
														 | 
														
															 							<v-chip 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								v-for="(item, index) in talentItem.automaticDimensionTags" :key="index" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								class="chip mx-2 mt-4" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								label color="primary" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								{{ item }} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								<v-icon size="18" color="primary" style="margin-left: 6px;" @click="closeClick(index, 'automaticDimensionTags')">mdi-close-circle</v-icon> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							</v-chip> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						</div> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						<div> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							<p>人工标注</p> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							<v-chip 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								v-for="(item, index) in talentItem.manualAnnotationTags" :key="index" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								v-for="(item, index) in talentSelectedTags" :key="index" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								class="chip mx-2 mt-4 cursor-pointer" 
														 | 
														
														 | 
														
															 								class="chip mx-2 mt-4 cursor-pointer" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								label color="primary" 
														 | 
														
														 | 
														
															 								label color="primary" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							> 
														 | 
														
														 | 
														
															 							> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								{{ item }} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								<v-icon size="18" color="primary" style="margin-left: 6px;" @click="closeClick(index, 'manualAnnotationTags')">mdi-close-circle</v-icon> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								{{ item.name }} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								<v-icon size="18" color="primary" style="margin-left: 6px;" @click="closeClick(item)">mdi-close-circle</v-icon> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							</v-chip> 
														 | 
														
														 | 
														
															 							</v-chip> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							<div class="mt-5"> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							<div :class="{'mt-5': talentSelectedTags?.length > 0}"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								<v-chip 
														 | 
														
														 | 
														
															 								<v-chip 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 									v-for="(item, index) in tagList" :key="index" 
														 | 
														
														 | 
														
															 									v-for="(item, index) in tagList" :key="index" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 									class="chip mx-2 mt-4 cursor-pointer" 
														 | 
														
														 | 
														
															 									class="chip mx-2 mt-4 cursor-pointer" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-									label color="primary" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-									:disabled="talentItem.manualAnnotationTags.includes(item)" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+									label color="#248dbb" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+									:disabled="talentSelectedTags.includes(item)" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 									@click="handleAdd(item)" 
														 | 
														
														 | 
														
															 									@click="handleAdd(item)" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								> 
														 | 
														
														 | 
														
															 								> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 									<v-icon icon="mdi-plus" start></v-icon> 
														 | 
														
														 | 
														
															 									<v-icon icon="mdi-plus" start></v-icon> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-									{{ item }} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+									{{ item.name }} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								</v-chip> 
														 | 
														
														 | 
														
															 								</v-chip> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							</div> 
														 | 
														
														 | 
														
															 							</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						</div> 
														 | 
														
														 | 
														
															 						</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						<v-divider class="mt-5"></v-divider> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						<v-divider></v-divider> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						<div class="d-flex justify-space-evenly my-5"> 
														 | 
														
														 | 
														
															 						<div class="d-flex justify-space-evenly my-5"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							<v-btn variant="outlined" width="120" color="primary" elevation="5" @click="handleClose">取 消</v-btn> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							<v-btn width="120" color="primary" elevation="5" @click="handleSave">保 存</v-btn> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							<v-btn width="120" color="warning" elevation="5" @click="handleClose">取 消</v-btn> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							<v-btn width="120" color="primary" elevation="5" @click="handleUpdate">更 新</v-btn> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						</div> 
														 | 
														
														 | 
														
															 						</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					</v-card> 
														 | 
														
														 | 
														
															 					</v-card> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				</v-col> 
														 | 
														
														 | 
														
															 				</v-col> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			</v-row> 
														 | 
														
														 | 
														
															 			</v-row> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		</CtDialog> 
														 | 
														
														 | 
														
															 		</CtDialog> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	</div> 
														 | 
														
														 | 
														
															 	</div> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	<Loading :visible="annotationLoading"></Loading> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	<PreviewImage v-if="showPreview" :initialIndex="0" :urlList="[previewUrl]" @close="showPreview = !showPreview" /> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 </template> 
														 | 
														
														 | 
														
															 </template> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 <script setup> 
														 | 
														
														 | 
														
															 <script setup> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 defineOptions({ name: 'NewTalentMapAnnotation' }) 
														 | 
														
														 | 
														
															 defineOptions({ name: 'NewTalentMapAnnotation' }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import { ref } from 'vue' 
														 | 
														
														 | 
														
															 import { ref } from 'vue' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import { getNewAppointmentsPage } from '@/api/recruit/enterprise/newlyAppointed' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import { useUserStore } from '@/store/user' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import { getCardList, updateTalentStatus, getTalentCardByImagePath, getTalentTagById, updateTalentTags } from '@/api/recruit/enterprise/talentMap/labeling' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import { getTalentTagList } from '@/api/recruit/enterprise/talentMap/tag' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import Snackbar from '@/plugins/snackbar' 
														 | 
														
														 | 
														
															 import Snackbar from '@/plugins/snackbar' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import Confirm from '@/plugins/confirm' 
														 | 
														
														 | 
														
															 import Confirm from '@/plugins/confirm' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import { useI18n } from '@/hooks/web/useI18n' 
														 | 
														
														 | 
														
															 import { useI18n } from '@/hooks/web/useI18n' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import { timesTampChange } from '@/utils/date' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const { t } = useI18n() 
														 | 
														
														 | 
														
															 const { t } = useI18n() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const store = useUserStore() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const loading = ref(false) 
														 | 
														
														 | 
														
															 const loading = ref(false) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const showDialog = ref(false) 
														 | 
														
														 | 
														
															 const showDialog = ref(false) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const showAnnotationDialog = ref(false) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const total = ref(10) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const query = ref({ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  pageSize: 10, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	pageNo: 1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const items = ref([]) 
														 | 
														
														 | 
														
															 const items = ref([]) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const headers = [ 
														 | 
														
														 | 
														
															 const headers = [ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  { title: '姓名', key: 'nameChinese', sortable: false }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  { title: '职位', key: 'position', sortable: false }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  { title: '酒店', key: 'inaugurationHotel', sortable: false }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  { title: '标签数量', key: 'tagNum', sortable: false }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  { title: '人才状态', key: 'tagNum', sortable: false }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  { title: '创建时间', key: 'createTime', sortable: false, value: item => timesTampChange(item.createTime) }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  { title: '创建人', key: 'createUser', sortable: false }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  { title: '修改时间', key: 'updateTime', sortable: false, value: item => timesTampChange(item.updateTime) }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  { title: '修改人', key: 'updateUser', sortable: false }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  { title: '姓名', key: 'name_zh', sortable: false }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  // { title: '英文名', key: 'name_en', sortable: false }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  { title: '职位', key: 'title_zh', sortable: false }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  { title: '酒店', key: 'hotel_zh', sortable: false }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  { title: '人才状态', key: 'status', sortable: false }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  { title: '创建时间', key: 'created_at', sortable: false }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   { title: '操作', key: 'actions', sortable: false, align: 'center' } 
														 | 
														
														 | 
														
															   { title: '操作', key: 'actions', sortable: false, align: 'center' } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 ] 
														 | 
														
														 | 
														
															 ] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const formItems = ref({ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const filterItems = ref({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   options: [ 
														 | 
														
														 | 
														
															   options: [ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       type: 'text', 
														 | 
														
														 | 
														
															       type: 'text', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      key: 'position', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      key: 'title_zh', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       value: '', 
														 | 
														
														 | 
														
															       value: '', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       label: '职位', 
														 | 
														
														 | 
														
															       label: '职位', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			clearable: true, 
														 | 
														
														 | 
														
															 			clearable: true, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -160,7 +136,7 @@ const formItems = ref({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }, 
														 | 
														
														 | 
														
															     }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		{ 
														 | 
														
														 | 
														
															 		{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       type: 'text', 
														 | 
														
														 | 
														
															       type: 'text', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      key: 'inaugurationHotel', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      key: 'hotel_zh', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       value: '', 
														 | 
														
														 | 
														
															       value: '', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       label: '酒店', 
														 | 
														
														 | 
														
															       label: '酒店', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			clearable: true, 
														 | 
														
														 | 
														
															 			clearable: true, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -169,9 +145,9 @@ const formItems = ref({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }, 
														 | 
														
														 | 
														
															     }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		{ 
														 | 
														
														 | 
														
															 		{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       type: 'text', 
														 | 
														
														 | 
														
															       type: 'text', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      key: 'nameChinese', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      key: 'name_zh', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       value: '', 
														 | 
														
														 | 
														
															       value: '', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      label: '姓名', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      label: '中文名', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			clearable: true, 
														 | 
														
														 | 
														
															 			clearable: true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			hideDetails: true, 
														 | 
														
														 | 
														
															 			hideDetails: true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			width: 200 
														 | 
														
														 | 
														
															 			width: 200 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -179,127 +155,132 @@ const formItems = ref({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   ] 
														 | 
														
														 | 
														
															   ] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }) 
														 | 
														
														 | 
														
															 }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-// 获取企业权益信息 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const info = ref(localStorage.getItem('entBaseInfo') ? JSON.parse(localStorage.getItem('entBaseInfo')) : {}) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-store.$subscribe((mutation, state) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  if (Object.keys(state.entBaseInfo).length) info.value = state.entBaseInfo 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-// 获取新任命分页 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 获取名片列表 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const getList = async () => { 
														 | 
														
														 | 
														
															 const getList = async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	loading.value = true 
														 | 
														
														 | 
														
															 	loading.value = true 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	try { 
														 | 
														
														 | 
														
															 	try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		const result = await getNewAppointmentsPage(query.value) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		items.value = result.list 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		total.value = result.total 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		const data = await getCardList() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		items.value = data || [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} finally { 
														 | 
														
														 | 
														
															 	} finally { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		loading.value = false 
														 | 
														
														 | 
														
															 		loading.value = false 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 getList() 
														 | 
														
														 | 
														
															 getList() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-// 分页切换 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const handleChangePage = async (e) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	await store.getEnterpriseInfo(true) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	// 没有权限提示联系门墩儿 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if (!info.value?.entitlement?.newAppointment) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		showDialog.value = true 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		return 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	query.value.pageNo = e 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	getList() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 搜索 
														 | 
														
														 | 
														
															 // 搜索 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const handleSearch = async (obj) => { 
														 | 
														
														 | 
														
															 const handleSearch = async (obj) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	await store.getEnterpriseInfo(true) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	// 没有权限提示联系门墩儿 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if (!info.value?.entitlement?.newAppointment) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		showDialog.value = true 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		return 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	query.value = Object.assign(query.value, obj) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	query.value.pageNo = 1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	getList() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	console.log(obj, '搜索') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	// query.value = obj 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	// getList() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 重置 
														 | 
														
														 | 
														
															 // 重置 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const handleReset = (obj) => { 
														 | 
														
														 | 
														
															 const handleReset = (obj) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	query.value = Object.assign(query.value, obj) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	query.value.pageNo = 1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	getList() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	console.log(obj, '重置') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	// query.value = obj 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	// getList() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 标注 
														 | 
														
														 | 
														
															 // 标注 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const tagList = ['富强', '民主', '文明', '和谐', '自由', '平等', '公正', '法治', '爱国', '敬业', '诚信', '友善'] 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const talentItem = ref({ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	name: '张三', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	enName: 'Tom', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	postName: '总经理', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	enPostName: 'General Manager', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	inaugurationHotel: '南京洲际酒店', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	enInaugurationHotel: 'Nanjing InterContinental Hotel', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	groupName: '洲际集团', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	enGroupName: 'IHG', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	phone: '13800138000', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	email: 'zhangsan@163.com', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	address: '南京市人民路123号', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	automaticDimensionTags: ['富强', '民主', '文明', '和谐'], 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	manualAnnotationTags: [], 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const talentItem = ref({}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const talentInfoKeys = [ 
														 | 
														
														 | 
														
															 const talentInfoKeys = [ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	{ key: 'name', value: 'enName' }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	{ key: 'postName', value: 'enPostName' }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	{ key: 'inaugurationHotel', value: 'enInaugurationHotel' }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	{ key: 'groupName', value: 'enGroupName' }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	{ key: 'title_zh', value: 'title_en' }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	{ key: 'hotel_zh', value: 'hotel_en' }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	{ key: 'brand_zh', value: 'brand_en' }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 ] 
														 | 
														
														 | 
														
															 ] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const handleAnnotation = (item) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	console.log(item, '标注') 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	showAnnotationDialog.value = true 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 获取人才标签 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const tagList = ref([]) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const getTagList = async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	annotationLoading.value = true 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		const data = await getTalentTagList() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		tagList.value = data || [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} finally { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		annotationLoading.value = false 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-// 删除 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const closeClick = (index, dataKey) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	talentItem.value[dataKey].splice(index, 1) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 名片预览 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const showPreview = ref(false) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const handlePreview = () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	showPreview.value = true 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-// 手动标注添加 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const handleAdd = (item) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	talentItem.value.manualAnnotationTags.push(item) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 标注 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const talentSelectedTags = ref([]) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const previewUrl = ref(null) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const annotationLoading = ref(false) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const handleAnnotation = async (item) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (!item || !item.id) return 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	talentItem.value = item 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	// 获取所有标签列表 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	await getTagList() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	// 获取名片预览 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (item.image_path) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		const data = await getTalentCardByImagePath(item.image_path) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		previewUrl.value = URL.createObjectURL(data) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	// 获取人才标签 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	const tagData = await getTalentTagById(item.id) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	console.log(tagData, '人才标签') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	showDialog.value = true 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-// 禁用 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const handleDisabled = (item) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	console.log(item, '禁用') 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	Confirm(t('common.confirmTitle'), '是否确定禁用此人才数据?').then(async () => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    Snackbar.success(t('common.operationSuccessful')) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  }) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 标签删除 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const closeClick = (item) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	const index = talentSelectedTags.value.findIndex((i) => i === item) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (index !== -1) talentSelectedTags.value.splice(index, 1) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-// 启用 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const handleEnable = (item) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	console.log(item, '启用') 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	Confirm(t('common.confirmTitle'), '是否确定启用此人才数据?').then(async () => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    Snackbar.success(t('common.operationSuccessful')) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  }) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 标签添加 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const handleAdd = (item) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	talentSelectedTags.value.push(item) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-// 删除 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const handleDelete = (item) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	console.log(item, '删除') 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	Confirm(t('common.confirmTitle'), '是否确定删除?').then(async () => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    // await deleteInvoiceTitle(id) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    Snackbar.success(t('common.delMsg')) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    // getList() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 启用、禁用 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const handleAction = (id, status) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	Confirm(t('common.confirmTitle'), `是否确定${status === 'active' ? '启用' : '禁用'}?`).then(async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			await updateTalentStatus(id, { status }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			Snackbar.success(t('common.operationSuccessful')) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			getList() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		} catch {} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   }) 
														 | 
														
														 | 
														
															   }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 删除 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// const handleDelete = (item) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 	console.log(item, '删除') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 	Confirm(t('common.confirmTitle'), '是否确定删除?').then(async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//     // await deleteInvoiceTitle(id) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//     Snackbar.success(t('common.delMsg')) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//     // getList() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//   }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 更新人才标签 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const handleClose = () => { 
														 | 
														
														 | 
														
															 const handleClose = () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	showAnnotationDialog.value = false 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	showDialog.value = false 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	talentItem.value = {} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	talentSelectedTags.value = [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	previewUrl.value = '' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-const handleSave = async () => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	handleClose() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const handleUpdate = async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	const tags = talentSelectedTags.value.map(e => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		return { talent: e.id, tag: e.name } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		await updateTalentTags(tags) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		Snackbar.success('人才标签更新成功') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		handleClose() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		getList() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} catch {} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 </script> 
														 | 
														
														 | 
														
															 </script> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -309,7 +290,20 @@ const handleSave = async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	border-radius: 6px; 
														 | 
														
														 | 
														
															 	border-radius: 6px; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 .common-width { 
														 | 
														
														 | 
														
															 .common-width { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	width: 25%; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	max-width: 25%; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	width: 33.3%; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	max-width: 33.3%; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+.info-item { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	padding-right: 12px; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	&:nth-child(3n) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		padding-right: 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	p { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		height: 24px; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+.active { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	color: var(--v-primary-base); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	cursor: pointer; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 </style> 
														 | 
														
														 | 
														
															 </style> 
														 |