nxd-plugin 1.7.82 → 1.7.83

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 (83) hide show
  1. package/dist/chunks/{component-AiChat-BU0rzEqA.mjs → component-AiChat-C1xBPkS5.mjs} +305 -264
  2. package/dist/chunks/{component-AqiMonitor-B0X5SmQB.mjs → component-AqiMonitor-DoAVs1Jf.mjs} +1 -1
  3. package/dist/chunks/{component-ChartCumulativePre-D50ZlxtD.mjs → component-ChartCumulativePre-BOIMPYxl.mjs} +2 -2
  4. package/dist/chunks/{component-ChartServiceMaterial-D35UWUD8.mjs → component-ChartServiceMaterial-CmR3bmG_.mjs} +2 -2
  5. package/dist/chunks/{component-Duty-CuVSfL6B.mjs → component-Duty-gmt7ZcSc.mjs} +2 -2
  6. package/dist/chunks/{component-EarlyWarningStatistic-DBLY754e.mjs → component-EarlyWarningStatistic-BWYWrz65.mjs} +2 -2
  7. package/dist/chunks/component-Forecast72h-BZ1kB2TJ.mjs +427 -0
  8. package/dist/chunks/{component-GeologyLiveAlarm-BGqrl_n2.mjs → component-GeologyLiveAlarm-CNpQPmGs.mjs} +2 -2
  9. package/dist/chunks/component-HdHeatService-ok6q8UuG.mjs +412 -0
  10. package/dist/chunks/component-HdObservation-BmQdGJV6.mjs +600 -0
  11. package/dist/chunks/component-HdPreSituation-LBpO58bE.mjs +604 -0
  12. package/dist/chunks/component-HdRadarTime-D7hOn_ph.mjs +461 -0
  13. package/dist/chunks/component-HdSeaCase-DYPQ7CdN.mjs +219 -0
  14. package/dist/chunks/component-HdServiceRequirements-DcXrcIIV.mjs +143 -0
  15. package/dist/chunks/component-HdStationTem-US6IRwbQ.mjs +573 -0
  16. package/dist/chunks/{component-HighQuality-B-DNdjF7.mjs → component-HighQuality-B0OgPi3T.mjs} +3 -3
  17. package/dist/chunks/{component-HighWayEarlyWarningRed-DM_NXOxS.mjs → component-HighWayEarlyWarningRed-BTl2WWZ-.mjs} +907 -759
  18. package/dist/chunks/{component-HighWayFreeze-Dldul9ds.mjs → component-HighWayFreeze-B1aMHQWU.mjs} +2 -2
  19. package/dist/chunks/{component-HighwayLiveAlarm-7T0XNRUb.mjs → component-HighwayLiveAlarm-8u45ZdnN.mjs} +2 -2
  20. package/dist/chunks/{component-HighwayLiveAlarmNew-ClsfDywn.mjs → component-HighwayLiveAlarmNew-DK827eVk.mjs} +3 -3
  21. package/dist/chunks/{component-HighwayStations-u3R83AXH.mjs → component-HighwayStations-BzrbWP50.mjs} +2 -2
  22. package/dist/chunks/{component-HighwayWeatherForecast-CHJuEi1V.mjs → component-HighwayWeatherForecast-DER5XGc3.mjs} +2 -2
  23. package/dist/chunks/{component-IframeWeb-B_RCXBBe.mjs → component-IframeWeb-DuBssYPk.mjs} +1 -1
  24. package/dist/chunks/{component-ImageGeneration-5zGtULQL.mjs → component-ImageGeneration-3G3j7utC.mjs} +1 -1
  25. package/dist/chunks/{component-IntroducePic-DPf4yYOb.mjs → component-IntroducePic-L8VH8Yq8.mjs} +1 -1
  26. package/dist/chunks/{component-LithiumBatteryMiningArea-D7EdisGO.mjs → component-LithiumBatteryMiningArea-DSFTVepN.mjs} +2 -2
  27. package/dist/chunks/{component-MapPopup-pePSM1pe.mjs → component-MapPopup-BNc18syw.mjs} +1 -1
  28. package/dist/chunks/{component-MaterialPreview-CvHyZKau.mjs → component-MaterialPreview-DhLUbjcT.mjs} +2 -2
  29. package/dist/chunks/{component-PieLegend-C_KQgtb2.mjs → component-PieLegend-Haojhtet.mjs} +1 -1
  30. package/dist/chunks/component-PrecipitationRanking-BanKrD3J.mjs +608 -0
  31. package/dist/chunks/{component-RadarChart-Dkkpc2ex.mjs → component-RadarChart-BYMbkI3K.mjs} +2 -2
  32. package/dist/chunks/{component-RadarLegend-Bmyx7Z82.mjs → component-RadarLegend-CiGsla7a.mjs} +1 -1
  33. package/dist/chunks/{component-RadarShortTerm-DNpfS5yC.mjs → component-RadarShortTerm-yPc2UWpz.mjs} +4 -4
  34. package/dist/chunks/{component-RadarTime-CBk6AMiD.mjs → component-RadarTime-CkqIaTJh.mjs} +2 -2
  35. package/dist/chunks/{component-RenderMarkdown-DFiXNere.mjs → component-RenderMarkdown-D590sXEf.mjs} +2 -2
  36. package/dist/chunks/{component-ReservoirLiveAlarm-DCzzEJ4U.mjs → component-ReservoirLiveAlarm-DTtKdDQS.mjs} +3 -3
  37. package/dist/chunks/{component-ServiceMaterial-CXBQpfHK.mjs → component-ServiceMaterial-BKbVQbKm.mjs} +2 -2
  38. package/dist/chunks/{component-ServiceMaterialsBtn-CPZzLZl_.mjs → component-ServiceMaterialsBtn-CskK-Qiz.mjs} +1 -1
  39. package/dist/chunks/component-StationDialog-Bn7Fbk24.mjs +897 -0
  40. package/dist/chunks/component-StationList-DRABlFdc.mjs +323 -0
  41. package/dist/chunks/{component-TimeBasedForecast-WVO8WY-h.mjs → component-TimeBasedForecast-D1fJ4rGJ.mjs} +4 -4
  42. package/dist/chunks/{component-WarningLine-BCPm8Eve.mjs → component-WarningLine-jN8sg45u.mjs} +2 -2
  43. package/dist/chunks/{component-WarningSignal-C2RJ8N64.mjs → component-WarningSignal-BkIKqyJB.mjs} +3 -3
  44. package/dist/chunks/component-WeatherForecast-CYsbJhYt.mjs +225 -0
  45. package/dist/chunks/{component-YCDataMonitor-Dx7ASmGD.mjs → component-YCDataMonitor-vVlnkSzT.mjs} +2 -2
  46. package/dist/chunks/{component-YCDataService-mj2SUWBC.mjs → component-YCDataService-okkY1-iU.mjs} +4 -4
  47. package/dist/chunks/{component-YCHome-CUcEZHuo.mjs → component-YCHome-BfpbxDIg.mjs} +4 -4
  48. package/dist/chunks/{component-YCHomeLegend-DK6WU8YQ.mjs → component-YCHomeLegend-CuT-BwNJ.mjs} +1 -1
  49. package/dist/chunks/{component-YCLoginNew-D2RInKrk.mjs → component-YCLoginNew-KZoyW1EV.mjs} +3 -3
  50. package/dist/components/AiChat/AiChat.vue.d.ts +0 -2
  51. package/dist/components/Forecast72h/Forecast72h.vue.d.ts +50 -0
  52. package/dist/components/HdHeatService/HdHeatService.vue.d.ts +56 -0
  53. package/dist/components/HdObservation/HdObservation.vue.d.ts +43 -0
  54. package/dist/components/HdPreSituation/HdPreSituation.vue.d.ts +62 -0
  55. package/dist/components/HdQxServiceEffects/HdQxServiceEffects.vue.d.ts +59 -0
  56. package/dist/components/HdRadarTime/HdRadarTime.vue.d.ts +71 -0
  57. package/dist/components/HdSeaCase/HdSeaCase.vue.d.ts +46 -0
  58. package/dist/components/HdServiceRequirements/HdServiceRequirements.vue.d.ts +51 -0
  59. package/dist/components/HdStationTem/HdStationTem.vue.d.ts +69 -0
  60. package/dist/components/HighWayEarlyWarningRed/Call.vue.d.ts +18 -0
  61. package/dist/components/HighWayEarlyWarningRed/HighWayEarlyWarningRed.vue.d.ts +5 -0
  62. package/dist/components/PrecipitationRanking/PrecipitationRanking.vue.d.ts +57 -0
  63. package/dist/components/StationDialog/StationDialog.vue.d.ts +90 -0
  64. package/dist/components/StationList/StationList.vue.d.ts +64 -0
  65. package/dist/index.d.ts +13 -1
  66. package/dist/nxd-plugin.mjs +51 -40
  67. package/dist/styles/component-Forecast72h.css +1 -0
  68. package/dist/styles/component-HdHeatService.css +1 -0
  69. package/dist/styles/component-HdObservation.css +1 -0
  70. package/dist/styles/component-HdPreSituation.css +1 -0
  71. package/dist/styles/component-HdRadarTime.css +1 -0
  72. package/dist/styles/component-HdSeaCase.css +1 -0
  73. package/dist/styles/component-HdServiceRequirements.css +1 -0
  74. package/dist/styles/component-HdStationTem.css +1 -0
  75. package/dist/styles/component-HighQuality.css +1 -1
  76. package/dist/styles/component-HighWayEarlyWarningRed.css +1 -1
  77. package/dist/styles/component-PrecipitationRanking.css +1 -0
  78. package/dist/styles/component-StationDialog.css +1 -0
  79. package/dist/styles/component-StationList.css +1 -0
  80. package/dist/styles/component-WeatherForecast.css +1 -1
  81. package/dist/styles/component-YCLoginNew.css +1 -1
  82. package/package.json +2 -1
  83. package/dist/chunks/component-WeatherForecast-CaLYtE37.mjs +0 -210
@@ -0,0 +1,897 @@
1
+ import { r as e } from "./rolldown-runtime-Cz5NsrRf.mjs";
2
+ import { n as t } from "./component-AqiMonitor-DoAVs1Jf.mjs";
3
+ import { i as n } from "./component-AiChat-C1xBPkS5.mjs";
4
+ import { n as r } from "./component-HdObservation-BmQdGJV6.mjs";
5
+ import { ElIcon as i } from "element-plus/es";
6
+ import { Fragment as a, Teleport as ee, createBlock as te, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, getCurrentInstance as ne, nextTick as f, normalizeClass as p, normalizeStyle as re, onBeforeUnmount as ie, onMounted as ae, openBlock as m, ref as h, renderList as g, toDisplayString as _, unref as v, vShow as oe, watch as y, withCtx as b, withDirectives as se } from "vue";
7
+ import { Close as ce, Download as le, Histogram as ue } from "@element-plus/icons-vue";
8
+ import * as x from "echarts";
9
+ //#region src/components/StationDialog/StationDialog.vue?vue&type=script&setup=true&lang.ts
10
+ var de = /* @__PURE__ */ e(r()), fe = { class: "StationDialog-mask StationDialog" }, pe = { class: "StationPop-title" }, me = { class: "StationPop-subtitle" }, he = {
11
+ key: 0,
12
+ class: "StationPop-dataTime"
13
+ }, ge = {
14
+ key: 1,
15
+ class: "StationPop-dataTime"
16
+ }, _e = { class: "StationPop-info" }, ve = {
17
+ class: "StationPop-infoItem",
18
+ style: { "grid-column": "span 2" }
19
+ }, ye = { class: "StationPop-infoValue" }, be = { class: "StationPop-infoItem" }, xe = { class: "StationPop-infoValue" }, Se = { class: "StationPop-infoItem" }, Ce = { class: "StationPop-infoValue" }, we = {
20
+ class: "StationPop-infoItem",
21
+ style: { "grid-column": "span 2" }
22
+ }, S = { class: "StationPop-infoValue" }, C = {
23
+ class: "StationPop-infoItem",
24
+ style: { "grid-column": "span 2" }
25
+ }, w = { class: "StationPop-infoValue" }, T = { class: "StationPop-sections" }, E = { class: "StationPop-section" }, D = { class: "StationPop-realtime" }, O = { class: "StationPop-realtimeItem" }, k = { class: "StationPop-realtimeValue" }, Te = { class: "StationPop-realtimeItem" }, Ee = { class: "StationPop-realtimeValue" }, De = { class: "StationPop-realtimeItem" }, Oe = { class: "StationPop-realtimeValue" }, ke = { class: "StationPop-realtimeItem" }, Ae = { class: "StationPop-realtimeValue" }, je = { class: "StationPop-realtimeItem" }, Me = { class: "StationPop-realtimeValue" }, Ne = { class: "StationPop-realtimeItem" }, Pe = { class: "StationPop-realtimeValue" }, Fe = { class: "StationPop-realtimeItem" }, Ie = { class: "StationPop-realtimeValue" }, Le = { class: "StationPop-realtimeItem" }, Re = { class: "StationPop-realtimeValue" }, ze = { class: "StationPop-realtimeItem" }, Be = { class: "StationPop-realtimeValue" }, Ve = { class: "StationPop-section" }, He = { class: "StationPop-statistics" }, Ue = { class: "StationPop-statisticsItem" }, We = { class: "StationPop-statisticsValue" }, Ge = { class: "StationPop-statisticsItem" }, Ke = { class: "StationPop-statisticsValue" }, qe = { class: "StationPop-statisticsItem" }, Je = { class: "StationPop-statisticsValue" }, Ye = { class: "StationPop-statisticsItem" }, Xe = { class: "StationPop-statisticsValue" }, Ze = { class: "StationPop-statisticsItem" }, Qe = { class: "StationPop-statisticsValue" }, $e = { class: "StationPop-statisticsItem" }, et = { class: "StationPop-statisticsValue" }, tt = { class: "StationPop-tabs" }, nt = ["onClick"], rt = {
26
+ key: 0,
27
+ class: "StationPop-historyMask"
28
+ }, it = { class: "StationPop-historyPopup" }, at = { class: "StationPop-historyHeader" }, ot = { class: "StationPop-historyTitle" }, st = { class: "StationPop-historySubTitle" }, ct = { class: "StationPop-historyTabs" }, lt = ["onClick"], ut = { class: "StationPop-historyActions" }, dt = { class: "StationPop-historyTableWrap" }, ft = { class: "StationPop-historyTable" }, pt = { class: "StationPop-historyTd--center" }, mt = { class: "StationPop-historyTd--left" }, ht = { class: "StationPop-historyTd--right" }, gt = { class: "StationPop-historyTd--right" }, _t = { class: "StationPop-historyTd--right" }, vt = { class: "StationPop-historyTd--left" }, yt = { class: "StationPop-historyTd--right" }, bt = { key: 0 }, A = /* @__PURE__ */ t(/* @__PURE__ */ d({
29
+ __name: "StationDialog",
30
+ props: {
31
+ componentStyle: { default: () => ({}) },
32
+ stationCode: {},
33
+ stationName: { default: "" },
34
+ mock: {
35
+ type: Boolean,
36
+ default: !0
37
+ },
38
+ baseHttp: { default: "" },
39
+ appKey: { default: "" },
40
+ appSalt: { default: "" },
41
+ ids: { default: () => ({}) },
42
+ mockData: { default: () => ({
43
+ dataTime: "2026-04-12 16时",
44
+ baseInfo: {
45
+ stationName: "黄岛滨海杜鹃花区气象观测站",
46
+ stationCode: "D0076",
47
+ address: "N35.78 E120.01",
48
+ stationStatus: "正常",
49
+ monitorElement: "降水、温度、湿度、风力风向、气压",
50
+ serviceType: "海洋气象服务、航线气象服务"
51
+ },
52
+ realTimeInfo: {
53
+ temperature: 27.7,
54
+ humidity: null,
55
+ windSpeed: .5,
56
+ hourPrecipitation: 0,
57
+ pressure: null,
58
+ visibility: void 0,
59
+ evaporation: 9999,
60
+ lightIntensity: 9999,
61
+ par: null
62
+ },
63
+ statisticsInfo: {
64
+ dailyMinTemp: 24.6,
65
+ dailyMaxTemp: 28.3,
66
+ dailyPrecipitation: 1,
67
+ historyMinTemp: -15.9,
68
+ historyMaxTemp: 41,
69
+ historyMaxPrecipitation: 556.1
70
+ },
71
+ chartData: {
72
+ temperature: {
73
+ times: [
74
+ "23时",
75
+ "00时",
76
+ "01时",
77
+ "02时",
78
+ "06时",
79
+ "07时",
80
+ "08时",
81
+ "09时",
82
+ "10时",
83
+ "11时",
84
+ "12时",
85
+ "13时"
86
+ ],
87
+ unit: "℃",
88
+ series: [{
89
+ name: "正常值",
90
+ data: [
91
+ 22,
92
+ 21.5,
93
+ 21.2,
94
+ 21.8,
95
+ 22.5,
96
+ 23.5,
97
+ 24.8,
98
+ 25.6,
99
+ 26.2,
100
+ 26.8,
101
+ 27.2,
102
+ 27.7
103
+ ],
104
+ color: "#00D9FF",
105
+ type: "line",
106
+ threshold: [
107
+ 30,
108
+ 30,
109
+ 30,
110
+ 30,
111
+ 30,
112
+ 30,
113
+ 30,
114
+ 30,
115
+ 30,
116
+ 30,
117
+ 30,
118
+ 30
119
+ ]
120
+ }]
121
+ },
122
+ wind: {
123
+ times: [
124
+ "23时",
125
+ "00时",
126
+ "01时",
127
+ "02时",
128
+ "06时",
129
+ "07时",
130
+ "08时",
131
+ "09时",
132
+ "10时",
133
+ "11时",
134
+ "12时",
135
+ "13时"
136
+ ],
137
+ unit: "级",
138
+ series: [{
139
+ name: "正常值",
140
+ data: [
141
+ 1.8,
142
+ .9,
143
+ 1.8,
144
+ 1.8,
145
+ 1.8,
146
+ 1.8,
147
+ 2.6,
148
+ 1,
149
+ 1,
150
+ 1,
151
+ 2,
152
+ 2.5
153
+ ],
154
+ color: "#00D9FF",
155
+ type: "line",
156
+ directions: [
157
+ 45,
158
+ 90,
159
+ 135,
160
+ 180,
161
+ 225,
162
+ 270,
163
+ 315,
164
+ 0,
165
+ 45,
166
+ 90,
167
+ 135,
168
+ 180
169
+ ],
170
+ threshold: [
171
+ 4,
172
+ 4,
173
+ 4,
174
+ 4,
175
+ 4,
176
+ 4,
177
+ 4,
178
+ 4,
179
+ 4,
180
+ 4,
181
+ 4,
182
+ 4
183
+ ]
184
+ }]
185
+ },
186
+ humidity: {
187
+ times: [
188
+ "23时",
189
+ "00时",
190
+ "01时",
191
+ "02时",
192
+ "06时",
193
+ "07时",
194
+ "08时",
195
+ "09时",
196
+ "10时",
197
+ "11时",
198
+ "12时",
199
+ "13时"
200
+ ],
201
+ unit: "%",
202
+ series: [{
203
+ name: "正常值",
204
+ data: [
205
+ 82,
206
+ 85,
207
+ 86,
208
+ 84,
209
+ 80,
210
+ 78,
211
+ 75,
212
+ 72,
213
+ 70,
214
+ 68,
215
+ 66,
216
+ 64
217
+ ],
218
+ color: "#00D9FF",
219
+ type: "line",
220
+ threshold: [
221
+ 90,
222
+ 90,
223
+ 90,
224
+ 90,
225
+ 90,
226
+ 90,
227
+ 90,
228
+ 90,
229
+ 90,
230
+ 90,
231
+ 90,
232
+ 90
233
+ ]
234
+ }]
235
+ },
236
+ precipitation: {
237
+ times: [
238
+ "23时",
239
+ "00时",
240
+ "01时",
241
+ "02时",
242
+ "06时",
243
+ "07时",
244
+ "08时",
245
+ "09时",
246
+ "10时",
247
+ "11时",
248
+ "12时",
249
+ "13时"
250
+ ],
251
+ unit: "mm",
252
+ series: [{
253
+ name: "正常值",
254
+ data: [
255
+ 0,
256
+ 0,
257
+ 0,
258
+ 0,
259
+ 0,
260
+ 0,
261
+ .2,
262
+ .5,
263
+ .1,
264
+ 0,
265
+ 0,
266
+ 0
267
+ ],
268
+ color: "#00D9FF",
269
+ type: "bar",
270
+ threshold: [
271
+ 2,
272
+ 2,
273
+ 2,
274
+ 2,
275
+ 2,
276
+ 2,
277
+ 2,
278
+ 2,
279
+ 2,
280
+ 2,
281
+ 2,
282
+ 2
283
+ ]
284
+ }]
285
+ },
286
+ pressure: {
287
+ times: [
288
+ "23时",
289
+ "00时",
290
+ "01时",
291
+ "02时",
292
+ "06时",
293
+ "07时",
294
+ "08时",
295
+ "09时",
296
+ "10时",
297
+ "11时",
298
+ "12时",
299
+ "13时"
300
+ ],
301
+ unit: "hPa",
302
+ series: [{
303
+ name: "正常值",
304
+ data: [
305
+ 1005,
306
+ 1005.2,
307
+ 1005.5,
308
+ 1005.8,
309
+ 1006,
310
+ 1006.2,
311
+ 1006.5,
312
+ 1006.8,
313
+ 1007,
314
+ 1007.2,
315
+ 1007.5,
316
+ 1007.8
317
+ ],
318
+ color: "#00D9FF",
319
+ type: "line",
320
+ threshold: [
321
+ 1008,
322
+ 1008,
323
+ 1008,
324
+ 1008,
325
+ 1008,
326
+ 1008,
327
+ 1008,
328
+ 1008,
329
+ 1008,
330
+ 1008,
331
+ 1008,
332
+ 1008
333
+ ]
334
+ }]
335
+ }
336
+ },
337
+ historyData: {
338
+ day: [
339
+ {
340
+ date: "2026-04-01",
341
+ precipitation: 0,
342
+ temperature: 20.5,
343
+ humidity: 65,
344
+ windSpeed: 3.2,
345
+ windDirectionText: "南风",
346
+ pressure: 1008
347
+ },
348
+ {
349
+ date: "2026-04-02",
350
+ precipitation: 1.2,
351
+ temperature: 21.3,
352
+ humidity: 70,
353
+ windSpeed: 2.8,
354
+ windDirectionText: "东南风",
355
+ pressure: 1007
356
+ },
357
+ {
358
+ date: "2026-04-03",
359
+ precipitation: 0,
360
+ temperature: 22.1,
361
+ humidity: 68,
362
+ windSpeed: 3.5,
363
+ windDirectionText: "南风",
364
+ pressure: 1006
365
+ },
366
+ {
367
+ date: "2026-04-04",
368
+ precipitation: 5.6,
369
+ temperature: 19.8,
370
+ humidity: 82,
371
+ windSpeed: 4.1,
372
+ windDirectionText: "东风",
373
+ pressure: 1005
374
+ },
375
+ {
376
+ date: "2026-04-05",
377
+ precipitation: 0,
378
+ temperature: 21.6,
379
+ humidity: 66,
380
+ windSpeed: 3,
381
+ windDirectionText: "南风",
382
+ pressure: 1007
383
+ },
384
+ {
385
+ date: "2026-04-06",
386
+ precipitation: .3,
387
+ temperature: 20.9,
388
+ humidity: 72,
389
+ windSpeed: 2.5,
390
+ windDirectionText: "东南风",
391
+ pressure: 1008
392
+ },
393
+ {
394
+ date: "2026-04-07",
395
+ precipitation: 0,
396
+ temperature: 22.5,
397
+ humidity: 64,
398
+ windSpeed: 3.8,
399
+ windDirectionText: "南风",
400
+ pressure: 1009
401
+ }
402
+ ],
403
+ month: [
404
+ {
405
+ date: "2026-01",
406
+ precipitation: 12.5,
407
+ temperature: 8.3,
408
+ humidity: 58,
409
+ windSpeed: 3.5,
410
+ windDirectionText: "北风",
411
+ pressure: 1012
412
+ },
413
+ {
414
+ date: "2026-02",
415
+ precipitation: 18.2,
416
+ temperature: 10.1,
417
+ humidity: 62,
418
+ windSpeed: 3.8,
419
+ windDirectionText: "北风",
420
+ pressure: 1010
421
+ },
422
+ {
423
+ date: "2026-03",
424
+ precipitation: 25.6,
425
+ temperature: 14.6,
426
+ humidity: 65,
427
+ windSpeed: 3.6,
428
+ windDirectionText: "南风",
429
+ pressure: 1009
430
+ },
431
+ {
432
+ date: "2026-04",
433
+ precipitation: 8.4,
434
+ temperature: 20.2,
435
+ humidity: 68,
436
+ windSpeed: 3.2,
437
+ windDirectionText: "南风",
438
+ pressure: 1007
439
+ }
440
+ ]
441
+ }
442
+ }) }
443
+ },
444
+ setup(e) {
445
+ let t = ne()?.appContext.config.globalProperties.$bus, r = e, d = h({
446
+ stationName: "",
447
+ stationCode: "",
448
+ address: "",
449
+ stationStatus: "",
450
+ monitorElement: "",
451
+ serviceType: ""
452
+ }), A = h(!1), j = h(""), M = h({}), N = h({}), P = h(null), F = null, I = h("temperature"), L = [
453
+ {
454
+ label: "温度",
455
+ value: "temperature"
456
+ },
457
+ {
458
+ label: "风力风向",
459
+ value: "wind"
460
+ },
461
+ {
462
+ label: "湿度",
463
+ value: "humidity"
464
+ },
465
+ {
466
+ label: "降水",
467
+ value: "precipitation"
468
+ },
469
+ {
470
+ label: "气压",
471
+ value: "pressure"
472
+ }
473
+ ], R = h({}), z = h(!1), B = h("day"), V = h([]), xt = [{
474
+ label: "日统计",
475
+ value: "day"
476
+ }, {
477
+ label: "月统计",
478
+ value: "month"
479
+ }], St = () => {
480
+ A.value = !1, z.value = !1;
481
+ }, H = (e) => e == null || e === "" || e === 9999, U = (e, t) => H(e) ? "--" : t ? `${e}${t}` : String(e), Ct = (e) => `${H(e.windSpeed) ? "--" : `${e.windSpeed}m/s`} ${e.windDirectionText || "--"}`, W = (e) => {
482
+ let t = r.ids[e] || r.ids.data;
483
+ return t?.id ? t : null;
484
+ }, G = async (e, t = {}) => {
485
+ let i = W(e);
486
+ if (!i) throw Error(`缺少 ${e} 对应的工作流配置`);
487
+ return await n({
488
+ id: i.id,
489
+ baseHttp: r.baseHttp,
490
+ reqType: i.reqType,
491
+ variables: {
492
+ stationCode: r.stationCode,
493
+ ...t
494
+ },
495
+ isFormData: i.isFormData,
496
+ appKey: r.appKey,
497
+ appSalt: r.appSalt
498
+ });
499
+ }, K = (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, q = async () => {
500
+ r.mock ? wt() : await Tt();
501
+ }, wt = () => {
502
+ let e = r.mockData;
503
+ e.baseInfo && (d.value = { ...e.baseInfo }), e.realTimeInfo && (M.value = { ...e.realTimeInfo }), e.statisticsInfo && (N.value = { ...e.statisticsInfo }), e.chartData && (R.value = { ...e.chartData }), j.value = e.dataTime || "", f(Y);
504
+ }, Tt = async () => {
505
+ try {
506
+ let e = K(await G("baseInfo"));
507
+ e && (d.value = {
508
+ ...d.value,
509
+ ...e
510
+ });
511
+ } catch (e) {
512
+ console.warn("站点基础信息接口失败", e);
513
+ }
514
+ try {
515
+ let e = K(await G("realTime"));
516
+ e && (M.value = { ...e });
517
+ } catch (e) {
518
+ console.warn("实时监测接口失败", e);
519
+ }
520
+ try {
521
+ let e = K(await G("statistics"));
522
+ e && (N.value = { ...e });
523
+ } catch (e) {
524
+ console.warn("统计信息接口失败", e);
525
+ }
526
+ try {
527
+ if (W("chart")) {
528
+ let e = K(await G("chart"));
529
+ e && typeof e == "object" && (R.value = J(e));
530
+ } else if (r.ids.data?.id) {
531
+ let e = {};
532
+ for (let t of L) try {
533
+ let n = K(await G("data", { type: t.value }));
534
+ if (n) {
535
+ let r = J({ [t.value]: n });
536
+ Object.assign(e, r);
537
+ }
538
+ } catch (e) {
539
+ console.warn(`图表数据接口失败: ${t.value}`, e);
540
+ }
541
+ R.value = e;
542
+ }
543
+ } catch (e) {
544
+ console.warn("图表数据接口失败", e);
545
+ }
546
+ f(Y);
547
+ }, J = (e) => {
548
+ let t = {};
549
+ return [
550
+ "temperature",
551
+ "wind",
552
+ "humidity",
553
+ "precipitation",
554
+ "pressure"
555
+ ].forEach((n) => {
556
+ let r = e[n];
557
+ r && (t[n] = {
558
+ times: Array.isArray(r.times) ? r.times : [],
559
+ unit: r.unit || "",
560
+ series: Array.isArray(r.series) ? r.series.map((e) => ({
561
+ name: e.name || "",
562
+ data: Array.isArray(e.data) ? e.data : [],
563
+ directions: Array.isArray(e.directions) ? e.directions : void 0,
564
+ color: e.color,
565
+ type: e.type || "line",
566
+ threshold: e.threshold
567
+ })) : []
568
+ });
569
+ }), t;
570
+ }, Et = (e) => {
571
+ I.value = e, f(Y);
572
+ }, Y = () => {
573
+ if (!P.value) return;
574
+ F ||= x.init(P.value);
575
+ let e = R.value[I.value];
576
+ if (!e || !e.times.length) {
577
+ F.clear();
578
+ return;
579
+ }
580
+ let t = I.value === "wind", n = e.series.some((e) => e.type === "bar"), r = e.series.map((r) => {
581
+ let i = {
582
+ name: r.name,
583
+ type: r.type || "line",
584
+ smooth: !0,
585
+ symbol: t ? "triangle" : "circle",
586
+ symbolSize: t ? 10 : 6,
587
+ data: r.data,
588
+ itemStyle: { color: r.color || "#00D9FF" },
589
+ lineStyle: { width: 2 }
590
+ };
591
+ return r.type === "bar" && (i.barWidth = 12, i.itemStyle.borderRadius = [
592
+ 4,
593
+ 4,
594
+ 0,
595
+ 0
596
+ ], delete i.smooth, delete i.symbol, delete i.symbolSize), !n && !t && (i.areaStyle = { color: new x.graphic.LinearGradient(0, 0, 0, 1, [{
597
+ offset: 0,
598
+ color: X(r.color || "#00D9FF", .3)
599
+ }, {
600
+ offset: 1,
601
+ color: X(r.color || "#00D9FF", .01)
602
+ }]) }), t && r.directions && r.directions.length === e.times.length && (i.symbolRotate = (e, t) => (r.directions?.[t.dataIndex] ?? 0) + 180), r.threshold && r.threshold.length === e.times.length && (i.markLine = {
603
+ silent: !0,
604
+ symbol: "none",
605
+ lineStyle: {
606
+ color: "#FF4D4F",
607
+ type: "dashed",
608
+ width: 1
609
+ },
610
+ label: {
611
+ show: !0,
612
+ position: "end",
613
+ formatter: `${e.unit ? `阈值 ${r.threshold[0]}${e.unit}` : `阈值 ${r.threshold[0]}`}`,
614
+ color: "#FF4D4F",
615
+ fontSize: 11
616
+ },
617
+ data: r.threshold.map((t, n) => ({
618
+ xAxis: e.times[n],
619
+ yAxis: t
620
+ }))
621
+ }), i;
622
+ });
623
+ e.series.some((e) => e.name === "阈值") || r.push({
624
+ name: "阈值",
625
+ type: "line",
626
+ data: [],
627
+ itemStyle: { color: "#FF4D4F" },
628
+ lineStyle: {
629
+ type: "dashed",
630
+ width: 1
631
+ },
632
+ symbol: "none"
633
+ });
634
+ let i = (() => {
635
+ let t = [];
636
+ if (e.series.forEach((e) => {
637
+ e.data.forEach((e) => {
638
+ let n = Number(e);
639
+ isNaN(n) || t.push(n);
640
+ }), e.threshold && e.threshold.forEach((e) => {
641
+ let n = Number(e);
642
+ isNaN(n) || t.push(n);
643
+ });
644
+ }), !t.length) return;
645
+ let n = Math.max(...t);
646
+ return n <= 0 ? 10 : Math.ceil(n * 1.1);
647
+ })(), a = {
648
+ tooltip: {
649
+ trigger: "axis",
650
+ backgroundColor: "rgba(0, 20, 40, 0.9)",
651
+ borderColor: "#00D9FF",
652
+ textStyle: { color: "#fff" }
653
+ },
654
+ legend: {
655
+ data: [{
656
+ name: "阈值",
657
+ icon: "circle"
658
+ }, {
659
+ name: "正常值",
660
+ icon: "circle"
661
+ }],
662
+ right: 0,
663
+ top: 0,
664
+ textStyle: { color: "#fff" },
665
+ itemWidth: 12,
666
+ itemHeight: 12
667
+ },
668
+ grid: {
669
+ left: 16,
670
+ right: 16,
671
+ top: 40,
672
+ bottom: 24,
673
+ containLabel: !0
674
+ },
675
+ xAxis: {
676
+ type: "category",
677
+ boundaryGap: n,
678
+ data: e.times,
679
+ axisLine: { lineStyle: { color: "rgba(255,255,255,0.3)" } },
680
+ axisLabel: {
681
+ color: "rgba(255,255,255,0.7)",
682
+ fontSize: 11
683
+ },
684
+ axisTick: { show: !1 },
685
+ splitLine: { show: !1 }
686
+ },
687
+ yAxis: {
688
+ type: "value",
689
+ max: i,
690
+ name: `单位:${e.unit}`,
691
+ nameTextStyle: {
692
+ color: "rgba(255,255,255,0.7)",
693
+ padding: [
694
+ 0,
695
+ 0,
696
+ 0,
697
+ 8
698
+ ]
699
+ },
700
+ axisLine: { show: !1 },
701
+ axisLabel: {
702
+ color: "rgba(255,255,255,0.7)",
703
+ fontSize: 11
704
+ },
705
+ splitLine: { show: !1 },
706
+ axisTick: { show: !1 }
707
+ },
708
+ series: r
709
+ };
710
+ F.setOption(a, !0), F.resize();
711
+ }, X = (e, t) => `rgba(${parseInt(e.slice(1, 3), 16)}, ${parseInt(e.slice(3, 5), 16)}, ${parseInt(e.slice(5, 7), 16)}, ${t})`, Z = () => {
712
+ F?.resize();
713
+ }, Q = () => {
714
+ z.value = !0, $();
715
+ }, Dt = () => {
716
+ z.value = !1;
717
+ }, Ot = (e) => {
718
+ B.value = e, $();
719
+ }, $ = async () => {
720
+ if (r.mock) {
721
+ V.value = r.mockData.historyData?.[B.value] || [];
722
+ return;
723
+ }
724
+ if (!W("history")) {
725
+ console.warn("StationDialog 缺少历史数据工作流配置"), V.value = [];
726
+ return;
727
+ }
728
+ try {
729
+ let e = K(await G("history", { type: B.value }));
730
+ V.value = Array.isArray(e) ? e : [];
731
+ } catch (e) {
732
+ console.error("历史数据加载失败", e), V.value = [];
733
+ }
734
+ }, kt = () => {
735
+ let e = V.value.map((e, t) => ({
736
+ 序号: t + 1,
737
+ 日期: e.date || "",
738
+ 降水: U(e.precipitation, "mm"),
739
+ 温度: U(e.temperature, "℃"),
740
+ 湿度: U(e.humidity, "%"),
741
+ 风速: U(e.windSpeed, "m/s"),
742
+ 风向: e.windDirectionText || "--",
743
+ 气压: U(e.pressure, "hPa")
744
+ })), t = B.value === "day" ? "日统计" : "月统计";
745
+ new de.default({
746
+ fileName: `${d.value.stationName || r.stationName}_历史数据_${t}_${(/* @__PURE__ */ new Date()).getTime()}`,
747
+ datas: [{
748
+ sheetData: e,
749
+ sheetName: t,
750
+ sheetFilter: [
751
+ "序号",
752
+ "日期",
753
+ "降水",
754
+ "温度",
755
+ "湿度",
756
+ "风速",
757
+ "风向",
758
+ "气压"
759
+ ],
760
+ sheetHeader: [
761
+ "序号",
762
+ "日期",
763
+ "降水",
764
+ "温度",
765
+ "湿度",
766
+ "风速",
767
+ "风向",
768
+ "气压"
769
+ ],
770
+ columnWidths: [
771
+ 8,
772
+ 18,
773
+ 12,
774
+ 12,
775
+ 12,
776
+ 12,
777
+ 12,
778
+ 14
779
+ ]
780
+ }]
781
+ }).saveExcel();
782
+ };
783
+ y(() => r.stationCode, () => {
784
+ q();
785
+ }, { immediate: !0 }), y(A, (e) => {
786
+ e && f(() => {
787
+ !F && P.value ? Y() : F?.resize();
788
+ });
789
+ });
790
+ function At() {
791
+ A.value = !0, q();
792
+ }
793
+ return ae(() => {
794
+ window.addEventListener("resize", Z), t?.on("toComponent", (e) => {
795
+ e.componentName === "StationDialog" && At();
796
+ });
797
+ }), ie(() => {
798
+ window.removeEventListener("resize", Z), F &&= (F.dispose(), null);
799
+ }), (t, n) => {
800
+ let r = i;
801
+ return m(), te(ee, { to: "body" }, [se(c("div", fe, [c("div", {
802
+ class: "StationPop",
803
+ style: re(e.componentStyle)
804
+ }, [
805
+ c("div", {
806
+ class: "StationPop-close",
807
+ onClick: St
808
+ }, [u(r, { class: "StationPop-close-icon" }, {
809
+ default: b(() => [u(v(ce))]),
810
+ _: 1
811
+ })]),
812
+ c("div", pe, _(d.value.stationName || e.stationName), 1),
813
+ c("div", me, [j.value ? (m(), s("span", he, "数据时间:" + _(j.value), 1)) : (m(), s("span", ge, "数据时间:--")), c("button", {
814
+ class: "StationPop-historyBtn",
815
+ onClick: Q
816
+ }, [u(r, null, {
817
+ default: b(() => [u(v(ue))]),
818
+ _: 1
819
+ }), n[0] ||= l(" 历史数据 ", -1)])]),
820
+ c("div", _e, [
821
+ c("div", ve, [n[1] ||= c("span", { class: "StationPop-infoLabel" }, "站  号:", -1), c("span", ye, _(d.value.stationCode || "--"), 1)]),
822
+ c("div", be, [n[2] ||= c("span", { class: "StationPop-infoLabel" }, "位  置:", -1), c("span", xe, _(d.value.address || "--"), 1)]),
823
+ c("div", Se, [n[3] ||= c("span", { class: "StationPop-infoLabel" }, "运行状况:", -1), c("span", Ce, _(d.value.stationStatus || "--"), 1)]),
824
+ c("div", we, [n[4] ||= c("span", { class: "StationPop-infoLabel" }, "监测要素:", -1), c("span", S, _(d.value.monitorElement || "--"), 1)]),
825
+ c("div", C, [n[5] ||= c("span", { class: "StationPop-infoLabel" }, "服务类别:", -1), c("span", w, _(d.value.serviceType || "--"), 1)])
826
+ ]),
827
+ c("div", T, [c("div", E, [n[15] ||= c("div", { class: "StationPop-sectionTitle" }, [c("span", { class: "StationPop-sectionBar" }), l(" 实时监测(时) ")], -1), c("div", D, [
828
+ c("div", O, [n[6] ||= c("span", { class: "StationPop-realtimeLabel" }, "温度:", -1), c("span", k, _(U(M.value.temperature, "℃")), 1)]),
829
+ c("div", Te, [n[7] ||= c("span", { class: "StationPop-realtimeLabel" }, "湿度:", -1), c("span", Ee, _(U(M.value.humidity, "%")), 1)]),
830
+ c("div", De, [n[8] ||= c("span", { class: "StationPop-realtimeLabel" }, "风速风向:", -1), c("span", Oe, _(U(M.value.windSpeed, "m/s")), 1)]),
831
+ c("div", ke, [n[9] ||= c("span", { class: "StationPop-realtimeLabel" }, "1小时累积降水:", -1), c("span", Ae, _(U(M.value.hourPrecipitation, "mm")), 1)]),
832
+ c("div", je, [n[10] ||= c("span", { class: "StationPop-realtimeLabel" }, "气压:", -1), c("span", Me, _(U(M.value.pressure, "hPa")), 1)]),
833
+ c("div", Ne, [n[11] ||= c("span", { class: "StationPop-realtimeLabel" }, "能见度:", -1), c("span", Pe, _(U(M.value.visibility, "m")), 1)]),
834
+ c("div", Fe, [n[12] ||= c("span", { class: "StationPop-realtimeLabel" }, "蒸发:", -1), c("span", Ie, _(U(M.value.evaporation, "mm")), 1)]),
835
+ c("div", Le, [n[13] ||= c("span", { class: "StationPop-realtimeLabel" }, "光照强度:", -1), c("span", Re, _(U(M.value.lightIntensity, "lux")), 1)]),
836
+ c("div", ze, [n[14] ||= c("span", { class: "StationPop-realtimeLabel" }, "光合有效辐射:", -1), c("span", Be, _(U(M.value.par, "μmol/m²/s")), 1)])
837
+ ])]), c("div", Ve, [n[22] ||= c("div", { class: "StationPop-sectionTitle" }, [c("span", { class: "StationPop-sectionBar" }), l(" 统计信息 ")], -1), c("div", He, [
838
+ c("div", Ue, [n[16] ||= c("span", { class: "StationPop-statisticsLabel" }, "日最低温度:", -1), c("span", We, _(U(N.value.dailyMinTemp, "℃")), 1)]),
839
+ c("div", Ge, [n[17] ||= c("span", { class: "StationPop-statisticsLabel" }, "日最高温度:", -1), c("span", Ke, _(U(N.value.dailyMaxTemp, "℃")), 1)]),
840
+ c("div", qe, [n[18] ||= c("span", { class: "StationPop-statisticsLabel" }, "日累计降水:", -1), c("span", Je, _(U(N.value.dailyPrecipitation, "mm")), 1)]),
841
+ c("div", Ye, [n[19] ||= c("span", { class: "StationPop-statisticsLabel" }, "历史最低温:", -1), c("span", Xe, _(U(N.value.historyMinTemp, "")), 1)]),
842
+ c("div", Ze, [n[20] ||= c("span", { class: "StationPop-statisticsLabel" }, "历史最高温:", -1), c("span", Qe, _(U(N.value.historyMaxTemp, "")), 1)]),
843
+ c("div", $e, [n[21] ||= c("span", { class: "StationPop-statisticsLabel" }, "历史最大累积降水:", -1), c("span", et, _(U(N.value.historyMaxPrecipitation, "")), 1)])
844
+ ])])]),
845
+ c("div", tt, [(m(), s(a, null, g(L, (e) => c("div", {
846
+ key: e.value,
847
+ class: p(["StationPop-tab", { "StationPop-tab--active": I.value === e.value }]),
848
+ onClick: (t) => Et(e.value)
849
+ }, _(e.label), 11, nt)), 64))]),
850
+ c("div", {
851
+ ref_key: "chartRef",
852
+ ref: P,
853
+ class: "StationPop-chart"
854
+ }, null, 512)
855
+ ], 4), z.value ? (m(), s("div", rt, [c("div", it, [
856
+ c("div", at, [c("div", ot, [n[23] ||= c("span", null, "历史数据", -1), c("span", st, _(d.value.stationName || e.stationName), 1)]), c("button", {
857
+ class: "StationPop-historyClose",
858
+ onClick: Dt
859
+ }, "✕")]),
860
+ c("div", ct, [(m(), s(a, null, g(xt, (e) => c("button", {
861
+ key: e.value,
862
+ class: p(["StationPop-historyTab", { "StationPop-historyTab--active": B.value === e.value }]),
863
+ onClick: (t) => Ot(e.value)
864
+ }, _(e.label), 11, lt)), 64))]),
865
+ c("div", ut, [c("button", {
866
+ class: "StationPop-historyExport",
867
+ onClick: kt
868
+ }, [u(r, null, {
869
+ default: b(() => [u(v(le))]),
870
+ _: 1
871
+ }), n[24] ||= l(" 导出 ", -1)])]),
872
+ c("div", dt, [c("table", ft, [c("thead", null, [c("tr", null, [
873
+ n[25] ||= c("th", null, "序号", -1),
874
+ c("th", null, _(B.value === "day" ? "日期" : "月份"), 1),
875
+ n[26] ||= c("th", null, "降水", -1),
876
+ n[27] ||= c("th", null, "温度", -1),
877
+ n[28] ||= c("th", null, "湿度", -1),
878
+ n[29] ||= c("th", null, "风力风向", -1),
879
+ n[30] ||= c("th", null, "气压", -1)
880
+ ])]), c("tbody", null, [(m(!0), s(a, null, g(V.value, (e, t) => (m(), s("tr", { key: t }, [
881
+ c("td", pt, _(t + 1), 1),
882
+ c("td", mt, _(e.date || "--"), 1),
883
+ c("td", ht, _(U(e.precipitation, "mm")), 1),
884
+ c("td", gt, _(U(e.temperature, "℃")), 1),
885
+ c("td", _t, _(U(e.humidity, "%")), 1),
886
+ c("td", vt, _(Ct(e)), 1),
887
+ c("td", yt, _(U(e.pressure, "hPa")), 1)
888
+ ]))), 128)), V.value.length ? o("", !0) : (m(), s("tr", bt, [...n[31] ||= [c("td", {
889
+ colspan: "7",
890
+ class: "StationPop-historyEmpty"
891
+ }, "暂无历史数据", -1)]]))])])])
892
+ ])])) : o("", !0)], 512), [[oe, A.value]])]);
893
+ };
894
+ }
895
+ }), [["__scopeId", "data-v-ffd81bd2"]]);
896
+ //#endregion
897
+ export { A as t };