nxd-plugin 1.7.97 → 1.7.99

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 (123) hide show
  1. package/dist/chunks/{component-AiChat-CMbG8e28.mjs → component-AiChat-B2YoRfzz.mjs} +1 -1
  2. package/dist/chunks/{component-AqiMonitor-CVb99opd.mjs → component-AqiMonitor-DWhSDKFM.mjs} +1 -1
  3. package/dist/chunks/{component-ChartCumulativePre-DbbqXqZE.mjs → component-ChartCumulativePre-CYVahvTN.mjs} +2 -2
  4. package/dist/chunks/{component-ChartServiceMaterial-hU5a_G6w.mjs → component-ChartServiceMaterial-CbiB7503.mjs} +2 -2
  5. package/dist/chunks/{component-Duty-BCW6ohuO.mjs → component-Duty-CxH58EY9.mjs} +2 -2
  6. package/dist/chunks/{component-EarlyWarningStatistic-DSp82HGZ.mjs → component-EarlyWarningStatistic-BsgcJent.mjs} +2 -2
  7. package/dist/chunks/{component-EarlyWarningStatistic2-DmHCmtaq.mjs → component-EarlyWarningStatistic2-CEnr2SX2.mjs} +2 -2
  8. package/dist/chunks/component-Forecast72h-6g0PcT0B.mjs +539 -0
  9. package/dist/chunks/{component-GeologyLiveAlarm-0P99V7KX.mjs → component-GeologyLiveAlarm-CzEt43gy.mjs} +2 -2
  10. package/dist/chunks/component-GridForecastMsg-B1CCDv2Y.mjs +203 -0
  11. package/dist/chunks/{component-HDSeaLegend-BSGtGcnh.mjs → component-HDSeaLegend-B2xekirw.mjs} +1 -1
  12. package/dist/chunks/component-HdCameraList-CEOhupnQ.mjs +393 -0
  13. package/dist/chunks/{component-HdForecastProducts-_2ttNo-z.mjs → component-HdForecastProducts-DaeNeMiI.mjs} +2 -2
  14. package/dist/chunks/component-HdHeatChart-DiG-hplN.mjs +372 -0
  15. package/dist/chunks/component-HdHeatChartDialog-C1tPPcVw.mjs +590 -0
  16. package/dist/chunks/component-HdHeatService-UxyMUQp4.mjs +480 -0
  17. package/dist/chunks/component-HdInsectDetailList-BiVgf4Nc.mjs +266 -0
  18. package/dist/chunks/component-HdInsectList-CToVsJiF.mjs +328 -0
  19. package/dist/chunks/{component-HdObservation-DV1mfQsB.mjs → component-HdObservation-BV5jDCZt.mjs} +44 -45
  20. package/dist/chunks/{component-HdPreSituation-DY6gsT_y.mjs → component-HdPreSituation-DY4j43V7.mjs} +6 -6
  21. package/dist/chunks/component-HdQxServiceEffects-DM-KlAru.mjs +262 -0
  22. package/dist/chunks/{component-HdRadarList-BQ1MH8GG.mjs → component-HdRadarList-BdXRt42m.mjs} +3 -3
  23. package/dist/chunks/{component-HdRadarTime-D7ySMzpg.mjs → component-HdRadarTime-OAbsHPlS.mjs} +2 -2
  24. package/dist/chunks/component-HdRisk-tQq0onmA.mjs +236 -0
  25. package/dist/chunks/component-HdSeaCase-DoWAhrNy.mjs +239 -0
  26. package/dist/chunks/{component-HdServiceMarterial-BgIt-ELd.mjs → component-HdServiceMarterial-nCfTCfyI.mjs} +77 -77
  27. package/dist/chunks/{component-HdServiceRequirements-B83V-lQN.mjs → component-HdServiceRequirements-S9zSof01.mjs} +45 -45
  28. package/dist/chunks/component-HdSoil-tr6IWswf.mjs +350 -0
  29. package/dist/chunks/component-HdSoilDetailList-DG-TzCl0.mjs +402 -0
  30. package/dist/chunks/{component-HdStationTem-DdMSzVEC.mjs → component-HdStationTem-DrPBR7fV.mjs} +77 -78
  31. package/dist/chunks/{component-HdSuggestion-CrvAGw81.mjs → component-HdSuggestion-DQO0InyO.mjs} +3 -3
  32. package/dist/chunks/component-HdThreeWeatherTrend-CElSAKJs.mjs +333 -0
  33. package/dist/chunks/component-HdWaveForcast-D3Hm8Dg3.mjs +241 -0
  34. package/dist/chunks/{component-HighQuality-Bsqgp8R-.mjs → component-HighQuality-C_W_iOrU.mjs} +7 -7
  35. package/dist/chunks/{component-HighWayEarlyWarningRed-D0uKUK3B.mjs → component-HighWayEarlyWarningRed-D5iSGN5l.mjs} +2 -2
  36. package/dist/chunks/{component-HighWayFreeze-sGJddgnr.mjs → component-HighWayFreeze-B9v5Z9Yd.mjs} +2 -2
  37. package/dist/chunks/{component-HighwayLiveAlarm-Wm2rCVBb.mjs → component-HighwayLiveAlarm-DjcOZUJv.mjs} +2 -2
  38. package/dist/chunks/{component-HighwayLiveAlarmNew-YjS0FM1d.mjs → component-HighwayLiveAlarmNew-C35RKvL1.mjs} +3 -3
  39. package/dist/chunks/{component-HighwayStations-DRfDmHmK.mjs → component-HighwayStations-U_rU4hJi.mjs} +2 -2
  40. package/dist/chunks/{component-HighwayWeatherForecast-Cp50--Dj.mjs → component-HighwayWeatherForecast-BD547juJ.mjs} +4 -4
  41. package/dist/chunks/{component-IframeWeb-HpaTePnW.mjs → component-IframeWeb-DMn6K9zk.mjs} +1 -1
  42. package/dist/chunks/{component-ImageGeneration-zj2WbvzB.mjs → component-ImageGeneration-BFSnXOdZ.mjs} +2 -2
  43. package/dist/chunks/{component-IntroducePic-BxDMkIyJ.mjs → component-IntroducePic-BmvED_mB.mjs} +2 -2
  44. package/dist/chunks/{component-LithiumBatteryMiningArea-BC05EqiO.mjs → component-LithiumBatteryMiningArea-BM_8uVPy.mjs} +2 -2
  45. package/dist/chunks/{component-MapPopup-DYsV0ICP.mjs → component-MapPopup-CRQjbIZT.mjs} +1 -1
  46. package/dist/chunks/{component-MaterialPreview-DJhj0Gh9.mjs → component-MaterialPreview-Dmg4LG8h.mjs} +2 -2
  47. package/dist/chunks/{component-PieLegend-BsDM9oA_.mjs → component-PieLegend-B90e9FMW.mjs} +1 -1
  48. package/dist/chunks/{component-PrecipitationRanking-B7gEEuCe.mjs → component-PrecipitationRanking-BamBChop.mjs} +9 -9
  49. package/dist/chunks/{component-RadarChart-V_2K97Yw.mjs → component-RadarChart-DrQnSK2_.mjs} +2 -2
  50. package/dist/chunks/{component-RadarLegend-DwjhHZ-N.mjs → component-RadarLegend-UaQXwEdl.mjs} +1 -1
  51. package/dist/chunks/{component-RadarShortTerm-aF13_Zcy.mjs → component-RadarShortTerm-B6DiXwjj.mjs} +4 -4
  52. package/dist/chunks/{component-RadarTime-ZN7o47Mu.mjs → component-RadarTime-CrWj-oVD.mjs} +2 -2
  53. package/dist/chunks/{component-RenderMarkdown-BX-kHqL2.mjs → component-RenderMarkdown-CSoLEsFv.mjs} +2 -2
  54. package/dist/chunks/{component-ReservoirLiveAlarm-WVVwwKYZ.mjs → component-ReservoirLiveAlarm-CJUDC3QW.mjs} +3 -3
  55. package/dist/chunks/{component-ServiceMaterial-9imbipjj.mjs → component-ServiceMaterial-DR7imvMZ.mjs} +2 -2
  56. package/dist/chunks/{component-ServiceMaterialsBtn-693xq1p7.mjs → component-ServiceMaterialsBtn-BWxBKKWn.mjs} +1 -1
  57. package/dist/chunks/{component-StationDialog-C859f8A-.mjs → component-StationDialog-2KObsuJ8.mjs} +4 -4
  58. package/dist/chunks/{component-StationList-BQHnyqox.mjs → component-StationList-CJ7XHlZl.mjs} +10 -14
  59. package/dist/chunks/{component-TimeBasedForecast-DH-OHwXc.mjs → component-TimeBasedForecast-B2ewC_QX.mjs} +4 -4
  60. package/dist/chunks/{component-Typhoon-C6jT8EFX.mjs → component-Typhoon-BQQCoEbU.mjs} +2 -2
  61. package/dist/chunks/{component-WarningLine-D3aVWmUZ.mjs → component-WarningLine-9Y5OJRig.mjs} +2 -2
  62. package/dist/chunks/{component-WarningSignal-CEe242B5.mjs → component-WarningSignal-uXiAUGTl.mjs} +3 -3
  63. package/dist/chunks/{component-WeatherForecast-BfqfB6UO.mjs → component-WeatherForecast-BIeLjzMw.mjs} +4 -4
  64. package/dist/chunks/{component-YCDataMonitor-DROgvkZ-.mjs → component-YCDataMonitor-D8jFTVaA.mjs} +2 -2
  65. package/dist/chunks/{component-YCDataService-BM5kQwax.mjs → component-YCDataService--R26h5UL.mjs} +4 -4
  66. package/dist/chunks/{component-YCHighWaySummary-Bh0IXiDd.mjs → component-YCHighWaySummary-CeYp4g4j.mjs} +2 -2
  67. package/dist/chunks/{component-YCHome-DwYK1Re4.mjs → component-YCHome-DQSDzxCG.mjs} +4 -4
  68. package/dist/chunks/{component-YCHomeLegend-BadxwkzL.mjs → component-YCHomeLegend-DiFftuY3.mjs} +1 -1
  69. package/dist/chunks/{component-YCLoginNew-D5u2lDWS.mjs → component-YCLoginNew-CFJSyKfV.mjs} +3 -3
  70. package/dist/components/Forecast72h/Forecast72h.vue.d.ts +2 -23
  71. package/dist/components/GridForecastMsg/GridForecastMsg.vue.d.ts +24 -0
  72. package/dist/components/HdCameraList/HdCameraList.vue.d.ts +6 -0
  73. package/dist/components/HdHeatChart/HdHeatChart.vue.d.ts +44 -0
  74. package/dist/components/HdHeatChart/mockData.d.ts +12 -0
  75. package/dist/components/HdHeatChartDialog/HdHeatChartDialog.vue.d.ts +52 -0
  76. package/dist/components/HdHeatChartDialog/mockData.d.ts +23 -0
  77. package/dist/components/HdHeatService/HdHeatService.vue.d.ts +8 -20
  78. package/dist/components/HdInsectDetailList/HdInsectDetailList.vue.d.ts +22 -0
  79. package/dist/components/HdInsectList/HdInsectList.vue.d.ts +57 -0
  80. package/dist/components/HdRisk/HdRisk.vue.d.ts +61 -0
  81. package/dist/components/HdSeaCase/HdSeaCase.vue.d.ts +4 -24
  82. package/dist/components/HdSoil/HdSoil.vue.d.ts +55 -0
  83. package/dist/components/HdSoilDetailList/HdSoilDetailList.vue.d.ts +30 -0
  84. package/dist/components/HdThreeWeatherTrend/HdThreeWeatherTrend.vue.d.ts +2 -20
  85. package/dist/components/HdWaveForcast/HdWaveForcast.vue.d.ts +4 -20
  86. package/dist/components/StationList/StationList.vue.d.ts +2 -2
  87. package/dist/index.d.ts +9 -1
  88. package/dist/nxd-plugin.mjs +70 -61
  89. package/dist/styles/component-Forecast72h.css +1 -1
  90. package/dist/styles/component-GridForecastMsg.css +1 -0
  91. package/dist/styles/component-HDSeaLegend.css +1 -1
  92. package/dist/styles/component-HdCameraList.css +1 -1
  93. package/dist/styles/component-HdForecastProducts.css +1 -1
  94. package/dist/styles/component-HdHeatChart.css +1 -0
  95. package/dist/styles/component-HdHeatChartDialog.css +1 -0
  96. package/dist/styles/component-HdHeatService.css +1 -1
  97. package/dist/styles/component-HdInsectDetailList.css +1 -0
  98. package/dist/styles/component-HdInsectList.css +1 -0
  99. package/dist/styles/component-HdObservation.css +1 -1
  100. package/dist/styles/component-HdPreSituation.css +1 -1
  101. package/dist/styles/component-HdQxServiceEffects.css +1 -0
  102. package/dist/styles/component-HdRadarList.css +1 -1
  103. package/dist/styles/component-HdRisk.css +1 -0
  104. package/dist/styles/component-HdSeaCase.css +1 -1
  105. package/dist/styles/component-HdServiceMarterial.css +1 -1
  106. package/dist/styles/component-HdServiceRequirements.css +1 -1
  107. package/dist/styles/component-HdSoil.css +1 -0
  108. package/dist/styles/component-HdSoilDetailList.css +1 -0
  109. package/dist/styles/component-HdStationTem.css +1 -1
  110. package/dist/styles/component-HdSuggestion.css +1 -1
  111. package/dist/styles/component-HdThreeWeatherTrend.css +1 -1
  112. package/dist/styles/component-HdWaveForcast.css +1 -1
  113. package/dist/styles/component-HighQuality.css +1 -1
  114. package/dist/styles/component-PrecipitationRanking.css +1 -1
  115. package/dist/styles/component-StationList.css +1 -1
  116. package/dist/styles/component-YCLoginNew.css +1 -1
  117. package/package.json +1 -1
  118. package/dist/chunks/component-Forecast72h-hi7bHW_J.mjs +0 -543
  119. package/dist/chunks/component-HdCameraList-Cz1OYJEN.mjs +0 -332
  120. package/dist/chunks/component-HdHeatService-BKK-w3Xc.mjs +0 -412
  121. package/dist/chunks/component-HdSeaCase-wnGV704s.mjs +0 -219
  122. package/dist/chunks/component-HdThreeWeatherTrend-Deliswz6.mjs +0 -394
  123. package/dist/chunks/component-HdWaveForcast-CL4Ghg7T.mjs +0 -271
@@ -0,0 +1,236 @@
1
+ import { n as e } from "./component-AqiMonitor-DWhSDKFM.mjs";
2
+ import { r as t } from "./component-AiChat-B2YoRfzz.mjs";
3
+ import "./component-Forecast72h-6g0PcT0B.mjs";
4
+ import { ElLoadingDirective as n } from "element-plus/es";
5
+ import { Fragment as r, computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, defineComponent as c, getCurrentInstance as l, nextTick as u, normalizeClass as d, onMounted as f, onUnmounted as p, openBlock as m, ref as h, renderList as g, toDisplayString as _, vShow as v, watch as ee, withDirectives as y } from "vue";
6
+ //#region src/components/HdRisk/HdRisk.vue?vue&type=script&setup=true&lang.ts
7
+ var b = {
8
+ class: "HdRisk",
9
+ "element-loading-text": "加载中...",
10
+ "element-loading-background": "rgba(0, 0, 0, 0.5)"
11
+ }, x = { class: "HdRisk-header" }, S = { class: "HdRisk-headerContent" }, C = { class: "HdRisk-title" }, w = {
12
+ key: 0,
13
+ class: "HdRisk-empty"
14
+ }, T = {
15
+ key: 1,
16
+ class: "HdRisk-body"
17
+ }, E = ["onClick"], D = { class: "HdRisk-thumb" }, te = ["src", "alt"], ne = {
18
+ key: 1,
19
+ class: "HdRisk-thumbPlaceholder"
20
+ }, re = { class: "HdRisk-itemTitle" }, O = /* @__PURE__ */ e(/* @__PURE__ */ c({
21
+ __name: "HdRisk",
22
+ props: {
23
+ mock: {
24
+ type: Boolean,
25
+ default: !1
26
+ },
27
+ title: { default: "灾害风险区划" },
28
+ baseHttp: { default: "" },
29
+ appKey: { default: "" },
30
+ appSalt: { default: "" },
31
+ imgBaseUrl: { default: "" },
32
+ layerBaseUrl: { default: "http://58.59.29.51:11014/geoserver/gwc/service/wmts" },
33
+ ids: { default: () => ({}) },
34
+ list: { default: () => [] },
35
+ mockData: { default: () => ({
36
+ title: "灾害风险区划",
37
+ list: []
38
+ }) }
39
+ },
40
+ emits: [
41
+ "close",
42
+ "addLayers",
43
+ "removeLayers",
44
+ "selectChange"
45
+ ],
46
+ setup(e, { expose: c, emit: O }) {
47
+ let k = e, A = O, j = l()?.appContext.config.globalProperties.$bus, M = h({
48
+ title: "",
49
+ list: []
50
+ }), N = h(null), P = h(!1), F = h(null), I = h(!1), L = h(!1), R = h("灾害风险区划"), z = i(() => k.list.length ? k.list : M.value.list), B = () => {
51
+ let e = F.value;
52
+ e && (I.value = e.scrollLeft > 0, L.value = e.scrollLeft + e.clientWidth < e.scrollWidth - 1);
53
+ };
54
+ ee(z, () => u(B), { immediate: !0 });
55
+ let V = (e) => /^https?:\/\//i.test(e), H = (e) => {
56
+ if (!e) return "";
57
+ if (V(e)) return e;
58
+ let t = k.imgBaseUrl || "";
59
+ return `${t}${t && !t.endsWith("/") && !e.startsWith("/") ? "/" : ""}${e}`;
60
+ }, U = () => B(), W = () => {
61
+ F.value?.scrollBy({
62
+ left: -148,
63
+ behavior: "smooth"
64
+ });
65
+ }, G = () => {
66
+ F.value?.scrollBy({
67
+ left: 148,
68
+ behavior: "smooth"
69
+ });
70
+ }, K = (e) => {
71
+ if (!e) return null;
72
+ let t = null;
73
+ if (t = 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, typeof t == "string") try {
74
+ t = JSON.parse(t);
75
+ } catch (e) {
76
+ console.warn("HdRisk 接口返回非 JSON 字符串", e);
77
+ }
78
+ return t;
79
+ }, q = (e) => e ? Array.isArray(e) ? e : Array.isArray(e.list) ? e.list : Array.isArray(e.ds) ? e.ds : Array.isArray(e.data) ? e.data : [] : [], J = (e) => ({
80
+ id: e.id ?? 0,
81
+ title: e.title ?? "",
82
+ layer_id: e.layer_id ?? e.layerId ?? "",
83
+ file_url: e.file_url ?? e.fileUrl ?? e.url ?? ""
84
+ }), Y = () => {
85
+ M.value = {
86
+ title: k.mockData?.title || "",
87
+ list: (k.mockData?.list || []).map(J)
88
+ };
89
+ }, ie = async () => {
90
+ let e = k.ids?.data;
91
+ if (!e?.id) {
92
+ console.warn("HdRisk 缺少数据工作流配置");
93
+ return;
94
+ }
95
+ P.value = !0;
96
+ try {
97
+ let n = K(await t({
98
+ id: e.id,
99
+ baseHttp: k.baseHttp,
100
+ reqType: e.reqType,
101
+ variables: {},
102
+ isFormData: e.isFormData,
103
+ appKey: k.appKey,
104
+ appSalt: k.appSalt
105
+ })), r = q(n).map(J);
106
+ M.value = {
107
+ title: n?.title || "",
108
+ list: r
109
+ };
110
+ } catch (e) {
111
+ console.error("HdRisk 加载失败", e);
112
+ } finally {
113
+ P.value = !1;
114
+ }
115
+ }, X = async () => {
116
+ k.mock ? Y() : await ie();
117
+ }, Z = (e) => {
118
+ e.layer_id && A("addLayers", {
119
+ name: e.layer_id,
120
+ layerId: e.layer_id,
121
+ title: e.title,
122
+ oneLayer: {
123
+ mapUrl: k.layerBaseUrl,
124
+ type: e.layer_id,
125
+ opacity: 1
126
+ },
127
+ visible: !0,
128
+ zIndex: 10
129
+ });
130
+ }, Q = (e) => {
131
+ e.layer_id && A("removeLayers", {
132
+ name: e.layer_id,
133
+ layerId: e.layer_id,
134
+ title: e.title
135
+ });
136
+ }, $ = () => {
137
+ let e = N.value;
138
+ if (e === null) return;
139
+ let t = z.value.find((t) => t.id === e);
140
+ N.value = null, t && Q(t);
141
+ }, ae = (e) => {
142
+ if (N.value === e.id) {
143
+ $(), A("selectChange", null);
144
+ return;
145
+ }
146
+ $(), N.value = e.id, R.value = "灾害风险区划-" + e.title, Z(e), A("selectChange", e);
147
+ }, oe = () => {
148
+ if (!z.value.length) return;
149
+ $();
150
+ let e = z.value[0];
151
+ N.value = e.id, Z(e), A("selectChange", e);
152
+ }, se = () => {
153
+ $(), A("selectChange", null);
154
+ }, ce = () => {
155
+ let e = N.value;
156
+ return e === null ? [] : z.value.filter((t) => t.id === e);
157
+ }, le = () => {
158
+ A("close", "HdRisk");
159
+ };
160
+ return c({
161
+ loadData: X,
162
+ addLayer: Z,
163
+ removeLayer: Q,
164
+ addAllLayers: oe,
165
+ clearLayers: se,
166
+ getSelected: ce
167
+ }), f(() => {
168
+ j?.on("toComponent", (e) => {
169
+ e?.componentName === "HdRisk" && X();
170
+ }), X(), window.addEventListener("resize", B), u(B);
171
+ }), p(() => {
172
+ window.removeEventListener("resize", B);
173
+ }), (e, t) => {
174
+ let i = n;
175
+ return y((m(), o("div", b, [
176
+ s("button", {
177
+ class: "HdRisk-close",
178
+ onClick: le
179
+ }, [...t[0] ||= [s("span", null, "✕", -1)]]),
180
+ s("div", x, [s("div", S, [s("h3", C, _(R.value), 1)]), t[1] ||= s("img", {
181
+ class: "HdRisk-headerLine",
182
+ 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",
183
+ alt: ""
184
+ }, null, -1)]),
185
+ !P.value && !z.value.length ? (m(), o("div", w, "暂无灾害风险区划数据")) : !P.value && z.value.length ? (m(), o("div", T, [
186
+ y(s("button", {
187
+ class: "HdRisk-arrow HdRisk-arrow--left",
188
+ onClick: W
189
+ }, [...t[2] ||= [s("svg", {
190
+ viewBox: "0 0 24 24",
191
+ width: "16",
192
+ height: "16"
193
+ }, [s("path", {
194
+ d: "M15 18l-6-6 6-6",
195
+ fill: "none",
196
+ stroke: "currentColor",
197
+ "stroke-width": "2",
198
+ "stroke-linecap": "round",
199
+ "stroke-linejoin": "round"
200
+ })], -1)]], 512), [[v, I.value]]),
201
+ s("div", {
202
+ ref_key: "scrollRef",
203
+ ref: F,
204
+ class: "HdRisk-scroll",
205
+ onScroll: U
206
+ }, [(m(!0), o(r, null, g(z.value, (e) => (m(), o("div", {
207
+ key: e.id,
208
+ class: d(["HdRisk-item", { "HdRisk-item--selected": N.value === e.id }]),
209
+ onClick: (t) => ae(e)
210
+ }, [s("div", D, [e.file_url ? (m(), o("img", {
211
+ key: 0,
212
+ src: H(e.file_url),
213
+ alt: e.title
214
+ }, null, 8, te)) : (m(), o("div", ne, "暂无图片"))]), s("div", re, _(e.title), 1)], 10, E))), 128))], 544),
215
+ y(s("button", {
216
+ class: "HdRisk-arrow HdRisk-arrow--right",
217
+ onClick: G
218
+ }, [...t[3] ||= [s("svg", {
219
+ viewBox: "0 0 24 24",
220
+ width: "16",
221
+ height: "16"
222
+ }, [s("path", {
223
+ d: "M9 18l6-6-6-6",
224
+ fill: "none",
225
+ stroke: "currentColor",
226
+ "stroke-width": "2",
227
+ "stroke-linecap": "round",
228
+ "stroke-linejoin": "round"
229
+ })], -1)]], 512), [[v, L.value]])
230
+ ])) : a("", !0)
231
+ ])), [[i, P.value]]);
232
+ };
233
+ }
234
+ }), [["__scopeId", "data-v-30d3d92a"]]);
235
+ //#endregion
236
+ export { O as t };
@@ -0,0 +1,239 @@
1
+ import { n as e } from "./component-AqiMonitor-DWhSDKFM.mjs";
2
+ import { r as t } from "./component-AiChat-B2YoRfzz.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 b, withCtx as x } from "vue";
5
+ //#region src/components/HdSeaCase/HdSeaCase.vue?vue&type=script&setup=true&lang.ts
6
+ var ee = { class: "HdSeaCase" }, te = { class: "HdSeaCase-panel" }, ne = { class: "HdSeaCase-caseBar" }, re = { class: "HdSeaCase-body" }, ie = {
7
+ key: 0,
8
+ class: "HdSeaCase-empty"
9
+ }, ae = { class: "HdSeaCase-row HdSeaCase-row--cards" }, oe = ["onClick"], se = { class: "HdSeaCase-cardHeader" }, ce = { class: "HdSeaCase-cardBody" }, le = { class: "HdSeaCase-row HdSeaCase-row--axis" }, ue = ["onClick"], de = { class: "HdSeaCase-row HdSeaCase-row--stages" }, S = ["onClick"], C = {
10
+ key: 0,
11
+ class: "HdSeaCase-detailMask"
12
+ }, w = { class: "HdSeaCase-detailPopup" }, T = { class: "HdSeaCase-detailHeader" }, E = {
13
+ key: 0,
14
+ class: "HdSeaCase-detailLoading"
15
+ }, D = {
16
+ key: 1,
17
+ class: "HdSeaCase-detailBody"
18
+ }, O = {
19
+ key: 0,
20
+ class: "HdSeaCase-detailGallery"
21
+ }, k = { class: "HdSeaCase-galleryList" }, A = ["src"], j = { class: "HdSeaCase-detailTitleList" }, M = ["onClick"], N = 200, P = 16, F = 8, I = /* @__PURE__ */ e(/* @__PURE__ */ d({
22
+ __name: "HdSeaCase",
23
+ props: {
24
+ baseHttp: { default: "" },
25
+ appKey: { default: "" },
26
+ appSalt: { default: "" },
27
+ imgBaseUrl: { default: "" },
28
+ categoryType: { default: "" },
29
+ ids: { default: () => ({}) }
30
+ },
31
+ emits: ["close"],
32
+ setup(e, { emit: d }) {
33
+ let I = f()?.appContext.config.globalProperties.$bus, L = e, R = d, z = _([]), B = _([]), V = _(""), H = _(0), U = _(!1), W = _(null), G = _(0), K = _(!1), fe = a(() => z.value.find((e) => e.id === V.value)?.title || ""), q = a(() => W.value?.items?.length ? W.value.items[G.value] || W.value.items[0] : null), pe = () => {
34
+ R("close", "HdSeaCase");
35
+ }, me = (e) => `${F + N / 2 + e * (N + P)}px`, he = (e) => /^https?:\/\//i.test(e), ge = (e) => {
36
+ if (!e) return "";
37
+ if (he(e)) return e;
38
+ let t = L.imgBaseUrl || "";
39
+ return `${t}${t && !t.endsWith("/") && !e.startsWith("/") ? "/" : ""}${e}`;
40
+ }, J = (e) => {
41
+ if (!e) return null;
42
+ let t = null;
43
+ if (t = 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, typeof t == "string") try {
44
+ t = JSON.parse(t);
45
+ } catch (e) {
46
+ console.warn("HdSeaCase 接口返回非 JSON 字符串", e);
47
+ }
48
+ return t;
49
+ }, Y = (e) => {
50
+ if (!e) return [];
51
+ if (Array.isArray(e)) return e;
52
+ if (typeof e == "object") {
53
+ let t = Object.values(e);
54
+ if (t.length) return t;
55
+ }
56
+ return [];
57
+ }, X = (e) => ({
58
+ id: e.id ?? e.caseId ?? "",
59
+ title: e.case_name ?? e.caseName ?? e.title ?? ""
60
+ }), _e = (e) => ({
61
+ id: e.id ?? e.categoryId ?? "",
62
+ caseId: e.case_id ?? e.caseId ?? "",
63
+ time: e.category_title ?? e.categoryTitle ?? e.time ?? "",
64
+ label: e.summary ?? e.label ?? "",
65
+ content: e.description ?? e.content ?? ""
66
+ }), ve = (e) => {
67
+ let t = e.image_url ?? e.imageUrl ?? "", n = t ? String(t).split(",").map((e) => e.trim()).filter(Boolean) : [];
68
+ return {
69
+ title: e.image_name ?? e.imageName ?? "详情",
70
+ images: n.map(ge),
71
+ content: e.description ?? e.content ?? ""
72
+ };
73
+ }, ye = async () => {
74
+ let e = L.ids?.select;
75
+ if (!e?.id) {
76
+ console.warn("HdSeaCase 缺少下拉框工作流配置");
77
+ return;
78
+ }
79
+ try {
80
+ if (z.value = Y(J(await t({
81
+ id: e.id,
82
+ baseHttp: L.baseHttp,
83
+ reqType: e.reqType,
84
+ variables: { categoryType: L.categoryType },
85
+ isFormData: e.isFormData,
86
+ appKey: L.appKey,
87
+ appSalt: L.appSalt
88
+ }))).map(X), !z.value.length) {
89
+ V.value = "", B.value = [];
90
+ return;
91
+ }
92
+ V.value = z.value[0].id;
93
+ } catch (e) {
94
+ console.error("HdSeaCase 下拉框数据加载失败", e);
95
+ }
96
+ }, Z = async () => {
97
+ let e = L.ids?.data;
98
+ if (!e?.id || !V.value) {
99
+ B.value = [];
100
+ return;
101
+ }
102
+ try {
103
+ B.value = Y(J(await t({
104
+ id: e.id,
105
+ baseHttp: L.baseHttp,
106
+ reqType: e.reqType,
107
+ variables: { caseId: V.value },
108
+ isFormData: e.isFormData,
109
+ appKey: L.appKey,
110
+ appSalt: L.appSalt
111
+ }))).map(_e), H.value = 0;
112
+ } catch (e) {
113
+ console.error("HdSeaCase 节点数据加载失败", e), B.value = [];
114
+ }
115
+ }, be = async (e) => {
116
+ let n = L.ids?.img;
117
+ if (!n?.id || !e.caseId || !e.id) {
118
+ W.value = {
119
+ ...e,
120
+ items: []
121
+ };
122
+ return;
123
+ }
124
+ K.value = !0;
125
+ try {
126
+ let r = Y(J(await t({
127
+ id: n.id,
128
+ baseHttp: L.baseHttp,
129
+ reqType: n.reqType,
130
+ variables: {
131
+ caseId: e.caseId,
132
+ categoryId: e.id
133
+ },
134
+ isFormData: n.isFormData,
135
+ appKey: L.appKey,
136
+ appSalt: L.appSalt
137
+ }))).map(ve);
138
+ W.value = {
139
+ ...e,
140
+ items: r
141
+ };
142
+ } catch (t) {
143
+ console.error("HdSeaCase 弹窗数据加载失败", t), W.value = {
144
+ ...e,
145
+ items: []
146
+ };
147
+ } finally {
148
+ K.value = !1;
149
+ }
150
+ }, xe = async () => {
151
+ H.value = 0, await Z();
152
+ }, Q = async (e, t) => {
153
+ H.value = t, G.value = 0, await be(e), U.value = !0;
154
+ }, Se = () => {
155
+ U.value = !1, W.value = null, G.value = 0;
156
+ };
157
+ b(U, (e) => {
158
+ e || (G.value = 0);
159
+ });
160
+ let $ = async () => {
161
+ await ye(), await Z();
162
+ };
163
+ return h(() => {
164
+ I?.on("toComponent", (e) => {
165
+ e.componentName === "HdSeaCase" && $();
166
+ }), $();
167
+ }), (e, t) => {
168
+ let a = n, d = r;
169
+ return g(), c("div", ee, [l("div", te, [
170
+ l("button", {
171
+ class: "HdSeaCase-close",
172
+ onClick: pe
173
+ }, [...t[1] ||= [l("span", null, "✕", -1)]]),
174
+ t[4] ||= l("div", { class: "HdSeaCase-header" }, [l("div", { class: "HdSeaCase-title" }, "海洋专项服务典型案例")], -1),
175
+ l("div", ne, [u(d, {
176
+ modelValue: V.value,
177
+ "onUpdate:modelValue": t[0] ||= (e) => V.value = e,
178
+ class: "HdSeaCase-caseSelect",
179
+ "popper-class": "HdSeaCase-casePopper",
180
+ size: "small",
181
+ teleported: !1,
182
+ onChange: xe
183
+ }, {
184
+ default: x(() => [(g(!0), c(i, null, v(z.value, (e) => (g(), o(a, {
185
+ key: e.id,
186
+ label: e.title,
187
+ value: e.id
188
+ }, null, 8, ["label", "value"]))), 128))]),
189
+ _: 1
190
+ }, 8, ["modelValue"])]),
191
+ l("div", re, [B.value.length ? (g(), c("div", {
192
+ key: 1,
193
+ class: "HdSeaCase-scrollWrap",
194
+ style: m({ "--stage-count": B.value.length })
195
+ }, [
196
+ l("div", ae, [(g(!0), c(i, null, v(B.value, (e, t) => (g(), c("div", {
197
+ key: e.id,
198
+ class: p(["HdSeaCase-card", { "HdSeaCase-card--active": H.value === t }]),
199
+ onClick: (n) => Q(e, t)
200
+ }, [l("div", se, [l("span", null, y(e.time || e.label), 1)]), l("div", ce, y(e.content), 1)], 10, oe))), 128))]),
201
+ l("div", le, [
202
+ t[2] ||= l("div", { class: "HdSeaCase-axisSpacer" }, null, -1),
203
+ t[3] ||= l("div", { class: "HdSeaCase-line" }, null, -1),
204
+ (g(!0), c(i, null, v(B.value, (e, t) => (g(), c("div", {
205
+ key: `node-${e.id}`,
206
+ class: p(["HdSeaCase-node", { "HdSeaCase-node--active": H.value === t }]),
207
+ style: m({ left: me(t) }),
208
+ onClick: (n) => Q(e, t)
209
+ }, null, 14, ue))), 128))
210
+ ]),
211
+ l("div", de, [(g(!0), c(i, null, v(B.value, (e, t) => (g(), c("button", {
212
+ key: `btn-${e.id}`,
213
+ class: p(["HdSeaCase-stageBtn", { "HdSeaCase-stageBtn--highlight": t === B.value.length - 1 }]),
214
+ onClick: (n) => Q(e, t)
215
+ }, y(e.label), 11, S))), 128))])
216
+ ], 4)) : (g(), c("div", ie, "暂无案例数据"))])
217
+ ]), U.value ? (g(), c("div", C, [l("div", w, [
218
+ l("button", {
219
+ class: "HdSeaCase-detailClose",
220
+ onClick: Se
221
+ }, [...t[5] ||= [l("span", null, "✕", -1)]]),
222
+ l("div", T, y(W.value?.label || fe.value), 1),
223
+ K.value ? (g(), c("div", E, "加载中...")) : (g(), c("div", D, [q.value ? (g(), c("div", O, [l("div", k, [(g(!0), c(i, null, v(q.value.images, (e, t) => (g(), c("div", {
224
+ key: t,
225
+ class: "HdSeaCase-galleryItem"
226
+ }, [l("img", {
227
+ src: e,
228
+ alt: ""
229
+ }, null, 8, A)]))), 128))])])) : s("", !0), l("div", j, [(g(!0), c(i, null, v(W.value?.items, (e, t) => (g(), c("div", {
230
+ key: t,
231
+ class: p(["HdSeaCase-titleItem", { "HdSeaCase-titleItem--active": G.value === t }]),
232
+ onClick: (e) => G.value = t
233
+ }, y(e.title), 11, M))), 128))])]))
234
+ ])])) : s("", !0)]);
235
+ };
236
+ }
237
+ }), [["__scopeId", "data-v-51b70a93"]]);
238
+ //#endregion
239
+ export { I as t };