Selaa lähdekoodia

waterAnalysisSharingEnginePush water.js 李欣儒 commit at 2020-12-02

李欣儒 4 vuotta sitten
vanhempi
commit
1e3a528f6e
1 muutettua tiedostoa jossa 124 lisäystä ja 0 poistoa
  1. 124 0
      waterAnalysisSharingEnginePush/externalJs/water.js

+ 124 - 0
waterAnalysisSharingEnginePush/externalJs/water.js

@@ -151,3 +151,127 @@ function getListData(queryParam = {}) {
                             let itemStyle = {};
 
                             typeof pieData[i].itemStyle.color != 'undefined' ? itemStyle.color = pieData[i].itemStyle.color : null;
+                            typeof pieData[i].itemStyle.opacity != 'undefined' ? itemStyle.opacity = pieData[i].itemStyle.opacity : null;
+
+                            seriesItem.itemStyle = itemStyle;
+                        }
+                        series.push(seriesItem);
+                    }
+
+                    // 使用上一次遍历时,计算出的数据和 sumValue,调用 getParametricEquation 函数,
+                    // 向每个 series-surface 传入不同的参数方程 series-surface.parametricEquation,也就是实现每一个扇形。
+                    for (let i = 0; i < series.length; i++) {
+                        endValue = startValue + series[i].pieData.value;
+                        // console.log(series[i]);
+                        series[i].pieData.startRatio = startValue / sumValue;
+                        series[i].pieData.endRatio = endValue / sumValue;
+                        series[i].parametricEquation = getParametricEquation(series[i].pieData.startRatio, series[i].pieData.endRatio, false, false, k, series[i].pieData.value);
+
+                        startValue = endValue;
+
+                        legendData.push(series[i].name);
+                    }
+
+
+
+                    // 准备待返回的配置项,把准备好的 legendData、series 传入。
+                    let option = {
+
+                        tooltip: {
+                            backgroundColor: '#12DFE0',
+                            formatter: params => {
+                                if (params.seriesName !== 'mouseoutSeries') {
+                                    // return `${params.seriesName}<br/><span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${params.color};"></span>${option.series[params.seriesIndex].pieData.value}%`;
+                                    return `${params.seriesName}: ${option.series[params.seriesIndex].pieData.value}%`;
+                                }
+                            }
+                        },
+
+                        xAxis3D: {
+                            min: -1,
+                            max: 1
+                        },
+                        yAxis3D: {
+                            min: -1,
+                            max: 1
+                        },
+                        zAxis3D: {
+                            min: -1,
+                            max: 1
+                        },
+                        grid3D: {
+                            show: false,
+                            boxHeight: 40,
+                            top: '-10%',
+                            // bottom: '80%',
+                            // environment: '../images/3d-bg.png', //aa背景色
+
+                            viewControl: {
+                                distance: 170, //aa距离
+                                alpha: 21, //aa角度
+                                beta: 60, //aa角度
+                                zoomSensitivity: false //是否开启缩放和平移
+                            },
+                        },
+                        series: series
+                    };
+                    return option;
+                }
+
+                // 传入数据生成 option
+                var option = getPie3D([{
+                    name: '已处理率',
+                    value: data_statistics.treatment_rate,
+                    itemStyle: {
+                        opacity: 0.5,
+                        color: 'rgba(0,127,244,.8)',
+                    }
+                }, {
+                    name: '未处理率',
+                    value: data_statistics.untreated_rate,
+                    itemStyle: {
+                        opacity: 0.5,
+                        color: 'rgba(209,126,23,.8)',
+                    }
+                }], 2);
+
+                // 把配置给实例对象
+                myChart.setOption(option);
+                window.addEventListener("resize", function() {
+                    myChart.resize();
+                });
+
+            })();
+
+            // 折线图定制 (数据离散率挖掘)
+            (function() {
+
+                let dispersion_rate = result.RESULT[0].dispersion_rate;
+
+                // 结论数据渲染
+                var items = '';
+                var conclusion = dispersion_rate.conclusion
+                for (x in conclusion) {
+                    xIndex = x.substr(x.length - 1, 1);
+                    items += `<p>${xIndex}、${conclusion[x]}</p>`
+                }
+                $('.divergence .summaryDetail').html(items);
+
+                let a = [];
+                let b = [];
+                let c = [];
+                let hydraulic_pressure = dispersion_rate.hydraulic_pressure;
+                hydraulic_pressure.forEach(function(item, index) {
+                    a.push(item.variance)
+                    b.push(item.standard_deviation)
+                    c.push(item.average_value)
+                });
+
+                var sortData = [{
+                    data: [a, b, c]
+                }];
+
+                var xData = function() {
+                    var data = [];
+                    for (var i = 1; i < hydraulic_pressure.length + 1; i++) {
+                        data.push(i);