|
@@ -14,6 +14,7 @@
|
|
|
:data-empty="dataEmpty"
|
|
|
:extend="chartExtend"
|
|
|
:legend="legend"
|
|
|
+ :data-zoom="dataZoom"
|
|
|
/>
|
|
|
<!-- <ve-line
|
|
|
v-else
|
|
@@ -55,7 +56,6 @@ export default {
|
|
|
legend() {
|
|
|
return {
|
|
|
left: "10px",
|
|
|
- itemWidth: 30,
|
|
|
};
|
|
|
},
|
|
|
items() {
|
|
@@ -94,6 +94,19 @@ export default {
|
|
|
return {
|
|
|
series: {
|
|
|
smooth: false,
|
|
|
+ barwidth: 80,
|
|
|
+ label: {
|
|
|
+ show: true,
|
|
|
+ position: "top",
|
|
|
+ color: "#000",
|
|
|
+ formatter: function (value) {
|
|
|
+ var val = value.data;
|
|
|
+ return val + "%";
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ markerPoint: {
|
|
|
+ data: { name: "百分比" },
|
|
|
},
|
|
|
|
|
|
yAxis: {
|
|
@@ -103,7 +116,20 @@ export default {
|
|
|
scale: true,
|
|
|
min: 0,
|
|
|
axisLabel: {
|
|
|
- formatter: "{value}元",
|
|
|
+ formatter: "{value}%",
|
|
|
+ },
|
|
|
+ },
|
|
|
+
|
|
|
+ xAxis: {
|
|
|
+ interval: 0,
|
|
|
+ axisLabel: {
|
|
|
+ show: true, // 是否显示刻度标签,默认显示
|
|
|
+ interval: 0, // 坐标轴刻度标签的显示间隔,在类目轴中有效;默认会采用标签不重叠的策略间隔显示标签;可以设置成0强制显示所有标签;如果设置为1,表示『隔一个标签显示一个标签』,如果值为2,表示隔两个标签显示一个标签,以此类推。
|
|
|
+ inside: false, // 刻度标签是否朝内,默认朝外
|
|
|
+ margin: 6, // 刻度标签与轴线之间的距离
|
|
|
+ formatter: function (value) {
|
|
|
+ return value.split("").join("\n");
|
|
|
+ },
|
|
|
},
|
|
|
},
|
|
|
|
|
@@ -116,10 +142,24 @@ export default {
|
|
|
},
|
|
|
|
|
|
formatter: (item) => {
|
|
|
+ // console.log(item);
|
|
|
+ // console.log(this.values, item[0].axisValue, "organ");
|
|
|
+ let arr = [
|
|
|
+ { name: "总收入", dot: "元" },
|
|
|
+ { name: "总收入占比", dot: "%" },
|
|
|
+ { name: "报名缴费收入", dot: "元" },
|
|
|
+ { name: "乐团续费收入", dot: "元" },
|
|
|
+ { name: "VIP课收入", dot: "元" },
|
|
|
+ { name: "网管课收入", dot: "元" },
|
|
|
+ { name: "其他收入", dot: "元" },
|
|
|
+ ];
|
|
|
return [
|
|
|
item[0].axisValueLabel,
|
|
|
- ...item.map(
|
|
|
- (d) => `<br/>${d.marker}${d.seriesName}: ${d.value[1]} 元`
|
|
|
+ ...arr.map(
|
|
|
+ (d) =>
|
|
|
+ `<br/>${d.name}:${this.values[item[0].axisValue][d.name]}${
|
|
|
+ d.dot
|
|
|
+ }`
|
|
|
),
|
|
|
].join("");
|
|
|
},
|
|
@@ -129,9 +169,10 @@ export default {
|
|
|
dataZoom() {
|
|
|
return [
|
|
|
{
|
|
|
+ show: true,
|
|
|
type: "slider",
|
|
|
- start: 50,
|
|
|
- end: 100,
|
|
|
+ start: 0,
|
|
|
+ end: 20,
|
|
|
filterMode: "empty",
|
|
|
},
|
|
|
];
|
|
@@ -153,21 +194,18 @@ export default {
|
|
|
}
|
|
|
|
|
|
if (item.title == "总收入" && row.title == "总收入") {
|
|
|
- organ[key]["百分比"] = ((row.percent / item.percent) * 100).toFixed(
|
|
|
- 2
|
|
|
- );
|
|
|
+ organ[key]["总收入占比"] = (
|
|
|
+ (row.percent / item.percent) *
|
|
|
+ 100
|
|
|
+ ).toFixed(2);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
for (const item of values) {
|
|
|
for (const row of item.organIndexMonthData || []) {
|
|
|
-
|
|
|
- if(item.title == row.title){
|
|
|
- console.log(item.title,row.title,row.percent, row.organName)
|
|
|
-
|
|
|
- // organ[row.organName][row.title] = row.percent
|
|
|
+ if (item.title == row.title) {
|
|
|
+ organ[row.organName][row.title] = row.percent;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -184,10 +222,11 @@ export default {
|
|
|
// }
|
|
|
// }
|
|
|
console.log(organ);
|
|
|
- console.log(values);
|
|
|
- return;
|
|
|
+ this.values = organ;
|
|
|
+ // console.log(values);
|
|
|
+ // return;
|
|
|
return {
|
|
|
- columns: ["分部", "百分比"],
|
|
|
+ columns: ["分部", "总收入占比"],
|
|
|
rows: Object.values(organ),
|
|
|
loading: true,
|
|
|
};
|
|
@@ -249,6 +288,7 @@ export default {
|
|
|
show: true,
|
|
|
activeName: "first",
|
|
|
timer: "day",
|
|
|
+ values: "",
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|