nxd-plugin 1.8.50 → 1.8.52

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 (40) hide show
  1. package/dist/chunks/GridData-D930GI5r.mjs +2 -0
  2. package/dist/chunks/YCServiceSummary-5zaYlO27.mjs +2 -0
  3. package/dist/chunks/{component-Forecast72h-CD6eT1xe.mjs → component-Forecast72h-PgbN_y9N.mjs} +170 -161
  4. package/dist/chunks/component-GridData-BK4jKmO-.mjs +399 -0
  5. package/dist/chunks/{component-HdCameraList-DuC-_0uH.mjs → component-HdCameraList-Ch0ojKDf.mjs} +1 -1
  6. package/dist/chunks/{component-HdFarmStation-BtYLSMAY.mjs → component-HdFarmStation-BV_kmLzl.mjs} +1 -1
  7. package/dist/chunks/component-HdMajorActivity-BS7LJXLj.mjs +718 -0
  8. package/dist/chunks/{component-HdObservation-DmRN3dBq.mjs → component-HdObservation-DrPL7XVh.mjs} +1 -1
  9. package/dist/chunks/{component-HdPreSituation-KMOE4Mt_.mjs → component-HdPreSituation-D0KUf8I4.mjs} +1 -1
  10. package/dist/chunks/{component-HdRadarList-Cx_cRpjb.mjs → component-HdRadarList-CspWsOEW.mjs} +1 -1
  11. package/dist/chunks/{component-HdRisk-Cx_Wuyuy.mjs → component-HdRisk-qQ1jbMi4.mjs} +1 -1
  12. package/dist/chunks/{component-HdServiceMarterial-D4nik4h0.mjs → component-HdServiceMarterial-DAf5Wr6D.mjs} +1 -1
  13. package/dist/chunks/{component-HdServiceRequirements-CrpxYdNK.mjs → component-HdServiceRequirements-CycjsvZT.mjs} +1 -1
  14. package/dist/chunks/{component-HdSoil-eQTGGIkq.mjs → component-HdSoil-BKDaVRnf.mjs} +1 -1
  15. package/dist/chunks/{component-HdStationTem-BCls8KKc.mjs → component-HdStationTem-Cb2YV_fB.mjs} +1 -1
  16. package/dist/chunks/{component-HdSuggestion-BnGlQLfg.mjs → component-HdSuggestion-fajQUBiB.mjs} +1 -1
  17. package/dist/chunks/{component-HdThreeWeatherTrend-D_dPqael.mjs → component-HdThreeWeatherTrend-CeAHvlR3.mjs} +1 -1
  18. package/dist/chunks/{component-HdWaveForcast-B-RPD_5H.mjs → component-HdWaveForcast-DRuTytq8.mjs} +1 -1
  19. package/dist/chunks/{component-HighwayWeatherForecast-BVj7aWS1.mjs → component-HighwayWeatherForecast-CUk0YFO6.mjs} +2 -2
  20. package/dist/chunks/{component-PrecipitationRanking-Ct4OY0FJ.mjs → component-PrecipitationRanking-Nq_SI95N.mjs} +1 -1
  21. package/dist/chunks/{component-StationDialog-_pkrpDnI.mjs → component-StationDialog-B-6V3oc5.mjs} +1 -1
  22. package/dist/chunks/{component-StationList-D4XTo6r2.mjs → component-StationList-qtk1j-fG.mjs} +1 -1
  23. package/dist/chunks/{component-TimeBasedForecast-4ZZ7ZnCH.mjs → component-TimeBasedForecast-DdTGq6GE.mjs} +1 -1
  24. package/dist/chunks/component-WeatherForecast-g9IL5upq.mjs +219 -0
  25. package/dist/chunks/{component-YCHome-BNYalrzu.mjs → component-YCHome-nJZqqhcF.mjs} +1 -1
  26. package/dist/chunks/{component-YCServiceSummary-BQmpmZC-.mjs → component-YCServiceSummary-BKkRTMKf.mjs} +352 -229
  27. package/dist/components/HdMajorActivity/HdMajorActivity.vue.d.ts +6 -2
  28. package/dist/index.d.ts +2 -2
  29. package/dist/nxd-plugin.mjs +25 -26
  30. package/dist/styles/component-Forecast72h.css +1 -1
  31. package/dist/styles/component-GridData.css +1 -1
  32. package/dist/styles/component-HdMajorActivity.css +1 -1
  33. package/dist/styles/component-WeatherForecast.css +1 -1
  34. package/dist/styles/component-YCLoginNew.css +1 -1
  35. package/dist/styles/component-YCServiceSummary.css +1 -1
  36. package/package.json +1 -1
  37. package/dist/chunks/YCServiceSummary-Dr7NyIZK.mjs +0 -2
  38. package/dist/chunks/component-GridData-o7hipw0h.mjs +0 -756
  39. package/dist/chunks/component-HdMajorActivity-CQ76SEKD.mjs +0 -710
  40. package/dist/chunks/component-WeatherForecast-DqdD9JUX.mjs +0 -208
@@ -0,0 +1,718 @@
1
+ import { g as e, p as t } from "./component-Agent-DwXtdLhK.mjs";
2
+ import "./component-Forecast72h-PgbN_y9N.mjs";
3
+ import { ElCarousel as n, ElCarouselItem as r, ElDatePicker as i, ElImageViewer as a, ElLoadingDirective as o } from "element-plus/es";
4
+ import { Fragment as s, Teleport as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createVNode as m, defineComponent as h, nextTick as g, normalizeClass as _, onMounted as ee, openBlock as v, ref as y, renderList as b, toDisplayString as x, vShow as S, watch as C, withCtx as te, withDirectives as w } from "vue";
5
+ import * as ne from "echarts";
6
+ import "element-plus/dist/index.css";
7
+ //#region src/assets/img/hd/wwindDirection.png
8
+ var re = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEX/////qBX/owf/pAT/ogL/ogH/ogD/ogC7UYbMAAAAB3RSTlMDJENqg8HizO9CmQAAAE9JREFUeNpjIBMwmriAgBFcgKUcDErgAqwQgSIkASUQEMAtwAbRUowpgNACttYASQBCo1hbCqRRzRBAUREaGoyqBUgMEwGWMvSIMmKgBAAAftMfdMqbYD0AAAAASUVORK5CYII=", ie = {
9
+ class: "HdMajorActivity",
10
+ "element-loading-background": "rgba(0, 0, 0, 0.5)"
11
+ }, ae = { class: "HdMajorActivity-body" }, oe = { class: "HdMajorActivity-yearBar" }, se = {
12
+ key: 0,
13
+ class: "HdMajorActivity-cover"
14
+ }, ce = ["src"], le = {
15
+ key: 1,
16
+ class: "HdMajorActivity-coverPlaceholder"
17
+ }, ue = ["disabled"], de = ["disabled"], fe = { class: "HdMajorActivity-coverMask" }, pe = { class: "HdMajorActivity-coverInfo" }, me = { class: "HdMajorActivity-coverTitle" }, he = { class: "HdMajorActivity-coverTime" }, ge = { class: "HdMajorActivity-coverTimeValue" }, _e = {
18
+ key: 1,
19
+ class: "HdMajorActivity-section"
20
+ }, ve = { class: "HdMajorActivity-introduction" }, ye = {
21
+ key: 2,
22
+ class: "HdMajorActivity-section"
23
+ }, be = ["src", "onClick"], xe = {
24
+ key: 3,
25
+ class: "HdMajorActivity-noData"
26
+ }, Se = {
27
+ key: 0,
28
+ class: "HdMajorActivity-popupMask"
29
+ }, Ce = { class: "HdMajorActivity-popup" }, we = { class: "HdMajorActivity-popupHead" }, Te = { class: "HdMajorActivity-popupHeadTitle" }, Ee = { class: "HdMajorActivity-popupBody" }, De = { class: "HdMajorActivity-popupTop" }, Oe = { class: "HdMajorActivity-popupCover" }, ke = ["src"], Ae = {
30
+ key: 1,
31
+ class: "HdMajorActivity-popupCoverPlaceholder"
32
+ }, je = { class: "HdMajorActivity-popupRealtime" }, Me = { class: "HdMajorActivity-popupRealtimeTitle" }, Ne = {
33
+ key: 0,
34
+ class: "HdMajorActivity-popupRealtimeUpdate"
35
+ }, Pe = {
36
+ key: 0,
37
+ class: "HdMajorActivity-popupLoading"
38
+ }, Fe = {
39
+ key: 1,
40
+ class: "HdMajorActivity-popupRealtimeGrid"
41
+ }, Ie = { class: "HdMajorActivity-popupRealtimeItem" }, Le = { class: "HdMajorActivity-popupRealtimeValue" }, Re = { class: "HdMajorActivity-popupRealtimeItem" }, ze = { class: "HdMajorActivity-popupRealtimeValue" }, Be = { class: "HdMajorActivity-popupRealtimeItem" }, Ve = { class: "HdMajorActivity-popupRealtimeValue" }, He = { class: "HdMajorActivity-popupRealtimeItem" }, Ue = { class: "HdMajorActivity-popupRealtimeValue" }, We = { class: "HdMajorActivity-popupRealtimeItem" }, Ge = { class: "HdMajorActivity-popupRealtimeValue" }, Ke = { class: "HdMajorActivity-popupRealtimeItem" }, qe = { class: "HdMajorActivity-popupRealtimeValue" }, Je = { class: "HdMajorActivity-popupRealtimeItem" }, Ye = { class: "HdMajorActivity-popupRealtimeValue" }, Xe = { class: "HdMajorActivity-popupRealtimeItem" }, Ze = { class: "HdMajorActivity-popupRealtimeValue" }, Qe = { class: "HdMajorActivity-popupSection" }, $e = { class: "HdMajorActivity-popupSectionHead" }, et = { class: "HdMajorActivity-popupTabs" }, tt = { class: "HdMajorActivity-popupElementTabs" }, nt = ["onClick"], rt = {
42
+ key: 0,
43
+ class: "HdMajorActivity-popupLoading"
44
+ }, it = { key: 1 }, at = { class: "HdMajorActivity-popupTableWrap" }, ot = { class: "HdMajorActivity-popupTable" }, st = { key: 0 }, ct = /* @__PURE__ */ t(/* @__PURE__ */ h({
45
+ __name: "HdMajorActivity",
46
+ props: {
47
+ mock: {
48
+ type: Boolean,
49
+ default: !1
50
+ },
51
+ baseHttp: { default: "" },
52
+ appKey: { default: "" },
53
+ appSalt: { default: "" },
54
+ imgBaseUrl: { default: "" },
55
+ ids: { default: () => ({}) },
56
+ refreshInterval: { default: 0 },
57
+ yearField: { default: "year" },
58
+ stationField: { default: "stationIdC" },
59
+ timeStartField: { default: "startTime" },
60
+ timeEndField: { default: "endTime" },
61
+ layerBaseUrl: { default: "" }
62
+ },
63
+ emits: [
64
+ "close",
65
+ "toComponent",
66
+ "addMarker",
67
+ "clearMarker",
68
+ "addPolygon",
69
+ "removePolygon",
70
+ "addLine",
71
+ "removeLine",
72
+ "addLayer",
73
+ "removeLayer",
74
+ "toMapView"
75
+ ],
76
+ setup(t, { expose: h, emit: ct }) {
77
+ let lt = (/* @__PURE__ */ new Date()).getFullYear(), ut = lt - 20, dt = lt + 10, T = t, E = ct, ft = {
78
+ 青岛国际啤酒节: "重大活动保障-啤酒节",
79
+ 沙滩马拉松: "重大活动保障-马拉松"
80
+ }, D = y(!1), O = y([]), k = y(null), A = y(0), j = y(!1), pt = y(0), M = y(!1), N = y(null), P = y(!1), F = y(!1), I = y({}), L = y([]), R = y([]), z = y("chart"), B = y("temperature"), V = y(null), H = null, U = [
81
+ {
82
+ key: "temperature",
83
+ label: "温度",
84
+ valueField: "temp",
85
+ unit: "°C",
86
+ type: "line",
87
+ realField: "tem",
88
+ forecastField: "tmp",
89
+ color: "#FF7D00",
90
+ forecastColor: "#FFC72C"
91
+ },
92
+ {
93
+ key: "humidity",
94
+ label: "湿度",
95
+ valueField: "humidity",
96
+ unit: "%",
97
+ type: "line",
98
+ realField: "rhu_min",
99
+ forecastField: "erh",
100
+ color: "#00B42A",
101
+ forecastColor: "#7CFC00"
102
+ },
103
+ {
104
+ key: "wind",
105
+ label: "风向风速",
106
+ valueField: "windSpeed",
107
+ unit: "m/s",
108
+ type: "line",
109
+ realField: "win_s_inst_max",
110
+ forecastField: "eda10",
111
+ color: "#05ddfa",
112
+ forecastColor: "#00FFFF"
113
+ },
114
+ {
115
+ key: "visibility",
116
+ label: "能见度",
117
+ valueField: "visibility",
118
+ unit: "m",
119
+ type: "line",
120
+ realField: "vis_min",
121
+ forecastField: "vis",
122
+ color: "#F7BA1E",
123
+ forecastColor: "#FFD700"
124
+ },
125
+ {
126
+ key: "rain",
127
+ label: "降水",
128
+ valueField: "rain",
129
+ unit: "mm",
130
+ type: "bar",
131
+ realField: "",
132
+ forecastField: "er01",
133
+ color: "#165DFF",
134
+ forecastColor: "#5B8FF9"
135
+ }
136
+ ], mt = l(() => {
137
+ let e = I.value, t = J(e.humidity), n = J(e.visibility), r = J(e.windSpeed);
138
+ return n !== null && n < 1e3 && t !== null && t > 90 ? "雾" : n !== null && n < 4e3 ? "霾" : t !== null && t >= 80 ? "阴" : t !== null && t <= 30 ? "晴" : r !== null && r >= 10.8 ? "大风" : "多云";
139
+ }), W = l(() => k.value ? O.value.filter((e) => {
140
+ let t = e.year || bt(e.start_time);
141
+ return String(t) === String(k.value);
142
+ }) : O.value), G = l(() => W.value[A.value] || null), ht = l(() => q(G.value?.cover_image)), K = l(() => {
143
+ let e = G.value?.images;
144
+ return e ? e.split(",").map((e) => q(e.trim())).filter(Boolean) : [];
145
+ }), gt = l(() => q(N.value?.cover_image)), _t = l(() => L.value.map((e) => ({
146
+ ...e,
147
+ time: Z(e.time)
148
+ }))), vt = (e) => {
149
+ let t = e.getFullYear();
150
+ return t < ut || t > dt;
151
+ }, yt = () => {
152
+ A.value = 0, qt();
153
+ }, bt = (e) => {
154
+ if (!e) return null;
155
+ let t = new Date(e);
156
+ return isNaN(t.getTime()) ? null : t.getFullYear();
157
+ }, q = (e) => e ? e.startsWith("http://") || e.startsWith("https://") ? e : `${T.imgBaseUrl.replace(/\/$/, "")}${e.startsWith("/") ? e : `/${e}`}` : "", xt = (e) => {
158
+ if (e == null || e === "") return !0;
159
+ let t = Number(e);
160
+ return Number.isFinite(t) ? t === -1 || t === 999 || t === 9999 : !1;
161
+ }, J = (e) => {
162
+ if (xt(e)) return null;
163
+ let t = Number(e);
164
+ return Number.isFinite(t) ? t : null;
165
+ }, Y = (e) => xt(e) ? "--" : String(e), X = (e) => {
166
+ let t = J(e);
167
+ return t === null ? "--" : [
168
+ "北风",
169
+ "东北风",
170
+ "东风",
171
+ "东南风",
172
+ "南风",
173
+ "西南风",
174
+ "西风",
175
+ "西北风"
176
+ ][Math.round((t % 360 + 360) % 360 / 45) % 8];
177
+ }, Z = (e) => {
178
+ if (!e) return "--";
179
+ let t = new Date(e);
180
+ return isNaN(t.getTime()) ? e : `${Q(t.getMonth() + 1)}-${Q(t.getDate())} ${Q(t.getHours())}时`;
181
+ }, Q = (e) => e < 10 ? `0${e}` : `${e}`, St = (e) => `${e.start_time ? e.start_time.split(" ")[0] : "--"} 至 ${e.end_time ? e.end_time.split(" ")[0] : "--"}`, Ct = (e) => {
182
+ if (e.status === 0) return "未开始";
183
+ if (e.status === 1) return "进行中";
184
+ if (e.status === 2) return "已结束";
185
+ let t = (/* @__PURE__ */ new Date()).getTime(), n = e.start_time ? new Date(e.start_time).getTime() : 0, r = e.end_time ? new Date(e.end_time).getTime() : 0;
186
+ return n && t < n ? "未开始" : r && t > r ? "已结束" : "进行中";
187
+ }, wt = (e) => {
188
+ let t = Ct(e);
189
+ return t === "未开始" ? "HdMajorActivity-status--pending" : t === "进行中" ? "HdMajorActivity-status--active" : "HdMajorActivity-status--ended";
190
+ }, Tt = () => {
191
+ A.value > 0 && A.value--;
192
+ }, Et = () => {
193
+ A.value < W.value.length - 1 && A.value++;
194
+ }, Dt = (e) => {
195
+ pt.value = e, j.value = !0;
196
+ }, Ot = () => {
197
+ j.value = !1;
198
+ }, kt = () => {
199
+ E("close", "HdMajorActivity");
200
+ }, At = () => {
201
+ E("clearMarker", "HdMajorActivity"), E("removePolygon", "HdMajorActivity"), E("removeLine", "HdMajorActivity"), E("removeLayer", { name: "HdMajorActivity" });
202
+ }, jt = (e) => {
203
+ if (!e) return [];
204
+ if (Array.isArray(e)) return e;
205
+ try {
206
+ let t = JSON.parse(e);
207
+ if (Array.isArray(t)) return t;
208
+ } catch {
209
+ console.warn("HdMajorActivity 区域坐标解析失败", e);
210
+ }
211
+ return [];
212
+ }, Mt = () => {
213
+ let e = G.value;
214
+ if (!e) {
215
+ At();
216
+ return;
217
+ }
218
+ At(), e.layer_id && T.layerBaseUrl && E("addLayer", {
219
+ name: "HdMajorActivity",
220
+ oneLayer: {
221
+ mapUrl: T.layerBaseUrl,
222
+ type: e.layer_id,
223
+ opacity: 1
224
+ },
225
+ visible: !0,
226
+ zIndex: 10
227
+ });
228
+ let t = jt(e.area_coordinates);
229
+ t.length >= 2 && e.name?.includes("马拉松") && !e.layer_id ? E("addLine", {
230
+ removeLine: "HdMajorActivity",
231
+ mapLine: { lineArr: [{
232
+ lineJson: t.map(([e, t]) => ({
233
+ lng: e,
234
+ lat: t
235
+ })),
236
+ color: "#FFD700",
237
+ weight: 4,
238
+ otherData: { lineId: "HdMajorActivity" },
239
+ zIndex: 10
240
+ }] }
241
+ }) : t.length >= 3 && !e.layer_id && E("addPolygon", {
242
+ removePolygon: "HdMajorActivity",
243
+ polygonArr: [{
244
+ polygonJson: t.map(([e, t]) => ({
245
+ lng: e,
246
+ lat: t
247
+ })),
248
+ lineColor: "#FFD700",
249
+ color: "#FFD700",
250
+ weight: 2,
251
+ fillColor: "#FFD700",
252
+ fillOpacity: .2,
253
+ otherData: { polyId: "HdMajorActivity" },
254
+ zIndex: 10
255
+ }]
256
+ });
257
+ let n = Number(e.center_latitude), r = Number(e.center_longitude);
258
+ if (Number.isFinite(n) && Number.isFinite(r)) {
259
+ let t = e.major_icon ? e.major_icon.trim().startsWith("<") ? e.major_icon : `<img src="${q(e.major_icon)}" width="24" height="24" style="display:block;" alt="" />` : "\n <svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"#05ddfa\" stroke=\"#fff\" stroke-width=\"1.5\">\n <path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7z\"/>\n <circle cx=\"12\" cy=\"9\" r=\"2.5\" fill=\"#fff\"/>\n </svg>\n ";
260
+ E("addMarker", {
261
+ mapMarker: {
262
+ clickOpen: !0,
263
+ spotObject: [{
264
+ offsetX: -12,
265
+ offsetY: -24,
266
+ minZoom: 10,
267
+ spotArrone: [{
268
+ lng: r,
269
+ lat: n,
270
+ htmlString: `
271
+ <div data-markerId="major-${e.id}" class="hd-major-marker" title="${e.location}" style="position:relative;display:inline-block;width:24px;height:24px;cursor:pointer;">
272
+ ${t}
273
+ </div>
274
+ <div style="color:#fff;font-size:10px;text-shadow:0 0 5px #000;">${e.location}</div>
275
+ `,
276
+ data: e,
277
+ otherData: {
278
+ markId: "HdMajorActivity",
279
+ activityId: e.id
280
+ }
281
+ }]
282
+ }],
283
+ drawArrObj: []
284
+ },
285
+ removeMarker: "HdMajorActivity"
286
+ }), E("toMapView", {
287
+ lng: r,
288
+ lat: n,
289
+ zoom: 12
290
+ });
291
+ }
292
+ }, Nt = (e) => {
293
+ N.value = e, M.value = !0, z.value = "chart", R.value = [e.start_time ? e.start_time.split(" ")[0] : "", e.end_time ? e.end_time.split(" ")[0] : ""], zt(e);
294
+ }, Pt = () => {
295
+ M.value = !1, N.value = null, H &&= (H.dispose(), null);
296
+ }, Ft = (e) => {
297
+ if (!e.length) return {};
298
+ let t = e[e.length - 1], n = e.map((e) => J(e.temp)).filter((e) => e !== null);
299
+ return {
300
+ temp: t.temp,
301
+ maxTemp: n.length ? Math.max(...n) : void 0,
302
+ minTemp: n.length ? Math.min(...n) : void 0,
303
+ windSpeed: t.windSpeed,
304
+ windDirection: t.windDirection,
305
+ windDirectionAngle: t.windDirectionAngle,
306
+ pressure: t.pressure,
307
+ humidity: t.humidity,
308
+ visibility: t.visibility,
309
+ updateTime: t.time
310
+ };
311
+ }, It = (e) => {
312
+ let t = J(e.win_d_s_max);
313
+ return {
314
+ time: e.datetime_bj,
315
+ temp: e.tem,
316
+ windSpeed: e.win_s_inst_max,
317
+ windDirectionAngle: e.win_d_s_max,
318
+ windDirection: t === null ? "--" : X(t),
319
+ rain: null,
320
+ humidity: e.rhu_min,
321
+ pressure: e.prs,
322
+ visibility: e.vis_min,
323
+ type: "real"
324
+ };
325
+ }, Lt = (e) => {
326
+ let t = J(e.eda10_dir);
327
+ return {
328
+ time: e.f_time,
329
+ temp: e.tmp,
330
+ windSpeed: e.eda10,
331
+ windDirectionAngle: e.eda10_dir,
332
+ windDirection: t === null ? "--" : X(t),
333
+ rain: e.er01,
334
+ humidity: e.erh,
335
+ pressure: null,
336
+ visibility: e.vis,
337
+ type: "forecast"
338
+ };
339
+ }, Rt = (e) => {
340
+ let t = Array.isArray(e) ? e[0] : e;
341
+ if (!t || typeof t != "object") return [];
342
+ let n = Array.isArray(t.situationData) ? t.situationData : [], r = Array.isArray(t.forecastData) ? t.forecastData : [];
343
+ return [...n.map(It), ...r.map(Lt)].sort((e, t) => new Date(e.time).getTime() - new Date(t.time).getTime());
344
+ }, zt = async (t) => {
345
+ let n = Ht("timeSeries");
346
+ if (!(!n || !t.station_id)) {
347
+ F.value = !0, P.value = !0;
348
+ try {
349
+ L.value = Rt(Ut(await e({
350
+ id: n.id,
351
+ baseHttp: T.baseHttp,
352
+ reqType: n.reqType,
353
+ variables: {
354
+ [T.stationField]: t.station_id,
355
+ [T.timeStartField]: t.start_time,
356
+ [T.timeEndField]: t.end_time
357
+ },
358
+ isFormData: n.isFormData,
359
+ appKey: T.appKey,
360
+ appSalt: T.appSalt
361
+ }))), I.value = Ft(L.value), F.value = !1, P.value = !1, await g(), $();
362
+ } catch (e) {
363
+ console.error("HdMajorActivity 时序数据加载失败", e), F.value = !1, P.value = !1;
364
+ }
365
+ }
366
+ }, $ = () => {
367
+ if (!V.value) return;
368
+ H &&= (H.dispose(), null);
369
+ let e = L.value;
370
+ if (!e.length) return;
371
+ let t = U.find((e) => e.key === B.value);
372
+ if (!t) return;
373
+ let n = e.filter((e) => e.type === "real"), r = e.filter((e) => e.type === "forecast"), i = Array.from(new Set([...n, ...r].map((e) => Z(e.time)))), a = new Map(n.map((e) => [Z(e.time), J(e[t.valueField])])), o = new Map(r.map((e) => [Z(e.time), J(e[t.valueField])])), s = i.map((e) => a.get(e) ?? null), c = i.map((e) => o.get(e) ?? null), l = t.key === "wind", u = `image://${re}`, d = new Map(n.map((e) => [Z(e.time), J(e.windDirectionAngle)])), f = new Map(r.map((e) => [Z(e.time), J(e.windDirectionAngle)])), p = (e, t, n) => n ? i.map((n, r) => {
374
+ let i = t.get(n);
375
+ return {
376
+ value: e[r],
377
+ symbol: u,
378
+ symbolSize: 18,
379
+ symbolRotate: i == null ? 0 : -i
380
+ };
381
+ }) : e;
382
+ H = ne.init(V.value);
383
+ let m = {
384
+ tooltip: {
385
+ trigger: "axis",
386
+ formatter: (e) => {
387
+ let n = Array.isArray(e) ? e : [e], r = `<div style="font-weight:bold;margin-bottom:4px;">${n[0]?.axisValue}</div>`;
388
+ return n.forEach((e) => {
389
+ let n = e.value === null || e.value === void 0 ? "--" : e.value;
390
+ if (r += `<div>${e.marker} ${e.seriesName}:${n}${t.unit}</div>`, l) {
391
+ let t = (e.seriesName === "实况" ? d : f).get(i[e.dataIndex]), n = t == null ? "--" : X(t);
392
+ r += `<div style="padding-left:16px;">风向:${n}</div>`;
393
+ }
394
+ }), r;
395
+ }
396
+ },
397
+ legend: {
398
+ data: ["实况", "预报"],
399
+ textStyle: { color: "#fff" },
400
+ top: 0,
401
+ right: 8
402
+ },
403
+ grid: {
404
+ left: 48,
405
+ right: 24,
406
+ bottom: 10,
407
+ top: 36,
408
+ containLabel: !0
409
+ },
410
+ xAxis: {
411
+ type: "category",
412
+ data: i,
413
+ axisLine: { lineStyle: { color: "rgba(255,255,255,0.4)" } },
414
+ axisLabel: {
415
+ color: "rgba(255,255,255,0.7)",
416
+ rotate: 30
417
+ }
418
+ },
419
+ yAxis: {
420
+ type: "value",
421
+ name: t.unit,
422
+ nameGap: 10,
423
+ nameTextStyle: {
424
+ color: "rgba(255,255,255,0.7)",
425
+ padding: [
426
+ 0,
427
+ 0,
428
+ 0,
429
+ 8
430
+ ]
431
+ },
432
+ axisLine: { lineStyle: { color: "rgba(255,255,255,0.4)" } },
433
+ axisLabel: { color: "rgba(255,255,255,0.7)" },
434
+ splitLine: { show: !1 }
435
+ },
436
+ series: [{
437
+ name: "实况",
438
+ type: t.type,
439
+ data: p(s, d, l),
440
+ smooth: !0,
441
+ itemStyle: { color: t.color },
442
+ lineStyle: { width: 2 },
443
+ symbol: l ? u : "circle",
444
+ symbolSize: l ? 18 : 6,
445
+ ...t.type === "bar" ? {
446
+ stack: "total",
447
+ barMaxWidth: 16
448
+ } : {}
449
+ }, {
450
+ name: "预报",
451
+ type: t.type,
452
+ data: p(c, f, l),
453
+ smooth: !0,
454
+ itemStyle: { color: t.forecastColor },
455
+ lineStyle: {
456
+ width: 2,
457
+ type: "dashed"
458
+ },
459
+ symbol: l ? u : "circle",
460
+ symbolSize: l ? 18 : 6,
461
+ ...t.type === "bar" ? {
462
+ stack: "total",
463
+ barMaxWidth: 16
464
+ } : {}
465
+ }]
466
+ };
467
+ H.setOption(m), g(() => setTimeout(() => H?.resize(), 80));
468
+ }, Bt = !1, Vt = () => {
469
+ Bt ||= (document.addEventListener("click", (e) => {
470
+ let t = e.target.closest(".hd-major-marker");
471
+ if (!t) return;
472
+ e.stopPropagation();
473
+ let n = t.getAttribute("data-markerId")?.replace("major-", "") || "", r = O.value.find((e) => String(e.id) === String(n));
474
+ r && Nt(r);
475
+ }), !0);
476
+ }, Ht = (e) => {
477
+ let t = T.ids[e];
478
+ return t?.id ? t : null;
479
+ }, Ut = (e) => e ? e.data === void 0 ? e.result === void 0 ? e : e.result : e.data?.result?.output === void 0 ? e.data?.result === void 0 ? e.data : e.data.result : e.data.result.output : null, Wt = () => k.value ? { [T.yearField]: Number(k.value) } : {}, Gt = () => {
480
+ O.value = [{
481
+ id: 1,
482
+ name: "2018上合组织青岛峰会",
483
+ location: "青岛国际会议中心",
484
+ start_time: "2018-06-09 00:00:00",
485
+ end_time: "2018-06-10 00:00:00",
486
+ cover_image: "",
487
+ images: "",
488
+ introduction: "上海合作组织成员国元首理事会会议。",
489
+ status: 2,
490
+ year: 2018,
491
+ area_coordinates: "[[120.3825,36.0612],[120.3912,36.0612],[120.3912,36.0558],[120.3825,36.0558]]",
492
+ center_latitude: 36.0585,
493
+ center_longitude: 120.3868,
494
+ station_id: "54943"
495
+ }, {
496
+ id: 2,
497
+ name: "啤酒节",
498
+ location: "青岛会议中心",
499
+ start_time: "2026-09-02 00:00:00",
500
+ end_time: "2026-09-03 00:00:00",
501
+ cover_image: "",
502
+ images: "",
503
+ introduction: "青岛国际啤酒节。",
504
+ status: 1,
505
+ year: 2026,
506
+ layer_id: "",
507
+ area_coordinates: "[[120.168,35.951],[120.1725,35.9495],[120.177,35.951],[120.1725,35.9525]]",
508
+ center_latitude: 35.9508,
509
+ center_longitude: 120.1725,
510
+ station_id: "54943"
511
+ }];
512
+ }, Kt = async () => {
513
+ let t = Ht("data");
514
+ if (!t) {
515
+ console.warn("HdMajorActivity 缺少工作流配置");
516
+ return;
517
+ }
518
+ try {
519
+ let n = Ut(await e({
520
+ id: t.id,
521
+ baseHttp: T.baseHttp,
522
+ reqType: t.reqType,
523
+ variables: Wt(),
524
+ isFormData: t.isFormData,
525
+ appKey: T.appKey,
526
+ appSalt: T.appSalt
527
+ }));
528
+ Array.isArray(n) ? O.value = n : n && Array.isArray(n.list) ? O.value = n.list : O.value = [];
529
+ } catch (e) {
530
+ console.error("HdMajorActivity 数据加载失败", e);
531
+ }
532
+ }, qt = async () => {
533
+ D.value = !0, T.mock ? Gt() : await Kt(), D.value = !1, Vt();
534
+ };
535
+ return ee(() => {
536
+ qt();
537
+ }), C(G, () => {
538
+ Mt();
539
+ }, { immediate: !0 }), C(G, (e) => {
540
+ let t = e?.name ? ft[e.name] : "";
541
+ t && E("toComponent", {
542
+ componentName: "HdServiceMarterial",
543
+ categoryName: t
544
+ }), e?.station_id && E("toComponent", {
545
+ componentName: "Forecast72h",
546
+ payload: { stationId: e.station_id }
547
+ }), e?.station_id && E("toComponent", {
548
+ componentName: "WeatherForecast",
549
+ payload: { stationId: e.station_id }
550
+ });
551
+ }, { immediate: !0 }), C(z, (e) => {
552
+ e === "chart" && g(() => $());
553
+ }), C(B, () => {
554
+ z.value === "chart" && g(() => $());
555
+ }), C(M, (e) => {
556
+ e && z.value === "chart" && g(() => setTimeout($, 100));
557
+ }), h({ openPopup: Nt }), (e, t) => {
558
+ let l = i, h = r, g = n, ee = a, y = o;
559
+ return w((v(), f("div", ie, [
560
+ p("button", {
561
+ class: "HdMajorActivity-close",
562
+ onClick: kt
563
+ }, [...t[4] ||= [p("span", null, "✕", -1)]]),
564
+ t[24] ||= p("div", { class: "HdMajorActivity-header" }, [p("div", { class: "HdMajorActivity-headerContent" }, [p("h3", { class: "HdMajorActivity-title" }, "重大活动")]), p("img", {
565
+ class: "HdMajorActivity-headerLine",
566
+ 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",
567
+ alt: ""
568
+ })], -1),
569
+ p("div", ae, [
570
+ p("div", oe, [t[5] ||= p("span", { class: "HdMajorActivity-yearLabel" }, "年份", -1), m(l, {
571
+ modelValue: k.value,
572
+ "onUpdate:modelValue": t[0] ||= (e) => k.value = e,
573
+ type: "year",
574
+ placeholder: "全部",
575
+ "value-format": "YYYY",
576
+ format: "YYYY",
577
+ size: "small",
578
+ clearable: !0,
579
+ teleported: !1,
580
+ class: "HdMajorActivity-yearPicker",
581
+ "popper-class": "HdMajorActivity-yearPopper",
582
+ "disabled-date": vt,
583
+ onChange: yt
584
+ }, null, 8, ["modelValue"])]),
585
+ G.value ? (v(), f("div", se, [
586
+ ht.value ? (v(), f("img", {
587
+ key: 0,
588
+ src: ht.value,
589
+ alt: "活动封面"
590
+ }, null, 8, ce)) : (v(), f("div", le, "暂无封面")),
591
+ p("button", {
592
+ class: "HdMajorActivity-coverArrow HdMajorActivity-coverArrow--left",
593
+ disabled: A.value <= 0,
594
+ onClick: Tt
595
+ }, [...t[6] ||= [p("svg", {
596
+ viewBox: "0 0 24 24",
597
+ width: "16",
598
+ height: "16",
599
+ fill: "none",
600
+ stroke: "currentColor",
601
+ "stroke-width": "2"
602
+ }, [p("polyline", { points: "15 18 9 12 15 6" })], -1)]], 8, ue),
603
+ p("button", {
604
+ class: "HdMajorActivity-coverArrow HdMajorActivity-coverArrow--right",
605
+ disabled: A.value >= W.value.length - 1,
606
+ onClick: Et
607
+ }, [...t[7] ||= [p("svg", {
608
+ viewBox: "0 0 24 24",
609
+ width: "16",
610
+ height: "16",
611
+ fill: "none",
612
+ stroke: "currentColor",
613
+ "stroke-width": "2"
614
+ }, [p("polyline", { points: "9 18 15 12 9 6" })], -1)]], 8, de),
615
+ p("div", fe, [p("div", pe, [p("h4", me, x(G.value.name), 1), p("div", he, [t[8] ||= p("span", { class: "HdMajorActivity-coverTimeLabel" }, "服务时间:", -1), p("span", ge, x(St(G.value)), 1)])]), p("div", null, [p("span", { class: _(["HdMajorActivity-coverStatus", wt(G.value)]) }, x(Ct(G.value)), 3)])])
616
+ ])) : d("", !0),
617
+ G.value ? (v(), f("div", _e, [t[9] ||= p("div", { class: "HdMajorActivity-sectionTitle" }, "活动介绍", -1), p("div", ve, x(G.value.introduction || "暂无介绍"), 1)])) : d("", !0),
618
+ K.value.length ? (v(), f("div", ye, [t[10] ||= p("div", { class: "HdMajorActivity-sectionTitle" }, "活动图片", -1), m(g, {
619
+ class: "HdMajorActivity-carouselBox",
620
+ height: "140px",
621
+ autoplay: !1,
622
+ "indicator-position": "outside",
623
+ arrow: "always"
624
+ }, {
625
+ default: te(() => [(v(!0), f(s, null, b(K.value, (e, t) => (v(), u(h, { key: t }, {
626
+ default: te(() => [p("img", {
627
+ class: "HdMajorActivity-carouselImage",
628
+ src: e,
629
+ alt: "活动图片",
630
+ onClick: (e) => Dt(t)
631
+ }, null, 8, be)]),
632
+ _: 2
633
+ }, 1024))), 128))]),
634
+ _: 1
635
+ })])) : d("", !0),
636
+ !W.value.length && !D.value ? (v(), f("div", xe, "暂无活动数据")) : d("", !0)
637
+ ]),
638
+ (v(), u(c, { to: "body" }, [j.value ? (v(), u(ee, {
639
+ key: 0,
640
+ "url-list": K.value,
641
+ "initial-index": pt.value,
642
+ onClose: Ot
643
+ }, null, 8, ["url-list", "initial-index"])) : d("", !0)])),
644
+ (v(), u(c, { to: "body" }, [M.value ? (v(), f("div", Se, [p("div", Ce, [p("div", we, [p("span", Te, x(N.value?.location || N.value?.name), 1), p("button", {
645
+ class: "HdMajorActivity-popupClose",
646
+ onClick: Pt
647
+ }, [...t[11] ||= [p("span", null, "✕", -1)]])]), p("div", Ee, [p("div", De, [p("div", Oe, [gt.value ? (v(), f("img", {
648
+ key: 0,
649
+ src: gt.value,
650
+ alt: "封面"
651
+ }, null, 8, ke)) : (v(), f("div", Ae, "暂无封面"))]), p("div", je, [p("div", Me, [t[12] ||= p("span", null, "要素实况", -1), I.value.updateTime ? (v(), f("span", Ne, x(I.value.updateTime) + " 更新", 1)) : d("", !0)]), P.value ? (v(), f("div", Pe, "加载中...")) : (v(), f("div", Fe, [
652
+ p("div", Ie, [t[13] ||= p("span", { class: "HdMajorActivity-popupRealtimeLabel" }, "天气", -1), p("span", Le, x(mt.value), 1)]),
653
+ p("div", Re, [t[14] ||= p("span", { class: "HdMajorActivity-popupRealtimeLabel" }, "最高温度", -1), p("span", ze, x(Y(I.value.maxTemp)) + "°C", 1)]),
654
+ p("div", Be, [t[15] ||= p("span", { class: "HdMajorActivity-popupRealtimeLabel" }, "最低温度", -1), p("span", Ve, x(Y(I.value.minTemp)) + "°C", 1)]),
655
+ p("div", He, [t[16] ||= p("span", { class: "HdMajorActivity-popupRealtimeLabel" }, "风速", -1), p("span", Ue, x(Y(I.value.windSpeed)) + " m/s", 1)]),
656
+ p("div", We, [t[17] ||= p("span", { class: "HdMajorActivity-popupRealtimeLabel" }, "风向", -1), p("span", Ge, x(I.value.windDirection || "--"), 1)]),
657
+ p("div", Ke, [t[18] ||= p("span", { class: "HdMajorActivity-popupRealtimeLabel" }, "气压", -1), p("span", qe, x(Y(I.value.pressure)) + " hPa", 1)]),
658
+ p("div", Je, [t[19] ||= p("span", { class: "HdMajorActivity-popupRealtimeLabel" }, "相对湿度", -1), p("span", Ye, x(Y(I.value.humidity)) + "%", 1)]),
659
+ p("div", Xe, [t[20] ||= p("span", { class: "HdMajorActivity-popupRealtimeLabel" }, "能见度", -1), p("span", Ze, x(Y(I.value.visibility)) + " m", 1)])
660
+ ]))])]), p("div", Qe, [
661
+ p("div", $e, [t[21] ||= p("span", { class: "HdMajorActivity-popupSectionTitle" }, "要素时序", -1), m(l, {
662
+ modelValue: R.value,
663
+ "onUpdate:modelValue": t[1] ||= (e) => R.value = e,
664
+ type: "daterange",
665
+ size: "small",
666
+ disabled: !0,
667
+ "value-format": "YYYY-MM-DD",
668
+ format: "YYYY-MM-DD",
669
+ "start-placeholder": "开始日期",
670
+ "end-placeholder": "结束日期",
671
+ class: "HdMajorActivity-popupTimePicker",
672
+ "popper-class": "HdMajorActivity-yearPopper"
673
+ }, null, 8, ["modelValue"])]),
674
+ p("div", et, [p("button", {
675
+ class: _(["HdMajorActivity-popupTab", { "is-active": z.value === "chart" }]),
676
+ onClick: t[2] ||= (e) => z.value = "chart"
677
+ }, "图表", 2), p("button", {
678
+ class: _(["HdMajorActivity-popupTab", { "is-active": z.value === "table" }]),
679
+ onClick: t[3] ||= (e) => z.value = "table"
680
+ }, "表格", 2)]),
681
+ w(p("div", tt, [(v(), f(s, null, b(U, (e) => p("button", {
682
+ key: e.key,
683
+ class: _(["HdMajorActivity-popupElementTab", { "is-active": B.value === e.key }]),
684
+ onClick: (t) => B.value = e.key
685
+ }, x(e.label), 11, nt)), 64))], 512), [[S, z.value === "chart"]]),
686
+ F.value ? (v(), f("div", rt, "加载中...")) : (v(), f("div", it, [w(p("div", {
687
+ ref_key: "chartRef",
688
+ ref: V,
689
+ class: "HdMajorActivity-popupChart"
690
+ }, null, 512), [[S, z.value === "chart"]]), w(p("div", at, [p("table", ot, [t[23] ||= p("thead", null, [p("tr", null, [
691
+ p("th", null, "时间"),
692
+ p("th", null, "温度(°C)"),
693
+ p("th", null, "风速(m/s)"),
694
+ p("th", null, "风向"),
695
+ p("th", null, "小时降水(mm)"),
696
+ p("th", null, "相对湿度(%)"),
697
+ p("th", null, "能见度(km)"),
698
+ p("th", null, "类型")
699
+ ])], -1), p("tbody", null, [(v(!0), f(s, null, b(_t.value, (e, t) => (v(), f("tr", { key: t }, [
700
+ p("td", null, x(e.time), 1),
701
+ p("td", null, x(Y(e.temp)), 1),
702
+ p("td", null, x(Y(e.windSpeed)), 1),
703
+ p("td", null, x(e.windDirection || "--"), 1),
704
+ p("td", null, x(Y(e.rain)), 1),
705
+ p("td", null, x(Y(e.humidity)), 1),
706
+ p("td", null, x(Y(e.visibility)), 1),
707
+ p("td", null, [p("span", { class: _(["HdMajorActivity-popupTypeTag", `is-${e.type || "real"}`]) }, x(e.type === "forecast" ? "预报" : "实况"), 3)])
708
+ ]))), 128)), _t.value.length ? d("", !0) : (v(), f("tr", st, [...t[22] ||= [p("td", {
709
+ colspan: "8",
710
+ class: "HdMajorActivity-popupNoData"
711
+ }, "暂无数据", -1)]]))])])], 512), [[S, z.value === "table"]])]))
712
+ ])])])])) : d("", !0)]))
713
+ ])), [[y, D.value]]);
714
+ };
715
+ }
716
+ }), [["__scopeId", "data-v-c2cd2b02"]]);
717
+ //#endregion
718
+ export { ct as t };