|
@@ -13,37 +13,51 @@
|
|
|
:options="streetOptions"
|
|
|
:value="streetSelectVal"
|
|
|
/>
|
|
|
- <MenuCard
|
|
|
- class="town-right-problems"
|
|
|
- :menuData="{
|
|
|
- type: 'card',
|
|
|
- title: '历年频发问题Top10',
|
|
|
- titleWidth: 85,
|
|
|
- boxWidth: '400'
|
|
|
- }"
|
|
|
- >
|
|
|
- <template slot="top"><TopCard :dataSize="10" /></template>
|
|
|
- </MenuCard>
|
|
|
- <div class="town-center">
|
|
|
- <div class="town-center-top">
|
|
|
- <!-- <h2>浦东新区</h2> -->
|
|
|
- <div class="droplet-box-title">浦东新区</div>
|
|
|
- <div class="droplet-box">
|
|
|
- <div class="droplet-box-item" v-for="item in townCollection" :key="item.name">
|
|
|
- <div class="problem-num">{{ item.num }} 个</div>
|
|
|
- <div class="problem-img"></div>
|
|
|
- <div class="problem-title">{{ item.name }}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="town-problems">
|
|
|
+ <div class="town-problems-top">
|
|
|
+ <MenuCard
|
|
|
+ :menuData="{
|
|
|
+ type: 'card',
|
|
|
+ title: '资源问题',
|
|
|
+ titleWidth: 35,
|
|
|
+ boxWidth: '780',
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <template slot="top">
|
|
|
+ <div class="town-problems-top-inner">
|
|
|
+ <TagProblemCard class="problem-item" v-for="n in 4" :key="n" />
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </MenuCard>
|
|
|
</div>
|
|
|
- <div class="town-center-bottom">
|
|
|
- <div class="capital-title">资金投入TOP10</div>
|
|
|
+ <div class="town-problems-bottom">
|
|
|
+ <MenuCard
|
|
|
+ :menuData="{
|
|
|
+ type: 'card',
|
|
|
+ title: '资金投入TOP10',
|
|
|
+ titleWidth: 85,
|
|
|
+ boxWidth: '400',
|
|
|
+ }"
|
|
|
+ ><template slot="top"><TopCard :dataSize="10" /></template
|
|
|
+ ></MenuCard>
|
|
|
+ <MenuCard
|
|
|
+ :menuData="{
|
|
|
+ type: 'card',
|
|
|
+ title: '历年频发问题TOP10',
|
|
|
+ titleWidth: 85,
|
|
|
+ boxWidth: '400',
|
|
|
+ }"
|
|
|
+ ><template slot="top"><TopCard :dataSize="10" /></template
|
|
|
+ ></MenuCard>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<!-- 综合分析 -->
|
|
|
- <ComprehensiveAnalysis id="ComprehensiveContainer" v-if="$ifMenu('3', '')" />
|
|
|
+ <ComprehensiveAnalysis
|
|
|
+ id="ComprehensiveContainer"
|
|
|
+ v-if="$ifMenu('3', '')"
|
|
|
+ />
|
|
|
|
|
|
<!-- Home页面 -->
|
|
|
<!-- 左侧菜单列 1 -- 首页 -->
|
|
@@ -140,14 +154,21 @@
|
|
|
boxHeight: '180',
|
|
|
legendShowState: true,
|
|
|
menuIndex: '1',
|
|
|
- position: 'bottom'
|
|
|
+ position: 'bottom',
|
|
|
}"
|
|
|
><div class="legend-container">
|
|
|
<div class="left-container">
|
|
|
- <div class="legend-icon" v-for="(item, index) in legendData" :key="index" :style="{ background: item }"></div>
|
|
|
+ <div
|
|
|
+ class="legend-icon"
|
|
|
+ v-for="(item, index) in legendData"
|
|
|
+ :key="index"
|
|
|
+ :style="{ background: item }"
|
|
|
+ ></div>
|
|
|
</div>
|
|
|
<div class="right-container">
|
|
|
- <div class="lengend-title" v-for="item in buttonData" :key="item">{{ item }} 类</div>
|
|
|
+ <div class="lengend-title" v-for="item in buttonData" :key="item">
|
|
|
+ {{ item }} 类
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</MenuCard>
|
|
@@ -160,7 +181,8 @@
|
|
|
<TagCard :data="tagCardData3"></TagCard>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <template slot="bottom"> <ChartCard :title="'近三年林地面积变化'" /> </template
|
|
|
+ <template slot="bottom">
|
|
|
+ <ChartCard :title="'近三年林地面积变化'" /> </template
|
|
|
></MenuCard>
|
|
|
<MenuCard :menuData="menus.right[1]">
|
|
|
<template slot="top">
|
|
@@ -170,7 +192,8 @@
|
|
|
<TagCard :data="tagCardData"></TagCard>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <template slot="bottom"> <ChartCard :title="'近三年审计项目变化'" /> </template
|
|
|
+ <template slot="bottom">
|
|
|
+ <ChartCard :title="'近三年审计项目变化'" /> </template
|
|
|
></MenuCard>
|
|
|
<MenuCard :menuData="menus.right[2]">
|
|
|
<template slot="top">
|
|
@@ -186,7 +209,8 @@
|
|
|
<TagCard :data="tagCardData3"></TagCard>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <template slot="bottom"> <ChartCard :title="'近三年土地类问题变化'" /> </template
|
|
|
+ <template slot="bottom">
|
|
|
+ <ChartCard :title="'近三年土地类问题变化'" /> </template
|
|
|
></MenuCard>
|
|
|
<MenuCard :menuData="menus.right[4]">
|
|
|
<template slot="top">
|
|
@@ -202,7 +226,13 @@ import Header from "@/components/layout/Header.vue";
|
|
|
import MenuCard from "@/components/layout/MenuCard";
|
|
|
import NewSelect from "@/components/common/NewSelect.vue";
|
|
|
import BarChart from "@/components/chart/BarChart.vue";
|
|
|
-import { street, streetLocation, soilData, waterData, forestryData } from "@/config/common";
|
|
|
+import {
|
|
|
+ street,
|
|
|
+ streetLocation,
|
|
|
+ soilData,
|
|
|
+ waterData,
|
|
|
+ forestryData,
|
|
|
+} from "@/config/common";
|
|
|
import publicFun from "@/utils/publicFunction.js";
|
|
|
import TagCard from "@/components/common/TagCard";
|
|
|
import ChartCard from "@/components/common/ChartCard.vue";
|
|
@@ -211,7 +241,7 @@ import TopCard from "@/components/common/TopCard";
|
|
|
import BottomMenus from "@/components/common/BottomMenus";
|
|
|
// 综合分析
|
|
|
import ComprehensiveAnalysis from "@/views/ComprehensiveAnalysis.vue";
|
|
|
-// 镇域专题组件
|
|
|
+import TagProblemCard from "@/components/common/TagProblemCard.vue";
|
|
|
export default {
|
|
|
name: "HomeView",
|
|
|
components: {
|
|
@@ -225,7 +255,8 @@ export default {
|
|
|
TagTableCard,
|
|
|
TopCard,
|
|
|
BottomMenus,
|
|
|
- ComprehensiveAnalysis
|
|
|
+ ComprehensiveAnalysis,
|
|
|
+ TagProblemCard,
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -233,19 +264,19 @@ export default {
|
|
|
type: "tb",
|
|
|
title: "土地资源",
|
|
|
value: 100,
|
|
|
- unit: "公顷"
|
|
|
+ unit: "公顷",
|
|
|
},
|
|
|
tagCardData2: {
|
|
|
type: "tb",
|
|
|
title: "土地资源面积",
|
|
|
value: 172,
|
|
|
- unit: "公顷"
|
|
|
+ unit: "公顷",
|
|
|
},
|
|
|
tagCardData3: {
|
|
|
type: "lr",
|
|
|
title: "林地面积",
|
|
|
value: 654,
|
|
|
- unit: "公顷"
|
|
|
+ unit: "公顷",
|
|
|
},
|
|
|
testTitle: "土地资源",
|
|
|
activeIndex: 1,
|
|
@@ -263,7 +294,7 @@ export default {
|
|
|
imageUrl: "/static/images/2.png",
|
|
|
menuIndex: "2",
|
|
|
subMenuIndex: "1",
|
|
|
- position: "left"
|
|
|
+ position: "left",
|
|
|
},
|
|
|
{
|
|
|
type: "imageMenu",
|
|
@@ -274,7 +305,7 @@ export default {
|
|
|
imageUrl: "/static/images/3.png",
|
|
|
menuIndex: "2",
|
|
|
subMenuIndex: "1",
|
|
|
- position: "left"
|
|
|
+ position: "left",
|
|
|
},
|
|
|
{
|
|
|
type: "imageMenu",
|
|
@@ -285,7 +316,7 @@ export default {
|
|
|
imageUrl: "/static/images/1.png",
|
|
|
menuIndex: "2",
|
|
|
subMenuIndex: "1",
|
|
|
- position: "left"
|
|
|
+ position: "left",
|
|
|
},
|
|
|
{
|
|
|
type: "imageMenu",
|
|
@@ -296,7 +327,7 @@ export default {
|
|
|
imageUrl: "/static/images/4.png",
|
|
|
menuIndex: "2",
|
|
|
subMenuIndex: "1",
|
|
|
- position: "left"
|
|
|
+ position: "left",
|
|
|
},
|
|
|
{
|
|
|
type: "imageMenu",
|
|
@@ -307,7 +338,7 @@ export default {
|
|
|
imageUrl: "/static/images/2.png",
|
|
|
menuIndex: "2",
|
|
|
subMenuIndex: "1",
|
|
|
- position: "left"
|
|
|
+ position: "left",
|
|
|
},
|
|
|
{
|
|
|
type: "imageMenu",
|
|
@@ -318,7 +349,7 @@ export default {
|
|
|
imageUrl: "/static/images/3.png",
|
|
|
menuIndex: "2",
|
|
|
subMenuIndex: "1",
|
|
|
- position: "left"
|
|
|
+ position: "left",
|
|
|
},
|
|
|
{
|
|
|
type: "imageMenu",
|
|
@@ -329,7 +360,7 @@ export default {
|
|
|
imageUrl: "/static/images/1.png",
|
|
|
menuIndex: "2",
|
|
|
subMenuIndex: "1",
|
|
|
- position: "left"
|
|
|
+ position: "left",
|
|
|
},
|
|
|
{
|
|
|
type: "imageMenu",
|
|
@@ -340,8 +371,8 @@ export default {
|
|
|
imageUrl: "/static/images/4.png",
|
|
|
menuIndex: "2",
|
|
|
subMenuIndex: "1",
|
|
|
- position: "left"
|
|
|
- }
|
|
|
+ position: "left",
|
|
|
+ },
|
|
|
],
|
|
|
main: [
|
|
|
{
|
|
@@ -351,16 +382,48 @@ export default {
|
|
|
boxHeight: "370",
|
|
|
boxBackground: "rgba(0,39,77,0.6)",
|
|
|
menuIndex: "1",
|
|
|
- position: "top"
|
|
|
- }
|
|
|
+ position: "top",
|
|
|
+ },
|
|
|
],
|
|
|
right: [
|
|
|
- { type: "card", title: "资金投入情况", titleWidth: 64, menuIndex: "1", position: "right" },
|
|
|
- { type: "card", title: "资源环境项目", titleWidth: 64, menuIndex: "1", position: "right" },
|
|
|
- { type: "card", title: "历年频发问题TOP5", titleWidth: 81, menuIndex: "1", position: "right" },
|
|
|
- { type: "card", title: "土地类问题", titleWidth: 60, menuIndex: "2", subMenuIndex: "1", position: "right" },
|
|
|
- { type: "card", title: "土地类问题TOP5", titleWidth: 81, menuIndex: "2", subMenuIndex: "1", position: "right" }
|
|
|
- ]
|
|
|
+ {
|
|
|
+ type: "card",
|
|
|
+ title: "资金投入情况",
|
|
|
+ titleWidth: 64,
|
|
|
+ menuIndex: "1",
|
|
|
+ position: "right",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "card",
|
|
|
+ title: "资源环境项目",
|
|
|
+ titleWidth: 64,
|
|
|
+ menuIndex: "1",
|
|
|
+ position: "right",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "card",
|
|
|
+ title: "历年频发问题TOP5",
|
|
|
+ titleWidth: 81,
|
|
|
+ menuIndex: "1",
|
|
|
+ position: "right",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "card",
|
|
|
+ title: "土地类问题",
|
|
|
+ titleWidth: 60,
|
|
|
+ menuIndex: "2",
|
|
|
+ subMenuIndex: "1",
|
|
|
+ position: "right",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "card",
|
|
|
+ title: "土地类问题TOP5",
|
|
|
+ titleWidth: 81,
|
|
|
+ menuIndex: "2",
|
|
|
+ subMenuIndex: "1",
|
|
|
+ position: "right",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
// 首页饼图相关
|
|
|
buttonData: ["A", "B", "C"],
|
|
@@ -370,19 +433,19 @@ export default {
|
|
|
soil: [],
|
|
|
water: [],
|
|
|
forestry: [],
|
|
|
- categoryData: []
|
|
|
+ categoryData: [],
|
|
|
},
|
|
|
BData: {
|
|
|
soil: [],
|
|
|
water: [],
|
|
|
forestry: [],
|
|
|
- categoryData: []
|
|
|
+ categoryData: [],
|
|
|
},
|
|
|
CData: {
|
|
|
soil: [],
|
|
|
water: [],
|
|
|
forestry: [],
|
|
|
- categoryData: []
|
|
|
+ categoryData: [],
|
|
|
},
|
|
|
streetSelectVal: "全部街道",
|
|
|
streetOptions: [],
|
|
@@ -391,12 +454,12 @@ export default {
|
|
|
{ name: "土地资源问题", num: 67 },
|
|
|
{ name: "水资源问题", num: 37 },
|
|
|
{ name: "林地资源问题", num: 60 },
|
|
|
- { name: "生态资源问题", num: 55 }
|
|
|
+ { name: "生态资源问题", num: 55 },
|
|
|
],
|
|
|
// 综合分析
|
|
|
analysis: {
|
|
|
- searchInput: ""
|
|
|
- }
|
|
|
+ searchInput: "",
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
@@ -435,7 +498,7 @@ export default {
|
|
|
// 镇域专题下拉框
|
|
|
specialTownSelect(val) {
|
|
|
this.$refs.mapLoaderRef.setView(streetLocation[val], 11);
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
created() {
|
|
|
// 目录
|
|
@@ -450,10 +513,19 @@ export default {
|
|
|
let CDataArr = [];
|
|
|
// 街道排序
|
|
|
for (let i in category) {
|
|
|
- let ADataSum = soilData[category[i]].A + waterData[category[i]].A + forestryData[category[i]].A;
|
|
|
- let BDataSum = soilData[category[i]].B + waterData[category[i]].B + forestryData[category[i]].B;
|
|
|
+ let ADataSum =
|
|
|
+ soilData[category[i]].A +
|
|
|
+ waterData[category[i]].A +
|
|
|
+ forestryData[category[i]].A;
|
|
|
+ let BDataSum =
|
|
|
+ soilData[category[i]].B +
|
|
|
+ waterData[category[i]].B +
|
|
|
+ forestryData[category[i]].B;
|
|
|
|
|
|
- let CDataSum = soilData[category[i]].C + waterData[category[i]].C + forestryData[category[i]].C;
|
|
|
+ let CDataSum =
|
|
|
+ soilData[category[i]].C +
|
|
|
+ waterData[category[i]].C +
|
|
|
+ forestryData[category[i]].C;
|
|
|
ADataArr.push({ name: category[i], sum: ADataSum });
|
|
|
BDataArr.push({ name: category[i], sum: BDataSum });
|
|
|
CDataArr.push({ name: category[i], sum: CDataSum });
|
|
@@ -464,21 +536,21 @@ export default {
|
|
|
CDataArr.sort(publicFun.compare("sum"));
|
|
|
|
|
|
// 按A,B,C分出各自资源的排序数组
|
|
|
- ADataArr.forEach(item => {
|
|
|
+ ADataArr.forEach((item) => {
|
|
|
this.AData.soil.push(soilData[item.name].A);
|
|
|
this.AData.water.push(waterData[item.name].A);
|
|
|
this.AData.forestry.push(forestryData[item.name].A);
|
|
|
this.AData.categoryData.push(item.name);
|
|
|
});
|
|
|
|
|
|
- BDataArr.forEach(item => {
|
|
|
+ BDataArr.forEach((item) => {
|
|
|
this.BData.soil.push(soilData[item.name].B);
|
|
|
this.BData.water.push(waterData[item.name].B);
|
|
|
this.BData.forestry.push(forestryData[item.name].B);
|
|
|
this.BData.categoryData.push(item.name);
|
|
|
});
|
|
|
|
|
|
- CDataArr.forEach(item => {
|
|
|
+ CDataArr.forEach((item) => {
|
|
|
this.CData.soil.push(soilData[item.name].C);
|
|
|
this.CData.water.push(waterData[item.name].C);
|
|
|
this.CData.forestry.push(forestryData[item.name].C);
|
|
@@ -494,10 +566,10 @@ export default {
|
|
|
for (let key in street) {
|
|
|
this.streetOptions.push({
|
|
|
value: street[key],
|
|
|
- label: street[key]
|
|
|
+ label: street[key],
|
|
|
});
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|
|
@@ -542,74 +614,39 @@ export default {
|
|
|
top: 25px;
|
|
|
pointer-events: auto;
|
|
|
}
|
|
|
- .town-center {
|
|
|
+ .town-problems {
|
|
|
position: absolute;
|
|
|
- right: 420px;
|
|
|
- top: 25px;
|
|
|
- width: 450px;
|
|
|
- height: 700px;
|
|
|
+ right: 10px;
|
|
|
+ width: 800px;
|
|
|
+ height: 100%;
|
|
|
color: #fff;
|
|
|
pointer-events: auto;
|
|
|
&-top {
|
|
|
width: 100%;
|
|
|
- height: 350px;
|
|
|
+ height: 220px;
|
|
|
|
|
|
- .droplet-box-title {
|
|
|
- width: 100%;
|
|
|
- height: 15%;
|
|
|
- font-size: 30px;
|
|
|
- font-weight: bold;
|
|
|
- line-height: 50px;
|
|
|
- }
|
|
|
- .droplet-box {
|
|
|
- display: flex;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ &-inner {
|
|
|
width: 100%;
|
|
|
- height: 85%;
|
|
|
+ height: 130px;
|
|
|
display: flex;
|
|
|
- flex-wrap: wrap;
|
|
|
- .droplet-box-item {
|
|
|
- width: 49.5%;
|
|
|
- height: 49.5%;
|
|
|
- .problem-num {
|
|
|
- width: 35%;
|
|
|
- height: 25%;
|
|
|
- margin: 0 auto;
|
|
|
- font-size: 22px;
|
|
|
- font-weight: bold;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- color: @commonBorderColor;
|
|
|
- }
|
|
|
- .problem-img {
|
|
|
- width: 80%;
|
|
|
- height: 45%;
|
|
|
- background: url("../assets/home/droplet.png") no-repeat center;
|
|
|
- margin: 0 auto;
|
|
|
- }
|
|
|
- .problem-title {
|
|
|
- width: 80%;
|
|
|
- height: 25%;
|
|
|
- font-size: 24px;
|
|
|
- font-weight: bold;
|
|
|
- margin: 0 auto;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- }
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-around;
|
|
|
+ .problem-item {
|
|
|
+ width: 170px;
|
|
|
+ height: 100px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
&-bottom {
|
|
|
+ // background: plum;
|
|
|
width: 100%;
|
|
|
- height: 320px;
|
|
|
- .capital-title {
|
|
|
- width: 100%;
|
|
|
- height: 15%;
|
|
|
- font-size: 30px;
|
|
|
- font-weight: bold;
|
|
|
- line-height: 50px;
|
|
|
- }
|
|
|
+ height: calc(95% - 220px);
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -820,14 +857,22 @@ export default {
|
|
|
transform: translate(-50%, -50%) rotate(45deg);
|
|
|
width: 110px;
|
|
|
height: 100px;
|
|
|
- background: linear-gradient(to left, @commonBorderColor, @commonBorderColor) left top no-repeat,
|
|
|
- linear-gradient(to bottom, @commonBorderColor, @commonBorderColor) left top no-repeat,
|
|
|
- linear-gradient(to left, @commonBorderColor, @commonBorderColor) right top no-repeat,
|
|
|
- linear-gradient(to bottom, @commonBorderColor, @commonBorderColor) right top no-repeat,
|
|
|
- linear-gradient(to left, @commonBorderColor, @commonBorderColor) left bottom no-repeat,
|
|
|
- linear-gradient(to bottom, @commonBorderColor, @commonBorderColor) left bottom no-repeat,
|
|
|
- linear-gradient(to left, @commonBorderColor, @commonBorderColor) right bottom no-repeat,
|
|
|
- linear-gradient(to left, @commonBorderColor, @commonBorderColor) right bottom no-repeat;
|
|
|
+ background: linear-gradient(to left, @commonBorderColor, @commonBorderColor)
|
|
|
+ left top no-repeat,
|
|
|
+ linear-gradient(to bottom, @commonBorderColor, @commonBorderColor) left
|
|
|
+ top no-repeat,
|
|
|
+ linear-gradient(to left, @commonBorderColor, @commonBorderColor) right top
|
|
|
+ no-repeat,
|
|
|
+ linear-gradient(to bottom, @commonBorderColor, @commonBorderColor) right
|
|
|
+ top no-repeat,
|
|
|
+ linear-gradient(to left, @commonBorderColor, @commonBorderColor) left
|
|
|
+ bottom no-repeat,
|
|
|
+ linear-gradient(to bottom, @commonBorderColor, @commonBorderColor) left
|
|
|
+ bottom no-repeat,
|
|
|
+ linear-gradient(to left, @commonBorderColor, @commonBorderColor) right
|
|
|
+ bottom no-repeat,
|
|
|
+ linear-gradient(to left, @commonBorderColor, @commonBorderColor) right
|
|
|
+ bottom no-repeat;
|
|
|
background-size: 6px 6px, 6px 6px, 6px 6px, 6px 6px;
|
|
|
}
|
|
|
}
|