smart-web-ui 1.0.1 → 1.0.2

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 (129) hide show
  1. package/dist/assets/font/D-DIN.otf +0 -0
  2. package/dist/assets/font/PangMenZhengDaoBiaoTiTi-1.woff2 +0 -0
  3. package/dist/assets/font/PingFangSC.woff2 +0 -0
  4. package/dist/assets/font/SourceHanSansCN-Regular.woff +0 -0
  5. package/dist/assets/font/ysbth.woff +0 -0
  6. package/dist/assets/font.css +14 -0
  7. package/dist/assets/fonts/D-DIN.otf +0 -0
  8. package/dist/assets/fonts/PingFangSC.woff2 +0 -0
  9. package/dist/assets/fonts/SourceHanSansCN-Regular.woff +0 -0
  10. package/dist/assets/fonts/ysbth.woff +0 -0
  11. package/dist/assets/image/btn1.jpg +0 -0
  12. package/dist/assets/image/btn2.jpg +0 -0
  13. package/dist/assets/vue.svg +1 -0
  14. package/dist/smart-web-ui.css +1 -0
  15. package/dist/smart-web-ui.es.js +59787 -0
  16. package/dist/smart-web-ui.umd.js +429 -0
  17. package/package.json +50 -51
  18. package/dist/BuildingList.js +0 -8
  19. package/dist/CategoryPieChart.js +0 -435
  20. package/dist/ChartModel.js +0 -46
  21. package/dist/ChartTable.js +0 -162
  22. package/dist/CircularPieChart.js +0 -314
  23. package/dist/CloseButtonA.js +0 -39
  24. package/dist/ColumnDiagram.js +0 -352
  25. package/dist/DataColumnDiagram.js +0 -275
  26. package/dist/DatePicker.js +0 -142
  27. package/dist/DateTimePicker.js +0 -146
  28. package/dist/DateYearPicker.js +0 -152
  29. package/dist/DayTimerShaft.js +0 -894
  30. package/dist/DoubleColumnDiagram.js +0 -360
  31. package/dist/DoubleLineChart.js +0 -410
  32. package/dist/DoubleStraightLineChart.js +0 -405
  33. package/dist/EffectLoading.js +0 -15
  34. package/dist/GradientCircularPieChart.js +0 -372
  35. package/dist/GradientPieChart.js +0 -501
  36. package/dist/HikPlayer.js +0 -10
  37. package/dist/ImaginaryAndRealLineChart.js +0 -405
  38. package/dist/InfiniteScrollingTable.js +0 -2150
  39. package/dist/JessibucaPlayer.js +0 -181
  40. package/dist/LineChart.js +0 -279
  41. package/dist/MenuOne.js +0 -75
  42. package/dist/MultiDataColumnDiagram.js +0 -398
  43. package/dist/MultigraphChart.js +0 -392
  44. package/dist/MultitermBorderColumnDiagram.js +0 -384
  45. package/dist/MultitermColumnDiagram.js +0 -359
  46. package/dist/MyButton.js +0 -8
  47. package/dist/MyInput.js +0 -42
  48. package/dist/OnlinePieChart.js +0 -365
  49. package/dist/PantiltControl.js +0 -147
  50. package/dist/PictorialChart.js +0 -205
  51. package/dist/PieChart.js +0 -252
  52. package/dist/PieChartLegendCustom.js +0 -251
  53. package/dist/PieChartOne.js +0 -438
  54. package/dist/PopupFrame.js +0 -131
  55. package/dist/RangTimePicker.js +0 -160
  56. package/dist/RangePicker.js +0 -156
  57. package/dist/SingleLineChart.js +0 -405
  58. package/dist/SplitPie.js +0 -242
  59. package/dist/SplitPieChart.js +0 -294
  60. package/dist/StacketColumnDiagram.js +0 -345
  61. package/dist/TechnologyBlueFrameworkOne.js +0 -183
  62. package/dist/TimerShaft.js +0 -229
  63. package/dist/ToroidalPieChart.js +0 -318
  64. package/dist/WordCloudOne.js +0 -138
  65. package/dist/WordCloudTwo.js +0 -157
  66. package/dist/chunks/BuildingList-CU-EXKgo.js +0 -126
  67. package/dist/chunks/HikPlayer-DKfQRkh6.js +0 -422
  68. package/dist/chunks/MyButton-DvqgvXGG.js +0 -36
  69. package/dist/chunks/_commonjsHelpers-C6fGbg64.js +0 -6
  70. package/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  71. package/dist/chunks/dayjs.min-CQFNnJKC.js +0 -285
  72. package/dist/chunks/debounce-DmrysiyS.js +0 -84
  73. package/dist/chunks/index-CBkwld9S.js +0 -43886
  74. package/dist/chunks/index-CYrEZgNC.js +0 -334
  75. package/dist/chunks/isObject-Bhos3v62.js +0 -33
  76. package/dist/chunks/merge-H4ZkNr1T.js +0 -487
  77. package/dist/chunks/wordCloud-uiqgdIRk.js +0 -737
  78. package/dist/chunks/zh_CN-BUEgxmeh.js +0 -79
  79. package/dist/css/BuildingList-Bdnl0gBJ.css +0 -1
  80. package/dist/css/CategoryPieChart-DBMhOWSp.css +0 -1
  81. package/dist/css/ChartModel-Dv4h1lb5.css +0 -1
  82. package/dist/css/ChartTable-Cr0oTeRE.css +0 -1
  83. package/dist/css/CircularPieChart-C3BGd8fm.css +0 -1
  84. package/dist/css/CloseButtonA-DY2NFd49.css +0 -1
  85. package/dist/css/ColumnDiagram-Dis9ikD8.css +0 -1
  86. package/dist/css/DataColumnDiagram-BT2JWzYV.css +0 -1
  87. package/dist/css/DatePicker-BcnVF2a0.css +0 -1
  88. package/dist/css/DateTimePicker-ogqIcJbR.css +0 -1
  89. package/dist/css/DateYearPicker-Cxi6LOU5.css +0 -1
  90. package/dist/css/DayTimerShaft-CgF_vvOC.css +0 -1
  91. package/dist/css/DoubleColumnDiagram-BxutsIuM.css +0 -1
  92. package/dist/css/DoubleLineChart-BDAn7Vm_.css +0 -1
  93. package/dist/css/DoubleStraightLineChart-DIRVxSDN.css +0 -1
  94. package/dist/css/EffectLoading-Ctm_V9PA.css +0 -1
  95. package/dist/css/GradientCircularPieChart-DwvudWRO.css +0 -1
  96. package/dist/css/GradientPieChart-BIbCGRqo.css +0 -1
  97. package/dist/css/HikPlayer-CZ3Esf6X.css +0 -1
  98. package/dist/css/ImaginaryAndRealLineChart-DM6nwp5j.css +0 -1
  99. package/dist/css/InfiniteScrollingTable-DI-gbfBL.css +0 -1
  100. package/dist/css/JessibucaPlayer-DYHP4jB_.css +0 -1
  101. package/dist/css/LineChart-BMK43A6-.css +0 -1
  102. package/dist/css/MenuOne-DZagmMAX.css +0 -1
  103. package/dist/css/MultiDataColumnDiagram-D1yx69tf.css +0 -1
  104. package/dist/css/MultigraphChart-C4dh2No_.css +0 -1
  105. package/dist/css/MultitermBorderColumnDiagram-DAn4G2De.css +0 -1
  106. package/dist/css/MultitermColumnDiagram-CF0BvPJO.css +0 -1
  107. package/dist/css/MyButton-CE8oLA-0.css +0 -1
  108. package/dist/css/MyInput-CauB72eE.css +0 -1
  109. package/dist/css/OnlinePieChart-DjGjF_9i.css +0 -1
  110. package/dist/css/PantiltControl-DS0BWsLg.css +0 -1
  111. package/dist/css/PictorialChart-D_NmyxMl.css +0 -1
  112. package/dist/css/PieChart-ijJKQrDc.css +0 -1
  113. package/dist/css/PieChartLegendCustom-BIQtqA8m.css +0 -1
  114. package/dist/css/PieChartOne-D1gY-q_Q.css +0 -1
  115. package/dist/css/PopupFrame-BuPG741n.css +0 -1
  116. package/dist/css/RangTimePicker-BhS_Fhaj.css +0 -1
  117. package/dist/css/RangePicker-Cmdpil97.css +0 -1
  118. package/dist/css/SingleLineChart-YXl29ldj.css +0 -1
  119. package/dist/css/SplitPie-vGvTEPG-.css +0 -1
  120. package/dist/css/SplitPieChart-yTrBBQxd.css +0 -1
  121. package/dist/css/StacketColumnDiagram-BvMIqlC_.css +0 -1
  122. package/dist/css/TechnologyBlueFrameworkOne-CMF1mCbl.css +0 -1
  123. package/dist/css/TimerShaft-LaGF129n.css +0 -1
  124. package/dist/css/ToroidalPieChart-CcfTDUUR.css +0 -1
  125. package/dist/css/WordCloudOne-CsMA5RxS.css +0 -1
  126. package/dist/css/WordCloudTwo-LSvh51aP.css +0 -1
  127. package/dist/css/index-jBItPHyv.css +0 -1
  128. package/dist/favicon.svg +0 -1
  129. package/dist/index.js +0 -151
@@ -1,229 +0,0 @@
1
- import { computed as k, ref as l, watch as I, reactive as Z, resolveComponent as q, openBlock as x, createElementBlock as g, createElementVNode as N, Fragment as ee, renderList as te, normalizeStyle as D, toDisplayString as F, createCommentVNode as z, createVNode as B, unref as P, withCtx as V, createTextVNode as oe } from "vue";
2
- import { c as ae, d as ne, b as re } from "./chunks/index-CYrEZgNC.js";
3
- import { d as C } from "./chunks/dayjs.min-CQFNnJKC.js";
4
- import { _ as ie } from "./chunks/_plugin-vue_export-helper-CHgC5LLL.js";
5
- import { d as le } from "./chunks/debounce-DmrysiyS.js";
6
- import { i as se } from "./chunks/isObject-Bhos3v62.js";
7
- var ce = "Expected a function";
8
- function me(m, b, e) {
9
- var u = !0, p = !0;
10
- if (typeof m != "function")
11
- throw new TypeError(ce);
12
- return se(e) && (u = "leading" in e ? !!e.leading : u, p = "trailing" in e ? !!e.trailing : p), le(m, b, {
13
- leading: u,
14
- maxWait: b,
15
- trailing: p
16
- });
17
- }
18
- const ue = { class: "ticks-container" }, de = {
19
- key: 0,
20
- class: "tick-label"
21
- }, fe = {
22
- __name: "TimerShaft",
23
- props: {
24
- startTime: {
25
- type: Number,
26
- default: 0,
27
- required: !0
28
- },
29
- endTime: {
30
- type: Number,
31
- default: 0,
32
- required: !0
33
- },
34
- nowTime: {
35
- type: Number,
36
- default: 0,
37
- required: !0
38
- }
39
- },
40
- emits: ["handleTime", "update:nowTime"],
41
- setup(m, { emit: b }) {
42
- const e = m, u = b, p = k(() => typeof e.nowTime == "number" && !isNaN(e.nowTime) ? C(e.nowTime * 1e3).format("HH:mm:ss") : "无效时间"), w = l(""), _ = l({}), O = me((t) => {
43
- const o = c.value;
44
- if (!o) return;
45
- const a = o.getBoundingClientRect(), n = t.clientX - a.left, r = o.clientWidth;
46
- if (n >= 0 && n <= r) {
47
- const i = window.innerWidth, v = window.innerHeight, f = 100, M = 30;
48
- let T = t.clientX - 30, h = t.clientY - 50;
49
- T + f > i && (T = i - f), T < 0 && (T = 0), h < 0 && (h = 0), h + M > v && (h = v - M), _.value = {
50
- left: `${T}px`,
51
- top: `${h}px`
52
- };
53
- const K = n / r, Q = Math.floor(
54
- e.startTime + K * (e.endTime - e.startTime)
55
- );
56
- w.value = C(Q * 1e3).format("HH:mm:ss");
57
- }
58
- }, 50), y = () => {
59
- w.value = "", _.value = {};
60
- }, Y = k(() => {
61
- const t = Math.floor(e.endTime - e.startTime), o = [];
62
- if (t <= 0) return o;
63
- const a = [
64
- { max: 30, interval: 1, labelStep: 1 },
65
- // <30秒: 1秒间隔
66
- { max: 60, interval: 5, labelStep: 1 },
67
- // <1分钟: 5秒间隔
68
- { max: 300, interval: 10, labelStep: 1 },
69
- // <5分钟: 10秒间隔
70
- { max: 600, interval: 30, labelStep: 1 },
71
- // <10分钟: 30秒间隔
72
- { max: 1800, interval: 60, labelStep: 1 },
73
- // <30分钟: 1分钟间隔
74
- { max: 3600, interval: 300, labelStep: 1 },
75
- // <1小时: 5分钟间隔
76
- { max: 7200, interval: 600, labelStep: 1 },
77
- // <2小时: 10分钟间隔
78
- { max: 14400, interval: 900, labelStep: 1 },
79
- // <4小时: 15分钟间隔
80
- { max: 28800, interval: 1800, labelStep: 1 },
81
- // <8小时: 30分钟间隔
82
- { max: 86400, interval: 3600, labelStep: 1 },
83
- // <24小时: 1小时间隔
84
- { max: 172800, interval: 7200, labelStep: 1 },
85
- // <48小时: 2小时间隔
86
- { max: 1 / 0, interval: 14400, labelStep: 1 }
87
- // 默认: 4小时间隔
88
- ], { interval: n, labelStep: r = 1 } = a.find(
89
- (f) => t <= f.max
90
- );
91
- let i = $(Math.floor(e.startTime), n), v = 0;
92
- for (; i <= Math.floor(e.endTime); ) {
93
- const f = (i - Math.floor(e.startTime)) / t * 100, M = v % r === 0;
94
- o.push({
95
- position: Math.min(100, f.toFixed(3)),
96
- label: U(i),
97
- showLabel: M
98
- }), i += n, v++;
99
- }
100
- return o;
101
- }), $ = (t, o) => {
102
- const a = new Date(t * 1e3), n = o > 3600 ? 3600 : o > 60 ? 60 : 1, r = Math.ceil((a.getMinutes() * 60 + a.getSeconds()) / n) * n;
103
- return a.setMinutes(0, 0, 0), Math.floor(a.getTime() / 1e3) + r;
104
- }, U = (t) => e.endTime - e.startTime <= 600 ? C(t * 1e3).format("mm:ss") : C(t * 1e3).format("HH:mm"), d = l(e.startTime), W = l(e.endTime), s = l(
105
- e.nowTime < e.startTime ? e.startTime : e.nowTime > e.endTime ? e.endTime : e.nowTime
106
- );
107
- let S = I(
108
- () => e.nowTime,
109
- (t) => {
110
- s.value = t < e.startTime ? e.startTime : t > e.endTime ? e.endTime : t;
111
- }
112
- );
113
- const c = l(), R = l(null), A = ae("--primary-color", R), E = k(() => {
114
- try {
115
- const t = W.value - d.value;
116
- let o = s.value - d.value;
117
- return o < 0 && (o = 0), o / t * 100;
118
- } catch {
119
- return 0;
120
- }
121
- }), H = Z(
122
- ne({ target: R, type: (t) => typeof Touch < "u" && t instanceof Touch ? null : [t.offsetX, t.offsetY] })
123
- ), G = () => {
124
- var t, o;
125
- H.x >= 0 && H.x <= (((t = c.value) == null ? void 0 : t.clientWidth) ?? 0) && (s.value = Number(
126
- (d.value + H.x / (((o = c.value) == null ? void 0 : o.clientWidth) ?? 0) * (W.value - d.value)).toFixed(0)
127
- ), X());
128
- }, L = l(null), J = k(() => E.value ? E.value : 0);
129
- re(L, {
130
- axis: "x",
131
- containerElement: c,
132
- onMove: (t) => {
133
- var o, a;
134
- t.x >= 0 && t.x <= (((o = c.value) == null ? void 0 : o.clientWidth) ?? 0) && (s.value = Number(
135
- (d.value + t.x / (((a = c.value) == null ? void 0 : a.clientWidth) ?? 0) * (W.value - d.value)).toFixed(0)
136
- ));
137
- },
138
- onEnd: () => {
139
- X();
140
- }
141
- });
142
- const X = () => {
143
- u("handleTime", s.value), u("update:nowTime", s.value), S && (S(), S = null, setTimeout(() => {
144
- S = I(
145
- () => e.nowTime,
146
- (t) => {
147
- s.value = t < e.startTime ? e.startTime : t > e.endTime ? e.endTime : t;
148
- }
149
- );
150
- }, 2e3));
151
- };
152
- return (t, o) => {
153
- const a = q("a-progress"), n = q("a-tooltip");
154
- return x(), g("div", {
155
- class: "TimerShaft",
156
- onMouseleave: y
157
- }, [
158
- N("div", {
159
- class: "w-full h-full",
160
- onMouseleave: y
161
- }, [
162
- N("div", {
163
- ref_key: "containerRef",
164
- ref: c,
165
- class: "video-sprogress-container",
166
- onMouseleave: y
167
- }, [
168
- N("div", ue, [
169
- (x(!0), g(ee, null, te(Y.value, (r, i) => (x(), g("div", {
170
- key: i,
171
- class: "tick",
172
- style: D({ left: r.position + "%" })
173
- }, [
174
- r.showLabel ? (x(), g("span", de, F(r.label), 1)) : z("", !0)
175
- ], 4))), 128))
176
- ]),
177
- w.value ? (x(), g("div", {
178
- key: 0,
179
- style: D({
180
- left: _.value.left,
181
- top: _.value.top,
182
- position: "fixed",
183
- whiteSpace: "nowrap",
184
- backgroundColor: "rgba(0, 0, 0, 0.8)",
185
- color: "white",
186
- padding: "4px 8px",
187
- borderRadius: "4px",
188
- fontSize: "12px",
189
- zIndex: 9999
190
- })
191
- }, F(w.value), 5)) : z("", !0),
192
- B(a, {
193
- class: "cursor-pointer",
194
- ref_key: "progressRef",
195
- ref: R,
196
- percent: E.value,
197
- strokeColor: P(A),
198
- status: "active",
199
- showInfo: !1,
200
- onClick: G,
201
- onMousemove: P(O),
202
- onMouseleave: y
203
- }, null, 8, ["percent", "strokeColor", "onMousemove"]),
204
- B(n, { mouseLeaveDelay: 0 }, {
205
- title: V(() => [
206
- oe(F(p.value), 1)
207
- ]),
208
- default: V(() => [
209
- N("div", {
210
- class: "video-sprogress-pointer",
211
- ref_key: "pointerRef",
212
- ref: L,
213
- style: D({ left: J.value + "%" })
214
- }, null, 4)
215
- ]),
216
- _: 1
217
- })
218
- ], 544)
219
- ], 32)
220
- ], 32);
221
- };
222
- }
223
- }, j = /* @__PURE__ */ ie(fe, [["__scopeId", "data-v-d0bf37c9"]]);
224
- j.install = (m) => {
225
- m.component("TimerShaft", j);
226
- };
227
- export {
228
- j as default
229
- };
@@ -1,318 +0,0 @@
1
- import { ref as v, computed as y, watch as B, onMounted as U, onBeforeUnmount as F, openBlock as b, createElementBlock as I, mergeProps as k, nextTick as E } from "vue";
2
- import { i as X } from "./chunks/index-CBkwld9S.js";
3
- import { _ as w } from "./chunks/_plugin-vue_export-helper-CHgC5LLL.js";
4
- import { m as W } from "./chunks/merge-H4ZkNr1T.js";
5
- const S = {
6
- __name: "ToroidalPieChart",
7
- props: {
8
- data: {
9
- type: Array,
10
- required: !0
11
- },
12
- options: {
13
- type: Object,
14
- default: () => ({})
15
- },
16
- colorData: {
17
- type: Array,
18
- default: () => ["#438AF4", "#a1ffcb", "#f69d7b", "#b9e5ff", "#c392bb", "#65d1f8"]
19
- },
20
- zoomKey: {
21
- type: String,
22
- // 'none' | 'ctrl' | 'alt' | 'shift'
23
- default: "ctrl"
24
- // 默认按住 Ctrl 键缩放
25
- },
26
- // 圆环间隙大小
27
- padAngle: {
28
- type: Number,
29
- default: 5
30
- },
31
- // 移入提示框背景颜色
32
- tooltipBgColor: {
33
- type: String,
34
- default: "rgba(1, 13, 19, 0.6)"
35
- },
36
- // 移入提示框边框颜色
37
- tooltipBorderColor: {
38
- type: String,
39
- default: "#ffffff40"
40
- },
41
- // 移入提示框文字颜色
42
- tooltipTextColor: {
43
- type: String,
44
- default: "#ffffff"
45
- },
46
- // 移入提示框文字大小
47
- tooltipTextFontSize: {
48
- type: Number,
49
- default: 12
50
- },
51
- // 圆环大小数据
52
- radiusData: {
53
- type: Array,
54
- default: () => ["60", "70"]
55
- },
56
- // 圆环位置
57
- centerData: {
58
- type: Array,
59
- default: ["23%", "50%"]
60
- },
61
- // 图例区域总高度
62
- itemHeight: {
63
- type: Number,
64
- default: 80
65
- },
66
- // 初始顶部位置(从底部开始)
67
- topPosition: {
68
- type: Number,
69
- default: 90
70
- },
71
- // legend数据相对右侧位置
72
- legendRight: {
73
- type: String,
74
- default: "0%"
75
- },
76
- // legend图例宽度
77
- legendWidth: {
78
- type: Number,
79
- default: 180
80
- },
81
- // legend图例色块宽度
82
- legendItemWidth: {
83
- type: Number,
84
- default: 14
85
- },
86
- // legend图例色块高度
87
- legendItemHeight: {
88
- type: Number,
89
- default: 14
90
- },
91
- // legend整体宽度
92
- textStyleWidth: {
93
- type: Number,
94
- default: 160
95
- },
96
- // legend名称字体大小
97
- legendNameFontSize: {
98
- type: Number,
99
- default: 13
100
- },
101
- // legend名称字体颜色
102
- legendNameColor: {
103
- type: String,
104
- default: "#fff"
105
- },
106
- // legend名称padding值
107
- legendNamePadding: {
108
- type: Array,
109
- default: [0, 0, 0, 4]
110
- },
111
- // legend value值字体大小
112
- legendValueFontSize: {
113
- type: Number,
114
- default: 15
115
- },
116
- // legend value值字体粗度
117
- legendValuefontWeight: {
118
- type: Number,
119
- default: 700
120
- },
121
- // 中间图片地址
122
- imgUrl: {
123
- type: String,
124
- default: () => new URL("data:image/png;base64,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", import.meta.url).href
125
- },
126
- // 图片宽度
127
- imgWidth: {
128
- type: Number,
129
- default: 100
130
- },
131
- // 图片高度
132
- imgHeight: {
133
- type: Number,
134
- default: 100
135
- },
136
- // 图片靠左侧位置
137
- imgLeft: {
138
- type: String,
139
- default: "42"
140
- }
141
- },
142
- setup(r) {
143
- const A = r, i = v(null);
144
- let e = null;
145
- const c = y(() => {
146
- const t = A.data, g = [], n = A.colorData;
147
- for (let o = 0; o < t.length; o++)
148
- g.push({
149
- value: t[o].data,
150
- name: t[o].name
151
- });
152
- const p = [
153
- {
154
- name: "",
155
- type: "pie",
156
- clockwise: !1,
157
- padAngle: A.padAngle,
158
- radius: A.radiusData,
159
- center: A.centerData,
160
- itemStyle: {
161
- borderRadius: "50%"
162
- },
163
- top: "center",
164
- label: {
165
- show: !1
166
- },
167
- data: g
168
- }
169
- ], V = [], f = t.length, D = A.itemHeight / f;
170
- let C = A.topPosition;
171
- return t.forEach((o, d) => {
172
- C -= D;
173
- const R = n[d] ? n[d] : "#65d1f8";
174
- V.push({
175
- top: `${C}%`,
176
- right: A.legendRight,
177
- orient: "vertical",
178
- // 改变排列方式
179
- icon: "roundRect",
180
- // 改变legend小图标形状
181
- width: A.legendWidth,
182
- itemWidth: A.legendItemWidth,
183
- // 设置宽度
184
- itemHeight: A.legendItemHeight,
185
- // 设置高度
186
- formatter: (m) => `{name|${m}}{value|${o.data}}`,
187
- textStyle: {
188
- width: A.textStyleWidth,
189
- align: "left",
190
- verticalAlign: "middle",
191
- rich: {
192
- name: {
193
- fontSize: A.legendNameFontSize,
194
- fontFamily: "PingFang SC",
195
- align: "left",
196
- color: A.legendNameColor,
197
- // name颜色为白色
198
- padding: A.legendNamePadding
199
- },
200
- value: {
201
- fontSize: A.legendValueFontSize,
202
- fontFamily: "D-DIN",
203
- align: "right",
204
- color: R,
205
- fontWeight: A.legendValuefontWeight
206
- // padding: props.legendValuePadding
207
- }
208
- }
209
- },
210
- itemStyle: {},
211
- data: [
212
- {
213
- name: o.name,
214
- // icon: 'rect',
215
- borderWidth: 0
216
- }
217
- ]
218
- });
219
- }), {
220
- tooltip: {
221
- show: !0,
222
- trigger: "item",
223
- backgroundColor: A.tooltipBgColor,
224
- borderColor: A.tooltipBorderColor,
225
- textStyle: {
226
- color: A.tooltipTextColor,
227
- fontSize: A.tooltipTextFontSize,
228
- fontFamily: "PingFang SC"
229
- }
230
- },
231
- color: n,
232
- graphic: {
233
- elements: [
234
- {
235
- type: "image",
236
- z: 9,
237
- style: {
238
- image: A.imgUrl,
239
- width: A.imgWidth,
240
- height: A.imgHeight
241
- },
242
- left: A.imgLeft,
243
- top: "center"
244
- }
245
- ]
246
- },
247
- legend: V,
248
- series: p,
249
- // // 数据缩放配置
250
- // dataZoom: [
251
- // {
252
- // type: "inside", // 内置型数据缩放组件
253
- // xAxisIndex: 0, // 控制第一个 x 轴
254
- // // 根据 zoomKey 的值设置是否需要按键触发缩放
255
- // zoomOnMouseWheel: props.zoomKey === "none" ? true : props.zoomKey,
256
- // moveOnMouseMove: true, // 允许鼠标拖动平移
257
- // moveOnMouseWheel: true, // 允许鼠标滚轮平移
258
- // preventDefaultMouseMove: false, // 允许默认滚动行为
259
- // throttle: 50, // 操作节流时间
260
- // start: 0,
261
- // end:
262
- // (props.data && props.data.length) > 30
263
- // ? props.data.length / 1.7
264
- // : (props.data && props.data.length) > 23
265
- // ? props.data.length / 1.5
266
- // : (props.data && props.data.length) > 13
267
- // ? 50
268
- // : (props.data && props.data.length) > 7
269
- // ? 70
270
- // : 100,
271
- // maxSpan: 80, // 最大缩放范围
272
- // minSpan: 20, // 最小缩放范围
273
- // },
274
- // ],
275
- animation: !0
276
- // 禁用动画提升性能
277
- };
278
- }), a = y(
279
- () => W({}, c.value, A.options)
280
- ), Q = () => {
281
- i.value && (e = X(
282
- i.value,
283
- {},
284
- {
285
- renderer: "svg"
286
- }
287
- ), l(), e.dispatchAction({
288
- type: "takeGlobalCursor",
289
- key: "dataZoomSelect",
290
- dataZoomSelectActive: !0
291
- }));
292
- }, l = () => {
293
- e && (e.setOption(a.value, !0), E(() => e.resize()));
294
- }, q = () => {
295
- e == null || e.resize({ animation: { duration: 300 } });
296
- };
297
- return B(
298
- () => A.data,
299
- (t, g) => {
300
- JSON.stringify(t) !== JSON.stringify(g) && l();
301
- },
302
- { deep: !0 }
303
- ), B(a, l), U(() => {
304
- Q(), window.addEventListener("resize", q);
305
- }), F(() => {
306
- window.removeEventListener("resize", q), e == null || e.dispose(), e = null;
307
- }), (t, g) => (b(), I("div", k({
308
- ref_key: "chartContainer",
309
- ref: i
310
- }, t.$attrs, { class: "echarts-container" }), null, 16));
311
- }
312
- }, u = /* @__PURE__ */ w(S, [["__scopeId", "data-v-a473d945"]]);
313
- u.install = (r) => {
314
- r.component("ToroidalPieChart", u);
315
- };
316
- export {
317
- u as default
318
- };