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