|
|
|
@ -18,6 +18,7 @@ export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
option: {},
|
|
|
|
|
fontSize: 12,
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
@ -26,8 +27,15 @@ export default {
|
|
|
|
|
methods: {
|
|
|
|
|
setOption() {
|
|
|
|
|
let temp = this.getHeight();
|
|
|
|
|
let height = parseInt(temp / 2) - 20;
|
|
|
|
|
//console.log(height);
|
|
|
|
|
let height = parseInt(temp / 4);
|
|
|
|
|
console.log(height);
|
|
|
|
|
this.fontSize = 12;
|
|
|
|
|
if (height < 30) {
|
|
|
|
|
this.fontSize = 8;
|
|
|
|
|
}
|
|
|
|
|
if (height > 40) {
|
|
|
|
|
this.fontSize = 14;
|
|
|
|
|
}
|
|
|
|
|
let total = 0;
|
|
|
|
|
let data = [];
|
|
|
|
|
let barChartList = this.chartObj.data;
|
|
|
|
@ -72,38 +80,15 @@ export default {
|
|
|
|
|
tooltip: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
title: [
|
|
|
|
|
{
|
|
|
|
|
text: "总数量",
|
|
|
|
|
top: "38%",
|
|
|
|
|
textAlign: "center",
|
|
|
|
|
left: 68,
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: "#D0DEEE",
|
|
|
|
|
fontSize: 12,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
text: total,
|
|
|
|
|
top: "48%",
|
|
|
|
|
textAlign: "center",
|
|
|
|
|
left: 66,
|
|
|
|
|
textStyle: {
|
|
|
|
|
fontWeight: "400",
|
|
|
|
|
color: "#92E0FF",
|
|
|
|
|
fontSize: 22,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
legend: {
|
|
|
|
|
data: legend,
|
|
|
|
|
orient: "vertical",
|
|
|
|
|
top: "center",
|
|
|
|
|
icon: "diamond",
|
|
|
|
|
right: "5%",
|
|
|
|
|
right: height - 10,
|
|
|
|
|
itemHeight: 8,
|
|
|
|
|
itemWidth: 8,
|
|
|
|
|
itemGap: 8,
|
|
|
|
|
itemGap: parseInt(this.fontSize / 2),
|
|
|
|
|
padding: 0,
|
|
|
|
|
//backgroundColor: "rgba(108,128,151,0.2)",
|
|
|
|
|
textStyle: {
|
|
|
|
@ -127,7 +112,7 @@ export default {
|
|
|
|
|
formatter: function (name) {
|
|
|
|
|
const item = barChartList.filter((item) => item.name === name)[0];
|
|
|
|
|
let rate = ((100 * item.value) / total).toFixed(2);
|
|
|
|
|
console.log(rate);
|
|
|
|
|
//console.log(rate);
|
|
|
|
|
return `{name|${name}}{value| ${item.value}}{rate| ${rate}%}`;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
@ -138,11 +123,11 @@ export default {
|
|
|
|
|
type: "image",
|
|
|
|
|
style: {
|
|
|
|
|
image: bgImg,
|
|
|
|
|
width: 100,
|
|
|
|
|
height: 100,
|
|
|
|
|
width: 3 * height - 16,
|
|
|
|
|
height: 3 * height - 16,
|
|
|
|
|
zIndex: 1,
|
|
|
|
|
},
|
|
|
|
|
left: 20,
|
|
|
|
|
left: parseInt(0.5 * height) + 8,
|
|
|
|
|
top: "center",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
@ -151,18 +136,31 @@ export default {
|
|
|
|
|
{
|
|
|
|
|
name: this.chartObj.name,
|
|
|
|
|
type: "pie",
|
|
|
|
|
radius: [48, 58],
|
|
|
|
|
center: [70, "center"],
|
|
|
|
|
radius: [parseInt(1.5 * height) - 8, parseInt(1.5 * height)],
|
|
|
|
|
center: [2 * height, "center"],
|
|
|
|
|
clockWise: false,
|
|
|
|
|
hoverAnimation: false,
|
|
|
|
|
itemStyle: {},
|
|
|
|
|
label: {
|
|
|
|
|
show: false,
|
|
|
|
|
position: "right",
|
|
|
|
|
show: true,
|
|
|
|
|
position: "center",
|
|
|
|
|
rich: {
|
|
|
|
|
label: {
|
|
|
|
|
color: "#D0DEEE",
|
|
|
|
|
fontSize: this.fontSize,
|
|
|
|
|
},
|
|
|
|
|
value: {
|
|
|
|
|
padding: [4, 0, 0, 0],
|
|
|
|
|
color: "#92E0FF",
|
|
|
|
|
fontSize: this.fontSize + 6,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
formatter: `{label|总数量}\n{value|${total}}`,
|
|
|
|
|
},
|
|
|
|
|
emphasis: {
|
|
|
|
|
label: {
|
|
|
|
|
show: false,
|
|
|
|
|
show: true,
|
|
|
|
|
formatter: `{label|总数量}\n{value|${total}}`,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
labelLine: {
|
|
|
|
|