nxd-plugin 1.7.88 → 1.7.89

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nxd-plugin",
3
- "version": "1.7.88",
3
+ "version": "1.7.89",
4
4
  "main": "dist/nxd-plugin.mjs",
5
5
  "module": "dist/nxd-plugin.mjs",
6
6
  "types": "dist/src/index.d.ts",
@@ -1,361 +0,0 @@
1
- import { n as e } from "./component-AqiMonitor-DOK4C-xg.mjs";
2
- import { i as t } from "./component-AiChat-BnEFgV35.mjs";
3
- import { n } from "./component-HighWayEarlyWarningRed-Ca0D-oU5.mjs";
4
- import { t as r } from "./component-RadarLegend-CEEsrXvu.mjs";
5
- import { ElCheckbox as i, ElIcon as a, ElLoadingDirective as o } from "element-plus/es";
6
- import { Fragment as s, computed as c, createBlock as l, createElementBlock as u, createElementVNode as d, createTextVNode as ee, createVNode as f, defineComponent as p, nextTick as m, normalizeStyle as h, onBeforeUnmount as te, onMounted as ne, openBlock as g, ref as _, renderList as v, toDisplayString as y, unref as b, vShow as x, watch as S, withCtx as C, withDirectives as w } from "vue";
7
- import { VideoPause as re, VideoPlay as ie } from "@element-plus/icons-vue";
8
- import * as ae from "echarts";
9
- import "element-plus/es/components/loading/style/css";
10
- import "element-plus/es/components/checkbox/style/css";
11
- import "element-plus/es/components/slider/style/css";
12
- //#region src/components/RadarShortTerm/RadarShortTerm.vue?vue&type=script&setup=true&lang.ts
13
- var oe = {
14
- class: "RadarShortTerm",
15
- "element-loading-background": "rgba(0, 0, 0, 0.4)"
16
- }, se = { class: "RadarShortTerm-setting-panel" }, ce = { class: "display-setting" }, le = { class: "setting-row setting-row-pile" }, ue = { class: "setting-pile-options" }, de = { class: "RadarShortTerm-timeline" }, fe = ["title"], pe = { class: "timeline-slider-wrap" }, me = { class: "timeline-time-label" }, he = { class: "radarAxis-li" }, ge = ["onClick"], T = { class: "radarAxis-li-node-text" }, E = /* @__PURE__ */ e(/* @__PURE__ */ p({
17
- __name: "RadarShortTerm",
18
- props: {
19
- appKey: {
20
- type: String,
21
- default: ""
22
- },
23
- appSalt: {
24
- type: String,
25
- default: ""
26
- },
27
- baseHttp: {
28
- type: String,
29
- default: ""
30
- },
31
- ids: {
32
- type: Object,
33
- default: () => ({})
34
- },
35
- type: {
36
- type: String,
37
- default: "高速"
38
- }
39
- },
40
- emits: [
41
- "close",
42
- "addDataTitle",
43
- "removeDataTitle",
44
- "showRadarLegend",
45
- "toMapView",
46
- "addImageAniArr",
47
- "clearImgAniArr",
48
- "setImgAniShowByIndex",
49
- "changeLoading"
50
- ],
51
- setup(e, { emit: p }) {
52
- let E = e, D = p, O = _(!0), k = _(!1), A = _(0), j = _(null), M = _([]), _e = _({}), ve = _({}), N = _({}), P = _(""), F = _(null), I = _(!0), L = _(null), R = _(null), z = _(!0), B = _(null), V = _({
53
- httpurl: "",
54
- lngStart: void 0,
55
- latStart: void 0,
56
- lngEnd: void 0,
57
- latEnd: void 0
58
- }), H = _({
59
- httpurl: "",
60
- lngStart: void 0,
61
- latStart: void 0,
62
- lngEnd: void 0,
63
- latEnd: void 0
64
- });
65
- ne(() => {
66
- U(), L.value = setInterval(() => {
67
- U();
68
- }, 1e3 * 60 * 6);
69
- }), te(() => {
70
- Q(), clearInterval(L.value), L.value = null, R.value?.dispose(), R.value = null;
71
- });
72
- let U = async () => {
73
- I.value = !0, await W();
74
- let e = (await be()).map((e) => {
75
- let t = Ce(e), n = "";
76
- E.type === "高速" && (n = "zhflds"), E.type === "地质" && (n = "pointflds"), E.type === "水库" && (n = "pointflds");
77
- let r = we(e[n] || []);
78
- return {
79
- name: e.name,
80
- tags: Te(t),
81
- piles: r
82
- };
83
- });
84
- M.value = e, Se(), ye(e.map((e) => {
85
- let t = Y(e.tags);
86
- return {
87
- value: 1,
88
- name: e.name,
89
- itemStyle: { color: t ? "#ff4d4f" : "#52c41a" },
90
- label: { color: t ? "#ff4d4f" : "#52c41a" },
91
- warnTags: e.tags.filter((e) => e.warn).map((e) => e.label)
92
- };
93
- })), I.value = !1;
94
- }, ye = (e) => {
95
- let t = document.querySelector(".RadarShortTerm-chart");
96
- if (!t) return;
97
- R.value ||= ae.init(t);
98
- let n = {
99
- tooltip: {
100
- trigger: "item",
101
- formatter: (e) => {
102
- let t = e?.data?.warnTags || [], n = e?.data?.itemStyle?.color === "#ff4d4f" ? "#ff4d4f" : "#52c41a";
103
- return t.length ? `${e?.name ?? ""} <span style="color:${n};">${t.join("、")}报警</span>` : `${e?.name ?? ""} <span style="color:${n};">正常</span>`;
104
- }
105
- },
106
- color: "#52c41a",
107
- grid: {
108
- top: "0",
109
- right: "0",
110
- bottom: "0",
111
- left: "0"
112
- },
113
- series: [{
114
- type: "pie",
115
- radius: "40%",
116
- label: {
117
- show: !0,
118
- position: "outside",
119
- fontSize: 12,
120
- color: "#fff"
121
- },
122
- data: e
123
- }]
124
- };
125
- R.value.setOption(n);
126
- }, W = async () => {
127
- I.value = !0;
128
- let e = await t({
129
- appKey: E.appKey,
130
- appSalt: E.appSalt,
131
- id: E.ids.radar.id,
132
- variables: {},
133
- baseHttp: E.baseHttp,
134
- reqType: E.ids.radar.reqType,
135
- isFormData: E.ids.radar.isFormData
136
- });
137
- console.log("雷达", e.data.result);
138
- let n = await t({
139
- appKey: E.appKey,
140
- appSalt: E.appSalt,
141
- id: E.ids.historyRadar.id,
142
- variables: {},
143
- baseHttp: E.baseHttp,
144
- reqType: E.ids.historyRadar.reqType,
145
- isFormData: E.ids.historyRadar.isFormData
146
- });
147
- console.log("历史雷达", n.data.result), I.value = !1;
148
- let r = G(e.data.result), i = G(n.data.result);
149
- V.value = {
150
- httpurl: r.httpurl,
151
- ...r.extent
152
- }, H.value = {
153
- httpurl: i.httpurl,
154
- ...i.extent
155
- }, console.log("historyData", i);
156
- let a = i.frames.slice(-13).map((e, t, n) => ({
157
- ...e,
158
- focarcast_time: e.observation_time,
159
- _isHistory: !0,
160
- _label: t === n.length - 1 ? "现在" : `-${n.length - 1 - t}`,
161
- _httpurl: (i.httpurl || "") + (e.observation_time || "").slice(0, 10).replaceAll("-", "") + "/"
162
- })), o = r.frames.map((e, t) => ({
163
- ...e,
164
- _isHistory: !1,
165
- _label: `+${t + 1}`,
166
- _httpurl: r.httpurl || ""
167
- })), s = [...a, ...o];
168
- N.value = {
169
- ds: s,
170
- httpurl: r.httpurl,
171
- ...i.extent
172
- }, A.value = a.length - 1, O.value && (D("clearImgAniArr"), s.forEach((e) => {
173
- let t = Ee(e);
174
- t && D("addImageAniArr", { data: { imgArr: [t] } });
175
- }), setTimeout(() => {
176
- D("setImgAniShowByIndex", { index: A.value });
177
- let e = s[A.value];
178
- Z(e), D("showRadarLegend", !0);
179
- }, 1e3));
180
- }, be = async () => {
181
- let e = await t({
182
- appKey: E.appKey,
183
- appSalt: E.appSalt,
184
- id: E.ids.shortTerm.id,
185
- variables: {},
186
- baseHttp: E.baseHttp,
187
- reqType: E.ids.shortTerm.reqType,
188
- isFormData: E.ids.shortTerm.isFormData
189
- });
190
- return console.log("短时预报", e.data.result.ds), e.data.result.ds || [];
191
- }, xe = (e) => {
192
- let t = String(e || "").split(",").map((e) => Number(e.trim()));
193
- return {
194
- latStart: t[0],
195
- latEnd: t[1],
196
- lngStart: t[2],
197
- lngEnd: t[3]
198
- };
199
- }, G = (e) => {
200
- let t = Array.isArray(e?.ds) ? e : e?.ds, n = Array.isArray(t?.ds) ? t.ds : [];
201
- n = [...n].reverse();
202
- let r = xe(n[0]?.extendstr || ""), i = t?.httpUrl || t?.httpurl || "";
203
- return {
204
- frames: n,
205
- httpurl: i,
206
- extent: r
207
- };
208
- }, K = c(() => X(M.value, (e) => Y(e.tags))), q = c(() => N.value?.ds || []), J = c(() => q.value.map((e) => {
209
- let t = new Date(e.focarcast_time);
210
- return `${String(t.getHours()).padStart(2, "0")}:${String(t.getMinutes()).padStart(2, "0")}`;
211
- })), Se = () => {
212
- let e = K.value.find((e) => Y(e.tags)), t = {}, n = {};
213
- e && (t[e.name] = !0, n[e.name] = !0), _e.value = t, ve.value = n;
214
- }, Ce = (e) => {
215
- let t = "";
216
- E.type === "高速" && (t = "zhflds"), E.type === "地质" && (t = "pointflds"), E.type === "水库" && (t = "pointflds");
217
- let n = e[t] || [];
218
- return {
219
- iswarnpre1h: n.some((e) => e?.iswarnpre1h === 1) ? 1 : 0,
220
- iswarnpre2h: n.some((e) => e?.iswarnpre2h === 1) ? 1 : 0,
221
- iswarnpre3h: n.some((e) => e?.iswarnpre3h === 1) ? 1 : 0
222
- };
223
- }, we = (e) => X((e || []).map((e) => ({
224
- pileNo: E.type === "高速" ? `${e.type || ""}${e.Name || ""}` : E.type === "地质" ? e.name : E.type === "水库" ? e.river_name : "",
225
- isWarn: e?.iswarnpre1h === 1 || e?.iswarnpre2h === 1 || e?.iswarnpre3h === 1,
226
- rain1h: e?.rain_1h ?? "-",
227
- rain2h: e?.rain_2h ?? "-",
228
- rain3h: e?.rain_3h ?? "-",
229
- x: e.x,
230
- y: e.y,
231
- item: e
232
- })), (e) => e.isWarn), Te = (e) => [
233
- {
234
- label: "未来R1h",
235
- warn: e.iswarnpre1h === 1
236
- },
237
- {
238
- label: "未来R2h",
239
- warn: e.iswarnpre2h === 1
240
- },
241
- {
242
- label: "未来R3h",
243
- warn: e.iswarnpre3h === 1
244
- }
245
- ], Y = (e) => e.some((e) => e.warn), X = (e, t) => [...e].sort((e, n) => Number(t(n)) - Number(t(e))), Ee = (e) => {
246
- if (!e) return null;
247
- let t = e._isHistory ? H.value : V.value, n = String(e?._httpurl || t.httpurl || ""), r = String(e?.file_name || "");
248
- return {
249
- alt: "",
250
- imgUrl: r.startsWith("http") ? r : `${n}${r.replace(/^\/+/, "")}`,
251
- lngStart: t.lngStart,
252
- latStart: t.latStart,
253
- lngEnd: t.lngEnd,
254
- latEnd: t.latEnd,
255
- opacity: 1,
256
- zIndex: 1e3,
257
- otherData: { imgId: "radar_RadarShortTerm" }
258
- };
259
- }, Z = (e) => {
260
- P.value && D("removeDataTitle", P.value), P.value = "雷达观测时间:" + n(e.focarcast_time).format("YYYY-MM-DD HH:mm "), D("addDataTitle", P.value);
261
- }, De = (e) => {
262
- D("setImgAniShowByIndex", { index: e });
263
- let t = q.value[e];
264
- Z(t);
265
- }, Q = () => {
266
- j.value &&= (clearInterval(j.value), null);
267
- }, $ = () => {
268
- k.value = !1, Q();
269
- }, Oe = () => {
270
- J.value.length <= 1 || (k.value = !0, Q(), z.value && (B.value = A.value, D("changeLoading", !0)), j.value = setInterval(() => {
271
- A.value = (A.value + 1) % J.value.length;
272
- }, 1e3));
273
- }, ke = () => {
274
- if (k.value) {
275
- $();
276
- return;
277
- }
278
- Oe();
279
- };
280
- S(A, (e) => {
281
- De(e), z.value && B.value !== null && e === B.value && (z.value = !1, B.value = null, D("changeLoading", !1));
282
- }), S(A, () => {
283
- m(() => {
284
- let e = F.value;
285
- if (!e) return;
286
- let t = e.querySelectorAll(".radarAxis-li")[A.value];
287
- t && t.scrollIntoView({
288
- behavior: "smooth",
289
- inline: "center",
290
- block: "nearest"
291
- });
292
- });
293
- });
294
- let Ae = () => {
295
- $();
296
- }, je = async () => {
297
- if (!O.value) {
298
- D("clearImgAniArr"), D("removeDataTitle", P.value), D("showRadarLegend", !1), $();
299
- return;
300
- }
301
- I.value = !0, await W(), I.value = !1;
302
- }, Me = () => {
303
- D("close", "RadarShortTerm");
304
- };
305
- return (e, t) => {
306
- let n = i, c = r, p = a, m = o;
307
- return w((g(), u("div", oe, [
308
- d("div", { class: "RadarShortTerm-head" }, [d("div", { class: "RadarShortTerm-head-top" }, [t[1] ||= d("div", null, "雷达短临预报", -1), d("div", { class: "head-actions" }, [d("div", {
309
- class: "closeBtn",
310
- onClick: Me,
311
- title: "关闭"
312
- })])]), t[2] ||= d("img", {
313
- class: "RadarShortTerm-head-line",
314
- 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",
315
- alt: ""
316
- }, null, -1)]),
317
- d("div", se, [d("div", ce, [d("div", le, [t[4] ||= d("span", { class: "setting-label" }, "雷达展示:", -1), d("div", ue, [f(n, {
318
- modelValue: O.value,
319
- "onUpdate:modelValue": t[0] ||= (e) => O.value = e,
320
- class: "pile-checkbox",
321
- onChange: je
322
- }, {
323
- default: C(() => [...t[3] ||= [ee(" 显示 ", -1)]]),
324
- _: 1
325
- }, 8, ["modelValue"])])])])]),
326
- t[6] ||= d("div", { class: "RadarShortTerm-chart" }, null, -1),
327
- w(f(c, {
328
- show: !0,
329
- isVertical: !1,
330
- class: "RadarShortTerm-legend"
331
- }, null, 512), [[x, O.value]]),
332
- w(d("div", de, [d("button", {
333
- type: "button",
334
- class: "timeline-play-btn",
335
- title: k.value ? "暂停" : "播放",
336
- onClick: ke
337
- }, [f(p, null, {
338
- default: C(() => [k.value ? (g(), l(b(re), { key: 0 })) : (g(), l(b(ie), { key: 1 }))]),
339
- _: 1
340
- })], 8, fe), d("div", pe, [d("span", me, y(J.value[A.value] || ""), 1), d("div", {
341
- class: "radarAxis",
342
- ref_key: "ref_radarAxis",
343
- ref: F
344
- }, [(g(!0), u(s, null, v(q.value, (e, n) => (g(), u("div", he, [d("div", {
345
- class: "radarAxis-li-node",
346
- onClick: (e) => (A.value = Number(n), Ae())
347
- }, [
348
- d("i", { style: h({ backgroundColor: e._isHistory ? "" : "#ca9e64" }) }, null, 4),
349
- w(d("span", null, [...t[5] ||= [d("i", null, null, -1)]], 512), [[x, n === A.value]]),
350
- d("div", T, [d("b", null, y(e._label), 1)])
351
- ], 8, ge), (g(), u(s, null, v(4, (t) => w(d("div", {
352
- class: "radarAxis-li-point",
353
- key: t,
354
- style: h({ backgroundColor: e._isHistory ? "" : "#ca9e64" })
355
- }, null, 4), [[x, n !== q.value.length - 1]])), 64))]))), 256))], 512)])], 512), [[x, O.value]])
356
- ])), [[m, I.value]]);
357
- };
358
- }
359
- }), [["__scopeId", "data-v-2f48da11"]]);
360
- //#endregion
361
- export { E as t };
@@ -8,8 +8,8 @@ import { Fragment as o, computed as s, createBlock as oe, createCommentVNode as
8
8
  import { Download as ue, TrendCharts as de } from "@element-plus/icons-vue";
9
9
  import * as w from "echarts";
10
10
  import { ElMessage as fe } from "element-plus";
11
- import pe from "element-plus/es/locale/lang/zh-cn.mjs";
12
11
  import "element-plus/dist/index.css";
12
+ import pe from "element-plus/es/locale/lang/zh-cn.mjs";
13
13
  //#region src/components/HdPreSituation/HdPreSituation.vue?vue&type=script&setup=true&lang.ts
14
14
  var me = /* @__PURE__ */ e(r()), he = {
15
15
  class: "HdPreSituation",
@@ -4,9 +4,9 @@ import { ElIcon as t } from "element-plus/es";
4
4
  import { Fragment as n, computed as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, getCurrentInstance as c, normalizeClass as l, onMounted as u, openBlock as d, ref as f, renderList as p, toDisplayString as m, unref as h, watch as g, withCtx as _ } from "vue";
5
5
  import { EditPen as v } from "@element-plus/icons-vue";
6
6
  import { ElTable as y, ElTableColumn as b } from "element-plus";
7
+ import "element-plus/dist/index.css";
7
8
  import "element-plus/es/components/table/style/css";
8
9
  import "element-plus/es/components/table-column/style/css";
9
- import "element-plus/dist/index.css";
10
10
  //#region src/components/HdRadarList/HdRadarList.vue?vue&type=script&setup=true&lang.ts
11
11
  var x = { class: "HdRadarList" }, S = { class: "HdRadarList-header" }, C = { class: "HdRadarList-headerContent" }, w = { class: "HdRadarList-title" }, T = { class: "HdRadarList-filters" }, E = { class: "HdRadarList-filterGroup" }, D = ["onClick"], O = { class: "HdRadarList-tableWrap" }, k = /* @__PURE__ */ e(/* @__PURE__ */ s({
12
12
  __name: "HdRadarList",
@@ -8,9 +8,9 @@ import "element-plus/es/components/select/style/css";
8
8
  import "element-plus/es/components/option/style/css";
9
9
  import "element-plus/es/components/icon/style/css";
10
10
  import "element-plus/es/components/input/style/css";
11
+ import "element-plus/dist/index.css";
11
12
  import "element-plus/es/components/table/style/css";
12
13
  import "element-plus/es/components/table-column/style/css";
13
- import "element-plus/dist/index.css";
14
14
  //#region src/components/HdServiceMarterial/HdServiceMarterial.vue?vue&type=script&setup=true&lang.ts
15
15
  var O = { class: "HdServiceMarterial" }, ee = { class: "HdServiceMarterial-header" }, te = { class: "HdServiceMarterial-headerContent" }, ne = { class: "HdServiceMarterial-title" }, re = {
16
16
  key: 0,
@@ -8,8 +8,8 @@ import { Fragment as u, computed as d, createBlock as ee, createCommentVNode as
8
8
  import { Download as oe, Refresh as se } from "@element-plus/icons-vue";
9
9
  import * as D from "echarts";
10
10
  import { ElMessage as ce } from "element-plus";
11
- import le from "element-plus/es/locale/lang/zh-cn.mjs";
12
11
  import "element-plus/dist/index.css";
12
+ import le from "element-plus/es/locale/lang/zh-cn.mjs";
13
13
  //#region src/components/PrecipitationRanking/PrecipitationRanking.vue?vue&type=script&setup=true&lang.ts
14
14
  var ue = /* @__PURE__ */ e(r()), de = {
15
15
  class: "PrecipitationRanking",