|
@@ -31,7 +31,7 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="left-right">
|
|
|
- <div class="" id="chart1"></div>
|
|
|
+ <div class="" id="chart1" ref="chart1"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 中间栏图表 -->
|
|
@@ -49,7 +49,7 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="center-right">
|
|
|
- <div class="" id="chart2"></div>
|
|
|
+ <div class="" id="chart2" ref="chart2"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 右侧栏图表 -->
|
|
@@ -68,7 +68,7 @@
|
|
|
<div class="arrange-item"></div>
|
|
|
</div>
|
|
|
<div class="right-right">
|
|
|
- <div id="chart3"></div>
|
|
|
+ <div id="chart3" ref="chart3"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -97,7 +97,7 @@
|
|
|
<div class="content-item street">
|
|
|
<span ref="str">{{ `${item.street}` }}</span>
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
<div class="content-item">{{ item.totalResettlement }}</div>
|
|
|
<div class="content-item">{{ item.resettlement }}</div>
|
|
|
<div class="content-item blue">
|
|
@@ -130,11 +130,11 @@
|
|
|
<!-- <div class="content-item ">
|
|
|
<span ref="str">{{ `${item.street}` }}</span>
|
|
|
</div> -->
|
|
|
-
|
|
|
+
|
|
|
<div class="content-item ">
|
|
|
<span ref="str">{{ item.street }}</span>
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
<div class="content-item">{{ item.totalTransition }}</div>
|
|
|
<div class="content-item">{{ item.inTransition }}</div>
|
|
|
|
|
@@ -153,56 +153,56 @@
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
-
|
|
|
+
|
|
|
// 安置列表
|
|
|
arrangeList: [{
|
|
|
id: 0,
|
|
|
img: require("@/assets/ResettlementManagement/survey_one.png"),
|
|
|
num: 0,
|
|
|
name: "总户数",
|
|
|
- AttributeName:'totalResettlementSum'
|
|
|
+ AttributeName: 'totalResettlementSum'
|
|
|
},
|
|
|
{
|
|
|
id: 1,
|
|
|
img: require("../../../../assets/ResettlementManagement/survey_two.png"),
|
|
|
num: 0,
|
|
|
name: "已安置",
|
|
|
- AttributeName:'resettlementSum'
|
|
|
+ AttributeName: 'resettlementSum'
|
|
|
},
|
|
|
{
|
|
|
id: 2,
|
|
|
img: require("../../../../assets/ResettlementManagement/survey_three.png"),
|
|
|
num: 0,
|
|
|
name: "未安置",
|
|
|
- AttributeName:'notResettlementSum'
|
|
|
+ AttributeName: 'notResettlementSum'
|
|
|
},
|
|
|
{
|
|
|
id: 3,
|
|
|
img: require("../../../../assets/ResettlementManagement/survey_four.png"),
|
|
|
num: 0,
|
|
|
name: "部分安置",
|
|
|
- AttributeName:'partResettlementSum'
|
|
|
+ AttributeName: 'partResettlementSum'
|
|
|
},
|
|
|
{
|
|
|
id: 5,
|
|
|
img: require("../../../../assets/ResettlementManagement/survey_four.png"),
|
|
|
num: 0,
|
|
|
name: "安置房套数",
|
|
|
- AttributeName:'resettlementHouseTotalSum'
|
|
|
+ AttributeName: 'resettlementHouseTotalSum'
|
|
|
},
|
|
|
{
|
|
|
id: 6,
|
|
|
img: require("../../../../assets/ResettlementManagement/survey_five.png"),
|
|
|
num: 0,
|
|
|
name: "已安置套数",
|
|
|
- AttributeName:'resettlementHouseSum'
|
|
|
+ AttributeName: 'resettlementHouseSum'
|
|
|
},
|
|
|
{
|
|
|
id: 7,
|
|
|
img: require("../../../../assets/ResettlementManagement/survey_six.png"),
|
|
|
num: 0,
|
|
|
name: "未安置套数",
|
|
|
- AttributeName:'notResettlementHouseSum'
|
|
|
+ AttributeName: 'notResettlementHouseSum'
|
|
|
}
|
|
|
],
|
|
|
// 图表1
|
|
@@ -470,25 +470,25 @@
|
|
|
],
|
|
|
|
|
|
Project: {}, //项目信息
|
|
|
-
|
|
|
- arrangeForAssemble:{},//安置信息总
|
|
|
- arrangeForStreet:[],//安置信息街道
|
|
|
-
|
|
|
+
|
|
|
+ arrangeForAssemble: {}, //安置信息总
|
|
|
+ arrangeForStreet: [], //安置信息街道
|
|
|
+
|
|
|
transitionAssemble: {}, //过渡信息总
|
|
|
transitionStreet: [] //过渡信息街道
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
- var myChart1 = this.$echarts.init(document.getElementById("chart1"));
|
|
|
- myChart1.setOption(this.options1);
|
|
|
+ // var myChart1 = this.$echarts.init(document.getElementById("chart1"));
|
|
|
+ // myChart1.setOption(this.options1);
|
|
|
|
|
|
- var myChart2 = this.$echarts.init(document.getElementById("chart2"));
|
|
|
- myChart2.setOption(this.options2);
|
|
|
+ // var myChart2 = this.$echarts.init(document.getElementById("chart2"));
|
|
|
+ // myChart2.setOption(this.options2);
|
|
|
|
|
|
- var myChart3 = this.$echarts.init(document.getElementById("chart3"));
|
|
|
- myChart3.setOption(this.options3);
|
|
|
+ // var myChart3 = this.$echarts.init(document.getElementById("chart3"));
|
|
|
+ // myChart3.setOption(this.options3);
|
|
|
},
|
|
|
computed: {},
|
|
|
methods: {
|
|
@@ -528,6 +528,8 @@
|
|
|
thit.arrangeForStreet.push(data[key])
|
|
|
}
|
|
|
});
|
|
|
+ this.getchart1()
|
|
|
+ this.getchart2()
|
|
|
} else {
|
|
|
this.$message.error('获取失败!');
|
|
|
}
|
|
@@ -548,11 +550,285 @@
|
|
|
thit.transitionStreet.push(data[key])
|
|
|
}
|
|
|
});
|
|
|
+ this.getchart3()
|
|
|
} else {
|
|
|
this.$message.error('获取失败!');
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ // 安置图表1
|
|
|
+ getchart1() {
|
|
|
+ var colorLine = ["#f175a2", "#f5bc00", "#ac45f7"]
|
|
|
+ var data = [{
|
|
|
+ name: '已安置',
|
|
|
+ value: this.arrangeForAssemble.resettlementSum
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '未安置',
|
|
|
+ value: this.arrangeForAssemble.notResettlementSum
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '部分安置',
|
|
|
+ value: this.arrangeForAssemble.partResettlementSum
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ //每个图表文字提示配置单独颜色
|
|
|
+ function getRich() {
|
|
|
+ let result = {}
|
|
|
+ colorLine.forEach((v, i) => {
|
|
|
+ result[`a${i}`] = {
|
|
|
+ color: colorLine[i],
|
|
|
+ lineHeight: 22,
|
|
|
+ align: 'center',
|
|
|
+ fontSize: 14,
|
|
|
+ }
|
|
|
+ result[`hr${i}`] = {
|
|
|
+ borderColor: colorLine[i],
|
|
|
+ width: '100%',
|
|
|
+ borderWidth: 1,
|
|
|
+ height: 0,
|
|
|
+ }
|
|
|
+ result[`b${i}`] = {
|
|
|
+ color: colorLine[i],
|
|
|
+ fontWeight: 'bold',
|
|
|
+ lineHeight: 24,
|
|
|
+ align: 'center',
|
|
|
+ fontSize: 13
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return result
|
|
|
+ }
|
|
|
+
|
|
|
+ const chart1 = this.$refs.chart1; //通过ref获取到DOM节点
|
|
|
+ if (chart1) {
|
|
|
+ const thisChart = this.$echarts.init(chart1); //利用原型调取Echarts的初始化方法
|
|
|
+ const option = {
|
|
|
+ color: colorLine,
|
|
|
+ legend: {
|
|
|
+ right: 0,
|
|
|
+ top: 0,
|
|
|
+ orient: "vertical",
|
|
|
+ // itemGap: 24,
|
|
|
+ icon: "circle"
|
|
|
+ },
|
|
|
+ series: [{
|
|
|
+ type: "pie",
|
|
|
+ radius: ["40%", "70%"],
|
|
|
+ center: ["50%", "50%"],
|
|
|
+ roseType: "radius",
|
|
|
+ label: {
|
|
|
+ // formatter: '{b|{d}%}\n{hr|}\n{a|{c}m²}',
|
|
|
+ formatter: params => {
|
|
|
+ var index = params.dataIndex
|
|
|
+ return `{b${index}|${params.percent==undefined?0:params.percent}%}\n{a${index}|${params.value}户}`
|
|
|
+ },
|
|
|
+ borderWidth: 10,
|
|
|
+ borderRadius: 0,
|
|
|
+ fontSize: 13,
|
|
|
+ padding: [0, -40],
|
|
|
+ rich: getRich(),
|
|
|
+ },
|
|
|
+ labelLine: {
|
|
|
+ normal: {
|
|
|
+ show: true,
|
|
|
+ length: 20,
|
|
|
+ length2: 40,
|
|
|
+ lineStyle: {
|
|
|
+ width: 1
|
|
|
+ },
|
|
|
+ position: "outer"
|
|
|
+ },
|
|
|
+ emphasis: {
|
|
|
+ show: true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data: data
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "pie",
|
|
|
+ selectedMode: "single",
|
|
|
+ radius: ["0%", "25%"],
|
|
|
+ center: ["50%", "50%"],
|
|
|
+ label: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ labelLine: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ data: data
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }; //{}内写需要图表的各种配置,可以在官方案例中修改完毕后复制过来
|
|
|
+ thisChart.setOption(option); //将编写好的配置项挂载到Echarts上
|
|
|
+ window.addEventListener("resize", function() {
|
|
|
+ thisChart.resize(); //页面大小变化后Echarts也更改大小
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 安置图表2
|
|
|
+ getchart2() {
|
|
|
+ var colorLine = ["#f06e00", "#48aac7", "#324fdc"]
|
|
|
+ var data = [{
|
|
|
+ name: '已安置套数',
|
|
|
+ value: this.arrangeForAssemble.resettlementHouseSum
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '未安置套数',
|
|
|
+ value: this.arrangeForAssemble.notResettlementHouseSum
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ //每个图表文字提示配置单独颜色
|
|
|
+ function getRich() {
|
|
|
+ let result = {}
|
|
|
+ colorLine.forEach((v, i) => {
|
|
|
+ result[`a${i}`] = {
|
|
|
+ color: colorLine[i],
|
|
|
+ lineHeight: 22,
|
|
|
+ align: 'center',
|
|
|
+ fontSize: 14,
|
|
|
+ }
|
|
|
+ result[`b${i}`] = {
|
|
|
+ color: colorLine[i],
|
|
|
+ fontWeight: 'bold',
|
|
|
+ lineHeight: 24,
|
|
|
+ align: 'center',
|
|
|
+ fontSize: 13
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return result
|
|
|
+ }
|
|
|
+
|
|
|
+ const chart2 = this.$refs.chart2; //通过ref获取到DOM节点
|
|
|
+ if (chart2) {
|
|
|
+ const thisChart = this.$echarts.init(chart2); //利用原型调取Echarts的初始化方法
|
|
|
+ const option = {
|
|
|
+ color: colorLine,
|
|
|
+ legend: {
|
|
|
+ right: 0,
|
|
|
+ top: 0,
|
|
|
+ orient: "vertical",
|
|
|
+ // itemGap: 24,
|
|
|
+ icon: "circle"
|
|
|
+ },
|
|
|
+ series: [{
|
|
|
+ type: "pie",
|
|
|
+ radius: ["40%", "70%"],
|
|
|
+ center: ["50%", "50%"],
|
|
|
+ roseType: "radius",
|
|
|
+ label: {
|
|
|
+ // formatter: '{b|{d}%}\n{hr|}\n{a|{c}m²}',
|
|
|
+ formatter: params => {
|
|
|
+ var index = params.dataIndex
|
|
|
+ return `{b${index}|${params.percent==undefined?0:params.percent}%}\n{a${index}|${params.value}套}`
|
|
|
+ },
|
|
|
+ borderWidth: 10,
|
|
|
+ borderRadius: 0,
|
|
|
+ fontSize: 13,
|
|
|
+ padding: [0, -40],
|
|
|
+ rich: getRich(),
|
|
|
+ },
|
|
|
+ labelLine: {
|
|
|
+ normal: {
|
|
|
+ show: true,
|
|
|
+ length: 20,
|
|
|
+ length2: 40,
|
|
|
+ lineStyle: {
|
|
|
+ width: 1
|
|
|
+ },
|
|
|
+ position: "outer"
|
|
|
+ },
|
|
|
+ emphasis: {
|
|
|
+ show: true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data: data
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "pie",
|
|
|
+ selectedMode: "single",
|
|
|
+ radius: ["0%", "25%"],
|
|
|
+ center: ["50%", "50%"],
|
|
|
+ label: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ labelLine: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ data: data
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }; //{}内写需要图表的各种配置,可以在官方案例中修改完毕后复制过来
|
|
|
+ thisChart.setOption(option); //将编写好的配置项挂载到Echarts上
|
|
|
+ window.addEventListener("resize", function() {
|
|
|
+ thisChart.resize(); //页面大小变化后Echarts也更改大小
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 过度图表
|
|
|
+ getchart3() {
|
|
|
+ var colorLine = ["#5b90fc", "#bcd3fc"]
|
|
|
+ var data = [{
|
|
|
+ name: '已过度',
|
|
|
+ value: this.transitionAssemble.transitionCompletedSum
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '过度中',
|
|
|
+ value: this.transitionAssemble.inTransitionSum
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ const chart3 = this.$refs.chart3; //通过ref获取到DOM节点
|
|
|
+ if (chart3) {
|
|
|
+ const thisChart = this.$echarts.init(chart3); //利用原型调取Echarts的初始化方法
|
|
|
+ const option = {
|
|
|
+ title: {
|
|
|
+ text: "过渡情况",
|
|
|
+ left: "40%",
|
|
|
+ top: "center"
|
|
|
+ },
|
|
|
+ color: ["#5b90fc", "#bcd3fc"],
|
|
|
+ legend: {
|
|
|
+ right: "0",
|
|
|
+ orient: "vertical",
|
|
|
+ // itemGap: 24,
|
|
|
+ icon: "circle"
|
|
|
+ },
|
|
|
+ series: [{
|
|
|
+ type: "pie",
|
|
|
+ radius: ["40%", "70%"],
|
|
|
+ center: ["50%", "50%"],
|
|
|
+ hoverAnimation: false,
|
|
|
+ label: {
|
|
|
+ width: 97,
|
|
|
+ height: 28,
|
|
|
+ lineHeight: 28,
|
|
|
+ color: "#fff",
|
|
|
+ borderRadius: 4,
|
|
|
+ backgroundColor: "#3a6ee8",
|
|
|
+ position: "inside",
|
|
|
+ show: true,
|
|
|
+ formatter: `{b}:{c|▼}{d}%`,
|
|
|
+ rich: {
|
|
|
+ c: {
|
|
|
+ color: "#3a6ee8",
|
|
|
+ padding: [36, 0, 0, -7],
|
|
|
+ top: 36
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ labelLine: {
|
|
|
+ show: false
|
|
|
+ },
|
|
|
+ // minShowLabelAngle: 0.01,
|
|
|
+ data: data
|
|
|
+ }]
|
|
|
+ }; //{}内写需要图表的各种配置,可以在官方案例中修改完毕后复制过来
|
|
|
+ thisChart.setOption(option); //将编写好的配置项挂载到Echarts上
|
|
|
+ window.addEventListener("resize", function() {
|
|
|
+ thisChart.resize(); //页面大小变化后Echarts也更改大小
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
// 处理文字提示组件是否显示
|
|
|
onMouseOver(index) {
|
|
|
// 内容超出,显示文字提示内容
|
|
@@ -587,7 +863,7 @@
|
|
|
font-size: 16px;
|
|
|
display: flex;
|
|
|
background-color: #fafafa;
|
|
|
-
|
|
|
+
|
|
|
.left,
|
|
|
.right {
|
|
|
width: 50%;
|
|
@@ -596,12 +872,16 @@
|
|
|
padding-left: 42px;
|
|
|
box-sizing: border-box;
|
|
|
}
|
|
|
- .left{
|
|
|
- .left-left,.left-right{
|
|
|
+
|
|
|
+ .left {
|
|
|
+
|
|
|
+ .left-left,
|
|
|
+ .left-right {
|
|
|
padding-left: 42px;
|
|
|
width: 50%;
|
|
|
}
|
|
|
- .left-right{
|
|
|
+
|
|
|
+ .left-right {
|
|
|
border-left: 1px solid #e7e7e7;
|
|
|
}
|
|
|
}
|
|
@@ -662,11 +942,11 @@
|
|
|
height: 50px;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- .text-right{
|
|
|
+
|
|
|
+ .text-right {
|
|
|
text-align: end;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.text {
|
|
|
margin-left: 10px;
|
|
|
|