nxd-plugin 1.8.28 → 1.8.30

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 (41) hide show
  1. package/dist/chunks/YCServiceSummary-Dx2AlXiv.mjs +2 -0
  2. package/dist/chunks/{component-Forecast72h-cgr5tls3.mjs → component-Forecast72h-yd9t3176.mjs} +249 -196
  3. package/dist/chunks/{component-HdCameraList-NlgDGDxS.mjs → component-HdCameraList-nPxzUdmB.mjs} +1 -1
  4. package/dist/chunks/{component-HdFarmStation-CUXisRVE.mjs → component-HdFarmStation-BDN_u87-.mjs} +1 -1
  5. package/dist/chunks/{component-HdFarmStationDialog-BtPMLdBf.mjs → component-HdFarmStationDialog-CMKGe0YJ.mjs} +8 -8
  6. package/dist/chunks/{component-HdMajorActivity-nIv4HBSm.mjs → component-HdMajorActivity-CyAgx0og.mjs} +222 -225
  7. package/dist/chunks/{component-HdObservation-CJi_RXM_.mjs → component-HdObservation-CY8TNPK8.mjs} +2 -2
  8. package/dist/chunks/{component-HdPreSituation-D5rfQ4Tv.mjs → component-HdPreSituation-CLXeQ_lX.mjs} +2 -2
  9. package/dist/chunks/{component-HdRadarList-C51u7j2s.mjs → component-HdRadarList--85ldZa2.mjs} +1 -1
  10. package/dist/chunks/{component-HdRisk-C0WY-wCs.mjs → component-HdRisk-HKXfRnuQ.mjs} +1 -1
  11. package/dist/chunks/{component-HdServiceMarterial-DYQVcfuq.mjs → component-HdServiceMarterial-DJA-s67d.mjs} +1 -1
  12. package/dist/chunks/{component-HdServiceRequirements-DGn7h63L.mjs → component-HdServiceRequirements-lXtnq5r2.mjs} +1 -1
  13. package/dist/chunks/{component-HdSoil-BZ4yph45.mjs → component-HdSoil-BtIq7NXx.mjs} +1 -1
  14. package/dist/chunks/{component-HdStationTem-Cyk1fdpJ.mjs → component-HdStationTem-CRfJb0wr.mjs} +122 -99
  15. package/dist/chunks/{component-HdSuggestion-CBvCk-c5.mjs → component-HdSuggestion-2aFJRsau.mjs} +1 -1
  16. package/dist/chunks/{component-HdThreeWeatherTrend-CrxdQnj5.mjs → component-HdThreeWeatherTrend-BWeGlUnt.mjs} +2 -2
  17. package/dist/chunks/{component-HdWaveForcast-D_Y_AoL1.mjs → component-HdWaveForcast-DgcqZuG9.mjs} +1 -1
  18. package/dist/chunks/{component-HighQuality-B6JxEYfF.mjs → component-HighQuality-BNvi5OuR.mjs} +59 -54
  19. package/dist/chunks/{component-HighwayWeatherForecast-UCOCLt-l.mjs → component-HighwayWeatherForecast-BAHrZUA9.mjs} +69 -69
  20. package/dist/chunks/{component-PrecipitationRanking-cy6YEcr-.mjs → component-PrecipitationRanking-Cp8wK9V7.mjs} +265 -300
  21. package/dist/chunks/component-StationDialog-CnAIJZcL.mjs +772 -0
  22. package/dist/chunks/{component-StationList-rA77RHJb.mjs → component-StationList-DvHUcP8A.mjs} +2 -2
  23. package/dist/chunks/{component-TimeBasedForecast-CTLJVn2P.mjs → component-TimeBasedForecast-DP7ZYRQB.mjs} +34 -34
  24. package/dist/chunks/{component-WeatherForecast-BTzDg7Mi.mjs → component-WeatherForecast-BhGvmaMS.mjs} +34 -34
  25. package/dist/chunks/{component-YCDataService-oOkpc1PC.mjs → component-YCDataService-CwOGPL98.mjs} +1 -1
  26. package/dist/chunks/{component-YCHome-DcmieyM7.mjs → component-YCHome-DRIi7AIB.mjs} +1 -1
  27. package/dist/chunks/{component-YCServiceSummary-LZ-2GeV8.mjs → component-YCServiceSummary-Dab20ncm.mjs} +2 -1
  28. package/dist/components/HdStationTem/HdStationTem.vue.d.ts +3 -2
  29. package/dist/components/PrecipitationRanking/PrecipitationRanking.vue.d.ts +1 -0
  30. package/dist/nxd-plugin.mjs +26 -26
  31. package/dist/styles/component-Forecast72h.css +1 -1
  32. package/dist/styles/component-HdMajorActivity.css +1 -1
  33. package/dist/styles/component-HdStationTem.css +1 -1
  34. package/dist/styles/component-HighQuality.css +1 -1
  35. package/dist/styles/component-PrecipitationRanking.css +1 -1
  36. package/dist/styles/component-StationDialog.css +1 -1
  37. package/dist/styles/component-YCLoginNew.css +1 -1
  38. package/dist/styles/component-YCServiceSummary.css +1 -1
  39. package/package.json +1 -1
  40. package/dist/chunks/YCServiceSummary-CSklmCPP.mjs +0 -2
  41. package/dist/chunks/component-StationDialog-NQdthKaR.mjs +0 -737
@@ -1,737 +0,0 @@
1
- import { i as e } from "./rolldown-runtime-Dd0fQ6-X.mjs";
2
- import { i as t, o as n } from "./component-AiChat-COULZNRK.mjs";
3
- import { i as r, n as i } from "./component-HdFarmStationDialog-BtPMLdBf.mjs";
4
- import { ElConfigProvider as a, ElDatePicker as ee, ElIcon as te, ElLoadingDirective as ne, ElTable as re, ElTableColumn as ie } from "element-plus/es";
5
- import { Fragment as o, Teleport as ae, createBlock as oe, createCommentVNode as se, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, getCurrentInstance as f, nextTick as p, normalizeClass as m, normalizeStyle as ce, onBeforeUnmount as h, onMounted as g, openBlock as _, ref as v, renderList as y, toDisplayString as b, unref as x, vShow as le, watch as ue, withCtx as S, withDirectives as de } from "vue";
6
- import { Close as fe, Download as pe, Histogram as me } from "@element-plus/icons-vue";
7
- import * as C from "echarts";
8
- import "element-plus/es/components/date-picker/style/css";
9
- import "element-plus/es/components/table/style/css";
10
- import "element-plus/es/components/table-column/style/css";
11
- import he from "element-plus/es/locale/lang/zh-cn.mjs";
12
- //#region src/components/StationDialog/StationDialog.vue?vue&type=script&setup=true&lang.ts
13
- var ge = /* @__PURE__ */ e(i()), _e = {
14
- class: "StationDialog-mask StationDialog",
15
- "element-loading-text": "加载中...",
16
- "element-loading-background": "rgba(0, 0, 0, 0.7)"
17
- }, ve = { class: "StationPop-title" }, ye = { class: "StationPop-subtitle" }, be = {
18
- key: 0,
19
- class: "StationPop-dataTime"
20
- }, xe = {
21
- key: 1,
22
- class: "StationPop-dataTime"
23
- }, Se = { class: "StationPop-info" }, Ce = { style: {
24
- display: "grid",
25
- "grid-template-columns": "repeat(3, 1fr)"
26
- } }, we = { class: "StationPop-infoItem" }, Te = { class: "StationPop-infoValue" }, Ee = { class: "StationPop-infoItem" }, De = { class: "StationPop-infoValue" }, Oe = { class: "StationPop-infoItem" }, ke = { class: "StationPop-infoValue" }, Ae = { style: {
27
- display: "grid",
28
- "grid-template-columns": "repeat(4, 1fr)"
29
- } }, je = { class: "StationPop-infoItem StationPop-infoItem--wide" }, Me = { class: "StationPop-infoValue" }, Ne = { class: "StationPop-infoItem StationPop-infoItem--wide" }, Pe = { class: "StationPop-infoValue" }, Fe = { class: "StationPop-main" }, Ie = { class: "StationPop-section StationPop-section--realtime" }, Le = { class: "StationPop-realtime" }, Re = { class: "StationPop-realtimeItem" }, ze = { class: "StationPop-realtimeValue" }, Be = { class: "StationPop-realtimeItem" }, Ve = { class: "StationPop-realtimeValue" }, He = { class: "StationPop-realtimeItem" }, Ue = { class: "StationPop-realtimeValue" }, We = { class: "StationPop-realtimeItem" }, Ge = { class: "StationPop-realtimeValue" }, Ke = { class: "StationPop-realtimeItem" }, qe = { class: "StationPop-realtimeValue" }, Je = { class: "StationPop-realtimeItem" }, Ye = { class: "StationPop-realtimeValue" }, Xe = { class: "StationPop-realtimeItem" }, Ze = { class: "StationPop-realtimeValue" }, Qe = { class: "StationPop-realtimeItem" }, $e = { class: "StationPop-realtimeValue" }, et = { class: "StationPop-realtimeItem" }, tt = { class: "StationPop-realtimeValue" }, nt = { class: "StationPop-section StationPop-section--statistics" }, rt = { class: "StationPop-statistics" }, it = { class: "StationPop-statisticsItem" }, at = { class: "StationPop-statisticsValue" }, ot = { class: "StationPop-statisticsItem" }, st = { class: "StationPop-statisticsValue" }, ct = { class: "StationPop-statisticsItem" }, lt = { class: "StationPop-statisticsValue" }, ut = { class: "StationPop-statisticsItem" }, dt = { class: "StationPop-statisticsValue" }, ft = { class: "StationPop-statisticsItem" }, pt = { class: "StationPop-statisticsValue" }, mt = { class: "StationPop-statisticsItem" }, ht = { class: "StationPop-statisticsValue" }, gt = { class: "StationPop-section StationPop-section--chart" }, _t = { class: "StationPop-tabs" }, vt = ["onClick"], yt = {
30
- key: 0,
31
- class: "StationPop-historyMask"
32
- }, bt = { class: "StationPop-historyPopup" }, xt = { class: "StationPop-historyHeader" }, St = { class: "StationPop-historyTitle" }, Ct = { class: "StationPop-historySubTitle" }, wt = {
33
- class: "StationPop-historyTabs",
34
- style: { position: "relative" }
35
- }, Tt = ["onClick"], Et = { class: "StationPop-historyActions" }, Dt = { class: "StationPop-historyTableWrap" }, w = /* @__PURE__ */ t(/* @__PURE__ */ d({
36
- __name: "StationDialog",
37
- props: {
38
- componentStyle: { default: () => ({}) },
39
- stationCode: {},
40
- stationName: { default: "" },
41
- mock: {
42
- type: Boolean,
43
- default: !1
44
- },
45
- baseHttp: { default: "" },
46
- appKey: { default: "" },
47
- appSalt: { default: "" },
48
- ids: { default: () => ({}) },
49
- mockData: { default: () => ({}) }
50
- },
51
- setup(e) {
52
- let t = f()?.appContext.config.globalProperties.$bus, i = v(!1), d = e, w = v(null), T = v({
53
- stationName: "",
54
- stationCode: "",
55
- address: "",
56
- stationStatus: "",
57
- monitorElement: "",
58
- serviceType: ""
59
- }), E = v(!1), D = v(""), O = v({}), k = v({}), A = v(null), j = null, M = v([]), N = v("temperature"), Ot = [
60
- {
61
- label: "温度",
62
- value: "temperature"
63
- },
64
- {
65
- label: "风力风向",
66
- value: "wind"
67
- },
68
- {
69
- label: "湿度",
70
- value: "humidity"
71
- },
72
- {
73
- label: "降水",
74
- value: "precipitation"
75
- },
76
- {
77
- label: "气压",
78
- value: "pressure"
79
- }
80
- ], P = v({}), F = v(!1), I = v("day"), L = v([]), R = v([]), kt = [{
81
- label: "日统计",
82
- value: "day"
83
- }, {
84
- label: "月统计",
85
- value: "month"
86
- }], At = () => {
87
- E.value = !1, F.value = !1;
88
- }, z = (e) => e == null || e === "" || e === 9999, B = (e, t) => z(e) ? "--" : t ? `${e}${t}` : String(e), jt = (e) => {
89
- let t = z(e.windSpeed) ? "--" : `${e.windSpeed}m/s`, n = e.windDirectionText;
90
- return !n && e.windDirection !== void 0 && e.windDirection !== null && (n = r(e.windDirection)), `${t} ${n || "--"}`;
91
- }, V = (e) => {
92
- let t = d.ids[e] || d.ids.data;
93
- return t?.id ? t : null;
94
- }, H = async (e, t = {}) => {
95
- let r = V(e);
96
- if (!r) throw Error(`缺少 ${e} 对应的工作流配置`);
97
- return await n({
98
- id: r.id,
99
- baseHttp: d.baseHttp,
100
- reqType: r.reqType,
101
- variables: {
102
- stationCode: d.stationCode,
103
- stationIdC: w.value,
104
- ...t
105
- },
106
- isFormData: r.isFormData,
107
- appKey: d.appKey,
108
- appSalt: d.appSalt
109
- });
110
- }, U = (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, Mt = async () => {
111
- d.mock ? Nt() : await Pt();
112
- }, Nt = () => {
113
- let e = d.mockData;
114
- e.baseInfo && (T.value = { ...e.baseInfo }), e.realTimeInfo && (O.value = { ...e.realTimeInfo }), e.statisticsInfo && (k.value = { ...e.statisticsInfo }), e.chartData && (P.value = { ...e.chartData }), D.value = e.dataTime || "", p(q);
115
- }, Pt = async () => {
116
- try {
117
- let e = U(await H("data"));
118
- if (e && typeof e == "object") {
119
- Ft(e), p(q);
120
- return;
121
- }
122
- } catch (e) {
123
- console.warn("统一数据接口失败,尝试单独接口", e);
124
- }
125
- try {
126
- let e = U(await H("baseInfo"));
127
- e && (T.value = {
128
- ...T.value,
129
- ...e
130
- });
131
- } catch (e) {
132
- console.warn("站点基础信息接口失败", e);
133
- }
134
- try {
135
- let e = U(await H("realTime"));
136
- e && (O.value = { ...e });
137
- } catch (e) {
138
- console.warn("实时监测接口失败", e);
139
- }
140
- try {
141
- let e = U(await H("statistics"));
142
- e && (k.value = { ...e });
143
- } catch (e) {
144
- console.warn("统计信息接口失败", e);
145
- }
146
- try {
147
- if (V("chart")) {
148
- let e = U(await H("chart"));
149
- e && typeof e == "object" && (P.value = K(e));
150
- }
151
- } catch (e) {
152
- console.warn("图表数据接口失败", e);
153
- }
154
- p(q);
155
- }, Ft = (e) => {
156
- e.baseInfo && (T.value = { ...e.baseInfo }), e.realTimeInfo && (O.value = { ...e.realTimeInfo }), e.statisticsInfo && (k.value = { ...e.statisticsInfo }), e.chartData && (P.value = K(e.chartData)), e.dataTime && (D.value = e.dataTime), M.value = (Array.isArray(e.thresholdData) ? e.thresholdData : []).map((e) => ({
157
- ele_code: String(e.ele_code || ""),
158
- min: Number(e.min ?? e.thresholdMin ?? 0),
159
- max: Number(e.max ?? e.thresholdMax ?? 0)
160
- }));
161
- let t = (Array.isArray(e.stationData) ? e.stationData : [])[0] || {};
162
- t.station_name && (T.value = {
163
- stationName: t.station_name || "",
164
- stationCode: t.station_id_c || "",
165
- address: It(t.lat, t.lon),
166
- stationStatus: t.operating_status || "",
167
- monitorElement: t.monitoring_elements || "",
168
- serviceType: t.service_type || ""
169
- }), t.datetime_bj && (D.value = t.datetime_bj), (t.tem !== void 0 || t.pre_1h !== void 0) && (O.value = {
170
- temperature: W(t.tem),
171
- humidity: W(t.rhu),
172
- windSpeed: W(t.win_s_inst_max),
173
- windDirection: W(t.win_d_inst_max ?? t.win_d_avg ?? t.windDirection),
174
- hourPrecipitation: W(t.pre_1h),
175
- pressure: W(t.prs),
176
- visibility: W(t.vis),
177
- evaporation: W(t.evp_big),
178
- monitorTime: t.datetime_bj || ""
179
- });
180
- let n = (Array.isArray(e.stationDayData) ? e.stationDayData : [])[0] || {};
181
- (n.tem_max !== void 0 || n.tem_min !== void 0) && (k.value = {
182
- dailyMinTemp: W(n.tem_min),
183
- dailyMaxTemp: W(n.tem_max),
184
- dailyPrecipitation: W(n.pre_time_0808 ?? n.pre_time_2020),
185
- historyMinTemp: W(n.his_tem_min),
186
- historyMaxTemp: W(n.his_tem_max),
187
- historyMaxPrecipitation: W(n.his_pre_max)
188
- });
189
- let r = Array.isArray(e.elementData) ? e.elementData : [];
190
- r.length && (P.value = Rt(r));
191
- }, W = (e) => {
192
- if (e == null || e === "") return null;
193
- let t = Number(e);
194
- return isNaN(t) ? e : t >= 9999 ? null : t;
195
- }, It = (e, t) => !e && !t ? "" : `N${e || ""} E${t || ""}`, Lt = {
196
- temperature: "温度",
197
- wind: "风力风向",
198
- humidity: "湿度",
199
- precipitation: "降水",
200
- pressure: "气压"
201
- }, G = (e) => {
202
- let t = Lt[e];
203
- if (!t) return;
204
- let n = M.value.find((e) => e.ele_code === t);
205
- if (n) return {
206
- min: n.min,
207
- max: n.max
208
- };
209
- }, Rt = (e) => {
210
- let t = e.map((e) => {
211
- if (!e.datetime_bj) return "";
212
- let t = new Date(e.datetime_bj);
213
- return isNaN(t.getTime()) ? e.datetime_bj : `${String(t.getHours()).padStart(2, "0")}时`;
214
- }), n = (t, n, r, i = "line", a) => ({
215
- name: n,
216
- data: e.map((e) => W(e[t])).map((e) => e === null ? null : e),
217
- color: r,
218
- type: i,
219
- thresholdRange: G(a)
220
- });
221
- return {
222
- temperature: {
223
- times: t,
224
- unit: "℃",
225
- series: [n("tem", "正常值", "#00D9FF", "line", "temperature")]
226
- },
227
- wind: {
228
- times: t,
229
- unit: "级",
230
- series: [n("win_s_inst_max", "正常值", "#00D9FF", "line", "wind")]
231
- },
232
- humidity: {
233
- times: t,
234
- unit: "%",
235
- series: [n("rhu", "正常值", "#00D9FF", "line", "humidity")]
236
- },
237
- precipitation: {
238
- times: t,
239
- unit: "mm",
240
- series: [n("pre_1h", "正常值", "#00D9FF", "bar", "precipitation")]
241
- },
242
- pressure: {
243
- times: t,
244
- unit: "hPa",
245
- series: [n("prs", "正常值", "#00D9FF", "line", "pressure")]
246
- }
247
- };
248
- }, K = (e) => {
249
- let t = {};
250
- return [
251
- "temperature",
252
- "wind",
253
- "humidity",
254
- "precipitation",
255
- "pressure"
256
- ].forEach((n) => {
257
- let r = e[n];
258
- r && (t[n] = {
259
- times: Array.isArray(r.times) ? r.times : [],
260
- unit: r.unit || "",
261
- series: Array.isArray(r.series) ? r.series.map((e) => ({
262
- name: e.name || "",
263
- data: Array.isArray(e.data) ? e.data : [],
264
- directions: Array.isArray(e.directions) ? e.directions : void 0,
265
- color: e.color,
266
- type: e.type || "line",
267
- threshold: e.threshold,
268
- thresholdRange: e.thresholdRange
269
- })) : []
270
- });
271
- }), t;
272
- }, zt = (e) => {
273
- N.value = e, p(q);
274
- }, q = () => {
275
- if (!A.value) return;
276
- j ||= C.init(A.value);
277
- let e = P.value[N.value];
278
- if (!e || !e.times.length) {
279
- j.clear();
280
- return;
281
- }
282
- let t = N.value === "wind", n = e.series.some((e) => e.type === "bar"), r = e.series.map((r) => {
283
- let i = {
284
- name: r.name,
285
- type: r.type || "line",
286
- smooth: !0,
287
- symbol: t ? "triangle" : "circle",
288
- symbolSize: t ? 10 : 6,
289
- data: r.data,
290
- itemStyle: { color: r.color || "#00D9FF" },
291
- lineStyle: { width: 2 }
292
- };
293
- r.type === "bar" && (i.barWidth = 12, i.itemStyle.borderRadius = [
294
- 4,
295
- 4,
296
- 0,
297
- 0
298
- ], delete i.smooth, delete i.symbol, delete i.symbolSize), !n && !t && (i.areaStyle = { color: new C.graphic.LinearGradient(0, 0, 0, 1, [{
299
- offset: 0,
300
- color: J(r.color || "#00D9FF", .3)
301
- }, {
302
- offset: 1,
303
- color: J(r.color || "#00D9FF", .01)
304
- }]) }), t && r.directions && r.directions.length === e.times.length && (i.symbolRotate = (e, t) => (r.directions?.[t.dataIndex] ?? 0) + 180);
305
- let a = r.thresholdRange || G(N.value);
306
- if (a) {
307
- let { min: t, max: n } = a, r = [];
308
- isNaN(t) || r.push({
309
- name: "阈值min",
310
- yAxis: t,
311
- label: {
312
- formatter: e.unit ? `{c}${e.unit}` : "{c}",
313
- position: "insideEndTop"
314
- },
315
- lineStyle: {
316
- color: "#FF7D00",
317
- type: "dashed",
318
- width: 1
319
- }
320
- }), isNaN(n) || r.push({
321
- name: "阈值max",
322
- yAxis: n,
323
- label: {
324
- formatter: e.unit ? `{c}${e.unit}` : "{c}",
325
- position: "insideEndTop"
326
- },
327
- lineStyle: {
328
- color: "#F53F3F",
329
- type: "dashed",
330
- width: 1
331
- }
332
- }), r.length && (i.markLine = {
333
- silent: !0,
334
- symbol: "none",
335
- precision: 1,
336
- animation: !1,
337
- label: {
338
- show: !0,
339
- color: "#fff",
340
- fontSize: 10,
341
- padding: [2, 4],
342
- borderRadius: 2
343
- },
344
- data: r
345
- });
346
- }
347
- return i;
348
- });
349
- e.series.some((e) => e.name === "阈值") || r.push({
350
- name: "阈值",
351
- type: "line",
352
- data: [],
353
- itemStyle: { color: "#FF4D4F" },
354
- lineStyle: {
355
- type: "dashed",
356
- width: 1
357
- },
358
- symbol: "none"
359
- });
360
- let i = (() => {
361
- let t = [];
362
- if (e.series.forEach((e) => {
363
- e.data.forEach((e) => {
364
- let n = Number(e);
365
- isNaN(n) || t.push(n);
366
- }), e.threshold && e.threshold.forEach((e) => {
367
- let n = Number(e);
368
- isNaN(n) || t.push(n);
369
- });
370
- let n = e.thresholdRange || G(N.value);
371
- n && (isNaN(Number(n.min)) || t.push(Number(n.min)), isNaN(Number(n.max)) || t.push(Number(n.max)));
372
- }), !t.length) return {
373
- min: void 0,
374
- max: void 0
375
- };
376
- let n = Math.max(...t), r = Math.min(...t);
377
- return {
378
- min: Math.floor(r * 1.1),
379
- max: Math.ceil(n * 1.1)
380
- };
381
- })(), a = {
382
- tooltip: {
383
- trigger: "axis",
384
- backgroundColor: "rgba(0, 20, 40, 0.9)",
385
- borderColor: "#00D9FF",
386
- textStyle: { color: "#fff" }
387
- },
388
- legend: {
389
- data: [{
390
- name: "阈值",
391
- icon: "circle"
392
- }, {
393
- name: "正常值",
394
- icon: "circle"
395
- }],
396
- right: 8,
397
- top: 8,
398
- textStyle: { color: "#fff" },
399
- itemWidth: 12,
400
- itemHeight: 12,
401
- itemGap: 16
402
- },
403
- grid: {
404
- left: 16,
405
- right: 40,
406
- top: 56,
407
- bottom: 24,
408
- containLabel: !0
409
- },
410
- xAxis: {
411
- type: "category",
412
- boundaryGap: n,
413
- data: e.times,
414
- axisLine: { lineStyle: { color: "rgba(255,255,255,0.3)" } },
415
- axisLabel: {
416
- color: "rgba(255,255,255,0.7)",
417
- fontSize: 11,
418
- interval: 0
419
- },
420
- axisTick: { show: !1 },
421
- splitLine: { show: !1 }
422
- },
423
- yAxis: {
424
- type: "value",
425
- min: i.min,
426
- max: i.max,
427
- name: `单位:${e.unit}`,
428
- nameTextStyle: {
429
- color: "rgba(255,255,255,0.7)",
430
- padding: [
431
- 0,
432
- 0,
433
- 0,
434
- 0
435
- ],
436
- align: "left"
437
- },
438
- axisLine: { show: !1 },
439
- axisLabel: {
440
- color: "rgba(255,255,255,0.7)",
441
- fontSize: 11
442
- },
443
- splitLine: { show: !1 },
444
- axisTick: { show: !1 }
445
- },
446
- series: r
447
- };
448
- j.setOption(a, !0), j.resize();
449
- }, J = (e, t) => `rgba(${parseInt(e.slice(1, 3), 16)}, ${parseInt(e.slice(3, 5), 16)}, ${parseInt(e.slice(5, 7), 16)}, ${t})`, Y = () => {
450
- j?.resize();
451
- }, Bt = () => {
452
- F.value = !0, X(), Z();
453
- }, Vt = () => {
454
- F.value = !1, I.value = "day";
455
- }, Ht = (e) => {
456
- I.value = e, X(), Z();
457
- }, X = () => {
458
- let { startDate: e, endDate: t } = Ut(I.value);
459
- R.value = [e, t];
460
- }, Z = async () => {
461
- if (d.mock) {
462
- L.value = d.mockData.historyData?.[I.value] || [];
463
- return;
464
- }
465
- if (!V("history")) {
466
- console.warn("StationDialog 缺少历史数据工作流配置"), L.value = [];
467
- return;
468
- }
469
- let [e, t] = R.value.length === 2 ? R.value : [null, null], n = I.value === "day" ? "日统计" : "月统计";
470
- if (!e || !t) {
471
- console.warn("StationDialog 历史数据时间范围未选择"), L.value = [];
472
- return;
473
- }
474
- try {
475
- L.value = Wt(U(await H("history", {
476
- startDate: e,
477
- endDate: t,
478
- type: n,
479
- stationIdC: w.value
480
- })), I.value);
481
- } catch (e) {
482
- console.error("历史数据加载失败", e), L.value = [];
483
- }
484
- }, Ut = (e) => {
485
- let t = /* @__PURE__ */ new Date();
486
- if (e === "day") {
487
- let e = new Date(t), n = new Date(t);
488
- return n.setDate(e.getDate() - 6), {
489
- startDate: Q(n),
490
- endDate: Q(e)
491
- };
492
- }
493
- let n = new Date(t.getFullYear(), t.getMonth(), 1);
494
- return {
495
- startDate: $(new Date(t.getFullYear(), t.getMonth() - 11, 1)),
496
- endDate: $(n)
497
- };
498
- }, Q = (e) => `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`, $ = (e) => `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}`, Wt = (e, t) => Array.isArray(e) ? e.map((e) => ({
499
- datetime_bj: e.datetime_bj || e.date || e.month || "",
500
- pre_time_0808: W(e.pre_time_0808 ?? e.precipitation),
501
- pre_time_2020: W(e.pre_time_2020 ?? e.precipitation),
502
- tem_max: W(e.tem_max ?? e.temperature),
503
- tem_min: W(e.tem_min ?? e.temperature),
504
- humidity: W(e.rhu ?? e.humidity),
505
- win_s_inst_max: W(e.win_s_inst_max ?? e.windSpeed)
506
- })) : [], Gt = () => {
507
- let e = L.value.map((e, t) => ({
508
- 序号: t + 1,
509
- 日期: e.datetime_bj || "",
510
- 降水08: B(e.pre_time_0808, "mm"),
511
- 降水20: B(e.pre_time_2020, "mm"),
512
- 最高温: B(e.tem_max, "℃"),
513
- 最低温: B(e.tem_min, "℃"),
514
- 风速: B(e.win_s_inst_max, "m/s")
515
- })), t = I.value === "day" ? "日统计" : "月统计";
516
- new ge.default({
517
- fileName: `${T.value.stationName || d.stationName}_历史数据_${t}_${(/* @__PURE__ */ new Date()).getTime()}`,
518
- datas: [{
519
- sheetData: e,
520
- sheetName: t,
521
- sheetFilter: [
522
- "序号",
523
- "日期",
524
- "降水",
525
- "温度",
526
- "湿度",
527
- "风速",
528
- "风向",
529
- "气压"
530
- ],
531
- sheetHeader: [
532
- "序号",
533
- "日期",
534
- "降水",
535
- "温度",
536
- "湿度",
537
- "风速",
538
- "风向",
539
- "气压"
540
- ],
541
- columnWidths: [
542
- 8,
543
- 18,
544
- 12,
545
- 12,
546
- 12,
547
- 12,
548
- 12,
549
- 14
550
- ]
551
- }]
552
- }).saveExcel();
553
- };
554
- ue(E, (e) => {
555
- e && p(() => {
556
- !j && A.value ? q() : j?.resize();
557
- });
558
- });
559
- function Kt() {
560
- E.value = !0, i.value = !0, Mt().finally(() => {
561
- i.value = !1;
562
- });
563
- }
564
- return g(() => {
565
- window.addEventListener("resize", Y), t?.on("toComponent", (e) => {
566
- e.componentName === "StationDialog" && (w.value = e.stationIdC, Kt());
567
- });
568
- }), h(() => {
569
- window.removeEventListener("resize", Y), j &&= (j.dispose(), null);
570
- }), (t, n) => {
571
- let r = te, d = ee, f = a, p = ie, h = re, g = ne;
572
- return _(), oe(ae, { to: "body" }, [de((_(), s("div", _e, [c("div", {
573
- class: "StationPop",
574
- style: ce(e.componentStyle)
575
- }, [
576
- c("div", {
577
- class: "StationPop-close",
578
- onClick: At
579
- }, [u(r, { class: "StationPop-close-icon" }, {
580
- default: S(() => [u(x(fe))]),
581
- _: 1
582
- })]),
583
- c("div", ve, b(T.value.stationName || e.stationName), 1),
584
- c("div", ye, [D.value ? (_(), s("span", be, "数据时间:" + b(D.value), 1)) : (_(), s("span", xe, "数据时间:--"))]),
585
- c("div", Se, [c("div", Ce, [
586
- c("div", we, [n[1] ||= c("span", { class: "StationPop-infoLabel" }, "站  号:", -1), c("span", Te, b(T.value.stationCode || "--"), 1)]),
587
- c("div", Ee, [n[2] ||= c("span", { class: "StationPop-infoLabel" }, "位  置:", -1), c("span", De, b(T.value.address || "--"), 1)]),
588
- c("div", Oe, [n[3] ||= c("span", { class: "StationPop-infoLabel" }, "运行状况:", -1), c("span", ke, b(T.value.stationStatus || "--"), 1)])
589
- ]), c("div", Ae, [c("div", je, [n[4] ||= c("span", { class: "StationPop-infoLabel" }, "监测要素:", -1), c("span", Me, b(T.value.monitorElement || "--"), 1)]), c("div", Ne, [n[5] ||= c("span", { class: "StationPop-infoLabel" }, "服务类别:", -1), c("span", Pe, b(T.value.serviceType || "--"), 1)])])]),
590
- c("div", Fe, [
591
- c("div", Ie, [n[15] ||= c("div", { class: "StationPop-sectionTitle" }, [c("span", { class: "StationPop-sectionBar" }), l(" 实时监测 ")], -1), c("div", Le, [
592
- c("div", Re, [n[6] ||= c("span", { class: "StationPop-realtimeLabel" }, "温度:", -1), c("span", ze, b(B(O.value.temperature, "℃")), 1)]),
593
- c("div", Be, [n[7] ||= c("span", { class: "StationPop-realtimeLabel" }, "湿度:", -1), c("span", Ve, b(B(O.value.humidity, "%")), 1)]),
594
- c("div", He, [n[8] ||= c("span", { class: "StationPop-realtimeLabel" }, "风速风向:", -1), c("span", Ue, b(jt(O.value)), 1)]),
595
- c("div", We, [n[9] ||= c("span", { class: "StationPop-realtimeLabel" }, "1小时累积降水:", -1), c("span", Ge, b(B(O.value.hourPrecipitation, "mm")), 1)]),
596
- c("div", Ke, [n[10] ||= c("span", { class: "StationPop-realtimeLabel" }, "气压:", -1), c("span", qe, b(B(O.value.pressure, "hPa")), 1)]),
597
- c("div", Je, [n[11] ||= c("span", { class: "StationPop-realtimeLabel" }, "能见度:", -1), c("span", Ye, b(B(O.value.visibility, "m")), 1)]),
598
- c("div", Xe, [n[12] ||= c("span", { class: "StationPop-realtimeLabel" }, "蒸发:", -1), c("span", Ze, b(B(O.value.evaporation, "mm")), 1)]),
599
- c("div", Qe, [n[13] ||= c("span", { class: "StationPop-realtimeLabel" }, "光照强度:", -1), c("span", $e, b(B(O.value.lightIntensity, "lux")), 1)]),
600
- c("div", et, [n[14] ||= c("span", { class: "StationPop-realtimeLabel" }, "光合有效辐射:", -1), c("span", tt, b(B(O.value.par, "μmol/m²/s")), 1)])
601
- ])]),
602
- c("div", nt, [
603
- n[23] ||= c("div", { class: "StationPop-sectionTitle" }, [c("span", { class: "StationPop-sectionBar" }), l(" 统计信息 ")], -1),
604
- c("div", rt, [
605
- c("div", it, [n[16] ||= c("span", { class: "StationPop-statisticsLabel" }, "日最低温度:", -1), c("span", at, b(B(k.value.dailyMinTemp, "℃")), 1)]),
606
- c("div", ot, [n[17] ||= c("span", { class: "StationPop-statisticsLabel" }, "日最高温度:", -1), c("span", st, b(B(k.value.dailyMaxTemp, "℃")), 1)]),
607
- c("div", ct, [n[18] ||= c("span", { class: "StationPop-statisticsLabel" }, "日累计降水:", -1), c("span", lt, b(B(k.value.dailyPrecipitation, "mm")), 1)]),
608
- c("div", ut, [n[19] ||= c("span", { class: "StationPop-statisticsLabel" }, "历史最低温:", -1), c("span", dt, b(B(k.value.historyMinTemp, "℃")), 1)]),
609
- c("div", ft, [n[20] ||= c("span", { class: "StationPop-statisticsLabel" }, "历史最高温:", -1), c("span", pt, b(B(k.value.historyMaxTemp, "℃")), 1)]),
610
- c("div", mt, [n[21] ||= c("span", { class: "StationPop-statisticsLabel" }, "历史最大累积降水:", -1), c("span", ht, b(B(k.value.historyMaxPrecipitation, "mm")), 1)])
611
- ]),
612
- c("button", {
613
- class: "StationPop-historyBtn",
614
- onClick: Bt
615
- }, [u(r, null, {
616
- default: S(() => [u(x(me))]),
617
- _: 1
618
- }), n[22] ||= l(" 历史数据 ", -1)])
619
- ]),
620
- c("div", gt, [c("div", _t, [(_(), s(o, null, y(Ot, (e) => c("div", {
621
- key: e.value,
622
- class: m(["StationPop-tab", { "StationPop-tab--active": N.value === e.value }]),
623
- onClick: (t) => zt(e.value)
624
- }, b(e.label), 11, vt)), 64))]), c("div", {
625
- ref_key: "chartRef",
626
- ref: A,
627
- class: "StationPop-chart"
628
- }, null, 512)])
629
- ])
630
- ], 4), F.value ? (_(), s("div", yt, [c("div", bt, [
631
- c("div", xt, [c("div", St, [n[24] ||= c("span", null, "历史数据", -1), c("span", Ct, b(T.value.stationName || e.stationName), 1)]), c("button", {
632
- class: "StationPop-historyClose",
633
- onClick: Vt
634
- }, "✕")]),
635
- c("div", wt, [(_(), s(o, null, y(kt, (e) => c("button", {
636
- key: e.value,
637
- class: m(["StationPop-historyTab", { "StationPop-historyTab--active": I.value === e.value }]),
638
- onClick: (t) => Ht(e.value)
639
- }, b(e.label), 11, Tt)), 64)), c("div", Et, [u(f, { locale: x(he) }, {
640
- default: S(() => [u(d, {
641
- modelValue: R.value,
642
- "onUpdate:modelValue": n[0] ||= (e) => R.value = e,
643
- clearable: !1,
644
- class: "StationPop-historyDatePicker",
645
- "popper-class": "StationPop-historyDatePickerPopper",
646
- type: I.value === "day" ? "daterange" : "monthrange",
647
- "value-format": I.value === "day" ? "YYYY-MM-DD" : "YYYY-MM",
648
- "start-placeholder": I.value === "day" ? "开始日期" : "开始月份",
649
- "end-placeholder": I.value === "day" ? "结束日期" : "结束月份",
650
- size: "small",
651
- onChange: Z
652
- }, null, 8, [
653
- "modelValue",
654
- "type",
655
- "value-format",
656
- "start-placeholder",
657
- "end-placeholder"
658
- ])]),
659
- _: 1
660
- }, 8, ["locale"]), c("button", {
661
- class: "StationPop-historyExport",
662
- onClick: Gt
663
- }, [u(r, null, {
664
- default: S(() => [u(x(pe))]),
665
- _: 1
666
- }), n[25] ||= l(" 导出 ", -1)])])]),
667
- c("div", Dt, [u(h, {
668
- data: L.value,
669
- class: "StationPop-historyTable",
670
- style: { width: "100%" },
671
- "empty-text": "暂无数据"
672
- }, {
673
- default: S(() => [
674
- u(p, {
675
- type: "index",
676
- label: "序号",
677
- width: "60",
678
- align: "center"
679
- }),
680
- u(p, {
681
- label: I.value === "day" ? "日期" : "月份",
682
- "min-width": "160",
683
- "show-overflow-tooltip": "",
684
- align: "left"
685
- }, {
686
- default: S(({ row: e }) => [c("span", null, b(e.datetime_bj || "--"), 1)]),
687
- _: 1
688
- }, 8, ["label"]),
689
- u(p, {
690
- label: "累计降水量08",
691
- "min-width": "80",
692
- align: "right"
693
- }, {
694
- default: S(({ row: e }) => [c("span", null, b(B(e.pre_time_0808, "mm")), 1)]),
695
- _: 1
696
- }),
697
- u(p, {
698
- label: "累计降水量20",
699
- "min-width": "80",
700
- align: "right"
701
- }, {
702
- default: S(({ row: e }) => [c("span", null, b(B(e.pre_time_2020, "mm")), 1)]),
703
- _: 1
704
- }),
705
- u(p, {
706
- label: "最高温",
707
- "min-width": "80",
708
- align: "right"
709
- }, {
710
- default: S(({ row: e }) => [c("span", null, b(B(e.tem_max, "℃")), 1)]),
711
- _: 1
712
- }),
713
- u(p, {
714
- label: "最低温",
715
- "min-width": "80",
716
- align: "right"
717
- }, {
718
- default: S(({ row: e }) => [c("span", null, b(B(e.tem_min, "℃")), 1)]),
719
- _: 1
720
- }),
721
- u(p, {
722
- label: "最大风力",
723
- "min-width": "120",
724
- align: "left"
725
- }, {
726
- default: S(({ row: e }) => [c("span", null, b(B(e.win_s_inst_max, "m/s")), 1)]),
727
- _: 1
728
- })
729
- ]),
730
- _: 1
731
- }, 8, ["data"])])
732
- ])])) : se("", !0)])), [[le, E.value], [g, i.value]])]);
733
- };
734
- }
735
- }), [["__scopeId", "data-v-b1253e50"]]);
736
- //#endregion
737
- export { w as t };