|
@@ -15,34 +15,60 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div class="left">
|
|
<div class="left">
|
|
|
<div class="leftOneBox">
|
|
<div class="leftOneBox">
|
|
|
- <div class="leftOBTitle">标题一</div>
|
|
|
|
|
|
|
+ <div class="leftOBTitle">评价分析</div>
|
|
|
|
|
+ <div class="leftOBContent">
|
|
|
|
|
+ <PieEcharts></PieEcharts>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="leftOneBox">
|
|
|
|
|
+ <div class="leftOBTitle">生产总值</div>
|
|
|
<div class="leftOBContent">
|
|
<div class="leftOBContent">
|
|
|
<baseEcharts></baseEcharts>
|
|
<baseEcharts></baseEcharts>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="leftOneBox">
|
|
<div class="leftOneBox">
|
|
|
- <div class="leftOBTitle">标题一</div>
|
|
|
|
|
|
|
+ <div class="leftOBTitle">税收TOP10</div>
|
|
|
<div class="leftOBContent">
|
|
<div class="leftOBContent">
|
|
|
<baseEcharts></baseEcharts>
|
|
<baseEcharts></baseEcharts>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- <div>2</div> -->
|
|
<!-- <div>2</div> -->
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="boxBottom">
|
|
|
|
|
+ <div class="boxBttOne">
|
|
|
|
|
+ <div class="leftOBTitle">税收TOP10</div>
|
|
|
|
|
+ <div class="leftOBContent">
|
|
|
|
|
+ <baseEcharts></baseEcharts>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="boxBttTwo">
|
|
|
|
|
+ <div class="leftOBTitle">税收TOP10</div>
|
|
|
|
|
+ <div class="leftOBContent">
|
|
|
|
|
+ <baseEcharts></baseEcharts>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
<div class="right">
|
|
<div class="right">
|
|
|
<div class="leftOneBox">
|
|
<div class="leftOneBox">
|
|
|
- <div class="leftOBTitle">标题一</div>
|
|
|
|
|
|
|
+ <div class="leftOBTitle">园区概况</div>
|
|
|
<div class="leftOBContent">
|
|
<div class="leftOBContent">
|
|
|
<baseEcharts></baseEcharts>
|
|
<baseEcharts></baseEcharts>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="leftOneBox">
|
|
<div class="leftOneBox">
|
|
|
- <div class="leftOBTitle">标题一</div>
|
|
|
|
|
|
|
+ <div class="leftOBTitle">行业合规</div>
|
|
|
|
|
+ <div class="leftOBContent">
|
|
|
|
|
+ <baseEcharts></baseEcharts>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="leftOneBox">
|
|
|
|
|
+ <div class="leftOBTitle">风险预警</div>
|
|
|
<div class="leftOBContent">
|
|
<div class="leftOBContent">
|
|
|
<baseEcharts></baseEcharts>
|
|
<baseEcharts></baseEcharts>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <!-- <div>1</div> -->
|
|
|
|
|
- <!-- <div>2</div> -->
|
|
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -51,24 +77,34 @@
|
|
|
<script setup>
|
|
<script setup>
|
|
|
import { ref, onMounted } from 'vue';
|
|
import { ref, onMounted } from 'vue';
|
|
|
import baseEcharts from '@/components/baseEcharts/index.vue'
|
|
import baseEcharts from '@/components/baseEcharts/index.vue'
|
|
|
|
|
+import PieEcharts from '@/components/baseEcharts/pieChart.vue'
|
|
|
|
|
|
|
|
const mapContainer = ref(null);
|
|
const mapContainer = ref(null);
|
|
|
let map = null;
|
|
let map = null;
|
|
|
|
|
|
|
|
const gradationMun = [{
|
|
const gradationMun = [{
|
|
|
- name: "3A企业",
|
|
|
|
|
|
|
+ name: "3A级企业",
|
|
|
state: 3
|
|
state: 3
|
|
|
}, {
|
|
}, {
|
|
|
- name: "2A企业",
|
|
|
|
|
|
|
+ name: "2A级企业",
|
|
|
state: 2
|
|
state: 2
|
|
|
}, {
|
|
}, {
|
|
|
- name: "1A企业",
|
|
|
|
|
|
|
+ name: "1A级企业",
|
|
|
state: 1
|
|
state: 1
|
|
|
|
|
+}, {
|
|
|
|
|
+ name: "B级企业",
|
|
|
|
|
+ state: 4
|
|
|
|
|
+}, {
|
|
|
|
|
+ name: "C级企业",
|
|
|
|
|
+ state: 5
|
|
|
|
|
+}, {
|
|
|
|
|
+ name: "D级企业",
|
|
|
|
|
+ state: 6
|
|
|
}, {
|
|
}, {
|
|
|
name: "取消选择",
|
|
name: "取消选择",
|
|
|
state: 0
|
|
state: 0
|
|
|
}]
|
|
}]
|
|
|
-const activeTab = ref(3); // 默认激活第一个tab
|
|
|
|
|
|
|
+const activeTab = ref(6); // 默认激活第一个tab
|
|
|
|
|
|
|
|
const setActiveTab = (index, value) => {
|
|
const setActiveTab = (index, value) => {
|
|
|
activeTab.value = index;
|
|
activeTab.value = index;
|
|
@@ -76,14 +112,34 @@ const setActiveTab = (index, value) => {
|
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
|
// 初始化地图
|
|
// 初始化地图
|
|
|
map = new BMapGL.Map(mapContainer.value);
|
|
map = new BMapGL.Map(mapContainer.value);
|
|
|
- var point = new BMapGL.Point(109.94023319075, 27.395641605743);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ var point = new BMapGL.Point(109.94211746215822, 27.377939585109653);
|
|
|
map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别
|
|
map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别
|
|
|
map.enableScrollWheelZoom(true);
|
|
map.enableScrollWheelZoom(true);
|
|
|
|
|
+ map.setMinZoom(15);
|
|
|
|
|
+ map.setMaxZoom(17);
|
|
|
map.setMapStyleV2({
|
|
map.setMapStyleV2({
|
|
|
styleId: '62ce43ad2a1362c23e612b783d7406e7'
|
|
styleId: '62ce43ad2a1362c23e612b783d7406e7'
|
|
|
});
|
|
});
|
|
|
map.setTilt(50);
|
|
map.setTilt(50);
|
|
|
|
|
+ map.disableInertialDragging();
|
|
|
|
|
+
|
|
|
|
|
+ // 定义允许的拖拽范围
|
|
|
|
|
+ const allowedBounds = new BMapGL.Bounds(
|
|
|
|
|
+ new BMapGL.Point(109.90207672119142, 27.365250190931242), // 西南角
|
|
|
|
|
+ new BMapGL.Point(109.97014045715333, 27.422461872492594) // 东北角
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ // 监听拖拽结束事件
|
|
|
|
|
+ map.addEventListener('dragend', function () {
|
|
|
|
|
+ // 获取当前地图的中心点
|
|
|
|
|
+ const center = map.getCenter();
|
|
|
|
|
+ // 检查中心点是否在允许的范围内
|
|
|
|
|
+ if (!allowedBounds.containsPoint(center)) {
|
|
|
|
|
+ // 如果不在范围内,将地图中心调整回允许范围的中心点
|
|
|
|
|
+ const adjustCenter = allowedBounds.getCenter();
|
|
|
|
|
+ map.panTo(adjustCenter);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
// map.addControl(new BMapGL.NavigationControl());
|
|
// map.addControl(new BMapGL.NavigationControl());
|
|
|
|
|
|
|
|
// var convertor = new BMapGL.Convertor();
|
|
// var convertor = new BMapGL.Convertor();
|
|
@@ -117,7 +173,6 @@ onMounted(async () => {
|
|
|
topFillOpacity: 0.5,
|
|
topFillOpacity: 0.5,
|
|
|
sideFillColor: '#5679ea',
|
|
sideFillColor: '#5679ea',
|
|
|
sideFillOpacity: 0.5
|
|
sideFillOpacity: 0.5
|
|
|
-
|
|
|
|
|
});
|
|
});
|
|
|
map.addOverlay(prism);
|
|
map.addOverlay(prism);
|
|
|
})
|
|
})
|
|
@@ -164,9 +219,9 @@ onBeforeUnmount(() => {
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
|
|
|
|
.tab {
|
|
.tab {
|
|
|
- width: 130px;
|
|
|
|
|
|
|
+ width: 100px;
|
|
|
height: 40px;
|
|
height: 40px;
|
|
|
- margin: 0 30px;
|
|
|
|
|
|
|
+ margin: 0 10px;
|
|
|
text-align: center;
|
|
text-align: center;
|
|
|
line-height: 40px;
|
|
line-height: 40px;
|
|
|
color: white;
|
|
color: white;
|
|
@@ -191,14 +246,64 @@ onBeforeUnmount(() => {
|
|
|
position: relative;
|
|
position: relative;
|
|
|
margin-left: -100%;
|
|
margin-left: -100%;
|
|
|
width: 500px;
|
|
width: 500px;
|
|
|
- background-color: rgba($color: #000000, $alpha: 0.2);
|
|
|
|
|
|
|
+ // background-color: rgba($color: #000000, $alpha: 0.2);
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
top: 60px;
|
|
top: 60px;
|
|
|
z-index: 999;
|
|
z-index: 999;
|
|
|
|
|
|
|
|
.leftOneBox {
|
|
.leftOneBox {
|
|
|
- height: 45%;
|
|
|
|
|
- background-color: rgba($color: #000000, $alpha: .5);
|
|
|
|
|
|
|
+ height: 30%;
|
|
|
|
|
+ background-color: rgba($color: #000000, $alpha: .3);
|
|
|
|
|
+ margin-bottom: 14px;
|
|
|
|
|
+
|
|
|
|
|
+ .leftOBTitle {
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ color: white;
|
|
|
|
|
+ line-height: 40px;
|
|
|
|
|
+ padding-left: 60px;
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+ background-image: url("../../assets/visualizationimg/centertitle.png");
|
|
|
|
|
+ background-size: 100% 100%;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .leftOBContent {
|
|
|
|
|
+ height: calc(100% - 40px);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .boxBottom {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ z-index: 999;
|
|
|
|
|
+ height: 270px;
|
|
|
|
|
+ bottom: 0;
|
|
|
|
|
+ width: 900px;
|
|
|
|
|
+ left: 510px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ background-color: rgba($color: #000000, $alpha: .3);
|
|
|
|
|
+
|
|
|
|
|
+ .boxBttOne {
|
|
|
|
|
+ width: 50%;
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+
|
|
|
|
|
+ .leftOBTitle {
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ color: white;
|
|
|
|
|
+ line-height: 40px;
|
|
|
|
|
+ padding-left: 60px;
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+ background-image: url("../../assets/visualizationimg/centertitle.png");
|
|
|
|
|
+ background-size: 100% 100%;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .leftOBContent {
|
|
|
|
|
+ height: calc(100% - 40px);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .boxBttTwo {
|
|
|
|
|
+ width: 50%;
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
|
|
|
.leftOBTitle {
|
|
.leftOBTitle {
|
|
|
height: 40px;
|
|
height: 40px;
|
|
@@ -236,14 +341,15 @@ onBeforeUnmount(() => {
|
|
|
position: relative;
|
|
position: relative;
|
|
|
margin-left: -500px;
|
|
margin-left: -500px;
|
|
|
width: 500px;
|
|
width: 500px;
|
|
|
- background-color: rgba($color: #000000, $alpha: 0.2);
|
|
|
|
|
|
|
+ // background-color: rgba($color: #000000, $alpha: 0.2);
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
top: 60px;
|
|
top: 60px;
|
|
|
z-index: 999;
|
|
z-index: 999;
|
|
|
|
|
|
|
|
.leftOneBox {
|
|
.leftOneBox {
|
|
|
- height: 45%;
|
|
|
|
|
- background-color: rgba($color: #000000, $alpha: .5);
|
|
|
|
|
|
|
+ height: 30%;
|
|
|
|
|
+ background-color: rgba($color: #000000, $alpha: .3);
|
|
|
|
|
+ margin-bottom: 14px;
|
|
|
|
|
|
|
|
.leftOBTitle {
|
|
.leftOBTitle {
|
|
|
height: 40px;
|
|
height: 40px;
|