|
@@ -13,19 +13,40 @@
|
|
|
<template #header>
|
|
|
<CardTitle title="当前记录" />
|
|
|
</template>
|
|
|
+ <infoForm />
|
|
|
</el-card>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-card>
|
|
|
+ <el-card style="position: relative;">
|
|
|
<template #header>
|
|
|
<CardTitle title="重复记录" />
|
|
|
</template>
|
|
|
- <el-carousel :autoplay="false">
|
|
|
- <el-carousel-item v-for="item in 3" :key="item">
|
|
|
- <el-button type="primary" size="small">点击合并到此记录</el-button>
|
|
|
- <h3 text="2xl" justify="center">{{ item }}</h3>
|
|
|
+ <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" style="margin-bottom: 10px;">点击合并到此记录</el-button>
|
|
|
+ </template>
|
|
|
+ <template #thumbnail>
|
|
|
+ <div style="height: 140px;"></div>
|
|
|
+ </template>
|
|
|
+ <!-- 缩略图 -->
|
|
|
+ </infoForm>
|
|
|
</el-carousel-item>
|
|
|
</el-carousel>
|
|
|
+ <div class="thumbnail">
|
|
|
+ <el-carousel :autoplay="false" height="140px" style="padding: 10px 80px;" :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>{{ item?.title }}</div>
|
|
|
+ <div>{{ item?.description }}</div>
|
|
|
+ <div>{{ item?.shortDesc }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-carousel-item>
|
|
|
+ </el-carousel>
|
|
|
+ </div>
|
|
|
</el-card>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -39,6 +60,7 @@
|
|
|
|
|
|
<script setup>
|
|
|
defineOptions({ name: 'TalentMapStoreMerge' })
|
|
|
+import infoForm from './info.vue'
|
|
|
|
|
|
const { t } = useI18n() // 国际化
|
|
|
const message = useMessage() // 消息弹窗
|
|
@@ -64,6 +86,90 @@ const list = ref([
|
|
|
avatar: 'https://minio.menduner.com/dev/person/1/img/933de4dc9eb28e2bdf79a1da518a8e1a0e14bf4b78358ea9452fb8e8fdd2f7f6.jpeg'
|
|
|
}
|
|
|
])
|
|
|
+const talentTags = ref([{talent: '1', tag:'新开酒店经验'}, {talent: '2', tag:'总经理'}])
|
|
|
+const infoList = ref([
|
|
|
+ {
|
|
|
+ title: '姓名1',
|
|
|
+ description: '这是第一条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录1的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名2',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名3',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名4',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名5',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名2-1',
|
|
|
+ description: '这是第一条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录1的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名2-2',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名2-3',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名2-4',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名2-5',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名3-1',
|
|
|
+ description: '这是第一条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录1的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名3-2',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名3-3',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '姓名3-4',
|
|
|
+ description: '这是第二条记录的详细描述内容...',
|
|
|
+ shortDesc: '记录2的简短描述'
|
|
|
+ }
|
|
|
+])
|
|
|
+
|
|
|
+function chunkArray(array, chunkSize) {
|
|
|
+ const result = [];
|
|
|
+ for (let i = 0; i < array.length; i += chunkSize) {
|
|
|
+ result.push(array.slice(i, i + chunkSize));
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+const chunkSize = 5 // 每组缩略图数量
|
|
|
+const thumbnails = chunkArray(infoList.value, chunkSize)
|
|
|
|
|
|
const open = async (data) => {
|
|
|
dialogVisible.value = true
|
|
@@ -89,18 +195,43 @@ const submitForm = async () => {
|
|
|
|
|
|
<style scoped>
|
|
|
.el-carousel__item h3 {
|
|
|
- color: #475669;
|
|
|
- /* opacity: 0.75; */
|
|
|
- /* line-height: 200px; */
|
|
|
+ /* color: #475669; */
|
|
|
margin: 0;
|
|
|
text-align: center;
|
|
|
}
|
|
|
|
|
|
-.el-carousel__item:nth-child(2n) {
|
|
|
+/* .el-carousel__item:nth-child(2n) {
|
|
|
background-color: #99a9bf;
|
|
|
}
|
|
|
|
|
|
.el-carousel__item:nth-child(2n + 1) {
|
|
|
background-color: #d3dce6;
|
|
|
+} */
|
|
|
+
|
|
|
+.module {
|
|
|
+ margin-top: 20px;
|
|
|
+}
|
|
|
+.thumbnail {
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ height: 140px;
|
|
|
+ width: 100%;
|
|
|
+ background-color: #fff;
|
|
|
+ overflow: hidden;
|
|
|
+ .carouselContent {
|
|
|
+ display: flex;
|
|
|
+ height: 100px;
|
|
|
+ .carouselItem {
|
|
|
+ border: 1px solid rgba(128, 128, 128, 0.34);
|
|
|
+ border-radius: 5px;
|
|
|
+ margin: 0 10px;
|
|
|
+ padding: 10px;
|
|
|
+ background-color: #fff;
|
|
|
+ font-size: 12px;
|
|
|
+ overflow: hidden;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|