|
@@ -780,7 +780,9 @@ export default {
|
|
|
this.levelList.forEach((item) => {
|
|
|
let obj = {
|
|
|
name: item.label,
|
|
|
+ value: 0,
|
|
|
children: [],
|
|
|
+ percent: 0,
|
|
|
};
|
|
|
item.children.forEach((items) => {
|
|
|
let childObj = {
|
|
@@ -790,9 +792,16 @@ export default {
|
|
|
if (this.bookSourceObj[items.id]) {
|
|
|
childObj.name = items.name + ' ' + this.bookSourceObj[items.id].percent + '%';
|
|
|
childObj.value = this.bookSourceObj[items.id].count;
|
|
|
+ obj.value += this.bookSourceObj[items.id].count;
|
|
|
+ obj.percent += this.bookSourceObj[items.id].percent;
|
|
|
}
|
|
|
obj.children.push(childObj);
|
|
|
});
|
|
|
+ if (obj.percent % 1 == 0) {
|
|
|
+ obj.name = item.label + ' ' + obj.percent + '%';
|
|
|
+ } else {
|
|
|
+ obj.name = item.label + ' ' + obj.percent.toFixed(2) + '%';
|
|
|
+ }
|
|
|
data.push(obj);
|
|
|
});
|
|
|
} else {
|
|
@@ -800,17 +809,27 @@ export default {
|
|
|
if (!tempdata[str[0]]) {
|
|
|
let obj = {
|
|
|
name: str[0],
|
|
|
+ value: 0,
|
|
|
children: [],
|
|
|
+ percent: 0,
|
|
|
};
|
|
|
tempdata[str[0]] = obj;
|
|
|
}
|
|
|
let childObj = {
|
|
|
name: '',
|
|
|
value: 0,
|
|
|
+ percent: 0,
|
|
|
};
|
|
|
if (this.bookSourceObj[str[1]]) {
|
|
|
childObj.name = this.bookSourceObj[str[1]].book_name + ' ' + this.bookSourceObj[str[1]].percent + '%';
|
|
|
childObj.value = this.bookSourceObj[str[1]].count;
|
|
|
+ tempdata[str[0]].value += this.bookSourceObj[str[1]].count;
|
|
|
+ tempdata[str[0]].percent += this.bookSourceObj[str[1]].percent;
|
|
|
+ }
|
|
|
+ if (tempdata[str[0]].percent % 1 == 0) {
|
|
|
+ tempdata[str[0]].name = str[0] + ' ' + tempdata[str[0]].percent + '%';
|
|
|
+ } else {
|
|
|
+ tempdata[str[0]].name = str[0] + ' ' + tempdata[str[0]].percent.toFixed(2) + '%';
|
|
|
}
|
|
|
tempdata[str[0]].children.push(childObj);
|
|
|
});
|
|
@@ -818,85 +837,87 @@ export default {
|
|
|
data.push(tempdata[key]);
|
|
|
}
|
|
|
}
|
|
|
- option = {
|
|
|
- title: {
|
|
|
- text: '',
|
|
|
- subtext: '',
|
|
|
- textStyle: {
|
|
|
- fontSize: 14,
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
- subtextStyle: {
|
|
|
- align: 'center',
|
|
|
+ newdata = data;
|
|
|
+ // option = {
|
|
|
+ // title: {
|
|
|
+ // text: '',
|
|
|
+ // subtext: '',
|
|
|
+ // textStyle: {
|
|
|
+ // fontSize: 14,
|
|
|
+ // align: 'center',
|
|
|
+ // },
|
|
|
+ // subtextStyle: {
|
|
|
+ // align: 'center',
|
|
|
+ // },
|
|
|
+ // sublink: '',
|
|
|
+ // },
|
|
|
+ // series: {
|
|
|
+ // type: 'sunburst',
|
|
|
+ // data: data,
|
|
|
+ // radius: [0, '95%'],
|
|
|
+ // sort: undefined,
|
|
|
+ // emphasis: {
|
|
|
+ // focus: 'ancestor',
|
|
|
+ // },
|
|
|
+ // levels: [
|
|
|
+ // {},
|
|
|
+ // {
|
|
|
+ // r0: '3%',
|
|
|
+ // r: '35%',
|
|
|
+ // itemStyle: {
|
|
|
+ // borderWidth: 2,
|
|
|
+ // },
|
|
|
+ // label: {
|
|
|
+ // align: 'left',
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // r0: '35%',
|
|
|
+ // r: '40%',
|
|
|
+ // label: {
|
|
|
+ // position: 'outside',
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // ],
|
|
|
+ // },
|
|
|
+ // };
|
|
|
+ }
|
|
|
+ // else {
|
|
|
+ option = {
|
|
|
+ series: [
|
|
|
+ {
|
|
|
+ name: 'Access From',
|
|
|
+ type: 'pie',
|
|
|
+ // radius: ["50%", "50%"],
|
|
|
+ data: newdata.length > 0 ? newdata : [],
|
|
|
+ itemStyle: {
|
|
|
+ // borderColor: "#fff",
|
|
|
+ // borderWidth: 2,
|
|
|
},
|
|
|
- sublink: '',
|
|
|
- },
|
|
|
- series: {
|
|
|
- type: 'sunburst',
|
|
|
- data: data,
|
|
|
- radius: [0, '95%'],
|
|
|
- sort: undefined,
|
|
|
+ top: 50,
|
|
|
emphasis: {
|
|
|
- focus: 'ancestor',
|
|
|
- },
|
|
|
- levels: [
|
|
|
- {},
|
|
|
- {
|
|
|
- r0: '3%',
|
|
|
- r: '35%',
|
|
|
- itemStyle: {
|
|
|
- borderWidth: 2,
|
|
|
- },
|
|
|
- label: {
|
|
|
- align: 'left',
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- r0: '35%',
|
|
|
- r: '40%',
|
|
|
- label: {
|
|
|
- position: 'outside',
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- };
|
|
|
- } else {
|
|
|
- option = {
|
|
|
- series: [
|
|
|
- {
|
|
|
- name: 'Access From',
|
|
|
- type: 'pie',
|
|
|
- // radius: ["50%", "50%"],
|
|
|
- data: newdata.length > 0 ? newdata : [],
|
|
|
itemStyle: {
|
|
|
- // borderColor: "#fff",
|
|
|
- // borderWidth: 2,
|
|
|
+ shadowBlur: 10,
|
|
|
+ shadowOffsetX: 0,
|
|
|
+ shadowColor: 'rgba(0, 0, 0, 0.5)',
|
|
|
},
|
|
|
- top: 50,
|
|
|
- emphasis: {
|
|
|
- itemStyle: {
|
|
|
- shadowBlur: 10,
|
|
|
- shadowOffsetX: 0,
|
|
|
- shadowColor: 'rgba(0, 0, 0, 0.5)',
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
- xAxis: {
|
|
|
- show: false, //不显示坐标轴线、坐标轴刻度线和坐标轴上的文字
|
|
|
- axisTick: {
|
|
|
- show: false, //不显示坐标轴刻度线
|
|
|
- },
|
|
|
- axisLine: {
|
|
|
- show: false, //不显示坐标轴线
|
|
|
- },
|
|
|
- axisLabel: {
|
|
|
- show: false, //不显示坐标轴上的文字
|
|
|
},
|
|
|
},
|
|
|
- };
|
|
|
- }
|
|
|
+ ],
|
|
|
+ xAxis: {
|
|
|
+ show: false, //不显示坐标轴线、坐标轴刻度线和坐标轴上的文字
|
|
|
+ axisTick: {
|
|
|
+ show: false, //不显示坐标轴刻度线
|
|
|
+ },
|
|
|
+ axisLine: {
|
|
|
+ show: false, //不显示坐标轴线
|
|
|
+ },
|
|
|
+ axisLabel: {
|
|
|
+ show: false, //不显示坐标轴上的文字
|
|
|
+ },
|
|
|
+ },
|
|
|
+ };
|
|
|
+ // }
|
|
|
|
|
|
option && myChart.setOption(option);
|
|
|
let number = 0;
|