This commit is contained in:
unknown 2023-12-20 15:06:39 +08:00
parent 803c22c317
commit a4eafbbdba
1 changed files with 236 additions and 235 deletions

View File

@ -131,7 +131,7 @@
</div>
<div class="chartBox">
<div class="chart-container">
<div class="chart" ref="chart"></div>
<div class="chart" ref="chart" id="fhzb"></div>
<!-- 底座背景 -->
<div class="bg"></div>
</div>
@ -178,9 +178,9 @@
</template>
<script>
import * as echarts from "echarts";
import "echarts-gl";
import { getPie3D, getParametricEquation } from "../../../utils/fhgl";
const color = ["#099FE3", "#00DBEB", "#50F4C1"];
// import "echarts-gl";
// import { getPie3D, getParametricEquation } from "../../../utils/fhgl";
// const color = ["#099FE3", "#00DBEB", "#50F4C1"];
export default {
data() {
return {
@ -1530,248 +1530,249 @@ export default {
//
// label
setLabel() {
this.optionData.forEach((item, index) => {
item.itemStyle = {
color: color[index],
};
item.label = {
normal: {
show: true,
color: color[index],
position: "right",
// distance:-10,
offset: [0, 3],
formatter: [
"{d|{d}%}",
"————",
// '{c|{c}}{b|}',
"{b|{b}}",
].join("\n"), // \n
rich: {
b: {
lineHeight: 25,
align: "left",
fontSize: 30,
color: "#fff",
},
c: {
fontSize: 22,
// color: '#fff',
textShadowColor: "#1c90a6",
textShadowOffsetX: 0,
textShadowOffsetY: 2,
textShadowBlur: 5,
color: color[index],
},
d: {
color: color[index],
fontSize: 40,
align: "left",
},
},
},
};
item.labelLine = {
normal: {
length2: 200,
lineStyle: {
width: 2,
color: color[index],
},
},
};
});
},
// setLabel() {
// this.optionData.forEach((item, index) => {
// item.itemStyle = {
// color: color[index],
// };
// item.label = {
// normal: {
// show: true,
// color: color[index],
// position: "right",
// // distance:-10,
// offset: [0, 3],
// formatter: [
// "{d|{d}%}",
// "",
// // '{c|{c}}{b|}',
// "{b|{b}}",
// ].join("\n"), // \n
// rich: {
// b: {
// lineHeight: 25,
// align: "left",
// fontSize: 30,
// color: "#fff",
// },
// c: {
// fontSize: 22,
// // color: '#fff',
// textShadowColor: "#1c90a6",
// textShadowOffsetX: 0,
// textShadowOffsetY: 2,
// textShadowBlur: 5,
// color: color[index],
// },
// d: {
// color: color[index],
// fontSize: 40,
// align: "left",
// },
// },
// },
// };
// item.labelLine = {
// normal: {
// length2: 200,
// lineStyle: {
// width: 2,
// color: color[index],
// },
// },
// };
// });
// },
// //
initChart() {
this.statusChart = echarts.init(this.$refs.chart);
// option, 3d,
this.option = getPie3D(this.optionData, 0, 270, 26, 40, 1);
this.statusChart.setOption(this.option);
// label线2d使labelLine3dsetOption
this.option.series.push({
name: "信用评价", //
backgroundColor: "transparent",
type: "pie",
label: {
opacity: 1,
fontSize: 13,
lineHeight: 20,
},
startAngle: -40, // [0, 360]
clockwise: false, // 3d
radius: ["20%", "60%"],
center: ["50%", "50%"],
data: this.optionData,
itemStyle: {
opacity: 0, //02d
},
});
this.statusChart.setOption(this.option);
this.bindListen(this.statusChart);
},
// initChart() {
// this.statusChart = echarts.init(this.$refs.chart);
// // option, 3d,
// this.option = getPie3D(this.optionData, 0, 270, 26, 40, 1);
// this.statusChart.setOption(this.option);
// // label线2d使labelLine3dsetOption
// this.option.series.push({
// name: "", //
// backgroundColor: "transparent",
// type: "pie",
// label: {
// opacity: 1,
// fontSize: 13,
// lineHeight: 20,
// },
// startAngle: -40, // [0, 360]
// clockwise: false, // 3d
// radius: ["20%", "60%"],
// center: ["50%", "50%"],
// data: this.optionData,
// itemStyle: {
// opacity: 0, //02d
// },
// });
// this.statusChart.setOption(this.option);
// this.bindListen(this.statusChart);
// },
// //
// // optionNameoptionopiton
bindListen(myChart, optionName = "option") {
let selectedIndex = "";
let hoveredIndex = "";
//
// myChart.on("click", (params) => {
// console.log(this[optionName].series[params.seriesIndex],'this[optionName].series[params.seriesIndex].pieStatus');
// // option.series
// const isSelected =
// !this[optionName].series[params.seriesIndex].pieStatus.selected;
// const isHovered =
// this[optionName].series[params.seriesIndex].pieStatus.hovered;
// const k = this[optionName].series[params.seriesIndex].pieStatus.k;
// const startRatio =
// this[optionName].series[params.seriesIndex].pieData.startRatio;
// const endRatio =
// this[optionName].series[params.seriesIndex].pieData.endRatio;
// // option
// if (selectedIndex !== "" && selectedIndex !== params.seriesIndex) {
// this[optionName].series[selectedIndex].parametricEquation =
// getParametricEquation(
// this[optionName].series[selectedIndex].pieData.startRatio,
// this[optionName].series[selectedIndex].pieData.endRatio,
// false,
// false,
// k,
// this[optionName].series[selectedIndex].pieData.value
// );
// this[optionName].series[selectedIndex].pieStatus.selected = false;
// }
// // / option
// this[optionName].series[params.seriesIndex].parametricEquation =
// getParametricEquation(
// startRatio,
// endRatio,
// isSelected,
// isHovered,
// k,
// this[optionName].series[params.seriesIndex].pieData.value
// );
// this[optionName].series[params.seriesIndex].pieStatus.selected =
// isSelected;
// // seriesIndex
// selectedIndex = isSelected ? params.seriesIndex : null;
// // 使 option
// myChart.setOption(this[optionName]);
// });
// mouseover
myChart.on("mouseover", (params) => {
//
let isSelected;
let isHovered;
let startRatio;
let endRatio;
let k;
// mouseover
if (hoveredIndex === params.seriesIndex) {
//
} else {
// option
if (hoveredIndex !== "") {
// option.series false
isSelected =
this[optionName].series[hoveredIndex].pieStatus.selected;
isHovered = false;
startRatio =
this[optionName].series[hoveredIndex].pieData.startRatio;
endRatio = this[optionName].series[hoveredIndex].pieData.endRatio;
k = this[optionName].series[hoveredIndex].pieStatus.k;
// option
this[optionName].series[hoveredIndex].parametricEquation =
getParametricEquation(
startRatio,
endRatio,
isSelected,
isHovered,
k,
this[optionName].series[hoveredIndex].pieData.value
);
this[optionName].series[hoveredIndex].pieStatus.hovered = isHovered;
// seriesIndex
hoveredIndex = "";
}
// mouseover option
if (
params.seriesName !== "mouseoutSeries" &&
params.seriesName !== "信用评价"
) {
// option.series true
isSelected =
this[optionName].series[params.seriesIndex].pieStatus.selected;
isHovered = true;
startRatio =
this[optionName].series[params.seriesIndex].pieData.startRatio;
endRatio =
this[optionName].series[params.seriesIndex].pieData.endRatio;
k = this[optionName].series[params.seriesIndex].pieStatus.k;
// option
this[optionName].series[params.seriesIndex].parametricEquation =
getParametricEquation(
startRatio,
endRatio,
isSelected,
isHovered,
k,
this[optionName].series[params.seriesIndex].pieData.value + 60
);
this[optionName].series[params.seriesIndex].pieStatus.hovered =
isHovered;
// seriesIndex
hoveredIndex = params.seriesIndex;
}
// 使 option
myChart.setOption(this[optionName]);
}
});
// bug
myChart.on("globalout", () => {
//
let isSelected;
let isHovered;
let startRatio;
let endRatio;
let k;
if (hoveredIndex !== "") {
// option.series true
isSelected = this[optionName].series[hoveredIndex].pieStatus.selected;
isHovered = false;
k = this[optionName].series[hoveredIndex].pieStatus.k;
startRatio = this[optionName].series[hoveredIndex].pieData.startRatio;
endRatio = this[optionName].series[hoveredIndex].pieData.endRatio;
// option
this[optionName].series[hoveredIndex].parametricEquation =
getParametricEquation(
startRatio,
endRatio,
isSelected,
isHovered,
k,
this[optionName].series[hoveredIndex].pieData.value
);
this[optionName].series[hoveredIndex].pieStatus.hovered = isHovered;
// seriesIndex
hoveredIndex = "";
}
// 使 option
myChart.setOption(this[optionName]);
});
},
// bindListen(myChart, optionName = "option") {
// let selectedIndex = "";
// let hoveredIndex = "";
// //
// // myChart.on("click", (params) => {
// // console.log(this[optionName].series[params.seriesIndex],'this[optionName].series[params.seriesIndex].pieStatus');
// // // option.series
// // const isSelected =
// // !this[optionName].series[params.seriesIndex].pieStatus.selected;
// // const isHovered =
// // this[optionName].series[params.seriesIndex].pieStatus.hovered;
// // const k = this[optionName].series[params.seriesIndex].pieStatus.k;
// // const startRatio =
// // this[optionName].series[params.seriesIndex].pieData.startRatio;
// // const endRatio =
// // this[optionName].series[params.seriesIndex].pieData.endRatio;
// // // option
// // if (selectedIndex !== "" && selectedIndex !== params.seriesIndex) {
// // this[optionName].series[selectedIndex].parametricEquation =
// // getParametricEquation(
// // this[optionName].series[selectedIndex].pieData.startRatio,
// // this[optionName].series[selectedIndex].pieData.endRatio,
// // false,
// // false,
// // k,
// // this[optionName].series[selectedIndex].pieData.value
// // );
// // this[optionName].series[selectedIndex].pieStatus.selected = false;
// // }
// // // / option
// // this[optionName].series[params.seriesIndex].parametricEquation =
// // getParametricEquation(
// // startRatio,
// // endRatio,
// // isSelected,
// // isHovered,
// // k,
// // this[optionName].series[params.seriesIndex].pieData.value
// // );
// // this[optionName].series[params.seriesIndex].pieStatus.selected =
// // isSelected;
// // // seriesIndex
// // selectedIndex = isSelected ? params.seriesIndex : null;
// // // 使 option
// // myChart.setOption(this[optionName]);
// // });
// // mouseover
// myChart.on("mouseover", (params) => {
// //
// let isSelected;
// let isHovered;
// let startRatio;
// let endRatio;
// let k;
// // mouseover
// if (hoveredIndex === params.seriesIndex) {
// //
// } else {
// // option
// if (hoveredIndex !== "") {
// // option.series false
// isSelected =
// this[optionName].series[hoveredIndex].pieStatus.selected;
// isHovered = false;
// startRatio =
// this[optionName].series[hoveredIndex].pieData.startRatio;
// endRatio = this[optionName].series[hoveredIndex].pieData.endRatio;
// k = this[optionName].series[hoveredIndex].pieStatus.k;
// // option
// this[optionName].series[hoveredIndex].parametricEquation =
// getParametricEquation(
// startRatio,
// endRatio,
// isSelected,
// isHovered,
// k,
// this[optionName].series[hoveredIndex].pieData.value
// );
// this[optionName].series[hoveredIndex].pieStatus.hovered = isHovered;
// // seriesIndex
// hoveredIndex = "";
// }
// // mouseover option
// if (
// params.seriesName !== "mouseoutSeries" &&
// params.seriesName !== ""
// ) {
// // option.series true
// isSelected =
// this[optionName].series[params.seriesIndex].pieStatus.selected;
// isHovered = true;
// startRatio =
// this[optionName].series[params.seriesIndex].pieData.startRatio;
// endRatio =
// this[optionName].series[params.seriesIndex].pieData.endRatio;
// k = this[optionName].series[params.seriesIndex].pieStatus.k;
// // option
// this[optionName].series[params.seriesIndex].parametricEquation =
// getParametricEquation(
// startRatio,
// endRatio,
// isSelected,
// isHovered,
// k,
// this[optionName].series[params.seriesIndex].pieData.value + 60
// );
// this[optionName].series[params.seriesIndex].pieStatus.hovered =
// isHovered;
// // seriesIndex
// hoveredIndex = params.seriesIndex;
// }
// // 使 option
// myChart.setOption(this[optionName]);
// }
// });
// // bug
// myChart.on("globalout", () => {
// //
// let isSelected;
// let isHovered;
// let startRatio;
// let endRatio;
// let k;
// if (hoveredIndex !== "") {
// // option.series true
// isSelected = this[optionName].series[hoveredIndex].pieStatus.selected;
// isHovered = false;
// k = this[optionName].series[hoveredIndex].pieStatus.k;
// startRatio = this[optionName].series[hoveredIndex].pieData.startRatio;
// endRatio = this[optionName].series[hoveredIndex].pieData.endRatio;
// // option
// this[optionName].series[hoveredIndex].parametricEquation =
// getParametricEquation(
// startRatio,
// endRatio,
// isSelected,
// isHovered,
// k,
// this[optionName].series[hoveredIndex].pieData.value
// );
// this[optionName].series[hoveredIndex].pieStatus.hovered = isHovered;
// // seriesIndex
// hoveredIndex = "";
// }
// // 使 option
// myChart.setOption(this[optionName]);
// });
// },
},
created(){
this.setLabel();
// this.setLabel();
},
mounted() {
this.defineEcharts("pdsssdh", this.option1);
// this.defineEcharts("pdsydl", this.option2);
this.pdsydl();
// this.getEchart();
this.getEchart();
this.defineEcharts("pdstpt", this.option3);
this.initChart();
// this.initChart();
this.getbing();
},
};
</script>