smart-web-ui 1.0.0 → 1.0.1

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 (120) hide show
  1. package/dist/BuildingList.js +8 -0
  2. package/dist/CategoryPieChart.js +435 -0
  3. package/dist/ChartModel.js +46 -0
  4. package/dist/ChartTable.js +162 -0
  5. package/dist/CircularPieChart.js +314 -0
  6. package/dist/CloseButtonA.js +39 -0
  7. package/dist/ColumnDiagram.js +352 -0
  8. package/dist/DataColumnDiagram.js +275 -0
  9. package/dist/DatePicker.js +142 -0
  10. package/dist/DateTimePicker.js +146 -0
  11. package/dist/DateYearPicker.js +152 -0
  12. package/dist/DayTimerShaft.js +894 -0
  13. package/dist/DoubleColumnDiagram.js +360 -0
  14. package/dist/DoubleLineChart.js +410 -0
  15. package/dist/DoubleStraightLineChart.js +405 -0
  16. package/dist/EffectLoading.js +15 -0
  17. package/dist/GradientCircularPieChart.js +372 -0
  18. package/dist/GradientPieChart.js +501 -0
  19. package/dist/HikPlayer.js +10 -0
  20. package/dist/ImaginaryAndRealLineChart.js +405 -0
  21. package/dist/InfiniteScrollingTable.js +2150 -0
  22. package/dist/JessibucaPlayer.js +181 -0
  23. package/dist/LineChart.js +279 -0
  24. package/dist/MenuOne.js +75 -0
  25. package/dist/MultiDataColumnDiagram.js +398 -0
  26. package/dist/MultigraphChart.js +392 -0
  27. package/dist/MultitermBorderColumnDiagram.js +384 -0
  28. package/dist/MultitermColumnDiagram.js +359 -0
  29. package/dist/MyButton.js +8 -0
  30. package/dist/MyInput.js +42 -0
  31. package/dist/OnlinePieChart.js +365 -0
  32. package/dist/PantiltControl.js +147 -0
  33. package/dist/PictorialChart.js +205 -0
  34. package/dist/PieChart.js +252 -0
  35. package/dist/PieChartLegendCustom.js +251 -0
  36. package/dist/PieChartOne.js +438 -0
  37. package/dist/PopupFrame.js +131 -0
  38. package/dist/RangTimePicker.js +160 -0
  39. package/dist/RangePicker.js +156 -0
  40. package/dist/SingleLineChart.js +405 -0
  41. package/dist/SplitPie.js +242 -0
  42. package/dist/SplitPieChart.js +294 -0
  43. package/dist/StacketColumnDiagram.js +345 -0
  44. package/dist/TechnologyBlueFrameworkOne.js +183 -0
  45. package/dist/TimerShaft.js +229 -0
  46. package/dist/ToroidalPieChart.js +318 -0
  47. package/dist/WordCloudOne.js +138 -0
  48. package/dist/WordCloudTwo.js +157 -0
  49. package/dist/chunks/BuildingList-CU-EXKgo.js +126 -0
  50. package/dist/chunks/HikPlayer-DKfQRkh6.js +422 -0
  51. package/dist/chunks/MyButton-DvqgvXGG.js +36 -0
  52. package/dist/chunks/_commonjsHelpers-C6fGbg64.js +6 -0
  53. package/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  54. package/dist/chunks/dayjs.min-CQFNnJKC.js +285 -0
  55. package/dist/chunks/debounce-DmrysiyS.js +84 -0
  56. package/dist/chunks/index-CBkwld9S.js +43886 -0
  57. package/dist/chunks/index-CYrEZgNC.js +334 -0
  58. package/dist/chunks/isObject-Bhos3v62.js +33 -0
  59. package/dist/chunks/merge-H4ZkNr1T.js +487 -0
  60. package/dist/chunks/wordCloud-uiqgdIRk.js +737 -0
  61. package/dist/chunks/zh_CN-BUEgxmeh.js +79 -0
  62. package/dist/css/BuildingList-Bdnl0gBJ.css +1 -0
  63. package/dist/css/CategoryPieChart-DBMhOWSp.css +1 -0
  64. package/dist/css/ChartModel-Dv4h1lb5.css +1 -0
  65. package/dist/css/ChartTable-Cr0oTeRE.css +1 -0
  66. package/dist/css/CircularPieChart-C3BGd8fm.css +1 -0
  67. package/dist/css/CloseButtonA-DY2NFd49.css +1 -0
  68. package/dist/css/ColumnDiagram-Dis9ikD8.css +1 -0
  69. package/dist/css/DataColumnDiagram-BT2JWzYV.css +1 -0
  70. package/dist/css/DatePicker-BcnVF2a0.css +1 -0
  71. package/dist/css/DateTimePicker-ogqIcJbR.css +1 -0
  72. package/dist/css/DateYearPicker-Cxi6LOU5.css +1 -0
  73. package/dist/css/DayTimerShaft-CgF_vvOC.css +1 -0
  74. package/dist/css/DoubleColumnDiagram-BxutsIuM.css +1 -0
  75. package/dist/css/DoubleLineChart-BDAn7Vm_.css +1 -0
  76. package/dist/css/DoubleStraightLineChart-DIRVxSDN.css +1 -0
  77. package/dist/css/EffectLoading-Ctm_V9PA.css +1 -0
  78. package/dist/css/GradientCircularPieChart-DwvudWRO.css +1 -0
  79. package/dist/css/GradientPieChart-BIbCGRqo.css +1 -0
  80. package/dist/css/HikPlayer-CZ3Esf6X.css +1 -0
  81. package/dist/css/ImaginaryAndRealLineChart-DM6nwp5j.css +1 -0
  82. package/dist/css/InfiniteScrollingTable-DI-gbfBL.css +1 -0
  83. package/dist/css/JessibucaPlayer-DYHP4jB_.css +1 -0
  84. package/dist/css/LineChart-BMK43A6-.css +1 -0
  85. package/dist/css/MenuOne-DZagmMAX.css +1 -0
  86. package/dist/css/MultiDataColumnDiagram-D1yx69tf.css +1 -0
  87. package/dist/css/MultigraphChart-C4dh2No_.css +1 -0
  88. package/dist/css/MultitermBorderColumnDiagram-DAn4G2De.css +1 -0
  89. package/dist/css/MultitermColumnDiagram-CF0BvPJO.css +1 -0
  90. package/dist/css/MyButton-CE8oLA-0.css +1 -0
  91. package/dist/css/MyInput-CauB72eE.css +1 -0
  92. package/dist/css/OnlinePieChart-DjGjF_9i.css +1 -0
  93. package/dist/css/PantiltControl-DS0BWsLg.css +1 -0
  94. package/dist/css/PictorialChart-D_NmyxMl.css +1 -0
  95. package/dist/css/PieChart-ijJKQrDc.css +1 -0
  96. package/dist/css/PieChartLegendCustom-BIQtqA8m.css +1 -0
  97. package/dist/css/PieChartOne-D1gY-q_Q.css +1 -0
  98. package/dist/css/PopupFrame-BuPG741n.css +1 -0
  99. package/dist/css/RangTimePicker-BhS_Fhaj.css +1 -0
  100. package/dist/css/RangePicker-Cmdpil97.css +1 -0
  101. package/dist/css/SingleLineChart-YXl29ldj.css +1 -0
  102. package/dist/css/SplitPie-vGvTEPG-.css +1 -0
  103. package/dist/css/SplitPieChart-yTrBBQxd.css +1 -0
  104. package/dist/css/StacketColumnDiagram-BvMIqlC_.css +1 -0
  105. package/dist/css/TechnologyBlueFrameworkOne-CMF1mCbl.css +1 -0
  106. package/dist/css/TimerShaft-LaGF129n.css +1 -0
  107. package/dist/css/ToroidalPieChart-CcfTDUUR.css +1 -0
  108. package/dist/css/WordCloudOne-CsMA5RxS.css +1 -0
  109. package/dist/css/WordCloudTwo-LSvh51aP.css +1 -0
  110. package/dist/css/index-jBItPHyv.css +1 -0
  111. package/dist/favicon.svg +1 -0
  112. package/dist/index.js +151 -0
  113. package/package.json +51 -50
  114. package/dist/assets/fonts/D-DIN.otf +0 -0
  115. package/dist/assets/fonts/PingFangSC.woff2 +0 -0
  116. package/dist/assets/fonts/SourceHanSansCN-Regular.woff +0 -0
  117. package/dist/assets/fonts/ysbth.woff +0 -0
  118. package/dist/smart-web-ui.css +0 -1
  119. package/dist/smart-web-ui.es.js +0 -67
  120. package/dist/smart-web-ui.umd.js +0 -1
@@ -0,0 +1,405 @@
1
+ import { ref as T, computed as c, watch as m, onMounted as F, onBeforeUnmount as z, openBlock as L, createElementBlock as w, mergeProps as v, nextTick as A } from "vue";
2
+ import { i as B } from "./chunks/index-CBkwld9S.js";
3
+ import { _ as E } from "./chunks/_plugin-vue_export-helper-CHgC5LLL.js";
4
+ import { m as N } from "./chunks/merge-H4ZkNr1T.js";
5
+ const O = {
6
+ __name: "SingleLineChart",
7
+ props: {
8
+ data: {
9
+ type: Array,
10
+ required: !0
11
+ },
12
+ xData: {
13
+ type: Array,
14
+ required: !0
15
+ },
16
+ colorList: {
17
+ type: Array,
18
+ default: () => [
19
+ "rgba(255, 153, 0, 1)",
20
+ "#FF2E2E",
21
+ "#07D1FA",
22
+ "#FFD15C",
23
+ "#20E6A4"
24
+ ]
25
+ },
26
+ areaColorList: {
27
+ type: Array,
28
+ default: () => [
29
+ { to: "rgba(255,153,0, 0.2)", from: "rgba(255,153,0, 0.7)" },
30
+ { to: "rgba(255, 46, 46, 0.2)", from: "rgba(255, 46, 46, 0.7)" },
31
+ { to: "rgba(7, 209, 250, 0.2)", from: "rgba(7, 209, 250, 0.7)" },
32
+ { to: "rgba(255, 209, 92, 0.2)", from: "rgba(255, 209, 92, 0.7)" },
33
+ { to: "rgba(32, 230, 164, 0.2)", from: "rgba(32, 230, 164, 0.7)" }
34
+ ]
35
+ },
36
+ options: {
37
+ type: Object,
38
+ default: () => ({})
39
+ },
40
+ // x轴文字长度
41
+ xTextLength: {
42
+ type: Number,
43
+ default: 5
44
+ },
45
+ // 横轴网格线是否显示
46
+ yLineShow: {
47
+ type: Boolean,
48
+ default: !0
49
+ },
50
+ // 横轴网格线格式
51
+ yLineType: {
52
+ type: String,
53
+ default: "dashed"
54
+ //solid实线dashed虚线dotted细点画线
55
+ },
56
+ zoomKey: {
57
+ type: String,
58
+ // 'none' | 'ctrl' | 'alt' | 'shift'
59
+ default: "ctrl"
60
+ // 默认按住 Ctrl 键缩放
61
+ },
62
+ legendType: {
63
+ type: Boolean,
64
+ default: !1
65
+ },
66
+ // legend块的宽度
67
+ legendItemWidth: {
68
+ type: Number,
69
+ default: 12
70
+ },
71
+ // legend块的高度
72
+ legendItemHeight: {
73
+ type: Number,
74
+ default: 12
75
+ },
76
+ // legend文字大小
77
+ legendTextFontSize: {
78
+ type: Number,
79
+ default: 12
80
+ },
81
+ // legend文字颜色
82
+ legendTextColor: {
83
+ type: String,
84
+ default: "#fff"
85
+ },
86
+ // 单位名称
87
+ YUnitText: {
88
+ type: String,
89
+ default: "单位:KWH"
90
+ },
91
+ // 单位文字大小
92
+ YUnitTextFontSize: {
93
+ type: Number,
94
+ default: 12
95
+ },
96
+ // 单位文字颜色
97
+ YUnitTextColor: {
98
+ type: String,
99
+ default: "#fff"
100
+ },
101
+ // Y轴刻度文字大小
102
+ YFontSize: {
103
+ type: Number,
104
+ default: 12
105
+ },
106
+ // Y轴名称颜色
107
+ YColor: {
108
+ type: String,
109
+ default: "#fff"
110
+ },
111
+ // 刻度颜色
112
+ scaleColor: {
113
+ type: String,
114
+ default: "#fff"
115
+ },
116
+ // 刻度宽度
117
+ scaleWidth: {
118
+ type: Number,
119
+ default: 2
120
+ },
121
+ // 刻度高度
122
+ scaleHeight: {
123
+ type: Number,
124
+ default: 5
125
+ },
126
+ // 纵轴线颜色
127
+ YLineColor: {
128
+ type: Array,
129
+ default: () => [
130
+ {
131
+ offset: 0,
132
+ color: "#526B8E00"
133
+ // 0% 处的颜色
134
+ },
135
+ {
136
+ offset: 0.5,
137
+ color: "#526B8E20"
138
+ // 100% 处的颜色
139
+ },
140
+ {
141
+ offset: 1,
142
+ color: "#526B8E20"
143
+ // 100% 处的颜色
144
+ }
145
+ ]
146
+ },
147
+ // 纵轴网格线类型
148
+ XLineType: {
149
+ type: String,
150
+ default: "solid"
151
+ //solid实线dashed虚线dotted细点画线
152
+ },
153
+ // 移入提示框背景颜色
154
+ tooltipBgColor: {
155
+ type: String,
156
+ default: "rgba(1, 13, 19, 0.6)"
157
+ },
158
+ // 移入提示框边框颜色
159
+ tooltipBorderColor: {
160
+ type: String,
161
+ default: "#ffffff40"
162
+ },
163
+ // 移入提示框文字颜色
164
+ tooltipTextColor: {
165
+ type: String,
166
+ default: "#ffffff"
167
+ },
168
+ // 移入提示框文字大小
169
+ tooltipTextFontSize: {
170
+ type: Number,
171
+ default: 12
172
+ },
173
+ // 移入纵轴hover线颜色
174
+ tooltipAxisPointerColor: {
175
+ type: String,
176
+ default: "#ffffff"
177
+ }
178
+ },
179
+ setup(a) {
180
+ const e = a, l = T(null);
181
+ let t = null;
182
+ const h = (r) => {
183
+ console.log(r, "ssssssssssssss");
184
+ const o = r.length;
185
+ return o > 30 ? o / 1.7 : o > 23 ? o / 1.5 : o > 13 ? 50 : o > 7 ? 70 : 100;
186
+ }, x = c(() => {
187
+ const r = e.data || [], o = e.xData || [], f = e.areaColorList || [
188
+ { to: "rgba(255,153,0, 0.2)", from: "rgba(255,153,0, 0.7)" },
189
+ { to: "rgba(255, 46, 46, 0.2)", from: "rgba(255, 46, 46, 0.7)" },
190
+ { to: "rgba(7, 209, 250, 0.2)", from: "rgba(7, 209, 250, 0.7)" },
191
+ { to: "rgba(255, 209, 92, 0.2)", from: "rgba(255, 209, 92, 0.7)" },
192
+ { to: "rgba(32, 230, 164, 0.2)", from: "rgba(32, 230, 164, 0.7)" }
193
+ ];
194
+ return {
195
+ color: e.colorList,
196
+ // 网格配置,设置图表上下左右的边距
197
+ grid: {
198
+ top: 50,
199
+ bottom: 30,
200
+ left: 40,
201
+ right: 20
202
+ },
203
+ tooltip: {
204
+ trigger: "axis",
205
+ backgroundColor: e.tooltipBgColor,
206
+ borderColor: e.tooltipBorderColor,
207
+ textStyle: {
208
+ color: e.tooltipTextColor,
209
+ fontSize: e.tooltipTextFontSize,
210
+ fontFamily: "PingFang SC"
211
+ },
212
+ axisPointer: {
213
+ lineStyle: {
214
+ width: 1,
215
+ // 线宽
216
+ type: "dashed",
217
+ // 线型
218
+ color: e.tooltipAxisPointerColor
219
+ }
220
+ }
221
+ },
222
+ // 图例配置,显示图表中不同系列的名称和颜色
223
+ legend: {
224
+ icon: "circle",
225
+ itemWidth: e.legendItemWidth,
226
+ itemHeight: e.legendItemHeight,
227
+ right: "5%",
228
+ // 图例相对于右侧的位置
229
+ top: "5%",
230
+ // 图例相对于顶部的位置
231
+ textStyle: {
232
+ color: e.legendTextColor,
233
+ fontSize: e.legendTextFontSize,
234
+ fontFamily: "PingFang SC"
235
+ }
236
+ },
237
+ xAxis: [
238
+ {
239
+ type: "category",
240
+ axisLine: {
241
+ //坐标轴轴线相关设置。数学上的x轴
242
+ show: !1,
243
+ lineStyle: {
244
+ color: e.scaleColor
245
+ }
246
+ },
247
+ splitLine: {
248
+ show: !0,
249
+ // 显示网格线
250
+ lineStyle: {
251
+ type: "dashed",
252
+ // 网格线类型,如虚线
253
+ color: "#526B8E"
254
+ // 网格线颜色
255
+ }
256
+ },
257
+ boundaryGap: !1,
258
+ axisLabel: {
259
+ align: "center",
260
+ fontSize: e.XTextFontSize,
261
+ color: e.XTextColor,
262
+ fontFamily: "PingFang SC"
263
+ },
264
+ axisTick: {
265
+ show: !0,
266
+ length: e.scaleHeight,
267
+ lineStyle: {
268
+ width: e.scaleWidth,
269
+ shadowOffsetX: e.shadowOffsetX,
270
+ shadowColor: e.shadowColor
271
+ }
272
+ },
273
+ data: e.xLabel
274
+ }
275
+ ],
276
+ yAxis: {
277
+ type: "value",
278
+ name: e.YUnitText,
279
+ nameTextStyle: {
280
+ color: e.YUnitTextColor,
281
+ fontSize: e.YUnitTextFontSize,
282
+ fontFamily: "PingFang SC"
283
+ },
284
+ splitLine: {
285
+ show: !0,
286
+ lineStyle: {
287
+ type: e.yLineType,
288
+ // 网格线类型,如虚线
289
+ color: "#526B8E"
290
+ // 网格线颜色
291
+ }
292
+ },
293
+ axisLabel: {
294
+ show: !0,
295
+ textStyle: {
296
+ fontSize: e.YFontSize,
297
+ color: e.YColor,
298
+ fontFamily: "PingFang SC"
299
+ }
300
+ },
301
+ axisTick: {
302
+ show: !1
303
+ }
304
+ },
305
+ series: r.map((d, u) => {
306
+ var p, g, y;
307
+ return {
308
+ name: d.name,
309
+ type: "line",
310
+ smooth: !0,
311
+ // symbol: "none",
312
+ showSymbol: !1,
313
+ // symbolSize: 8,
314
+ // zlevel: 3,
315
+ areaStyle: {
316
+ opacity: 0.8,
317
+ color: {
318
+ type: "linear",
319
+ x: 0,
320
+ y: 0,
321
+ x2: 0,
322
+ y2: 1,
323
+ colorStops: [
324
+ {
325
+ offset: 0,
326
+ color: ((p = f[u]) == null ? void 0 : p.from) || "transparent"
327
+ },
328
+ {
329
+ offset: 1,
330
+ color: ((g = f[u]) == null ? void 0 : g.to) || "transparent"
331
+ }
332
+ ],
333
+ global: !1
334
+ }
335
+ },
336
+ data: ((y = d.data) == null ? void 0 : y.map((C) => C.value)) || []
337
+ };
338
+ }),
339
+ // 数据缩放配置
340
+ dataZoom: [
341
+ {
342
+ type: "inside",
343
+ // 内置型数据缩放组件
344
+ xAxisIndex: 0,
345
+ // 控制第一个 x 轴
346
+ // 根据 zoomKey 的值设置是否需要按键触发缩放
347
+ zoomOnMouseWheel: e.zoomKey === "none" ? !0 : e.zoomKey,
348
+ moveOnMouseMove: !0,
349
+ // 允许鼠标拖动平移
350
+ moveOnMouseWheel: !0,
351
+ // 允许鼠标滚轮平移
352
+ preventDefaultMouseMove: !1,
353
+ // 允许默认滚动行为
354
+ throttle: 50,
355
+ // 操作节流时间
356
+ start: 0,
357
+ end: h(o)
358
+ // maxSpan: 40, // 最大缩放范围
359
+ // minSpan: 20, // 最小缩放范围
360
+ }
361
+ ],
362
+ animation: !0
363
+ // 禁用动画提升性能
364
+ };
365
+ }), i = c(
366
+ () => N({}, x.value, e.options)
367
+ ), b = () => {
368
+ l.value && (t = B(
369
+ l.value,
370
+ {},
371
+ {
372
+ renderer: "svg"
373
+ }
374
+ ), n(), t.dispatchAction({
375
+ type: "takeGlobalCursor",
376
+ key: "dataZoomSelect",
377
+ dataZoomSelectActive: !0
378
+ }));
379
+ }, n = () => {
380
+ t && (t.setOption(i.value, !0), A(() => t.resize()));
381
+ }, s = () => {
382
+ t == null || t.resize({ animation: { duration: 300 } });
383
+ };
384
+ return m(
385
+ () => e.data,
386
+ (r, o) => {
387
+ JSON.stringify(r) !== JSON.stringify(o) && n();
388
+ },
389
+ { deep: !0 }
390
+ ), m(i, n), F(() => {
391
+ b(), window.addEventListener("resize", s);
392
+ }), z(() => {
393
+ window.removeEventListener("resize", s), t == null || t.dispose(), t = null;
394
+ }), (r, o) => (L(), w("div", v({
395
+ ref_key: "chartContainer",
396
+ ref: l
397
+ }, r.$attrs, { class: "echarts-container" }), null, 16));
398
+ }
399
+ }, S = /* @__PURE__ */ E(O, [["__scopeId", "data-v-08433724"]]);
400
+ S.install = (a) => {
401
+ a.component("SingleLineChart", S);
402
+ };
403
+ export {
404
+ S as default
405
+ };
@@ -0,0 +1,242 @@
1
+ import { ref as y, computed as h, watch as v, onMounted as I, onBeforeUnmount as w, openBlock as A, createElementBlock as _, mergeProps as k, nextTick as z } from "vue";
2
+ import { i as P } from "./chunks/index-CBkwld9S.js";
3
+ import { _ as L } from "./chunks/_plugin-vue_export-helper-CHgC5LLL.js";
4
+ import { m as O } from "./chunks/merge-H4ZkNr1T.js";
5
+ const B = {
6
+ __name: "SplitPie",
7
+ props: {
8
+ data: {
9
+ type: Array,
10
+ required: !0
11
+ },
12
+ options: {
13
+ type: Object,
14
+ default: () => ({})
15
+ },
16
+ total: {
17
+ type: Number,
18
+ default: 100
19
+ },
20
+ color: {
21
+ type: Array,
22
+ default: () => ["#438AF4", "#a1ffcb", "#f69d7b", "#b9e5ff", "#c392bb", "#65d1f8"]
23
+ },
24
+ loop: {
25
+ type: Boolean,
26
+ default: !1
27
+ }
28
+ },
29
+ setup(s) {
30
+ const r = s, d = y(null);
31
+ let e = null;
32
+ const x = h(() => ({
33
+ backgroundColor: "#000000",
34
+ title: {
35
+ zlevel: 0,
36
+ subtext: 806,
37
+ text: "设备管理",
38
+ top: "30%",
39
+ left: "46.5%",
40
+ textAlign: "center",
41
+ textStyle: {
42
+ color: "#fff",
43
+ fontSize: 12
44
+ },
45
+ subtextStyle: {
46
+ fontSize: 24,
47
+ color: "#99F7FF"
48
+ }
49
+ },
50
+ series: [
51
+ {
52
+ type: "pie",
53
+ name: "外层细圆环",
54
+ radius: ["99%", "98%"],
55
+ hoverAnimation: !1,
56
+ startAngle: 0,
57
+ clockWise: !1,
58
+ itemStyle: {
59
+ normal: {
60
+ color: "rgba(129, 197, 200, 0.5)"
61
+ }
62
+ },
63
+ label: {
64
+ show: !1
65
+ },
66
+ data: [100]
67
+ },
68
+ //环形
69
+ {
70
+ name: "",
71
+ type: "pie",
72
+ clockwise: !1,
73
+ startAngle: 0,
74
+ radius: ["70%", "82%"],
75
+ center: ["50%", "50%"],
76
+ label: {
77
+ normal: {
78
+ show: !1
79
+ },
80
+ emphasis: {
81
+ show: !1
82
+ }
83
+ },
84
+ zlevel: 1,
85
+ labelLine: {
86
+ normal: {
87
+ show: !1
88
+ }
89
+ },
90
+ data: r.data.flatMap((a, t) => {
91
+ if (a.value > 0) {
92
+ const n = Math.round(a.value / r.total * 100), o = [];
93
+ for (let l = 0; l < n; l++)
94
+ o.push(
95
+ {
96
+ value: 2,
97
+ // 有颜色部分的宽度
98
+ name: l,
99
+ // ratio: item.ratio,
100
+ itemStyle: {
101
+ normal: { color: r.color[t] }
102
+ }
103
+ },
104
+ {
105
+ value: 1,
106
+ // 无颜色部分的宽度
107
+ name: "",
108
+ itemStyle: {
109
+ normal: {
110
+ label: { show: !1 },
111
+ labelLine: { show: !1 },
112
+ color: "rgba(0, 0, 0, 0)",
113
+ borderColor: "rgba(0, 0, 0, 0)",
114
+ borderWidth: 0
115
+ }
116
+ }
117
+ }
118
+ );
119
+ return o;
120
+ }
121
+ return [];
122
+ })
123
+ }
124
+ // //环形分割线
125
+ // {
126
+ // name: "分割线",
127
+ // type: "gauge",
128
+ // radius: "60%",
129
+ // clockwise: true,
130
+ // startAngle: "90",
131
+ // center: ["50%", "50%"],
132
+ // startAngle: 0,
133
+ // endAngle: "-360",
134
+ // splitNumber: 100,
135
+ // zlevel: 2,
136
+ // detail: {
137
+ // offsetCenter: [10, 20],
138
+ // formatter: " ",
139
+ // },
140
+ // axisLine: {
141
+ // lineStyle: {
142
+ // width: 0,
143
+ // opacity: 0,
144
+ // },
145
+ // },
146
+ // axisTick: {
147
+ // show: false,
148
+ // },
149
+ // markArea: {
150
+ // itemStyle: {
151
+ // color: "#0f0",
152
+ // },
153
+ // },
154
+ // splitLine: {
155
+ // show: true,
156
+ // length: 9,
157
+ // padding: [0, 0, 0],
158
+ // lineStyle: {
159
+ // color: "#00000030",
160
+ // width: 3,
161
+ // },
162
+ // },
163
+ // axisLabel: {
164
+ // show: false,
165
+ // },
166
+ // },
167
+ ]
168
+ }));
169
+ function g(a, t) {
170
+ if (!t)
171
+ return;
172
+ let n = -1, o = setInterval(m, 1e3);
173
+ function l() {
174
+ for (let u = 0; u < a.series[1].data.length; u++)
175
+ t.dispatchAction({
176
+ type: "downplay",
177
+ seriesIndex: 1,
178
+ dataIndex: u
179
+ });
180
+ t.dispatchAction({
181
+ type: "highlight",
182
+ seriesIndex: 1,
183
+ dataIndex: n
184
+ }), t.dispatchAction({
185
+ type: "showTip",
186
+ seriesIndex: 1,
187
+ dataIndex: n
188
+ });
189
+ }
190
+ t.on("mouseover", (i) => {
191
+ i.componentType !== "graphic" && (clearInterval(o), n = i.dataIndex, l());
192
+ }), t.on("mouseout", (i) => {
193
+ o && clearInterval(o), o = setInterval(m, 100);
194
+ }), t.on("dispose", () => {
195
+ clearInterval(o);
196
+ });
197
+ function m() {
198
+ const i = a.series[1].data.length;
199
+ n = (n + 1) % i, l();
200
+ }
201
+ }
202
+ const c = h(
203
+ () => O({}, x.value, r.options)
204
+ ), S = () => {
205
+ d.value && (e = P(
206
+ d.value,
207
+ {},
208
+ {
209
+ renderer: "svg"
210
+ }
211
+ ), p(), r.loop && g(c.value, e), e.dispatchAction({
212
+ type: "takeGlobalCursor",
213
+ key: "dataZoomSelect",
214
+ dataZoomSelectActive: !0
215
+ }));
216
+ }, p = () => {
217
+ e && (e.setOption(c.value, !0), z(() => e.resize()));
218
+ }, f = () => {
219
+ e == null || e.resize({ animation: { duration: 300 } });
220
+ };
221
+ return v(
222
+ () => r.data,
223
+ (a, t) => {
224
+ JSON.stringify(a) !== JSON.stringify(t) && p();
225
+ },
226
+ { deep: !0 }
227
+ ), v(c, p), I(() => {
228
+ S(), window.addEventListener("resize", f);
229
+ }), w(() => {
230
+ window.removeEventListener("resize", f), e == null || e.dispose(), e = null;
231
+ }), (a, t) => (A(), _("div", k({
232
+ ref_key: "chartContainer",
233
+ ref: d
234
+ }, a.$attrs, { class: "echarts-container" }), null, 16));
235
+ }
236
+ }, b = /* @__PURE__ */ L(B, [["__scopeId", "data-v-1f0e1efc"]]);
237
+ b.install = (s) => {
238
+ s.component("SplitPie", b);
239
+ };
240
+ export {
241
+ b as default
242
+ };