翠屏区智慧广电示范区
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1607 lines
67 KiB

<template>
<!-- 旅游资源中心 -->
<div class="eb-container" ref="appRef">
<!-- 背景框 -->
<div class="bg">
<MainTitle :title="title"></MainTitle>
<div class="main">
<div class="top">
<div class="left" @click="leaderState = true">
<!-- 基本概况 -->
<div class="baseInfo">
<div class="title-box-samll">
<span>基本概况</span>
</div>
<div class="databox">
<div class="databox-top">
<div class="data-item">
<img
:src="
require('@/assets/screenView/jidinghe.png')
"
/>
<div class="content">
<span>馆藏文物</span>
<span>
{{ baseInfo.collectionNum }}
<font
style="
font-size: 14px;
margin-left: 2px;
"
></font
>
</span>
</div>
</div>
<div class="data-item">
<img
:src="
require('@/assets/screenView/jidinghe.png')
"
/>
<div class="content">
<span>年接待游客</span>
<span>
{{ baseInfo.visitorsYear }}
<font
style="
font-size: 14px;
margin-left: 2px;
"
>人次</font
>
</span>
</div>
</div>
</div>
<div class="bottom-title">
<img
:src="
require('../../assets/screenView/keliuIcon.png')
"
/>
<span class="title">基础信息</span>
</div>
<div class="base">
<div class="data-item">
<img
:src="
require('@/assets/screenView/renkou.png')
"
/>
<div class="content">
<span>开馆时间()</span>
<span>
{{ baseInfo.openingYears }}
</span>
</div>
</div>
<div class="data-item">
<img
:src="
require('@/assets/screenView/xiaqu.png')
"
/>
<div class="content">
<span>投入资金(万元)</span>
<span>{{
baseInfo.investment
}}</span>
</div>
</div>
<div class="data-item">
<img
:src="
require('@/assets/screenView/renkou.png')
"
/>
<div class="content">
<span>占地面积()</span>
<span>{{
baseInfo.establishmentTime
}}</span>
</div>
</div>
<div class="data-item">
<img
:src="
require('@/assets/screenView/xiaqu.png')
"
/>
<div class="content">
<span>建筑面积()</span>
<span>{{
baseInfo.buildingArea
}}</span>
</div>
</div>
</div>
<div class="bottom-title">
<img
:src="
require('../../assets/screenView/keliuIcon.png')
"
/>
<span class="title">展品分类</span>
</div>
<div class="peopleChart">
<div class="dataChart">
<div
class="pieChart"
id="pieChart"
></div>
<div class="pieContent">
<div
class="contentItem"
v-for="(
item, index
) in collectionProportion"
:key="index"
>
<div class="line">
<div
class="dataline"
:style="{
backgroundColor:
item.color,
}"
></div>
<div
class="defaultline"
></div>
</div>
<span class="name">{{
item.collectionName
}}</span>
<span class="num">{{
item.count
}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="zhong" @click="changeVideo($event)">
<!-- 视频 -->
<div class="videoBox">
<LivePlayer
ref="livePlayer"
:poster="videoInfo.coverImage"
:videoUrl="videoUrl"
fluent
:autoplay="true"
:muted="false"
alt="正在加载中"
>
</LivePlayer>
</div>
<!-- 视频列表 -->
<vueSeamlessScroll
:data="tabData"
:class-option="vidoeListOption"
class="scrollBox"
>
<div class="activityBox">
<div
class="activityItem"
v-for="(item, index) in tabData"
:key="index"
:data-obj="JSON.stringify(item)"
>
<img :src="item.coverImage" />
<span>{{ item.title }}</span>
</div>
</div>
</vueSeamlessScroll>
</div>
<div class="right">
<!-- 来馆统计 -->
<div class="culturalDataInfo">
<div class="title-box-samll">
<span>来馆统计</span>
</div>
<div class="databox">
<div class="baseInfo">
<div class="data-item">
<img
:src="
require('@/assets/screenView/xiaqu.png')
"
/>
<div class="content">
<span>预约访问量(人)</span>
<span>{{
baseInfoT.platformVisits
}}</span>
</div>
</div>
<div class="data-item">
<img
:src="
require('@/assets/screenView/gendi.png')
"
/>
<div class="content">
<span>来馆总人次(人)</span>
<span>{{
baseInfoT.totalNumber
}}</span>
</div>
</div>
<div class="data-item">
<img
:src="
require('@/assets/screenView/hushu.png')
"
/>
<div class="content">
<span>今日来馆人数(人)</span>
<span>{{
baseInfoT.todayNumber
}}</span>
</div>
</div>
<div class="data-item">
<img
:src="
require('@/assets/screenView/renkou.png')
"
/>
<div class="content">
<span>本月来馆人数(人)</span>
<span>{{
baseInfoT.monthNumber
}}</span>
</div>
</div>
</div>
<div class="bottom-title">
<img
:src="
require('../../assets/screenView/keliuIcon.png')
"
/>
<span class="title">活动举办统计</span>
</div>
<div class="barChart" id="barChart2"></div>
</div>
</div>
</div>
</div>
<div class="bottom">
<div class="left">
<!-- 博物馆藏品 -->
<div class="collection" @click="openModal($event)">
<div class="title-box-large" style="width: 100%">
<span>馆藏精品</span>
</div>
<vueSeamlessScroll
:data="collectionList"
:class-option="collectionOption"
class="scrollBox"
>
<div class="databox">
<div
class="dataItem"
v-for="(item, index) in collectionList"
:key="index"
:data-index="index"
>
<img :src="item.coverImage" :data-index="index" />
<span :data-index="index" class="name">{{
item.title
}}</span>
<span :data-index="index" class="time">{{
item.tagName
}}</span>
</div>
</div>
</vueSeamlessScroll>
</div>
</div>
<div class="right">
<div class="borrowRead">
<div class="title-box-samll">
<span>博物馆资讯</span>
</div>
<div class="databox">
<div
style="width: 100%; height: 100%;"
@click="
openInfo($event, queryContentInfoList)
"
>
<vue-seamless-scroll
:data="queryContentInfoList"
:class-option="infoOption"
style="
width: 100%;
height: 100%;
overflow: hidden;
"
>
<div class="list">
<div
class="info-item"
style="
display: flex;
overflow: hidden;
gap: 15px;
margin-bottom: 10px;
"
v-for="(
item, index
) in queryContentInfoList"
:key="index"
:data-index="index"
>
<img
:src="item.coverImage"
style="
width: 50%;
height: 120px;
"
:data-index="index"
/>
<div
style="
width: 50%;
display: flex;
flex-direction: column;
justify-content: space-between;
"
:data-index="index"
>
<div
style="
font-size: 16px;
color: #fff;
"
class="title"
:data-index="index"
>
{{ item.title }}
</div>
<div
style="
margin-top: 10px;
font-size: 14px;
color: #c1c1c1;
"
:data-index="index"
>
{{ item.createTime }}
</div>
</div>
</div>
</div>
</vue-seamless-scroll>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<common-modal
v-model="imgTextModal"
@close="imgTextModal = false"
:title="info.title"
>
<modalDetail
:current-activity="info"
:imgTextModal="imgTextModal"
></modalDetail>
</common-modal>
</div>
</template>
<script>
import { useIndex } from "../../utils/utilsDramAdmin";
import MainTitle from "./components/MainTitle.vue";
import VideoPlay from "../common-components/common-video";
import vueSeamlessScroll from "vue-seamless-scroll";
import * as echarts from "echarts";
import { echartsFocus, echartsClear } from "@/utils/autoEcharts";
import { Swiper, SwiperSlide, directive } from "vue-awesome-swiper";
import commonModal from "@/views/common-components/common-modal.vue";
import modalDetail from "./components/modalDetail.vue";
import LivePlayer from "@liveqing/liveplayer";
export default {
name: "MuseumBigDataScreen",
components: {
MainTitle,
VideoPlay,
vueSeamlessScroll,
modalDetail,
commonModal,
Swiper,
SwiperSlide,
directive,
LivePlayer,
},
data() {
return {
title: "翠屏博物馆大数据中心",
imgTextModal: false,
info: {},
collectionList: [],
videoUrl: "",
videoInfo: {},
leaderState: false, //基本概况弹窗
collectionState: false,
vidoeList: [],
isVideo: true,
baseInfo: {},
baseInfoT: {}, //真实数据
tabData: [],
tabDataList: [],
pltChannelId: "",
deviceId: "",
areaCode: window.$localStorage.getItem("areaCode"),
//博物馆重要通知
museumNotice: {},
//博物馆馆藏文物占比
collectionProportion: [],
noticeState: false,
currentCollect: {},
color: ["#205dcc", "#18f2c9", "#ffe381", "#1ce119"],
swiperOptions: {
on: {
slideChange: function () {
self.realIndex = this.realIndex;
},
},
pagination: {
el: ".swiper-pagination",
},
centeredSlides: true,
// 设置点击箭头
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
},
queryContentInfoList: [],
infoOption: {
step: 0.2, // 数值越大速度滚动越快
limitMoveNum: 4, // 开始无缝滚动的数据量 this.dataList.length
hoverStop: true, // 是否开启鼠标悬停stop
direction: 1, // 0向下 1向上 2向左 3向右
openWatch: true, // 开启数据实时监控刷新dom
singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
waitTime: 1000, // 单步运动停止的时间(默认值1000ms)
},
};
},
computed: {
collectionOption() {
return {
step: 0.2, // 数值越大速度滚动越快
limitMoveNum: 5, // 开始无缝滚动的数据量 this.dataList.length
hoverStop: true, // 是否开启鼠标悬停stop
direction: 2, // 0向下 1向上 2向左 3向右
openWatch: true, // 开启数据实时监控刷新dom
singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
waitTime: 1000, // 单步运动停止的时间(默认值1000ms)
};
},
vidoeListOption() {
return {
step: 0.2, // 数值越大速度滚动越快
limitMoveNum: 5, // 开始无缝滚动的数据量 this.dataList.length
hoverStop: true, // 是否开启鼠标悬停stop
direction: 2, // 0向下 1向上 2向左 3向右
openWatch: true, // 开启数据实时监控刷新dom
singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
waitTime: 1000, // 单步运动停止的时间(默认值1000ms)
};
},
},
mounted() {
const { calcRate, windowDraw } = useIndex(this.$refs.appRef);
calcRate();
windowDraw();
this.queryBaseInfo(); //基础数据
this.queryCollectionProportion(); // 展品分类
this.queryCulturePerson(); // 来馆统计
this.queryActivityCount(); // 活动举办统计
this.getScreenVideo(); //查询摄像头
this.getAllAntique(); // 获取博物馆藏品
this.queryContentInfo(); //查询博物馆资讯
},
beforeDestroy() {
echartsClear();
},
methods: {
openModal(e){
let index = e.target.dataset.index
let data = this.collectionList[index]
this.info = data
this.imgTextModal = true
},
// 打开资讯
openInfo(e, list) {
let index = e.target.dataset.index;
let data = list[index];
if (data.contentType == "3") {
this.common.openWindow(data);
} else {
this.info = data;
this.imgTextModal = true;
}
},
// 查询博物馆资讯
queryContentInfo() {
this.$http
.post(
"/content/queryContentInfo",
this.common.request({
areaCode: "",
hasParent: "0",
page: 1,
typeCode: "BWGINFO",
pageSize: 10,
})
)
.then((res) => {
if (res.data.code === 200) {
this.queryContentInfoList = res.data.data.records;
}
});
},
queryCulturePerson() {
let params = {
areaCode: "2021030823390056",
page: 1,
pageSize: 10,
type: "museumCount",
};
this.$http
.post(
"/screen/getScreenSurveyPage",
this.common.request(params)
)
.then((res) => {
if (res.data.code === 200) {
const data = res.data.data.records;
if (data) {
this.baseInfoT = {
platformVisits: data[0].value,
totalNumber: data[1].value,
todayNumber: data[2].value,
monthNumber: data[3].value,
};
}
} else {
this.$Message.error("查询基础数据有误");
}
});
},
initBarChart2(data) {
let myChart = echarts.init(document.getElementById("barChart2"));
let option = {
tooltip: {
trigger: "axis",
axisPointer: {
type: "cross",
label: {
backgroundColor: "#6a7985",
},
},
},
xAxis: {
type: "category",
axisLabel: {
margin: 10,
interval: 0,
color: "#ffffff",
textStyle: {
fontSize: 12,
},
},
data: data.xData,
},
yAxis: {
type: "value",
splitLine: {
show: true,
lineStyle: {
type: "dashed",
color: "#35414c",
},
},
axisLabel: {
color: "#ffffff",
textStyle: {
fontSize: 12,
},
},
},
grid: {
top: "15%",
bottom: "10%",
width: "87%",
height: "75%",
},
series: [
{
data: data.yData,
type: "bar",
barWidth: "16px",
itemStyle: {
color: new echarts.graphic.LinearGradient(
0,
1,
0,
0,
[
{
offset: 1,
color: "#4D3511",
},
{
offset: 0,
color: "#F2B04E",
},
]
),
},
},
],
};
myChart.setOption(option);
echartsFocus(myChart, data.xData.length);
},
initChartPie(data) {
let myChart = echarts.init(document.getElementById("pieChart"));
let total = 0;
data.forEach((item) => {
total += item.count;
});
var chartData = [];
for (var i = 0; i < data.length; i++) {
chartData.push({
value: data[i].count,
name: data[i].collectionName,
itemStyle: {
normal: {
shadowBlur: 20,
},
},
});
}
var seriesOption = [
{
name: "",
type: "pie",
clockWise: false,
radius: [45, 60],
avoidLabelOverlap: false,
legendHoverLink: false,
hoverOffset: 4,
label: {
show: true,
position: "center",
formatter: (item) => {
return `{percent|${Math.round(
(item.value / total) * 100
)}%}\n{sexName|${item.name}}`;
},
align: "center",
color: "#ffffff",
verticalAlign: "middle",
// 此处重点,字体大小设置为0
textStyle: {
fontSize: "0",
},
},
emphasis: {
label: {
show: true,
rich: {
percent: {
fontSize: 20,
color: "#fff",
},
sexName: {
fontSize: 10,
color: "#ccc",
},
},
},
},
data: chartData,
},
];
let option = {
color: this.color,
tooltip: {
show: true,
},
toolbox: {
show: false,
},
series: seriesOption,
};
myChart.setOption(option);
echartsFocus(myChart, data.length);
},
changeVideo(e) {
if (e.target.className == "activityItem") {
const obj = JSON.parse(e.target.dataset.obj);
this.isVideo = true;
this.videoUrl = obj.url;
this.videoInfo = obj;
}
},
queryBaseInfo() {
let params = {
areaCode: "2021030823390056",
page: 1,
pageSize: 10,
type: "museumBaseInfo",
};
this.$http
.post(
"/screen/getScreenSurveyPage",
this.common.request(params)
)
.then((res) => {
if (res.data.code === 200) {
const data = res.data.data.records;
if (data) {
this.baseInfo = {
collectionNum: data[0].value,
visitorsYear: data[1].value,
openingYears: data[2].value,
investment: data[3].value,
establishmentTime: data[4].value,
buildingArea: data[5].value,
};
}
} else {
this.$Message.error("查询基础数据有误");
}
});
},
// 获取近半年活动数据
queryActivityCount() {
let params = {
areaCode: "2021030823390056",
page: 1,
pageSize: 10,
type: "museumActivityCount",
};
this.$http
.post(
"/screen/getScreenSurveyPage",
this.common.request(params)
)
.then((res) => {
if (res.data.code === 200) {
const data = res.data.data.records.reduce(
(acc, cur) => {
acc.xData.push(cur.label);
acc.yData.push(cur.value);
return acc;
},
{ xData: [], yData: [] }
);
this.initBarChart2(data);
} else {
this.$Message.error("查询基础数据有误");
}
});
},
//查询博物馆的馆藏文物分类
queryCollectionProportion() {
let params = {
areaCode: "2021030823390056",
page: 1,
pageSize: 10,
type: "museumType",
};
this.$http
.post(
"/screen/getScreenSurveyPage",
this.common.request(params)
)
.then(
(res) => {
if (res.data.code === 200) {
this.collectionProportion =
res.data.data.records.map((record) => ({
collectionName: record.label,
count: record.value,
color: this.color[
Math.floor(
Math.random() * this.color.length
)
],
}));
this.initChartPie(this.collectionProportion);
} else {
this.$Message.error("出错了");
}
},
(response) => {
this.$Message.error("出错了");
}
);
},
//获取博物馆藏品
getAllAntique() {
this.$http
.post(
"/content/queryContentInfo",
this.common.request({
areaCode: "2021030823390056",
hasChild: 1,
hasParent: 1,
page: 1,
pageSize: 100,
startAndEndDate: [],
typeCode: "COLLECTION",
})
)
.then(
(res) => {
if (res.data.code === 200) {
this.collectionList = res.data.data.records
this.collectionList.forEach(item => {
if (item.imageList) {
item.imageList = JSON.parse(item.imageList)
}
})
} else {
this.$Message.error("出错了");
}
},
(response) => {
this.$Message.error("出错了");
}
);
},
// 查询视频
getScreenVideo() {
let params = {
areaCode: "2021030823390056",
type: "museumMonitor",
};
this.$http
.post("/screen/getScreenVideoList", this.common.request(params))
.then(
(res) => {
if (res.data.code === 200) {
this.tabData = res.data.data.map((d) => ({
url: d.urlList,
title: d.title,
coverImage: d.coverImage,
}));
this.videoInfo = this.tabData[0];
this.videoUrl = this.tabData[0].url;
} else {
this.$Message.error("出错了");
}
},
(response) => {
this.$Message.error("出错了");
}
);
},
},
};
</script>
<style lang="less" scoped>
@import "../../styles/pbStyle.less";
.eb-container {
width: 1920px;
height: 1080px;
transform: scale(var(--scale)) translate(-50%, -50%);
transform-origin: 0 0;
position: absolute;
left: 50%;
top: 50%;
background-image: url("../../assets/screenView/bg.png");
background-size: 100%;
.bg {
width: 1920px;
height: 1056px;
position: relative;
background-image: url("../../assets/screenView/bg-box.png");
background-size: 100%;
display: flex;
flex-direction: column;
align-items: center;
.main {
width: 1804px;
height: 920px;
position: absolute;
margin: 0 auto;
top: 105px;
display: flex;
flex-direction: column;
justify-content: space-between;
.top {
width: 1804px;
height: 608px;
display: flex;
justify-content: space-between;
.left {
width: 462px;
height: 608px;
.baseInfo {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
.min-title {
width: 462px;
height: 46px;
background-image: url("../../assets/screenView/minTitle462.png");
background-size: 100%;
background-color: rgba(29, 37, 47, 0.5);
display: flex;
align-items: center;
span {
font-family: "YouSheBiaoTiHei";
font-size: 22px;
font-weight: 400;
line-height: 29px;
letter-spacing: 0em;
text-align: left;
background: linear-gradient(
to top,
#5982b5,
#ecf4fe
);
-webkit-background-clip: text;
color: transparent;
margin-left: 44px;
}
}
.databox {
.content-pub-style(100%, calc(100% - 20px));
margin-top: 10px;
padding: 20px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
.databox-top {
width: 100%;
display: flex;
justify-content: space-between;
.data-item {
flex: 1;
height: 74px;
margin-bottom: 15px;
display: flex;
align-items: center;
img {
width: 72px;
height: 72px;
}
.content {
flex: 1;
height: 74px;
display: flex;
flex-direction: column;
justify-content: center;
margin-left: 10px;
span:nth-child(1) {
font-family: "PingFang SC";
font-size: 20px;
font-weight: 400;
line-height: 28px;
letter-spacing: 0em;
text-align: left;
color: #f2f6fa;
}
span:nth-child(2) {
font-family: "Furore";
font-size: 24px;
font-weight: 400;
line-height: 28px;
letter-spacing: 0em;
text-align: left;
color: #ffffff;
}
}
}
}
.bottom-title {
width: 412px;
display: flex;
justify-content: flex-start;
align-items: center;
img {
width: 14px;
height: 14px;
}
.title {
font-family: "YouSheBiaoTiHei";
font-size: 20px;
font-weight: 400;
text-align: left;
color: #d5e2f2;
margin-left: 10px;
}
}
.base {
width: 412px;
height: 120px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.data-item {
width: 188px;
height: 53px;
margin-bottom: 15px;
display: flex;
img {
width: 48px;
height: 48px;
}
.content {
width: 130px;
height: 53px;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-left: 10px;
span:nth-child(1) {
font-family: "PingFang SC";
font-size: 16px;
font-weight: 400;
color: #ffffff;
text-align: left;
}
span:nth-child(2) {
font-family: "DIN";
font-size: 24px;
font-weight: 400;
color: #ffffff;
text-align: left;
}
}
}
}
.peopleChart {
width: 390px;
height: 180px;
display: flex;
flex-direction: column;
justify-content: space-between;
.dataChart {
width: 390px;
height: 161px;
display: flex;
justify-content: space-between;
align-items: center;
.pieChart {
width: 136px;
height: 136px;
}
.pieContent {
width: 216px;
height: 126px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.contentItem {
width: 108px;
height: 55px;
display: flex;
margin-bottom: 20px;
flex-direction: column;
.line {
display: flex;
.dataline {
height: 4px;
width: 24px;
margin-right: 5px;
background-color: #19cd17;
border-radius: 2px;
}
.defaultline {
height: 4px;
width: 40px;
background-color: #1b424f;
border-radius: 2px;
}
}
.name {
font-family: "PingFang SC";
font-size: 14px;
font-weight: 300;
line-height: 20px;
letter-spacing: 0em;
color: #909ba8;
text-align: left;
margin: 4px 0 2px;
}
.num {
font-family: "Furore";
font-size: 20px;
font-weight: 400;
line-height: 23px;
letter-spacing: 0em;
color: #ffffff;
text-align: left;
}
}
}
}
}
}
}
}
.zhong {
width: 846px;
height: 608px;
display: flex;
flex-direction: column;
justify-content: space-between;
.videoBox {
width: 846px;
height: 479px;
}
.scrollBox {
width: 100%;
height: 100%;
margin-top: 5px;
overflow: hidden;
.activityBox {
height: 114px;
display: flex;
align-items: center;
.activityItem {
width: 176px;
height: 114px;
position: relative;
margin-right: 20px;
img {
width: 176px;
height: 114px;
pointer-events: none;
border-radius: 4px;
}
span {
position: absolute;
display: block;
width: 100%;
height: 30px;
line-height: 30px;
text-align: center;
color: #fff;
bottom: 0;
left: 0;
font-size: 16px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
pointer-events: none;
background-color: rgba(0, 0, 0, 0.2);
border-radius: 0 0 4px 4px;
}
}
}
}
}
.right {
width: 462px;
height: 608px;
.culturalDataInfo {
width: 100%;
height: calc(100% - 120px);
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
.min-title {
width: 462px;
height: 46px;
background-image: url("../../assets/screenView/minTitle462.png");
background-size: 100%;
background-color: rgba(29, 37, 47, 0.5);
display: flex;
align-items: center;
span {
font-family: "YouSheBiaoTiHei";
font-size: 22px;
font-weight: 400;
line-height: 29px;
letter-spacing: 0em;
text-align: left;
background: linear-gradient(
to top,
#5982b5,
#ecf4fe
);
-webkit-background-clip: text;
color: transparent;
margin-left: 44px;
}
}
.databox {
.content-pub-style(100%, calc(100% - 20px));
margin-top: 10px;
display: flex;
padding: 20px 0;
flex-direction: column;
justify-content: space-between;
align-items: center;
.baseInfo {
width: 412px;
height: 120px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.data-item {
width: 188px;
height: 53px;
margin-bottom: 15px;
display: flex;
img {
width: 48px;
height: 48px;
}
.content {
width: 130px;
height: 53px;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-left: 10px;
span:nth-child(1) {
font-family: "PingFang SC";
font-size: 16px;
font-weight: 400;
color: #ffffff;
text-align: left;
}
span:nth-child(2) {
font-family: "DIN";
font-size: 24px;
font-weight: 400;
color: #ffffff;
text-align: left;
}
}
}
}
.bottom-title {
width: 412px;
display: flex;
justify-content: flex-start;
align-items: center;
margin-top: 20px;
img {
width: 14px;
height: 14px;
}
.title {
font-family: "YouSheBiaoTiHei";
font-size: 20px;
font-weight: 400;
text-align: left;
color: #d5e2f2;
margin-left: 10px;
}
}
.barChart {
width: 412px;
height: calc(134px * 2);
}
}
}
}
}
.bottom {
width: 1804px;
height: 292px;
display: flex;
justify-content: space-between;
.left {
width: 1328px;
height: 292px;
.collection {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
.min-title {
width: 1328px;
height: 46px;
//background-image: url("../../assets/screenView/miniTitle1328.png");
background-size: 100%;
background-color: rgba(29, 37, 47, 0.5);
display: flex;
align-items: center;
span {
font-family: "YouSheBiaoTiHei";
font-size: 22px;
font-weight: 400;
line-height: 29px;
letter-spacing: 0em;
text-align: left;
background: linear-gradient(
to top,
#5982b5,
#ecf4fe
);
-webkit-background-clip: text;
color: transparent;
margin-left: 44px;
}
}
.scrollBox {
.content-pub-style(100%, calc(100% - 10px));
margin-top: 10px;
overflow: hidden;
.databox {
height: 236px;
display: flex;
align-items: center;
.dataItem {
width: 230px;
height: 205px;
margin-right: 15px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
img {
width: 230px;
height: 156px;
pointer-events: none;
}
.name {
font-family: "PingFang SC";
font-size: 16px;
font-weight: 400;
line-height: 22px;
letter-spacing: 0em;
text-align: center;
color: #fff;
pointer-events: none;
}
.time {
font-family: "PingFang SC";
font-size: 12px;
font-weight: 400;
line-height: 17px;
letter-spacing: 0em;
text-align: center;
color: #a4a8ac;
pointer-events: none;
}
}
}
}
}
}
.right {
width: 462px;
height: 392px;
position: absolute;
bottom: 0px;
right: 0px;
.borrowRead {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
.min-title {
width: 462px;
height: 46px;
background-image: url("../../assets/screenView/minTitle462.png");
background-size: 100%;
background-color: rgba(29, 37, 47, 0.5);
display: flex;
align-items: center;
span {
font-family: "YouSheBiaoTiHei";
font-size: 22px;
font-weight: 400;
line-height: 29px;
letter-spacing: 0em;
text-align: left;
background: linear-gradient(
to top,
#5982b5,
#ecf4fe
);
-webkit-background-clip: text;
color: transparent;
margin-left: 44px;
}
}
.databox {
.content-pub-style(100%, calc(100% - 20px));
margin-top: 10px;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
padding: 10px;
.list {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
.info-item {
width: 100%;
height: 120px;
position: relative;
margin-right: 20px;
.title {
display: -webkit-box;
/* 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。*/
-webkit-box-orient: vertical;
/* 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。*/
text-overflow: ellipsis;
/* 可以用来多行文本的情况下,用省略号“…”隐藏超出范围的文本 。*/
-webkit-line-clamp: 2;
overflow: hidden;
}
}
}
}
}
}
}
}
}
}
.swiper-item {
padding-bottom: 10px;
display: flex;
justify-content: center;
align-items: center;
.swiper-image {
max-height: 420px;
}
}
// 基本概况
.volunteerModalT {
width: 100%;
height: 100%;
display: flex;
margin-bottom: 10px;
flex-direction: column;
// align-items: center;
margin-bottom: 10px;
img {
width: 100%;
height: 350px;
margin-bottom: 10px;
}
.title {
width: 100%;
font-size: 20px;
margin-bottom: 10px;
}
.text {
font-size: 24px;
}
.infoTitle {
width: 100%;
font-size: 24px;
}
.infoBox {
width: 100%;
font-size: 18px;
}
}
</style>