提交 5dbdd1e3 authored 作者: huhuiqing's avatar huhuiqing

热力图

上级 c74240b3
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<img src="./assets/leftbtn.png" alt class="left-btn" @click="prev" :class="{ disabled: startIndex === 0 }" /> <img src="./assets/leftbtn.png" alt class="left-btn" @click="prev" :class="{ disabled: startIndex === 0 }" />
<div class="content"> <div class="content">
<div class="carousel-container" :style="{ transform: `translateX(-${startIndex * (307 + 16)}px)` }"> <div class="carousel-container" :style="{ transform: `translateX(-${startIndex * (307 + 16)}px)` }">
<div class="carousel-item" v-for="item,index in carouselList" :key="index"> <div class="carousel-item" v-for="item, index in carouselList" :key="index">
<div class="item-top"> <div class="item-top">
<div class="top-img"> <div class="top-img">
<img :src="ele" :class="{ img1: index !== 0 }" alt v-for="(ele, idx) in item.imageList" :key="idx" /> <img :src="ele" :class="{ img1: index !== 0 }" alt v-for="(ele, idx) in item.imageList" :key="idx" />
...@@ -16,20 +16,16 @@ ...@@ -16,20 +16,16 @@
<div class="item-title">{{ item.name }}</div> <div class="item-title">{{ item.name }}</div>
<div class="type"> <div class="type">
<div class="type-item" :class="getTagClass(ele.industryName)" v-for="ele, idxx in item.industryList" :key="idxx"> <div class="type-item" :class="getTagClass(ele.industryName)" v-for="ele, idxx in item.industryList"
:key="idxx">
{{ ele.industryName }} {{ ele.industryName }}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<img <img src="./assets/rightbtn.png" alt class="right-btn" @click="next"
src="./assets/rightbtn.png" :class="{ disabled: startIndex >= carouselList.length - 5 }" />
alt
class="right-btn"
@click="next"
:class="{ disabled: startIndex >= carouselList.length - 5 }"
/>
</div> </div>
<!-- 排华联盟分布 --> <!-- 排华联盟分布 -->
...@@ -51,13 +47,8 @@ ...@@ -51,13 +47,8 @@
<div class="item" v-for="(item, index) in countList" :key="index"> <div class="item" v-for="(item, index) in countList" :key="index">
<div class="item-left"> <div class="item-left">
<img :src="item.image" alt /> <img :src="item.image" alt />
<el-tooltip <el-tooltip effect="dark" :content="item.zhName" popper-class="common-prompt-popper" placement="top"
effect="dark" :show-after="500">
:content="item.zhName"
popper-class="common-prompt-popper"
placement="top"
:show-after="500"
>
<span>{{ item.zhName }}</span> <span>{{ item.zhName }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
...@@ -99,23 +90,19 @@ ...@@ -99,23 +90,19 @@
<span>排华联盟最新动态</span> <span>排华联盟最新动态</span>
</div> </div>
<div class="news-content"> <div class="news-content">
<div class="item" v-for="item,index in newsList" :key="index"> <div class="item" v-for="item, index in newsList" :key="index">
<div class="item-title"> <div class="item-title">
<img :src="item.image || defaultImg" alt /> <img :src="item.image || defaultImg" alt />
<span @click="handleClick(item)">{{ item.title }}</span> <span @click="handleClick(item)">{{ item.title }}</span>
</div> </div>
<el-tooltip <el-tooltip effect="dark" :content="item.content" popper-class="common-prompt-popper" placement="top"
effect="dark" :show-after="500">
:content="item.content"
popper-class="common-prompt-popper"
placement="top"
:show-after="500"
>
<div class="item-content">{{ item.content }}</div> <div class="item-content">{{ item.content }}</div>
</el-tooltip> </el-tooltip>
<div class="item-bottom"> <div class="item-bottom">
<div class="bottom-left"> <div class="bottom-left">
<div class="left-item" :class="getTagClass(ele.industryName)" v-for="ele,idx in item.industryList" :key="idx"> <div class="left-item" :class="getTagClass(ele.industryName)" v-for="ele, idx in item.industryList"
:key="idx">
<span>{{ ele.industryName }}</span> <span>{{ ele.industryName }}</span>
</div> </div>
</div> </div>
...@@ -134,26 +121,16 @@ ...@@ -134,26 +121,16 @@
<div class="item-title"> <div class="item-title">
<div class="title-left"> <div class="title-left">
<div class="img-list"> <div class="img-list">
<img <img :src="ele.image || defaultImg" :class="{ img1: index !== 0 }"
:src="ele.image || defaultImg" @error="e => (e.target.src = defaultImg)" alt v-for="(ele, index) in item.countryList"
:class="{ img1: index !== 0 }" :key="index" />
@error="e => (e.target.src = defaultImg)"
alt
v-for="(ele, index) in item.countryList"
:key="index"
/>
</div> </div>
<div class="left-content">{{ getContent(item.countryList) }}</div> <div class="left-content">{{ getContent(item.countryList) }}</div>
</div> </div>
<div class="title-right">{{ item.statementList?.length }}次合作</div> <div class="title-right">{{ item.statementList?.length }}次合作</div>
</div> </div>
<div class="item-content"> <div class="item-content">
<div <div class="content-list" v-for="(ele, idx) in item.statementList" :key="idx" @click="handleClick(ele)">
class="content-list"
v-for="(ele, idx) in item.statementList"
:key="idx"
@click="handleClick(ele)"
>
<div class="list-left" :class="getTagClass(getName(ele.industryList))"> <div class="list-left" :class="getTagClass(getName(ele.industryList))">
<span>{{ getName(ele.industryList) }}</span> <span>{{ getName(ele.industryList) }}</span>
</div> </div>
...@@ -715,7 +692,7 @@ function createChart() { ...@@ -715,7 +692,7 @@ function createChart() {
...item, ...item,
name: nameMap[item.name] || item.name, // 将英文名转换为中文名以匹配地图区域 name: nameMap[item.name] || item.name, // 将英文名转换为中文名以匹配地图区域
itemStyle: { itemStyle: {
color: color // color: color
}, },
emphasis: { emphasis: {
itemStyle: { itemStyle: {
...@@ -1297,6 +1274,7 @@ watch(activeDate, async () => { ...@@ -1297,6 +1274,7 @@ watch(activeDate, async () => {
display: flex; display: flex;
align-items: center; align-items: center;
position: relative; position: relative;
.content { .content {
width: 1601px; width: 1601px;
overflow: hidden; overflow: hidden;
...@@ -1336,6 +1314,7 @@ watch(activeDate, async () => { ...@@ -1336,6 +1314,7 @@ watch(activeDate, async () => {
height: 24px; height: 24px;
border-radius: 50%; border-radius: 50%;
} }
.img1 { .img1 {
margin-left: -8px; margin-left: -8px;
} }
...@@ -1373,6 +1352,7 @@ watch(activeDate, async () => { ...@@ -1373,6 +1352,7 @@ watch(activeDate, async () => {
overflow-y: hidden; overflow-y: hidden;
width: calc(100% - 22px); width: calc(100% - 22px);
height: 25px; height: 25px;
.type-item { .type-item {
display: inline-block; display: inline-block;
border-radius: 4px; border-radius: 4px;
...@@ -1387,6 +1367,7 @@ watch(activeDate, async () => { ...@@ -1387,6 +1367,7 @@ watch(activeDate, async () => {
} }
} }
} }
.left-btn { .left-btn {
width: 24px; width: 24px;
height: 48px; height: 48px;
...@@ -1400,6 +1381,7 @@ watch(activeDate, async () => { ...@@ -1400,6 +1381,7 @@ watch(activeDate, async () => {
cursor: not-allowed; cursor: not-allowed;
} }
} }
.right-btn { .right-btn {
width: 24px; width: 24px;
height: 48px; height: 48px;
...@@ -1422,6 +1404,7 @@ watch(activeDate, async () => { ...@@ -1422,6 +1404,7 @@ watch(activeDate, async () => {
border-radius: 10px; border-radius: 10px;
background-color: rgba(255, 255, 255, 0.65); background-color: rgba(255, 255, 255, 0.65);
box-shadow: 0 0 20px rgba(25, 69, 130, 0.1); box-shadow: 0 0 20px rgba(25, 69, 130, 0.1);
.anti-title { .anti-title {
width: 100%; width: 100%;
height: 48px; height: 48px;
...@@ -1432,9 +1415,11 @@ watch(activeDate, async () => { ...@@ -1432,9 +1415,11 @@ watch(activeDate, async () => {
justify-content: space-between; justify-content: space-between;
box-sizing: border-box; box-sizing: border-box;
background: linear-gradient(180deg, rgba(231, 243, 255, 1) 0%, rgba(231, 243, 255, 0) 100%); background: linear-gradient(180deg, rgba(231, 243, 255, 1) 0%, rgba(231, 243, 255, 0) 100%);
.title-left { .title-left {
display: flex; display: flex;
align-items: center; align-items: center;
img { img {
width: 17px; width: 17px;
height: 17px; height: 17px;
...@@ -1492,6 +1477,7 @@ watch(activeDate, async () => { ...@@ -1492,6 +1477,7 @@ watch(activeDate, async () => {
margin-left: 38px; margin-left: 38px;
margin-top: 31px; margin-top: 31px;
margin-bottom: 55px; margin-bottom: 55px;
.count-box { .count-box {
height: 520px; height: 520px;
display: flex; display: flex;
...@@ -1516,6 +1502,7 @@ watch(activeDate, async () => { ...@@ -1516,6 +1502,7 @@ watch(activeDate, async () => {
/* 业务系统/模态背景模糊 */ /* 业务系统/模态背景模糊 */
backdrop-filter: blur(30px); backdrop-filter: blur(30px);
background: rgba(255, 255, 255, 0.65); background: rgba(255, 255, 255, 0.65);
.item-left { .item-left {
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -1525,6 +1512,7 @@ watch(activeDate, async () => { ...@@ -1525,6 +1512,7 @@ watch(activeDate, async () => {
height: 12px; height: 12px;
margin-right: 12px; margin-right: 12px;
} }
span { span {
display: inline-block; display: inline-block;
width: 100px; width: 100px;
...@@ -1536,9 +1524,12 @@ watch(activeDate, async () => { ...@@ -1536,9 +1524,12 @@ watch(activeDate, async () => {
line-height: 30px; line-height: 30px;
letter-spacing: 0px; letter-spacing: 0px;
text-align: left; text-align: left;
white-space: nowrap; /* 防止文本换行 */ white-space: nowrap;
overflow: hidden; /* 隐藏溢出的内容 */ /* 防止文本换行 */
text-overflow: ellipsis; /* 显示省略符号来代表被修剪的文本 */ overflow: hidden;
/* 隐藏溢出的内容 */
text-overflow: ellipsis;
/* 显示省略符号来代表被修剪的文本 */
} }
} }
...@@ -1560,17 +1551,20 @@ watch(activeDate, async () => { ...@@ -1560,17 +1551,20 @@ watch(activeDate, async () => {
display: flex; display: flex;
justify-content: center; justify-content: center;
gap: 8px; gap: 8px;
.left { .left {
width: 24px; width: 24px;
height: 24px; height: 24px;
border-radius: 4px; border-radius: 4px;
overflow: hidden; overflow: hidden;
cursor: pointer; cursor: pointer;
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
.center { .center {
height: 24px; height: 24px;
color: var(--color-main-active); color: var(--color-main-active);
...@@ -1582,12 +1576,14 @@ watch(activeDate, async () => { ...@@ -1582,12 +1576,14 @@ watch(activeDate, async () => {
letter-spacing: 0px; letter-spacing: 0px;
text-align: center; text-align: center;
} }
.right { .right {
width: 24px; width: 24px;
height: 24px; height: 24px;
border-radius: 4px; border-radius: 4px;
overflow: hidden; overflow: hidden;
cursor: pointer; cursor: pointer;
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -1675,6 +1671,7 @@ watch(activeDate, async () => { ...@@ -1675,6 +1671,7 @@ watch(activeDate, async () => {
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
img { img {
width: 20px; width: 20px;
height: 20px; height: 20px;
...@@ -1705,9 +1702,12 @@ watch(activeDate, async () => { ...@@ -1705,9 +1702,12 @@ watch(activeDate, async () => {
line-height: 30px; line-height: 30px;
letter-spacing: 0px; letter-spacing: 0px;
text-align: justify; text-align: justify;
white-space: nowrap; /* 防止文本换行 */ white-space: nowrap;
overflow: hidden; /* 隐藏溢出的内容 */ /* 防止文本换行 */
text-overflow: ellipsis; /* 显示省略符号来代表被修剪的文本 */ overflow: hidden;
/* 隐藏溢出的内容 */
text-overflow: ellipsis;
/* 显示省略符号来代表被修剪的文本 */
} }
.item-bottom { .item-bottom {
...@@ -1874,9 +1874,11 @@ watch(activeDate, async () => { ...@@ -1874,9 +1874,11 @@ watch(activeDate, async () => {
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
cursor: pointer; cursor: pointer;
&:hover { &:hover {
background: var(--color-bg-hover); background: var(--color-bg-hover);
} }
.list-left { .list-left {
/* 数据展示/Tag标签/亮色/绿 */ /* 数据展示/Tag标签/亮色/绿 */
min-width: 75px; min-width: 75px;
...@@ -1911,9 +1913,12 @@ watch(activeDate, async () => { ...@@ -1911,9 +1913,12 @@ watch(activeDate, async () => {
line-height: 30px; line-height: 30px;
letter-spacing: 0px; letter-spacing: 0px;
text-align: left; text-align: left;
white-space: nowrap; /* 防止文本换行 */ white-space: nowrap;
overflow: hidden; /* 隐藏溢出的内容 */ /* 防止文本换行 */
text-overflow: ellipsis; /* 显示省略符号来代表被修剪的文本 */ overflow: hidden;
/* 隐藏溢出的内容 */
text-overflow: ellipsis;
/* 显示省略符号来代表被修剪的文本 */
// margin-left: 13px; // margin-left: 13px;
// margin-right: 13px; // margin-right: 13px;
} }
...@@ -1942,6 +1947,7 @@ watch(activeDate, async () => { ...@@ -1942,6 +1947,7 @@ watch(activeDate, async () => {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.area-left { .area-left {
width: 792px; width: 792px;
height: 500px; height: 500px;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论