nxd-plugin 1.7.83 → 1.7.85

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 (87) hide show
  1. package/dist/chunks/{component-AiChat-C1xBPkS5.mjs → component-AiChat-BXNBLM1G.mjs} +92 -93
  2. package/dist/chunks/{component-AqiMonitor-DoAVs1Jf.mjs → component-AqiMonitor-C_V1Nuf_.mjs} +1 -1
  3. package/dist/chunks/{component-ChartCumulativePre-BOIMPYxl.mjs → component-ChartCumulativePre-Bo28Bgaa.mjs} +2 -2
  4. package/dist/chunks/{component-ChartServiceMaterial-CmR3bmG_.mjs → component-ChartServiceMaterial-DELVCsKj.mjs} +2 -2
  5. package/dist/chunks/{component-Duty-gmt7ZcSc.mjs → component-Duty-dyZZ4vHt.mjs} +2 -2
  6. package/dist/chunks/{component-EarlyWarningStatistic-BWYWrz65.mjs → component-EarlyWarningStatistic-CBJfrRsV.mjs} +2 -2
  7. package/dist/chunks/component-Forecast72h-TFBSlUgI.mjs +543 -0
  8. package/dist/chunks/{component-GeologyLiveAlarm-CNpQPmGs.mjs → component-GeologyLiveAlarm-B9jBWXf0.mjs} +2 -2
  9. package/dist/chunks/component-HdForecastProducts-D4x_Y0OB.mjs +211 -0
  10. package/dist/chunks/{component-HdHeatService-ok6q8UuG.mjs → component-HdHeatService-Bf9XH3DP.mjs} +2 -2
  11. package/dist/chunks/{component-HdObservation-BmQdGJV6.mjs → component-HdObservation-rcQFHEfW.mjs} +51 -45
  12. package/dist/chunks/{component-HdPreSituation-LBpO58bE.mjs → component-HdPreSituation-CnRwuRGg.mjs} +168 -133
  13. package/dist/chunks/{component-HdRadarTime-D7hOn_ph.mjs → component-HdRadarTime-Gcn9dJky.mjs} +179 -148
  14. package/dist/chunks/{component-HdSeaCase-DYPQ7CdN.mjs → component-HdSeaCase-3-YFxSuM.mjs} +2 -2
  15. package/dist/chunks/component-HdServiceMarterial-ehquoNg2.mjs +317 -0
  16. package/dist/chunks/{component-HdServiceRequirements-DcXrcIIV.mjs → component-HdServiceRequirements-Bd4HJrpn.mjs} +38 -39
  17. package/dist/chunks/{component-HdStationTem-US6IRwbQ.mjs → component-HdStationTem-CbJkt6Ww.mjs} +100 -100
  18. package/dist/chunks/component-HdSuggestion-_JNJhwSK.mjs +161 -0
  19. package/dist/chunks/component-HdThreeWeatherTrend-HlRMLWm8.mjs +372 -0
  20. package/dist/chunks/component-HdWaveForcast-jNK-H1b1.mjs +269 -0
  21. package/dist/chunks/{component-HighQuality-B0OgPi3T.mjs → component-HighQuality-1iqLOQAF.mjs} +2 -2
  22. package/dist/chunks/{component-HighWayEarlyWarningRed-BTl2WWZ-.mjs → component-HighWayEarlyWarningRed-DlgG9rTx.mjs} +3 -3
  23. package/dist/chunks/{component-HighWayFreeze-B1aMHQWU.mjs → component-HighWayFreeze-CCp1Rxpz.mjs} +2 -2
  24. package/dist/chunks/{component-HighwayLiveAlarm-8u45ZdnN.mjs → component-HighwayLiveAlarm-D7PKi5rG.mjs} +2 -2
  25. package/dist/chunks/{component-HighwayLiveAlarmNew-DK827eVk.mjs → component-HighwayLiveAlarmNew-rH59lsj8.mjs} +3 -3
  26. package/dist/chunks/{component-HighwayStations-BzrbWP50.mjs → component-HighwayStations-DGt6Gsr9.mjs} +2 -2
  27. package/dist/chunks/component-HighwayWeatherForecast-CDLKFRNB.mjs +32194 -0
  28. package/dist/chunks/{component-IframeWeb-DuBssYPk.mjs → component-IframeWeb-vLIWvbJY.mjs} +1 -1
  29. package/dist/chunks/{component-ImageGeneration-3G3j7utC.mjs → component-ImageGeneration-BtM7MHcE.mjs} +1 -1
  30. package/dist/chunks/{component-IntroducePic-L8VH8Yq8.mjs → component-IntroducePic-D3FSEuKX.mjs} +1 -1
  31. package/dist/chunks/{component-LithiumBatteryMiningArea-DSFTVepN.mjs → component-LithiumBatteryMiningArea-B5aUe7T0.mjs} +2 -2
  32. package/dist/chunks/{component-MapPopup-BNc18syw.mjs → component-MapPopup-UmWWAPBE.mjs} +1 -1
  33. package/dist/chunks/{component-MaterialPreview-DhLUbjcT.mjs → component-MaterialPreview-1Hyl4bjM.mjs} +2 -2
  34. package/dist/chunks/{component-PieLegend-Haojhtet.mjs → component-PieLegend-C0Acehix.mjs} +1 -1
  35. package/dist/chunks/component-PrecipitationRanking-BOm_vb1L.mjs +740 -0
  36. package/dist/chunks/{component-RadarChart-BYMbkI3K.mjs → component-RadarChart-BXfMyPPi.mjs} +2 -2
  37. package/dist/chunks/{component-RadarLegend-CiGsla7a.mjs → component-RadarLegend-B2ajP_0M.mjs} +1 -1
  38. package/dist/chunks/{component-RadarShortTerm-yPc2UWpz.mjs → component-RadarShortTerm-BeGEjbHr.mjs} +4 -4
  39. package/dist/chunks/{component-RadarTime-CkqIaTJh.mjs → component-RadarTime-DGRztCiR.mjs} +2 -2
  40. package/dist/chunks/{component-RenderMarkdown-D590sXEf.mjs → component-RenderMarkdown-Dv-UVGrS.mjs} +2 -2
  41. package/dist/chunks/{component-ReservoirLiveAlarm-DTtKdDQS.mjs → component-ReservoirLiveAlarm-CRgl_ztt.mjs} +3 -3
  42. package/dist/chunks/{component-ServiceMaterial-BKbVQbKm.mjs → component-ServiceMaterial-BTWYke8W.mjs} +2 -2
  43. package/dist/chunks/{component-ServiceMaterialsBtn-CskK-Qiz.mjs → component-ServiceMaterialsBtn-C9m-epfv.mjs} +1 -1
  44. package/dist/chunks/{component-StationDialog-Bn7Fbk24.mjs → component-StationDialog-CnJuYTfB.mjs} +246 -177
  45. package/dist/chunks/{component-StationList-DRABlFdc.mjs → component-StationList-BcnqOIZY.mjs} +101 -85
  46. package/dist/chunks/{component-TimeBasedForecast-D1fJ4rGJ.mjs → component-TimeBasedForecast-C1yk1Iu-.mjs} +4 -4
  47. package/dist/chunks/{component-WarningLine-jN8sg45u.mjs → component-WarningLine-CcFfVzar.mjs} +2 -2
  48. package/dist/chunks/{component-WarningSignal-BkIKqyJB.mjs → component-WarningSignal-C0CnTLVH.mjs} +3 -3
  49. package/dist/chunks/{component-WeatherForecast-CYsbJhYt.mjs → component-WeatherForecast-BRml38Ik.mjs} +80 -76
  50. package/dist/chunks/{component-YCDataMonitor-vVlnkSzT.mjs → component-YCDataMonitor-DPMFqIFB.mjs} +108 -110
  51. package/dist/chunks/{component-YCDataService-okkY1-iU.mjs → component-YCDataService-B4PPV3Dp.mjs} +4 -4
  52. package/dist/chunks/{component-YCHome-BfpbxDIg.mjs → component-YCHome-C-_Hf_oA.mjs} +4 -4
  53. package/dist/chunks/{component-YCHomeLegend-CuT-BwNJ.mjs → component-YCHomeLegend-B-nlePS2.mjs} +1 -1
  54. package/dist/chunks/{component-YCLoginNew-KZoyW1EV.mjs → component-YCLoginNew-Bx2LoLJz.mjs} +3 -3
  55. package/dist/components/HdForecastProducts/HdForecastProducts.vue.d.ts +49 -0
  56. package/dist/components/HdPreSituation/HdPreSituation.vue.d.ts +0 -1
  57. package/dist/components/HdRadarTime/HdRadarTime.vue.d.ts +4 -2
  58. package/dist/components/HdServiceMarterial/HdServiceMarterial.vue.d.ts +54 -0
  59. package/dist/components/HdSuggestion/HdSuggestion.vue.d.ts +49 -0
  60. package/dist/components/HdThreeWeatherTrend/HdThreeWeatherTrend.vue.d.ts +71 -0
  61. package/dist/components/HdWaveForcast/HdWaveForcast.vue.d.ts +70 -0
  62. package/dist/components/PrecipitationRanking/PrecipitationRanking.vue.d.ts +5 -0
  63. package/dist/components/WeatherForecast/WeatherForecast.vue.d.ts +9 -0
  64. package/dist/index.d.ts +6 -1
  65. package/dist/nxd-plugin.mjs +56 -51
  66. package/dist/styles/component-Forecast72h.css +1 -1
  67. package/dist/styles/component-HdForecastProducts.css +1 -0
  68. package/dist/styles/component-HdObservation.css +1 -1
  69. package/dist/styles/component-HdPreSituation.css +1 -1
  70. package/dist/styles/component-HdRadarTime.css +1 -1
  71. package/dist/styles/component-HdServiceMarterial.css +1 -0
  72. package/dist/styles/component-HdServiceRequirements.css +1 -1
  73. package/dist/styles/component-HdStationTem.css +1 -1
  74. package/dist/styles/component-HdSuggestion.css +1 -0
  75. package/dist/styles/component-HdThreeWeatherTrend.css +1 -0
  76. package/dist/styles/component-HdWaveForcast.css +1 -0
  77. package/dist/styles/component-HighWayEarlyWarningRed.css +1 -1
  78. package/dist/styles/component-PrecipitationRanking.css +1 -1
  79. package/dist/styles/component-StationDialog.css +1 -1
  80. package/dist/styles/component-StationList.css +1 -1
  81. package/dist/styles/component-WeatherForecast.css +1 -1
  82. package/dist/styles/component-YCDataMonitor.css +1 -1
  83. package/dist/styles/component-YCLoginNew.css +1 -1
  84. package/package.json +1 -1
  85. package/dist/chunks/component-Forecast72h-BZ1kB2TJ.mjs +0 -427
  86. package/dist/chunks/component-HighwayWeatherForecast-DER5XGc3.mjs +0 -32251
  87. package/dist/chunks/component-PrecipitationRanking-BanKrD3J.mjs +0 -608
@@ -0,0 +1,740 @@
1
+ import { r as e } from "./rolldown-runtime-Cz5NsrRf.mjs";
2
+ import { n as t } from "./component-AqiMonitor-C_V1Nuf_.mjs";
3
+ import { i as n } from "./component-AiChat-BXNBLM1G.mjs";
4
+ import "./component-Forecast72h-TFBSlUgI.mjs";
5
+ import { n as r } from "./component-HdObservation-rcQFHEfW.mjs";
6
+ import { ElConfigProvider as i, ElDatePicker as a, ElIcon as o, ElLoadingDirective as s, ElTable as c, ElTableColumn as l } from "element-plus/es";
7
+ import { Fragment as u, computed as d, createBlock as ee, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createTextVNode as te, createVNode as h, defineComponent as g, getCurrentInstance as _, nextTick as v, normalizeClass as y, normalizeStyle as ne, onBeforeUnmount as b, onMounted as re, openBlock as x, ref as S, renderList as C, toDisplayString as w, unref as T, withCtx as E, withDirectives as ie, withModifiers as ae } from "vue";
8
+ import { Download as oe, Refresh as se } from "@element-plus/icons-vue";
9
+ import * as D from "echarts";
10
+ import { ElMessage as ce } from "element-plus";
11
+ import le from "element-plus/es/locale/lang/zh-cn.mjs";
12
+ import "element-plus/dist/index.css";
13
+ //#region src/components/PrecipitationRanking/PrecipitationRanking.vue?vue&type=script&setup=true&lang.ts
14
+ var ue = /* @__PURE__ */ e(r()), de = {
15
+ class: "PrecipitationRanking",
16
+ "element-loading-background": "rgba(0, 0, 0, 0.5)"
17
+ }, fe = { class: "PrecipitationRanking-header" }, pe = { class: "PrecipitationRanking-headerContent" }, me = {
18
+ key: 0,
19
+ class: "PrecipitationRanking-dataTime"
20
+ }, he = { class: "PrecipitationRanking-toolbar" }, ge = { class: "PrecipitationRanking-actions" }, _e = { class: "PrecipitationRanking-btnGroup" }, ve = { class: "PrecipitationRanking-timeWrap" }, ye = { class: "PrecipitationRanking-timeTags" }, be = ["onClick"], xe = {
21
+ key: 0,
22
+ class: "PrecipitationRanking-customPanel"
23
+ }, Se = { class: "PrecipitationRanking-content" }, Ce = { class: "PrecipitationRanking-tableWrap" }, we = ["onClick"], Te = {
24
+ key: 1,
25
+ class: "PrecipitationRanking-trendMask"
26
+ }, Ee = { class: "PrecipitationRanking-trendPopup" }, De = { class: "PrecipitationRanking-trendHeader" }, Oe = { class: "PrecipitationRanking-trendTitle" }, ke = { class: "PrecipitationRanking-trendSubTitle" }, O = /* @__PURE__ */ t(/* @__PURE__ */ g({
27
+ __name: "PrecipitationRanking",
28
+ props: {
29
+ mock: {
30
+ type: Boolean,
31
+ default: !0
32
+ },
33
+ baseHttp: { default: "" },
34
+ tableHeight: { default: "40vh" },
35
+ appKey: { default: "" },
36
+ appSalt: { default: "" },
37
+ ids: { default: () => ({}) },
38
+ refreshInterval: { default: 300 * 1e3 },
39
+ mockData: { default: () => ({
40
+ dataTime: "2026-04-12 16时",
41
+ list: [
42
+ {
43
+ stationName: "黄岛",
44
+ district: "黄岛区",
45
+ precipitation: 156.5,
46
+ precipitation_30min: 12.5,
47
+ precipitation_1hour: 28.3,
48
+ precipitation_3hour: 68.5,
49
+ precipitation_6hour: 110.2,
50
+ precipitation_12hour: 156.5
51
+ },
52
+ {
53
+ stationName: "董家口",
54
+ district: "黄岛区",
55
+ precipitation: 128.3,
56
+ precipitation_30min: 10.2,
57
+ precipitation_1hour: 22.1,
58
+ precipitation_3hour: 55.4,
59
+ precipitation_6hour: 88.6,
60
+ precipitation_12hour: 128.3
61
+ },
62
+ {
63
+ stationName: "金沙滩",
64
+ district: "黄岛区",
65
+ precipitation: 95.7,
66
+ precipitation_30min: 8.5,
67
+ precipitation_1hour: 18.6,
68
+ precipitation_3hour: 42.3,
69
+ precipitation_6hour: 68.9,
70
+ precipitation_12hour: 95.7
71
+ },
72
+ {
73
+ stationName: "琅琊",
74
+ district: "黄岛区",
75
+ precipitation: 68.2,
76
+ precipitation_30min: 6.1,
77
+ precipitation_1hour: 13.2,
78
+ precipitation_3hour: 32.5,
79
+ precipitation_6hour: 50.8,
80
+ precipitation_12hour: 68.2
81
+ },
82
+ {
83
+ stationName: "大场",
84
+ district: "黄岛区",
85
+ precipitation: 45.6,
86
+ precipitation_30min: 4.3,
87
+ precipitation_1hour: 9.5,
88
+ precipitation_3hour: 22.1,
89
+ precipitation_6hour: 34.6,
90
+ precipitation_12hour: 45.6
91
+ },
92
+ {
93
+ stationName: "大村",
94
+ district: "黄岛区",
95
+ precipitation: 32.1,
96
+ precipitation_30min: 3.2,
97
+ precipitation_1hour: 7.1,
98
+ precipitation_3hour: 16.8,
99
+ precipitation_6hour: 25.4,
100
+ precipitation_12hour: 32.1
101
+ },
102
+ {
103
+ stationName: "大涧山",
104
+ district: "黄岛区",
105
+ precipitation: 18.4,
106
+ precipitation_30min: 1.8,
107
+ precipitation_1hour: 4.2,
108
+ precipitation_3hour: 9.6,
109
+ precipitation_6hour: 14.5,
110
+ precipitation_12hour: 18.4
111
+ },
112
+ {
113
+ stationName: "王台",
114
+ district: "黄岛区",
115
+ precipitation: 8.2,
116
+ precipitation_30min: .8,
117
+ precipitation_1hour: 2.1,
118
+ precipitation_3hour: 4.6,
119
+ precipitation_6hour: 6.8,
120
+ precipitation_12hour: 8.2
121
+ },
122
+ {
123
+ stationName: "诸城",
124
+ district: "诸城市",
125
+ precipitation: 2.5,
126
+ precipitation_30min: .2,
127
+ precipitation_1hour: .6,
128
+ precipitation_3hour: 1.2,
129
+ precipitation_6hour: 1.8,
130
+ precipitation_12hour: 2.5
131
+ },
132
+ {
133
+ stationName: "五莲",
134
+ district: "五莲县",
135
+ precipitation: 0,
136
+ precipitation_30min: 0,
137
+ precipitation_1hour: 0,
138
+ precipitation_3hour: 0,
139
+ precipitation_6hour: 0,
140
+ precipitation_12hour: 0
141
+ }
142
+ ]
143
+ }) }
144
+ },
145
+ emits: [
146
+ "close",
147
+ "rowClick",
148
+ "view"
149
+ ],
150
+ setup(e, { emit: t }) {
151
+ let r = _()?.appContext.config.globalProperties.$bus, g = e, O = t, k = S(!1), A = S(!1), j = S(["30min"]), M = S(!1), N = S(""), P = S([]), F = S([]), I = S(!1), L = S(null), R = S(null), z = null, B = null, V = [
152
+ {
153
+ label: "30分钟",
154
+ value: "30min",
155
+ field: "precipitation_30min"
156
+ },
157
+ {
158
+ label: "1小时",
159
+ value: "1hour",
160
+ field: "precipitation_1hour"
161
+ },
162
+ {
163
+ label: "3小时",
164
+ value: "3hour",
165
+ field: "precipitation_3hour"
166
+ },
167
+ {
168
+ label: "6小时",
169
+ value: "6hour",
170
+ field: "precipitation_6hour"
171
+ },
172
+ {
173
+ label: "12小时",
174
+ value: "12hour",
175
+ field: "precipitation_12hour"
176
+ }
177
+ ], Ae = {
178
+ "30min": "precipitation_30min",
179
+ "1hour": "precipitation_1hour",
180
+ "3hour": "precipitation_3hour",
181
+ "6hour": "precipitation_6hour",
182
+ "12hour": "precipitation_12hour"
183
+ }, H = (e, t) => {
184
+ if (t === "custom") return e.precipitation;
185
+ let n = Ae[t];
186
+ return n ? e[n] : e.precipitation;
187
+ }, U = d(() => {
188
+ let e = V.filter((e) => j.value.includes(e.value));
189
+ return M.value && e.push({
190
+ label: "自定义",
191
+ value: "custom",
192
+ field: "precipitation"
193
+ }), e;
194
+ }), W = d(() => j.value.length ? j.value[0] : M.value ? "custom" : "30min"), G = d(() => [...P.value].sort((e, t) => {
195
+ let n = Number(H(e, W.value)) || 0;
196
+ return (Number(H(t, W.value)) || 0) - n;
197
+ })), K = (e) => e == null || e === "" || e === 9999, q = (e, t) => K(e) ? "--" : t ? `${e}${t}` : String(e), J = (e) => {
198
+ let t = Number(e);
199
+ return K(e) || isNaN(t) || t === 0 ? "无降水" : t < 10 ? "小雨" : t < 25 ? "中雨" : t < 50 ? "大雨" : t < 100 ? "暴雨" : t < 250 ? "大暴雨" : "特大暴雨";
200
+ }, je = (e) => {
201
+ let t = Number(e);
202
+ return K(e) || isNaN(t) || t === 0 ? "rgba(255,255,255,0.6)" : t < 10 ? "#91cc75" : t < 25 ? "#fac858" : t < 50 ? "#ff9f43" : t < 100 ? "#ff6b6b" : t < 250 ? "#ff4d4f" : "#c0392b";
203
+ }, Me = () => {
204
+ O("close", "PrecipitationRanking");
205
+ }, Ne = (e) => {
206
+ O("rowClick", e);
207
+ }, Pe = (e) => {
208
+ L.value = e, I.value = !0, v(() => {
209
+ ze();
210
+ });
211
+ }, Fe = () => {
212
+ I.value = !1, z &&= (z.dispose(), null);
213
+ }, Ie = () => ({
214
+ times: [
215
+ "02时",
216
+ "03时",
217
+ "04时",
218
+ "05时",
219
+ "06时",
220
+ "08时",
221
+ "09时",
222
+ "10时",
223
+ "11时",
224
+ "12时",
225
+ "14时",
226
+ "15时"
227
+ ],
228
+ unit: "mm",
229
+ actual: [
230
+ 0,
231
+ 0,
232
+ 0,
233
+ 0,
234
+ 0,
235
+ .1,
236
+ 0,
237
+ 0,
238
+ 0,
239
+ 0,
240
+ 0,
241
+ 0
242
+ ],
243
+ forecast: [
244
+ 0,
245
+ 0,
246
+ 0,
247
+ 0,
248
+ 0,
249
+ 0,
250
+ 0,
251
+ .2,
252
+ .5,
253
+ 1.2,
254
+ 2,
255
+ 3.5
256
+ ],
257
+ threshold: [
258
+ 30,
259
+ 30,
260
+ 30,
261
+ 30,
262
+ 30,
263
+ 30,
264
+ 30,
265
+ 30,
266
+ 30,
267
+ 30,
268
+ 30,
269
+ 30
270
+ ]
271
+ }), Le = async () => {
272
+ if (!L.value) return null;
273
+ if (g.mock) return L.value.trendData || Ie();
274
+ let e = Y("trend");
275
+ if (!e) return console.warn("PrecipitationRanking 缺少趋势图工作流配置"), null;
276
+ try {
277
+ return X(await n({
278
+ id: e.id,
279
+ baseHttp: g.baseHttp,
280
+ reqType: e.reqType,
281
+ variables: {
282
+ stationCode: L.value.stationCode,
283
+ stationName: L.value.stationName
284
+ },
285
+ isFormData: e.isFormData,
286
+ appKey: g.appKey,
287
+ appSalt: g.appSalt
288
+ })) || null;
289
+ } catch (e) {
290
+ return console.error("PrecipitationRanking 趋势图数据加载失败", e), null;
291
+ }
292
+ }, Re = (e) => {
293
+ let t = [];
294
+ if (e.actual.forEach((e) => !isNaN(Number(e)) && t.push(Number(e))), e.forecast.forEach((e) => !isNaN(Number(e)) && t.push(Number(e))), e.threshold.forEach((e) => !isNaN(Number(e)) && t.push(Number(e))), !t.length) return;
295
+ let n = Math.max(...t);
296
+ return n <= 0 ? 10 : Math.ceil(n * 1.1);
297
+ }, ze = async () => {
298
+ if (!R.value) return;
299
+ let e = await Le();
300
+ if (!e) return;
301
+ z && z.dispose(), z = D.init(R.value);
302
+ let t = e.actual.length, n = "#FADB14", r = (e) => {
303
+ let t = e.replace(/(\d+)时$/, "$1:00:00").replace(/(\d+)时(\d+)分$/, "$1:$2:00"), n = new Date(t);
304
+ return isNaN(n.getTime()) ? null : n;
305
+ }, i = (() => {
306
+ if (!e.times.length || !e.forecast.length) return [];
307
+ let t = r(e.times[e.times.length - 1]), n = 36e5;
308
+ if (e.times.length > 1) {
309
+ let i = r(e.times[e.times.length - 2]);
310
+ t && i && (n = t.getTime() - i.getTime());
311
+ }
312
+ let i = [];
313
+ for (let r = 0; r < e.forecast.length; r++) if (t) {
314
+ let e = new Date(t.getTime() + n * (r + 1));
315
+ i.push(`${String(e.getHours()).padStart(2, "0")}时`);
316
+ } else {
317
+ let t = e.times[e.times.length - 1].match(/(\d+)/), n = t ? parseInt(t[1]) : 0;
318
+ n = (n + r + 1) % 24, i.push(`${String(n).padStart(2, "0")}时`);
319
+ }
320
+ return i;
321
+ })(), a = [...e.times, ...i], o = [...e.actual, ...e.forecast.map(() => null)], s = [...e.actual.map(() => null), ...e.forecast], c = [...e.actual, ...e.forecast.map(() => null)], l = Array(a.length).fill(null);
322
+ l[t - 1] = e.actual[t - 1];
323
+ for (let n = 0; n < e.forecast.length; n++) l[t + n] = e.forecast[n];
324
+ let u = {
325
+ backgroundColor: "transparent",
326
+ grid: {
327
+ top: 40,
328
+ right: 24,
329
+ bottom: 32,
330
+ left: 48
331
+ },
332
+ legend: {
333
+ data: [
334
+ "阈值",
335
+ "降水实况",
336
+ "预测值"
337
+ ],
338
+ right: 0,
339
+ top: 0,
340
+ textStyle: {
341
+ color: "rgba(255,255,255,0.8)",
342
+ fontSize: 12
343
+ },
344
+ itemWidth: 12,
345
+ itemHeight: 8
346
+ },
347
+ tooltip: {
348
+ trigger: "axis",
349
+ backgroundColor: "rgba(6, 32, 56, 0.95)",
350
+ borderColor: "rgba(64, 158, 255, 0.4)",
351
+ textStyle: { color: "#fff" },
352
+ formatter: (n) => {
353
+ let r = n[0]?.axisValue || "", i = /* @__PURE__ */ new Map();
354
+ return n.forEach((e) => {
355
+ if (e.seriesName === "预测值" && e.dataIndex === t - 1 || e.value === null || e.value === void 0 || isNaN(Number(e.value))) return;
356
+ let n = `${e.seriesName}:${e.value}`;
357
+ i.has(n) || i.set(n, e);
358
+ }), `${r}<br/>${Array.from(i.values()).map((t) => `${t.marker} ${t.seriesName}: ${t.value}${e.unit}`).join("<br/>")}`;
359
+ }
360
+ },
361
+ xAxis: {
362
+ type: "category",
363
+ data: a,
364
+ axisLine: { lineStyle: { color: "rgba(255,255,255,0.3)" } },
365
+ axisLabel: {
366
+ color: "rgba(255,255,255,0.7)",
367
+ fontSize: 11
368
+ },
369
+ axisTick: { show: !1 }
370
+ },
371
+ yAxis: {
372
+ type: "value",
373
+ max: Re(e),
374
+ name: `单位:${e.unit}`,
375
+ nameTextStyle: {
376
+ color: "rgba(255,255,255,0.7)",
377
+ padding: [
378
+ 0,
379
+ 0,
380
+ 0,
381
+ 8
382
+ ]
383
+ },
384
+ axisLine: { show: !1 },
385
+ axisLabel: {
386
+ color: "rgba(255,255,255,0.7)",
387
+ fontSize: 11
388
+ },
389
+ splitLine: { show: !1 },
390
+ axisTick: { show: !1 }
391
+ },
392
+ series: [
393
+ {
394
+ name: "阈值",
395
+ type: "line",
396
+ data: a.map((t, n) => e.threshold[n] ?? e.threshold[e.threshold.length - 1] ?? 0),
397
+ itemStyle: { color: "#FF4D4F" },
398
+ lineStyle: {
399
+ type: "dashed",
400
+ width: 1
401
+ },
402
+ symbol: "none",
403
+ markLine: {
404
+ silent: !0,
405
+ symbol: "none",
406
+ lineStyle: {
407
+ color: "#FF4D4F",
408
+ type: "dashed",
409
+ width: 1
410
+ },
411
+ label: { show: !1 },
412
+ data: a.map((t, n) => ({
413
+ xAxis: t,
414
+ yAxis: e.threshold[n] ?? e.threshold[e.threshold.length - 1] ?? 0
415
+ }))
416
+ }
417
+ },
418
+ {
419
+ name: "降水实况",
420
+ type: "bar",
421
+ data: o,
422
+ barWidth: "40%",
423
+ itemStyle: {
424
+ color: new D.graphic.LinearGradient(0, 0, 0, 1, [{
425
+ offset: 0,
426
+ color: "rgba(5, 221, 250, 0.85)"
427
+ }, {
428
+ offset: 1,
429
+ color: "rgba(5, 221, 250, 0.15)"
430
+ }]),
431
+ borderRadius: [
432
+ 4,
433
+ 4,
434
+ 0,
435
+ 0
436
+ ]
437
+ }
438
+ },
439
+ {
440
+ name: "预测值",
441
+ type: "bar",
442
+ data: s,
443
+ barWidth: "40%",
444
+ itemStyle: {
445
+ color: new D.graphic.LinearGradient(0, 0, 0, 1, [{
446
+ offset: 0,
447
+ color: "rgba(250, 219, 20, 0.85)"
448
+ }, {
449
+ offset: 1,
450
+ color: "rgba(250, 219, 20, 0.15)"
451
+ }]),
452
+ borderRadius: [
453
+ 4,
454
+ 4,
455
+ 0,
456
+ 0
457
+ ]
458
+ }
459
+ },
460
+ {
461
+ name: "降水实况",
462
+ type: "line",
463
+ data: c,
464
+ smooth: !0,
465
+ itemStyle: { color: "#05ddfa" },
466
+ lineStyle: { width: 2 },
467
+ symbol: "circle",
468
+ symbolSize: 5,
469
+ areaStyle: { color: new D.graphic.LinearGradient(0, 0, 0, 1, [{
470
+ offset: 0,
471
+ color: "rgba(5, 221, 250, 0.3)"
472
+ }, {
473
+ offset: 1,
474
+ color: "rgba(5, 221, 250, 0.02)"
475
+ }]) }
476
+ },
477
+ {
478
+ name: "预测值",
479
+ type: "line",
480
+ data: l,
481
+ smooth: !0,
482
+ itemStyle: { color: n },
483
+ lineStyle: {
484
+ type: "dashed",
485
+ width: 2,
486
+ color: n
487
+ },
488
+ symbol: "circle",
489
+ symbolSize: 5
490
+ }
491
+ ]
492
+ };
493
+ z.setOption(u);
494
+ }, Be = ({ rowIndex: e }) => {
495
+ if (e > 2) return "";
496
+ let t = G.value[e];
497
+ return !t || !Number(t.precipitation) ? "" : e === 0 ? "PrecipitationRanking-row--top1" : e === 1 ? "PrecipitationRanking-row--top2" : e === 2 ? "PrecipitationRanking-row--top3" : "";
498
+ }, Ve = () => {
499
+ j.value = ["30min"], M.value = !1, F.value = [];
500
+ }, He = (e) => {
501
+ let t = j.value.indexOf(e);
502
+ if (t > -1) (j.value.length > 1 || M.value) && j.value.splice(t, 1);
503
+ else {
504
+ if (j.value.length >= 3) {
505
+ ce.warning("最多同时选择3个时段");
506
+ return;
507
+ }
508
+ j.value.push(e);
509
+ }
510
+ Q();
511
+ }, Ue = () => {
512
+ M.value = !M.value, M.value || (F.value = [], j.value.length || (j.value = ["30min"])), Q();
513
+ }, We = () => {
514
+ F.value?.length === 2 && Q();
515
+ }, Y = (e) => {
516
+ let t = g.ids[e] || g.ids.data;
517
+ return t?.id ? t : null;
518
+ }, X = (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, Ge = {
519
+ "30min": 30,
520
+ "1hour": 60,
521
+ "3hour": 180,
522
+ "6hour": 360,
523
+ "12hour": 720
524
+ }, Ke = () => {
525
+ if (M.value) return {
526
+ startTime: F.value[0] || "",
527
+ endTime: F.value[1] || "",
528
+ types: [...j.value]
529
+ };
530
+ let e = /* @__PURE__ */ new Date(), t = new Date(e), n = Math.max(...j.value.map((e) => Ge[e] || 30));
531
+ return t.setMinutes(e.getMinutes() - n), {
532
+ startTime: Z(t),
533
+ endTime: Z(e),
534
+ types: [...j.value]
535
+ };
536
+ }, Z = (e) => {
537
+ let t = (e) => String(e).padStart(2, "0");
538
+ return `${e.getFullYear()}-${t(e.getMonth() + 1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())}`;
539
+ }, qe = () => {
540
+ let e = g.mockData;
541
+ P.value = e.list || [], N.value = e.dataTime || "";
542
+ }, Je = async () => {
543
+ let e = Y("data");
544
+ if (!e) {
545
+ console.warn("PrecipitationRanking 缺少工作流配置");
546
+ return;
547
+ }
548
+ try {
549
+ let { startTime: t, endTime: r, types: i } = Ke(), a = X(await n({
550
+ id: e.id,
551
+ baseHttp: g.baseHttp,
552
+ reqType: e.reqType,
553
+ variables: {
554
+ startTime: t,
555
+ endTime: r,
556
+ types: i
557
+ },
558
+ isFormData: e.isFormData,
559
+ appKey: g.appKey,
560
+ appSalt: g.appSalt
561
+ }));
562
+ a && (P.value = Array.isArray(a.list) ? a.list : [], N.value = a.dataTime || "");
563
+ } catch (e) {
564
+ console.error("PrecipitationRanking 数据加载失败", e);
565
+ }
566
+ }, Q = async () => {
567
+ k.value = !0, g.mock ? qe() : await Je(), k.value = !1;
568
+ }, Ye = async () => {
569
+ A.value = !0, Ve(), await Q(), setTimeout(() => {
570
+ A.value = !1;
571
+ }, 500);
572
+ }, Xe = () => {
573
+ let e = U.value.map((e) => e.label + "降水量(mm)"), t = G.value.map((e, t) => {
574
+ let n = {
575
+ 序号: t + 1,
576
+ 站名: e.stationName,
577
+ 行政区: e.district || "--"
578
+ };
579
+ return U.value.forEach((t) => {
580
+ n[t.label + "降水量(mm)"] = q(H(e, t.value), "");
581
+ }), n.降水等级 = J(H(e, W.value)), n.数据时间 = e.monitorTime || N.value || "", n;
582
+ }), n = [
583
+ "序号",
584
+ "站名",
585
+ "行政区",
586
+ ...e,
587
+ "降水等级",
588
+ "数据时间"
589
+ ], r = [
590
+ 8,
591
+ 18,
592
+ 16,
593
+ ...U.value.map(() => 18),
594
+ 14,
595
+ 20
596
+ ];
597
+ new ue.default({
598
+ fileName: `自动站降水排名_${(/* @__PURE__ */ new Date()).getTime()}`,
599
+ datas: [{
600
+ sheetData: t,
601
+ sheetName: "降水排名",
602
+ sheetFilter: n,
603
+ sheetHeader: n,
604
+ columnWidths: r
605
+ }]
606
+ }).saveExcel();
607
+ }, Ze = () => {
608
+ $(), !(g.refreshInterval <= 0) && (B = setInterval(() => {
609
+ Q();
610
+ }, g.refreshInterval));
611
+ }, $ = () => {
612
+ B &&= (clearInterval(B), null);
613
+ };
614
+ return re(() => {
615
+ r?.on("toComponent", (e) => {
616
+ e.componentName === "PrecipitationRanking" && Q();
617
+ }), Q(), Ze();
618
+ }), b(() => {
619
+ $(), z &&= (z.dispose(), null);
620
+ }), (t, n) => {
621
+ let r = o, d = a, g = i, _ = l, v = c, b = s;
622
+ return ie((x(), p("div", de, [
623
+ m("button", {
624
+ class: "PrecipitationRanking-close",
625
+ onClick: Me
626
+ }, [...n[1] ||= [m("span", null, "✕", -1)]]),
627
+ m("div", fe, [m("div", pe, [n[2] ||= m("h3", { class: "PrecipitationRanking-title" }, "自动站降水排名", -1), N.value ? (x(), p("span", me, "(数据时间:" + w(N.value) + ")", 1)) : f("", !0)]), n[3] ||= m("img", {
628
+ style: {
629
+ width: "100%",
630
+ "object-fit": "contain",
631
+ "margin-top": "4px"
632
+ },
633
+ 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",
634
+ alt: ""
635
+ }, null, -1)]),
636
+ m("div", he, [m("div", ge, [n[6] ||= m("span", { class: "PrecipitationRanking-toolbarLabel" }, "时间选择", -1), m("div", _e, [m("button", {
637
+ class: "PrecipitationRanking-btn",
638
+ onClick: Xe
639
+ }, [h(r, { class: "PrecipitationRanking-icon" }, {
640
+ default: E(() => [h(T(oe))]),
641
+ _: 1
642
+ }), n[4] ||= m("span", null, "导出", -1)]), m("button", {
643
+ class: "PrecipitationRanking-btn",
644
+ onClick: Ye
645
+ }, [h(r, { class: "PrecipitationRanking-icon" }, {
646
+ default: E(() => [h(T(se))]),
647
+ _: 1
648
+ }), n[5] ||= m("span", null, "刷新", -1)])])]), m("div", ve, [m("div", ye, [(x(), p(u, null, C(V, (e) => m("button", {
649
+ key: e.value,
650
+ class: y(["PrecipitationRanking-timeTag", { "PrecipitationRanking-timeTag--active": j.value.includes(e.value) }]),
651
+ onClick: (t) => He(e.value)
652
+ }, w(e.label), 11, be)), 64)), m("button", {
653
+ class: y(["PrecipitationRanking-timeTag", { "PrecipitationRanking-timeTag--active": M.value }]),
654
+ onClick: Ue
655
+ }, " 自定义 ", 2)])])]),
656
+ M.value ? (x(), p("div", xe, [n[7] ||= m("span", { class: "PrecipitationRanking-customLabel" }, "时间范围", -1), h(g, { locale: T(le) }, {
657
+ default: E(() => [h(d, {
658
+ modelValue: F.value,
659
+ "onUpdate:modelValue": n[0] ||= (e) => F.value = e,
660
+ type: "datetimerange",
661
+ "range-separator": "至",
662
+ "start-placeholder": "开始时间",
663
+ "end-placeholder": "结束时间",
664
+ "value-format": "YYYY-MM-DD HH",
665
+ format: "YYYY-MM-DD HH",
666
+ clearable: "",
667
+ class: "PrecipitationRanking-datePicker",
668
+ "popper-class": "PrecipitationRanking-datePopper",
669
+ onChange: We
670
+ }, null, 8, ["modelValue"])]),
671
+ _: 1
672
+ }, 8, ["locale"])])) : f("", !0),
673
+ m("div", Se, [m("div", Ce, [h(v, {
674
+ data: G.value,
675
+ class: "PrecipitationRanking-table",
676
+ height: e.tableHeight,
677
+ "empty-text": "暂无数据",
678
+ "row-class-name": Be,
679
+ onRowClick: Ne
680
+ }, {
681
+ default: E(() => [
682
+ h(_, {
683
+ label: "序号",
684
+ align: "center",
685
+ width: "70"
686
+ }, {
687
+ default: E(({ $index: e }) => [m("span", { class: y(["PrecipitationRanking-rank", `PrecipitationRanking-rank--${e + 1}`]) }, w(e + 1), 3)]),
688
+ _: 1
689
+ }),
690
+ h(_, {
691
+ prop: "stationName",
692
+ label: "站名",
693
+ align: "left",
694
+ "min-width": "80"
695
+ }),
696
+ (x(!0), p(u, null, C(U.value, (e) => (x(), ee(_, {
697
+ key: e.value,
698
+ label: e.label + "(mm)",
699
+ align: "center",
700
+ "min-width": "120"
701
+ }, {
702
+ default: E(({ row: t }) => [te(w(q(H(t, e.value), "")), 1)]),
703
+ _: 2
704
+ }, 1032, ["label"]))), 128)),
705
+ h(_, {
706
+ label: "降水等级",
707
+ align: "center",
708
+ "min-width": "100"
709
+ }, {
710
+ default: E(({ row: e }) => [m("span", { style: ne({ color: je(H(e, W.value)) }) }, w(J(H(e, W.value))), 5)]),
711
+ _: 1
712
+ }),
713
+ h(_, {
714
+ label: "趋势",
715
+ align: "center",
716
+ width: "70"
717
+ }, {
718
+ default: E(({ row: e }) => [m("span", {
719
+ class: "PrecipitationRanking-viewLink",
720
+ onClick: ae((t) => Pe(e), ["stop"])
721
+ }, "查看", 8, we)]),
722
+ _: 1
723
+ })
724
+ ]),
725
+ _: 1
726
+ }, 8, ["data", "height"])])]),
727
+ I.value ? (x(), p("div", Te, [m("div", Ee, [m("div", De, [m("div", Oe, [n[8] ||= m("span", null, "趋势图表", -1), m("span", ke, w(L.value?.stationName), 1)]), m("button", {
728
+ class: "PrecipitationRanking-trendClose",
729
+ onClick: Fe
730
+ }, "✕")]), m("div", {
731
+ ref_key: "trendChartRef",
732
+ ref: R,
733
+ class: "PrecipitationRanking-trendChart"
734
+ }, null, 512)])])) : f("", !0)
735
+ ])), [[b, k.value]]);
736
+ };
737
+ }
738
+ }), [["__scopeId", "data-v-d0df459c"]]);
739
+ //#endregion
740
+ export { O as t };