|
@@ -581,66 +581,73 @@
|
|
|
}
|
|
|
|
|
|
{
|
|
|
- let radar = [];
|
|
|
- let radaxr = [0, 45, 90, 135, 180, 225, 270, 315, 360];
|
|
|
- let serise = [{
|
|
|
- value: [],
|
|
|
- name: "实际风向",
|
|
|
- },
|
|
|
- {
|
|
|
- value: [],
|
|
|
- name: "预测风向",
|
|
|
- },
|
|
|
- ];
|
|
|
- jsonData.windRosetteChartData.dataFormatList[0].data.forEach(
|
|
|
- (item, index) => {
|
|
|
- if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
- let obj = {
|
|
|
- name: (index + 1) * 5,
|
|
|
- };
|
|
|
- radar.unshift(obj);
|
|
|
- }
|
|
|
+ // let radar = [];
|
|
|
+ // let radaxr = [0, 45, 90, 135, 180, 225, 270, 315, 360];
|
|
|
+ // let serise = [{
|
|
|
+ // value: [],
|
|
|
+ // name: "实际风向",
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // value: [],
|
|
|
+ // name: "预测风向",
|
|
|
+ // },
|
|
|
+ // ];
|
|
|
+ // jsonData.windRosetteChartData.dataFormatList[0].data.forEach(
|
|
|
+ // (item, index) => {
|
|
|
+ // if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
+ // let obj = {
|
|
|
+ // name: (index + 1) * 5,
|
|
|
+ // };
|
|
|
+ // radar.unshift(obj);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // );
|
|
|
+ // jsonData.windRosetteChartData.dataFormatList.forEach((itn) => {
|
|
|
+ // let ser1 = [];
|
|
|
+ // let ser2 = [];
|
|
|
+ // if (itn.name === "预测风速") {
|
|
|
+ // itn.data.forEach((it, index) => {
|
|
|
+ // if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
+ // ser1.unshift(it && it !== 0 ? it.toFixed(1) : 0);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // serise[1].value = ser1;
|
|
|
+ // } else {
|
|
|
+ // itn.data.forEach((it, index) => {
|
|
|
+ // if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
+ // ser2.unshift(it && it !== 0 ? it.toFixed(1) : 0);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // serise[0].value = ser2;
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // radar.forEach((itb) => {
|
|
|
+ // if (itb.name === 360) {
|
|
|
+ // itb.name = "北";
|
|
|
+ // } else if (itb.name === 45) {
|
|
|
+ // itb.name = "东北";
|
|
|
+ // } else if (itb.name === 90) {
|
|
|
+ // itb.name = "东";
|
|
|
+ // } else if (itb.name === 135) {
|
|
|
+ // itb.name = "东南";
|
|
|
+ // } else if (itb.name === 180) {
|
|
|
+ // itb.name = "南";
|
|
|
+ // } else if (itb.name === 225) {
|
|
|
+ // itb.name = "西南";
|
|
|
+ // } else if (itb.name === 270) {
|
|
|
+ // itb.name = "西";
|
|
|
+ // } else if (itb.name === 315) {
|
|
|
+ // itb.name = "西北";
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ let serise = []
|
|
|
+ jsonData.meteorologicalElementsData.dataFormatList.forEach(it => {
|
|
|
+ if (it.name === '风向') {
|
|
|
+ serise = it.data
|
|
|
}
|
|
|
- );
|
|
|
- jsonData.windRosetteChartData.dataFormatList.forEach((itn) => {
|
|
|
- let ser1 = [];
|
|
|
- let ser2 = [];
|
|
|
- if (itn.name === "预测风速") {
|
|
|
- itn.data.forEach((it, index) => {
|
|
|
- if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
- ser1.unshift(it && it !== 0 ? it.toFixed(1) : 0);
|
|
|
- }
|
|
|
- });
|
|
|
- serise[1].value = ser1;
|
|
|
- } else {
|
|
|
- itn.data.forEach((it, index) => {
|
|
|
- if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
- ser2.unshift(it && it !== 0 ? it.toFixed(1) : 0);
|
|
|
- }
|
|
|
- });
|
|
|
- serise[0].value = ser2;
|
|
|
- }
|
|
|
- });
|
|
|
- radar.forEach((itb) => {
|
|
|
- if (itb.name === 360) {
|
|
|
- itb.name = "北";
|
|
|
- } else if (itb.name === 45) {
|
|
|
- itb.name = "东北";
|
|
|
- } else if (itb.name === 90) {
|
|
|
- itb.name = "东";
|
|
|
- } else if (itb.name === 135) {
|
|
|
- itb.name = "东南";
|
|
|
- } else if (itb.name === 180) {
|
|
|
- itb.name = "南";
|
|
|
- } else if (itb.name === 225) {
|
|
|
- itb.name = "西南";
|
|
|
- } else if (itb.name === 270) {
|
|
|
- itb.name = "西";
|
|
|
- } else if (itb.name === 315) {
|
|
|
- itb.name = "西北";
|
|
|
- }
|
|
|
- });
|
|
|
- that.getRadar(radar, serise);
|
|
|
+
|
|
|
+ })
|
|
|
+ that.getRose(serise);
|
|
|
}
|
|
|
|
|
|
const gaugeData = [{
|
|
@@ -1335,64 +1342,71 @@
|
|
|
};
|
|
|
apiGetwindRosetteChart(params).then((datas) => {
|
|
|
if (datas && datas.data) {
|
|
|
- let radar = [];
|
|
|
- let radaxr = [0, 45, 90, 135, 180, 225, 270, 315, 360];
|
|
|
- let serise = [{
|
|
|
- value: [],
|
|
|
- name: "实际风向",
|
|
|
- },
|
|
|
- {
|
|
|
- value: [],
|
|
|
- name: "预测风向",
|
|
|
- },
|
|
|
- ];
|
|
|
- datas.data.dataFormatList[0].data.forEach((item, index) => {
|
|
|
- if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
- let obj = {
|
|
|
- name: (index + 1) * 5,
|
|
|
- };
|
|
|
- radar.unshift(obj);
|
|
|
- }
|
|
|
- });
|
|
|
- datas.data.dataFormatList.forEach((itn) => {
|
|
|
- let ser1 = [];
|
|
|
- let ser2 = [];
|
|
|
- if (itn.name === "预测风速") {
|
|
|
- itn.data.forEach((it, index) => {
|
|
|
- if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
- ser1.unshift(it && it !== 0 ? it.toFixed(1) : 0);
|
|
|
- }
|
|
|
- });
|
|
|
- serise[1].value = ser1;
|
|
|
- } else {
|
|
|
- itn.data.forEach((it, index) => {
|
|
|
- if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
- ser2.unshift(it && it !== 0 ? it.toFixed(1) : 0);
|
|
|
- }
|
|
|
- });
|
|
|
- serise[0].value = ser2;
|
|
|
- }
|
|
|
- });
|
|
|
- radar.forEach((itb) => {
|
|
|
- if (itb.name === 360) {
|
|
|
- itb.name = "北";
|
|
|
- } else if (itb.name === 45) {
|
|
|
- itb.name = "东北";
|
|
|
- } else if (itb.name === 90) {
|
|
|
- itb.name = "东";
|
|
|
- } else if (itb.name === 135) {
|
|
|
- itb.name = "东南";
|
|
|
- } else if (itb.name === 180) {
|
|
|
- itb.name = "南";
|
|
|
- } else if (itb.name === 225) {
|
|
|
- itb.name = "西南";
|
|
|
- } else if (itb.name === 270) {
|
|
|
- itb.name = "西";
|
|
|
- } else if (itb.name === 315) {
|
|
|
- itb.name = "西北";
|
|
|
+ // let radar = [];
|
|
|
+ // let radaxr = [0, 45, 90, 135, 180, 225, 270, 315, 360];
|
|
|
+ // let serise = [{
|
|
|
+ // value: [],
|
|
|
+ // name: "实际风向",
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // value: [],
|
|
|
+ // name: "预测风向",
|
|
|
+ // },
|
|
|
+ // ];
|
|
|
+ // datas.data.dataFormatList[0].data.forEach((item, index) => {
|
|
|
+ // if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
+ // let obj = {
|
|
|
+ // name: (index + 1) * 5,
|
|
|
+ // };
|
|
|
+ // radar.unshift(obj);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // datas.data.dataFormatList.forEach((itn) => {
|
|
|
+ // let ser1 = [];
|
|
|
+ // let ser2 = [];
|
|
|
+ // if (itn.name === "预测风速") {
|
|
|
+ // itn.data.forEach((it, index) => {
|
|
|
+ // if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
+ // ser1.unshift(it && it !== 0 ? it.toFixed(1) : 0);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // serise[1].value = ser1;
|
|
|
+ // } else {
|
|
|
+ // itn.data.forEach((it, index) => {
|
|
|
+ // if (radaxr.indexOf((index + 1) * 5) !== -1) {
|
|
|
+ // ser2.unshift(it && it !== 0 ? it.toFixed(1) : 0);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // serise[0].value = ser2;
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // radar.forEach((itb) => {
|
|
|
+ // if (itb.name === 360) {
|
|
|
+ // itb.name = "北";
|
|
|
+ // } else if (itb.name === 45) {
|
|
|
+ // itb.name = "东北";
|
|
|
+ // } else if (itb.name === 90) {
|
|
|
+ // itb.name = "东";
|
|
|
+ // } else if (itb.name === 135) {
|
|
|
+ // itb.name = "东南";
|
|
|
+ // } else if (itb.name === 180) {
|
|
|
+ // itb.name = "南";
|
|
|
+ // } else if (itb.name === 225) {
|
|
|
+ // itb.name = "西南";
|
|
|
+ // } else if (itb.name === 270) {
|
|
|
+ // itb.name = "西";
|
|
|
+ // } else if (itb.name === 315) {
|
|
|
+ // itb.name = "西北";
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ let serise = []
|
|
|
+ datas.data.dataFormatList.forEach(it => {
|
|
|
+ if (it.name === '风向') {
|
|
|
+ serise = it.data
|
|
|
}
|
|
|
- });
|
|
|
- this.getRadar(radar, serise);
|
|
|
+
|
|
|
+ })
|
|
|
+ this.getRose(serise);
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -1439,6 +1453,61 @@
|
|
|
myChart.resize();
|
|
|
});
|
|
|
},
|
|
|
+ getRose(serise) {
|
|
|
+ let option = {
|
|
|
+ backgroundColor: '',
|
|
|
+ polar: {
|
|
|
+ radius: [10, '80%']
|
|
|
+ },
|
|
|
+ radiusAxis: {
|
|
|
+ max: 25,
|
|
|
+ startAngle: 75
|
|
|
+ },
|
|
|
+ angleAxis: {
|
|
|
+ type: 'category',
|
|
|
+ data: ["北", "东北", "东", "东南", "南", "西南", "西", "西北"],
|
|
|
+ boundaryGap: false,
|
|
|
+ axisLabel: {
|
|
|
+ show: true,
|
|
|
+ interval: 0,
|
|
|
+ formatter: '{value}',
|
|
|
+ align: 'center',
|
|
|
+ margin: 10
|
|
|
+ },
|
|
|
+ axisTick: {
|
|
|
+ show: true,
|
|
|
+ alignWithLabel: true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tooltip: {},
|
|
|
+ series: [{
|
|
|
+ name: '实际',
|
|
|
+ type: 'bar',
|
|
|
+ data: serise[1],
|
|
|
+ coordinateSystem: 'polar',
|
|
|
+ barWidth: 15
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '预测',
|
|
|
+ type: 'bar',
|
|
|
+ data: serise[0],
|
|
|
+ coordinateSystem: 'polar',
|
|
|
+ barWidth: 15
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ animation: false
|
|
|
+ };
|
|
|
+ // 基于准备好的dom,初始化echarts实例
|
|
|
+ let dom = document.getElementById("radarChart");
|
|
|
+ dom.removeAttribute("_echarts_instance_") ?
|
|
|
+ dom.removeAttribute("_echarts_instance_") :
|
|
|
+ "";
|
|
|
+ let myChart = this.$echarts.init(dom, this.echartsTheme);
|
|
|
+ myChart.setOption(option);
|
|
|
+ window.addEventListener("resize", function () {
|
|
|
+ myChart.resize();
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|