|
@@ -12,13 +12,27 @@
|
|
|
|
|
|
<script>
|
|
<script>
|
|
export default {
|
|
export default {
|
|
|
|
+ props: {
|
|
|
|
+ monthArray: {
|
|
|
|
+ type: Array,
|
|
|
|
+ },
|
|
|
|
+ },
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
chartObj: null,
|
|
chartObj: null,
|
|
|
|
+ ooption: {
|
|
|
|
+ xdata: [],
|
|
|
|
+ course: [],
|
|
|
|
+ },
|
|
option: {
|
|
option: {
|
|
|
|
+ tooltip: {
|
|
|
|
+ trigger: "axis",
|
|
|
|
+ },
|
|
xAxis: {
|
|
xAxis: {
|
|
type: "category",
|
|
type: "category",
|
|
- data: ["1月", "2月", "3月", "4月", "5月", "6月", "7月"],
|
|
|
|
|
|
+ boundaryGap: true,
|
|
|
|
+ // data: ["1月", "2月", "3月", "4月", "5月", "6月", "7月"],
|
|
|
|
+ data: [],
|
|
},
|
|
},
|
|
yAxis: {
|
|
yAxis: {
|
|
type: "value",
|
|
type: "value",
|
|
@@ -32,7 +46,8 @@ export default {
|
|
},
|
|
},
|
|
series: [
|
|
series: [
|
|
{
|
|
{
|
|
- data: [400, 510, 510, 350, 320, 510, 420],
|
|
|
|
|
|
+ data:[],
|
|
|
|
+ // data: [400, 510, 510, 350, 320, 510],
|
|
symbolSize: 10,
|
|
symbolSize: 10,
|
|
type: "line",
|
|
type: "line",
|
|
lineStyle: {
|
|
lineStyle: {
|
|
@@ -45,7 +60,7 @@ export default {
|
|
};
|
|
};
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- setChart() {
|
|
|
|
|
|
+ setChart(option) {
|
|
// 雷达图显示的标签
|
|
// 雷达图显示的标签
|
|
let newPromise = new Promise((resolve) => {
|
|
let newPromise = new Promise((resolve) => {
|
|
resolve();
|
|
resolve();
|
|
@@ -55,14 +70,51 @@ export default {
|
|
const chartObj = this.$echarts.init(
|
|
const chartObj = this.$echarts.init(
|
|
this.$el.querySelector("#charts_canvas")
|
|
this.$el.querySelector("#charts_canvas")
|
|
);
|
|
);
|
|
|
|
+ this.option.xAxis.data = option.xdata;
|
|
|
|
+ this.option.series[0].data = option.course;
|
|
// 初始化雷达图
|
|
// 初始化雷达图
|
|
this.chartObj = chartObj;
|
|
this.chartObj = chartObj;
|
|
this.chartObj.setOption(this.option);
|
|
this.chartObj.setOption(this.option);
|
|
});
|
|
});
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
+ watch: {
|
|
|
|
+ monthArray: {
|
|
|
|
+ immediate: true,
|
|
|
|
+ deep: true,
|
|
|
|
+ handler(newValue, oldValue) {
|
|
|
|
+ this.ooption = {
|
|
|
|
+ xdata: [],
|
|
|
|
+ course: [],
|
|
|
|
+ };
|
|
|
|
+ let _array = newValue;
|
|
|
|
+ for (var i = 0; i < _array.length; i++) {
|
|
|
|
+ this.ooption.xdata.push(_array[i].Month + "月");
|
|
|
|
+ this.ooption.course.push(_array[i].course);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!this.chartObj) {
|
|
|
|
+ this.setChart(this.ooption);
|
|
|
|
+ } else {
|
|
|
|
+ this.option.xAxis.data = this.ooption.xdata;
|
|
|
|
+ this.option.series[0].data = this.ooption.course;
|
|
|
|
+ this.chartObj.setOption(this.option);
|
|
|
|
+ }
|
|
|
|
+ this.$forceUpdate();
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ },
|
|
mounted() {
|
|
mounted() {
|
|
- this.setChart(this.option);
|
|
|
|
|
|
+ this.ooption = {
|
|
|
|
+ xdata: [],
|
|
|
|
+ course: [],
|
|
|
|
+ };
|
|
|
|
+ let _array = this.monthArray;
|
|
|
|
+ for (var i = 0; i < _array.length; i++) {
|
|
|
|
+ this.ooption.xdata.push(_array[i].Month + "月");
|
|
|
|
+ this.ooption.course.push(_array[i].course);
|
|
|
|
+ }
|
|
|
|
+ this.setChart(this.ooption);
|
|
var _this = this;
|
|
var _this = this;
|
|
window.addEventListener("resize", () => {
|
|
window.addEventListener("resize", () => {
|
|
if (_this.chartObj) {
|
|
if (_this.chartObj) {
|
|
@@ -70,9 +122,6 @@ export default {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- created() {
|
|
|
|
- this.setChart();
|
|
|
|
- },
|
|
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
|
|
|