nxd-plugin 1.6.5 → 1.6.6

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.
Files changed (38) hide show
  1. package/dist/chunks/component-AqiMonitor-DoGm_NCt.mjs +6718 -0
  2. package/dist/chunks/component-HighWayEarlyWarningRed-D89gFa50.mjs +2223 -0
  3. package/dist/chunks/{component-HighWayFreeze-DTZgUHLb.mjs → component-HighWayFreeze-C_Y5P0wN.mjs} +1007 -1006
  4. package/dist/chunks/{component-HighwayLiveAlarm-DH_Radnp.mjs → component-HighwayLiveAlarm-DMdnrD3c.mjs} +66 -65
  5. package/dist/chunks/{component-HighwayLiveAlarmNew-BRmrckoI.mjs → component-HighwayLiveAlarmNew--cnSiMgV.mjs} +258 -257
  6. package/dist/chunks/{component-HighwayStations-BADne1O5.mjs → component-HighwayStations-CNs3P4Vw.mjs} +10 -9
  7. package/dist/chunks/{component-HighwayWeatherForecast-D3pduycn.mjs → component-HighwayWeatherForecast-Dn6tjaR-.mjs} +33 -32
  8. package/dist/chunks/{component-ImageGeneration-BWVqHs7l.mjs → component-ImageGeneration-BY0gFwcr.mjs} +4548 -4504
  9. package/dist/chunks/{component-LithiumBatteryMiningArea-QPD9ERqx.mjs → component-LithiumBatteryMiningArea-Dj1DMKuU.mjs} +16 -15
  10. package/dist/chunks/component-MapPopup-B2Jmyc6L.mjs +46 -0
  11. package/dist/chunks/component-RadarChart-CGAMxnMk.mjs +121 -0
  12. package/dist/chunks/{component-RadarShortTerm-DvYtb48r.mjs → component-RadarShortTerm-Bp09mb4q.mjs} +26 -25
  13. package/dist/chunks/component-RadarTime-aohD_Dpx.mjs +500 -0
  14. package/dist/chunks/{component-ServiceMaterialsBtn-IIYNTWxy.mjs → component-ServiceMaterialsBtn-7b7nWW__.mjs} +106 -105
  15. package/dist/chunks/{component-TimeBasedForecast-9At0jrIg.mjs → component-TimeBasedForecast-By7vsTR3.mjs} +25 -25
  16. package/dist/chunks/component-WarningSignal-DDOj8BOp.mjs +322 -0
  17. package/dist/chunks/component-WeatherForecast-B-KJ3IU3.mjs +231 -0
  18. package/dist/chunks/{component-YCHome-BGMzJhDv.mjs → component-YCHome-CUbCw7zJ.mjs} +143 -142
  19. package/dist/chunks/{component-YCLogin-CFe09txe.mjs → component-YCLogin-iSv0b64g.mjs} +4 -4
  20. package/dist/chunks/{component-YCLoginNew-BDpy2huY.mjs → component-YCLoginNew-BFc61ag4.mjs} +9 -9
  21. package/dist/nxd-plugin.mjs +23 -18
  22. package/dist/src/components/AqiMonitor/AqiMonitor.vue.d.ts +54 -0
  23. package/dist/src/components/MapPopup/MapPopup.vue.d.ts +60 -0
  24. package/dist/src/components/RadarChart/RadarChart.vue.d.ts +54 -0
  25. package/dist/src/components/RadarTime/RadarTime.vue.d.ts +158 -0
  26. package/dist/src/components/WarningSignal/WarningSignal.vue.d.ts +60 -0
  27. package/dist/src/index.d.ts +6 -1
  28. package/dist/styles/component-AqiMonitor.css +1 -0
  29. package/dist/styles/component-MapPopup.css +1 -0
  30. package/dist/styles/component-RadarChart.css +1 -0
  31. package/dist/styles/component-RadarTime.css +1 -0
  32. package/dist/styles/component-WarningSignal.css +1 -0
  33. package/dist/styles/component-WeatherForecast.css +1 -1
  34. package/dist/styles/component-YCLogin.css +1 -1
  35. package/dist/styles/component-YCLoginNew.css +1 -1
  36. package/package.json +1 -1
  37. package/dist/chunks/component-HighWayEarlyWarningRed-B24zorkZ.mjs +0 -8807
  38. package/dist/chunks/component-WeatherForecast-DFqXrhZl.mjs +0 -146
@@ -0,0 +1,500 @@
1
+ import "./rolldown-runtime-Dd0fQ6-X.mjs";
2
+ import { a as e, n as t, r as n } from "./component-AqiMonitor-DoGm_NCt.mjs";
3
+ import { Fragment as r, computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, defineComponent as c, getCurrentInstance as ee, normalizeClass as l, normalizeStyle as u, onMounted as te, onUnmounted as ne, openBlock as d, ref as f, renderList as p, toDisplayString as m, vShow as h, watch as re, withDirectives as g, withModifiers as ie } from "vue";
4
+ //#region src/components/RadarTime/RadarTime.vue?vue&type=script&setup=true&lang.ts
5
+ var ae = {
6
+ class: "RadarTime",
7
+ "element-loading-background": "rgba(0, 0, 0, 0.4)"
8
+ }, oe = { class: "RadarTime__head" }, se = { class: "RadarTime__head-top" }, ce = { class: "RadarTime__body" }, _ = { class: "RadarTime__toolbar" }, le = { class: "RadarTime__display" }, ue = { class: "RadarTime__panel" }, de = { class: "RadarTime__time-list" }, fe = ["onClick"], pe = {
9
+ key: 0,
10
+ class: "RadarTime__time-node"
11
+ }, v = { class: "RadarTime__node-value" }, y = { class: "RadarTime__legend" }, me = { class: "RadarTime__legend-bar" }, he = { class: "RadarTime__legend-labels" }, ge = {
12
+ key: 0,
13
+ class: "RadarTime__station-bar"
14
+ }, _e = { class: "RadarTime__station-name" }, ve = { class: "RadarTime__station-panel" }, ye = ["onClick"], be = {
15
+ key: 1,
16
+ class: "RadarTime__controls"
17
+ }, xe = { class: "RadarTime__radio-group" }, Se = [
18
+ "value",
19
+ "checked",
20
+ "onChange"
21
+ ], Ce = { class: "RadarTime__checkbox-group" }, we = ["checked"], Te = ["checked"], Ee = { class: "RadarTime__main" }, De = { class: "RadarTime__play-wrapper" }, Oe = {
22
+ key: 0,
23
+ xmlns: "http://www.w3.org/2000/svg",
24
+ width: "22",
25
+ height: "22",
26
+ viewBox: "0 0 24 24",
27
+ fill: "#fff"
28
+ }, ke = {
29
+ key: 1,
30
+ xmlns: "http://www.w3.org/2000/svg",
31
+ width: "20",
32
+ height: "20",
33
+ viewBox: "0 0 24 24",
34
+ fill: "#fff"
35
+ }, Ae = { class: "RadarTime__track-bg" }, je = { class: "RadarTime__track-content" }, b = ["onClick"], x = /* @__PURE__ */ t(/* @__PURE__ */ c({
36
+ __name: "RadarTime",
37
+ props: {
38
+ appKey: {
39
+ type: String,
40
+ default: ""
41
+ },
42
+ appSalt: {
43
+ type: String,
44
+ default: ""
45
+ },
46
+ showCloseBtn: {
47
+ type: Boolean,
48
+ default: !0
49
+ },
50
+ baseHttp: {
51
+ type: String,
52
+ default: ""
53
+ },
54
+ ids: {
55
+ type: Object,
56
+ default: () => ({})
57
+ },
58
+ title: {
59
+ type: String,
60
+ default: "雷达时间轴"
61
+ },
62
+ legendData: {
63
+ type: Array,
64
+ default: () => [
65
+ {
66
+ value: "0",
67
+ color: "rgb(192, 192, 253)"
68
+ },
69
+ {
70
+ value: "5",
71
+ color: "rgb(122, 114, 238)"
72
+ },
73
+ {
74
+ value: "10",
75
+ color: "rgb(30, 38, 208)"
76
+ },
77
+ {
78
+ value: "15",
79
+ color: "rgb(166, 252, 168)"
80
+ },
81
+ {
82
+ value: "20",
83
+ color: "rgb(0, 235, 0)"
84
+ },
85
+ {
86
+ value: "25",
87
+ color: "rgb(16, 146, 26)"
88
+ },
89
+ {
90
+ value: "30",
91
+ color: "rgb(252, 244, 100)"
92
+ },
93
+ {
94
+ value: "35",
95
+ color: "rgb(200, 200, 2)"
96
+ },
97
+ {
98
+ value: "40",
99
+ color: "rgb(140, 140, 0)"
100
+ },
101
+ {
102
+ value: "45",
103
+ color: "rgb(254, 172, 172)"
104
+ },
105
+ {
106
+ value: "50",
107
+ color: "rgb(254, 100, 92)"
108
+ },
109
+ {
110
+ value: "55",
111
+ color: "rgb(238, 2, 48)"
112
+ },
113
+ {
114
+ value: "60",
115
+ color: "rgb(212, 142, 254)"
116
+ },
117
+ {
118
+ value: "65",
119
+ color: "rgb(170, 36, 250)"
120
+ }
121
+ ]
122
+ },
123
+ showWeatherControls: {
124
+ type: Boolean,
125
+ default: !1
126
+ },
127
+ weatherTimeOptions: {
128
+ type: Array,
129
+ default: () => [
130
+ "5min",
131
+ "1h",
132
+ "24h"
133
+ ]
134
+ },
135
+ selectedWeatherTime: {
136
+ type: String,
137
+ default: "5min"
138
+ },
139
+ weatherShowStain: {
140
+ type: Boolean,
141
+ default: !1
142
+ },
143
+ weatherShowGrid: {
144
+ type: Boolean,
145
+ default: !1
146
+ },
147
+ weatherTypeName: {
148
+ type: String,
149
+ default: ""
150
+ }
151
+ },
152
+ emits: [
153
+ "close",
154
+ "play",
155
+ "select",
156
+ "addImage",
157
+ "weatherTimeChange",
158
+ "weatherStainChange",
159
+ "weatherGridChange"
160
+ ],
161
+ setup(t, { emit: c }) {
162
+ let x = ee()?.appContext.config.globalProperties.$bus, S = t, C = c, w = f(!1), T = f(!1), E = f([]), D = f([]), O = f([]), k = f(0), A = f([]), j = f(null), M = f(!1), N = f(null), P = f(!1), F = f(null), I = f(0), L = i(() => D.value.map((e) => ({
163
+ time: e.radar_time,
164
+ displayTime: e.radar_time?.substring(11, 16) || "",
165
+ selectedTime: e.radar_time?.substring(0, 16) || ""
166
+ }))), Me = i(() => L.value.length > 0 && I.value >= 0 && L.value[I.value]?.selectedTime || ""), R = f(!1);
167
+ re(() => L.value, (e) => {
168
+ e.length > 0 && !R.value && (R.value = !0, I.value = e.length - 1);
169
+ }, { immediate: !0 });
170
+ let Ne = () => {
171
+ P.value = !P.value;
172
+ }, z = () => {
173
+ P.value = !1;
174
+ }, B = (e) => {
175
+ F.value && !F.value.contains(e.target) && z(), N.value && !N.value.contains(e.target) && (M.value = !1);
176
+ }, Pe = () => {
177
+ M.value = !M.value;
178
+ }, Fe = async (e) => {
179
+ j.value?.ld_code !== e.ld_code && (j.value = e, M.value = !1, T.value = !1, D.value = [], O.value = [], E.value = [], k.value = 0, I.value = 0, R.value = !1, await X());
180
+ }, Ie = async (e) => {
181
+ I.value = e;
182
+ let t = L.value[e]?.time;
183
+ t && (w.value = !0, await Z(t), Y(e), w.value = !1), z();
184
+ }, V = i(() => {
185
+ if (!E.value || E.value.length <= 1) return 50;
186
+ let e = E.value.length, t = E.value.filter((e) => e.type === "live").length / e * 98;
187
+ return Math.max(t, 4);
188
+ }), Le = i(() => {
189
+ if (!E.value || E.value.length <= 1) return 0;
190
+ let e = k.value / (E.value.length - 1) * 98;
191
+ return Math.max(0, Math.min(98, e));
192
+ }), Re = (e) => {
193
+ if (!E.value || E.value.length <= 1) return 0;
194
+ let t = e / (E.value.length - 1) * 98;
195
+ return Math.max(0, Math.min(98, t));
196
+ }, H = f(null), ze = f(null), U = f(!1), Be = (e) => {
197
+ e.button === 0 && (U.value = !0, G(e), e.preventDefault());
198
+ }, Ve = (e) => {
199
+ U.value && G(e);
200
+ }, W = () => {
201
+ U.value &&= !1;
202
+ }, G = (e) => {
203
+ if (!H.value || !E.value || E.value.length === 0) return;
204
+ let t = H.value.getBoundingClientRect(), n = e.clientX - t.left;
205
+ n = Math.max(0, Math.min(n, t.width));
206
+ let r = n / t.width, i = Math.round(r * (E.value.length - 1));
207
+ J(Math.max(0, Math.min(E.value.length - 1, i)));
208
+ }, K = null, He = () => {
209
+ T.value = !T.value, C("play"), T.value ? Ue() : q();
210
+ }, Ue = () => {
211
+ q(), K = setInterval(() => {
212
+ k.value < E.value.length - 1 ? J(k.value + 1) : J(0);
213
+ }, 1e3);
214
+ }, q = () => {
215
+ K &&= (clearInterval(K), null);
216
+ }, J = (e) => {
217
+ k.value = e;
218
+ let t = E.value[e];
219
+ console.log(t, "选择的时间点"), t && (C("select", e), t.png_path && t.bounds && t.bounds.length === 2 && (console.log(t, "item11"), C("addImage", {
220
+ removeImg: "radarLayer",
221
+ data: { imgArr: [{
222
+ imgUrl: t.png_path,
223
+ lngStart: String(t.bounds[0][0]),
224
+ latStart: String(t.bounds[0][1]),
225
+ lngEnd: String(t.bounds[1][0]),
226
+ latEnd: String(t.bounds[1][1]),
227
+ opacity: .8,
228
+ zIndex: 10,
229
+ otherData: { imgId: "radarLayer" }
230
+ }] }
231
+ })));
232
+ }, Y = (e) => {
233
+ let t = [];
234
+ if (D.value && D.value.length > 0) {
235
+ let n = typeof e == "number" ? e : 0;
236
+ D.value.slice(n).forEach((e, n) => {
237
+ t.push({
238
+ time: e.radar_time?.substring(11, 16) || "",
239
+ fullTime: e.radar_time || "",
240
+ type: "live",
241
+ index: n,
242
+ png_path: e.png_path || "",
243
+ bounds: e.bounds || []
244
+ });
245
+ });
246
+ }
247
+ O.value && O.value.length > 0 && O.value.forEach((e, n) => {
248
+ t.push({
249
+ time: e.radar_time?.substring(11, 16) || "",
250
+ fullTime: e.radar_time || "",
251
+ type: "forecast",
252
+ index: n,
253
+ png_path: e.png_path || "",
254
+ bounds: e.bounds || []
255
+ });
256
+ }), E.value = t, k.value = 0, setTimeout(() => {
257
+ J(0);
258
+ }, 0);
259
+ }, X = async () => {
260
+ w.value = !0;
261
+ let e = {
262
+ appKey: S.appKey,
263
+ appSalt: S.appSalt,
264
+ id: S.ids.data.id,
265
+ variables: {
266
+ dateTime: (() => {
267
+ let e = /* @__PURE__ */ new Date();
268
+ e.setHours(e.getHours() - 8);
269
+ let t = (e) => String(e).padStart(2, "0");
270
+ return `${e.getFullYear()}-${t(e.getMonth() + 1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())}`;
271
+ })(),
272
+ ld_code: j.value?.ld_code || ""
273
+ },
274
+ baseHttp: S.baseHttp,
275
+ reqType: S.ids.data.reqType,
276
+ isFormData: S.ids.data.isFormData
277
+ };
278
+ try {
279
+ let t = await n(e);
280
+ console.log(t, "雷达实况数据");
281
+ let r = t.data?.result?.output || [];
282
+ r && r.length > 0 && (D.value = r.map((e) => {
283
+ let t = "";
284
+ try {
285
+ t = JSON.parse(e.response_body)?.data?.png_path || "", t || console.log("实况项 png_path 为空, response_body:", e.response_body?.substring(0, 200));
286
+ } catch (e) {
287
+ console.log("实况项 response_body 解析失败:", e), t = "";
288
+ }
289
+ let n = new Date(e.date_time.replace(/-/g, "/"));
290
+ n.setHours(n.getHours() + 8);
291
+ let r = (e) => String(e).padStart(2, "0"), i = `${n.getFullYear()}-${r(n.getMonth() + 1)}-${r(n.getDate())} ${r(n.getHours())}:${r(n.getMinutes())}:${r(n.getSeconds())}`;
292
+ return {
293
+ ...e,
294
+ png_path: "/image-proxy" + t,
295
+ radar_time: i,
296
+ bounds: [[e.right_val, e.bottom_val], [e.left_val, e.top_val]]
297
+ };
298
+ }), await Z(), Y(I.value));
299
+ } catch (e) {
300
+ console.error("获取雷达实况数据失败:", e);
301
+ } finally {
302
+ w.value = !1;
303
+ }
304
+ }, Z = async (e) => {
305
+ let t = {
306
+ appKey: S.appKey,
307
+ appSalt: S.appSalt,
308
+ id: S.ids.data.forecastId || S.ids.data.id,
309
+ variables: { dateTime: e || D.value[D.value.length - 1]?.date_time || "" },
310
+ baseHttp: S.baseHttp,
311
+ reqType: S.ids.data.reqType,
312
+ isFormData: S.ids.data.isFormData
313
+ };
314
+ try {
315
+ let e = await n(t);
316
+ console.log(e, "雷达外推数据");
317
+ let r = e.data?.result?.output || [];
318
+ if (r && r.length > 0) {
319
+ let e = r[0] || {}, t = {};
320
+ try {
321
+ t = JSON.parse(e.response_body) || {}, console.log(t, "雷达外推 response_body 数据");
322
+ } catch (e) {
323
+ console.error("解析 response_body 失败:", e);
324
+ }
325
+ if (t && t.data && t.data.metadata_path) {
326
+ let e = "/image-proxy" + t.data.metadata_path;
327
+ console.log(e, "雷达外推 json 文件路径");
328
+ try {
329
+ let t = await (await fetch(e)).json();
330
+ console.log(t, "雷达外推 json 文件数据"), Q(t);
331
+ } catch (e) {
332
+ console.error("读取 json 文件失败:", e), t.data && Q(t.data);
333
+ }
334
+ } else t && t.data && Q(t.data);
335
+ }
336
+ } catch (e) {
337
+ console.error("获取雷达外推数据失败:", e);
338
+ }
339
+ }, Q = (e) => {
340
+ if (!e) return;
341
+ let t = e.frames || [], n = e.extent || {}, r = e.base_time || "";
342
+ !r && D.value.length > 0 && (r = D.value[D.value.length - 1]?.radar_time || ""), Array.isArray(t) && (O.value = t.map((e) => {
343
+ let t = e.minute || 0, i = Ge(r, t), a = [[80.29, 41.17], [81.29, 42.17]];
344
+ return n && n.lon_min !== void 0 && (a = [[n.lon_min, n.lat_min], [n.lon_max, n.lat_max]]), {
345
+ ...e,
346
+ base_time: r,
347
+ radar_time: i,
348
+ png_path: "/image-proxy" + (e.png || ""),
349
+ bounds: a
350
+ };
351
+ }), console.log(O.value, "forecastList 外推数据"));
352
+ }, We = async () => {
353
+ try {
354
+ let e = (await n({
355
+ appKey: S.appKey,
356
+ appSalt: S.appSalt,
357
+ id: S.ids.data.radarListId,
358
+ variables: {},
359
+ baseHttp: S.ids.baseHttp2,
360
+ reqType: S.ids.data.reqType,
361
+ isFormData: S.ids.data.isFormData
362
+ })).data?.result?.output || [];
363
+ e && e.length > 0 && (A.value = e, j.value = e[0], console.log(e, "雷达列表数据"));
364
+ } catch (e) {
365
+ console.error("获取雷达列表失败:", e);
366
+ }
367
+ }, Ge = (e, t) => {
368
+ if (!e) return "";
369
+ try {
370
+ let n, r = e.replace(/[-:T\s]/g, "");
371
+ if (n = /^\d{14}$/.test(r) ? new Date(Number(r.substring(0, 4)), Number(r.substring(4, 6)) - 1, Number(r.substring(6, 8)), Number(r.substring(8, 10)), Number(r.substring(10, 12)), Number(r.substring(12, 14))) : new Date(e), isNaN(n.getTime())) return "";
372
+ n.setMinutes(n.getMinutes() + t);
373
+ let i = (e) => String(e).padStart(2, "0");
374
+ return `${n.getFullYear()}-${i(n.getMonth() + 1)}-${i(n.getDate())} ${i(n.getHours())}:${i(n.getMinutes())}:${i(n.getSeconds())}`;
375
+ } catch {
376
+ return "";
377
+ }
378
+ };
379
+ te(() => {
380
+ x?.on("toComponent", (e) => {
381
+ e.componentName === "RadarTime" && $();
382
+ }), document.addEventListener("click", B), We(), $();
383
+ }), ne(() => {
384
+ document.removeEventListener("click", B), q();
385
+ });
386
+ let $ = async () => {
387
+ await X();
388
+ }, Ke = () => {
389
+ q(), C("close", "RadarTime");
390
+ };
391
+ return (n, i) => {
392
+ let c = e;
393
+ return g((d(), o("div", ae, [s("div", oe, [s("div", se, [t.showCloseBtn ? (d(), o("div", {
394
+ key: 0,
395
+ class: "closeBtn",
396
+ onClick: Ke,
397
+ title: "关闭"
398
+ })) : a("", !0)]), i[2] ||= s("img", {
399
+ class: "RadarTime__head-line",
400
+ src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbsAAAASBAMAAAAwI22/AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAwUExURQAAAAem/wem/wem/wem/wem/wem/wem/wem/wem/wem/wem/wem/wem/wem/wem/5bu5GYAAAAPdFJOUwAFwAwc2M8ULQYDn/hGXGnV2UoAAAGZSURBVEjH7ZM/S8NAGId/JYGmmeLspptThurk0CHWRXGo0Nk/S50y6CYSHMRF7Efo4uQXEIpbwUnM6OhnEIeChXjv5ZLLXdLtLCX68vDCe0eGJ7/3AJN1VcL+UImB/SruVJwYTqSAW5V3LLyaPR1c+IIdH12OPZiLcyTAjccZEdccZ0Nn4bXpC3KpCuFu5tkdziX3FJxBSBZZdFk9HempCduMk4xSitJTpOgJSSIPrx10YAUB0tYOwrQ1g12k7ZyODIYXZmQpppLV26rtbDFOXVhua2Fn7WTWwUEyAe5Zc2hiLWTTC3jjk8Hw+jrSM9/Z8raKOAtZVmyr9jbpee4lU9hvSUStw6YvOpqwiXlK9d8IL0Oq5tuqvc3KLMs7q9uyCC0y22aKvDVp4u2SjnJ1c+Wecg7h9gV4CFV8NHpEaw7yF2wVGcIa6OBx/Ax3PI6pRWx6Am98alBbpSODNVTxgAbQUpF3KeVv0s80xMUow8N//YVaqWEV9BJDdby2PBUZ1/te0uU0YzeLa623jjrrvaLOep/+str9ACyAtv25BhHcAAAAAElFTkSuQmCC",
401
+ alt: ""
402
+ }, null, -1)]), s("div", ce, [
403
+ s("div", _, [
404
+ s("div", {
405
+ class: "RadarTime__dropdown",
406
+ ref_key: "dropdownRef",
407
+ ref: F
408
+ }, [s("div", {
409
+ class: "RadarTime__trigger",
410
+ onClick: Ne
411
+ }, [s("span", le, m(Me.value || "选择时间"), 1), s("span", { class: l(["RadarTime__arrow", { "is-open": P.value }]) }, "▼", 2)]), g(s("div", ue, [s("div", de, [(d(!0), o(r, null, p(L.value, (e, t) => (d(), o("div", {
412
+ key: t,
413
+ class: l(["RadarTime__time-item", { "is-selected": I.value === t }]),
414
+ onClick: (e) => Ie(t)
415
+ }, m(e.time), 11, fe))), 128))])], 512), [[h, P.value]])], 512),
416
+ E.value.length > 0 && k.value >= 0 ? (d(), o("div", pe, [i[3] ||= s("span", { class: "RadarTime__node-label" }, "当前:", -1), s("span", v, m(E.value[k.value]?.time || "--:--"), 1)])) : a("", !0),
417
+ s("div", y, [i[4] ||= s("span", { class: "RadarTime__legend-title" }, "图例", -1), s("div", me, [(d(!0), o(r, null, p(t.legendData, (e, t) => (d(), o("div", {
418
+ key: t,
419
+ class: "RadarTime__legend-segment",
420
+ style: u({ backgroundColor: e.color })
421
+ }, null, 4))), 128)), s("div", he, [(d(!0), o(r, null, p(t.legendData, (e, t) => (d(), o("span", { key: t }, m(e.value), 1))), 128))])])])
422
+ ]),
423
+ A.value.length > 0 ? (d(), o("div", ge, [s("div", {
424
+ class: "RadarTime__station-dropdown",
425
+ ref_key: "stationDropdownRef",
426
+ ref: N
427
+ }, [
428
+ i[5] ||= s("label", { style: {
429
+ color: "#fff",
430
+ "font-size": "12px"
431
+ } }, "雷达:", -1),
432
+ s("div", {
433
+ class: "RadarTime__station-trigger",
434
+ onClick: Pe
435
+ }, [s("span", _e, m(j.value?.ld_name || "选择雷达站"), 1), s("span", { class: l(["RadarTime__arrow", { "is-open": M.value }]) }, "▼", 2)]),
436
+ g(s("div", ve, [(d(!0), o(r, null, p(A.value, (e, t) => (d(), o("div", {
437
+ key: t,
438
+ class: l(["RadarTime__station-item", { "is-selected": j.value?.ld_code === e.ld_code }]),
439
+ onClick: (t) => Fe(e)
440
+ }, m(e.ld_name), 11, ye))), 128))], 512), [[h, M.value]])
441
+ ], 512)])) : a("", !0),
442
+ t.showWeatherControls ? (d(), o("div", be, [s("div", xe, [(d(!0), o(r, null, p(t.weatherTimeOptions, (e) => (d(), o("label", {
443
+ key: e,
444
+ class: l(["RadarTime__radio", { active: t.selectedWeatherTime === e }])
445
+ }, [s("input", {
446
+ type: "radio",
447
+ value: e,
448
+ name: "weather-time-range",
449
+ checked: t.selectedWeatherTime === e,
450
+ onChange: (t) => n.$emit("weatherTimeChange", e)
451
+ }, null, 40, Se), s("span", null, m(e), 1)], 2))), 128))]), s("div", Ce, [s("label", { class: l(["RadarTime__checkbox", { active: t.weatherShowStain }]) }, [s("input", {
452
+ type: "checkbox",
453
+ checked: t.weatherShowStain,
454
+ onChange: i[0] ||= (e) => n.$emit("weatherStainChange", e.target.checked)
455
+ }, null, 40, we), s("span", null, m(t.weatherTypeName) + "色斑图", 1)], 2), s("label", { class: l(["RadarTime__checkbox", { active: t.weatherShowGrid }]) }, [s("input", {
456
+ type: "checkbox",
457
+ checked: t.weatherShowGrid,
458
+ onChange: i[1] ||= (e) => n.$emit("weatherGridChange", e.target.checked)
459
+ }, null, 40, Te), s("span", null, m(t.weatherTypeName) + "网格", 1)], 2)])])) : a("", !0),
460
+ s("div", Ee, [s("div", De, [s("button", {
461
+ class: l(["RadarTime__play-btn", { playing: T.value }]),
462
+ onClick: He
463
+ }, [T.value ? (d(), o("svg", ke, [...i[7] ||= [s("path", { d: "M6 4h4v16H6V4zm8 0h4v16h-4V4z" }, null, -1)]])) : (d(), o("svg", Oe, [...i[6] ||= [s("path", { d: "M8 5v14l11-7z" }, null, -1)]]))], 2)]), s("div", {
464
+ class: "RadarTime__track-wrapper",
465
+ ref_key: "trackWrapper",
466
+ ref: H,
467
+ onMousedown: Be,
468
+ onMousemove: Ve,
469
+ onMouseup: W,
470
+ onMouseleave: W
471
+ }, [
472
+ s("div", Ae, [s("div", {
473
+ class: "RadarTime__track-section RadarTime__track-live",
474
+ style: u({ width: V.value + "%" })
475
+ }, [...i[8] ||= [s("span", { class: "RadarTime__section-label" }, "实况", -1)]], 4), s("div", {
476
+ class: "RadarTime__track-section RadarTime__track-forecast",
477
+ style: u({ width: 100 - V.value + "%" })
478
+ }, [...i[9] ||= [s("span", {
479
+ class: "RadarTime__section-label",
480
+ style: { color: "#fff" }
481
+ }, "外推", -1)]], 4)]),
482
+ s("div", je, [(d(!0), o(r, null, p(E.value, (e, t) => (d(), o("div", {
483
+ key: t,
484
+ class: l(["RadarTime__tick", { active: k.value === t }]),
485
+ style: u({ left: Re(t) + "%" }),
486
+ onClick: ie((e) => J(t), ["stop"])
487
+ }, [...i[10] ||= [s("div", { class: "RadarTime__tick-dot" }, null, -1)]], 14, b))), 128))]),
488
+ s("div", {
489
+ class: "RadarTime__indicator",
490
+ style: u({ left: Le.value + "%" }),
491
+ ref_key: "positionIndicator",
492
+ ref: ze
493
+ }, null, 4)
494
+ ], 544)])
495
+ ])])), [[c, w.value]]);
496
+ };
497
+ }
498
+ }), [["__scopeId", "data-v-d8a01621"]]);
499
+ //#endregion
500
+ export { x as t };