Quellcode durchsuchen

修改饼图,把cdn修改到本地

xzxwsk vor 2 Monaten
Ursprung
Commit
cfee3edc07

+ 2 - 2
projects/src/main/webapp/asset/css/indexScreen.css

@@ -631,8 +631,8 @@ body {
   margin-top: calc(80 / 1080 * calc(100vh));
 }
 .main .main-right .main-right-top .bie-echarts {
-  width: calc(330 / 1920 * calc(100vw));
-  height: calc(188 / 1080 * calc(100vh));
+  width: calc(350 / 1920 * calc(100vw));
+  height: calc(208 / 1080 * calc(100vh));
   position: relative;
   z-index: 2;
 }

+ 428 - 0
projects/src/main/webapp/asset/lib/echarts/5.6.0/echarts-liquidfill.min.js

@@ -0,0 +1,428 @@
+!function(e, t) {
+    "object" == typeof exports && "object" == typeof module ? module.exports = t(require("echarts")) : "function" == typeof define && define.amd ? define(["echarts"], t) : "object" == typeof exports ? exports["echarts-liquidfill"] = t(require("echarts")) : e["echarts-liquidfill"] = t(e.echarts)
+}(self, (function(e) {
+    return ( () => {
+        "use strict";
+        var t = {
+            245: (e, t, a) => {
+                a.r(t);
+                var i = a(83);
+                i.extendSeriesModel({
+                    type: "series.liquidFill",
+                    optionUpdated: function() {
+                        var e = this.option;
+                        e.gridSize = Math.max(Math.floor(e.gridSize), 4)
+                    },
+                    getInitialData: function(e, t) {
+                        var a = i.helper.createDimensions(e.data, {
+                            coordDimensions: ["value"]
+                        })
+                          , r = new i.List(a,this);
+                        return r.initData(e.data),
+                        r
+                    },
+                    defaultOption: {
+                        color: ["#294D99", "#156ACF", "#1598ED", "#45BDFF"],
+                        center: ["50%", "50%"],
+                        radius: "50%",
+                        amplitude: "8%",
+                        waveLength: "80%",
+                        phase: "auto",
+                        period: "auto",
+                        direction: "right",
+                        shape: "circle",
+                        waveAnimation: !0,
+                        animationEasing: "linear",
+                        animationEasingUpdate: "linear",
+                        animationDuration: 2e3,
+                        animationDurationUpdate: 1e3,
+                        outline: {
+                            show: !0,
+                            borderDistance: 8,
+                            itemStyle: {
+                                color: "none",
+                                borderColor: "#294D99",
+                                borderWidth: 8,
+                                shadowBlur: 20,
+                                shadowColor: "rgba(0, 0, 0, 0.25)"
+                            }
+                        },
+                        backgroundStyle: {
+                            color: "#E3F7FF"
+                        },
+                        itemStyle: {
+                            opacity: .95,
+                            shadowBlur: 50,
+                            shadowColor: "rgba(0, 0, 0, 0.4)"
+                        },
+                        label: {
+                            show: !0,
+                            color: "#294D99",
+                            insideColor: "#fff",
+                            fontSize: 50,
+                            fontWeight: "bold",
+                            align: "center",
+                            baseline: "middle",
+                            position: "inside"
+                        },
+                        emphasis: {
+                            itemStyle: {
+                                opacity: .8
+                            }
+                        }
+                    }
+                });
+                const r = i.graphic.extendShape({
+                    type: "ec-liquid-fill",
+                    shape: {
+                        waveLength: 0,
+                        radius: 0,
+                        radiusY: 0,
+                        cx: 0,
+                        cy: 0,
+                        waterLevel: 0,
+                        amplitude: 0,
+                        phase: 0,
+                        inverse: !1
+                    },
+                    buildPath: function(e, t) {
+                        null == t.radiusY && (t.radiusY = t.radius);
+                        for (var a = Math.max(2 * Math.ceil(2 * t.radius / t.waveLength * 4), 8); t.phase < 2 * -Math.PI; )
+                            t.phase += 2 * Math.PI;
+                        for (; t.phase > 0; )
+                            t.phase -= 2 * Math.PI;
+                        var i = t.phase / Math.PI / 2 * t.waveLength
+                          , r = t.cx - t.radius + i - 2 * t.radius;
+                        e.moveTo(r, t.waterLevel);
+                        for (var l = 0, o = 0; o < a; ++o) {
+                            var s = o % 4
+                              , h = n(o * t.waveLength / 4, s, t.waveLength, t.amplitude);
+                            e.bezierCurveTo(h[0][0] + r, -h[0][1] + t.waterLevel, h[1][0] + r, -h[1][1] + t.waterLevel, h[2][0] + r, -h[2][1] + t.waterLevel),
+                            o === a - 1 && (l = h[2][0])
+                        }
+                        t.inverse ? (e.lineTo(l + r, t.cy - t.radiusY),
+                        e.lineTo(r, t.cy - t.radiusY),
+                        e.lineTo(r, t.waterLevel)) : (e.lineTo(l + r, t.cy + t.radiusY),
+                        e.lineTo(r, t.cy + t.radiusY),
+                        e.lineTo(r, t.waterLevel)),
+                        e.closePath()
+                    }
+                });
+                function n(e, t, a, i) {
+                    return 0 === t ? [[e + .5 * a / Math.PI / 2, i / 2], [e + .5 * a / Math.PI, i], [e + a / 4, i]] : 1 === t ? [[e + .5 * a / Math.PI / 2 * (Math.PI - 2), i], [e + .5 * a / Math.PI / 2 * (Math.PI - 1), i / 2], [e + a / 4, 0]] : 2 === t ? [[e + .5 * a / Math.PI / 2, -i / 2], [e + .5 * a / Math.PI, -i], [e + a / 4, -i]] : [[e + .5 * a / Math.PI / 2 * (Math.PI - 2), -i], [e + .5 * a / Math.PI / 2 * (Math.PI - 1), -i / 2], [e + a / 4, 0]]
+                }
+                var l = function(e, t) {
+                    switch (e) {
+                    case "center":
+                    case "middle":
+                        e = "50%";
+                        break;
+                    case "left":
+                    case "top":
+                        e = "0%";
+                        break;
+                    case "right":
+                    case "bottom":
+                        e = "100%"
+                    }
+                    return "string" == typeof e ? (a = e,
+                    a.replace(/^\s+|\s+$/g, "")).match(/%$/) ? parseFloat(e) / 100 * t : parseFloat(e) : null == e ? NaN : +e;
+                    var a
+                };
+                function o(e) {
+                    return e && 0 === e.indexOf("path://")
+                }
+                i.extendChartView({
+                    type: "liquidFill",
+                    render: function(e, t, a) {
+                        var n = this
+                          , s = this.group;
+                        s.removeAll();
+                        var h = e.getData()
+                          , d = h.getItemModel(0)
+                          , p = d.get("center")
+                          , u = d.get("radius")
+                          , c = a.getWidth()
+                          , g = a.getHeight()
+                          , v = Math.min(c, g)
+                          , f = 0
+                          , y = 0
+                          , m = e.get("outline.show");
+                        m && (f = e.get("outline.borderDistance"),
+                        y = l(e.get("outline.itemStyle.borderWidth"), v));
+                        var w, b, x, M = l(p[0], c), P = l(p[1], g), I = !1, S = e.get("shape");
+                        "container" === S ? (I = !0,
+                        b = [(w = [c / 2, g / 2])[0] - y / 2, w[1] - y / 2],
+                        x = [l(f, c), l(f, g)],
+                        u = [Math.max(b[0] - x[0], 0), Math.max(b[1] - x[1], 0)]) : (b = (w = l(u, v) / 2) - y / 2,
+                        x = l(f, v),
+                        u = Math.max(b - x, 0)),
+                        m && (Y().style.lineWidth = y,
+                        s.add(Y()));
+                        var L = I ? 0 : M - u
+                          , C = I ? 0 : P - u
+                          , T = null;
+                        s.add(function() {
+                            var t = E(u);
+                            t.setStyle(e.getModel("backgroundStyle").getItemStyle()),
+                            t.style.fill = null,
+                            t.z2 = 5;
+                            var a = E(u);
+                            a.setStyle(e.getModel("backgroundStyle").getItemStyle()),
+                            a.style.stroke = null;
+                            var r = new i.graphic.Group;
+                            return r.add(t),
+                            r.add(a),
+                            r
+                        }());
+                        var D = this._data
+                          , F = [];
+                        function E(e, t) {
+                            if (S) {
+                                if (o(S)) {
+                                    var a = i.graphic.makePath(S.slice(7), {})
+                                      , r = a.getBoundingRect()
+                                      , n = r.width
+                                      , l = r.height;
+                                    n > l ? (l *= 2 * e / n,
+                                    n = 2 * e) : (n *= 2 * e / l,
+                                    l = 2 * e);
+                                    var s = t ? 0 : M - n / 2
+                                      , h = t ? 0 : P - l / 2;
+                                    return a = i.graphic.makePath(S.slice(7), {}, new i.graphic.BoundingRect(s,h,n,l)),
+                                    t && (a.x = -n / 2,
+                                    a.y = -l / 2),
+                                    a
+                                }
+                                if (I) {
+                                    var d = t ? -e[0] : M - e[0]
+                                      , p = t ? -e[1] : P - e[1];
+                                    return i.helper.createSymbol("rect", d, p, 2 * e[0], 2 * e[1])
+                                }
+                                return d = t ? -e : M - e,
+                                p = t ? -e : P - e,
+                                "pin" === S ? p += e : "arrow" === S && (p -= e),
+                                i.helper.createSymbol(S, d, p, 2 * e, 2 * e)
+                            }
+                            return new i.graphic.Circle({
+                                shape: {
+                                    cx: t ? 0 : M,
+                                    cy: t ? 0 : P,
+                                    r: e
+                                }
+                            })
+                        }
+                        function Y() {
+                            var t = E(w);
+                            return t.style.fill = null,
+                            t.setStyle(e.getModel("outline.itemStyle").getItemStyle()),
+                            t
+                        }
+                        function k(t, a, n) {
+                            var o = I ? u[0] : u
+                              , s = I ? g / 2 : u
+                              , d = h.getItemModel(t)
+                              , p = d.getModel("itemStyle")
+                              , c = d.get("phase")
+                              , v = l(d.get("amplitude"), 2 * s)
+                              , f = l(d.get("waveLength"), 2 * o)
+                              , y = s - h.get("value", t) * s * 2;
+                            c = n ? n.shape.phase : "auto" === c ? t * Math.PI / 4 : c;
+                            var m = p.getItemStyle();
+                            if (!m.fill) {
+                                var w = e.get("color")
+                                  , b = t % w.length;
+                                m.fill = w[b]
+                            }
+                            var x = new r({
+                                shape: {
+                                    waveLength: f,
+                                    radius: o,
+                                    radiusY: s,
+                                    cx: 2 * o,
+                                    cy: 0,
+                                    waterLevel: y,
+                                    amplitude: v,
+                                    phase: c,
+                                    inverse: a
+                                },
+                                style: m,
+                                x: M,
+                                y: P
+                            });
+                            x.shape._waterLevel = y;
+                            var S = d.getModel("emphasis.itemStyle").getItemStyle();
+                            S.lineWidth = 0,
+                            x.ensureState("emphasis").style = S,
+                            i.helper.enableHoverEmphasis(x);
+                            var L = E(u, !0);
+                            return L.setStyle({
+                                fill: "white"
+                            }),
+                            x.setClipPath(L),
+                            x
+                        }
+                        function q(e, t, a) {
+                            var i = h.getItemModel(e)
+                              , r = i.get("period")
+                              , n = i.get("direction")
+                              , l = h.get("value", e)
+                              , o = i.get("phase");
+                            o = a ? a.shape.phase : "auto" === o ? e * Math.PI / 4 : o;
+                            var s, d;
+                            s = "auto" === r ? 0 === (d = h.count()) ? 5e3 : 5e3 * (.2 + (d - e) / d * .8) : "function" == typeof r ? r(l, e) : r;
+                            var p = 0;
+                            "right" === n || null == n ? p = Math.PI : "left" === n ? p = -Math.PI : "none" === n ? p = 0 : console.error("Illegal direction value for liquid fill."),
+                            "none" !== n && i.get("waveAnimation") && t.animate("shape", !0).when(0, {
+                                phase: o
+                            }).when(s / 2, {
+                                phase: p + o
+                            }).when(s, {
+                                phase: 2 * p + o
+                            }).during((function() {
+                                T && T.dirty(!0)
+                            }
+                            )).start()
+                        }
+                        h.diff(D).add((function(t) {
+                            var a = k(t, !1)
+                              , r = a.shape.waterLevel;
+                            a.shape.waterLevel = I ? g / 2 : u,
+                            i.graphic.initProps(a, {
+                                shape: {
+                                    waterLevel: r
+                                }
+                            }, e),
+                            a.z2 = 2,
+                            q(t, a, null),
+                            s.add(a),
+                            h.setItemGraphicEl(t, a),
+                            F.push(a)
+                        }
+                        )).update((function(t, a) {
+                            for (var r = D.getItemGraphicEl(a), l = k(t, !1, r), d = {}, p = ["amplitude", "cx", "cy", "phase", "radius", "radiusY", "waterLevel", "waveLength"], u = 0; u < p.length; ++u) {
+                                var c = p[u];
+                                l.shape.hasOwnProperty(c) && (d[c] = l.shape[c])
+                            }
+                            var v = {}
+                              , f = ["fill", "opacity", "shadowBlur", "shadowColor"];
+                            for (u = 0; u < f.length; ++u)
+                                c = f[u],
+                                l.style.hasOwnProperty(c) && (v[c] = l.style[c]);
+                            I && (d.radiusY = g / 2),
+                            i.graphic.updateProps(r, {
+                                shape: d,
+                                x: l.x,
+                                y: l.y
+                            }, e),
+                            e.isUniversalTransitionEnabled && e.isUniversalTransitionEnabled() ? i.graphic.updateProps(r, {
+                                style: v
+                            }, e) : r.useStyle(v);
+                            var y = r.getClipPath()
+                              , m = l.getClipPath();
+                            r.setClipPath(l.getClipPath()),
+                            r.shape.inverse = l.inverse,
+                            y && m && n._shape === S && !o(S) && i.graphic.updateProps(m, {
+                                shape: y.shape
+                            }, e, {
+                                isFrom: !0
+                            }),
+                            q(t, r, r),
+                            s.add(r),
+                            h.setItemGraphicEl(t, r),
+                            F.push(r)
+                        }
+                        )).remove((function(e) {
+                            var t = D.getItemGraphicEl(e);
+                            s.remove(t)
+                        }
+                        )).execute(),
+                        d.get("label.show") && s.add(function(t) {
+                            var a = d.getModel("label");
+                            var r, n, l, o = {
+                                z2: 10,
+                                shape: {
+                                    x: L,
+                                    y: C,
+                                    width: 2 * (I ? u[0] : u),
+                                    height: 2 * (I ? u[1] : u)
+                                },
+                                style: {
+                                    fill: "transparent"
+                                },
+                                textConfig: {
+                                    position: a.get("position") || "inside"
+                                },
+                                silent: !0
+                            }, s = {
+                                style: {
+                                    text: (r = e.getFormattedLabel(0, "normal"),
+                                    n = 100 * h.get("value", 0),
+                                    l = h.getName(0) || e.name,
+                                    isNaN(n) || (l = n.toFixed(0) + "%"),
+                                    null == r ? l : r),
+                                    textAlign: a.get("align"),
+                                    textVerticalAlign: a.get("baseline")
+                                }
+                            };
+                            Object.assign(s.style, i.helper.createTextStyle(a));
+                            var p = new i.graphic.Rect(o)
+                              , c = new i.graphic.Rect(o);
+                            c.disableLabelAnimation = !0,
+                            p.disableLabelAnimation = !0;
+                            var g = new i.graphic.Text(s)
+                              , v = new i.graphic.Text(s);
+                            p.setTextContent(g),
+                            c.setTextContent(v);
+                            var f = a.get("insideColor");
+                            v.style.fill = f;
+                            var y = new i.graphic.Group;
+                            y.add(p),
+                            y.add(c);
+                            var m = E(u, !0);
+                            return (T = new i.graphic.CompoundPath({
+                                shape: {
+                                    paths: t
+                                },
+                                x: M,
+                                y: P
+                            })).setClipPath(m),
+                            c.setClipPath(T),
+                            y
+                        }(F)),
+                        this._shape = S,
+                        this._data = h
+                    },
+                    dispose: function() {}
+                })
+            }
+            ,
+            83: t => {
+                t.exports = e
+            }
+        }
+          , a = {};
+        function i(e) {
+            if (a[e])
+                return a[e].exports;
+            var r = a[e] = {
+                exports: {}
+            };
+            return t[e](r, r.exports, i),
+            r.exports
+        }
+        return i.r = e => {
+            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
+                value: "Module"
+            }),
+            Object.defineProperty(e, "__esModule", {
+                value: !0
+            })
+        }
+        ,
+        i(245)
+    }
+    )()
+}
+));
+//# sourceMappingURL=echarts-liquidfill.min.js.map

Datei-Diff unterdrückt, da er zu groß ist
+ 34 - 0
projects/src/main/webapp/asset/lib/echarts/5.6.0/echarts.min.js


+ 9 - 11
projects/src/main/webapp/vmodules/statics/analysisScreen_four.jsp

@@ -609,8 +609,8 @@
 
 </div>
 
-<script src="https://cdn.jsdelivr.net/npm/echarts@5.6.0/dist/echarts.min.js"></script>
-<script src="https://cdn.jsdelivr.net/npm/echarts-liquidfill@3.1.0/dist/echarts-liquidfill.min.js"></script>
+<script src="${WebSite.asset}/lib/echarts/5.6.0/echarts.min.js"></script>
+<script src="${WebSite.asset}/lib/echarts/5.6.0/echarts-liquidfill.min.js"></script>
 <script>
     var checkRate=0; //备案核准率
     var openRate=0;  //开工率
@@ -899,12 +899,13 @@
                 {
                     name: '饼图',
                     type: 'pie',
-                    radius: ['50%', '78%'],
+                    radius: ['35%', '65%'],
                     center: ['50%', '50%'],
+                    avoidLabelOverlap: true,
                     labelLine: {
                         length: 15,
-                        length2: 80,
                         // maxSurfaceAngle: 80
+                        showAbove: true,
                         lineStyle: {
                             width: 2,
                             color: '#59c9ff',
@@ -918,27 +919,24 @@
                         position: 'outside',
                         // margin: 2,
                         formatter: '{data|{c}}{unit| %}\n{name|{b}}',
-                        minMargin: 0,
                         edgeDistance: 0,
-                        lineHeight: 15,
                         rich: {
                             data: {
-                                fontSize: 18,
+                                fontSize: 14,
                                 color: '#fff'
                             },
                             unit: {
-                                fontSize: 12,
+                                fontSize: 10,
                                 color: '#fff'
                             },
                             name: {
-                                fontSize: 12,
+                                fontSize: 11,
                                 color: '#fff'
                             }
                         }
                     },
                     labelLayout: {
                       moveOverlap: 'shiftY',
-                      height: 36,
                     },
                     itemStyle: {
                         // borderWidth: 1,
@@ -1005,7 +1003,7 @@
                 , {
                     name: '内圈',
                     type: 'pie',
-                    radius: ['30%', '50%'],//边框大小
+                    radius: ['25%', '35%'],//边框大小
                     center: ['50%', '50%'],
                     label: {
                         show: false

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.