hydro-graph 1.0.34 → 1.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hydro-graph.es.js +349 -349
- package/dist/hydro-graph.umd.js +11 -11
- package/package.json +1 -1
package/dist/hydro-graph.es.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { ref as ie, watch as
|
|
1
|
+
import { ref as ie, watch as Ie, nextTick as Oe, onMounted as ln, resolveComponent as _, resolveDirective as on, withDirectives as xe, openBlock as H, createElementBlock as Z, createTextVNode as ke, toDisplayString as se, vShow as Fe, createBlock as X, createCommentVNode as K, Fragment as Ee, renderList as De, normalizeStyle as G, withCtx as W, createElementVNode as q, createVNode as de, unref as Ce, normalizeClass as rn, defineComponent as sn, computed as Te } from "vue";
|
|
2
2
|
import * as ze from "echarts/core";
|
|
3
|
-
import { LineChart as
|
|
4
|
-
import { TooltipComponent as
|
|
5
|
-
import { LabelLayout as
|
|
6
|
-
import { CanvasRenderer as
|
|
7
|
-
import
|
|
3
|
+
import { LineChart as dn, BarChart as cn } from "echarts/charts";
|
|
4
|
+
import { TooltipComponent as fn, GridComponent as un, LegendComponent as hn, DataZoomComponent as pn } from "echarts/components";
|
|
5
|
+
import { LabelLayout as An } from "echarts/features";
|
|
6
|
+
import { CanvasRenderer as xn } from "echarts/renderers";
|
|
7
|
+
import O from "dayjs";
|
|
8
8
|
import Le from "html2canvas";
|
|
9
|
-
import { ElMessage as
|
|
9
|
+
import { ElMessage as yn, ElCheckbox as gn, ElIcon as mn, ElDropdown as vn, ElDropdownMenu as bn, ElDropdownItem as En } from "element-plus";
|
|
10
10
|
import { ArrowDown as Ne } from "@element-plus/icons-vue";
|
|
11
|
-
function
|
|
12
|
-
let
|
|
13
|
-
return window.performance && typeof window.performance.now == "function" && (
|
|
11
|
+
function Mn() {
|
|
12
|
+
let o = (/* @__PURE__ */ new Date()).getTime();
|
|
13
|
+
return window.performance && typeof window.performance.now == "function" && (o += performance.now()), "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
|
|
14
14
|
/[xy]/g,
|
|
15
15
|
function(N) {
|
|
16
|
-
const A = (
|
|
17
|
-
return
|
|
16
|
+
const A = (o + Math.random() * 16) % 16 | 0;
|
|
17
|
+
return o = Math.floor(o / 16), (N == "x" ? A : A & 3 | 8).toString(16);
|
|
18
18
|
}
|
|
19
19
|
);
|
|
20
20
|
}
|
|
@@ -72,18 +72,18 @@ const Be = [
|
|
|
72
72
|
"#00B4DB",
|
|
73
73
|
"#0083B0"
|
|
74
74
|
];
|
|
75
|
-
function ye(
|
|
75
|
+
function ye(o) {
|
|
76
76
|
let m = /^(\d{4})-(\d{2})-(\d{2}) ([01]\d|2[0-3]):[0-5]\d$/, N = /^(\d{2})-(\d{2}) ([01]\d|2[0-3]):[0-5]\d$/, A = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
77
|
-
return m.test(
|
|
77
|
+
return m.test(o) || N.test(o) || A.test(o);
|
|
78
78
|
}
|
|
79
|
-
function D(
|
|
79
|
+
function D(o, m, N) {
|
|
80
80
|
let A = "";
|
|
81
|
-
return m -
|
|
81
|
+
return m - o <= 1 ? A = 0.1 : m - o <= 5 ? A = 0.5 : m - o <= 10 ? A = 1 : m - o <= 25 ? A = 2.5 : m - o <= 50 ? A = 5 : m - o <= 100 ? A = 10 : m - o <= 250 ? A = 25 : m - o <= 500 ? A = 50 : m - o <= 1e3 ? A = 100 : m - o <= 2500 ? A = 250 : m - o <= 5e3 ? A = 500 : m - o <= 1e4 ? A = 1e3 : m - o <= 2e4 ? A = 2e3 : m - o <= 3e4 ? A = 3e3 : m - o <= 4e4 ? A = 4e3 : m - o <= 5e4 ? A = 5e3 : m - o <= 6e4 ? A = 6e3 : m - o <= 7e4 ? A = 7e3 : m - o <= 8e4 ? A = 8e3 : m - o <= 9e4 ? A = 9e3 : m - o <= 1e5 ? A = 1e4 : m - o <= 11e4 ? A = 11e3 : m - o <= 12e4 ? A = 12e3 : m - o <= 13e4 ? A = 13e3 : m - o <= 14e4 ? A = 14e3 : m - o <= 15e4 ? A = 15e3 : m - o <= 16e4 ? A = 16e3 : m - o <= 17e4 ? A = 17e3 : m - o <= 18e4 ? A = 18e3 : m - o <= 19e4 ? A = 19e3 : m - o <= 2e5 && (A = 2e4), N == 1 && (A = A * 2), A;
|
|
82
82
|
}
|
|
83
|
-
function ee(
|
|
84
|
-
if (isNaN(
|
|
83
|
+
function ee(o) {
|
|
84
|
+
if (isNaN(o))
|
|
85
85
|
return "";
|
|
86
|
-
var m = parseFloat(
|
|
86
|
+
var m = parseFloat(o);
|
|
87
87
|
if (m > 1) {
|
|
88
88
|
for (var N = 0, A = [
|
|
89
89
|
1,
|
|
@@ -96,8 +96,8 @@ function ee(s) {
|
|
|
96
96
|
1e7,
|
|
97
97
|
1e8,
|
|
98
98
|
1e9
|
|
99
|
-
],
|
|
100
|
-
m >= A[
|
|
99
|
+
], a = 0; a < A.length; a++)
|
|
100
|
+
m >= A[a] && m < A[a + 1] && (N = A[a]);
|
|
101
101
|
if (N == 0)
|
|
102
102
|
return m.toString();
|
|
103
103
|
var M = Math.round(m / N * 100) / 100;
|
|
@@ -109,41 +109,41 @@ function ee(s) {
|
|
|
109
109
|
return "-" + ee(Math.abs(m));
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
function Ye(
|
|
112
|
+
function Ye(o, m, N) {
|
|
113
113
|
const A = [];
|
|
114
|
-
let
|
|
115
|
-
for (;
|
|
116
|
-
const M =
|
|
117
|
-
M % N === 0 && A.push(
|
|
114
|
+
let a = new Date(o);
|
|
115
|
+
for (; a <= m; ) {
|
|
116
|
+
const M = a.getMinutes();
|
|
117
|
+
M % N === 0 && A.push(O(new Date(a)).format("YYYY-MM-DD HH:mm")), a.setMinutes(M + 1);
|
|
118
118
|
}
|
|
119
119
|
return A;
|
|
120
120
|
}
|
|
121
|
-
function
|
|
122
|
-
|
|
121
|
+
function wn(o, m) {
|
|
122
|
+
o = o.sort((a, M) => Date.parse(a) - Date.parse(M));
|
|
123
123
|
let N, A = [];
|
|
124
|
-
for (let
|
|
125
|
-
|
|
126
|
-
let M =
|
|
127
|
-
|
|
124
|
+
for (let a = 0; a < o.length; a++) {
|
|
125
|
+
a == 0 && (N = o[a]);
|
|
126
|
+
let M = O(o[a]).add(m, "minute").format("YYYY-MM-DD HH:mm");
|
|
127
|
+
o.includes(M) || (A.push({ startTm: N, endTm: o[a] }), a + 1 < o.length && (N = o[a + 1]));
|
|
128
128
|
}
|
|
129
129
|
return A;
|
|
130
130
|
}
|
|
131
|
-
const
|
|
131
|
+
const Sn = (o) => new Promise((m) => {
|
|
132
132
|
setTimeout(() => {
|
|
133
|
-
m({ statusCode: 200, data:
|
|
133
|
+
m({ statusCode: 200, data: o.rzw * 1e3 });
|
|
134
134
|
}, 100);
|
|
135
|
-
}),
|
|
136
|
-
const N =
|
|
137
|
-
for (const [A,
|
|
138
|
-
N[A] =
|
|
135
|
+
}), In = "data:image/png;base64,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", On = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAaVBMVEUAAAAQFBgQExcQEhYLFRcQExcQExYPExcQEhcOFBUQEhcQExcPEhcPExcQEhcQExYQERcPExYPEhcQExYQEhcTExMUFBQQExcQExcQExcQFBcPEhcPExcPFBYSEhgcHBwRExcOExgQExdmmIFTAAAAInRSTlMAQL+AFuzVxbEj3KOWdF9OR7qnnmgZDPrkyY5WQzIqCXs2T8mN8gAAAeVJREFUeNrt3dlqwzAQRmFFdpx9X7omaf/3f8iSrSW0FqFy0Micc+2bDxsGI9A4IiIiIqJHNJuMFz5hxWzQiGOs9PU30Yzdk0y0jnSUstI+DtKTlXpRjkJ2KmIgK9mp344vS+rGQLo65V3KOjoXM01kCdIBAgQIECChgAABEg4IECDhgAABEg4IkLZBNrPipul7lpB1pV+95AcpF/qrIjfIVmoHxLcEstajIV6XHgsZqaZ5ZpCqxrF0eUFKnfO3rQqXGaT2CSBAgAABAgQIECBAgAABAgQIEFsQr38HBAgQIECAOF+bLvm6bEFaM9mBAAECBAgQIECAAAECBAgQIECAADlBruUO+Q4IECA/AQECJBwQIEDCAQECJBwQIEDCAQECJBwQIEDCAQECJBwQIEDCGYQ8XyCdpOncJgKykJ2Gd7wz0xuTri1jIFPZaRoDcUtZaeyiIK4rIx0iIe5VFqoGLhbi5r3ky8Wqj2aubd12JkXC5uX9IzPzgFgLiLWANN1h1w7IvlLvrQWQgY695Q/p69gwf8hQp/KHCAiQU0CAAAkHBAiQcAYhgyskbQ0s+36WnV7i/gTsNGKz/7GhrDRyUb3LSlt3V9bP1rqfLrZypPS9uiaaTVY+Yf3JvHRERERERA/oC7GKf5yH1bdrAAAAAElFTkSuQmCC", kn = "data:image/png;base64,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", Re = (o, m) => {
|
|
136
|
+
const N = o.__vccOpts || o;
|
|
137
|
+
for (const [A, a] of m)
|
|
138
|
+
N[A] = a;
|
|
139
139
|
return N;
|
|
140
|
-
},
|
|
140
|
+
}, Fn = { class: "title" }, Dn = { class: "subTitle" }, Cn = { style: { width: "20px", display: "flex", "justify-content": "center" } }, Tn = { class: "mychart" }, zn = ["id"], Ln = {
|
|
141
141
|
__name: "HydroGraph",
|
|
142
142
|
props: {
|
|
143
143
|
id: {
|
|
144
144
|
type: String,
|
|
145
145
|
default() {
|
|
146
|
-
return
|
|
146
|
+
return Mn();
|
|
147
147
|
}
|
|
148
148
|
},
|
|
149
149
|
chartOption: {
|
|
@@ -177,30 +177,30 @@ const ma = (s) => new Promise((m) => {
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
},
|
|
180
|
-
setup(
|
|
180
|
+
setup(o, { expose: m, emit: N }) {
|
|
181
181
|
ze.use([
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
182
|
+
fn,
|
|
183
|
+
un,
|
|
184
|
+
hn,
|
|
185
|
+
pn,
|
|
186
|
+
dn,
|
|
187
|
+
cn,
|
|
188
|
+
An,
|
|
189
|
+
xn
|
|
190
190
|
]);
|
|
191
|
-
const A = ie(),
|
|
192
|
-
|
|
191
|
+
const A = ie(), a = o;
|
|
192
|
+
a.chartOption.series || (a.chartOption.series = []);
|
|
193
193
|
let M = {};
|
|
194
194
|
const Ue = N;
|
|
195
|
-
let
|
|
196
|
-
|
|
197
|
-
() =>
|
|
195
|
+
let ne = {};
|
|
196
|
+
Ie(
|
|
197
|
+
() => a.chartOption,
|
|
198
198
|
() => {
|
|
199
|
-
|
|
199
|
+
Oe(() => {
|
|
200
200
|
let c = setInterval(() => {
|
|
201
|
-
document.getElementById(
|
|
202
|
-
...
|
|
203
|
-
moveOnMouseMove:
|
|
201
|
+
document.getElementById(a.id) && document.getElementById(a.id).offsetHeight > 100 && document.getElementById(a.id).offsetWidth > 100 && (I && I.getOption() && !a.chartOption.restoreZoom && (ne = {
|
|
202
|
+
...I.getOption().dataZoom[0],
|
|
203
|
+
moveOnMouseMove: a.chartOption.series.some(
|
|
204
204
|
(f) => f.openBarDrag && (f.type == "line" || f.type == "markLine")
|
|
205
205
|
) ? "ctrl" : !0
|
|
206
206
|
}), me(), clearInterval(c));
|
|
@@ -209,34 +209,34 @@ const ma = (s) => new Promise((m) => {
|
|
|
209
209
|
},
|
|
210
210
|
{ deep: !0, immediate: !0 }
|
|
211
211
|
);
|
|
212
|
-
let
|
|
213
|
-
|
|
214
|
-
() =>
|
|
212
|
+
let ae = {};
|
|
213
|
+
Ie(
|
|
214
|
+
() => a.legendList,
|
|
215
215
|
() => {
|
|
216
|
-
|
|
217
|
-
let c =
|
|
218
|
-
let x = we.find((l) => l.code ==
|
|
216
|
+
I && (ae = I.getOption().legend[0].selected);
|
|
217
|
+
let c = a.legendList.map((s) => {
|
|
218
|
+
let x = we.find((l) => l.code == s.name);
|
|
219
219
|
return x ? {
|
|
220
|
-
...
|
|
220
|
+
...s,
|
|
221
221
|
...x
|
|
222
222
|
} : {
|
|
223
|
-
...
|
|
223
|
+
...s
|
|
224
224
|
};
|
|
225
225
|
}), f = JSON.parse(JSON.stringify(Q.value));
|
|
226
|
-
M = {}, Q.value = c.map((
|
|
227
|
-
const x = f.find((k) => k.name ==
|
|
228
|
-
M[
|
|
226
|
+
M = {}, Q.value = c.map((s) => {
|
|
227
|
+
const x = f.find((k) => k.name == s.name);
|
|
228
|
+
M[s.name] = s, s.children && (s.children = s.children.map((k) => {
|
|
229
229
|
M[k.name] = k;
|
|
230
230
|
let y = "";
|
|
231
|
-
return
|
|
231
|
+
return a.chartOption.isDefaultElement === !1 ? y = ae[k.name] != null ? ae[k.name] : k.isSelected : x && x.children && x.children.find((L) => L.name == k.name) ? y = x.children.find((L) => L.name == k.name).isSelected : y = k.isSelected, {
|
|
232
232
|
...k,
|
|
233
233
|
isSelected: y,
|
|
234
234
|
id: Math.random()
|
|
235
235
|
};
|
|
236
236
|
}));
|
|
237
237
|
let l = "";
|
|
238
|
-
return
|
|
239
|
-
...
|
|
238
|
+
return a.chartOption.isDefaultElement === !1 ? l = ae[s.name] != null ? ae[s.name] : s.isSelected : s.compel ? l = s.isSelected : x ? l = x.isSelected : l = s.isSelected, {
|
|
239
|
+
...s,
|
|
240
240
|
isSelected: l,
|
|
241
241
|
id: Math.random()
|
|
242
242
|
};
|
|
@@ -265,11 +265,11 @@ const ma = (s) => new Promise((m) => {
|
|
|
265
265
|
{ name: "实测水位", code: "RZ", color: "#304755", icon: "straightLine", iconWidth: "30", iconHeight: "30" },
|
|
266
266
|
{ name: "库容", code: "W", color: "#197e2b", icon: "straightLine", iconWidth: "30", iconHeight: "30" }
|
|
267
267
|
], Ve = ["校核洪水位", "设计洪水位", "正常高水位", "坝顶高程", "死水位", "主汛期"], Q = ie(
|
|
268
|
-
|
|
269
|
-
let
|
|
270
|
-
return c.color || (c.color = Be[f]),
|
|
268
|
+
a.legendList.map((c, f) => {
|
|
269
|
+
let s = we.find((x) => x.code == c.name);
|
|
270
|
+
return c.color || (c.color = Be[f]), s ? {
|
|
271
271
|
...c,
|
|
272
|
-
...
|
|
272
|
+
...s
|
|
273
273
|
} : {
|
|
274
274
|
...c
|
|
275
275
|
};
|
|
@@ -283,7 +283,7 @@ const ma = (s) => new Promise((m) => {
|
|
|
283
283
|
const te = ie(!0);
|
|
284
284
|
let Se = null;
|
|
285
285
|
const Qe = (c) => {
|
|
286
|
-
var
|
|
286
|
+
var s;
|
|
287
287
|
let f = [];
|
|
288
288
|
te.value = c, Q.value.forEach((x) => {
|
|
289
289
|
x.isSelected = c, f.push(x.name), x.children && x.children.forEach((l) => {
|
|
@@ -291,37 +291,37 @@ const ma = (s) => new Promise((m) => {
|
|
|
291
291
|
});
|
|
292
292
|
}), f.forEach((x) => {
|
|
293
293
|
J[x] = c, he(x, c);
|
|
294
|
-
}),
|
|
294
|
+
}), ne = { ...(s = I.getOption()) == null ? void 0 : s.dataZoom[0] }, me();
|
|
295
295
|
}, ce = (c, f) => {
|
|
296
296
|
var x;
|
|
297
|
-
let
|
|
297
|
+
let s = [];
|
|
298
298
|
Q.value.forEach((l) => {
|
|
299
299
|
l.name == f ? (l.isSelected = c, l.children ? l.children.forEach((k) => {
|
|
300
|
-
k.isSelected = c,
|
|
301
|
-
}) :
|
|
302
|
-
k.name == f && (k.isSelected = c,
|
|
300
|
+
k.isSelected = c, s.push(k.name);
|
|
301
|
+
}) : s.push(l.name)) : l.children && l.children.forEach((k) => {
|
|
302
|
+
k.name == f && (k.isSelected = c, s.push(k.name), l.children.filter((y) => y.isSelected).length == l.children.length ? l.isSelected = !0 : l.isSelected = !1);
|
|
303
303
|
});
|
|
304
|
-
}),
|
|
304
|
+
}), s.forEach((l) => {
|
|
305
305
|
Array.isArray(l) ? (J[l[0]] = c, J[l[1]] = c, he(l[0], c), he(l[1], c)) : (J[l] = c, he(l, c));
|
|
306
|
-
}), Se = Q.value.some((l) => l.isSelected == !1), Se ? te.value = !1 : te.value = !0,
|
|
306
|
+
}), Se = Q.value.some((l) => l.isSelected == !1), Se ? te.value = !1 : te.value = !0, ne = { ...(x = I.getOption()) == null ? void 0 : x.dataZoom[0] }, me();
|
|
307
307
|
};
|
|
308
|
-
|
|
308
|
+
ln(() => {
|
|
309
309
|
window.addEventListener("keydown", je);
|
|
310
310
|
});
|
|
311
311
|
let ge = {};
|
|
312
312
|
const je = (c) => {
|
|
313
313
|
if (c.key === "i") {
|
|
314
|
-
let f = JSON.parse(JSON.stringify(
|
|
315
|
-
f.series.forEach((
|
|
316
|
-
|
|
317
|
-
}),
|
|
314
|
+
let f = JSON.parse(JSON.stringify(I.getOption()));
|
|
315
|
+
f.series.forEach((s) => {
|
|
316
|
+
s.markPoint && s.markPoint.data.length != 0 ? s.markPoint.data = [] : s.markPoint && s.markPoint.data == 0 && (s.markPoint = ge[s.name]);
|
|
317
|
+
}), I.setOption(f);
|
|
318
318
|
}
|
|
319
319
|
};
|
|
320
|
-
let J = {},
|
|
320
|
+
let J = {}, I, fe;
|
|
321
321
|
const j = ie({}), me = async () => {
|
|
322
|
-
let c =
|
|
322
|
+
let c = a.chartOption.series.map((e) => {
|
|
323
323
|
let d = "";
|
|
324
|
-
return e.code ? d = Me.find((
|
|
324
|
+
return e.code ? d = Me.find((n) => n.code == e.code) : d = Me.find((n) => n.name == e.name), d ? {
|
|
325
325
|
...d,
|
|
326
326
|
...e
|
|
327
327
|
} : {
|
|
@@ -332,13 +332,13 @@ const ma = (s) => new Promise((m) => {
|
|
|
332
332
|
J[e.name] = e.isSelected, e.children && e.children.forEach((d) => {
|
|
333
333
|
J[d.name] = d.isSelected;
|
|
334
334
|
});
|
|
335
|
-
}), fe = document.getElementById(
|
|
335
|
+
}), fe = document.getElementById(a.id), I || (I = ze.init(fe));
|
|
336
336
|
let f = c.filter((e) => Array.isArray(e.data));
|
|
337
|
-
const
|
|
337
|
+
const s = f.every(
|
|
338
338
|
(e) => Array.isArray(e.data) && e.data.length === 0
|
|
339
339
|
), x = Ye(
|
|
340
|
-
new Date(
|
|
341
|
-
new Date(
|
|
340
|
+
new Date(O().subtract(5, "day").format("YYYY-MM-DD 08:00")),
|
|
341
|
+
new Date(O().format("YYYY-MM-DD HH:00")),
|
|
342
342
|
60
|
|
343
343
|
).map((e) => [e, ""]);
|
|
344
344
|
let l = [];
|
|
@@ -346,47 +346,47 @@ const ma = (s) => new Promise((m) => {
|
|
|
346
346
|
l = l.concat(e.data);
|
|
347
347
|
}), l = [...new Set(l.map((e) => e[0]))], l.sort((e, d) => Date.parse(e) - Date.parse(d)), l.some((e) => ye(e)) && (l = l.filter((e) => ye(e)));
|
|
348
348
|
let k = l[0];
|
|
349
|
-
|
|
349
|
+
a.chartOption.series.forEach((e) => {
|
|
350
350
|
e.name == "开始" && e.sectionStartTime && (k = e.sectionStartTime);
|
|
351
351
|
});
|
|
352
|
-
let y = JSON.parse(JSON.stringify(
|
|
353
|
-
let
|
|
354
|
-
e.show == !1 || y.length > 1 && d == 0 ?
|
|
352
|
+
let y = JSON.parse(JSON.stringify(a.chartOption.grid)), L = a.chartOption.xAxis.map((e, d) => {
|
|
353
|
+
let n = "";
|
|
354
|
+
e.show == !1 || y.length > 1 && d == 0 ? n = !1 : n = !0;
|
|
355
355
|
let p = {
|
|
356
356
|
type: e.type,
|
|
357
357
|
logBase: e.logBase || 10,
|
|
358
358
|
gridIndex: e.gridIndex,
|
|
359
|
-
name:
|
|
360
|
-
nameLocation:
|
|
359
|
+
name: n && e.type == "time" ? "时间" : e.name,
|
|
360
|
+
nameLocation: n && e.type == "time" ? "end" : "middle",
|
|
361
361
|
// x轴name处于x轴的什么位置
|
|
362
362
|
nameTextStyle: {
|
|
363
363
|
//x轴上方单位的颜色
|
|
364
364
|
color: "#333",
|
|
365
|
-
verticalAlign:
|
|
365
|
+
verticalAlign: n && e.type == "time" ? "top" : ""
|
|
366
366
|
},
|
|
367
367
|
position: e.position,
|
|
368
368
|
offset: e.offset ? e.offset : 0,
|
|
369
369
|
inverse: e.inverse ? e.inverse : !1,
|
|
370
|
-
nameGap:
|
|
370
|
+
nameGap: n && e.type == "time" ? 45 : e.nameGap ? e.nameGap : e.name ? 25 : 0,
|
|
371
371
|
// x轴name与横纵坐标轴线的间距
|
|
372
372
|
axisLabel: {
|
|
373
|
-
show:
|
|
373
|
+
show: n,
|
|
374
374
|
rotate: e.rotate,
|
|
375
375
|
formatter: function(b) {
|
|
376
|
-
return e.type == "time" ? Pe(
|
|
376
|
+
return e.type == "time" ? Pe(O(O(b).format("YYYY-MM-DD HH:mm"))) ? a.chartOption.xTimeType ? `{a|${a.chartOption.xTimeType}}` : "{a|{yyyy}-{MM}-{dd} {HH}:{mm}}" : a.chartOption.xTimeType ? a.chartOption.xTimeType : "{MM}-{dd} {HH}:{mm}" : e.name ? e.name.includes("m³/s") ? ee(b) : e.name.includes("万m³") ? b.toFixed(2) : e.name.includes("mm") ? b.toFixed(1) : e.name.includes("m") ? b.toFixed(2) : (b || b == 0) && e.toFixed ? Number(b).toFixed(e.toFixed) : b : b;
|
|
377
377
|
},
|
|
378
378
|
rich: {
|
|
379
379
|
a: {
|
|
380
380
|
fontWeight: "bold"
|
|
381
381
|
}
|
|
382
382
|
},
|
|
383
|
-
color:
|
|
383
|
+
color: a.chartOption.yAxisColor ? a.chartOption.yAxisColor : "#333",
|
|
384
384
|
hideOverlap: !0
|
|
385
385
|
},
|
|
386
386
|
axisLine: {
|
|
387
387
|
show: !0,
|
|
388
388
|
lineStyle: {
|
|
389
|
-
color:
|
|
389
|
+
color: a.chartOption.yAxisColor ? a.chartOption.yAxisColor : "#8a949c"
|
|
390
390
|
}
|
|
391
391
|
},
|
|
392
392
|
splitLine: {
|
|
@@ -398,25 +398,25 @@ const ma = (s) => new Promise((m) => {
|
|
|
398
398
|
axisTick: {
|
|
399
399
|
show: e.show == !1 ? !1 : !(y.length > 1 && d == 0),
|
|
400
400
|
// 不显示坐标轴上的文字
|
|
401
|
-
alignWithLabel:
|
|
401
|
+
alignWithLabel: a.chartOption.alignWithLabel != null ? a.chartOption.alignWithLabel : !0
|
|
402
402
|
},
|
|
403
403
|
boundaryGap: e.boundaryGap ? e.boundaryGap : ["1%", "1%"]
|
|
404
404
|
};
|
|
405
405
|
if (e.data && (p.data = e.data), e.type == "value" || e.type == "log") {
|
|
406
406
|
let b = 0, F = 100, u = 10;
|
|
407
407
|
e.name.includes("m³/s") ? (F = 1e3, u = 100) : e.name.includes("万m³") && (F = 1e4, u = 1e3);
|
|
408
|
-
let t =
|
|
408
|
+
let t = a.chartOption.series.filter((h) => h.yAxisIndex == d), g = [], r = [], i = 0, S = 100;
|
|
409
409
|
t.forEach((h) => {
|
|
410
410
|
h.data instanceof Array && (g = g.concat(h.data));
|
|
411
|
-
}), g[0] instanceof Array && (
|
|
411
|
+
}), g[0] instanceof Array && (r = g.filter(
|
|
412
412
|
(h) => h[0] != "" && h[0] != null && h[0] != null && !isNaN(h[0])
|
|
413
|
-
).map((h) => Number(h[0]))),
|
|
413
|
+
).map((h) => Number(h[0]))), r.length > 0 && (i = Math.min(...r), S = Math.max(...r), t.some((h) => h.type == "bar") || e.name.includes("雨") ? (b = 0, (i !== 0 || S !== 0) && (F = Math.ceil(S / D(0, S)) * D(0, S), u = D(0, S))) : e.min || e.min == 0 ? (b = e.min, (i !== 0 || S !== 0) && (F = Math.ceil(S / D(e.min, S)) * D(e.min, S), u = D(e.min, S))) : (i !== 0 || S !== 0) && (b = Math.floor(i / D(i, S)) * D(i, S), F = Math.ceil(S / D(i, S)) * D(i, S), u = D(i, S))), p.min = e.min != "" && e.min != null ? e.min : b, p.max = e.max != "" && e.max != null ? e.max : F, p.interval = e.interval && e.max && (e.min || e.min == 0) ? e.interval : u, e.interval && e.max && (e.min || e.min == 0) && e.interval, p.minorTick = {
|
|
414
414
|
show: !!e.isMinorSplitLineShow
|
|
415
415
|
};
|
|
416
416
|
}
|
|
417
417
|
return p;
|
|
418
|
-
}), R =
|
|
419
|
-
let
|
|
418
|
+
}), R = a.chartOption.yAxis.map((e, d) => {
|
|
419
|
+
let n = 0, p = 100, b = 10;
|
|
420
420
|
if (e.name.includes("m³/s") ? (p = 1e3, b = 100) : e.name.includes("万m³") && (p = 1e4, b = 1e3), e.name == "可纳雨量(mm)")
|
|
421
421
|
return {
|
|
422
422
|
gridIndex: e.index,
|
|
@@ -458,7 +458,7 @@ const ma = (s) => new Promise((m) => {
|
|
|
458
458
|
}
|
|
459
459
|
};
|
|
460
460
|
{
|
|
461
|
-
let F =
|
|
461
|
+
let F = a.chartOption.series.filter((h) => h.yAxisIndex == d && (J[h.name] || !Object.keys(J).includes(h.name))), u = [], t = [], g = [], r = 0, i = 100, S = null;
|
|
462
462
|
if (F.forEach((h) => {
|
|
463
463
|
h.data instanceof Array ? ((h.data2 ? h.data2 : h.data).forEach((w) => {
|
|
464
464
|
if (w instanceof Array && w.length >= 2) {
|
|
@@ -476,21 +476,21 @@ const ma = (s) => new Promise((m) => {
|
|
|
476
476
|
).map((v) => Number(v)) : t = u.filter(
|
|
477
477
|
(h) => h != "" && h != null && h != null && !isNaN(h)
|
|
478
478
|
).map((h) => Number(h)), t.length > 0 || g.length > 0) {
|
|
479
|
-
if (
|
|
480
|
-
|
|
479
|
+
if (r = Math.min(...t, ...g), i = Math.max(...t, ...g), F.some((h) => h.type == "bar") || e.name.includes("雨"))
|
|
480
|
+
n = 0, a.chartOption.xAxis.length > 1 && e.inverse ? (r !== 0 || i !== 0) && (p = Math.ceil(i / D(0, i, 1)) * D(0, i, 1) + D(0, i, 1) * (e.upIntervalNumber != null ? e.upIntervalNumber : 1), b = D(0, i, 1)) : (r !== 0 || i !== 0) && (p = Math.ceil(i / D(0, i)) * D(0, i) + D(0, i) * (e.upIntervalNumber != null ? e.upIntervalNumber : 1), b = D(0, i));
|
|
481
481
|
else if (e.min || e.min == 0)
|
|
482
|
-
|
|
483
|
-
else if (
|
|
484
|
-
if (
|
|
485
|
-
|
|
486
|
-
const v = D(
|
|
487
|
-
p = Math.ceil((
|
|
482
|
+
n = e.min, (r !== 0 || i !== 0) && (p = Math.ceil(i / D(e.min, i)) * D(e.min, i) + D(e.min, i) * (e.upIntervalNumber != null ? e.upIntervalNumber : 1), b = D(e.min, i));
|
|
483
|
+
else if (r !== 0 || i !== 0)
|
|
484
|
+
if (a.chartOption.xAxis.some((v) => v.type === "value") && S !== null) {
|
|
485
|
+
n = S;
|
|
486
|
+
const v = D(n, i);
|
|
487
|
+
p = Math.ceil((i - n) / v) * v + n + v * (e.upIntervalNumber != null ? e.upIntervalNumber : 1), b = v;
|
|
488
488
|
} else
|
|
489
|
-
|
|
489
|
+
n = Math.floor(r / D(r, i)) * D(r, i) - D(r, i) * (e.downIntervalNumber != null ? e.downIntervalNumber : 1), p = Math.ceil(i / D(r, i)) * D(r, i) + D(r, i) * (e.upIntervalNumber != null ? e.upIntervalNumber : 1), b = D(r, i);
|
|
490
490
|
}
|
|
491
491
|
if (e.rangeType == 1) {
|
|
492
492
|
let h = "", v = "";
|
|
493
|
-
Math.abs(
|
|
493
|
+
Math.abs(i) > Math.abs(r) ? v = Math.abs(i) : v = Math.abs(r), h = Math.ceil(v / D(0, v)) * D(0, v), p = h, n = 0 - h, b = D(0, Math.abs(h));
|
|
494
494
|
}
|
|
495
495
|
return {
|
|
496
496
|
gridIndex: e.index,
|
|
@@ -499,7 +499,7 @@ const ma = (s) => new Promise((m) => {
|
|
|
499
499
|
// y轴name处于y轴的什么位置
|
|
500
500
|
nameTextStyle: {
|
|
501
501
|
//y轴上方单位的颜色
|
|
502
|
-
color:
|
|
502
|
+
color: a.chartOption.yAxisColor ? a.chartOption.yAxisColor : "#333"
|
|
503
503
|
},
|
|
504
504
|
nameGap: e.nameGap,
|
|
505
505
|
// y轴name与横纵坐标轴线的间距
|
|
@@ -508,18 +508,18 @@ const ma = (s) => new Promise((m) => {
|
|
|
508
508
|
position: e.position,
|
|
509
509
|
offset: e.offset ? e.offset : 0,
|
|
510
510
|
inverse: e.inverse ? e.inverse : !1,
|
|
511
|
-
min: e.min != "" && e.min != null ? e.min :
|
|
511
|
+
min: e.min != "" && e.min != null ? e.min : n,
|
|
512
512
|
max: e.max != "" && e.max != null ? e.max : p,
|
|
513
513
|
interval: e.interval && e.max && (e.min || e.min == 0) ? e.interval : b,
|
|
514
514
|
axisLabel: {
|
|
515
515
|
// 内容格式器
|
|
516
516
|
formatter: (h) => e.name.includes("m³/s") ? ee(h) : e.name.includes("万m³") ? h.toFixed(2) : e.name.includes("mm") ? h.toFixed(1) : e.name.includes("m") ? h.toFixed(2) : h,
|
|
517
|
-
color:
|
|
517
|
+
color: a.chartOption.yAxisColor ? a.chartOption.yAxisColor : "#333"
|
|
518
518
|
},
|
|
519
519
|
axisLine: {
|
|
520
520
|
show: !0,
|
|
521
521
|
lineStyle: {
|
|
522
|
-
color:
|
|
522
|
+
color: a.chartOption.yAxisColor ? a.chartOption.yAxisColor : "#8a949c"
|
|
523
523
|
}
|
|
524
524
|
},
|
|
525
525
|
axisTick: {
|
|
@@ -549,15 +549,15 @@ const ma = (s) => new Promise((m) => {
|
|
|
549
549
|
}
|
|
550
550
|
}), E = c.some((e) => e.openBarDrag), Y = c.map((e, d) => {
|
|
551
551
|
var p, b, F;
|
|
552
|
-
let
|
|
552
|
+
let n = {};
|
|
553
553
|
if (e.type == "bar")
|
|
554
|
-
e.name == "可纳雨量" ?
|
|
554
|
+
e.name == "可纳雨量" ? n = {
|
|
555
555
|
name: e.name,
|
|
556
556
|
type: e.type,
|
|
557
557
|
xAxisIndex: e.xAxisIndex,
|
|
558
558
|
yAxisIndex: e.yAxisIndex,
|
|
559
559
|
barWidth: e.barWidth,
|
|
560
|
-
data:
|
|
560
|
+
data: s ? x : e.data,
|
|
561
561
|
label: {
|
|
562
562
|
show: !0,
|
|
563
563
|
// 显示标签
|
|
@@ -584,7 +584,7 @@ const ma = (s) => new Promise((m) => {
|
|
|
584
584
|
},
|
|
585
585
|
zlevel: 9,
|
|
586
586
|
z: 9
|
|
587
|
-
} :
|
|
587
|
+
} : n = {
|
|
588
588
|
name: e.name,
|
|
589
589
|
type: e.type,
|
|
590
590
|
xAxisIndex: e.xAxisIndex,
|
|
@@ -620,15 +620,15 @@ const ma = (s) => new Promise((m) => {
|
|
|
620
620
|
},
|
|
621
621
|
barCategoryGap: e.barCategoryGap ? e.barCategoryGap : R[e.yAxisIndex].inverse ? "0%" : "20%",
|
|
622
622
|
barGap: e.barGap ? e.barGap : "0%",
|
|
623
|
-
data:
|
|
623
|
+
data: s ? x : e.data,
|
|
624
624
|
zlevel: 9,
|
|
625
625
|
z: 9
|
|
626
|
-
}, e.barWidth && (
|
|
626
|
+
}, e.barWidth && (n.barWidth = e.barWidth, e.barGap ? n.barGap = e.barGap : n.barGap = "20%"), e.barMaxWidth && (n.barMaxWidth = e.barMaxWidth, e.barGap ? n.barGap = e.barGap : n.barGap = "20%");
|
|
627
627
|
else if (e.type == "line") {
|
|
628
628
|
let u = "rgba(0, 0, 0, 0)";
|
|
629
|
-
|
|
629
|
+
a.chartOption.isFace && (a.chartOption.faceNames ? a.chartOption.faceNames.includes(e.name) && (M[e.name] ? u = M[e.name].color : u = e.color) : M[e.name] ? u = M[e.name].color : u = e.color);
|
|
630
630
|
let t = "", g = !1;
|
|
631
|
-
if (e.showSymbol || ((p = M[e.name]) == null ? void 0 : p.icon) == "dottedLine" ? e.symbolSize ? t = e.symbolSize : t = 5 :
|
|
631
|
+
if (e.showSymbol || ((p = M[e.name]) == null ? void 0 : p.icon) == "dottedLine" ? e.symbolSize ? t = e.symbolSize : t = 5 : a.chartOption.isTooltipItem ? (t = 10, g = !0) : t = 0, n = {
|
|
632
632
|
name: e.name,
|
|
633
633
|
type: e.type,
|
|
634
634
|
xAxisIndex: e.xAxisIndex,
|
|
@@ -649,16 +649,16 @@ const ma = (s) => new Promise((m) => {
|
|
|
649
649
|
symbol: e.symbol ? e.symbol : "circle",
|
|
650
650
|
connectNulls: !0,
|
|
651
651
|
symbolSize: t,
|
|
652
|
-
data:
|
|
652
|
+
data: s ? x : e.data,
|
|
653
653
|
silent: E ? e.openBarDrag !== !0 : !1,
|
|
654
654
|
triggerLineEvent: g,
|
|
655
655
|
zlevel: 9,
|
|
656
656
|
z: 9
|
|
657
657
|
}, e.isMaxMinShow && e.data.length > 0) {
|
|
658
|
-
let
|
|
658
|
+
let r = e.data.filter((w) => !w[2]).filter((w) => w[1]), i = r.reduce((w, C) => parseFloat(C[1]) > parseFloat(w[1]) ? C : w, r[0]), S = i ? i[0] : "", h = i ? i[1] : "", v;
|
|
659
659
|
l.forEach((w, C) => {
|
|
660
|
-
|
|
661
|
-
}),
|
|
660
|
+
O(w).isValid() && w == S && (w.markPointOffset || (C >= l.length / 5 * 4 ? v = [-200, 0] : C >= l.length / 5 * 3 ? v = [-150, 0] : C >= l.length / 5 * 2 ? v = [-100, 0] : C >= l.length / 5 * 1 ? v = [-50, 0] : C >= 0 && (v = [0, 0])));
|
|
661
|
+
}), n.markPoint = {
|
|
662
662
|
symbol: "pin",
|
|
663
663
|
symbolSize: 20,
|
|
664
664
|
label: {
|
|
@@ -680,7 +680,7 @@ const ma = (s) => new Promise((m) => {
|
|
|
680
680
|
let C = "";
|
|
681
681
|
if (w.data && w.data.coord && w.data.coord[0]) {
|
|
682
682
|
let P = e.tmType ? e.tmType : "YYYY-MM-DD HH:mm";
|
|
683
|
-
C =
|
|
683
|
+
C = O(w.data.coord[0]).format(P);
|
|
684
684
|
}
|
|
685
685
|
let z = "", V = "";
|
|
686
686
|
if (w.name == "Max")
|
|
@@ -728,7 +728,7 @@ ${z}: {a0|${V}} ${e.unit}`;
|
|
|
728
728
|
fontFamily: "Times New Roman",
|
|
729
729
|
lineHeight: 20,
|
|
730
730
|
fontSize: 15
|
|
731
|
-
},
|
|
731
|
+
}, n = {
|
|
732
732
|
name: e.name,
|
|
733
733
|
type: "line",
|
|
734
734
|
xAxisIndex: e.xAxisIndex,
|
|
@@ -752,14 +752,14 @@ ${z}: {a0|${V}} ${e.unit}`;
|
|
|
752
752
|
position: e.position ? e.position : "insideStartTop",
|
|
753
753
|
formatter: function(g) {
|
|
754
754
|
if (e.labelType == 2) {
|
|
755
|
-
let
|
|
756
|
-
return e.name == "开始" ?
|
|
757
|
-
|
|
758
|
-
${
|
|
759
|
-
}),
|
|
755
|
+
let r = "";
|
|
756
|
+
return e.name == "开始" ? r = `${e.name}: ${g.value}` : e.name == "结束" && (r = `${e.name}: ${en(g.value)}`), e.labelArr && e.labelArr.forEach((i) => {
|
|
757
|
+
r += `{a1|
|
|
758
|
+
${i.name}: ${i.value} ${i.unit}}`;
|
|
759
|
+
}), r;
|
|
760
760
|
} else {
|
|
761
|
-
let
|
|
762
|
-
return (Ve.includes(e.name) || e.name.includes("梅汛期") || e.name.includes("台汛期")) && (
|
|
761
|
+
let r = "";
|
|
762
|
+
return (Ve.includes(e.name) || e.name.includes("梅汛期") || e.name.includes("台汛期")) && (r = "{a0|▽}"), e.data.name == "xAxis" ? e.name : ` ${r}${e.name}: ${e.data.value} ${e.unit} `;
|
|
763
763
|
}
|
|
764
764
|
},
|
|
765
765
|
rich: {
|
|
@@ -782,7 +782,7 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
782
782
|
]
|
|
783
783
|
}
|
|
784
784
|
};
|
|
785
|
-
} else e.type == "scatter" ?
|
|
785
|
+
} else e.type == "scatter" ? n = {
|
|
786
786
|
name: e.name,
|
|
787
787
|
type: e.type,
|
|
788
788
|
xAxisIndex: e.xAxisIndex,
|
|
@@ -791,10 +791,10 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
791
791
|
itemStyle: {
|
|
792
792
|
color: M[e.name] ? M[e.name].color : e.color
|
|
793
793
|
},
|
|
794
|
-
data:
|
|
794
|
+
data: s ? x : e.data,
|
|
795
795
|
zlevel: 9,
|
|
796
796
|
z: 9
|
|
797
|
-
} : e.type == "boxplot" && (
|
|
797
|
+
} : e.type == "boxplot" && (n = {
|
|
798
798
|
name: e.name,
|
|
799
799
|
type: e.type,
|
|
800
800
|
xAxisIndex: e.xAxisIndex,
|
|
@@ -812,16 +812,16 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
812
812
|
borderWidth: 2
|
|
813
813
|
}
|
|
814
814
|
},
|
|
815
|
-
data:
|
|
815
|
+
data: s ? x : e.data,
|
|
816
816
|
zlevel: 9,
|
|
817
817
|
z: 9
|
|
818
818
|
});
|
|
819
|
-
return e.markArea && (e.markArea.data ?
|
|
819
|
+
return e.markArea && (e.markArea.data ? n.markArea = {
|
|
820
820
|
silent: e.markArea.silent ? e.markArea.silent : !1,
|
|
821
821
|
label: e.markArea.label ? e.markArea.label : {},
|
|
822
822
|
itemStyle: e.markArea.itemStyle ? e.markArea.itemStyle : {},
|
|
823
823
|
data: e.markArea.data
|
|
824
|
-
} :
|
|
824
|
+
} : n.markArea = {
|
|
825
825
|
silent: !0,
|
|
826
826
|
itemStyle: {
|
|
827
827
|
opacity: e.markArea.opacity ? e.markArea.opacity : 0.3,
|
|
@@ -839,24 +839,24 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
839
839
|
}
|
|
840
840
|
]
|
|
841
841
|
]
|
|
842
|
-
}),
|
|
842
|
+
}), n;
|
|
843
843
|
}), T = R.map((e) => e.name), le = {}, $ = {};
|
|
844
|
-
if (T.includes("水位(m)") && T.includes("库容(万m³)") &&
|
|
844
|
+
if (T.includes("水位(m)") && T.includes("库容(万m³)") && a.chartOption.stationCode) {
|
|
845
845
|
let e = R.find((t) => t.name == "水位(m)"), d = [];
|
|
846
846
|
for (let t = e.min; t <= e.max; t += e.interval)
|
|
847
847
|
d.push(t);
|
|
848
|
-
let
|
|
848
|
+
let n = [];
|
|
849
849
|
for (let t = 0; t < d.length; t++)
|
|
850
850
|
if (e.max == 100)
|
|
851
|
-
|
|
851
|
+
n.push(t * 1e3);
|
|
852
852
|
else if (d[t] == 0)
|
|
853
|
-
|
|
853
|
+
n.push(0);
|
|
854
854
|
else {
|
|
855
855
|
let g = await qe(d[t], t);
|
|
856
|
-
|
|
856
|
+
n.push(g);
|
|
857
857
|
}
|
|
858
858
|
R.forEach((t) => {
|
|
859
|
-
t.name == "水位(m)" ? t.offset = 80 : t.name == "库容(万m³)" && (t.offset = 80, t.nameGap = -70, t.splitLine.show = !1, t.minorSplitLine.show = !1, t.axisLabel.inside = !0, t.axisTick.inside = !0, y.length > 1 ? t.gridIndex == 0 ? (y[t.gridIndex].left = 150, y[t.gridIndex].right = 20, y[1].left = 150, y[1].right = 20) : t.gridIndex == 1 && (y[0].left = 150, y[0].right = 70, y[t.gridIndex].left = 150, y[t.gridIndex].right = 70) : y.length == 1 && (y[t.gridIndex].left = 150, y[t.gridIndex].right = 20), t.position = "left", t.max = e.max, t.min = e.min, t.interval = e.interval, t.axisLabel.formatter = (g,
|
|
859
|
+
t.name == "水位(m)" ? t.offset = 80 : t.name == "库容(万m³)" && (t.offset = 80, t.nameGap = -70, t.splitLine.show = !1, t.minorSplitLine.show = !1, t.axisLabel.inside = !0, t.axisTick.inside = !0, y.length > 1 ? t.gridIndex == 0 ? (y[t.gridIndex].left = 150, y[t.gridIndex].right = 20, y[1].left = 150, y[1].right = 20) : t.gridIndex == 1 && (y[0].left = 150, y[0].right = 70, y[t.gridIndex].left = 150, y[t.gridIndex].right = 70) : y.length == 1 && (y[t.gridIndex].left = 150, y[t.gridIndex].right = 20), t.position = "left", t.max = e.max, t.min = e.min, t.interval = e.interval, t.axisLabel.formatter = (g, r) => n[r] || n[r] == 0 ? Number(n[r]).toFixed(2) : "");
|
|
860
860
|
});
|
|
861
861
|
let p = Y.find((t) => t.name == "库容"), b = Y.find((t) => t.name == "5分钟库容"), F = Y.find(
|
|
862
862
|
(t) => t.name == "实测水位" || t.name == "水位"
|
|
@@ -871,14 +871,14 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
871
871
|
}
|
|
872
872
|
let oe = [...l];
|
|
873
873
|
if (l.some((e) => ye(e)) && (oe = oe.filter((e) => {
|
|
874
|
-
let d =
|
|
874
|
+
let d = O(e);
|
|
875
875
|
if (ye(e) && d.minute() === 0 && d.second() === 0)
|
|
876
876
|
return e;
|
|
877
877
|
})), y.length == 1 ? Y.push({
|
|
878
878
|
name: "a",
|
|
879
879
|
xAxisIndex: 0,
|
|
880
880
|
yAxisIndex: 0,
|
|
881
|
-
data:
|
|
881
|
+
data: a.chartOption.series.length == 0 ? x : oe.map((e) => [e, void 0]),
|
|
882
882
|
type: "line",
|
|
883
883
|
z: 9,
|
|
884
884
|
zlevel: 9
|
|
@@ -887,7 +887,7 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
887
887
|
name: "a",
|
|
888
888
|
xAxisIndex: 0,
|
|
889
889
|
yAxisIndex: 0,
|
|
890
|
-
data:
|
|
890
|
+
data: a.chartOption.series.length == 0 ? x : oe.map((e) => [e, void 0]),
|
|
891
891
|
type: "line",
|
|
892
892
|
z: 9,
|
|
893
893
|
zlevel: 9
|
|
@@ -896,25 +896,25 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
896
896
|
name: "b",
|
|
897
897
|
xAxisIndex: 1,
|
|
898
898
|
yAxisIndex: R.findIndex((e) => e.gridIndex == 1),
|
|
899
|
-
data:
|
|
899
|
+
data: a.chartOption.series.length == 0 ? x : oe.map((e) => [e, void 0]),
|
|
900
900
|
type: "line",
|
|
901
901
|
z: 9,
|
|
902
902
|
zlevel: 9
|
|
903
903
|
}
|
|
904
904
|
), y.length == 1 ? y.forEach((e, d) => {
|
|
905
|
-
e.top = e.newTop ? e.newTop : 10, e.bottom = e.newBottom ? e.newBottom :
|
|
905
|
+
e.top = e.newTop ? e.newTop : 10, e.bottom = e.newBottom ? e.newBottom : a.chartOption.xAxis[d].name ? 40 : 20;
|
|
906
906
|
}) : y.length == 2 ? y.forEach((e, d) => {
|
|
907
|
-
d == 0 ? (e.top = 10, e.height =
|
|
907
|
+
d == 0 ? (e.top = 10, e.height = a.chartOption.isTwoXAxis ? "48%" : "26%") : d == 1 && (e.top = a.chartOption.isTwoXAxis ? "52%" : "30%", e.bottom = a.chartOption.xAxis[d].name ? 40 : 20);
|
|
908
908
|
}) : y.length == 3 && y.forEach((e, d) => {
|
|
909
909
|
d == 0 ? (e.top = 10, e.height = "26%") : (d == 1 || d == 2) && (e.top = "30%", e.bottom = 40);
|
|
910
910
|
}), j.value = {
|
|
911
911
|
animation: !0,
|
|
912
912
|
// 将 animation 设置为 false 关闭动画效果
|
|
913
913
|
tooltip: {
|
|
914
|
-
show: !(
|
|
914
|
+
show: !(a.chartOption.isTooltipItem || a.chartOption.tooltipShow == !1),
|
|
915
915
|
hideDelay: 0,
|
|
916
916
|
triggerOn: "mousemove",
|
|
917
|
-
trigger:
|
|
917
|
+
trigger: a.chartOption.tooltipType == "1" ? "item" : "axis",
|
|
918
918
|
axisPointer: {
|
|
919
919
|
animation: !1,
|
|
920
920
|
animationDuration: 1e3,
|
|
@@ -923,10 +923,10 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
923
923
|
// 数据更新动画的时长
|
|
924
924
|
},
|
|
925
925
|
formatter: function(e) {
|
|
926
|
-
if (
|
|
926
|
+
if (a.chartOption.tooltipType == "1") {
|
|
927
927
|
if (e.componentSubType == "boxplot") {
|
|
928
|
-
let d = f[0] ? f[0].unit : "",
|
|
929
|
-
return
|
|
928
|
+
let d = f[0] ? f[0].unit : "", n = e.name + "<br/>";
|
|
929
|
+
return n += `<div style='padding-right:8px'>
|
|
930
930
|
<div style='display:flex;flex-direction: column;'>
|
|
931
931
|
<div>${e.marker} ${e.seriesName}</div>
|
|
932
932
|
<div style='display:flex;align-items: center;margin-left: 18px'>
|
|
@@ -942,17 +942,17 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
942
942
|
<div style='width:30px'>${d}</div>
|
|
943
943
|
</div>
|
|
944
944
|
</div>
|
|
945
|
-
</div>`,
|
|
945
|
+
</div>`, n;
|
|
946
946
|
}
|
|
947
|
-
} else if (
|
|
947
|
+
} else if (a.chartOption.tooltipType == "2" || a.chartOption.tooltipType == "4") {
|
|
948
948
|
let d = "";
|
|
949
|
-
return f.forEach((
|
|
950
|
-
let p = e.find((b) => b.seriesName ==
|
|
949
|
+
return f.forEach((n) => {
|
|
950
|
+
let p = e.find((b) => b.seriesName == n.name);
|
|
951
951
|
if (p) {
|
|
952
|
-
let b = p.axisId, F = /[\u4e00-\u9fa5]+|\([^)]+\)/g, u = b.match(F), t = u[0], g = u[1] ? u[1].replace(/[\(\)]/g, "") : u[0],
|
|
953
|
-
|
|
952
|
+
let b = p.axisId, F = /[\u4e00-\u9fa5]+|\([^)]+\)/g, u = b.match(F), t = u[0], g = u[1] ? u[1].replace(/[\(\)]/g, "") : u[0], r = a.chartOption.yAxis[0].name.match(F), i = r[0], S = r[1] ? r[1].replace(/[\(\)]/g, "") : r[0];
|
|
953
|
+
a.chartOption.tooltipType == "4" && (d += `<div style='font-weight: bold;color: ${n.color};'>${p.seriesName}</div>`), d += `<div style='padding-right:8px'>
|
|
954
954
|
<div style='display:flex;align-items: center;justify-content: space-between'>
|
|
955
|
-
<div style='margin-right:8px;'>${
|
|
955
|
+
<div style='margin-right:8px;'>${i}</div>
|
|
956
956
|
<div style='display:flex;align-items: center;'>
|
|
957
957
|
<div style='margin-right:5px;'>${p.value[1] || p.value[1] === 0 ? p.value[1] : "--"}</div>
|
|
958
958
|
<div style='width:30px'>${S || ""}</div>
|
|
@@ -968,17 +968,17 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
968
968
|
</div>`;
|
|
969
969
|
}
|
|
970
970
|
}), d;
|
|
971
|
-
} else if (
|
|
971
|
+
} else if (a.chartOption.tooltipType == "3") {
|
|
972
972
|
let d = [];
|
|
973
973
|
e.forEach((u) => {
|
|
974
974
|
d.push(u.seriesName.replace(/\d+/g, ""));
|
|
975
975
|
});
|
|
976
|
-
let
|
|
976
|
+
let n = "预报潮位", p = e[0].value[0] + "<br/>", b = 0, F = "";
|
|
977
977
|
return f.forEach((u, t) => {
|
|
978
|
-
let g = e.find((
|
|
979
|
-
if (u.name.includes(
|
|
980
|
-
let
|
|
981
|
-
g.value[1] && (
|
|
978
|
+
let g = e.find((i) => i.seriesName == u.name), r = "";
|
|
979
|
+
if (u.name.includes(n) ? (r = a.chartOption.plan[b], b++, f.find((i) => i.name == "预报潮位1") && (F = `<div>${r}</div>`)) : F = "", g) {
|
|
980
|
+
let i = "";
|
|
981
|
+
g.value[1] && (i = `<div style='padding-right:8px'>
|
|
982
982
|
${F}
|
|
983
983
|
<div style='display:flex;align-items: center;justify-content: space-between'>
|
|
984
984
|
<div style='margin-right:8px;'>${g.marker} ${g.seriesName.replace(/\d+/g, "")}</div>
|
|
@@ -987,34 +987,34 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
987
987
|
<div style='width:30px'>${u.unit ? u.unit : ""}</div>
|
|
988
988
|
</div>
|
|
989
989
|
</div>
|
|
990
|
-
</div>`), p +=
|
|
990
|
+
</div>`), p += i;
|
|
991
991
|
}
|
|
992
992
|
}), p;
|
|
993
993
|
} else {
|
|
994
994
|
let d = "";
|
|
995
|
-
return
|
|
996
|
-
|
|
997
|
-
) + "<br/>" : d =
|
|
998
|
-
|
|
999
|
-
) + "<br/>" : Array.isArray(e[0].value) ? d = String(e[0].value[0]).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">") + "<br/>" : d = e[0].name + "<br/>", f.forEach((
|
|
995
|
+
return a.chartOption.tooltipNameTimeType ? Array.isArray(e[0].value) ? d = O(e[0].value[0]).format(
|
|
996
|
+
a.chartOption.tooltipNameTimeType
|
|
997
|
+
) + "<br/>" : d = O(e[0].name).format(
|
|
998
|
+
a.chartOption.tooltipNameTimeType
|
|
999
|
+
) + "<br/>" : Array.isArray(e[0].value) ? d = String(e[0].value[0]).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">") + "<br/>" : d = e[0].name + "<br/>", f.forEach((n) => {
|
|
1000
1000
|
var b;
|
|
1001
|
-
let p = e.find((F) => F.seriesName ==
|
|
1001
|
+
let p = e.find((F) => F.seriesName == n.name);
|
|
1002
1002
|
if (p && !(Array.isArray(p.value) && p.value[2] === !0)) {
|
|
1003
1003
|
let F = "";
|
|
1004
|
-
|
|
1005
|
-
g.name == p.seriesName ? F = g.key ? g.key :
|
|
1006
|
-
|
|
1004
|
+
n.key ? F = n.key : Q.value.forEach((g) => {
|
|
1005
|
+
g.name == p.seriesName ? F = g.key ? g.key : n.name : g.children && g.children.forEach((r) => {
|
|
1006
|
+
r.name == p.seriesName && (F = r.key);
|
|
1007
1007
|
});
|
|
1008
1008
|
});
|
|
1009
1009
|
let u = "", t = "";
|
|
1010
|
-
if (p.marker == '<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:transparent;"></span>' ? t = `<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:${(b = M[
|
|
1010
|
+
if (p.marker == '<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:transparent;"></span>' ? t = `<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:${(b = M[n.name]) == null ? void 0 : b.color};"></span>` : t = p.marker, p.value) {
|
|
1011
1011
|
let g = "";
|
|
1012
|
-
|
|
1012
|
+
n.data2 ? g = n.data2.find((i) => i[0] == p.value[0])[1] : Array.isArray(p.value) ? g = p.value[1] : g = p.value, JSON.stringify(le) != "{}" && p.seriesName == "库容" ? g = le[e[0].value[0]] : JSON.stringify($) != "{}" && p.seriesName == "5分钟库容" && (g = $[e[0].value[0]]), u = `<div style='padding-right:8px'>
|
|
1013
1013
|
<div style='display:flex;align-items: center;justify-content: space-between'>
|
|
1014
1014
|
<div style='margin-right:8px;'>${t} ${F || p.seriesName}</div>
|
|
1015
1015
|
<div style='display:flex;align-items: center;'>
|
|
1016
1016
|
<div style='margin-right:5px;'>${g || g === 0 ? g : "--"}</div>
|
|
1017
|
-
<div style='width:30px'>${
|
|
1017
|
+
<div style='width:30px'>${n.unit ? n.unit : ""}</div>
|
|
1018
1018
|
</div>
|
|
1019
1019
|
</div>
|
|
1020
1020
|
</div>`;
|
|
@@ -1042,20 +1042,20 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
1042
1042
|
type: "inside",
|
|
1043
1043
|
//内置滑动,随鼠标滚轮展示
|
|
1044
1044
|
xAxisIndex: [0, 1],
|
|
1045
|
-
zoomLock: !!
|
|
1046
|
-
start:
|
|
1047
|
-
end:
|
|
1048
|
-
moveOnMouseMove:
|
|
1045
|
+
zoomLock: !!a.chartOption.zoomLock,
|
|
1046
|
+
start: a.chartOption.viewDataRange ? a.chartOption.viewDataRange[0] : 0,
|
|
1047
|
+
end: a.chartOption.viewDataRange ? a.chartOption.viewDataRange[1] : 100,
|
|
1048
|
+
moveOnMouseMove: a.chartOption.series.some(
|
|
1049
1049
|
(e) => e.openBarDrag && (e.type == "line" || e.type == "markLine")
|
|
1050
1050
|
) ? "ctrl" : !0
|
|
1051
1051
|
}
|
|
1052
1052
|
],
|
|
1053
1053
|
series: Y
|
|
1054
|
-
},
|
|
1055
|
-
let d = Y[e.seriesIndex],
|
|
1056
|
-
return e.step ? p =
|
|
1054
|
+
}, a.chartOption.visualMap && (j.value.visualMap = a.chartOption.visualMap.map((e) => {
|
|
1055
|
+
let d = Y[e.seriesIndex], n = [], p = [];
|
|
1056
|
+
return e.step ? p = wn(e.pieces, e.step) : p = e.pieces, p.forEach((b, F) => {
|
|
1057
1057
|
let u = new Date(b.startTm).getTime(), t = new Date(b.endTm).getTime();
|
|
1058
|
-
F == 0 ?
|
|
1058
|
+
F == 0 ? n.push(
|
|
1059
1059
|
{
|
|
1060
1060
|
lt: u,
|
|
1061
1061
|
color: d.itemStyle.color
|
|
@@ -1065,9 +1065,9 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
1065
1065
|
lte: t,
|
|
1066
1066
|
color: e.color ? e.color : "red"
|
|
1067
1067
|
}
|
|
1068
|
-
) :
|
|
1068
|
+
) : n.push(
|
|
1069
1069
|
{
|
|
1070
|
-
gt:
|
|
1070
|
+
gt: n[n.length - 1].lte,
|
|
1071
1071
|
lt: u,
|
|
1072
1072
|
color: d.itemStyle.color
|
|
1073
1073
|
},
|
|
@@ -1077,22 +1077,22 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
1077
1077
|
color: e.color ? e.color : "red"
|
|
1078
1078
|
}
|
|
1079
1079
|
);
|
|
1080
|
-
}),
|
|
1081
|
-
gt:
|
|
1080
|
+
}), n.push({
|
|
1081
|
+
gt: n[n.length - 1].lte,
|
|
1082
1082
|
color: d.itemStyle.color
|
|
1083
1083
|
}), {
|
|
1084
1084
|
show: !1,
|
|
1085
1085
|
dimension: e.dimension ? e.dimension : 0,
|
|
1086
1086
|
seriesIndex: e.seriesIndex,
|
|
1087
|
-
pieces:
|
|
1087
|
+
pieces: n
|
|
1088
1088
|
};
|
|
1089
|
-
})), JSON.stringify(
|
|
1089
|
+
})), JSON.stringify(ne) != "{}" && (j.value.dataZoom[0] = ne), console.log(j.value), I.setOption(j.value, !0), I.getOption().series.map((e) => {
|
|
1090
1090
|
e.markPoint && (ge[e.name] = e.markPoint);
|
|
1091
|
-
}),
|
|
1091
|
+
}), a.chartOption.isTooltipItem) {
|
|
1092
1092
|
let e = document.createElement("div");
|
|
1093
|
-
e.className = "line-name-tooltip-style", fe.appendChild(e),
|
|
1093
|
+
e.className = "line-name-tooltip-style", fe.appendChild(e), I.on("mouseover", function(d) {
|
|
1094
1094
|
d.componentType === "series" && d.seriesType === "line" ? (e.innerText = `${d.seriesName}`, e.style.left = `${d.event.offsetX}px`, e.style.top = `${d.event.offsetY}px`, e.style.opacity = "1") : e && (e.style.opacity = "0");
|
|
1095
|
-
}),
|
|
1095
|
+
}), I.on("mouseout", function(d) {
|
|
1096
1096
|
e && (e.style.opacity = "0");
|
|
1097
1097
|
});
|
|
1098
1098
|
} else {
|
|
@@ -1101,25 +1101,25 @@ ${r.name}: ${r.value} ${r.unit}}`;
|
|
|
1101
1101
|
d.remove();
|
|
1102
1102
|
});
|
|
1103
1103
|
}
|
|
1104
|
-
|
|
1104
|
+
I.off("click"), I.on("click", (e) => {
|
|
1105
1105
|
var d;
|
|
1106
|
-
if (f.find((
|
|
1107
|
-
let
|
|
1106
|
+
if (f.find((n) => n.name == e.seriesName)) {
|
|
1107
|
+
let n = f.find(
|
|
1108
1108
|
(p) => p.name == e.seriesName
|
|
1109
1109
|
);
|
|
1110
1110
|
if (e.seriesType === "line") {
|
|
1111
1111
|
const p = e.data, b = e.seriesIndex;
|
|
1112
|
-
let F =
|
|
1113
|
-
l.forEach((
|
|
1114
|
-
|
|
1112
|
+
let F = I.getOption().series[b].markPoint ? I.getOption().series[b].markPoint.data : [], u = F.filter((r) => r.name != "Max" && r.name != "Min").map((r) => r.coord[0]), t = [], g;
|
|
1113
|
+
l.forEach((r, i) => {
|
|
1114
|
+
O(r).isValid() && r == p[0] && (i >= l.length / 5 * 4 ? g = [-200, 0] : i >= l.length / 5 * 3 ? g = [-150, 0] : i >= l.length / 5 * 2 ? g = [-100, 0] : i >= l.length / 5 * 1 ? g = [-50, 0] : i >= 0 && (g = [0, 0]));
|
|
1115
1115
|
}), u.includes(e.value[0]) ? t = F.filter(
|
|
1116
|
-
(
|
|
1116
|
+
(r) => r.name == "Max" || r.name == "Min" || r.coord[0] != e.value[0]
|
|
1117
1117
|
) : t = [
|
|
1118
1118
|
...F,
|
|
1119
1119
|
{
|
|
1120
1120
|
coord: p,
|
|
1121
1121
|
name: `${p[0]}
|
|
1122
|
-
${e.seriesName}: ${p[1]} ${
|
|
1122
|
+
${e.seriesName}: ${p[1]} ${n.unit}`,
|
|
1123
1123
|
label: {
|
|
1124
1124
|
offset: g || [-120, 0]
|
|
1125
1125
|
}
|
|
@@ -1132,7 +1132,7 @@ ${e.seriesName}: ${p[1]} ${a.unit}`,
|
|
|
1132
1132
|
position: "top",
|
|
1133
1133
|
align: "left",
|
|
1134
1134
|
fontSize: 16,
|
|
1135
|
-
backgroundColor:
|
|
1135
|
+
backgroundColor: n.backgroundColor ? n.backgroundColor : M[n.name] ? M[n.name].color : n.color,
|
|
1136
1136
|
borderRadius: 6,
|
|
1137
1137
|
shadowColor: "#666666",
|
|
1138
1138
|
shadowBlur: 5,
|
|
@@ -1141,21 +1141,21 @@ ${e.seriesName}: ${p[1]} ${a.unit}`,
|
|
|
1141
1141
|
fontWeight: "bold",
|
|
1142
1142
|
padding: [4, 4, 4, 4],
|
|
1143
1143
|
lineHeight: 30,
|
|
1144
|
-
color:
|
|
1145
|
-
formatter: (
|
|
1146
|
-
let
|
|
1147
|
-
|
|
1144
|
+
color: n.markPointColor ? n.markPointColor : "#fff",
|
|
1145
|
+
formatter: (r) => {
|
|
1146
|
+
let i = "", S = n.tmType ? n.tmType : "YYYY-MM-DD HH:mm";
|
|
1147
|
+
r.data && r.data.coord && r.data.coord[0] && (i = O(r.data.coord[0]).format(S));
|
|
1148
1148
|
let h = "", v = "";
|
|
1149
|
-
if (
|
|
1150
|
-
if (
|
|
1151
|
-
return h =
|
|
1152
|
-
${
|
|
1153
|
-
${h}: {a0|${v}} ${
|
|
1149
|
+
if (r.name == "Max" || r.name == "Min") {
|
|
1150
|
+
if (r.name == "Max")
|
|
1151
|
+
return h = n.maxText ? n.maxText : "最大值", n.unit.includes("m³") ? v = r.value ? ee(r.value) : "--" : n.unit.includes("mm") ? v = r.value ? Number(r.value).toFixed(1) : "--" : n.unit.includes("m") ? v = r.value ? Number(r.value).toFixed(2) : "--" : v = r.value, n.tmText ? `${h}: {a0|${v}} ${n.unit}
|
|
1152
|
+
${n.tmText}: {a1|${i}}` : `${n.tmText2 ? n.tmText2 : "相应时间"}: {a1|${i}}
|
|
1153
|
+
${h}: {a0|${v}} ${n.unit}`;
|
|
1154
1154
|
} else
|
|
1155
|
-
return `相应时间: {a1|${
|
|
1155
|
+
return `相应时间: {a1|${O(r.data.coord[0]).format(
|
|
1156
1156
|
S
|
|
1157
1157
|
)}}
|
|
1158
|
-
${
|
|
1158
|
+
${n.name}: {a0|${r.data.coord[1]}} ${n.unit}`;
|
|
1159
1159
|
},
|
|
1160
1160
|
rich: {
|
|
1161
1161
|
a0: {
|
|
@@ -1169,115 +1169,115 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1169
1169
|
}
|
|
1170
1170
|
},
|
|
1171
1171
|
data: t
|
|
1172
|
-
}, j.value.dataZoom[0] = { ...(d =
|
|
1173
|
-
|
|
1172
|
+
}, j.value.dataZoom[0] = { ...(d = I.getOption()) == null ? void 0 : d.dataZoom[0] }, I.setOption(j.value, !0), I.getOption().series.map((r) => {
|
|
1173
|
+
r.markPoint && (ge[r.name] = r.markPoint);
|
|
1174
1174
|
});
|
|
1175
1175
|
}
|
|
1176
1176
|
}
|
|
1177
|
-
}),
|
|
1178
|
-
|
|
1177
|
+
}), I.on("mousedown", function(e) {
|
|
1178
|
+
I.setOption({
|
|
1179
1179
|
tooltip: {
|
|
1180
1180
|
show: !1
|
|
1181
1181
|
}
|
|
1182
|
-
}),
|
|
1182
|
+
}), I.dispatchAction({
|
|
1183
1183
|
type: "hideTip"
|
|
1184
1184
|
});
|
|
1185
|
-
let d = e.seriesIndex,
|
|
1186
|
-
if (
|
|
1187
|
-
let t = {}, g = {},
|
|
1188
|
-
e.componentType == "markLine" &&
|
|
1185
|
+
let d = e.seriesIndex, n = a.chartOption.series[d], p = n.stepTM ? n.stepTM : 60, b = "", F = "", u = "";
|
|
1186
|
+
if (n.openBarDrag) {
|
|
1187
|
+
let t = {}, g = {}, r = a.chartOption.yAxis[n.yAxisIndex], i = [];
|
|
1188
|
+
e.componentType == "markLine" && n.data.name == "xAxis" ? i = j.value.series.map((w, C) => w.name == "开始" || w.name == "结束" ? JSON.parse(JSON.stringify(w)) : {}) : i = j.value.series.map((w, C) => C == d ? {
|
|
1189
1189
|
data: JSON.parse(JSON.stringify(w.data))
|
|
1190
1190
|
} : {});
|
|
1191
1191
|
let S, h, v;
|
|
1192
|
-
|
|
1193
|
-
if (e.componentType == "markLine" &&
|
|
1194
|
-
let C =
|
|
1195
|
-
{ xAxisIndex:
|
|
1192
|
+
a.chartOption.fixedTimePeriod && (b = a.chartOption.series.find((w) => w.name == "开始").data.value, F = a.chartOption.series.find((w) => w.name == "结束").data.value, u = O(F).diff(O(b), "hour")), I.getZr().off("mousemove"), I.getZr().off("mouseup"), I.getZr().on("mousemove", function(w) {
|
|
1193
|
+
if (e.componentType == "markLine" && n.data.name == "xAxis") {
|
|
1194
|
+
let C = I.convertFromPixel(
|
|
1195
|
+
{ xAxisIndex: n.xAxisIndex },
|
|
1196
1196
|
w.offsetX
|
|
1197
|
-
), z =
|
|
1197
|
+
), z = O(C).format("YYYY-MM-DD HH:00");
|
|
1198
1198
|
if (z !== S) {
|
|
1199
|
-
const V =
|
|
1199
|
+
const V = O(z), P = O(l[l.length - 1]), pe = k ? O(k) : "";
|
|
1200
1200
|
if (V.isAfter(P) || V.isBefore(pe))
|
|
1201
1201
|
return;
|
|
1202
|
-
if (
|
|
1203
|
-
if (
|
|
1202
|
+
if (a.chartOption.fixedTimePeriod) {
|
|
1203
|
+
if (n.name == "开始" ? v = O(z).add(u, "hours").format("YYYY-MM-DD HH:00") : n.name == "结束" && (v = O(z).add(-u, "hours").format("YYYY-MM-DD HH:00")), n.name == "开始" && O(v).isAfter(P))
|
|
1204
1204
|
return;
|
|
1205
|
-
if (
|
|
1205
|
+
if (n.name == "结束" && O(v).isBefore(pe))
|
|
1206
1206
|
return;
|
|
1207
|
-
|
|
1208
|
-
|
|
1207
|
+
i.forEach((B) => {
|
|
1208
|
+
n.name == "开始" ? B.name == "开始" ? (B.markLine.data[0].xAxis = z, B.markArea.data[0][0].xAxis = z, B.markArea.data[0][1].xAxis = v) : B.name == "结束" && (B.markLine.data[0].xAxis = v) : n.name == "结束" && (B.name == "开始" ? (B.markLine.data[0].xAxis = v, B.markArea.data[0][0].xAxis = v, B.markArea.data[0][1].xAxis = z) : B.name == "结束" && (B.markLine.data[0].xAxis = z));
|
|
1209
1209
|
});
|
|
1210
1210
|
} else
|
|
1211
|
-
|
|
1212
|
-
|
|
1211
|
+
i.forEach((B) => {
|
|
1212
|
+
n.name == "开始" ? B.name == "开始" && (B.markLine.data[0].xAxis = z, B.markArea.data[0][0].xAxis = z) : n.name == "结束" && (B.name == "开始" ? B.markArea.data[0][1].xAxis = z : B.name == "结束" && (B.markLine.data[0].xAxis = z));
|
|
1213
1213
|
});
|
|
1214
|
-
|
|
1215
|
-
series:
|
|
1214
|
+
I.setOption({
|
|
1215
|
+
series: i
|
|
1216
1216
|
}, {
|
|
1217
1217
|
notMerge: !1,
|
|
1218
1218
|
lazyUpdate: !0
|
|
1219
1219
|
}), S = z;
|
|
1220
1220
|
}
|
|
1221
1221
|
} else {
|
|
1222
|
-
let [C, z] =
|
|
1222
|
+
let [C, z] = I.convertFromPixel({ seriesIndex: d }, [
|
|
1223
1223
|
w.offsetX,
|
|
1224
1224
|
w.offsetY
|
|
1225
1225
|
]);
|
|
1226
|
-
if (
|
|
1227
|
-
const V =
|
|
1226
|
+
if (O(C).format("YYYY-MM-DD HH:00") !== S || !h || Math.abs(z - h) >= 0.5) {
|
|
1227
|
+
const V = O(C).format("YYYY-MM-DD HH:00");
|
|
1228
1228
|
g[V] = z;
|
|
1229
1229
|
let P = Object.keys(g), pe = new Set(P);
|
|
1230
|
-
|
|
1230
|
+
i[d].data.forEach((U) => {
|
|
1231
1231
|
pe.has(U[0]) && (U[1] = g[U[0]]);
|
|
1232
1232
|
});
|
|
1233
1233
|
let B = Ye(
|
|
1234
1234
|
new Date(P[0]),
|
|
1235
1235
|
new Date(P[P.length - 1]),
|
|
1236
1236
|
p
|
|
1237
|
-
), be = Object.entries(g),
|
|
1237
|
+
), be = Object.entries(g), nn = new Set(P);
|
|
1238
1238
|
B.forEach((U) => {
|
|
1239
|
-
|
|
1239
|
+
nn.has(U) || be.push(_e(be, U));
|
|
1240
1240
|
});
|
|
1241
1241
|
let re = {};
|
|
1242
1242
|
be.forEach((U) => {
|
|
1243
1243
|
re[U[0]] = U[1];
|
|
1244
1244
|
});
|
|
1245
|
-
let
|
|
1246
|
-
|
|
1247
|
-
if (
|
|
1245
|
+
let an = Object.keys(re), tn = new Set(an);
|
|
1246
|
+
i[d].data.forEach((U) => {
|
|
1247
|
+
if (tn.has(U[0])) {
|
|
1248
1248
|
let Ae = "";
|
|
1249
|
-
|
|
1249
|
+
r.name.includes("m³") ? Ae = ee(re[U[0]]) : r.name.includes("mm") ? Ae = re[U[0]].toFixed(1) : r.name.includes("m") && (Ae = re[U[0]].toFixed(2)), U[1] = Ae;
|
|
1250
1250
|
}
|
|
1251
|
-
}),
|
|
1252
|
-
series:
|
|
1251
|
+
}), I.setOption({
|
|
1252
|
+
series: i
|
|
1253
1253
|
}, {
|
|
1254
1254
|
notMerge: !1,
|
|
1255
1255
|
lazyUpdate: !0
|
|
1256
1256
|
}), S = V, h = z;
|
|
1257
1257
|
}
|
|
1258
1258
|
}
|
|
1259
|
-
}),
|
|
1260
|
-
if (
|
|
1259
|
+
}), I.getZr().on("mouseup", function() {
|
|
1260
|
+
if (I.getZr().off("mousemove"), I.getZr().off("mouseup"), e.componentType == "markLine" && n.data.name == "xAxis") {
|
|
1261
1261
|
if (S)
|
|
1262
1262
|
if (v) {
|
|
1263
|
-
const w =
|
|
1264
|
-
|
|
1263
|
+
const w = O(l[l.length - 1]), C = k ? O(k) : "";
|
|
1264
|
+
n.name == "开始" && O(v).isAfter(w) ? v = O(S).add(u, "hours").format("YYYY-MM-DD HH:00") : n.name == "结束" && O(v).isBefore(C) && (v = O(S).add(-u, "hours").format("YYYY-MM-DD HH:00")), t = {
|
|
1265
1265
|
name: "开始/结束",
|
|
1266
|
-
value:
|
|
1266
|
+
value: n.name == "开始" ? `${S}/${v}` : `${v}/${S}`
|
|
1267
1267
|
};
|
|
1268
1268
|
} else
|
|
1269
1269
|
t = {
|
|
1270
|
-
name:
|
|
1270
|
+
name: n.name,
|
|
1271
1271
|
value: S
|
|
1272
1272
|
};
|
|
1273
1273
|
} else
|
|
1274
1274
|
t = {
|
|
1275
1275
|
name: e.seriesName,
|
|
1276
|
-
data:
|
|
1276
|
+
data: i[d].data
|
|
1277
1277
|
};
|
|
1278
|
-
t.name && Ue("getNewSeriesData", t),
|
|
1278
|
+
t.name && Ue("getNewSeriesData", t), I.getZr().on("mousemove", function(w) {
|
|
1279
1279
|
let C = w.offsetX, z = w.offsetY;
|
|
1280
|
-
|
|
1280
|
+
I.dispatchAction({
|
|
1281
1281
|
type: "showTip",
|
|
1282
1282
|
x: C,
|
|
1283
1283
|
y: z
|
|
@@ -1286,14 +1286,14 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1286
1286
|
});
|
|
1287
1287
|
}
|
|
1288
1288
|
}), window.onresize = function() {
|
|
1289
|
-
|
|
1289
|
+
I.resize();
|
|
1290
1290
|
};
|
|
1291
1291
|
}, ue = (c) => {
|
|
1292
|
-
|
|
1293
|
-
|
|
1292
|
+
Oe(() => {
|
|
1293
|
+
I && I.resize();
|
|
1294
1294
|
});
|
|
1295
1295
|
}, he = (c, f) => {
|
|
1296
|
-
|
|
1296
|
+
I.dispatchAction({
|
|
1297
1297
|
type: f ? "legendSelect" : "legendUnSelect",
|
|
1298
1298
|
// 图例名称
|
|
1299
1299
|
name: c
|
|
@@ -1306,15 +1306,15 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1306
1306
|
c.preventDefault();
|
|
1307
1307
|
let f = document.querySelector("body .chartMenu");
|
|
1308
1308
|
f && f.remove();
|
|
1309
|
-
let
|
|
1310
|
-
l.style.position = "absolute", l.style.left =
|
|
1309
|
+
let s = c.pageX, x = c.pageY, l = document.createElement("ul");
|
|
1310
|
+
l.style.position = "absolute", l.style.left = s + "px", l.style.top = x + "px", l.className = "chartMenu";
|
|
1311
1311
|
let k = document.createElement("li");
|
|
1312
|
-
k.style.cursor = "pointer", k.innerHTML = `<div><img src='${
|
|
1312
|
+
k.style.cursor = "pointer", k.innerHTML = `<div><img src='${In}'><span>还原缩放</span></div>`, l.appendChild(k);
|
|
1313
1313
|
let y = document.createElement("li");
|
|
1314
|
-
y.style.cursor = "pointer", y.innerHTML = `<div><img src='${
|
|
1314
|
+
y.style.cursor = "pointer", y.innerHTML = `<div><img src='${On}'><span>复制图片</span></div>`, l.appendChild(y);
|
|
1315
1315
|
let L = document.createElement("li");
|
|
1316
|
-
L.style.cursor = "pointer", L.innerHTML = `<div><img src='${
|
|
1317
|
-
|
|
1316
|
+
L.style.cursor = "pointer", L.innerHTML = `<div><img src='${kn}'><span>导出图片</span></div>`, l.appendChild(L), k.addEventListener("click", () => {
|
|
1317
|
+
I.dispatchAction({
|
|
1318
1318
|
type: "dataZoom",
|
|
1319
1319
|
dataZoomIndex: 0,
|
|
1320
1320
|
start: 0,
|
|
@@ -1340,7 +1340,7 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1340
1340
|
// eslint-disable-next-line space-before-function-paren
|
|
1341
1341
|
}).then((R) => {
|
|
1342
1342
|
const E = R.toDataURL("image/png"), Y = Je(E, "图片");
|
|
1343
|
-
Xe(Y),
|
|
1343
|
+
Xe(Y), yn.success("复制成功");
|
|
1344
1344
|
});
|
|
1345
1345
|
}), L.addEventListener("click", () => {
|
|
1346
1346
|
Ze();
|
|
@@ -1349,7 +1349,7 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1349
1349
|
});
|
|
1350
1350
|
}
|
|
1351
1351
|
const Je = (c, f = "file") => {
|
|
1352
|
-
const
|
|
1352
|
+
const s = c.split(","), x = s[0].match(/:(.*?);/)[1], l = x.split("/")[1], k = window.atob(s[1]);
|
|
1353
1353
|
let y = k.length;
|
|
1354
1354
|
const L = new Uint8Array(y);
|
|
1355
1355
|
for (; y--; )
|
|
@@ -1359,8 +1359,8 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1359
1359
|
});
|
|
1360
1360
|
}, Xe = (c) => {
|
|
1361
1361
|
const f = new FileReader();
|
|
1362
|
-
f.onload = (
|
|
1363
|
-
const x =
|
|
1362
|
+
f.onload = (s) => {
|
|
1363
|
+
const x = s.target.result.toString(), l = new Image();
|
|
1364
1364
|
l.src = x, l.onload = () => {
|
|
1365
1365
|
let k = We(l), y = Ke(
|
|
1366
1366
|
k.replace("data:image/png;base64,", ""),
|
|
@@ -1377,11 +1377,11 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1377
1377
|
}, We = (c) => {
|
|
1378
1378
|
let f = document.createElement("canvas");
|
|
1379
1379
|
return f.width = c.width, f.height = c.height, f.getContext("2d").drawImage(c, 0, 0, c.width, c.height), f.toDataURL("image/png");
|
|
1380
|
-
}, Ke = (c, f,
|
|
1381
|
-
f = f || "",
|
|
1380
|
+
}, Ke = (c, f, s) => {
|
|
1381
|
+
f = f || "", s = s || 512;
|
|
1382
1382
|
let x = window.atob(c), l = [];
|
|
1383
|
-
for (let y = 0; y < x.length; y +=
|
|
1384
|
-
let L = x.slice(y, y +
|
|
1383
|
+
for (let y = 0; y < x.length; y += s) {
|
|
1384
|
+
let L = x.slice(y, y + s), R = new Array(L.length);
|
|
1385
1385
|
for (let Y = 0; Y < L.length; Y++)
|
|
1386
1386
|
R[Y] = L.charCodeAt(Y);
|
|
1387
1387
|
let E = new Uint8Array(R);
|
|
@@ -1407,73 +1407,73 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1407
1407
|
// 清除临时创建的克隆dom元素
|
|
1408
1408
|
// eslint-disable-next-line space-before-function-paren
|
|
1409
1409
|
}).then((c) => {
|
|
1410
|
-
const f = c.toDataURL("image/png"),
|
|
1411
|
-
|
|
1410
|
+
const f = c.toDataURL("image/png"), s = document.createElement("a");
|
|
1411
|
+
s.href = f, s.download = a.chartOption.title, s.click();
|
|
1412
1412
|
});
|
|
1413
1413
|
}, ve = ie();
|
|
1414
1414
|
function $e() {
|
|
1415
1415
|
return ve.value ? ve.value.offsetHeight : 0;
|
|
1416
1416
|
}
|
|
1417
1417
|
function qe(c, f) {
|
|
1418
|
-
return new Promise((
|
|
1419
|
-
|
|
1420
|
-
STCD:
|
|
1418
|
+
return new Promise((s) => {
|
|
1419
|
+
Sn({
|
|
1420
|
+
STCD: a.chartOption.stationCode,
|
|
1421
1421
|
rzw: c
|
|
1422
1422
|
}).then((x) => {
|
|
1423
|
-
x.statusCode == 200 && x.data ?
|
|
1423
|
+
x.statusCode == 200 && x.data ? s(x.data) : s(f * 1e3);
|
|
1424
1424
|
});
|
|
1425
1425
|
});
|
|
1426
1426
|
}
|
|
1427
1427
|
function _e(c, f) {
|
|
1428
1428
|
if (c.length > 0) {
|
|
1429
|
-
let
|
|
1430
|
-
(l) =>
|
|
1429
|
+
let s = c.filter(
|
|
1430
|
+
(l) => O(l[0]).isBefore(O(f))
|
|
1431
1431
|
), x = c.filter(
|
|
1432
|
-
(l) =>
|
|
1432
|
+
(l) => O(l[0]).isAfter(O(f))
|
|
1433
1433
|
);
|
|
1434
|
-
if (
|
|
1434
|
+
if (s.length == 0)
|
|
1435
1435
|
return [f, x[0][1]];
|
|
1436
1436
|
if (x.length == 0)
|
|
1437
|
-
return [f,
|
|
1437
|
+
return [f, s[s.length - 1][1]];
|
|
1438
1438
|
{
|
|
1439
|
-
let l =
|
|
1440
|
-
|
|
1439
|
+
let l = O(f).diff(
|
|
1440
|
+
O(s[s.length - 1][0]),
|
|
1441
1441
|
"seconds"
|
|
1442
|
-
), k = x[0][1] -
|
|
1443
|
-
|
|
1442
|
+
), k = x[0][1] - s[s.length - 1][1], y = O(x[0][0]).diff(
|
|
1443
|
+
O(s[s.length - 1][0]),
|
|
1444
1444
|
"seconds"
|
|
1445
|
-
), L = l * k / y +
|
|
1445
|
+
), L = l * k / y + s[s.length - 1][1];
|
|
1446
1446
|
return [f, Number(L)];
|
|
1447
1447
|
}
|
|
1448
1448
|
}
|
|
1449
1449
|
}
|
|
1450
|
-
function
|
|
1450
|
+
function en(c) {
|
|
1451
1451
|
var y;
|
|
1452
|
-
let f = (y =
|
|
1453
|
-
const
|
|
1454
|
-
return l &&
|
|
1452
|
+
let f = (y = a.chartOption.series.find((L) => L.name == "开始")) == null ? void 0 : y.data.value;
|
|
1453
|
+
const s = O(f), x = O(c), l = s.year() === x.year();
|
|
1454
|
+
return l && s.month() === x.month() ? x.format("DD HH:mm") : l ? x.format("MM-DD HH:mm") : x.format("YYYY-MM-DD HH:mm");
|
|
1455
1455
|
}
|
|
1456
1456
|
return m({
|
|
1457
1457
|
getLegendBoxHeight: $e,
|
|
1458
1458
|
onChange: ce
|
|
1459
1459
|
}), (c, f) => {
|
|
1460
|
-
const
|
|
1460
|
+
const s = _("el-checkbox"), x = _("svg-icon"), l = _("el-icon"), k = _("el-dropdown-item"), y = _("el-dropdown-menu"), L = _("el-dropdown"), R = on("resize");
|
|
1461
1461
|
return xe((H(), Z("div", {
|
|
1462
1462
|
class: "box",
|
|
1463
1463
|
ref_key: "chartBox",
|
|
1464
1464
|
ref: A,
|
|
1465
1465
|
onContextmenu: f[1] || (f[1] = (E) => Ge(E))
|
|
1466
1466
|
}, [
|
|
1467
|
-
xe((H(), Z("div",
|
|
1468
|
-
ke(se(
|
|
1467
|
+
xe((H(), Z("div", Fn, [
|
|
1468
|
+
ke(se(o.chartOption.title), 1)
|
|
1469
1469
|
])), [
|
|
1470
|
-
[Fe,
|
|
1470
|
+
[Fe, o.chartOption.title],
|
|
1471
1471
|
[R, ue]
|
|
1472
1472
|
]),
|
|
1473
|
-
xe((H(), Z("div",
|
|
1474
|
-
ke(se(
|
|
1473
|
+
xe((H(), Z("div", Dn, [
|
|
1474
|
+
ke(se(o.chartOption.subTitle), 1)
|
|
1475
1475
|
])), [
|
|
1476
|
-
[Fe,
|
|
1476
|
+
[Fe, o.chartOption.subTitle],
|
|
1477
1477
|
[R, ue]
|
|
1478
1478
|
]),
|
|
1479
1479
|
xe((H(), Z("div", {
|
|
@@ -1481,7 +1481,7 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1481
1481
|
ref_key: "myLegend",
|
|
1482
1482
|
ref: ve
|
|
1483
1483
|
}, [
|
|
1484
|
-
Q.value.length > 1 ? (H(), X(
|
|
1484
|
+
Q.value.length > 1 ? (H(), X(s, {
|
|
1485
1485
|
key: 0,
|
|
1486
1486
|
modelValue: te.value,
|
|
1487
1487
|
"onUpdate:modelValue": f[0] || (f[0] = (E) => te.value = E),
|
|
@@ -1490,7 +1490,7 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1490
1490
|
style: { "--fill-color": "#409EFF" }
|
|
1491
1491
|
}, null, 8, ["modelValue"])) : K("", !0),
|
|
1492
1492
|
(H(!0), Z(Ee, null, De(Q.value, (E, Y) => (H(), Z(Ee, { key: Y }, [
|
|
1493
|
-
E.children ? K("", !0) : (H(), X(
|
|
1493
|
+
E.children ? K("", !0) : (H(), X(s, {
|
|
1494
1494
|
key: 0,
|
|
1495
1495
|
modelValue: E.isSelected,
|
|
1496
1496
|
"onUpdate:modelValue": (T) => E.isSelected = T,
|
|
@@ -1531,14 +1531,14 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1531
1531
|
default: W(() => [
|
|
1532
1532
|
(H(!0), Z(Ee, null, De(E.children, (T, le) => (H(), X(k, { key: le }, {
|
|
1533
1533
|
default: W(() => [
|
|
1534
|
-
de(
|
|
1534
|
+
de(s, {
|
|
1535
1535
|
modelValue: T.isSelected,
|
|
1536
1536
|
"onUpdate:modelValue": ($) => T.isSelected = $,
|
|
1537
1537
|
onChange: ($) => ce($, T.name),
|
|
1538
1538
|
style: G({ "--fill-color": T.color ? T.color : "#409EFF" })
|
|
1539
1539
|
}, {
|
|
1540
1540
|
default: W(() => [
|
|
1541
|
-
q("div",
|
|
1541
|
+
q("div", Cn, [
|
|
1542
1542
|
T.icon ? (H(), X(x, {
|
|
1543
1543
|
key: 0,
|
|
1544
1544
|
"icon-class": T.icon,
|
|
@@ -1563,7 +1563,7 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1563
1563
|
}, 1024)
|
|
1564
1564
|
]),
|
|
1565
1565
|
default: W(() => [
|
|
1566
|
-
de(
|
|
1566
|
+
de(s, {
|
|
1567
1567
|
modelValue: E.isSelected,
|
|
1568
1568
|
"onUpdate:modelValue": (T) => E.isSelected = T,
|
|
1569
1569
|
onChange: (T) => ce(T, E.name),
|
|
@@ -1601,18 +1601,18 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1601
1601
|
])), [
|
|
1602
1602
|
[R, ue]
|
|
1603
1603
|
]),
|
|
1604
|
-
q("div",
|
|
1604
|
+
q("div", Tn, [
|
|
1605
1605
|
q("div", {
|
|
1606
|
-
id:
|
|
1607
|
-
style: G({ width:
|
|
1608
|
-
}, null, 12,
|
|
1606
|
+
id: o.id,
|
|
1607
|
+
style: G({ width: o.width, height: o.height })
|
|
1608
|
+
}, null, 12, zn)
|
|
1609
1609
|
])
|
|
1610
1610
|
], 32)), [
|
|
1611
1611
|
[R, ue]
|
|
1612
1612
|
]);
|
|
1613
1613
|
};
|
|
1614
1614
|
}
|
|
1615
|
-
}, He = /* @__PURE__ */ Re(
|
|
1615
|
+
}, He = /* @__PURE__ */ Re(Ln, [["__scopeId", "data-v-4880a23b"]]), Nn = sn({
|
|
1616
1616
|
props: {
|
|
1617
1617
|
iconClass: {
|
|
1618
1618
|
type: String,
|
|
@@ -1627,28 +1627,28 @@ ${a.name}: {a0|${o.data.coord[1]}} ${a.unit}`;
|
|
|
1627
1627
|
default: ""
|
|
1628
1628
|
}
|
|
1629
1629
|
},
|
|
1630
|
-
setup(
|
|
1630
|
+
setup(o) {
|
|
1631
1631
|
return {
|
|
1632
1632
|
// 开发环境使用 icon-[name] 格式
|
|
1633
|
-
iconName: Te(() => `#icon-${
|
|
1634
|
-
svgClass: Te(() =>
|
|
1633
|
+
iconName: Te(() => `#icon-${o.iconClass}`),
|
|
1634
|
+
svgClass: Te(() => o.className ? `svg-icon ${o.className}` : "svg-icon")
|
|
1635
1635
|
};
|
|
1636
1636
|
}
|
|
1637
|
-
}),
|
|
1638
|
-
function
|
|
1637
|
+
}), Bn = ["xlink:href", "fill"];
|
|
1638
|
+
function Yn(o, m, N, A, a, M) {
|
|
1639
1639
|
return H(), Z("svg", {
|
|
1640
|
-
class:
|
|
1640
|
+
class: rn(o.svgClass),
|
|
1641
1641
|
"aria-hidden": "true"
|
|
1642
1642
|
}, [
|
|
1643
1643
|
q("use", {
|
|
1644
|
-
"xlink:href":
|
|
1645
|
-
fill:
|
|
1646
|
-
}, null, 8,
|
|
1644
|
+
"xlink:href": o.iconName,
|
|
1645
|
+
fill: o.color
|
|
1646
|
+
}, null, 8, Bn)
|
|
1647
1647
|
], 2);
|
|
1648
1648
|
}
|
|
1649
|
-
const
|
|
1650
|
-
He.install = (
|
|
1651
|
-
|
|
1649
|
+
const Hn = /* @__PURE__ */ Re(Nn, [["render", Yn]]);
|
|
1650
|
+
He.install = (o) => {
|
|
1651
|
+
o.component("ElCheckbox", gn), o.component("ElIcon", mn), o.component("ElDropdown", vn), o.component("ElDropdownMenu", bn), o.component("ElDropdownItem", En), o.component("SvgIcon", Hn), o.component("HydroGraph", He);
|
|
1652
1652
|
};
|
|
1653
1653
|
export {
|
|
1654
1654
|
He as HydroGraph,
|