nxd-plugin 1.7.97 → 1.7.98

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 (118) 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-HDSeaLegend-BSGtGcnh.mjs → component-HDSeaLegend-B2xekirw.mjs} +1 -1
  11. package/dist/chunks/component-HdCameraList-CEOhupnQ.mjs +393 -0
  12. package/dist/chunks/{component-HdForecastProducts-_2ttNo-z.mjs → component-HdForecastProducts-DaeNeMiI.mjs} +2 -2
  13. package/dist/chunks/component-HdHeatChart-DiG-hplN.mjs +372 -0
  14. package/dist/chunks/component-HdHeatChartDialog-C1tPPcVw.mjs +590 -0
  15. package/dist/chunks/component-HdHeatService-D4WfN9td.mjs +482 -0
  16. package/dist/chunks/component-HdInsectDetailList-BiVgf4Nc.mjs +266 -0
  17. package/dist/chunks/component-HdInsectList-CToVsJiF.mjs +328 -0
  18. package/dist/chunks/{component-HdObservation-DV1mfQsB.mjs → component-HdObservation-BV5jDCZt.mjs} +44 -45
  19. package/dist/chunks/{component-HdPreSituation-DY6gsT_y.mjs → component-HdPreSituation-DY4j43V7.mjs} +6 -6
  20. package/dist/chunks/component-HdQxServiceEffects-DM-KlAru.mjs +262 -0
  21. package/dist/chunks/{component-HdRadarList-BQ1MH8GG.mjs → component-HdRadarList-BdXRt42m.mjs} +3 -3
  22. package/dist/chunks/{component-HdRadarTime-D7ySMzpg.mjs → component-HdRadarTime-OAbsHPlS.mjs} +2 -2
  23. package/dist/chunks/component-HdRisk-CEMlJ4At.mjs +236 -0
  24. package/dist/chunks/component-HdSeaCase-CeZO7ZaP.mjs +341 -0
  25. package/dist/chunks/{component-HdServiceMarterial-BgIt-ELd.mjs → component-HdServiceMarterial-nCfTCfyI.mjs} +77 -77
  26. package/dist/chunks/{component-HdServiceRequirements-B83V-lQN.mjs → component-HdServiceRequirements-BJcVMUuk.mjs} +44 -44
  27. package/dist/chunks/component-HdSoil-tr6IWswf.mjs +350 -0
  28. package/dist/chunks/component-HdSoilDetailList-DG-TzCl0.mjs +402 -0
  29. package/dist/chunks/{component-HdStationTem-DdMSzVEC.mjs → component-HdStationTem-DrPBR7fV.mjs} +77 -78
  30. package/dist/chunks/{component-HdSuggestion-CrvAGw81.mjs → component-HdSuggestion-DQO0InyO.mjs} +3 -3
  31. package/dist/chunks/component-HdThreeWeatherTrend-CElSAKJs.mjs +333 -0
  32. package/dist/chunks/component-HdWaveForcast-D3Hm8Dg3.mjs +241 -0
  33. package/dist/chunks/{component-HighQuality-Bsqgp8R-.mjs → component-HighQuality-sN-CJX4X.mjs} +4 -4
  34. package/dist/chunks/{component-HighWayEarlyWarningRed-D0uKUK3B.mjs → component-HighWayEarlyWarningRed-D5iSGN5l.mjs} +2 -2
  35. package/dist/chunks/{component-HighWayFreeze-sGJddgnr.mjs → component-HighWayFreeze-B9v5Z9Yd.mjs} +2 -2
  36. package/dist/chunks/{component-HighwayLiveAlarm-Wm2rCVBb.mjs → component-HighwayLiveAlarm-DjcOZUJv.mjs} +2 -2
  37. package/dist/chunks/{component-HighwayLiveAlarmNew-YjS0FM1d.mjs → component-HighwayLiveAlarmNew-C35RKvL1.mjs} +3 -3
  38. package/dist/chunks/{component-HighwayStations-DRfDmHmK.mjs → component-HighwayStations-U_rU4hJi.mjs} +2 -2
  39. package/dist/chunks/{component-HighwayWeatherForecast-Cp50--Dj.mjs → component-HighwayWeatherForecast-BD547juJ.mjs} +4 -4
  40. package/dist/chunks/{component-IframeWeb-HpaTePnW.mjs → component-IframeWeb-DMn6K9zk.mjs} +1 -1
  41. package/dist/chunks/{component-ImageGeneration-zj2WbvzB.mjs → component-ImageGeneration-BFSnXOdZ.mjs} +2 -2
  42. package/dist/chunks/{component-IntroducePic-BxDMkIyJ.mjs → component-IntroducePic-BmvED_mB.mjs} +2 -2
  43. package/dist/chunks/{component-LithiumBatteryMiningArea-BC05EqiO.mjs → component-LithiumBatteryMiningArea-BM_8uVPy.mjs} +2 -2
  44. package/dist/chunks/{component-MapPopup-DYsV0ICP.mjs → component-MapPopup-CRQjbIZT.mjs} +1 -1
  45. package/dist/chunks/{component-MaterialPreview-DJhj0Gh9.mjs → component-MaterialPreview-Dmg4LG8h.mjs} +2 -2
  46. package/dist/chunks/{component-PieLegend-BsDM9oA_.mjs → component-PieLegend-B90e9FMW.mjs} +1 -1
  47. package/dist/chunks/{component-PrecipitationRanking-B7gEEuCe.mjs → component-PrecipitationRanking-1knx18YC.mjs} +4 -4
  48. package/dist/chunks/{component-RadarChart-V_2K97Yw.mjs → component-RadarChart-DrQnSK2_.mjs} +2 -2
  49. package/dist/chunks/{component-RadarLegend-DwjhHZ-N.mjs → component-RadarLegend-UaQXwEdl.mjs} +1 -1
  50. package/dist/chunks/{component-RadarShortTerm-aF13_Zcy.mjs → component-RadarShortTerm-B6DiXwjj.mjs} +4 -4
  51. package/dist/chunks/{component-RadarTime-ZN7o47Mu.mjs → component-RadarTime-CrWj-oVD.mjs} +2 -2
  52. package/dist/chunks/{component-RenderMarkdown-BX-kHqL2.mjs → component-RenderMarkdown-CSoLEsFv.mjs} +2 -2
  53. package/dist/chunks/{component-ReservoirLiveAlarm-WVVwwKYZ.mjs → component-ReservoirLiveAlarm-CJUDC3QW.mjs} +3 -3
  54. package/dist/chunks/{component-ServiceMaterial-9imbipjj.mjs → component-ServiceMaterial-DR7imvMZ.mjs} +2 -2
  55. package/dist/chunks/{component-ServiceMaterialsBtn-693xq1p7.mjs → component-ServiceMaterialsBtn-BWxBKKWn.mjs} +1 -1
  56. package/dist/chunks/{component-StationDialog-C859f8A-.mjs → component-StationDialog-2KObsuJ8.mjs} +4 -4
  57. package/dist/chunks/{component-StationList-BQHnyqox.mjs → component-StationList-BszBJ914.mjs} +5 -5
  58. package/dist/chunks/{component-TimeBasedForecast-DH-OHwXc.mjs → component-TimeBasedForecast-B2ewC_QX.mjs} +4 -4
  59. package/dist/chunks/{component-Typhoon-C6jT8EFX.mjs → component-Typhoon-BQQCoEbU.mjs} +2 -2
  60. package/dist/chunks/{component-WarningLine-D3aVWmUZ.mjs → component-WarningLine-9Y5OJRig.mjs} +2 -2
  61. package/dist/chunks/{component-WarningSignal-CEe242B5.mjs → component-WarningSignal-uXiAUGTl.mjs} +3 -3
  62. package/dist/chunks/{component-WeatherForecast-BfqfB6UO.mjs → component-WeatherForecast-BIeLjzMw.mjs} +4 -4
  63. package/dist/chunks/{component-YCDataMonitor-DROgvkZ-.mjs → component-YCDataMonitor-D8jFTVaA.mjs} +2 -2
  64. package/dist/chunks/{component-YCDataService-BM5kQwax.mjs → component-YCDataService--R26h5UL.mjs} +4 -4
  65. package/dist/chunks/{component-YCHighWaySummary-Bh0IXiDd.mjs → component-YCHighWaySummary-CeYp4g4j.mjs} +2 -2
  66. package/dist/chunks/{component-YCHome-DwYK1Re4.mjs → component-YCHome-DQSDzxCG.mjs} +4 -4
  67. package/dist/chunks/{component-YCHomeLegend-BadxwkzL.mjs → component-YCHomeLegend-DiFftuY3.mjs} +1 -1
  68. package/dist/chunks/{component-YCLoginNew-D5u2lDWS.mjs → component-YCLoginNew-CFJSyKfV.mjs} +3 -3
  69. package/dist/components/Forecast72h/Forecast72h.vue.d.ts +2 -23
  70. package/dist/components/HdCameraList/HdCameraList.vue.d.ts +6 -0
  71. package/dist/components/HdHeatChart/HdHeatChart.vue.d.ts +44 -0
  72. package/dist/components/HdHeatChart/mockData.d.ts +12 -0
  73. package/dist/components/HdHeatChartDialog/HdHeatChartDialog.vue.d.ts +52 -0
  74. package/dist/components/HdHeatChartDialog/mockData.d.ts +23 -0
  75. package/dist/components/HdHeatService/HdHeatService.vue.d.ts +8 -20
  76. package/dist/components/HdInsectDetailList/HdInsectDetailList.vue.d.ts +22 -0
  77. package/dist/components/HdInsectList/HdInsectList.vue.d.ts +57 -0
  78. package/dist/components/HdRisk/HdRisk.vue.d.ts +61 -0
  79. package/dist/components/HdSeaCase/HdSeaCase.vue.d.ts +7 -4
  80. package/dist/components/HdSoil/HdSoil.vue.d.ts +55 -0
  81. package/dist/components/HdSoilDetailList/HdSoilDetailList.vue.d.ts +30 -0
  82. package/dist/components/HdThreeWeatherTrend/HdThreeWeatherTrend.vue.d.ts +2 -20
  83. package/dist/components/HdWaveForcast/HdWaveForcast.vue.d.ts +4 -20
  84. package/dist/index.d.ts +8 -1
  85. package/dist/nxd-plugin.mjs +69 -61
  86. package/dist/styles/component-Forecast72h.css +1 -1
  87. package/dist/styles/component-HDSeaLegend.css +1 -1
  88. package/dist/styles/component-HdCameraList.css +1 -1
  89. package/dist/styles/component-HdForecastProducts.css +1 -1
  90. package/dist/styles/component-HdHeatChart.css +1 -0
  91. package/dist/styles/component-HdHeatChartDialog.css +1 -0
  92. package/dist/styles/component-HdHeatService.css +1 -1
  93. package/dist/styles/component-HdInsectDetailList.css +1 -0
  94. package/dist/styles/component-HdInsectList.css +1 -0
  95. package/dist/styles/component-HdObservation.css +1 -1
  96. package/dist/styles/component-HdPreSituation.css +1 -1
  97. package/dist/styles/component-HdQxServiceEffects.css +1 -0
  98. package/dist/styles/component-HdRadarList.css +1 -1
  99. package/dist/styles/component-HdRisk.css +1 -0
  100. package/dist/styles/component-HdSeaCase.css +1 -1
  101. package/dist/styles/component-HdServiceMarterial.css +1 -1
  102. package/dist/styles/component-HdServiceRequirements.css +1 -1
  103. package/dist/styles/component-HdSoil.css +1 -0
  104. package/dist/styles/component-HdSoilDetailList.css +1 -0
  105. package/dist/styles/component-HdStationTem.css +1 -1
  106. package/dist/styles/component-HdSuggestion.css +1 -1
  107. package/dist/styles/component-HdThreeWeatherTrend.css +1 -1
  108. package/dist/styles/component-HdWaveForcast.css +1 -1
  109. package/dist/styles/component-HighQuality.css +1 -1
  110. package/dist/styles/component-StationList.css +1 -1
  111. package/dist/styles/component-YCLoginNew.css +1 -1
  112. package/package.json +1 -1
  113. package/dist/chunks/component-Forecast72h-hi7bHW_J.mjs +0 -543
  114. package/dist/chunks/component-HdCameraList-Cz1OYJEN.mjs +0 -332
  115. package/dist/chunks/component-HdHeatService-BKK-w3Xc.mjs +0 -412
  116. package/dist/chunks/component-HdSeaCase-wnGV704s.mjs +0 -219
  117. package/dist/chunks/component-HdThreeWeatherTrend-Deliswz6.mjs +0 -394
  118. 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
+ "addLayer",
43
+ "removeLayer",
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("addLayer", {
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("removeLayer", {
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-19d0cd54"]]);
235
+ //#endregion
236
+ export { O as t };
@@ -0,0 +1,341 @@
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
+ mock: {
25
+ type: Boolean,
26
+ default: !0
27
+ },
28
+ baseHttp: { default: "" },
29
+ appKey: { default: "" },
30
+ appSalt: { default: "" },
31
+ imgBaseUrl: { default: "" },
32
+ categoryType: { default: "" },
33
+ ids: { default: () => ({}) },
34
+ mockData: { default: () => [{
35
+ id: "cooperation",
36
+ title: "海洋气象应急保障合作机制协议",
37
+ stages: [
38
+ {
39
+ id: "s1",
40
+ caseId: "cooperation",
41
+ time: "2021年9月23日",
42
+ label: "西海岸新区海洋发展局调研",
43
+ content: "为开展近海海域气象监测,大力促进海洋产业发展,陈清峰副局长带队赴青岛西海岸新区海洋发展局进行调研。",
44
+ detailTitle: "西海岸新区海洋发展局调研",
45
+ items: [{
46
+ title: "调研交流",
47
+ images: ["http://58.59.29.51:11014/staticImg/TypicalInstance/海洋11.png", "http://58.59.29.51:11014/staticImg/TypicalInstance/海洋2.png"],
48
+ content: "为开展近海海域气象监测,大力促进海洋产业发展,陈清峰副局长带队赴青岛西海岸新区海洋发展局进行调研。"
49
+ }]
50
+ },
51
+ {
52
+ id: "s2",
53
+ caseId: "cooperation",
54
+ time: "2023年2月28日",
55
+ label: "推动“三级联动”机制调研",
56
+ content: "为推动“三级联动”向纵深发展,着力解决制约气象高质量发展的基础性、关键性问题,王贵全局长带队前往西海岸新区海洋发展局进行调研交流。"
57
+ },
58
+ {
59
+ id: "s3",
60
+ caseId: "cooperation",
61
+ time: "学习经验做法",
62
+ label: "学习经验做法",
63
+ content: "赴威海、日照等地学习经验做法,广泛征求本地渔民和行业管理部门意见,对新区海域进行区划。"
64
+ },
65
+ {
66
+ id: "s4",
67
+ caseId: "cooperation",
68
+ time: "服务产品",
69
+ label: "形成预报产品",
70
+ content: "形成精细化海洋气象预报服务产品。",
71
+ detailTitle: "形成预报产品",
72
+ items: [{
73
+ title: "预报服务产品",
74
+ images: ["http://58.59.29.51:11014/staticImg/TypicalInstance/海洋气象服务_10.png", "http://58.59.29.51:11014/staticImg/TypicalInstance/海洋气象服务_10.png"],
75
+ content: "回访分区气象预报服务成果。"
76
+ }]
77
+ },
78
+ {
79
+ id: "s5",
80
+ caseId: "cooperation",
81
+ time: "2024年",
82
+ label: "海洋气象应急保障合作机制协议",
83
+ content: "双方将在共谋共建共享、预警信息传播、海上突发事件处置、海上安全监管、服务效益评价等方面开展工作。",
84
+ detailTitle: "海洋气象应急保障合作机制协议",
85
+ items: [{
86
+ title: "建立合作",
87
+ images: ["../../assets/img/icons/面板.png"],
88
+ content: "签订海洋气象应急保障合作机制协议。"
89
+ }]
90
+ }
91
+ ]
92
+ }, {
93
+ id: "wind2021",
94
+ title: "2021年5月7日,海面大风,船舶禁止通行,游客滞留",
95
+ stages: [
96
+ {
97
+ id: "w1",
98
+ caseId: "wind2021",
99
+ time: "5月7日8时",
100
+ label: "海面大风,禁止船舶通行",
101
+ content: "受蒙古气旋持续影响,青岛西海岸新区近海海域风力7级到8级,阵风10级。海上风浪较大,风力达到7级以上,灵山湾全面禁止船舶通行。"
102
+ },
103
+ {
104
+ id: "w2",
105
+ caseId: "wind2021",
106
+ time: "5月7日9时",
107
+ label: "商讨应急方案",
108
+ content: "韩千钧副区长迅速组织海事、气象、港务、灵山湾管委会等部门商讨方案。研究决定,由气象局提供精准的航线风力预报。"
109
+ },
110
+ {
111
+ id: "w3",
112
+ caseId: "wind2021",
113
+ time: "5月7日13时10分",
114
+ label: "给出船舶航行精准气象条件建议",
115
+ content: "气象局根据监测实况及天气形势变化,预计7日下午到傍晚有大风间歇窗口期,有利于航行。"
116
+ },
117
+ {
118
+ id: "w4",
119
+ caseId: "wind2021",
120
+ time: "5月7日15时25分",
121
+ label: "游客成功离岛",
122
+ content: "基于气象局给出的决策建议,海事处安排船舶,截至当日15时25分,顺利转移所有岛上游客。"
123
+ }
124
+ ]
125
+ }] }
126
+ },
127
+ emits: ["close"],
128
+ setup(e, { emit: d }) {
129
+ 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 = () => {
130
+ R("close", "HdSeaCase");
131
+ }, me = (e) => `${F + N / 2 + e * (N + P)}px`, he = (e) => /^https?:\/\//i.test(e), ge = (e) => {
132
+ if (!e) return "";
133
+ if (he(e)) return e;
134
+ let t = L.imgBaseUrl || "";
135
+ return `${t}${t && !t.endsWith("/") && !e.startsWith("/") ? "/" : ""}${e}`;
136
+ }, J = (e) => {
137
+ if (!e) return null;
138
+ let t = null;
139
+ 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 {
140
+ t = JSON.parse(t);
141
+ } catch (e) {
142
+ console.warn("HdSeaCase 接口返回非 JSON 字符串", e);
143
+ }
144
+ return t;
145
+ }, Y = (e) => {
146
+ if (!e) return [];
147
+ if (Array.isArray(e)) return e;
148
+ if (typeof e == "object") {
149
+ let t = Object.values(e);
150
+ if (t.length) return t;
151
+ }
152
+ return [];
153
+ }, X = (e) => ({
154
+ id: e.id ?? e.caseId ?? "",
155
+ title: e.case_name ?? e.caseName ?? e.title ?? ""
156
+ }), _e = (e) => ({
157
+ id: e.id ?? e.categoryId ?? "",
158
+ caseId: e.case_id ?? e.caseId ?? "",
159
+ time: e.category_title ?? e.categoryTitle ?? e.time ?? "",
160
+ label: e.summary ?? e.label ?? "",
161
+ content: e.description ?? e.content ?? ""
162
+ }), ve = (e) => {
163
+ let t = e.image_url ?? e.imageUrl ?? "", n = t ? String(t).split(",").map((e) => e.trim()).filter(Boolean) : [];
164
+ return {
165
+ title: e.image_name ?? e.imageName ?? "详情",
166
+ images: n.map(ge),
167
+ content: e.description ?? e.content ?? ""
168
+ };
169
+ }, ye = () => {
170
+ let e = L.mockData || [];
171
+ z.value = e.map((e) => ({
172
+ id: e.id,
173
+ title: e.title
174
+ })), V.value = e[0]?.id || "", B.value = e[0]?.stages || [];
175
+ }, be = async () => {
176
+ let e = L.ids?.select;
177
+ if (!e?.id) {
178
+ console.warn("HdSeaCase 缺少下拉框工作流配置");
179
+ return;
180
+ }
181
+ try {
182
+ if (z.value = Y(J(await t({
183
+ id: e.id,
184
+ baseHttp: L.baseHttp,
185
+ reqType: e.reqType,
186
+ variables: { categoryType: L.categoryType },
187
+ isFormData: e.isFormData,
188
+ appKey: L.appKey,
189
+ appSalt: L.appSalt
190
+ }))).map(X), !z.value.length) {
191
+ V.value = "", B.value = [];
192
+ return;
193
+ }
194
+ V.value = z.value[0].id;
195
+ } catch (e) {
196
+ console.error("HdSeaCase 下拉框数据加载失败", e);
197
+ }
198
+ }, Z = async () => {
199
+ let e = L.ids?.data;
200
+ if (!e?.id || !V.value) {
201
+ B.value = [];
202
+ return;
203
+ }
204
+ try {
205
+ B.value = Y(J(await t({
206
+ id: e.id,
207
+ baseHttp: L.baseHttp,
208
+ reqType: e.reqType,
209
+ variables: { caseId: V.value },
210
+ isFormData: e.isFormData,
211
+ appKey: L.appKey,
212
+ appSalt: L.appSalt
213
+ }))).map(_e), H.value = 0;
214
+ } catch (e) {
215
+ console.error("HdSeaCase 节点数据加载失败", e), B.value = [];
216
+ }
217
+ }, xe = async (e) => {
218
+ let n = L.ids?.img;
219
+ if (!n?.id || !e.caseId || !e.id) {
220
+ W.value = {
221
+ ...e,
222
+ items: []
223
+ };
224
+ return;
225
+ }
226
+ K.value = !0;
227
+ try {
228
+ let r = Y(J(await t({
229
+ id: n.id,
230
+ baseHttp: L.baseHttp,
231
+ reqType: n.reqType,
232
+ variables: {
233
+ caseId: e.caseId,
234
+ categoryId: e.id
235
+ },
236
+ isFormData: n.isFormData,
237
+ appKey: L.appKey,
238
+ appSalt: L.appSalt
239
+ }))).map(ve);
240
+ W.value = {
241
+ ...e,
242
+ items: r
243
+ };
244
+ } catch (t) {
245
+ console.error("HdSeaCase 弹窗数据加载失败", t), W.value = {
246
+ ...e,
247
+ items: []
248
+ };
249
+ } finally {
250
+ K.value = !1;
251
+ }
252
+ }, Se = async () => {
253
+ H.value = 0, await Z();
254
+ }, Q = async (e, t) => {
255
+ H.value = t, G.value = 0, await xe(e), U.value = !0;
256
+ }, Ce = () => {
257
+ U.value = !1, W.value = null, G.value = 0;
258
+ };
259
+ b(U, (e) => {
260
+ e || (G.value = 0);
261
+ });
262
+ let $ = async () => {
263
+ L.mock ? ye() : (await be(), await Z());
264
+ };
265
+ return h(() => {
266
+ I?.on("toComponent", (e) => {
267
+ e.componentName === "HdSeaCase" && $();
268
+ }), $();
269
+ }), (e, t) => {
270
+ let a = n, d = r;
271
+ return g(), c("div", ee, [l("div", te, [
272
+ l("button", {
273
+ class: "HdSeaCase-close",
274
+ onClick: pe
275
+ }, [...t[1] ||= [l("span", null, "✕", -1)]]),
276
+ t[4] ||= l("div", { class: "HdSeaCase-header" }, [l("div", { class: "HdSeaCase-title" }, "海洋专项服务典型案例")], -1),
277
+ l("div", ne, [u(d, {
278
+ modelValue: V.value,
279
+ "onUpdate:modelValue": t[0] ||= (e) => V.value = e,
280
+ class: "HdSeaCase-caseSelect",
281
+ "popper-class": "HdSeaCase-casePopper",
282
+ size: "small",
283
+ teleported: !1,
284
+ onChange: Se
285
+ }, {
286
+ default: x(() => [(g(!0), c(i, null, v(z.value, (e) => (g(), o(a, {
287
+ key: e.id,
288
+ label: e.title,
289
+ value: e.id
290
+ }, null, 8, ["label", "value"]))), 128))]),
291
+ _: 1
292
+ }, 8, ["modelValue"])]),
293
+ l("div", re, [B.value.length ? (g(), c("div", {
294
+ key: 1,
295
+ class: "HdSeaCase-scrollWrap",
296
+ style: m({ "--stage-count": B.value.length })
297
+ }, [
298
+ l("div", ae, [(g(!0), c(i, null, v(B.value, (e, t) => (g(), c("div", {
299
+ key: e.id,
300
+ class: p(["HdSeaCase-card", { "HdSeaCase-card--active": H.value === t }]),
301
+ onClick: (n) => Q(e, t)
302
+ }, [l("div", se, [l("span", null, y(e.time || e.label), 1)]), l("div", ce, y(e.content), 1)], 10, oe))), 128))]),
303
+ l("div", le, [
304
+ t[2] ||= l("div", { class: "HdSeaCase-axisSpacer" }, null, -1),
305
+ t[3] ||= l("div", { class: "HdSeaCase-line" }, null, -1),
306
+ (g(!0), c(i, null, v(B.value, (e, t) => (g(), c("div", {
307
+ key: `node-${e.id}`,
308
+ class: p(["HdSeaCase-node", { "HdSeaCase-node--active": H.value === t }]),
309
+ style: m({ left: me(t) }),
310
+ onClick: (n) => Q(e, t)
311
+ }, null, 14, ue))), 128))
312
+ ]),
313
+ l("div", de, [(g(!0), c(i, null, v(B.value, (e, t) => (g(), c("button", {
314
+ key: `btn-${e.id}`,
315
+ class: p(["HdSeaCase-stageBtn", { "HdSeaCase-stageBtn--highlight": t === B.value.length - 1 }]),
316
+ onClick: (n) => Q(e, t)
317
+ }, y(e.label), 11, S))), 128))])
318
+ ], 4)) : (g(), c("div", ie, "暂无案例数据"))])
319
+ ]), U.value ? (g(), c("div", C, [l("div", w, [
320
+ l("button", {
321
+ class: "HdSeaCase-detailClose",
322
+ onClick: Ce
323
+ }, [...t[5] ||= [l("span", null, "✕", -1)]]),
324
+ l("div", T, y(W.value?.label || fe.value), 1),
325
+ 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", {
326
+ key: t,
327
+ class: "HdSeaCase-galleryItem"
328
+ }, [l("img", {
329
+ src: e,
330
+ alt: ""
331
+ }, null, 8, A)]))), 128))])])) : s("", !0), l("div", j, [(g(!0), c(i, null, v(W.value?.items, (e, t) => (g(), c("div", {
332
+ key: t,
333
+ class: p(["HdSeaCase-titleItem", { "HdSeaCase-titleItem--active": G.value === t }]),
334
+ onClick: (e) => G.value = t
335
+ }, y(e.title), 11, M))), 128))])]))
336
+ ])])) : s("", !0)]);
337
+ };
338
+ }
339
+ }), [["__scopeId", "data-v-ac37eefa"]]);
340
+ //#endregion
341
+ export { I as t };