| 
					
				 | 
			
			
				@@ -16,6 +16,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				:showFixedLastItem="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				itemKey="id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<template #title_zh="{ item }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div v-ellipse-tooltip style="max-width: 250px;">{{ item.title_zh }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template #hotel_zh="{ item }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div v-ellipse-tooltip style="max-width: 250px;">{{ item.hotel_zh }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				<template #status="{ item }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					<v-chip size="small" variant="elevated" :color="item.status === 'active' ? 'primary' : 'error'">{{ item.status === 'active' ? '已启用' : '已禁用' }}</v-chip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				</template> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -28,10 +34,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		</v-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		<!-- 标注 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		<CtDialog :visible="showDialog" title="人才标注" :footer="false" widthType="1" @close="showDialog = false"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<CtDialog :visible="showDialog" title="人才标注" :footer="false" widthType="1" @close="showDialog = false" style="height: 95vh;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			<v-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				<v-col cols="4"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					<v-card elevation="3" class="pa-3" style="height: 100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					<v-card elevation="3" class="pa-3 overflow-y-auto" :height="`calc(95vh - 154px)`"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						<p :class="{'active': previewUrl}" @click="showPreview = true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							名片 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							<v-icon v-if="previewUrl">mdi-magnify-expand</v-icon> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -42,7 +48,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					</v-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				</v-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				<v-col cols="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					<v-card elevation="3" class="pa-3" height="100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					<v-card elevation="3" class="pa-3 overflow-y-auto" :height="`calc(95vh - 154px)`"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						<div class="base-info pa-3"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							<div class="mb-6"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								{{ talentItem.name_zh }} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62,21 +68,22 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						<div class="my-5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							<p>人才标签</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<v-chip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								v-for="(item, index) in talentSelectedTags" :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								class="chip mx-2 mt-4 cursor-pointer" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								label color="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								{{ item.name }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								<v-icon size="18" color="primary" style="margin-left: 6px;" @click="closeClick(item)">mdi-close-circle</v-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							</v-chip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<div v-if="talentSelectedTags?.length" class="mt-4 px-3 pb-3" style="border: 1px dashed #00B760; border-radius: 4px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								<v-chip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									v-for="(item, index) in talentSelectedTags" :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									class="chip mr-3 mt-3 cursor-pointer" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									label color="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									{{ item.name }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									<v-icon size="18" color="primary" style="margin-left: 6px;" @click="closeClick(item)">mdi-close-circle</v-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								</v-chip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							<div :class="{'mt-5': talentSelectedTags?.length > 0}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								<v-chip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 									v-for="(item, index) in tagList" :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									class="chip mx-2 mt-4 cursor-pointer" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									class="chip mr-3 mt-4 cursor-pointer" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 									label color="#248dbb" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									:disabled="talentSelectedTags.includes(item)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									:disabled="talentSelectedTags.find(k => k.name === item.name)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 									@click="handleAdd(item)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 									<v-icon icon="mdi-plus" start></v-icon> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -114,6 +121,7 @@ const loading = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const showDialog = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const items = ref([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const headers = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // { title: 'ID', key: 'id', sortable: false }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { title: '姓名', key: 'name_zh', sortable: false }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // { title: '英文名', key: 'name_en', sortable: false }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { title: '职位', key: 'title_zh', sortable: false }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -208,7 +216,6 @@ const showPreview = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const annotationLoading = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const handleAnnotation = async (item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if (!item || !item.id) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	talentSelectedTags.value = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	talentItem.value = item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// 获取所有标签列表 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -222,7 +229,9 @@ const handleAnnotation = async (item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// 获取人才标签 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	const tagData = await getTalentTagById(item.id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	console.log(tagData, '人才标签') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	talentSelectedTags.value = tagData ? tagData.map((i) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return { id: i.talent, name: i.tag } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}) : [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	showDialog.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |