소스 검색

Merge branch 'dev' of https://git.citupro.com/zhengnaiwen_citu/menduner-admin into dev

Xiao_123 1 주 전
부모
커밋
5035a22b3f
2개의 변경된 파일70개의 추가작업 그리고 41개의 파일을 삭제
  1. 37 25
      src/views/menduner/system/talentMap/store/components/info.vue
  2. 33 16
      src/views/menduner/system/talentMap/store/components/merge.vue

+ 37 - 25
src/views/menduner/system/talentMap/store/components/info.vue

@@ -2,42 +2,42 @@
   <div class="!h-65vh overflow-y-auto">
     <slot name="header"></slot>
     <el-descriptions title="基础信息" :column="2" border>
-      <el-descriptions-item min-width="120" label="姓名(中)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="姓名(英)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="职位/头衔(中)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="职位/头衔(英)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="生日">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="居住地">--</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="姓名(中)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="姓名(英)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="职位/头衔(中)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="职位/头衔(英)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="生日">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="居住地">{{ data?.title || '--' }}</el-descriptions-item>
     </el-descriptions>
     <el-descriptions title="联系方式" class="mt-20px" :column="2" border>
-      <el-descriptions-item min-width="120" label="手机号码">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="固定电话">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="电子邮箱">--</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="手机号码">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="固定电话">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="电子邮箱">{{ data?.title || '--' }}</el-descriptions-item>
     </el-descriptions>
     <el-descriptions title="酒店/公司信息" class="mt-20px" :column="2" border>
-      <el-descriptions-item min-width="120" label="酒店/公司名称(中)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="酒店/公司名称(英)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="隶属关系(中)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="隶属关系(英)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="品牌名称(中)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="品牌名称(英)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="品牌组合">--</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="酒店/公司名称(中)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="酒店/公司名称(英)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="隶属关系(中)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="隶属关系(英)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="品牌名称(中)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="品牌名称(英)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="品牌组合">{{ data?.title || '--' }}</el-descriptions-item>
     </el-descriptions>
     <el-descriptions title="职业轨迹" class="mt-20px" border />
     <el-timeline class="ml-12px">
       <el-timeline-item color="#0bbd87" center>
         <el-descriptions title="" border>
-          <el-descriptions-item min-width="120" label="酒店名称">--</el-descriptions-item>
-          <el-descriptions-item min-width="120" label="职位名称">--</el-descriptions-item>
-          <el-descriptions-item min-width="120" label="任职时间">--</el-descriptions-item>
+          <el-descriptions-item min-width="120" label="酒店名称">{{ data?.title || '--' }}</el-descriptions-item>
+          <el-descriptions-item min-width="120" label="职位名称">{{ data?.title || '--' }}</el-descriptions-item>
+          <el-descriptions-item min-width="120" label="任职时间">{{ data?.title || '--' }}</el-descriptions-item>
         </el-descriptions>
       </el-timeline-item>
     </el-timeline>
     <el-descriptions title="地址信息" class="mt-20px" :column="2" border>
-      <el-descriptions-item min-width="120" label="中文地址">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="英文地址">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="邮政编码(中)">--</el-descriptions-item>
-      <el-descriptions-item min-width="120" label="邮政编码(英)">--</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="中文地址">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="英文地址">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="邮政编码(中)">{{ data?.title || '--' }}</el-descriptions-item>
+      <el-descriptions-item min-width="120" label="邮政编码(英)">{{ data?.title || '--' }}</el-descriptions-item>
     </el-descriptions>
     <el-descriptions title="人才标签" class="mt-20px" :column="2" border />
     <el-tag v-for="k in talentTags" :key="k.talent" type="success" class="mr-10px my-10px">{{ k.tag }}</el-tag>
@@ -47,8 +47,20 @@
 
 <script setup>
 defineOptions({ name: 'TalentMapStoreMergeInfo' })
+const props = defineProps({
+  data: {
+    type: Object,
+    default: () => {}
+  }
+})
 
+const talentTags = ref([]) 
 
-const talentTags = ref([{talent: '1', tag:'新开酒店经验'}, {talent: '2', tag:'总经理'}])
-
+watch(
+  () => props.data,
+  () => {
+    talentTags.value = props.data?.talentTags || []
+  },
+  { immediate: true }
+)
 </script>

+ 33 - 16
src/views/menduner/system/talentMap/store/components/merge.vue

@@ -13,7 +13,7 @@
 					<template #header>
 						<CardTitle title="当前记录" />
 					</template>
-					<infoForm />
+					<infoForm :data="currentData" />
 				</el-card>
 			</el-col>
 			<el-col :span="12">
@@ -21,24 +21,26 @@
 					<template #header>
 						<CardTitle title="重复记录" />
 					</template>
-					<el-carousel :autoplay="false" indicator-position="none" height="65vh">
-						<el-carousel-item v-for="(info, infoIndex) in infoList" :key="infoIndex + 'info'" >
-							<infoForm >
-								<template #header>
-									<el-button type="primary" size="small" class="mb-10px">点击合并到此记录</el-button>
-								</template>
-								<template #thumbnail>
-									<div class="!h-140px"></div>
-								</template>
-								<!-- 缩略图 -->
-							</infoForm>
-						</el-carousel-item>
-					</el-carousel>
+					<infoForm :data="activeThumbnail">
+						<template #header>
+							<el-button type="primary" size="small" class="mb-10px">点击合并到此记录</el-button>
+						</template>
+						<template #thumbnail>
+							<div class="!h-140px"></div>
+						</template>
+						<!-- 缩略图 -->
+					</infoForm>
 					<div class="thumbnail">
 						<el-carousel :autoplay="false" height="120px" class="px-80px py-10px" :arrow="infoList?.length > 1 ? 'always' : 'none'">
 							<el-carousel-item v-for="(val, index) in thumbnails" :key="index+'carousel'">
 								<div class="carouselContent">
-									<div v-for="(item, index1) in val" :key="index1+'carousel'" class="carouselItem">
+									<div
+										v-for="(item, index1) in val"
+										:key="index1+'carousel'"
+										class="carouselItem"
+										:class="{'carouselItemAct': index*chunkSize + index1 === activeIndex}"
+										@click="handleSwitch(item, index, index1)"
+									>
 										<div>{{ item?.title }}</div>
 										<div>{{ item?.description }}</div>
 										<div>{{ item?.shortDesc }}</div>
@@ -91,7 +93,8 @@ const infoList = ref([
 	{
 		title: '姓名1',
 		description: '暂无描述',
-		shortDesc: '记录1暂无描述'
+		shortDesc: '记录1暂无描述',
+		talentTags: [{talent: '1', tag:'新开酒店经验'}, {talent: '2', tag:'总经理'}]
 	},
 	{
 		title: '姓名2',
@@ -176,6 +179,15 @@ const open = async (data) => {
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
+const activeIndex = ref(0)
+const activeThumbnail = ref(infoList.value[0])
+const currentData = ref(infoList.value[0])
+// 切换重合记录
+const handleSwitch = (item, index, index1) => {
+	activeIndex.value = index*chunkSize + index1
+	activeThumbnail.value = item
+}
+
 // 人才合并
 const handleMerge = async (id) => {
 	console.log(id, 'merge')
@@ -219,6 +231,11 @@ const submitForm = async () => {
 			overflow: hidden;
 			cursor: pointer;
 		}
+		.carouselItemAct {
+			/* color: #67C23A; */
+			border: 1px solid #62a4e698;
+			background-color: #62a4e623;
+		}
 	}
 }
 </style>