| 
					
				 | 
			
			
				@@ -1,6 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	<div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		<CtFilter :items="formItems" @reset="handleReset" @search="handleSearch" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<CtFilter :items="filterItems" @reset="handleReset" @search="handleSearch" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		<v-card elevation="5" class="mt-3"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			<CtTable 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -11,147 +11,123 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				:disable-sort="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				:elevation="0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				:isTools="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				height="calc(100vh - 400px)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				:showPage="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				:items-per-page="-1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				height="calc(100vh - 150px)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				:showFixedLastItem="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				:total="total" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				:pageInfo="query" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				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 }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					<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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</CtTable> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		</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-col cols="4"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					<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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					</v-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				</v-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				<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="mb-6"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								{{ talentItem.name_zh }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								<span v-if="talentItem.name_en">({{ talentItem.name_en }})</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							<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.value] }}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							<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>{{ talentItem.address }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<div>{{ talentItem.address_zh }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						<div class="my-5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<p>自动标注</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<p>人才标签</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							<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" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<div class="mt-5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							<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" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									label color="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									:disabled="talentItem.manualAnnotationTags.includes(item)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									label color="#248dbb" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									:disabled="talentSelectedTags.includes(item)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 									@click="handleAdd(item)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 									<v-icon icon="mdi-plus" start></v-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									{{ item }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									{{ item.name }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								</v-chip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<v-divider class="mt-5"></v-divider> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						<v-divider></v-divider> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						<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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					</v-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				</v-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</v-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		</CtDialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<Loading :visible="annotationLoading"></Loading> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<PreviewImage v-if="showPreview" :initialIndex="0" :urlList="[previewUrl]" @close="showPreview = !showPreview" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script setup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 defineOptions({ name: 'NewTalentMapAnnotation' }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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 Confirm from '@/plugins/confirm' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useI18n } from '@/hooks/web/useI18n' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { timesTampChange } from '@/utils/date' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const { t } = useI18n() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const store = useUserStore() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const loading = 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 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' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const formItems = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const filterItems = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   options: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       type: 'text', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      key: 'position', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      key: 'title_zh', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       value: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       label: '职位', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			clearable: true, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -160,7 +136,7 @@ const formItems = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       type: 'text', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      key: 'inaugurationHotel', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      key: 'hotel_zh', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       value: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       label: '酒店', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			clearable: true, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -169,9 +145,9 @@ const formItems = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       type: 'text', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      key: 'nameChinese', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      key: 'name_zh', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       value: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      label: '姓名', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      label: '中文名', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			clearable: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			hideDetails: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			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 () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	loading.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		const result = await getNewAppointmentsPage(query.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		items.value = result.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		total.value = result.total 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		const data = await getCardList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		items.value = data || [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		loading.value = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	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) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	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 = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	{ 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 = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -309,7 +290,20 @@ const handleSave = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	border-radius: 6px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .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> 
			 |