nxd-plugin 1.7.80 → 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.
- package/dist/chunks/{component-AiChat-CtsIvsGB.mjs → component-AiChat-C1xBPkS5.mjs} +312 -260
- package/dist/chunks/{component-AqiMonitor-D16SVL6m.mjs → component-AqiMonitor-DoAVs1Jf.mjs} +1 -1
- package/dist/chunks/{component-ChartCumulativePre-CXnKE427.mjs → component-ChartCumulativePre-BOIMPYxl.mjs} +2 -2
- package/dist/chunks/{component-ChartServiceMaterial-_cOa2zr2.mjs → component-ChartServiceMaterial-CmR3bmG_.mjs} +2 -2
- package/dist/chunks/{component-Duty-D0YruNKe.mjs → component-Duty-gmt7ZcSc.mjs} +2 -2
- package/dist/chunks/{component-EarlyWarningStatistic-CWzunUWV.mjs → component-EarlyWarningStatistic-BWYWrz65.mjs} +2 -2
- package/dist/chunks/component-Forecast72h-BZ1kB2TJ.mjs +427 -0
- package/dist/chunks/{component-GeologyLiveAlarm-CvwronHT.mjs → component-GeologyLiveAlarm-CNpQPmGs.mjs} +2 -2
- package/dist/chunks/component-HdHeatService-ok6q8UuG.mjs +412 -0
- package/dist/chunks/component-HdObservation-BmQdGJV6.mjs +600 -0
- package/dist/chunks/component-HdPreSituation-LBpO58bE.mjs +604 -0
- package/dist/chunks/component-HdRadarTime-D7hOn_ph.mjs +461 -0
- package/dist/chunks/component-HdSeaCase-DYPQ7CdN.mjs +219 -0
- package/dist/chunks/component-HdServiceRequirements-DcXrcIIV.mjs +143 -0
- package/dist/chunks/component-HdStationTem-US6IRwbQ.mjs +573 -0
- package/dist/chunks/{component-HighQuality-mh3fFFrU.mjs → component-HighQuality-B0OgPi3T.mjs} +3 -3
- package/dist/chunks/{component-HighWayEarlyWarningRed-bUwQzo1p.mjs → component-HighWayEarlyWarningRed-BTl2WWZ-.mjs} +907 -759
- package/dist/chunks/{component-HighWayFreeze-sv_B8HYz.mjs → component-HighWayFreeze-B1aMHQWU.mjs} +2 -2
- package/dist/chunks/{component-HighwayLiveAlarm-C5CT4pNH.mjs → component-HighwayLiveAlarm-8u45ZdnN.mjs} +2 -2
- package/dist/chunks/{component-HighwayLiveAlarmNew-DwM5R3uq.mjs → component-HighwayLiveAlarmNew-DK827eVk.mjs} +3 -3
- package/dist/chunks/{component-HighwayStations-DUpEnASL.mjs → component-HighwayStations-BzrbWP50.mjs} +2 -2
- package/dist/chunks/{component-HighwayWeatherForecast-DySnAsrW.mjs → component-HighwayWeatherForecast-DER5XGc3.mjs} +2 -2
- package/dist/chunks/{component-IframeWeb-ZChwSgDN.mjs → component-IframeWeb-DuBssYPk.mjs} +1 -1
- package/dist/chunks/{component-ImageGeneration-B17dWjVV.mjs → component-ImageGeneration-3G3j7utC.mjs} +1 -1
- package/dist/chunks/{component-IntroducePic-hpd3_zKO.mjs → component-IntroducePic-L8VH8Yq8.mjs} +1 -1
- package/dist/chunks/{component-LithiumBatteryMiningArea-BLx7FYWI.mjs → component-LithiumBatteryMiningArea-DSFTVepN.mjs} +2 -2
- package/dist/chunks/{component-MapPopup-BBY3WROQ.mjs → component-MapPopup-BNc18syw.mjs} +1 -1
- package/dist/chunks/{component-MaterialPreview-W3eNeSc0.mjs → component-MaterialPreview-DhLUbjcT.mjs} +2 -2
- package/dist/chunks/{component-PieLegend-YE4EI4RM.mjs → component-PieLegend-Haojhtet.mjs} +1 -1
- package/dist/chunks/component-PrecipitationRanking-BanKrD3J.mjs +608 -0
- package/dist/chunks/{component-RadarChart-BnaENnYS.mjs → component-RadarChart-BYMbkI3K.mjs} +2 -2
- package/dist/chunks/{component-RadarLegend-B_mzSJzM.mjs → component-RadarLegend-CiGsla7a.mjs} +1 -1
- package/dist/chunks/{component-RadarShortTerm-BGK_OnB2.mjs → component-RadarShortTerm-yPc2UWpz.mjs} +4 -4
- package/dist/chunks/{component-RadarTime-Bm7mOE3Z.mjs → component-RadarTime-CkqIaTJh.mjs} +2 -2
- package/dist/chunks/{component-RenderMarkdown-9GGS03jg.mjs → component-RenderMarkdown-D590sXEf.mjs} +2 -2
- package/dist/chunks/{component-ReservoirLiveAlarm-B9Sxhqyu.mjs → component-ReservoirLiveAlarm-DTtKdDQS.mjs} +3 -3
- package/dist/chunks/{component-ServiceMaterial-wVF-3Lpq.mjs → component-ServiceMaterial-BKbVQbKm.mjs} +2 -2
- package/dist/chunks/{component-ServiceMaterialsBtn-DXbl0E-k.mjs → component-ServiceMaterialsBtn-CskK-Qiz.mjs} +1 -1
- package/dist/chunks/component-StationDialog-Bn7Fbk24.mjs +897 -0
- package/dist/chunks/component-StationList-DRABlFdc.mjs +323 -0
- package/dist/chunks/{component-TimeBasedForecast-Cqb98MyV.mjs → component-TimeBasedForecast-D1fJ4rGJ.mjs} +4 -4
- package/dist/chunks/{component-WarningLine-DWxDqXz4.mjs → component-WarningLine-jN8sg45u.mjs} +2 -2
- package/dist/chunks/{component-WarningSignal-C6bMbzAR.mjs → component-WarningSignal-BkIKqyJB.mjs} +3 -3
- package/dist/chunks/component-WeatherForecast-CYsbJhYt.mjs +225 -0
- package/dist/chunks/{component-YCDataMonitor-CdjR4SD9.mjs → component-YCDataMonitor-vVlnkSzT.mjs} +2 -2
- package/dist/chunks/{component-YCDataService-BVgkmLN8.mjs → component-YCDataService-okkY1-iU.mjs} +4 -4
- package/dist/chunks/{component-YCHome-DoRcqj79.mjs → component-YCHome-BfpbxDIg.mjs} +4 -4
- package/dist/chunks/{component-YCHomeLegend-_Iq4kWV6.mjs → component-YCHomeLegend-CuT-BwNJ.mjs} +1 -1
- package/dist/chunks/{component-YCLoginNew-CA6LbHIs.mjs → component-YCLoginNew-KZoyW1EV.mjs} +3 -3
- package/dist/components/Forecast72h/Forecast72h.vue.d.ts +50 -0
- package/dist/components/HdHeatService/HdHeatService.vue.d.ts +56 -0
- package/dist/components/HdObservation/HdObservation.vue.d.ts +43 -0
- package/dist/components/HdPreSituation/HdPreSituation.vue.d.ts +62 -0
- package/dist/components/HdQxServiceEffects/HdQxServiceEffects.vue.d.ts +59 -0
- package/dist/components/HdRadarTime/HdRadarTime.vue.d.ts +71 -0
- package/dist/components/HdSeaCase/HdSeaCase.vue.d.ts +46 -0
- package/dist/components/HdServiceRequirements/HdServiceRequirements.vue.d.ts +51 -0
- package/dist/components/HdStationTem/HdStationTem.vue.d.ts +69 -0
- package/dist/components/HighWayEarlyWarningRed/Call.vue.d.ts +18 -0
- package/dist/components/HighWayEarlyWarningRed/HighWayEarlyWarningRed.vue.d.ts +5 -0
- package/dist/components/PrecipitationRanking/PrecipitationRanking.vue.d.ts +57 -0
- package/dist/components/StationDialog/StationDialog.vue.d.ts +90 -0
- package/dist/components/StationList/StationList.vue.d.ts +64 -0
- package/dist/index.d.ts +13 -1
- package/dist/nxd-plugin.mjs +51 -40
- package/dist/styles/component-Forecast72h.css +1 -0
- package/dist/styles/component-HdHeatService.css +1 -0
- package/dist/styles/component-HdObservation.css +1 -0
- package/dist/styles/component-HdPreSituation.css +1 -0
- package/dist/styles/component-HdRadarTime.css +1 -0
- package/dist/styles/component-HdSeaCase.css +1 -0
- package/dist/styles/component-HdServiceRequirements.css +1 -0
- package/dist/styles/component-HdStationTem.css +1 -0
- package/dist/styles/component-HighQuality.css +1 -1
- package/dist/styles/component-HighWayEarlyWarningRed.css +1 -1
- package/dist/styles/component-PrecipitationRanking.css +1 -0
- package/dist/styles/component-StationDialog.css +1 -0
- package/dist/styles/component-StationList.css +1 -0
- package/dist/styles/component-WeatherForecast.css +1 -1
- package/dist/styles/component-YCLoginNew.css +1 -1
- package/package.json +2 -1
- package/dist/chunks/component-WeatherForecast-EqHxKbyh.mjs +0 -210
|
@@ -0,0 +1,461 @@
|
|
|
1
|
+
import { n as e } from "./component-AqiMonitor-DoAVs1Jf.mjs";
|
|
2
|
+
import { i as t } from "./component-AiChat-C1xBPkS5.mjs";
|
|
3
|
+
import { ElCheckbox as n, ElConfigProvider as r, ElDatePicker as i, ElLoadingDirective as a, ElOption as o, ElSelect as s } from "element-plus/es";
|
|
4
|
+
import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createTextVNode as ee, createVNode as m, defineComponent as h, getCurrentInstance as te, nextTick as g, normalizeClass as _, normalizeStyle as v, onBeforeUnmount as y, onMounted as ne, openBlock as b, ref as x, renderList as S, toDisplayString as C, unref as re, vShow as ie, watch as w, withCtx as T, withDirectives as E, withModifiers as ae } from "vue";
|
|
5
|
+
import oe from "element-plus/es/locale/lang/zh-cn.mjs";
|
|
6
|
+
//#region src/components/HdRadarTime/HdRadarTime.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var se = { class: "HdRadarTime-main" }, ce = { class: "HdRadarTime-controls" }, le = { class: "HdRadarTime-queryTime" }, ue = { class: "HdRadarTime-dropdownText" }, de = { class: "HdRadarTime-dropdownPanel" }, fe = { class: "HdRadarTime-dropdownList" }, pe = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "HdRadarTime-dropdownItem HdRadarTime-dropdownItem--empty"
|
|
10
|
+
}, me = ["onClick"], he = { class: "HdRadarTime-checkboxes" }, ge = { class: "HdRadarTime-speed" }, _e = { class: "HdRadarTime-playWrap" }, ve = {
|
|
11
|
+
key: 0,
|
|
12
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
13
|
+
width: "16",
|
|
14
|
+
height: "16",
|
|
15
|
+
viewBox: "0 0 24 24",
|
|
16
|
+
fill: "#fff"
|
|
17
|
+
}, ye = {
|
|
18
|
+
key: 1,
|
|
19
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
20
|
+
width: "16",
|
|
21
|
+
height: "16",
|
|
22
|
+
viewBox: "0 0 24 24",
|
|
23
|
+
fill: "#fff"
|
|
24
|
+
}, be = { class: "HdRadarTime-trackBg" }, xe = { class: "HdRadarTime-ticks" }, Se = ["onClick"], Ce = 1e3, we = /* @__PURE__ */ e(/* @__PURE__ */ h({
|
|
25
|
+
__name: "HdRadarTime",
|
|
26
|
+
props: {
|
|
27
|
+
mock: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: !0
|
|
30
|
+
},
|
|
31
|
+
baseHttp: { default: "" },
|
|
32
|
+
appKey: { default: "" },
|
|
33
|
+
appSalt: { default: "" },
|
|
34
|
+
ids: { default: () => ({}) },
|
|
35
|
+
mockData: {},
|
|
36
|
+
initialQueryTime: { default: "" },
|
|
37
|
+
initialSpeed: { default: 1 },
|
|
38
|
+
showGrid: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
default: !0
|
|
41
|
+
},
|
|
42
|
+
showLegend: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
default: !0
|
|
45
|
+
},
|
|
46
|
+
showCurrentTime: {
|
|
47
|
+
type: Boolean,
|
|
48
|
+
default: !0
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
emits: [
|
|
52
|
+
"close",
|
|
53
|
+
"radarChange",
|
|
54
|
+
"riskChange",
|
|
55
|
+
"legendChange",
|
|
56
|
+
"gridChange"
|
|
57
|
+
],
|
|
58
|
+
setup(e, { emit: h }) {
|
|
59
|
+
let we = te()?.appContext.config.globalProperties.$bus, D = e, O = h, k = x(null), A = x(null), j = x(null), M = x(null), N = x(!1), P = x(!1), F = x(!1), I = x(D.initialQueryTime || ""), L = x([]), R = x([]), z = x(0), B = x(0), V = x(!1), H = x(D.initialSpeed), U = x(!1), Te = [
|
|
60
|
+
.5,
|
|
61
|
+
1,
|
|
62
|
+
1.5,
|
|
63
|
+
2,
|
|
64
|
+
3,
|
|
65
|
+
4
|
|
66
|
+
], W = null, G = {
|
|
67
|
+
x: 0,
|
|
68
|
+
y: 0
|
|
69
|
+
}, K = !1, q = l(() => R.value.map((e) => {
|
|
70
|
+
let t = e.radar_time || e.time || "";
|
|
71
|
+
return {
|
|
72
|
+
time: t,
|
|
73
|
+
displayTimeWithoutYear: t ? t.substring(5, 16) : ""
|
|
74
|
+
};
|
|
75
|
+
})), Ee = l(() => q.value.length > 0 && z.value >= 0 && q.value[z.value]?.displayTimeWithoutYear || "选择时间"), J = l(() => L.value[B.value] || null), Y = l(() => J.value?.type === "live"), De = l(() => {
|
|
76
|
+
if (!L.value.length) return 50;
|
|
77
|
+
let e = L.value.filter((e) => e.type === "live").length / L.value.length * 100;
|
|
78
|
+
return Math.max(e, 4.5);
|
|
79
|
+
}), Oe = l(() => {
|
|
80
|
+
if (!L.value.length || L.value.length <= 1) return 0;
|
|
81
|
+
let e = B.value / (L.value.length - 1) * 98;
|
|
82
|
+
return Math.max(0, Math.min(98, e));
|
|
83
|
+
}), ke = (e) => {
|
|
84
|
+
if (!L.value.length || L.value.length <= 1) return 0;
|
|
85
|
+
let t = e / (L.value.length - 1) * 98;
|
|
86
|
+
return Math.max(0, Math.min(98, t));
|
|
87
|
+
};
|
|
88
|
+
w(F, (e) => {
|
|
89
|
+
O("legendChange", e);
|
|
90
|
+
}), w(P, async (e) => {
|
|
91
|
+
if (!Y.value) {
|
|
92
|
+
O("gridChange", {
|
|
93
|
+
visible: !1,
|
|
94
|
+
gridData: null
|
|
95
|
+
});
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
O("gridChange", {
|
|
99
|
+
visible: e,
|
|
100
|
+
gridData: e ? await Xe() : null
|
|
101
|
+
});
|
|
102
|
+
}), w(B, () => {
|
|
103
|
+
g(() => {
|
|
104
|
+
Ae();
|
|
105
|
+
});
|
|
106
|
+
}), w(H, () => {
|
|
107
|
+
V.value && Re();
|
|
108
|
+
});
|
|
109
|
+
let Ae = async () => {
|
|
110
|
+
let e = J.value;
|
|
111
|
+
e && (O("radarChange", {
|
|
112
|
+
time: e.time,
|
|
113
|
+
type: e.type,
|
|
114
|
+
imageInfo: e.imageInfo || null
|
|
115
|
+
}), e.type === "forecast" ? (e.riskData ||= await Ye(e.time), O("riskChange", {
|
|
116
|
+
time: e.time,
|
|
117
|
+
riskData: e.riskData || null
|
|
118
|
+
})) : O("riskChange", {
|
|
119
|
+
time: e.time,
|
|
120
|
+
riskData: null
|
|
121
|
+
}), P.value && Y.value ? O("gridChange", {
|
|
122
|
+
visible: !0,
|
|
123
|
+
gridData: await Xe()
|
|
124
|
+
}) : P.value && !Y.value && O("gridChange", {
|
|
125
|
+
visible: !1,
|
|
126
|
+
gridData: null
|
|
127
|
+
}));
|
|
128
|
+
}, je = (e) => {
|
|
129
|
+
I.value = e || "", Q();
|
|
130
|
+
}, Me = () => {
|
|
131
|
+
N.value = !N.value;
|
|
132
|
+
}, Ne = () => {
|
|
133
|
+
N.value = !1;
|
|
134
|
+
}, Pe = (e) => {
|
|
135
|
+
z.value = e, Je(), Ne();
|
|
136
|
+
}, Fe = (e) => {
|
|
137
|
+
j.value && !j.value.contains(e.target) && Ne();
|
|
138
|
+
}, Ie = (e) => {
|
|
139
|
+
B.value = e;
|
|
140
|
+
}, Le = () => {
|
|
141
|
+
V.value = !V.value;
|
|
142
|
+
}, Re = () => {
|
|
143
|
+
X();
|
|
144
|
+
let e = Math.max(200, Ce / H.value);
|
|
145
|
+
W = setInterval(() => {
|
|
146
|
+
L.value.length && (B.value = B.value >= L.value.length - 1 ? 0 : B.value + 1);
|
|
147
|
+
}, e);
|
|
148
|
+
}, X = () => {
|
|
149
|
+
W &&= (clearInterval(W), null);
|
|
150
|
+
};
|
|
151
|
+
w(V, (e) => {
|
|
152
|
+
e ? Re() : X();
|
|
153
|
+
});
|
|
154
|
+
let ze = (e) => {
|
|
155
|
+
e.button === 0 && (K = !0, He(e), e.preventDefault());
|
|
156
|
+
}, Be = (e) => {
|
|
157
|
+
K && He(e);
|
|
158
|
+
}, Ve = () => {
|
|
159
|
+
K = !1;
|
|
160
|
+
}, He = (e) => {
|
|
161
|
+
if (!M.value || !L.value.length) return;
|
|
162
|
+
let t = M.value.getBoundingClientRect(), n = e.clientX - t.left;
|
|
163
|
+
n = Math.max(0, Math.min(n, t.width));
|
|
164
|
+
let r = n / t.width, i = Math.round(r * (L.value.length - 1));
|
|
165
|
+
B.value = Math.max(0, Math.min(L.value.length - 1, i));
|
|
166
|
+
}, Ue = (e) => {
|
|
167
|
+
if (!k.value) return;
|
|
168
|
+
let t = k.value.getBoundingClientRect();
|
|
169
|
+
G.x = e.clientX - t.left, G.y = e.clientY - t.top, document.addEventListener("mousemove", We), document.addEventListener("mouseup", Ge), e.preventDefault();
|
|
170
|
+
}, We = (e) => {
|
|
171
|
+
k.value && (k.value.style.left = `${e.clientX - G.x}px`, k.value.style.top = `${e.clientY - G.y}px`, k.value.style.transform = "none");
|
|
172
|
+
}, Ge = () => {
|
|
173
|
+
document.removeEventListener("mousemove", We), document.removeEventListener("mouseup", Ge);
|
|
174
|
+
}, Ke = (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, qe = (e) => {
|
|
175
|
+
let t = D.ids[e];
|
|
176
|
+
return t?.id ? t : null;
|
|
177
|
+
}, Z = async (e, n = {}) => {
|
|
178
|
+
let r = qe(e);
|
|
179
|
+
if (!r) return null;
|
|
180
|
+
try {
|
|
181
|
+
return Ke(await t({
|
|
182
|
+
id: r.id,
|
|
183
|
+
baseHttp: D.baseHttp,
|
|
184
|
+
reqType: r.reqType,
|
|
185
|
+
variables: n,
|
|
186
|
+
isFormData: r.isFormData,
|
|
187
|
+
appKey: D.appKey,
|
|
188
|
+
appSalt: D.appSalt
|
|
189
|
+
}));
|
|
190
|
+
} catch (t) {
|
|
191
|
+
return console.error(`[HdRadarTime] request ${e} failed:`, t), null;
|
|
192
|
+
}
|
|
193
|
+
}, Q = async () => {
|
|
194
|
+
U.value = !0;
|
|
195
|
+
try {
|
|
196
|
+
if (D.mock) {
|
|
197
|
+
let e = D.mockData?.liveData?.length ? D.mockData : Ze();
|
|
198
|
+
R.value = e.liveData || [], !R.value.length && e.timelineData?.length && (R.value = e.timelineData.filter((e) => e.type === "live").map((e) => ({
|
|
199
|
+
radar_time: e.time,
|
|
200
|
+
time: e.time,
|
|
201
|
+
...e.imageInfo
|
|
202
|
+
}))), !I.value && e.radarQueryTime && (I.value = e.radarQueryTime);
|
|
203
|
+
} else {
|
|
204
|
+
let e = await Z("radarList", { queryTime: I.value });
|
|
205
|
+
R.value = Array.isArray(e) ? e : [];
|
|
206
|
+
}
|
|
207
|
+
z.value = R.value.length > 0 ? R.value.length - 1 : 0, Je();
|
|
208
|
+
} finally {
|
|
209
|
+
U.value = !1;
|
|
210
|
+
}
|
|
211
|
+
}, Je = () => {
|
|
212
|
+
let e = I.value ? new Date(I.value.replace(/-/g, "/")) : /* @__PURE__ */ new Date(), t = Math.max(0, Math.min(z.value, R.value.length - 1)), n = R.value.slice(t).map((e) => {
|
|
213
|
+
let t = e.radar_time || e.time || "";
|
|
214
|
+
return {
|
|
215
|
+
time: t,
|
|
216
|
+
type: "live",
|
|
217
|
+
fullTime: t,
|
|
218
|
+
imageInfo: {
|
|
219
|
+
time: t,
|
|
220
|
+
url: e.url || "",
|
|
221
|
+
extent: e.extent,
|
|
222
|
+
...e
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
}), r = n.length > 0 ? new Date(n[n.length - 1].time.replace(/-/g, "/")) : e, i = (e) => String(e).padStart(2, "0");
|
|
226
|
+
for (let e = 1; e <= 12; e++) {
|
|
227
|
+
let t = new Date(r.getTime() + e * 10 * 60 * 1e3), a = `${t.getFullYear()}-${i(t.getMonth() + 1)}-${i(t.getDate())} ${i(t.getHours())}:${i(t.getMinutes())}:00`;
|
|
228
|
+
n.push({
|
|
229
|
+
time: a,
|
|
230
|
+
type: "forecast",
|
|
231
|
+
fullTime: a
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
L.value = n, B.value = 0;
|
|
235
|
+
}, Ye = async (e) => {
|
|
236
|
+
if (D.mock) {
|
|
237
|
+
let t = L.value.find((t) => t.time === e && t.type === "forecast");
|
|
238
|
+
return t?.riskData ? t.riskData : $(e);
|
|
239
|
+
}
|
|
240
|
+
return await Z("forecastRisk", { time: e });
|
|
241
|
+
}, Xe = async () => D.mock ? Qe() : await Z("gridData", { time: J.value?.time || "" });
|
|
242
|
+
function Ze() {
|
|
243
|
+
let e = [], t = [], n = /* @__PURE__ */ new Date(), r = (e) => String(e).padStart(2, "0"), i = (e) => `${e.getFullYear()}-${r(e.getMonth() + 1)}-${r(e.getDate())} ${r(e.getHours())}:${r(e.getMinutes())}:00`, a = (e) => `${r(e.getMonth() + 1)}-${r(e.getDate())} ${r(e.getHours())}:${r(e.getMinutes())}`;
|
|
244
|
+
for (let r = 0; r < 13; r++) {
|
|
245
|
+
let o = /* @__PURE__ */ new Date(n.getTime() - (12 - r) * 10 * 60 * 1e3), s = i(o), c = `https://example.com/radar/${s.replace(/[-: ]/g, "")}.png`;
|
|
246
|
+
t.push({
|
|
247
|
+
radar_time: s,
|
|
248
|
+
displayTime: a(o),
|
|
249
|
+
url: c,
|
|
250
|
+
extent: [
|
|
251
|
+
118,
|
|
252
|
+
34,
|
|
253
|
+
121,
|
|
254
|
+
37
|
|
255
|
+
]
|
|
256
|
+
}), e.push({
|
|
257
|
+
time: s,
|
|
258
|
+
type: "live",
|
|
259
|
+
fullTime: s,
|
|
260
|
+
imageInfo: {
|
|
261
|
+
time: s,
|
|
262
|
+
url: c,
|
|
263
|
+
extent: [
|
|
264
|
+
118,
|
|
265
|
+
34,
|
|
266
|
+
121,
|
|
267
|
+
37
|
|
268
|
+
]
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
for (let t = 1; t <= 12; t++) {
|
|
273
|
+
let r = i(new Date(n.getTime() + t * 10 * 60 * 1e3));
|
|
274
|
+
e.push({
|
|
275
|
+
time: r,
|
|
276
|
+
type: "forecast",
|
|
277
|
+
fullTime: r,
|
|
278
|
+
riskData: $(r)
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
return {
|
|
282
|
+
timelineData: e,
|
|
283
|
+
liveData: t,
|
|
284
|
+
radarQueryTime: i(n)
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
function $(e) {
|
|
288
|
+
return {
|
|
289
|
+
polygons: [{
|
|
290
|
+
polygonJson: [
|
|
291
|
+
{
|
|
292
|
+
lng: 118.5 + Math.random() * .5,
|
|
293
|
+
lat: 34.5 + Math.random() * .5
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
lng: 119 + Math.random() * .5,
|
|
297
|
+
lat: 35 + Math.random() * .5
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
lng: 119.5 + Math.random() * .5,
|
|
301
|
+
lat: 34.8 + Math.random() * .5
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
lng: 119.2 + Math.random() * .5,
|
|
305
|
+
lat: 34.3 + Math.random() * .5
|
|
306
|
+
}
|
|
307
|
+
],
|
|
308
|
+
lineColor: "#ff4d4f",
|
|
309
|
+
weight: 2,
|
|
310
|
+
fillColor: "#ff4d4f",
|
|
311
|
+
fillOpacity: .3,
|
|
312
|
+
lineStyle: "solid",
|
|
313
|
+
otherData: { polyId: `risk-poly-${e}` }
|
|
314
|
+
}],
|
|
315
|
+
markers: [{
|
|
316
|
+
lng: 119 + (Math.random() - .5) * .8,
|
|
317
|
+
lat: 35 + (Math.random() - .5) * .8,
|
|
318
|
+
htmlString: "<div style=\"color:#ff4d4f;font-weight:bold;\">风险点</div>",
|
|
319
|
+
otherData: { markId: `risk-mark-${e}` }
|
|
320
|
+
}]
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
function Qe() {
|
|
324
|
+
return {
|
|
325
|
+
type: "grid",
|
|
326
|
+
points: Array.from({ length: 20 }, (e, t) => ({
|
|
327
|
+
lng: 118.5 + t % 5 * .5,
|
|
328
|
+
lat: 34.5 + Math.floor(t / 5) * .5,
|
|
329
|
+
value: Math.floor(Math.random() * 60)
|
|
330
|
+
}))
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
return ne(() => {
|
|
334
|
+
document.addEventListener("click", Fe), A.value?.addEventListener("mousedown", Ue), we?.on("toComponent", (e) => {
|
|
335
|
+
e.componentName === "HdRadarTime" && Q();
|
|
336
|
+
}), Q();
|
|
337
|
+
}), y(() => {
|
|
338
|
+
document.removeEventListener("click", Fe), A.value?.removeEventListener("mousedown", Ue), X();
|
|
339
|
+
}), (t, l) => {
|
|
340
|
+
let h = i, te = r, g = n, y = o, ne = s, x = a;
|
|
341
|
+
return E((b(), f("div", {
|
|
342
|
+
class: "HdRadarTime",
|
|
343
|
+
ref_key: "popupRef",
|
|
344
|
+
ref: k,
|
|
345
|
+
"element-loading-background": "rgba(0, 0, 0, 0.3)"
|
|
346
|
+
}, [p("div", {
|
|
347
|
+
class: "HdRadarTime-header",
|
|
348
|
+
ref_key: "dragHandleRef",
|
|
349
|
+
ref: A
|
|
350
|
+
}, [p("button", {
|
|
351
|
+
class: "HdRadarTime-close",
|
|
352
|
+
onClick: l[0] ||= (e) => O("close"),
|
|
353
|
+
title: "关闭"
|
|
354
|
+
}, [...l[5] ||= [p("span", null, "×", -1)]])], 512), p("div", se, [
|
|
355
|
+
p("div", ce, [
|
|
356
|
+
p("div", le, [m(te, { locale: re(oe) }, {
|
|
357
|
+
default: T(() => [m(h, {
|
|
358
|
+
modelValue: I.value,
|
|
359
|
+
"onUpdate:modelValue": l[1] ||= (e) => I.value = e,
|
|
360
|
+
type: "datetime",
|
|
361
|
+
placeholder: "选择查询时间",
|
|
362
|
+
format: "YYYY-MM-DD HH:mm",
|
|
363
|
+
"value-format": "YYYY-MM-DD HH:mm:ss",
|
|
364
|
+
clearable: !1,
|
|
365
|
+
size: "small",
|
|
366
|
+
class: "HdRadarTime-datePicker",
|
|
367
|
+
"popper-class": "HdRadarTime-datePopper",
|
|
368
|
+
onChange: je
|
|
369
|
+
}, null, 8, ["modelValue"])]),
|
|
370
|
+
_: 1
|
|
371
|
+
}, 8, ["locale"])]),
|
|
372
|
+
p("div", {
|
|
373
|
+
class: "HdRadarTime-dropdown",
|
|
374
|
+
ref_key: "dropdownRef",
|
|
375
|
+
ref: j
|
|
376
|
+
}, [p("div", {
|
|
377
|
+
class: "HdRadarTime-dropdownTrigger",
|
|
378
|
+
onClick: Me
|
|
379
|
+
}, [p("span", ue, C(q.value.length > 0 ? Ee.value : "暂无数据"), 1), p("span", { class: _(["HdRadarTime-dropdownArrow", { "HdRadarTime-dropdownArrow--open": N.value }]) }, "▼", 2)]), E(p("div", de, [p("div", fe, [q.value.length === 0 ? (b(), f("div", pe, " 暂无数据 ")) : (b(!0), f(c, { key: 1 }, S(q.value, (e, t) => (b(), f("div", {
|
|
380
|
+
key: t,
|
|
381
|
+
class: _(["HdRadarTime-dropdownItem", { "HdRadarTime-dropdownItem--active": z.value === t }]),
|
|
382
|
+
onClick: (e) => Pe(t)
|
|
383
|
+
}, C(e.displayTimeWithoutYear), 11, me))), 128))])], 512), [[ie, N.value]])], 512),
|
|
384
|
+
p("div", he, [e.showGrid && Y.value ? (b(), u(g, {
|
|
385
|
+
key: 0,
|
|
386
|
+
modelValue: P.value,
|
|
387
|
+
"onUpdate:modelValue": l[2] ||= (e) => P.value = e,
|
|
388
|
+
size: "small"
|
|
389
|
+
}, {
|
|
390
|
+
default: T(() => [...l[6] ||= [ee("dBZ网格", -1)]]),
|
|
391
|
+
_: 1
|
|
392
|
+
}, 8, ["modelValue"])) : d("", !0), e.showLegend ? (b(), u(g, {
|
|
393
|
+
key: 1,
|
|
394
|
+
modelValue: F.value,
|
|
395
|
+
"onUpdate:modelValue": l[3] ||= (e) => F.value = e,
|
|
396
|
+
size: "small"
|
|
397
|
+
}, {
|
|
398
|
+
default: T(() => [...l[7] ||= [ee("图例", -1)]]),
|
|
399
|
+
_: 1
|
|
400
|
+
}, 8, ["modelValue"])) : d("", !0)]),
|
|
401
|
+
p("div", ge, [l[8] ||= p("span", { class: "HdRadarTime-speedLabel" }, "播放间隔", -1), m(ne, {
|
|
402
|
+
modelValue: H.value,
|
|
403
|
+
"onUpdate:modelValue": l[4] ||= (e) => H.value = e,
|
|
404
|
+
class: "HdRadarTime-speedSelect",
|
|
405
|
+
"popper-class": "HdRadarTime-speedPopper",
|
|
406
|
+
size: "small",
|
|
407
|
+
teleported: !1
|
|
408
|
+
}, {
|
|
409
|
+
default: T(() => [(b(), f(c, null, S(Te, (e) => m(y, {
|
|
410
|
+
key: e,
|
|
411
|
+
label: `×${e}`,
|
|
412
|
+
value: e
|
|
413
|
+
}, null, 8, ["label", "value"])), 64))]),
|
|
414
|
+
_: 1
|
|
415
|
+
}, 8, ["modelValue"])])
|
|
416
|
+
]),
|
|
417
|
+
p("div", _e, [p("button", {
|
|
418
|
+
class: _(["HdRadarTime-playBtn", { "HdRadarTime-playBtn--playing": V.value }]),
|
|
419
|
+
onClick: Le
|
|
420
|
+
}, [V.value ? (b(), f("svg", ye, [...l[10] ||= [p("path", { d: "M6 4h4v16H6V4zm8 0h4v16h-4V4z" }, null, -1)]])) : (b(), f("svg", ve, [...l[9] ||= [p("path", { d: "M8 5v14l11-7z" }, null, -1)]]))], 2)]),
|
|
421
|
+
p("div", {
|
|
422
|
+
class: "HdRadarTime-track",
|
|
423
|
+
ref_key: "trackRef",
|
|
424
|
+
ref: M,
|
|
425
|
+
onMousedown: ze,
|
|
426
|
+
onMousemove: Be,
|
|
427
|
+
onMouseup: Ve,
|
|
428
|
+
onMouseleave: Ve
|
|
429
|
+
}, [
|
|
430
|
+
p("div", be, [p("div", {
|
|
431
|
+
class: "HdRadarTime-trackSection HdRadarTime-trackSection--live",
|
|
432
|
+
style: v({ width: De.value + "%" })
|
|
433
|
+
}, [...l[11] ||= [p("span", { class: "HdRadarTime-trackLabel" }, "实况", -1)]], 4), p("div", {
|
|
434
|
+
class: "HdRadarTime-trackSection HdRadarTime-trackSection--forecast",
|
|
435
|
+
style: v({ width: 100 - De.value + "%" })
|
|
436
|
+
}, [...l[12] ||= [p("span", {
|
|
437
|
+
class: "HdRadarTime-trackLabel",
|
|
438
|
+
style: { color: "#fff" }
|
|
439
|
+
}, "外推", -1)]], 4)]),
|
|
440
|
+
p("div", xe, [(b(!0), f(c, null, S(L.value, (e, t) => (b(), f("div", {
|
|
441
|
+
key: t,
|
|
442
|
+
class: _(["HdRadarTime-tick", { "HdRadarTime-tick--active": B.value === t }]),
|
|
443
|
+
style: v({ left: ke(t) + "%" }),
|
|
444
|
+
onClick: ae((e) => Ie(t), ["stop"])
|
|
445
|
+
}, [...l[13] ||= [p("div", { class: "HdRadarTime-tickDot" }, null, -1)]], 14, Se))), 128))]),
|
|
446
|
+
p("div", {
|
|
447
|
+
class: "HdRadarTime-indicator",
|
|
448
|
+
style: v({ left: Oe.value + "%" })
|
|
449
|
+
}, null, 4),
|
|
450
|
+
e.showCurrentTime && J.value ? (b(), f("div", {
|
|
451
|
+
key: 0,
|
|
452
|
+
class: "HdRadarTime-currentTime",
|
|
453
|
+
style: v({ left: Oe.value + "%" })
|
|
454
|
+
}, C(J.value.time.substring(11, 16)), 5)) : d("", !0)
|
|
455
|
+
], 544)
|
|
456
|
+
])])), [[x, U.value]]);
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
}), [["__scopeId", "data-v-77788119"]]);
|
|
460
|
+
//#endregion
|
|
461
|
+
export { we as t };
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { n as e } from "./component-AqiMonitor-DoAVs1Jf.mjs";
|
|
2
|
+
import { i as t } from "./component-AiChat-C1xBPkS5.mjs";
|
|
3
|
+
import { ElOption as n, ElSelect as r } from "element-plus/es";
|
|
4
|
+
import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, getCurrentInstance as f, normalizeClass as p, normalizeStyle as m, onMounted as h, openBlock as g, ref as _, renderList as v, toDisplayString as y, watch as ee, withCtx as b } from "vue";
|
|
5
|
+
//#region src/components/HdSeaCase/HdSeaCase.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var x = { class: "HdSeaCase" }, S = { class: "HdSeaCase-panel" }, C = { class: "HdSeaCase-caseBar" }, w = { class: "HdSeaCase-body" }, te = { class: "HdSeaCase-cards" }, ne = ["onClick"], T = { class: "HdSeaCase-cardHeader" }, E = { class: "HdSeaCase-cardBody" }, D = { class: "HdSeaCase-axis" }, O = ["onClick"], k = { class: "HdSeaCase-stages" }, A = ["onClick"], j = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "HdSeaCase-detailMask"
|
|
9
|
+
}, M = { class: "HdSeaCase-detailPopup" }, N = { class: "HdSeaCase-detailHeader" }, P = { class: "HdSeaCase-detailBody" }, F = {
|
|
10
|
+
key: 0,
|
|
11
|
+
class: "HdSeaCase-detailGallery"
|
|
12
|
+
}, I = { class: "HdSeaCase-galleryList" }, L = ["src"], R = { class: "HdSeaCase-detailTitleList" }, z = ["onClick"], B = /* @__PURE__ */ e(/* @__PURE__ */ d({
|
|
13
|
+
__name: "HdSeaCase",
|
|
14
|
+
props: {
|
|
15
|
+
mock: {
|
|
16
|
+
type: Boolean,
|
|
17
|
+
default: !0
|
|
18
|
+
},
|
|
19
|
+
baseHttp: { default: "" },
|
|
20
|
+
appKey: { default: "" },
|
|
21
|
+
appSalt: { default: "" },
|
|
22
|
+
ids: { default: () => ({}) },
|
|
23
|
+
mockData: { default: () => [{
|
|
24
|
+
id: "cooperation",
|
|
25
|
+
title: "海洋气象应急保障合作机制协议",
|
|
26
|
+
stages: [
|
|
27
|
+
{
|
|
28
|
+
id: "s1",
|
|
29
|
+
time: "2021年9月23日",
|
|
30
|
+
label: "西海岸新区海洋发展局调研",
|
|
31
|
+
content: "为开展近海海域气象监测,大力促进海洋产业发展,陈清峰副局长带队赴青岛西海岸新区海洋发展局进行调研。",
|
|
32
|
+
detailTitle: "西海岸新区海洋发展局调研",
|
|
33
|
+
items: [{
|
|
34
|
+
title: "调研交流",
|
|
35
|
+
images: ["http://58.59.29.51:11014/staticImg/TypicalInstance/海洋11.png", "http://58.59.29.51:11014/staticImg/TypicalInstance/海洋2.png"],
|
|
36
|
+
content: "为开展近海海域气象监测,大力促进海洋产业发展,陈清峰副局长带队赴青岛西海岸新区海洋发展局进行调研。"
|
|
37
|
+
}]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "s2",
|
|
41
|
+
time: "2023年2月28日",
|
|
42
|
+
label: "推动“三级联动”机制调研",
|
|
43
|
+
content: "为推动“三级联动”向纵深发展,着力解决制约气象高质量发展的基础性、关键性问题,王贵全局长带队前往西海岸新区海洋发展局进行调研交流。",
|
|
44
|
+
detailContent: "为推动“三级联动”向纵深发展,着力解决制约气象高质量发展的基础性、关键性问题,王贵全局长带队前往西海岸新区海洋发展局进行调研交流。"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "s3",
|
|
48
|
+
time: "学习经验做法",
|
|
49
|
+
label: "学习经验做法",
|
|
50
|
+
content: "赴威海、日照等地学习经验做法,广泛征求本地渔民和行业管理部门意见,对新区海域进行区划。",
|
|
51
|
+
detailContent: "赴威海、日照等地学习经验做法,广泛征求本地渔民和行业管理部门意见,对新区海域进行区划。"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: "s4",
|
|
55
|
+
time: "服务产品",
|
|
56
|
+
label: "形成预报产品",
|
|
57
|
+
content: "形成精细化海洋气象预报服务产品。",
|
|
58
|
+
detailTitle: "形成预报产品",
|
|
59
|
+
items: [{
|
|
60
|
+
title: "预报服务产品",
|
|
61
|
+
images: ["http://58.59.29.51:11014/staticImg/TypicalInstance/海洋气象服务_10.png", "http://58.59.29.51:11014/staticImg/TypicalInstance/海洋气象服务_10.png"],
|
|
62
|
+
content: "回访分区气象预报服务成果。"
|
|
63
|
+
}]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: "s5",
|
|
67
|
+
time: "2024年",
|
|
68
|
+
label: "海洋气象应急保障合作机制协议",
|
|
69
|
+
content: "双方将在共谋共建共享、预警信息传播、海上突发事件处置、海上安全监管、服务效益评价等方面开展工作。",
|
|
70
|
+
detailTitle: "海洋气象应急保障合作机制协议",
|
|
71
|
+
items: [{
|
|
72
|
+
title: "建立合作",
|
|
73
|
+
images: ["../../assets/img/icons/面板.png"],
|
|
74
|
+
content: "签订海洋气象应急保障合作机制协议。"
|
|
75
|
+
}]
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}, {
|
|
79
|
+
id: "wind2021",
|
|
80
|
+
title: "2021年5月7日,海面大风,船舶禁止通行,游客滞留",
|
|
81
|
+
stages: [
|
|
82
|
+
{
|
|
83
|
+
id: "w1",
|
|
84
|
+
time: "5月7日8时",
|
|
85
|
+
label: "海面大风,禁止船舶通行",
|
|
86
|
+
content: "受蒙古气旋持续影响,青岛西海岸新区近海海域风力7级到8级,阵风10级。海上风浪较大,风力达到7级以上,灵山湾全面禁止船舶通行。"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
id: "w2",
|
|
90
|
+
time: "5月7日9时",
|
|
91
|
+
label: "商讨应急方案",
|
|
92
|
+
content: "韩千钧副区长迅速组织海事、气象、港务、灵山湾管委会等部门商讨方案。研究决定,由气象局提供精准的航线风力预报。"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: "w3",
|
|
96
|
+
time: "5月7日13时10分",
|
|
97
|
+
label: "给出船舶航行精准气象条件建议",
|
|
98
|
+
content: "气象局根据监测实况及天气形势变化,预计7日下午到傍晚有大风间歇窗口期,有利于航行。"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
id: "w4",
|
|
102
|
+
time: "5月7日15时25分",
|
|
103
|
+
label: "游客成功离岛",
|
|
104
|
+
content: "基于气象局给出的决策建议,海事处安排船舶,截至当日15时25分,顺利转移所有岛上游客。"
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
}] }
|
|
108
|
+
},
|
|
109
|
+
emits: ["close"],
|
|
110
|
+
setup(e, { emit: d }) {
|
|
111
|
+
let B = f()?.appContext.config.globalProperties.$bus, V = e, H = d, U = _([]), W = _(""), G = _(0), K = _(!1), q = _(null), J = _(0), Y = a(() => U.value.find((e) => e.id === W.value) || U.value[0] || null), X = a(() => q.value?.items?.length ? q.value.items[J.value] || q.value.items[0] : null), Z = () => {
|
|
112
|
+
H("close", "HdSeaCase");
|
|
113
|
+
}, re = (e) => {
|
|
114
|
+
let t = 100 / (Y.value?.stages.length || 1);
|
|
115
|
+
return `${t * e + t / 2}%`;
|
|
116
|
+
}, ie = () => {
|
|
117
|
+
G.value = 0;
|
|
118
|
+
}, Q = (e, t) => {
|
|
119
|
+
G.value = t, q.value = e, J.value = 0, K.value = !0;
|
|
120
|
+
}, ae = () => {
|
|
121
|
+
K.value = !1, q.value = null, J.value = 0;
|
|
122
|
+
};
|
|
123
|
+
ee(K, (e) => {
|
|
124
|
+
e || (J.value = 0);
|
|
125
|
+
});
|
|
126
|
+
let oe = (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, se = () => {
|
|
127
|
+
U.value = V.mockData || [], W.value = U.value[0]?.id || "";
|
|
128
|
+
}, ce = async () => {
|
|
129
|
+
let e = V.ids.data;
|
|
130
|
+
if (!e?.id) {
|
|
131
|
+
console.warn("HdSeaCase 缺少数据工作流配置");
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
let n = oe(await t({
|
|
136
|
+
id: e.id,
|
|
137
|
+
baseHttp: V.baseHttp,
|
|
138
|
+
reqType: e.reqType,
|
|
139
|
+
variables: {},
|
|
140
|
+
isFormData: e.isFormData,
|
|
141
|
+
appKey: V.appKey,
|
|
142
|
+
appSalt: V.appSalt
|
|
143
|
+
}));
|
|
144
|
+
n && (U.value = Array.isArray(n) ? n : n.list || [], W.value = U.value[0]?.id || "");
|
|
145
|
+
} catch (e) {
|
|
146
|
+
console.error("HdSeaCase 数据加载失败", e);
|
|
147
|
+
}
|
|
148
|
+
}, $ = async () => {
|
|
149
|
+
V.mock ? se() : await ce();
|
|
150
|
+
};
|
|
151
|
+
return h(() => {
|
|
152
|
+
B?.on("toComponent", (e) => {
|
|
153
|
+
e.componentName === "HdSeaCase" && $();
|
|
154
|
+
}), $();
|
|
155
|
+
}), (e, t) => {
|
|
156
|
+
let a = n, d = r;
|
|
157
|
+
return g(), c("div", x, [l("div", S, [
|
|
158
|
+
l("button", {
|
|
159
|
+
class: "HdSeaCase-close",
|
|
160
|
+
onClick: Z
|
|
161
|
+
}, [...t[1] ||= [l("span", null, "✕", -1)]]),
|
|
162
|
+
t[3] ||= l("div", { class: "HdSeaCase-header" }, [l("div", { class: "HdSeaCase-title" }, "海洋专项服务典型案例")], -1),
|
|
163
|
+
l("div", C, [u(d, {
|
|
164
|
+
modelValue: W.value,
|
|
165
|
+
"onUpdate:modelValue": t[0] ||= (e) => W.value = e,
|
|
166
|
+
class: "HdSeaCase-caseSelect",
|
|
167
|
+
"popper-class": "HdSeaCase-casePopper",
|
|
168
|
+
size: "small",
|
|
169
|
+
teleported: !1,
|
|
170
|
+
onChange: ie
|
|
171
|
+
}, {
|
|
172
|
+
default: b(() => [(g(!0), c(i, null, v(U.value, (e) => (g(), o(a, {
|
|
173
|
+
key: e.id,
|
|
174
|
+
label: e.title,
|
|
175
|
+
value: e.id
|
|
176
|
+
}, null, 8, ["label", "value"]))), 128))]),
|
|
177
|
+
_: 1
|
|
178
|
+
}, 8, ["modelValue"])]),
|
|
179
|
+
l("div", w, [
|
|
180
|
+
l("div", te, [(g(!0), c(i, null, v(Y.value?.stages, (e, t) => (g(), c("div", {
|
|
181
|
+
key: e.id,
|
|
182
|
+
class: p(["HdSeaCase-card", { "HdSeaCase-card--active": G.value === t }]),
|
|
183
|
+
onClick: (n) => Q(e, t)
|
|
184
|
+
}, [l("div", T, [l("span", null, y(e.time || e.label), 1)]), l("div", E, y(e.content), 1)], 10, ne))), 128))]),
|
|
185
|
+
l("div", D, [t[2] ||= l("div", { class: "HdSeaCase-line" }, null, -1), (g(!0), c(i, null, v(Y.value?.stages, (e, t) => (g(), c("div", {
|
|
186
|
+
key: e.id,
|
|
187
|
+
class: p(["HdSeaCase-node", { "HdSeaCase-node--active": G.value === t }]),
|
|
188
|
+
style: m({ left: re(t) }),
|
|
189
|
+
onClick: (n) => Q(e, t)
|
|
190
|
+
}, null, 14, O))), 128))]),
|
|
191
|
+
l("div", k, [(g(!0), c(i, null, v(Y.value?.stages, (e, t) => (g(), c("button", {
|
|
192
|
+
key: e.id,
|
|
193
|
+
class: p(["HdSeaCase-stageBtn", { "HdSeaCase-stageBtn--highlight": t === Y.value?.stages.length - 1 }]),
|
|
194
|
+
onClick: (n) => Q(e, t)
|
|
195
|
+
}, y(e.label), 11, A))), 128))])
|
|
196
|
+
])
|
|
197
|
+
]), K.value ? (g(), c("div", j, [l("div", M, [
|
|
198
|
+
l("button", {
|
|
199
|
+
class: "HdSeaCase-detailClose",
|
|
200
|
+
onClick: ae
|
|
201
|
+
}, [...t[4] ||= [l("span", null, "✕", -1)]]),
|
|
202
|
+
l("div", N, y(q.value?.detailTitle || Y.value?.title), 1),
|
|
203
|
+
l("div", P, [X.value ? (g(), c("div", F, [l("div", I, [(g(!0), c(i, null, v(X.value.images, (e, t) => (g(), c("div", {
|
|
204
|
+
key: t,
|
|
205
|
+
class: "HdSeaCase-galleryItem"
|
|
206
|
+
}, [l("img", {
|
|
207
|
+
src: e,
|
|
208
|
+
alt: ""
|
|
209
|
+
}, null, 8, L)]))), 128))])])) : s("", !0), l("div", R, [(g(!0), c(i, null, v(q.value?.items, (e, t) => (g(), c("div", {
|
|
210
|
+
key: t,
|
|
211
|
+
class: p(["HdSeaCase-titleItem", { "HdSeaCase-titleItem--active": J.value === t }]),
|
|
212
|
+
onClick: (e) => J.value = t
|
|
213
|
+
}, y(e.title), 11, z))), 128))])])
|
|
214
|
+
])])) : s("", !0)]);
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
}), [["__scopeId", "data-v-cf5c0a5e"]]);
|
|
218
|
+
//#endregion
|
|
219
|
+
export { B as t };
|