大屏优化

This commit is contained in:
jiayu 2026-01-19 18:54:35 +08:00
parent f65b8b96b6
commit 7deea972e5
14 changed files with 438 additions and 317 deletions

View File

@ -1,6 +1,7 @@
NODE_ENV=development NODE_ENV=development
VITE_APP_TITLE='数字乡村云平台' VITE_APP_TITLE='数字乡村云平台'
VITE_APP_API_URL='http://192.168.34.155:1024' # VITE_APP_API_URL='http://192.168.34.179:6080/village'
VITE_APP_API_URL='http://192.168.34.155:1024/village'
# VITE_APP_API_URL='http://jxjzw.zhgdyun.com:10248/village' # VITE_APP_API_URL='http://jxjzw.zhgdyun.com:10248/village'
# VITE_APP_API_URL='http://jxjzw.zhgdyun.com:11026' # VITE_APP_API_URL='http://jxjzw.zhgdyun.com:11026'
VITE_MQTT_URL='ws://jxj.zhgdyun.com:8083/mqtt' VITE_MQTT_URL='ws://jxj.zhgdyun.com:8083/mqtt'

View File

@ -1,6 +1,6 @@
NODE_ENV=production NODE_ENV=production
VITE_APP_TITLE='数字乡村云平台' VITE_APP_TITLE='数字乡村云平台'
VITE_APP_API_URL='http://localhost:1024' VITE_APP_API_URL='http://localhost:6080/village'
# VITE_APP_API_URL='http://jxjzw.zhgdyun.com:11026' # VITE_APP_API_URL='http://jxjzw.zhgdyun.com:11026'
# VITE_APP_API_URL='http://jxjzw.zhgdyun.com:10248/village' # VITE_APP_API_URL='http://jxjzw.zhgdyun.com:10248/village'
# VITE_APP_API_URL='http://jxjzw.zhgdyun.com:10348/village' # VITE_APP_API_URL='http://jxjzw.zhgdyun.com:10348/village'

View File

@ -2,3 +2,4 @@ const CONFIG = {
loginName: "nanshan", loginName: "nanshan",
password: "123456", password: "123456",
} }
const VILLAGE_IFRAME_URL = "https://vr.wholeally.com/vr/NDhiZDhiOTAtYzVlNC0yNzZjLTMyYzEtNmQ5OWNmNWQ1YWU5.html";

View File

@ -246,9 +246,13 @@
color: #effaff; color: #effaff;
line-height: 20px; line-height: 20px;
font-family: HanYiZongYiTiJian, HanYiZongYiTiJian; font-family: HanYiZongYiTiJian, HanYiZongYiTiJian;
transition: font-size 0.3s ease-in-out;
} }
&:hover { &:hover {
background-color: rgba(255, 255, 255, 0.1); // background-color: rgba(255, 255, 255, 0.1);
span {
font-size: 18px;
}
} }
&.active-green { &.active-green {
background-image: url('/@/assets/images/village-bigdata/header-tab-active-green.png'); background-image: url('/@/assets/images/village-bigdata/header-tab-active-green.png');

View File

@ -108,9 +108,15 @@
} }
.news-item { .news-item {
width: 100%; width: 100%;
height: 100%; height: 162px;
display: flex; display: flex;
flex-direction: column;
gap: 10px; gap: 10px;
.image {
width: 100%;
height: 100%;
object-fit: cover;
}
.news-item-content { .news-item-content {
flex: 1; flex: 1;
font-family: font-family:

View File

@ -5,9 +5,7 @@
</template> </template>
<script setup> <script setup>
import { ref } from 'vue'; const iframeUrl = VILLAGE_IFRAME_URL;
const iframeUrl = ref('https://vr.wholeally.com/vr/NDhiZDhiOTAtYzVlNC0yNzZjLTMyYzEtNmQ5OWNmNWQ1YWU5.html');
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>

View File

@ -1,6 +1,7 @@
<template> <template>
<div class="party-org"> <div class="party-org">
<BCard title="党组织"> <BCard title="党组织">
<div class="org-content-wrapper">
<div class="org-header"> <div class="org-header">
<div class="establish-date"> <div class="establish-date">
<div class="date-value">成立日期{{ currentOrg.incorporationDate || '--' }}</div> <div class="date-value">成立日期{{ currentOrg.incorporationDate || '--' }}</div>
@ -16,7 +17,7 @@
<div class="circle-text">党组织总数</div> <div class="circle-text">党组织总数</div>
</div> </div>
<div class="activity-count gradient-border-box"> <div class="activity-count gradient-border-box">
<img src="/@/assets/images/party-bigdata/party-org-ic.png" alt="" /> <img src="/@/assets/images/party-bigdata/party-org-ic.png" alt />
<div class="count-box"> <div class="count-box">
<span class="count">{{ orgStat.excellent }}</span> <span class="count">{{ orgStat.excellent }}</span>
<span class="label">优秀党组织</span> <span class="label">优秀党组织</span>
@ -51,7 +52,14 @@
<div class="org-photo gradient-border-box"> <div class="org-photo gradient-border-box">
<div class="photo-title">党组织风采</div> <div class="photo-title">党组织风采</div>
<div class="photo-container"> <div class="photo-container">
<a-image width="100%" height="170px" style="object-fit: cover" :src="currentOrg.elegantDemeanour || defaultParty" alt="党组织风采照片" /> <a-image
width="100%"
height="170px"
style="object-fit: cover"
:src="currentOrg.elegantDemeanour || defaultParty"
alt="党组织风采照片"
/>
</div>
</div> </div>
</div> </div>
</BCard> </BCard>
@ -102,6 +110,11 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.org-content-wrapper {
height: 568px;
display: flex;
flex-direction: column;
}
.party-org { .party-org {
// height: 100%; // height: 100%;
.org-header { .org-header {
@ -121,9 +134,7 @@
position: relative; position: relative;
justify-content: center; justify-content: center;
.date-value { .date-value {
font-family: font-family: PingFang SC, PingFang SC;
PingFang SC,
PingFang SC;
font-weight: 500; font-weight: 500;
font-size: 18px; font-size: 18px;
color: #e7d4ac; color: #e7d4ac;
@ -169,9 +180,7 @@
} }
.circle-text { .circle-text {
font-family: font-family: PingFang SC, PingFang SC;
PingFang SC,
PingFang SC;
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: 14px;
color: #ffffff; color: #ffffff;
@ -199,9 +208,7 @@
} }
.count { .count {
font-family: font-family: PingFang SC, PingFang SC;
PingFang SC,
PingFang SC;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
color: #ffffff; color: #ffffff;
@ -209,9 +216,7 @@
} }
.label { .label {
font-family: font-family: PingFang SC, PingFang SC;
PingFang SC,
PingFang SC;
font-weight: 400; font-weight: 400;
font-size: 12px; font-size: 12px;
color: #ffffff; color: #ffffff;
@ -235,9 +240,7 @@
align-items: center; align-items: center;
span { span {
font-size: 14px; font-size: 14px;
font-family: font-family: PingFang SC, PingFang SC;
PingFang SC,
PingFang SC;
font-weight: 500; font-weight: 500;
font-size: 16px; font-size: 16px;
color: #e7d4ac; color: #e7d4ac;
@ -283,9 +286,7 @@
box-sizing: border-box; box-sizing: border-box;
.photo-title { .photo-title {
font-family: font-family: PingFang SC, PingFang SC;
PingFang SC,
PingFang SC;
font-weight: 500; font-weight: 500;
font-size: 16px; font-size: 16px;
color: #e7d4ac; color: #e7d4ac;
@ -324,9 +325,7 @@
border-radius: 6px; border-radius: 6px;
padding: 1px; padding: 1px;
background: linear-gradient(180deg, rgba(128, 100, 97, 1), rgba(171, 92, 87, 1)); background: linear-gradient(180deg, rgba(128, 100, 97, 1), rgba(171, 92, 87, 1));
-webkit-mask: -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
-webkit-mask-composite: xor; -webkit-mask-composite: xor;
mask-composite: exclude; mask-composite: exclude;
pointer-events: none; pointer-events: none;

View File

@ -58,7 +58,7 @@
<style lang="less" scoped> <style lang="less" scoped>
.party-style { .party-style {
min-height: 210px; min-height: 160px;
flex: 1; flex: 1;
.list-container { .list-container {

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="party-video"> <div class="party-video">
<video class="video" :src="videoUrl" controls></video> <video class="video" :src="videoUrl" controls autoplay></video>
</div> </div>
</template> </template>

View File

@ -15,23 +15,23 @@
<script setup> <script setup>
import BCard from './b-card.vue'; import BCard from './b-card.vue';
import { scenicSpotApi } from '/@/api/business/travel/scenic-spot-api'; import { landscapeApi } from '/@/api/business/travel/landscape-api';
import { ref, onMounted } from 'vue'; import { ref, onMounted } from 'vue';
const scenicList = ref([ const scenicList = ref([
{ id: 1, name: '南海岛·中国第一滩', image: '' }, // { id: 1, name: '·', image: '' },
{ id: 2, name: '放鸡岛海洋度假公园', image: '' }, // { id: 2, name: '', image: '' },
{ id: 3, name: '浪漫海岸国际度假区', image: '' }, // { id: 3, name: '', image: '' },
{ id: 4, name: '浮山岭风景区', image: '' }, // { id: 4, name: '', image: '' },
{ id: 5, name: '高州仙人洞风景区', image: '' }, // { id: 5, name: '', image: '' },
{ id: 6, name: '冼太夫人故里', image: '' }, // { id: 6, name: '', image: '' },
{ id: 7, name: '柏桥荔博园', image: '' }, // { id: 7, name: '', image: '' },
{ id: 8, name: '信宜天马山生态旅游区', image: '' }, // { id: 8, name: '', image: '' },
{ id: 9, name: '御水古温泉度假区', image: '' }, // { id: 9, name: '', image: '' },
]); ]);
const getScenicList = async () => { const getScenicList = async () => {
const res = await scenicSpotApi.queryPage({ const res = await landscapeApi.queryPage({
pageNum: 1, pageNum: 1,
pageSize: 9, pageSize: 9,
}); });
@ -68,7 +68,7 @@
} }
.list-item-image { .list-item-image {
width: 100%; width: 100%;
height: 80px; height: 72px;
border-radius: 4px; border-radius: 4px;
overflow: hidden; overflow: hidden;
background: rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.1);

View File

@ -123,8 +123,8 @@
gap: 12px; gap: 12px;
padding: 8px; padding: 8px;
.statistics-icon { .statistics-icon {
width: 40px; width: 60px;
height: 40px; height: 70px;
flex-shrink: 0; flex-shrink: 0;
img { img {
width: 100%; width: 100%;

View File

@ -105,7 +105,7 @@
} }
.video-item-image { .video-item-image {
width: 100%; width: 100%;
height: 80px; height: 72px;
border-radius: 4px; border-radius: 4px;
overflow: hidden; overflow: hidden;
background: rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.1);

View File

@ -181,7 +181,7 @@
height: 100%; height: 100%;
.chart-container { .chart-container {
width: 100%; width: 100%;
height: 250px; height: 308px;
} }
} }
} }

File diff suppressed because one or more lines are too long