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>
|