hydro-graph 1.0.44 → 1.0.45
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.css +1 -1
- package/dist/hydro-graph.es.js +289 -277
- package/dist/hydro-graph.umd.js +13 -13
- package/package.json +1 -1
package/dist/hydro-graph.es.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { ref as fe, watch as
|
|
2
|
-
import * as
|
|
3
|
-
import { LineChart as
|
|
4
|
-
import { TooltipComponent as
|
|
5
|
-
import { LabelLayout as
|
|
6
|
-
import { CanvasRenderer as
|
|
1
|
+
import { ref as fe, watch as Te, nextTick as ze, onMounted as cn, resolveComponent as oe, resolveDirective as fn, withDirectives as me, openBlock as Q, createElementBlock as ee, createTextVNode as Le, toDisplayString as ue, vShow as Ne, createBlock as Z, createCommentVNode as _, Fragment as Ie, renderList as Be, normalizeStyle as K, withCtx as q, createElementVNode as te, createVNode as he, unref as Ye, normalizeClass as un, defineComponent as hn, computed as Re } from "vue";
|
|
2
|
+
import * as Ue from "echarts/core";
|
|
3
|
+
import { LineChart as pn, BarChart as An } from "echarts/charts";
|
|
4
|
+
import { TooltipComponent as yn, GridComponent as xn, LegendComponent as gn, DataZoomComponent as mn } from "echarts/components";
|
|
5
|
+
import { LabelLayout as vn } from "echarts/features";
|
|
6
|
+
import { CanvasRenderer as bn } from "echarts/renderers";
|
|
7
7
|
import S from "dayjs";
|
|
8
|
-
import
|
|
9
|
-
import { ElMessage as
|
|
10
|
-
import { ArrowDown as
|
|
11
|
-
function
|
|
8
|
+
import He from "html2canvas";
|
|
9
|
+
import { ElMessage as En, ElCheckbox as Mn, ElIcon as wn, ElDropdown as Sn, ElDropdownMenu as In, ElDropdownItem as On } from "element-plus";
|
|
10
|
+
import { ArrowDown as Ve } from "@element-plus/icons-vue";
|
|
11
|
+
function kn() {
|
|
12
12
|
let l = (/* @__PURE__ */ new Date()).getTime();
|
|
13
13
|
return window.performance && typeof window.performance.now == "function" && (l += performance.now()), "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
|
|
14
14
|
/[xy]/g,
|
|
15
|
-
function(
|
|
15
|
+
function(R) {
|
|
16
16
|
const h = (l + Math.random() * 16) % 16 | 0;
|
|
17
|
-
return l = Math.floor(l / 16), (
|
|
17
|
+
return l = Math.floor(l / 16), (R == "x" ? h : h & 3 | 8).toString(16);
|
|
18
18
|
}
|
|
19
19
|
);
|
|
20
20
|
}
|
|
21
|
-
const
|
|
21
|
+
const Qe = [
|
|
22
22
|
"#E3A8F7",
|
|
23
23
|
"#5C2D91",
|
|
24
24
|
"#8AE2C2",
|
|
@@ -73,19 +73,19 @@ const Ve = [
|
|
|
73
73
|
"#0083B0"
|
|
74
74
|
];
|
|
75
75
|
function ve(l) {
|
|
76
|
-
let g = /^(\d{4})-(\d{2})-(\d{2}) ([01]\d|2[0-3]):[0-5]\d$/,
|
|
77
|
-
return g.test(l) ||
|
|
76
|
+
let g = /^(\d{4})-(\d{2})-(\d{2}) ([01]\d|2[0-3]):[0-5]\d$/, R = /^(\d{2})-(\d{2}) ([01]\d|2[0-3]):[0-5]\d$/, h = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
77
|
+
return g.test(l) || R.test(l) || h.test(l);
|
|
78
78
|
}
|
|
79
|
-
function C(l, g,
|
|
79
|
+
function C(l, g, R) {
|
|
80
80
|
let h = "";
|
|
81
|
-
return g - l <= 1 ? h = 0.1 : g - l <= 5 ? h = 0.5 : g - l <= 10 ? h = 1 : g - l <= 25 ? h = 2.5 : g - l <= 50 ? h = 5 : g - l <= 100 ? h = 10 : g - l <= 250 ? h = 25 : g - l <= 500 ? h = 50 : g - l <= 1e3 ? h = 100 : g - l <= 2500 ? h = 250 : g - l <= 5e3 ? h = 500 : g - l <= 1e4 ? h = 1e3 : g - l <= 2e4 ? h = 2e3 : g - l <= 3e4 ? h = 3e3 : g - l <= 4e4 ? h = 4e3 : g - l <= 5e4 ? h = 5e3 : g - l <= 6e4 ? h = 6e3 : g - l <= 7e4 ? h = 7e3 : g - l <= 8e4 ? h = 8e3 : g - l <= 9e4 ? h = 9e3 : g - l <= 1e5 ? h = 1e4 : g - l <= 11e4 ? h = 11e3 : g - l <= 12e4 ? h = 12e3 : g - l <= 13e4 ? h = 13e3 : g - l <= 14e4 ? h = 14e3 : g - l <= 15e4 ? h = 15e3 : g - l <= 16e4 ? h = 16e3 : g - l <= 17e4 ? h = 17e3 : g - l <= 18e4 ? h = 18e3 : g - l <= 19e4 ? h = 19e3 : g - l <= 2e5 && (h = 2e4),
|
|
81
|
+
return g - l <= 1 ? h = 0.1 : g - l <= 5 ? h = 0.5 : g - l <= 10 ? h = 1 : g - l <= 25 ? h = 2.5 : g - l <= 50 ? h = 5 : g - l <= 100 ? h = 10 : g - l <= 250 ? h = 25 : g - l <= 500 ? h = 50 : g - l <= 1e3 ? h = 100 : g - l <= 2500 ? h = 250 : g - l <= 5e3 ? h = 500 : g - l <= 1e4 ? h = 1e3 : g - l <= 2e4 ? h = 2e3 : g - l <= 3e4 ? h = 3e3 : g - l <= 4e4 ? h = 4e3 : g - l <= 5e4 ? h = 5e3 : g - l <= 6e4 ? h = 6e3 : g - l <= 7e4 ? h = 7e3 : g - l <= 8e4 ? h = 8e3 : g - l <= 9e4 ? h = 9e3 : g - l <= 1e5 ? h = 1e4 : g - l <= 11e4 ? h = 11e3 : g - l <= 12e4 ? h = 12e3 : g - l <= 13e4 ? h = 13e3 : g - l <= 14e4 ? h = 14e3 : g - l <= 15e4 ? h = 15e3 : g - l <= 16e4 ? h = 16e3 : g - l <= 17e4 ? h = 17e3 : g - l <= 18e4 ? h = 18e3 : g - l <= 19e4 ? h = 19e3 : g - l <= 2e5 && (h = 2e4), R == 1 && (h = h * 2), h;
|
|
82
82
|
}
|
|
83
83
|
function le(l) {
|
|
84
84
|
if (isNaN(l))
|
|
85
85
|
return "";
|
|
86
86
|
var g = parseFloat(l);
|
|
87
87
|
if (g > 1) {
|
|
88
|
-
for (var
|
|
88
|
+
for (var R = 0, h = [
|
|
89
89
|
1,
|
|
90
90
|
10,
|
|
91
91
|
100,
|
|
@@ -97,11 +97,11 @@ function le(l) {
|
|
|
97
97
|
1e8,
|
|
98
98
|
1e9
|
|
99
99
|
], n = 0; n < h.length; n++)
|
|
100
|
-
g >= h[n] && g < h[n + 1] && (
|
|
101
|
-
if (
|
|
100
|
+
g >= h[n] && g < h[n + 1] && (R = h[n]);
|
|
101
|
+
if (R == 0)
|
|
102
102
|
return g.toString();
|
|
103
|
-
var M = Math.round(g /
|
|
104
|
-
return M = M *
|
|
103
|
+
var M = Math.round(g / R * 100) / 100;
|
|
104
|
+
return M = M * R, M >= 100 ? M.toFixed(0) : M >= 10 ? M.toFixed(1) : M.toFixed(2);
|
|
105
105
|
} else {
|
|
106
106
|
if (g >= 0)
|
|
107
107
|
return g.toFixed(3);
|
|
@@ -109,41 +109,41 @@ function le(l) {
|
|
|
109
109
|
return "-" + le(Math.abs(g));
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
function
|
|
112
|
+
function je(l, g, R) {
|
|
113
113
|
const h = [];
|
|
114
114
|
let n = new Date(l);
|
|
115
115
|
for (; n <= g; ) {
|
|
116
116
|
const M = n.getMinutes();
|
|
117
|
-
M %
|
|
117
|
+
M % R === 0 && h.push(S(new Date(n)).format("YYYY-MM-DD HH:mm")), n.setMinutes(M + 1);
|
|
118
118
|
}
|
|
119
119
|
return h;
|
|
120
120
|
}
|
|
121
121
|
function Fn(l, g) {
|
|
122
122
|
l = l.sort((n, M) => Date.parse(n) - Date.parse(M));
|
|
123
|
-
let
|
|
123
|
+
let R, h = [];
|
|
124
124
|
for (let n = 0; n < l.length; n++) {
|
|
125
|
-
n == 0 && (
|
|
125
|
+
n == 0 && (R = l[n]);
|
|
126
126
|
let M = S(l[n]).add(g, "minute").format("YYYY-MM-DD HH:mm");
|
|
127
|
-
l.includes(M) || (h.push({ startTm:
|
|
127
|
+
l.includes(M) || (h.push({ startTm: R, endTm: l[n] }), n + 1 < l.length && (R = l[n + 1]));
|
|
128
128
|
}
|
|
129
129
|
return h;
|
|
130
130
|
}
|
|
131
|
-
const
|
|
131
|
+
const Dn = (l) => new Promise((g) => {
|
|
132
132
|
setTimeout(() => {
|
|
133
133
|
g({ statusCode: 200, data: l.rzw * 1e3 });
|
|
134
134
|
}, 100);
|
|
135
|
-
}),
|
|
136
|
-
const
|
|
135
|
+
}), Cn = "data:image/png;base64,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", Tn = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAaVBMVEUAAAAQFBgQExcQEhYLFRcQExcQExYPExcQEhcOFBUQEhcQExcPEhcPExcQEhcQExYQERcPExYPEhcQExYQEhcTExMUFBQQExcQExcQExcQFBcPEhcPExcPFBYSEhgcHBwRExcOExgQExdmmIFTAAAAInRSTlMAQL+AFuzVxbEj3KOWdF9OR7qnnmgZDPrkyY5WQzIqCXs2T8mN8gAAAeVJREFUeNrt3dlqwzAQRmFFdpx9X7omaf/3f8iSrSW0FqFy0Micc+2bDxsGI9A4IiIiIqJHNJuMFz5hxWzQiGOs9PU30Yzdk0y0jnSUstI+DtKTlXpRjkJ2KmIgK9mp344vS+rGQLo65V3KOjoXM01kCdIBAgQIECChgAABEg4IECDhgAABEg4IkLZBNrPipul7lpB1pV+95AcpF/qrIjfIVmoHxLcEstajIV6XHgsZqaZ5ZpCqxrF0eUFKnfO3rQqXGaT2CSBAgAABAgQIECBAgAABAgQIEFsQr38HBAgQIECAOF+bLvm6bEFaM9mBAAECBAgQIECAAAECBAgQIECAADlBruUO+Q4IECA/AQECJBwQIEDCAQECJBwQIEDCAQECJBwQIEDCAQECJBwQIEDCGYQ8XyCdpOncJgKykJ2Gd7wz0xuTri1jIFPZaRoDcUtZaeyiIK4rIx0iIe5VFqoGLhbi5r3ky8Wqj2aubd12JkXC5uX9IzPzgFgLiLWANN1h1w7IvlLvrQWQgY695Q/p69gwf8hQp/KHCAiQU0CAAAkHBAiQcAYhgyskbQ0s+36WnV7i/gTsNGKz/7GhrDRyUb3LSlt3V9bP1rqfLrZypPS9uiaaTVY+Yf3JvHRERERERA/oC7GKf5yH1bdrAAAAAElFTkSuQmCC", zn = "data:image/png;base64,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", Pe = (l, g) => {
|
|
136
|
+
const R = l.__vccOpts || l;
|
|
137
137
|
for (const [h, n] of g)
|
|
138
|
-
|
|
139
|
-
return
|
|
140
|
-
},
|
|
138
|
+
R[h] = n;
|
|
139
|
+
return R;
|
|
140
|
+
}, Ln = { class: "title" }, Nn = { class: "subTitle" }, Bn = { style: { width: "20px", display: "flex", "justify-content": "center" } }, Yn = { class: "mychart" }, Rn = ["id"], Un = {
|
|
141
141
|
__name: "HydroGraph",
|
|
142
142
|
props: {
|
|
143
143
|
id: {
|
|
144
144
|
type: String,
|
|
145
145
|
default() {
|
|
146
|
-
return
|
|
146
|
+
return kn();
|
|
147
147
|
}
|
|
148
148
|
},
|
|
149
149
|
chartOption: {
|
|
@@ -177,58 +177,62 @@ const kn = (l) => new Promise((g) => {
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
},
|
|
180
|
-
setup(l, { expose: g, emit:
|
|
181
|
-
|
|
182
|
-
An,
|
|
180
|
+
setup(l, { expose: g, emit: R }) {
|
|
181
|
+
Ue.use([
|
|
183
182
|
yn,
|
|
184
183
|
xn,
|
|
185
184
|
gn,
|
|
186
|
-
hn,
|
|
187
|
-
pn,
|
|
188
185
|
mn,
|
|
189
|
-
|
|
186
|
+
pn,
|
|
187
|
+
An,
|
|
188
|
+
vn,
|
|
189
|
+
bn
|
|
190
190
|
]);
|
|
191
191
|
const h = fe(), n = l;
|
|
192
192
|
n.chartOption.series || (n.chartOption.series = []);
|
|
193
193
|
let M = {};
|
|
194
|
-
const
|
|
195
|
-
let re = {};
|
|
196
|
-
|
|
194
|
+
const Je = R;
|
|
195
|
+
let re = {}, be = !1;
|
|
196
|
+
Te(
|
|
197
197
|
() => n.chartOption,
|
|
198
198
|
() => {
|
|
199
|
-
|
|
199
|
+
if (be) {
|
|
200
|
+
be = !1;
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
ze(() => {
|
|
200
204
|
let s = setInterval(() => {
|
|
201
|
-
document.getElementById(n.id) && document.getElementById(n.id).offsetHeight > 100 && document.getElementById(n.id).offsetWidth > 100 && (
|
|
202
|
-
...
|
|
205
|
+
document.getElementById(n.id) && document.getElementById(n.id).offsetHeight > 100 && document.getElementById(n.id).offsetWidth > 100 && (F && F.getOption() && !n.chartOption.restoreZoom && (re = {
|
|
206
|
+
...F.getOption().dataZoom[0],
|
|
203
207
|
moveOnMouseMove: n.chartOption.series.some(
|
|
204
208
|
(f) => f.openBarDrag && (f.type == "line" || f.type == "markLine")
|
|
205
209
|
) ? "ctrl" : !0
|
|
206
|
-
}),
|
|
210
|
+
}), Me(), clearInterval(s));
|
|
207
211
|
}, 100);
|
|
208
212
|
});
|
|
209
213
|
},
|
|
210
214
|
{ deep: !0, immediate: !0 }
|
|
211
215
|
);
|
|
212
216
|
let ie = {};
|
|
213
|
-
|
|
217
|
+
Te(
|
|
214
218
|
() => n.legendList,
|
|
215
219
|
() => {
|
|
216
|
-
|
|
220
|
+
F && (ie = F.getOption().legend[0].selected);
|
|
217
221
|
let s = n.legendList.map((i) => {
|
|
218
|
-
let p =
|
|
222
|
+
let p = ke.find((r) => r.code == i.name);
|
|
219
223
|
return p ? {
|
|
220
224
|
...i,
|
|
221
225
|
...p
|
|
222
226
|
} : {
|
|
223
227
|
...i
|
|
224
228
|
};
|
|
225
|
-
}), f = JSON.parse(JSON.stringify(
|
|
226
|
-
M = {},
|
|
229
|
+
}), f = JSON.parse(JSON.stringify(J.value));
|
|
230
|
+
M = {}, J.value = s.map((i) => {
|
|
227
231
|
const p = f.find((O) => O.name == i.name);
|
|
228
232
|
M[i.name] = i, i.children && (i.children = i.children.map((O) => {
|
|
229
233
|
M[O.name] = O;
|
|
230
234
|
let x = "";
|
|
231
|
-
return n.chartOption.isDefaultElement === !1 ? x = ie[O.name] != null ? ie[O.name] : O.isSelected : p && p.children && p.children.find((
|
|
235
|
+
return n.chartOption.isDefaultElement === !1 ? x = ie[O.name] != null ? ie[O.name] : O.isSelected : p && p.children && p.children.find((Y) => Y.name == O.name) ? x = p.children.find((Y) => Y.name == O.name).isSelected : x = O.isSelected, {
|
|
232
236
|
...O,
|
|
233
237
|
isSelected: x,
|
|
234
238
|
id: Math.random()
|
|
@@ -244,7 +248,7 @@ const kn = (l) => new Promise((g) => {
|
|
|
244
248
|
},
|
|
245
249
|
{ deep: !0 }
|
|
246
250
|
);
|
|
247
|
-
const
|
|
251
|
+
const Oe = [
|
|
248
252
|
{ name: "实况雨量", type: "bar", color: "#0000ff", unit: "mm" },
|
|
249
253
|
{ name: "实测水位", type: "line", color: "#304755", unit: "m" },
|
|
250
254
|
{ name: "库容", type: "line", color: "#197e2b", unit: "万m³" },
|
|
@@ -260,14 +264,14 @@ const kn = (l) => new Promise((g) => {
|
|
|
260
264
|
{ name: "累计降雨", type: "line", color: "red", unit: "mm" },
|
|
261
265
|
{ name: "可纳雨量", type: "bar", color: "#0000ff", unit: "mm" },
|
|
262
266
|
{ name: "作业预报时间", type: "markLine", color: "#ff0000" }
|
|
263
|
-
],
|
|
267
|
+
], ke = [
|
|
264
268
|
{ name: "实况雨量", code: "P", color: "#0000ff", icon: "histogram" },
|
|
265
269
|
{ name: "实测水位", code: "RZ", color: "#304755", icon: "straightLine", iconWidth: "30", iconHeight: "30" },
|
|
266
270
|
{ name: "库容", code: "W", color: "#197e2b", icon: "straightLine", iconWidth: "30", iconHeight: "30" }
|
|
267
|
-
],
|
|
271
|
+
], We = ["校核洪水位", "设计洪水位", "正常高水位", "坝顶高程", "死水位", "主汛期"], J = fe(
|
|
268
272
|
n.legendList.map((s, f) => {
|
|
269
|
-
let i =
|
|
270
|
-
return s.color || (s.color =
|
|
273
|
+
let i = ke.find((p) => p.code == s.name);
|
|
274
|
+
return s.color || (s.color = Qe[f]), i ? {
|
|
271
275
|
...s,
|
|
272
276
|
...i
|
|
273
277
|
} : {
|
|
@@ -275,68 +279,68 @@ const kn = (l) => new Promise((g) => {
|
|
|
275
279
|
};
|
|
276
280
|
})
|
|
277
281
|
);
|
|
278
|
-
|
|
282
|
+
J.value.forEach((s) => {
|
|
279
283
|
M[s.name] = s, s.children && s.children.forEach((f) => {
|
|
280
284
|
M[f.name] = f;
|
|
281
285
|
});
|
|
282
286
|
});
|
|
283
287
|
const se = fe(!0);
|
|
284
288
|
let Fe = null;
|
|
285
|
-
const
|
|
289
|
+
const Xe = (s) => {
|
|
286
290
|
var i;
|
|
287
291
|
let f = [];
|
|
288
|
-
se.value = s,
|
|
292
|
+
se.value = s, J.value.forEach((p) => {
|
|
289
293
|
p.isSelected = s, f.push(p.name), p.children && p.children.forEach((r) => {
|
|
290
294
|
r.isSelected = s, f.push(r.name);
|
|
291
295
|
});
|
|
292
296
|
}), f.forEach((p) => {
|
|
293
|
-
|
|
294
|
-
}), re = { ...(i =
|
|
297
|
+
$[p] = s, xe(p, s);
|
|
298
|
+
}), re = { ...(i = F.getOption()) == null ? void 0 : i.dataZoom[0] }, Me();
|
|
295
299
|
}, pe = (s, f) => {
|
|
296
300
|
var p;
|
|
297
301
|
let i = [];
|
|
298
|
-
|
|
302
|
+
J.value.forEach((r) => {
|
|
299
303
|
r.name == f ? (r.isSelected = s, r.children ? r.children.forEach((O) => {
|
|
300
304
|
O.isSelected = s, i.push(O.name);
|
|
301
305
|
}) : i.push(r.name)) : r.children && r.children.forEach((O) => {
|
|
302
306
|
O.name == f && (O.isSelected = s, i.push(O.name), r.children.filter((x) => x.isSelected).length == r.children.length ? r.isSelected = !0 : r.isSelected = !1);
|
|
303
307
|
});
|
|
304
308
|
}), i.forEach((r) => {
|
|
305
|
-
Array.isArray(r) ? (
|
|
306
|
-
}), Fe =
|
|
309
|
+
Array.isArray(r) ? ($[r[0]] = s, $[r[1]] = s, xe(r[0], s), xe(r[1], s)) : ($[r] = s, xe(r, s));
|
|
310
|
+
}), Fe = J.value.some((r) => r.isSelected == !1), Fe ? se.value = !1 : se.value = !0, re = { ...(p = F.getOption()) == null ? void 0 : p.dataZoom[0] }, Me();
|
|
307
311
|
};
|
|
308
|
-
|
|
309
|
-
window.addEventListener("keydown",
|
|
312
|
+
cn(() => {
|
|
313
|
+
window.addEventListener("keydown", Ke);
|
|
310
314
|
});
|
|
311
|
-
let
|
|
312
|
-
const
|
|
315
|
+
let Ee = {};
|
|
316
|
+
const Ke = (s) => {
|
|
313
317
|
if (s.key === "i") {
|
|
314
|
-
let f = JSON.parse(JSON.stringify(
|
|
318
|
+
let f = JSON.parse(JSON.stringify(F.getOption()));
|
|
315
319
|
f.series.forEach((i) => {
|
|
316
|
-
i.markPoint && i.markPoint.data.length != 0 ? i.markPoint.data = [] : i.markPoint && i.markPoint.data == 0 && (i.markPoint =
|
|
317
|
-
}),
|
|
320
|
+
i.markPoint && i.markPoint.data.length != 0 ? i.markPoint.data = [] : i.markPoint && i.markPoint.data == 0 && (i.markPoint = Ee[i.name]);
|
|
321
|
+
}), F.setOption(f);
|
|
318
322
|
}
|
|
319
323
|
};
|
|
320
|
-
let
|
|
321
|
-
const
|
|
324
|
+
let $ = {}, F, Ae;
|
|
325
|
+
const W = fe({}), Me = async () => {
|
|
322
326
|
let s = n.chartOption.series.map((e) => {
|
|
323
327
|
let t = "";
|
|
324
|
-
return e.code ? t =
|
|
328
|
+
return e.code ? t = Oe.find((o) => o.code == e.code) : t = Oe.find((o) => o.name == e.name), t ? {
|
|
325
329
|
...t,
|
|
326
330
|
...e
|
|
327
331
|
} : {
|
|
328
332
|
...e
|
|
329
333
|
};
|
|
330
334
|
});
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
335
|
+
J.value.forEach((e) => {
|
|
336
|
+
$[e.name] = e.isSelected, e.children && e.children.forEach((t) => {
|
|
337
|
+
$[t.name] = t.isSelected;
|
|
334
338
|
});
|
|
335
|
-
}), Ae = document.getElementById(n.id),
|
|
339
|
+
}), Ae = document.getElementById(n.id), F || (F = Ue.init(Ae));
|
|
336
340
|
let f = s.filter((e) => Array.isArray(e.data));
|
|
337
341
|
const i = f.every(
|
|
338
342
|
(e) => Array.isArray(e.data) && e.data.length === 0
|
|
339
|
-
), p =
|
|
343
|
+
), p = je(
|
|
340
344
|
new Date(S().subtract(5, "day").format("YYYY-MM-DD 08:00")),
|
|
341
345
|
new Date(S().format("YYYY-MM-DD HH:00")),
|
|
342
346
|
60
|
|
@@ -349,7 +353,7 @@ const kn = (l) => new Promise((g) => {
|
|
|
349
353
|
n.chartOption.series.forEach((e) => {
|
|
350
354
|
e.name == "开始" && e.sectionStartTime && (O = e.sectionStartTime);
|
|
351
355
|
});
|
|
352
|
-
let x = JSON.parse(JSON.stringify(n.chartOption.grid)),
|
|
356
|
+
let x = JSON.parse(JSON.stringify(n.chartOption.grid)), Y = n.chartOption.xAxis.map((e, t) => {
|
|
353
357
|
let o = "";
|
|
354
358
|
e.show == !1 || x.length > 1 && t == 0 ? o = !1 : o = !0;
|
|
355
359
|
let A = {
|
|
@@ -373,7 +377,7 @@ const kn = (l) => new Promise((g) => {
|
|
|
373
377
|
show: o,
|
|
374
378
|
rotate: e.rotate,
|
|
375
379
|
formatter: function(v) {
|
|
376
|
-
return e.type == "time" ?
|
|
380
|
+
return e.type == "time" ? $e(S(S(v).format("YYYY-MM-DD HH:mm"))) ? n.chartOption.xTimeType ? `{a|${n.chartOption.xTimeType}}` : "{a|{yyyy}-{MM}-{dd} {HH}:{mm}}" : n.chartOption.xTimeType ? n.chartOption.xTimeType : "{MM}-{dd} {HH}:{mm}" : e.name ? e.name.includes("m³/s") ? le(v) : e.name.includes("万m³") ? v.toFixed(2) : e.name.includes("mm") ? v.toFixed(1) : e.name.includes("m") ? v.toFixed(2) : (v || v == 0) && e.toFixed ? Number(v).toFixed(e.toFixed) : v : v;
|
|
377
381
|
},
|
|
378
382
|
rich: {
|
|
379
383
|
a: {
|
|
@@ -415,7 +419,7 @@ const kn = (l) => new Promise((g) => {
|
|
|
415
419
|
};
|
|
416
420
|
}
|
|
417
421
|
return A;
|
|
418
|
-
}),
|
|
422
|
+
}), j = n.chartOption.yAxis.map((e, t) => {
|
|
419
423
|
let o = 0, A = 100, v = 10;
|
|
420
424
|
if (e.name.includes("m³/s") ? (A = 1e3, v = 100) : e.name.includes("万m³") && (A = 1e4, v = 1e3), e.name == "可纳雨量(mm)")
|
|
421
425
|
return {
|
|
@@ -458,14 +462,14 @@ const kn = (l) => new Promise((g) => {
|
|
|
458
462
|
}
|
|
459
463
|
};
|
|
460
464
|
{
|
|
461
|
-
let E = n.chartOption.series.filter((c) => c.yAxisIndex == t && (
|
|
465
|
+
let E = n.chartOption.series.filter((c) => c.yAxisIndex == t && ($[c.name] || !Object.keys($).includes(c.name))), u = [], a = [], b = [], y = 0, d = 100, w = null;
|
|
462
466
|
if (E.forEach((c) => {
|
|
463
467
|
c.data instanceof Array ? ((c.data2 ? c.data2 : c.data).forEach((D) => {
|
|
464
468
|
if (D instanceof Array && D.length >= 2) {
|
|
465
|
-
const
|
|
466
|
-
if (
|
|
467
|
-
const
|
|
468
|
-
w === null && (w =
|
|
469
|
+
const z = D[1];
|
|
470
|
+
if (z != "" && z != null && z != null && !isNaN(z)) {
|
|
471
|
+
const k = Number(z);
|
|
472
|
+
w === null && (w = k);
|
|
469
473
|
}
|
|
470
474
|
}
|
|
471
475
|
}), u = c.data2 ? u.concat(c.data2) : u.concat(c.data)) : c.data.name == "yAxis" && c.data.value && b.push(Number(c.data.value));
|
|
@@ -611,14 +615,14 @@ const kn = (l) => new Promise((g) => {
|
|
|
611
615
|
},
|
|
612
616
|
itemStyle: e.itemStyle ? e.itemStyle : {
|
|
613
617
|
color: function(u) {
|
|
614
|
-
let a = M[e.name] ? M[e.name].color : e.color ? e.color :
|
|
618
|
+
let a = M[e.name] ? M[e.name].color : e.color ? e.color : Qe[t];
|
|
615
619
|
return e.color2 && u.value[1] < 0 ? e.color2 : a;
|
|
616
620
|
},
|
|
617
621
|
decal: {
|
|
618
622
|
symbol: e.pattern ? e.pattern : "none"
|
|
619
623
|
}
|
|
620
624
|
},
|
|
621
|
-
barCategoryGap: e.barCategoryGap ? e.barCategoryGap :
|
|
625
|
+
barCategoryGap: e.barCategoryGap ? e.barCategoryGap : j[e.yAxisIndex].inverse ? "0%" : "20%",
|
|
622
626
|
barGap: e.barGap ? e.barGap : "0%",
|
|
623
627
|
data: i ? p : e.data,
|
|
624
628
|
zlevel: 9,
|
|
@@ -655,9 +659,9 @@ const kn = (l) => new Promise((g) => {
|
|
|
655
659
|
zlevel: 9,
|
|
656
660
|
z: 9
|
|
657
661
|
}, e.isMaxMinShow && e.data.length > 0) {
|
|
658
|
-
let y = e.data.filter((D) => !D[2]).filter((D) => D[1]), d = y.reduce((D,
|
|
659
|
-
r.forEach((D,
|
|
660
|
-
S(D).isValid() && D == w && (D.markPointOffset || (
|
|
662
|
+
let y = e.data.filter((D) => !D[2]).filter((D) => D[1]), d = y.reduce((D, z) => parseFloat(z[1]) > parseFloat(D[1]) ? z : D, y[0]), w = d ? d[0] : "", c = d ? d[1] : "", I;
|
|
663
|
+
r.forEach((D, z) => {
|
|
664
|
+
S(D).isValid() && D == w && (D.markPointOffset || (z >= r.length / 5 * 4 ? I = [-200, 0] : z >= r.length / 5 * 3 ? I = [-150, 0] : z >= r.length / 5 * 2 ? I = [-100, 0] : z >= r.length / 5 * 1 ? I = [-50, 0] : z >= 0 && (I = [0, 0])));
|
|
661
665
|
}), o.markPoint = {
|
|
662
666
|
symbol: "pin",
|
|
663
667
|
symbolSize: 20,
|
|
@@ -677,16 +681,16 @@ const kn = (l) => new Promise((g) => {
|
|
|
677
681
|
lineHeight: 30,
|
|
678
682
|
color: e.markPointColor ? e.markPointColor : "#fff",
|
|
679
683
|
formatter: (D) => {
|
|
680
|
-
let
|
|
684
|
+
let z = "";
|
|
681
685
|
if (D.data && D.data.coord && D.data.coord[0]) {
|
|
682
686
|
let ae = e.tmType ? e.tmType : "YYYY-MM-DD HH:mm";
|
|
683
|
-
|
|
687
|
+
z = S(D.data.coord[0]).format(ae);
|
|
684
688
|
}
|
|
685
|
-
let
|
|
689
|
+
let k = "", H = "";
|
|
686
690
|
if (D.name == "Max")
|
|
687
|
-
return
|
|
688
|
-
${e.tmText}: {a1|${
|
|
689
|
-
${
|
|
691
|
+
return k = e.maxText ? e.maxText : "最大值", e.unit.includes("m³") ? H = D.value ? le(D.value) : "--" : e.unit.includes("mm") ? H = D.value ? Number(D.value).toFixed(1) : "--" : e.unit.includes("m") ? H = D.value ? Number(D.value).toFixed(2) : "--" : H = D.value, e.tmText ? `${k}: {a0|${H}} ${e.unit}
|
|
692
|
+
${e.tmText}: {a1|${z}}` : `${e.tmText2 ? e.tmText2 : "相应时间"}: {a1|${z}}
|
|
693
|
+
${k}: {a0|${H}} ${e.unit}`;
|
|
690
694
|
},
|
|
691
695
|
rich: {
|
|
692
696
|
a0: {
|
|
@@ -753,13 +757,13 @@ ${F}: {a0|${H}} ${e.unit}`;
|
|
|
753
757
|
formatter: function(b) {
|
|
754
758
|
if (e.labelType == 2) {
|
|
755
759
|
let y = "";
|
|
756
|
-
return e.name == "开始" ? y = `${e.name}: ${b.value}` : e.name == "结束" && (y = `${e.name}: ${
|
|
760
|
+
return e.name == "开始" ? y = `${e.name}: ${b.value}` : e.name == "结束" && (y = `${e.name}: ${rn(b.value)}`), e.labelArr && e.labelArr.forEach((d) => {
|
|
757
761
|
y += `{a1|
|
|
758
762
|
${d.name}: ${d.value} ${d.unit}}`;
|
|
759
763
|
}), y;
|
|
760
764
|
} else {
|
|
761
765
|
let y = "";
|
|
762
|
-
return (
|
|
766
|
+
return (We.includes(e.name) || e.name.includes("梅汛期") || e.name.includes("台汛期")) && (y = "{a0|▽}"), e.data.name == "xAxis" ? e.name : ` ${y}${e.name}: ${e.data.value} ${e.unit} `;
|
|
763
767
|
}
|
|
764
768
|
},
|
|
765
769
|
rich: {
|
|
@@ -840,9 +844,9 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
840
844
|
]
|
|
841
845
|
]
|
|
842
846
|
}), o;
|
|
843
|
-
}), L =
|
|
847
|
+
}), L = j.map((e) => e.name), de = {}, ne = {};
|
|
844
848
|
if (L.includes("水位(m)") && L.includes("库容(万m³)") && n.chartOption.stationCode) {
|
|
845
|
-
let e =
|
|
849
|
+
let e = j.find((a) => a.name == "水位(m)"), t = [];
|
|
846
850
|
for (let a = e.min; a <= e.max; a += e.interval)
|
|
847
851
|
t.push(a);
|
|
848
852
|
let o = [];
|
|
@@ -852,10 +856,10 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
852
856
|
else if (t[a] == 0)
|
|
853
857
|
o.push(0);
|
|
854
858
|
else {
|
|
855
|
-
let b = await
|
|
859
|
+
let b = await on(t[a], a);
|
|
856
860
|
o.push(b);
|
|
857
861
|
}
|
|
858
|
-
|
|
862
|
+
j.forEach((a) => {
|
|
859
863
|
a.name == "水位(m)" ? a.offset = 80 : a.name == "库容(万m³)" && (a.offset = 80, a.nameGap = -70, a.splitLine.show = !1, a.minorSplitLine.show = !1, a.axisLabel.inside = !0, a.axisTick.inside = !0, x.length > 1 ? a.gridIndex == 0 ? (x[a.gridIndex].left = 150, x[a.gridIndex].right = 20, x[1].left = 150, x[1].right = 20) : a.gridIndex == 1 && (x[0].left = 150, x[0].right = 70, x[a.gridIndex].left = 150, x[a.gridIndex].right = 70) : x.length == 1 && (x[a.gridIndex].left = 150, x[a.gridIndex].right = 20), a.position = "left", a.max = e.max, a.min = e.min, a.interval = e.interval, a.axisLabel.formatter = (b, y) => o[y] || o[y] == 0 ? Number(o[y]).toFixed(2) : "");
|
|
860
864
|
});
|
|
861
865
|
let A = U.find((a) => a.name == "库容"), v = U.find((a) => a.name == "5分钟库容"), E = U.find(
|
|
@@ -895,7 +899,7 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
895
899
|
{
|
|
896
900
|
name: "b",
|
|
897
901
|
xAxisIndex: 1,
|
|
898
|
-
yAxisIndex:
|
|
902
|
+
yAxisIndex: j.findIndex((e) => e.gridIndex == 1),
|
|
899
903
|
data: n.chartOption.series.length == 0 ? p : ce.map((e) => [e, void 0]),
|
|
900
904
|
type: "line",
|
|
901
905
|
z: 9,
|
|
@@ -907,7 +911,7 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
907
911
|
t == 0 ? (e.top = 10, e.height = n.chartOption.isTwoXAxis ? "48%" : "26%") : t == 1 && (e.top = n.chartOption.isTwoXAxis ? "52%" : "30%", e.bottom = n.chartOption.xAxis[t].name ? 40 : 20);
|
|
908
912
|
}) : x.length == 3 && x.forEach((e, t) => {
|
|
909
913
|
t == 0 ? (e.top = 10, e.height = "26%") : (t == 1 || t == 2) && (e.top = "30%", e.bottom = 40);
|
|
910
|
-
}),
|
|
914
|
+
}), W.value = {
|
|
911
915
|
animation: !0,
|
|
912
916
|
// 将 animation 设置为 false 关闭动画效果
|
|
913
917
|
tooltip: {
|
|
@@ -1001,7 +1005,7 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
1001
1005
|
let A = e.find((E) => E.seriesName == o.name);
|
|
1002
1006
|
if (A && !(Array.isArray(A.value) && A.value[2] === !0)) {
|
|
1003
1007
|
let E = "";
|
|
1004
|
-
o.key ? E = o.key :
|
|
1008
|
+
o.key ? E = o.key : J.value.forEach((b) => {
|
|
1005
1009
|
b.name == A.seriesName ? E = b.key ? b.key : o.name : b.children && b.children.forEach((y) => {
|
|
1006
1010
|
y.name == A.seriesName && (E = y.key);
|
|
1007
1011
|
});
|
|
@@ -1027,7 +1031,7 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
1027
1031
|
},
|
|
1028
1032
|
legend: {
|
|
1029
1033
|
show: !1,
|
|
1030
|
-
selected:
|
|
1034
|
+
selected: $
|
|
1031
1035
|
},
|
|
1032
1036
|
grid: x,
|
|
1033
1037
|
axisPointer: {
|
|
@@ -1035,8 +1039,8 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
1035
1039
|
xAxisIndex: "all"
|
|
1036
1040
|
}
|
|
1037
1041
|
},
|
|
1038
|
-
xAxis:
|
|
1039
|
-
yAxis:
|
|
1042
|
+
xAxis: Y,
|
|
1043
|
+
yAxis: j,
|
|
1040
1044
|
dataZoom: [
|
|
1041
1045
|
{
|
|
1042
1046
|
type: "inside",
|
|
@@ -1051,7 +1055,7 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
1051
1055
|
}
|
|
1052
1056
|
],
|
|
1053
1057
|
series: U
|
|
1054
|
-
}, n.chartOption.visualMap && (
|
|
1058
|
+
}, n.chartOption.visualMap && (W.value.visualMap = n.chartOption.visualMap.map((e) => {
|
|
1055
1059
|
let t = U[e.seriesIndex], o = [], A = [];
|
|
1056
1060
|
return e.step ? A = Fn(e.pieces, e.step) : A = e.pieces, A.forEach((v, E) => {
|
|
1057
1061
|
let u = new Date(v.startTm).getTime(), a = new Date(v.endTm).getTime();
|
|
@@ -1086,13 +1090,13 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
1086
1090
|
seriesIndex: e.seriesIndex,
|
|
1087
1091
|
pieces: o
|
|
1088
1092
|
};
|
|
1089
|
-
})), JSON.stringify(re) != "{}" && (
|
|
1090
|
-
e.markPoint && (
|
|
1093
|
+
})), JSON.stringify(re) != "{}" && (W.value.dataZoom[0] = re), console.log(W.value), F.setOption(W.value, !0), F.getOption().series.map((e) => {
|
|
1094
|
+
e.markPoint && (Ee[e.name] = e.markPoint);
|
|
1091
1095
|
}), n.chartOption.isTooltipItem) {
|
|
1092
1096
|
let e = document.createElement("div");
|
|
1093
|
-
e.className = "line-name-tooltip-style", Ae.appendChild(e),
|
|
1097
|
+
e.className = "line-name-tooltip-style", Ae.appendChild(e), F.on("mouseover", function(t) {
|
|
1094
1098
|
t.componentType === "series" && t.seriesType === "line" ? (e.innerText = `${t.seriesName}`, e.style.left = `${t.event.offsetX}px`, e.style.top = `${t.event.offsetY}px`, e.style.opacity = "1") : e && (e.style.opacity = "0");
|
|
1095
|
-
}),
|
|
1099
|
+
}), F.on("mouseout", function(t) {
|
|
1096
1100
|
e && (e.style.opacity = "0");
|
|
1097
1101
|
});
|
|
1098
1102
|
} else {
|
|
@@ -1101,16 +1105,16 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
1101
1105
|
t.remove();
|
|
1102
1106
|
});
|
|
1103
1107
|
}
|
|
1104
|
-
|
|
1105
|
-
var I, D,
|
|
1106
|
-
const t = f.find((
|
|
1108
|
+
F.off("click"), F.on("click", (e) => {
|
|
1109
|
+
var I, D, z;
|
|
1110
|
+
const t = f.find((k) => k.name == e.seriesName);
|
|
1107
1111
|
if (!t || e.seriesType !== "line") return;
|
|
1108
|
-
const { data: o, seriesIndex: A } = e, E = ((I =
|
|
1109
|
-
(
|
|
1112
|
+
const { data: o, seriesIndex: A } = e, E = ((I = F.getOption().series[A].markPoint) == null ? void 0 : I.data) || [], u = r.findIndex(
|
|
1113
|
+
(k) => S(k).isValid() && k == o[0]
|
|
1110
1114
|
), a = u >= 0 ? [-Math.floor(u / (r.length / 5)) * 50, 0] : [-120, 0], y = new Set(
|
|
1111
|
-
E.filter((
|
|
1115
|
+
E.filter((k) => k.name !== "Max" && k.name !== "Min").map((k) => k.coord[0])
|
|
1112
1116
|
).has(e.value[0]) ? E.filter(
|
|
1113
|
-
(
|
|
1117
|
+
(k) => k.name === "Max" || k.name === "Min" || k.coord[0] !== e.value[0]
|
|
1114
1118
|
) : [
|
|
1115
1119
|
...E,
|
|
1116
1120
|
{
|
|
@@ -1119,8 +1123,8 @@ ${d.name}: ${d.value} ${d.unit}}`;
|
|
|
1119
1123
|
${e.seriesName}: ${o[1]} ${t.unit}`,
|
|
1120
1124
|
label: { offset: a }
|
|
1121
1125
|
}
|
|
1122
|
-
], d = (
|
|
1123
|
-
|
|
1126
|
+
], d = (k, H) => k ? H.includes("m³") ? le(k) : H.includes("mm") ? Number(k).toFixed(1) : H.includes("m") ? Number(k).toFixed(2) : k : "--", w = t.tmType || "YYYY-MM-DD HH:mm", c = t.backgroundColor || ((D = M[t.name]) == null ? void 0 : D.color) || t.color;
|
|
1127
|
+
W.value.series[A].markPoint = {
|
|
1124
1128
|
symbol: "pin",
|
|
1125
1129
|
symbolSize: 20,
|
|
1126
1130
|
label: {
|
|
@@ -1138,18 +1142,18 @@ ${e.seriesName}: ${o[1]} ${t.unit}`,
|
|
|
1138
1142
|
padding: [4, 4, 4, 4],
|
|
1139
1143
|
lineHeight: 30,
|
|
1140
1144
|
color: t.markPointColor || "#fff",
|
|
1141
|
-
formatter: (
|
|
1142
|
-
var
|
|
1143
|
-
const H = (
|
|
1144
|
-
if (
|
|
1145
|
-
const
|
|
1146
|
-
return t.tmText ? `${
|
|
1147
|
-
${
|
|
1148
|
-
${
|
|
1145
|
+
formatter: (k) => {
|
|
1146
|
+
var X, N;
|
|
1147
|
+
const H = (N = (X = k.data) == null ? void 0 : X.coord) == null ? void 0 : N[0], ae = H ? S(H).format(w) : "";
|
|
1148
|
+
if (k.name === "Max") {
|
|
1149
|
+
const B = t.maxText || "最大值", T = d(k.value, t.unit), V = t.tmText || t.tmText2 || "相应时间";
|
|
1150
|
+
return t.tmText ? `${B}: {a0|${T}} ${t.unit}
|
|
1151
|
+
${V}: {a1|${ae}}` : `${V}: {a1|${ae}}
|
|
1152
|
+
${B}: {a0|${T}} ${t.unit}`;
|
|
1149
1153
|
}
|
|
1150
|
-
if (
|
|
1154
|
+
if (k.name !== "Min")
|
|
1151
1155
|
return `相应时间: {a1|${S(H).format(w)}}
|
|
1152
|
-
${t.name}: {a0|${
|
|
1156
|
+
${t.name}: {a0|${k.data.coord[1]}} ${t.unit}`;
|
|
1153
1157
|
},
|
|
1154
1158
|
rich: {
|
|
1155
1159
|
a0: { fontSize: 25, fontFamily: "Times New Roman" },
|
|
@@ -1157,111 +1161,119 @@ ${t.name}: {a0|${F.data.coord[1]}} ${t.unit}`;
|
|
|
1157
1161
|
}
|
|
1158
1162
|
},
|
|
1159
1163
|
data: y
|
|
1160
|
-
},
|
|
1161
|
-
|
|
1164
|
+
}, W.value.dataZoom[0] = { ...(z = F.getOption()) == null ? void 0 : z.dataZoom[0] }, F.setOption(W.value, !0), F.getOption().series.forEach((k) => {
|
|
1165
|
+
k.markPoint && (Ee[k.name] = k.markPoint);
|
|
1162
1166
|
});
|
|
1163
|
-
}),
|
|
1164
|
-
|
|
1167
|
+
}), F.on("mousedown", function(e) {
|
|
1168
|
+
F.setOption({ tooltip: { show: !1 } }), F.dispatchAction({ type: "hideTip" });
|
|
1165
1169
|
const { seriesIndex: t } = e, o = n.chartOption.series[t];
|
|
1166
1170
|
if (!(o != null && o.openBarDrag)) return;
|
|
1167
1171
|
const A = o.stepTM || 60, v = e.componentType === "markLine" && o.data.name === "xAxis", E = o.name === "开始", u = n.chartOption.yAxis[o.yAxisIndex], a = {};
|
|
1168
1172
|
let b = {}, y, d, w;
|
|
1169
|
-
const c =
|
|
1173
|
+
const c = W.value.series.map((N, B) => v ? N.name === "开始" || N.name === "结束" ? JSON.parse(JSON.stringify(N)) : {} : B === t ? { data: JSON.parse(JSON.stringify(N.data)) } : {});
|
|
1170
1174
|
let I = 0;
|
|
1171
1175
|
if (n.chartOption.fixedTimePeriod) {
|
|
1172
|
-
const
|
|
1173
|
-
I = S(
|
|
1176
|
+
const N = n.chartOption.series.find((T) => T.name === "开始").data.value, B = n.chartOption.series.find((T) => T.name === "结束").data.value;
|
|
1177
|
+
I = S(B).diff(S(N), "hour");
|
|
1174
1178
|
}
|
|
1175
|
-
const D = S(r[r.length - 1]),
|
|
1176
|
-
const
|
|
1177
|
-
return
|
|
1178
|
-
}, H = (
|
|
1179
|
-
c.forEach((
|
|
1180
|
-
|
|
1179
|
+
const D = S(r[r.length - 1]), z = O ? S(O) : null, k = (N) => {
|
|
1180
|
+
const B = u.name;
|
|
1181
|
+
return B.includes("m³") ? le(N) : B.includes("mm") ? N.toFixed(1) : B.includes("m") ? N.toFixed(2) : N;
|
|
1182
|
+
}, H = (N, B) => {
|
|
1183
|
+
c.forEach((T) => {
|
|
1184
|
+
T.name === "开始" ? (T.markLine.data[0].xAxis = N, T.markArea.data[0][0].xAxis = N, B != null && (T.markArea.data[0][1].xAxis = B)) : T.name === "结束" && (T.markLine.data[0].xAxis = B ?? T.markLine.data[0].xAxis);
|
|
1181
1185
|
});
|
|
1182
1186
|
}, ae = () => {
|
|
1183
|
-
|
|
1184
|
-
},
|
|
1185
|
-
|
|
1187
|
+
F.setOption({ series: c }, { notMerge: !1, lazyUpdate: !0 });
|
|
1188
|
+
}, X = F.getZr();
|
|
1189
|
+
X.off("mousemove"), X.off("mouseup"), X.on("mousemove", function(N) {
|
|
1186
1190
|
if (v) {
|
|
1187
|
-
const
|
|
1188
|
-
if (
|
|
1189
|
-
const
|
|
1190
|
-
if (
|
|
1191
|
+
const B = F.convertFromPixel({ xAxisIndex: o.xAxisIndex }, N.offsetX), T = S(B).format("YYYY-MM-DD HH:00");
|
|
1192
|
+
if (T === y) return;
|
|
1193
|
+
const V = S(T);
|
|
1194
|
+
if (V.isAfter(D) || z && V.isBefore(z)) return;
|
|
1191
1195
|
if (n.chartOption.fixedTimePeriod) {
|
|
1192
|
-
const
|
|
1193
|
-
if (w = S(
|
|
1196
|
+
const P = E ? I : -I;
|
|
1197
|
+
if (w = S(T).add(P, "hours").format("YYYY-MM-DD HH:00"), E && S(w).isAfter(D) || !E && z && S(w).isBefore(z)) return;
|
|
1194
1198
|
H(
|
|
1195
|
-
E ?
|
|
1196
|
-
E ? w :
|
|
1199
|
+
E ? T : w,
|
|
1200
|
+
E ? w : T
|
|
1197
1201
|
);
|
|
1198
1202
|
} else
|
|
1199
|
-
E ? H(
|
|
1200
|
-
|
|
1203
|
+
E ? H(T, null) : c.forEach((P) => {
|
|
1204
|
+
P.name === "开始" && (P.markArea.data[0][1].xAxis = T), P.name === "结束" && (P.markLine.data[0].xAxis = T);
|
|
1201
1205
|
});
|
|
1202
|
-
ae(), y =
|
|
1206
|
+
ae(), y = T;
|
|
1203
1207
|
} else {
|
|
1204
|
-
const [
|
|
1205
|
-
if (
|
|
1206
|
-
a[
|
|
1207
|
-
const
|
|
1208
|
-
c[t].data.forEach((
|
|
1209
|
-
|
|
1208
|
+
const [B, T] = F.convertFromPixel({ seriesIndex: t }, [N.offsetX, N.offsetY]), V = S(B).format("YYYY-MM-DD HH:00");
|
|
1209
|
+
if (V === y && d && Math.abs(T - d) < 0.5) return;
|
|
1210
|
+
a[V] = T;
|
|
1211
|
+
const P = Object.keys(a).sort(), De = new Set(P);
|
|
1212
|
+
c[t].data.forEach((G) => {
|
|
1213
|
+
De.has(G[0]) && (G[1] = a[G[0]]);
|
|
1210
1214
|
});
|
|
1211
|
-
const
|
|
1212
|
-
let ge = Object.entries(a).sort((
|
|
1213
|
-
const
|
|
1214
|
-
ge = ge.concat(
|
|
1215
|
-
const
|
|
1216
|
-
c[t].data.forEach((
|
|
1217
|
-
|
|
1218
|
-
}), ae(), y =
|
|
1215
|
+
const sn = je(new Date(P[0]), new Date(P[P.length - 1]), A);
|
|
1216
|
+
let ge = Object.entries(a).sort((G, Se) => S(G[0]).valueOf() - S(Se[0]).valueOf());
|
|
1217
|
+
const dn = sn.filter((G) => !De.has(G)).map((G) => ln(ge, G));
|
|
1218
|
+
ge = ge.concat(dn).sort((G, Se) => S(G[0]).valueOf() - S(Se[0]).valueOf());
|
|
1219
|
+
const Ce = new Map(ge);
|
|
1220
|
+
c[t].data.forEach((G) => {
|
|
1221
|
+
Ce.has(G[0]) && (G[1] = k(Ce.get(G[0])));
|
|
1222
|
+
}), ae(), y = V, d = T;
|
|
1219
1223
|
}
|
|
1220
|
-
}),
|
|
1221
|
-
|
|
1224
|
+
}), X.on("mouseup", function() {
|
|
1225
|
+
if (X.off("mousemove"), X.off("mouseup"), v ? y && (w ? (E && S(w).isAfter(D) ? w = S(y).add(I, "hours").format("YYYY-MM-DD HH:00") : !E && z && S(w).isBefore(z) && (w = S(y).add(-I, "hours").format("YYYY-MM-DD HH:00")), b = {
|
|
1222
1226
|
name: "开始/结束",
|
|
1223
1227
|
value: E ? `${y}/${w}` : `${w}/${y}`
|
|
1224
|
-
}) : b = { name: o.name, value: y }) : b = { name: e.seriesName, data: c[t].data }, b.name
|
|
1225
|
-
|
|
1228
|
+
}) : b = { name: o.name, value: y }) : b = { name: e.seriesName, data: c[t].data }, b.name) {
|
|
1229
|
+
be = !0, Je("getNewSeriesData", b);
|
|
1230
|
+
const N = F.getOption().series;
|
|
1231
|
+
W.value.series.forEach((B, T) => {
|
|
1232
|
+
const V = N[T];
|
|
1233
|
+
V && (V.data && (B.data = V.data), V.markLine && (B.markLine = V.markLine), V.markArea && (B.markArea = V.markArea));
|
|
1234
|
+
});
|
|
1235
|
+
}
|
|
1236
|
+
X.on("mousemove", ({ offsetX: N, offsetY: B }) => {
|
|
1237
|
+
F.dispatchAction({ type: "showTip", x: N, y: B });
|
|
1226
1238
|
});
|
|
1227
1239
|
});
|
|
1228
1240
|
}), window.onresize = function() {
|
|
1229
|
-
|
|
1241
|
+
F.resize();
|
|
1230
1242
|
};
|
|
1231
1243
|
}, ye = () => {
|
|
1232
|
-
|
|
1233
|
-
|
|
1244
|
+
ze(() => {
|
|
1245
|
+
F && F.resize();
|
|
1234
1246
|
});
|
|
1235
1247
|
}, xe = (s, f) => {
|
|
1236
|
-
|
|
1248
|
+
F.dispatchAction({
|
|
1237
1249
|
type: f ? "legendSelect" : "legendUnSelect",
|
|
1238
1250
|
// 图例名称
|
|
1239
1251
|
name: s
|
|
1240
1252
|
});
|
|
1241
1253
|
};
|
|
1242
|
-
function
|
|
1254
|
+
function $e(s) {
|
|
1243
1255
|
return s.month() === 0 && s.date() === 1 && s.hour() === 0 && s.minute() === 0;
|
|
1244
1256
|
}
|
|
1245
|
-
function
|
|
1257
|
+
function Ze(s) {
|
|
1246
1258
|
s.preventDefault();
|
|
1247
1259
|
let f = document.querySelector("body .chartMenu");
|
|
1248
1260
|
f && f.remove();
|
|
1249
1261
|
let i = s.pageX, p = s.pageY, r = document.createElement("ul");
|
|
1250
1262
|
r.style.position = "absolute", r.style.left = i + "px", r.style.top = p + "px", r.className = "chartMenu";
|
|
1251
1263
|
let O = document.createElement("li");
|
|
1252
|
-
O.style.cursor = "pointer", O.innerHTML = `<div><img src='${
|
|
1264
|
+
O.style.cursor = "pointer", O.innerHTML = `<div><img src='${Cn}'><span>还原缩放</span></div>`, r.appendChild(O);
|
|
1253
1265
|
let x = document.createElement("li");
|
|
1254
|
-
x.style.cursor = "pointer", x.innerHTML = `<div><img src='${
|
|
1255
|
-
let
|
|
1256
|
-
|
|
1257
|
-
|
|
1266
|
+
x.style.cursor = "pointer", x.innerHTML = `<div><img src='${Tn}'><span>复制图片</span></div>`, r.appendChild(x);
|
|
1267
|
+
let Y = document.createElement("li");
|
|
1268
|
+
Y.style.cursor = "pointer", Y.innerHTML = `<div><img src='${zn}'><span>导出图片</span></div>`, r.appendChild(Y), O.addEventListener("click", () => {
|
|
1269
|
+
F.dispatchAction({
|
|
1258
1270
|
type: "dataZoom",
|
|
1259
1271
|
dataZoomIndex: 0,
|
|
1260
1272
|
start: 0,
|
|
1261
1273
|
end: 100
|
|
1262
1274
|
});
|
|
1263
1275
|
}), x.addEventListener("click", () => {
|
|
1264
|
-
|
|
1276
|
+
He(h.value, {
|
|
1265
1277
|
// dpi: 300, // 精度,处理模糊问题
|
|
1266
1278
|
useCORS: !0,
|
|
1267
1279
|
// 允许跨域
|
|
@@ -1278,31 +1290,31 @@ ${t.name}: {a0|${F.data.coord[1]}} ${t.unit}`;
|
|
|
1278
1290
|
removeContainer: !0
|
|
1279
1291
|
// 清除临时创建的克隆dom元素
|
|
1280
1292
|
// eslint-disable-next-line space-before-function-paren
|
|
1281
|
-
}).then((
|
|
1282
|
-
const m =
|
|
1283
|
-
|
|
1293
|
+
}).then((j) => {
|
|
1294
|
+
const m = j.toDataURL("image/png"), U = qe(m, "图片");
|
|
1295
|
+
_e(U), En.success("复制成功");
|
|
1284
1296
|
});
|
|
1285
|
-
}),
|
|
1286
|
-
|
|
1297
|
+
}), Y.addEventListener("click", () => {
|
|
1298
|
+
an();
|
|
1287
1299
|
}), document.body.appendChild(r), document.addEventListener("click", () => {
|
|
1288
1300
|
r.parentNode && document.body.removeChild(r);
|
|
1289
1301
|
});
|
|
1290
1302
|
}
|
|
1291
|
-
const
|
|
1303
|
+
const qe = (s, f = "file") => {
|
|
1292
1304
|
const i = s.split(","), p = i[0].match(/:(.*?);/)[1], r = p.split("/")[1], O = window.atob(i[1]);
|
|
1293
1305
|
let x = O.length;
|
|
1294
|
-
const
|
|
1306
|
+
const Y = new Uint8Array(x);
|
|
1295
1307
|
for (; x--; )
|
|
1296
|
-
|
|
1297
|
-
return new File([
|
|
1308
|
+
Y[x] = O.charCodeAt(x);
|
|
1309
|
+
return new File([Y], `${f}.${r}`, {
|
|
1298
1310
|
type: p
|
|
1299
1311
|
});
|
|
1300
|
-
},
|
|
1312
|
+
}, _e = (s) => {
|
|
1301
1313
|
const f = new FileReader();
|
|
1302
1314
|
f.onload = (i) => {
|
|
1303
1315
|
const p = i.target.result.toString(), r = new Image();
|
|
1304
1316
|
r.src = p, r.onload = () => {
|
|
1305
|
-
let O =
|
|
1317
|
+
let O = en(r), x = nn(
|
|
1306
1318
|
O.replace("data:image/png;base64,", ""),
|
|
1307
1319
|
"image/png",
|
|
1308
1320
|
512
|
|
@@ -1314,22 +1326,22 @@ ${t.name}: {a0|${F.data.coord[1]}} ${t.unit}`;
|
|
|
1314
1326
|
]);
|
|
1315
1327
|
};
|
|
1316
1328
|
}, f.readAsDataURL(s);
|
|
1317
|
-
},
|
|
1329
|
+
}, en = (s) => {
|
|
1318
1330
|
let f = document.createElement("canvas");
|
|
1319
1331
|
return f.width = s.width, f.height = s.height, f.getContext("2d").drawImage(s, 0, 0, s.width, s.height), f.toDataURL("image/png");
|
|
1320
|
-
},
|
|
1332
|
+
}, nn = (s, f, i) => {
|
|
1321
1333
|
f = f || "", i = i || 512;
|
|
1322
1334
|
let p = window.atob(s), r = [];
|
|
1323
1335
|
for (let x = 0; x < p.length; x += i) {
|
|
1324
|
-
let
|
|
1325
|
-
for (let U = 0; U <
|
|
1326
|
-
|
|
1327
|
-
let m = new Uint8Array(
|
|
1336
|
+
let Y = p.slice(x, x + i), j = new Array(Y.length);
|
|
1337
|
+
for (let U = 0; U < Y.length; U++)
|
|
1338
|
+
j[U] = Y.charCodeAt(U);
|
|
1339
|
+
let m = new Uint8Array(j);
|
|
1328
1340
|
r.push(m);
|
|
1329
1341
|
}
|
|
1330
1342
|
return new Blob(r, { type: f });
|
|
1331
|
-
},
|
|
1332
|
-
|
|
1343
|
+
}, an = () => {
|
|
1344
|
+
He(h.value, {
|
|
1333
1345
|
// dpi: 300, // 精度,处理模糊问题
|
|
1334
1346
|
useCORS: !0,
|
|
1335
1347
|
// 允许跨域
|
|
@@ -1350,13 +1362,13 @@ ${t.name}: {a0|${F.data.coord[1]}} ${t.unit}`;
|
|
|
1350
1362
|
const f = s.toDataURL("image/png"), i = document.createElement("a");
|
|
1351
1363
|
i.href = f, i.download = n.chartOption.title, i.click();
|
|
1352
1364
|
});
|
|
1353
|
-
},
|
|
1354
|
-
function
|
|
1355
|
-
return
|
|
1365
|
+
}, we = fe();
|
|
1366
|
+
function tn() {
|
|
1367
|
+
return we.value ? we.value.offsetHeight : 0;
|
|
1356
1368
|
}
|
|
1357
|
-
function
|
|
1369
|
+
function on(s, f) {
|
|
1358
1370
|
return new Promise((i) => {
|
|
1359
|
-
|
|
1371
|
+
Dn({
|
|
1360
1372
|
STCD: n.chartOption.stationCode,
|
|
1361
1373
|
rzw: s
|
|
1362
1374
|
}).then((p) => {
|
|
@@ -1364,7 +1376,7 @@ ${t.name}: {a0|${F.data.coord[1]}} ${t.unit}`;
|
|
|
1364
1376
|
});
|
|
1365
1377
|
});
|
|
1366
1378
|
}
|
|
1367
|
-
function
|
|
1379
|
+
function ln(s, f) {
|
|
1368
1380
|
if (s.length > 0) {
|
|
1369
1381
|
let i = s.filter(
|
|
1370
1382
|
(r) => S(r[0]).isBefore(S(f))
|
|
@@ -1382,107 +1394,107 @@ ${t.name}: {a0|${F.data.coord[1]}} ${t.unit}`;
|
|
|
1382
1394
|
), O = p[0][1] - i[i.length - 1][1], x = S(p[0][0]).diff(
|
|
1383
1395
|
S(i[i.length - 1][0]),
|
|
1384
1396
|
"seconds"
|
|
1385
|
-
),
|
|
1386
|
-
return [f, Number(
|
|
1397
|
+
), Y = r * O / x + i[i.length - 1][1];
|
|
1398
|
+
return [f, Number(Y)];
|
|
1387
1399
|
}
|
|
1388
1400
|
}
|
|
1389
1401
|
}
|
|
1390
|
-
function
|
|
1402
|
+
function rn(s) {
|
|
1391
1403
|
var x;
|
|
1392
|
-
let f = (x = n.chartOption.series.find((
|
|
1404
|
+
let f = (x = n.chartOption.series.find((Y) => Y.name == "开始")) == null ? void 0 : x.data.value;
|
|
1393
1405
|
const i = S(f), p = S(s), r = i.year() === p.year();
|
|
1394
1406
|
return r && i.month() === p.month() ? p.format("DD HH:mm") : r ? p.format("MM-DD HH:mm") : p.format("YYYY-MM-DD HH:mm");
|
|
1395
1407
|
}
|
|
1396
1408
|
return g({
|
|
1397
|
-
getLegendBoxHeight:
|
|
1409
|
+
getLegendBoxHeight: tn,
|
|
1398
1410
|
onChange: pe
|
|
1399
1411
|
}), (s, f) => {
|
|
1400
|
-
const i = oe("el-checkbox"), p = oe("svg-icon"), r = oe("el-icon"), O = oe("el-dropdown-item"), x = oe("el-dropdown-menu"),
|
|
1401
|
-
return me((
|
|
1412
|
+
const i = oe("el-checkbox"), p = oe("svg-icon"), r = oe("el-icon"), O = oe("el-dropdown-item"), x = oe("el-dropdown-menu"), Y = oe("el-dropdown"), j = fn("resize");
|
|
1413
|
+
return me((Q(), ee("div", {
|
|
1402
1414
|
class: "box",
|
|
1403
1415
|
ref_key: "chartBox",
|
|
1404
1416
|
ref: h,
|
|
1405
|
-
onContextmenu: f[1] || (f[1] = (m) =>
|
|
1417
|
+
onContextmenu: f[1] || (f[1] = (m) => Ze(m))
|
|
1406
1418
|
}, [
|
|
1407
|
-
me((
|
|
1408
|
-
|
|
1419
|
+
me((Q(), ee("div", Ln, [
|
|
1420
|
+
Le(ue(l.chartOption.title), 1)
|
|
1409
1421
|
])), [
|
|
1410
|
-
[
|
|
1411
|
-
[
|
|
1422
|
+
[Ne, l.chartOption.title],
|
|
1423
|
+
[j, ye]
|
|
1412
1424
|
]),
|
|
1413
|
-
me((
|
|
1414
|
-
|
|
1425
|
+
me((Q(), ee("div", Nn, [
|
|
1426
|
+
Le(ue(l.chartOption.subTitle), 1)
|
|
1415
1427
|
])), [
|
|
1416
|
-
[
|
|
1417
|
-
[
|
|
1428
|
+
[Ne, l.chartOption.subTitle],
|
|
1429
|
+
[j, ye]
|
|
1418
1430
|
]),
|
|
1419
|
-
me((
|
|
1431
|
+
me((Q(), ee("div", {
|
|
1420
1432
|
class: "legend-box",
|
|
1421
1433
|
ref_key: "myLegend",
|
|
1422
|
-
ref:
|
|
1434
|
+
ref: we
|
|
1423
1435
|
}, [
|
|
1424
|
-
|
|
1436
|
+
J.value.length > 1 ? (Q(), Z(i, {
|
|
1425
1437
|
key: 0,
|
|
1426
1438
|
modelValue: se.value,
|
|
1427
1439
|
"onUpdate:modelValue": f[0] || (f[0] = (m) => se.value = m),
|
|
1428
1440
|
label: "全选",
|
|
1429
|
-
onChange:
|
|
1441
|
+
onChange: Xe,
|
|
1430
1442
|
style: { "--fill-color": "#409EFF" }
|
|
1431
1443
|
}, null, 8, ["modelValue"])) : _("", !0),
|
|
1432
|
-
(
|
|
1433
|
-
m.children ? _("", !0) : (
|
|
1444
|
+
(Q(!0), ee(Ie, null, Be(J.value, (m, U) => (Q(), ee(Ie, { key: U }, [
|
|
1445
|
+
m.children ? _("", !0) : (Q(), Z(i, {
|
|
1434
1446
|
key: 0,
|
|
1435
1447
|
modelValue: m.isSelected,
|
|
1436
1448
|
"onUpdate:modelValue": (L) => m.isSelected = L,
|
|
1437
1449
|
onChange: (L) => pe(L, m.name),
|
|
1438
|
-
style:
|
|
1450
|
+
style: K({ "--fill-color": m.color ? m.color : "#409EFF" })
|
|
1439
1451
|
}, {
|
|
1440
1452
|
default: q(() => [
|
|
1441
|
-
m.icon ? (
|
|
1453
|
+
m.icon ? (Q(), Z(p, {
|
|
1442
1454
|
key: 0,
|
|
1443
1455
|
"icon-class": m.icon,
|
|
1444
|
-
style:
|
|
1456
|
+
style: K({
|
|
1445
1457
|
width: m.iconWidth ? m.iconWidth + "px" : "20px",
|
|
1446
1458
|
height: m.iconHeight ? m.iconHeight + "px" : "20px"
|
|
1447
1459
|
}),
|
|
1448
1460
|
color: m.color
|
|
1449
1461
|
}, null, 8, ["icon-class", "style", "color"])) : _("", !0),
|
|
1450
1462
|
te("span", {
|
|
1451
|
-
style:
|
|
1463
|
+
style: K({ color: m.color, marginLeft: "3px" })
|
|
1452
1464
|
}, ue(m.key ? m.key : m.name), 5),
|
|
1453
|
-
m.children && m.children.length > 0 ? (
|
|
1465
|
+
m.children && m.children.length > 0 ? (Q(), Z(r, {
|
|
1454
1466
|
key: 1,
|
|
1455
1467
|
class: "el-icon--right"
|
|
1456
1468
|
}, {
|
|
1457
1469
|
default: q(() => [
|
|
1458
|
-
he(
|
|
1470
|
+
he(Ye(Ve))
|
|
1459
1471
|
]),
|
|
1460
1472
|
_: 1
|
|
1461
1473
|
})) : _("", !0)
|
|
1462
1474
|
]),
|
|
1463
1475
|
_: 2
|
|
1464
1476
|
}, 1032, ["modelValue", "onUpdate:modelValue", "onChange", "style"])),
|
|
1465
|
-
m.children && m.children.length > 0 ? (
|
|
1477
|
+
m.children && m.children.length > 0 ? (Q(), Z(Y, {
|
|
1466
1478
|
key: 1,
|
|
1467
1479
|
"hide-on-click": !1
|
|
1468
1480
|
}, {
|
|
1469
1481
|
dropdown: q(() => [
|
|
1470
1482
|
he(x, null, {
|
|
1471
1483
|
default: q(() => [
|
|
1472
|
-
(
|
|
1484
|
+
(Q(!0), ee(Ie, null, Be(m.children, (L, de) => (Q(), Z(O, { key: de }, {
|
|
1473
1485
|
default: q(() => [
|
|
1474
1486
|
he(i, {
|
|
1475
1487
|
modelValue: L.isSelected,
|
|
1476
1488
|
"onUpdate:modelValue": (ne) => L.isSelected = ne,
|
|
1477
1489
|
onChange: (ne) => pe(ne, L.name),
|
|
1478
|
-
style:
|
|
1490
|
+
style: K({ "--fill-color": L.color ? L.color : "#409EFF" })
|
|
1479
1491
|
}, {
|
|
1480
1492
|
default: q(() => [
|
|
1481
|
-
te("div",
|
|
1482
|
-
L.icon ? (
|
|
1493
|
+
te("div", Bn, [
|
|
1494
|
+
L.icon ? (Q(), Z(p, {
|
|
1483
1495
|
key: 0,
|
|
1484
1496
|
"icon-class": L.icon,
|
|
1485
|
-
style:
|
|
1497
|
+
style: K({
|
|
1486
1498
|
width: L.iconWidth ? L.iconWidth + "px" : "20px",
|
|
1487
1499
|
height: L.iconHeight ? L.iconHeight + "px" : "20px"
|
|
1488
1500
|
}),
|
|
@@ -1490,7 +1502,7 @@ ${t.name}: {a0|${F.data.coord[1]}} ${t.unit}`;
|
|
|
1490
1502
|
}, null, 8, ["icon-class", "style", "color"])) : _("", !0)
|
|
1491
1503
|
]),
|
|
1492
1504
|
te("span", {
|
|
1493
|
-
style:
|
|
1505
|
+
style: K({ color: L.color, marginLeft: "3px" })
|
|
1494
1506
|
}, ue(L.key ? L.key : L.name), 5)
|
|
1495
1507
|
]),
|
|
1496
1508
|
_: 2
|
|
@@ -1507,27 +1519,27 @@ ${t.name}: {a0|${F.data.coord[1]}} ${t.unit}`;
|
|
|
1507
1519
|
modelValue: m.isSelected,
|
|
1508
1520
|
"onUpdate:modelValue": (L) => m.isSelected = L,
|
|
1509
1521
|
onChange: (L) => pe(L, m.name),
|
|
1510
|
-
style:
|
|
1522
|
+
style: K({ "--fill-color": m.color ? m.color : "#409EFF" })
|
|
1511
1523
|
}, {
|
|
1512
1524
|
default: q(() => [
|
|
1513
|
-
m.icon ? (
|
|
1525
|
+
m.icon ? (Q(), Z(p, {
|
|
1514
1526
|
key: 0,
|
|
1515
1527
|
"icon-class": m.icon,
|
|
1516
|
-
style:
|
|
1528
|
+
style: K({
|
|
1517
1529
|
width: m.iconWidth ? m.iconWidth + "px" : "20px",
|
|
1518
1530
|
height: m.iconHeight ? m.iconHeight + "px" : "20px"
|
|
1519
1531
|
}),
|
|
1520
1532
|
color: m.color
|
|
1521
1533
|
}, null, 8, ["icon-class", "style", "color"])) : _("", !0),
|
|
1522
1534
|
te("span", {
|
|
1523
|
-
style:
|
|
1535
|
+
style: K({ color: m.color, marginLeft: "3px" })
|
|
1524
1536
|
}, ue(m.key ? m.key : m.name), 5),
|
|
1525
|
-
m.children && m.children.length > 0 ? (
|
|
1537
|
+
m.children && m.children.length > 0 ? (Q(), Z(r, {
|
|
1526
1538
|
key: 1,
|
|
1527
1539
|
class: "el-icon--right"
|
|
1528
1540
|
}, {
|
|
1529
1541
|
default: q(() => [
|
|
1530
|
-
he(
|
|
1542
|
+
he(Ye(Ve))
|
|
1531
1543
|
]),
|
|
1532
1544
|
_: 1
|
|
1533
1545
|
})) : _("", !0)
|
|
@@ -1539,20 +1551,20 @@ ${t.name}: {a0|${F.data.coord[1]}} ${t.unit}`;
|
|
|
1539
1551
|
}, 1024)) : _("", !0)
|
|
1540
1552
|
], 64))), 128))
|
|
1541
1553
|
])), [
|
|
1542
|
-
[
|
|
1554
|
+
[j, ye]
|
|
1543
1555
|
]),
|
|
1544
|
-
te("div",
|
|
1556
|
+
te("div", Yn, [
|
|
1545
1557
|
te("div", {
|
|
1546
1558
|
id: l.id,
|
|
1547
|
-
style:
|
|
1548
|
-
}, null, 12,
|
|
1559
|
+
style: K({ width: l.width, height: l.height })
|
|
1560
|
+
}, null, 12, Rn)
|
|
1549
1561
|
])
|
|
1550
1562
|
], 32)), [
|
|
1551
|
-
[
|
|
1563
|
+
[j, ye]
|
|
1552
1564
|
]);
|
|
1553
1565
|
};
|
|
1554
1566
|
}
|
|
1555
|
-
},
|
|
1567
|
+
}, Ge = /* @__PURE__ */ Pe(Un, [["__scopeId", "data-v-f3fa0048"]]), Hn = hn({
|
|
1556
1568
|
props: {
|
|
1557
1569
|
iconClass: {
|
|
1558
1570
|
type: String,
|
|
@@ -1570,27 +1582,27 @@ ${t.name}: {a0|${F.data.coord[1]}} ${t.unit}`;
|
|
|
1570
1582
|
setup(l) {
|
|
1571
1583
|
return {
|
|
1572
1584
|
// 开发环境使用 icon-[name] 格式
|
|
1573
|
-
iconName:
|
|
1574
|
-
svgClass:
|
|
1585
|
+
iconName: Re(() => `#icon-${l.iconClass}`),
|
|
1586
|
+
svgClass: Re(() => l.className ? `svg-icon ${l.className}` : "svg-icon")
|
|
1575
1587
|
};
|
|
1576
1588
|
}
|
|
1577
|
-
}),
|
|
1578
|
-
function
|
|
1579
|
-
return
|
|
1580
|
-
class:
|
|
1589
|
+
}), Vn = ["xlink:href", "fill"];
|
|
1590
|
+
function Qn(l, g, R, h, n, M) {
|
|
1591
|
+
return Q(), ee("svg", {
|
|
1592
|
+
class: un(l.svgClass),
|
|
1581
1593
|
"aria-hidden": "true"
|
|
1582
1594
|
}, [
|
|
1583
1595
|
te("use", {
|
|
1584
1596
|
"xlink:href": l.iconName,
|
|
1585
1597
|
fill: l.color
|
|
1586
|
-
}, null, 8,
|
|
1598
|
+
}, null, 8, Vn)
|
|
1587
1599
|
], 2);
|
|
1588
1600
|
}
|
|
1589
|
-
const
|
|
1590
|
-
|
|
1591
|
-
l.component("ElCheckbox",
|
|
1601
|
+
const jn = /* @__PURE__ */ Pe(Hn, [["render", Qn]]);
|
|
1602
|
+
Ge.install = (l) => {
|
|
1603
|
+
l.component("ElCheckbox", Mn), l.component("ElIcon", wn), l.component("ElDropdown", Sn), l.component("ElDropdownMenu", In), l.component("ElDropdownItem", On), l.component("SvgIcon", jn), l.component("HydroGraph", Ge);
|
|
1592
1604
|
};
|
|
1593
1605
|
export {
|
|
1594
|
-
|
|
1595
|
-
|
|
1606
|
+
Ge as HydroGraph,
|
|
1607
|
+
Ge as default
|
|
1596
1608
|
};
|