mer-tradescreen/src/view/townDetail.vue

242 lines
4.8 KiB
Vue
Raw Normal View History

2023-11-24 19:32:45 +08:00
<template>
<div class="top box">
<div class="l">
2023-12-08 18:51:02 +08:00
<topLeft></topLeft>
2023-11-24 19:32:45 +08:00
</div>
2023-11-28 15:26:40 +08:00
<div class="c" id="">
2023-12-07 19:05:27 +08:00
<topCenter :code="route.query.code"></topCenter>
2023-11-24 19:32:45 +08:00
</div>
<div class="r">
2023-12-08 18:51:02 +08:00
<topRight></topRight>
2023-11-24 19:32:45 +08:00
</div>
</div>
<div class="bottom box">
<div class="l">
2023-12-08 18:51:02 +08:00
<bottomleft></bottomleft>
2023-11-24 19:32:45 +08:00
</div>
<div class="c">
<img class="img-cls" src="/static/town/CJYH.png" alt="">
<div id="transactionUsers" class="transactionUsers"></div>
</div>
<div class="r">
2023-12-07 19:05:27 +08:00
<bottomRight></bottomRight>
2023-11-24 19:32:45 +08:00
</div>
</div>
</template>
<script setup>
import { onMounted } from 'vue';
import * as echarts from 'echarts';
import option from "./option"
2023-12-07 19:05:27 +08:00
import bottomRight from "@/components/townDetail/bottomRight.vue"
import bottomleft from "@/components/townDetail/bottomleft.vue"
import { useRoute } from 'vue-router';
import topCenter from "@/components/townDetail/topCenter.vue"
2023-12-08 18:51:02 +08:00
import topLeft from "@/components/townDetail/topLeft.vue"
import topRight from "@/components/townDetail/topRight.vue"
2023-12-07 19:05:27 +08:00
const route = useRoute()
2023-11-24 19:32:45 +08:00
// 图表
const initCharts = (tag, option) => {
var chartDom = document.getElementById(tag);
var myChart = echarts.init(chartDom);
myChart.setOption(option);
}
onMounted(() => {
2023-12-08 18:51:02 +08:00
2023-11-27 18:34:57 +08:00
document.getElementById("transactionUsers").removeAttribute('_echarts_instance_');
2023-11-24 19:32:45 +08:00
initCharts('transactionUsers', option.transactionUsersTown)
2023-12-08 18:51:02 +08:00
2023-11-24 19:32:45 +08:00
})
</script>
<style lang="scss" scoped>
.box {
width: 100vw;
height: 47vh;
box-sizing: border-box;
}
.top {
display: flex;
padding-top: 1vh;
2023-11-28 15:26:40 +08:00
justify-content: space-between;
2023-11-24 19:32:45 +08:00
// color: transparent;
.l {
2023-11-28 15:26:40 +08:00
width: 25vw;
2023-11-24 19:32:45 +08:00
height: 46vh;
overflow: hidden;
box-sizing: border-box;
position: relative;
2023-12-08 18:51:02 +08:00
padding-top: 6vh;
2023-11-24 19:32:45 +08:00
2023-12-07 19:05:27 +08:00
2023-11-24 19:32:45 +08:00
}
.c {
2023-11-28 15:26:40 +08:00
box-sizing: border-box;
width: 48vw;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
2023-11-24 19:32:45 +08:00
.product-list {
2023-11-28 15:26:40 +08:00
height: 70%;
2023-11-24 19:32:45 +08:00
display: flex;
justify-content: space-between;
position: relative;
.product {
height: 100%;
width: 32%;
2023-11-28 15:26:40 +08:00
position: relative;
.bg {
display: flex;
justify-content: space-around;
position: absolute;
height: 100%;
width: 100%;
}
.product-content {
color: white;
text-align: center;
font-size: 12PX;
}
2023-11-24 19:32:45 +08:00
}
.product-icon {
width: 2vw;
height: 2vw;
position: absolute;
animation: jump 1s infinite;
top: 2vh;
}
}
.Views {
2023-11-28 15:26:40 +08:00
margin-top: 2%;
2023-11-24 19:32:45 +08:00
height: 25%;
width: 100%;
box-sizing: border-box;
2023-11-28 15:26:40 +08:00
position: relative;
2023-11-24 19:32:45 +08:00
color: white;
font-size: 12px;
.view-content {
display: flex;
2023-11-28 15:26:40 +08:00
height: 100%;
width: 100%;
2023-11-24 19:32:45 +08:00
align-items: center;
justify-content: space-around;
}
}
}
2023-11-28 15:26:40 +08:00
2023-11-24 19:32:45 +08:00
.r {
2023-11-28 15:26:40 +08:00
width: 25vw;
2023-11-24 19:32:45 +08:00
height: 46vh;
position: relative;
2023-11-28 15:26:40 +08:00
// background-color: RED;
2023-11-24 19:32:45 +08:00
2023-11-27 18:34:57 +08:00
2023-11-24 19:32:45 +08:00
}
}
.bottom {
// background-color: green;
display: flex;
padding-top: 1vh;
2023-12-07 19:05:27 +08:00
justify-content: space-between;
2023-11-24 19:32:45 +08:00
.l {
2023-12-07 19:05:27 +08:00
// flex: 1;
width: 25VW;
2023-11-24 19:32:45 +08:00
height: 46vh;
position: relative;
.user {
margin-top: 4.5vh;
position: absolute;
width: 98%;
height: 35vh;
box-sizing: border-box;
overflow: hidden;
}
}
.c {
2023-12-07 19:05:27 +08:00
width: 48VW;
2023-11-24 19:32:45 +08:00
height: 46vh;
position: relative;
.transactionUsers {
position: absolute;
width: 100%;
height: 40vh;
top: 5vh;
}
}
.r {
2023-12-07 19:05:27 +08:00
width: 25VW;
2023-11-24 19:32:45 +08:00
height: 46vh;
position: relative;
}
}
.img-cls {
width: 98%;
height: 45vh;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.progress-bar {
transform: translateY(12px);
width: 100%;
height: 10px;
background-color: #122E3F;
// border-radius: 10px;
overflow: hidden;
}
.progress {
width: 70%;
height: 100%;
background: linear-gradient(to right, #455CCC, #51C2E0);
transition: width 0.5s ease-in-out;
}
</style>