@skyfox2000/webui 1.2.8 → 1.2.10

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 (148) hide show
  1. package/package.json +1 -1
  2. package/scripts/userInput.py +2 -0
  3. package/src/components/common/index.ts +3 -0
  4. package/src/components/common/loading/index.vue +11 -0
  5. package/src/components/content/dialog/index.vue +15 -8
  6. package/src/components/content/dialog/uploadForm.vue +38 -79
  7. package/src/components/content/drawer/index.vue +26 -6
  8. package/src/components/content/form/formItem.vue +21 -5
  9. package/src/components/content/form/index.vue +4 -2
  10. package/src/components/content/search/searchItem.vue +1 -1
  11. package/src/components/form/autoComplete/index.vue +12 -4
  12. package/src/components/form/cascader/index.vue +1 -1
  13. package/src/components/form/datePicker/index.vue +1 -1
  14. package/src/components/form/index.ts +1 -0
  15. package/src/components/form/input/inputIcon.vue +1 -1
  16. package/src/components/form/propEditor/index.vue +113 -33
  17. package/src/components/form/select/index.vue +27 -17
  18. package/src/components/form/upload/uploadList.vue +174 -34
  19. package/src/components/index.ts +13 -1
  20. package/src/directives/permission.ts +2 -2
  21. package/src/index.ts +3 -1
  22. package/src/stores/userInfo.ts +28 -2
  23. package/src/typings/form.d.ts +18 -2
  24. package/src/typings/option.d.ts +16 -2
  25. package/src/typings/page.d.ts +1 -0
  26. package/src/utils/download.ts +1 -1
  27. package/src/utils/eventbus.ts +1 -1
  28. package/src/utils/file-upload.ts +75 -14
  29. package/src/utils/form-excel.ts +50 -1
  30. package/src/utils/form-validate.ts +18 -1
  31. package/src/utils/form.ts +3 -1
  32. package/src/utils/options.ts +38 -12
  33. package/lib/AceEditor.d.ts +0 -1
  34. package/lib/BasicLayout.d.ts +0 -1
  35. package/lib/Error403.d.ts +0 -1
  36. package/lib/Error404.d.ts +0 -1
  37. package/lib/ExcelForm.d.ts +0 -1
  38. package/lib/UploadForm.d.ts +0 -1
  39. package/lib/assets/modules/file-upload-CZO-pMJd.js +0 -176
  40. package/lib/assets/modules/form-excel-N-2OYqKv.js +0 -211
  41. package/lib/assets/modules/index-BnHnS9ug.js +0 -111
  42. package/lib/assets/modules/index-CTVMLeDF.js +0 -109
  43. package/lib/assets/modules/index-D9kzQ23e.js +0 -2213
  44. package/lib/assets/modules/menuTabs-BtOiocOC.js +0 -676
  45. package/lib/assets/modules/toolIcon-B9Mw9Ktm.js +0 -50
  46. package/lib/assets/modules/uploadList-B4LxzsC6.js +0 -210
  47. package/lib/components/common/button/index.vue.d.ts +0 -41
  48. package/lib/components/common/icon/appicon.vue.d.ts +0 -11
  49. package/lib/components/common/icon/fullscreen.vue.d.ts +0 -3
  50. package/lib/components/common/icon/helper.vue.d.ts +0 -22
  51. package/lib/components/common/icon/index.vue.d.ts +0 -243
  52. package/lib/components/common/icon/layoutIcon.vue.d.ts +0 -43
  53. package/lib/components/common/icon/projectIcon.vue.d.ts +0 -59
  54. package/lib/components/common/icon/toolIcon.vue.d.ts +0 -43
  55. package/lib/components/common/index.d.ts +0 -18
  56. package/lib/components/common/tooltip/index.vue.d.ts +0 -21
  57. package/lib/components/content/dialog/index.vue.d.ts +0 -34
  58. package/lib/components/content/drawer/index.vue.d.ts +0 -26
  59. package/lib/components/content/form/formItem.vue.d.ts +0 -25
  60. package/lib/components/content/form/index.vue.d.ts +0 -25
  61. package/lib/components/content/index.d.ts +0 -22
  62. package/lib/components/content/search/index.vue.d.ts +0 -30
  63. package/lib/components/content/search/searchItem.vue.d.ts +0 -23
  64. package/lib/components/content/table/index.vue.d.ts +0 -36
  65. package/lib/components/content/table/tableOperate.vue.d.ts +0 -18
  66. package/lib/components/content/toolbar/icontool.vue.d.ts +0 -7
  67. package/lib/components/content/toolbar/index.vue.d.ts +0 -18
  68. package/lib/components/content/tree/index.vue.d.ts +0 -46
  69. package/lib/components/form/aceEditor/aceConfig.d.ts +0 -8
  70. package/lib/components/form/autoComplete/index.vue.d.ts +0 -139
  71. package/lib/components/form/cascader/index.vue.d.ts +0 -109
  72. package/lib/components/form/checkbox/index.vue.d.ts +0 -128
  73. package/lib/components/form/datePicker/index.vue.d.ts +0 -6
  74. package/lib/components/form/index.d.ts +0 -38
  75. package/lib/components/form/input/index.vue.d.ts +0 -26
  76. package/lib/components/form/input/inputIcon.vue.d.ts +0 -10
  77. package/lib/components/form/input/inputNumber.vue.d.ts +0 -3
  78. package/lib/components/form/input/inputPassword.vue.d.ts +0 -3
  79. package/lib/components/form/propEditor/index.vue.d.ts +0 -12
  80. package/lib/components/form/radio/index.vue.d.ts +0 -133
  81. package/lib/components/form/radio/radioStatus.vue.d.ts +0 -31
  82. package/lib/components/form/rangePicker/index.vue.d.ts +0 -16
  83. package/lib/components/form/select/index.vue.d.ts +0 -142
  84. package/lib/components/form/switch/index.vue.d.ts +0 -43
  85. package/lib/components/form/textarea/index.vue.d.ts +0 -3
  86. package/lib/components/form/transfer/index.vue.d.ts +0 -38
  87. package/lib/components/form/transfer/transferTable.vue.d.ts +0 -38
  88. package/lib/components/form/treeSelect/index.vue.d.ts +0 -38
  89. package/lib/components/form/upload/uploadList.vue.d.ts +0 -476
  90. package/lib/components/index.d.ts +0 -4
  91. package/lib/components/layout/breadcrumb/index.vue.d.ts +0 -3
  92. package/lib/components/layout/content/index.vue.d.ts +0 -22
  93. package/lib/components/layout/datetime/index.vue.d.ts +0 -3
  94. package/lib/components/layout/header/headerExits.vue.d.ts +0 -3
  95. package/lib/components/layout/header/index.vue.d.ts +0 -3
  96. package/lib/components/layout/header/user.vue.d.ts +0 -3
  97. package/lib/components/layout/index.d.ts +0 -14
  98. package/lib/components/layout/menu/index.vue.d.ts +0 -6
  99. package/lib/components/layout/menu/menuTabs.vue.d.ts +0 -3
  100. package/lib/const/options.d.ts +0 -32
  101. package/lib/directives/enter-submit.d.ts +0 -4
  102. package/lib/directives/index.d.ts +0 -2
  103. package/lib/directives/permission.d.ts +0 -5
  104. package/lib/es/AceEditor/index.js +0 -167
  105. package/lib/es/BasicLayout/index.js +0 -101
  106. package/lib/es/Error403/index.js +0 -39
  107. package/lib/es/Error404/index.js +0 -39
  108. package/lib/es/ExcelForm/index.js +0 -321
  109. package/lib/es/UploadForm/index.js +0 -137
  110. package/lib/index.d.ts +0 -45
  111. package/lib/router/index.d.ts +0 -15
  112. package/lib/stores/appInfo.d.ts +0 -31
  113. package/lib/stores/hostInfo.d.ts +0 -9
  114. package/lib/stores/pageInfo.d.ts +0 -18
  115. package/lib/stores/pinia.d.ts +0 -3
  116. package/lib/stores/settingInfo.d.ts +0 -8
  117. package/lib/stores/userInfo.d.ts +0 -24
  118. package/lib/typings/data.d.ts +0 -80
  119. package/lib/typings/form.d.ts +0 -171
  120. package/lib/typings/menu.d.ts +0 -7
  121. package/lib/typings/option.d.ts +0 -175
  122. package/lib/typings/page.d.ts +0 -69
  123. package/lib/typings/table.d.ts +0 -181
  124. package/lib/typings/tools.d.ts +0 -130
  125. package/lib/typings/tree.d.ts +0 -72
  126. package/lib/typings/upload.d.ts +0 -161
  127. package/lib/typings/urls.d.ts +0 -69
  128. package/lib/utils/cache.d.ts +0 -23
  129. package/lib/utils/data.d.ts +0 -6
  130. package/lib/utils/download.d.ts +0 -4
  131. package/lib/utils/eventbus.d.ts +0 -16
  132. package/lib/utils/export-table.d.ts +0 -12
  133. package/lib/utils/file-upload.d.ts +0 -15
  134. package/lib/utils/form-excel.d.ts +0 -30
  135. package/lib/utils/form-validate.d.ts +0 -29
  136. package/lib/utils/form.d.ts +0 -9
  137. package/lib/utils/icon-loader.d.ts +0 -125
  138. package/lib/utils/isEmpty.d.ts +0 -1
  139. package/lib/utils/main-openapis.d.ts +0 -8
  140. package/lib/utils/menu.d.ts +0 -6
  141. package/lib/utils/options.d.ts +0 -10
  142. package/lib/utils/page.d.ts +0 -25
  143. package/lib/utils/table.d.ts +0 -21
  144. package/lib/utils/tools.d.ts +0 -18
  145. package/lib/utils/tree.d.ts +0 -3
  146. package/lib/vite-env.d.ts +0 -8
  147. package/lib/webui.css +0 -1
  148. package/lib/webui.es.js +0 -2240
@@ -1,676 +0,0 @@
1
- import { defineComponent as x, createBlock as h, createCommentVNode as I, openBlock as u, unref as t, mergeProps as C, useAttrs as q, computed as j, ref as y, watch as k, withCtx as d, createElementBlock as g, normalizeStyle as T, createElementVNode as m, inject as J, onMounted as N, createVNode as r, toDisplayString as $, Fragment as L, createTextVNode as K, reactive as Q, nextTick as W, renderList as Y, withModifiers as G } from "vue";
2
- import { a as w, _ as b } from "./toolIcon-B9Mw9Ktm.js";
3
- import { c as D, Q as E, ad as P, T as M, S as R, u as F, a as H, R as X, r as V, ab as z } from "./index-D9kzQ23e.js";
4
- import { theme as O, Breadcrumb as Z, Modal as ee, Flex as te, LayoutHeader as ne, Space as oe, Menu as se, Tabs as ie, TabPane as ce } from "ant-design-vue";
5
- import { mainAppApis as U } from "@skyfox2000/microbase";
6
- import { SERVER_HOST as B } from "@skyfox2000/fapi";
7
- import "vue-m-message";
8
- import "async-validator";
9
- import "dayjs";
10
- import "vue-draggable-next";
11
- const ae = /* @__PURE__ */ x({
12
- __name: "appicon",
13
- props: {
14
- icon: {
15
- type: String
16
- }
17
- },
18
- setup(i) {
19
- const s = i, e = D({
20
- iconUrl: `${B.APP_ICONS}`,
21
- icon: s.icon
22
- });
23
- return (l, a) => i.icon ? (u(), h(t(e), C({
24
- key: 0,
25
- icon: i.icon,
26
- class: ["text-2xl", "align-middle", "w-6", "h-6"]
27
- }, l.$attrs), null, 16, ["icon"])) : I("", !0);
28
- }
29
- }), le = ["xlink:href"], re = /* @__PURE__ */ x({
30
- inheritAttrs: !1,
31
- __name: "index",
32
- props: {
33
- /**
34
- * 点击后自动切换
35
- * @props
36
- * @name autoSwitch
37
- * @type {boolean}
38
- * @default true
39
- */
40
- autoSwitch: {
41
- type: Boolean,
42
- default: !0
43
- },
44
- /**
45
- * 提示标题
46
- * @props
47
- * @name tiptext
48
- * @type {string}
49
- */
50
- tiptext: {
51
- type: String
52
- },
53
- /**
54
- * 提示尺寸
55
- * @props
56
- * @name tipsize
57
- * @type {string}
58
- */
59
- tipsize: {
60
- type: String
61
- },
62
- /**
63
- * 提示背景色
64
- * @props
65
- * @name tipcolor
66
- * @type {string}
67
- */
68
- tipcolor: {
69
- type: String
70
- },
71
- /**
72
- * 提示显示位置
73
- * @props
74
- * @name placement
75
- * @type {string}
76
- * @default 'top'
77
- */
78
- placement: {
79
- type: String,
80
- default: "top"
81
- },
82
- /**
83
- * IconFont图标
84
- * @props
85
- * @name icon
86
- * @type {string}
87
- * @summary IconFont图标显示,使用sym-开头的使用svg模式显示
88
- */
89
- icon: {
90
- type: String
91
- },
92
- /**
93
- * IconFont图标组
94
- * @props
95
- * @name icons
96
- * @type {Array<string>}
97
- * @summary IconFont图标组显示,使用sym-开头的使用svg模式显示
98
- * @default []
99
- */
100
- icons: {
101
- type: Array,
102
- default: () => []
103
- },
104
- /**
105
- * 图标索引
106
- * @props
107
- * @name iconIndex
108
- * @type {number}
109
- * @default 0
110
- */
111
- iconIndex: {
112
- type: Number,
113
- default: 0
114
- },
115
- /**
116
- * 可点击,鼠标手
117
- * @props
118
- * @name clickable
119
- * @type {boolean}
120
- * @default false
121
- */
122
- clickable: {
123
- type: Boolean,
124
- default: !1
125
- },
126
- /**
127
- * 点击事件
128
- * @props
129
- * @name clickEvent
130
- * @summary 格式 "空间名#事件名",空间名和事件名用#分隔,事件名用.分隔
131
- * @type {string}
132
- */
133
- clickEvent: {
134
- type: String
135
- },
136
- /**
137
- * 点击传输数据
138
- * @props
139
- * @name data
140
- * @summary 点击事件传输的默认数据
141
- * @type {object|string}
142
- */
143
- data: {
144
- type: [Object, String]
145
- },
146
- /**
147
- * 字体大小
148
- * @props
149
- * @name size
150
- * @summary 字体大小
151
- * @type {string}
152
- * @default 20px
153
- */
154
- fontsize: {
155
- type: String,
156
- // 大小
157
- default: "20px"
158
- },
159
- /**
160
- * 空间大小
161
- * @props
162
- * @name size
163
- * @summary 空间大小
164
- * @type {string, [string, string]}
165
- * @default 20px
166
- */
167
- size: {
168
- type: [String, Array],
169
- // 大小
170
- default: () => ["20px", "20px"]
171
- },
172
- /**
173
- * 图标位置
174
- * @props
175
- * @name position
176
- * @summary 图标位置
177
- * @type {[string|number, string|number]}
178
- */
179
- position: {
180
- type: Array
181
- // 图标位置
182
- },
183
- /**
184
- * 旋转中心
185
- * @props
186
- * @name center
187
- * @summary 旋转中心
188
- * @type {string}
189
- */
190
- center: {
191
- type: String
192
- // 旋转中心
193
- },
194
- /**
195
- * 指定角度
196
- * @props
197
- * @name angle
198
- * @summary 指定角度
199
- * @type {number}
200
- */
201
- angle: {
202
- type: Number
203
- // 指定角度
204
- },
205
- /**
206
- * 颜色
207
- * @props
208
- * @name color
209
- * @summary 颜色
210
- * @type {string}
211
- */
212
- color: {
213
- type: String,
214
- // 颜色
215
- default: ""
216
- },
217
- /**
218
- * 样式
219
- * @props
220
- * @name hovercolor
221
- * @summary 样式
222
- * @type {string}
223
- */
224
- className: {
225
- type: String,
226
- // 样式
227
- default: ""
228
- },
229
- /**
230
- * 水平翻转
231
- * @props
232
- * @name flip
233
- * @summary 水平翻转
234
- * @type {boolean}
235
- * @default false
236
- */
237
- flip: {
238
- type: Boolean,
239
- // 水平翻转
240
- default: !1
241
- },
242
- /**
243
- * 自动旋转
244
- * @props
245
- * @name spin
246
- * @summary 自动旋转
247
- * @type {boolean}
248
- * @default false
249
- */
250
- spin: {
251
- type: Boolean,
252
- // 自动旋转
253
- default: !1
254
- }
255
- },
256
- emits: [
257
- /**
258
- * 点击事件
259
- * @emits
260
- * @name click
261
- * @summary 图标按钮点击时触发的事件
262
- */
263
- "click",
264
- /**
265
- * 图标索引更新
266
- * @emits
267
- * @name update:iconIndex
268
- * @summary 图标索引发生变化时触发的事件
269
- * @param {number} index - 新的图标索引
270
- */
271
- "update:iconIndex"
272
- ],
273
- setup(i, { emit: s }) {
274
- const n = q(), e = i, l = s, a = j(() => {
275
- if (Array.isArray(e.size)) return e.size;
276
- {
277
- let c = e.size;
278
- return [c, c];
279
- }
280
- }), o = y(e.icon), f = y(e.iconIndex);
281
- k(
282
- () => e.icon,
283
- (c) => {
284
- o.value = c;
285
- }
286
- ), k(
287
- () => e.iconIndex,
288
- (c) => {
289
- f.value = c, o.value = e.icons[c];
290
- }
291
- );
292
- const p = j({
293
- get() {
294
- return f.value;
295
- },
296
- set(c) {
297
- f.value = c, l("update:iconIndex", f.value);
298
- }
299
- });
300
- e.icons.length > 0 ? (p.value = p.value >= e.icons.length ? 0 : p.value, o.value = e.icons[f.value]) : o.value = e.icon;
301
- const S = (c) => {
302
- if (c.stopPropagation(), e.clickEvent) {
303
- const v = e.clickEvent.split("#");
304
- v.length === 2 && J("$" + v[0]).$emit(v[1], e.data);
305
- }
306
- e.autoSwitch && e.icons.length > 0 && (p.value = (p.value + 1) % e.icons.length, o.value = e.icons[f.value]), l("click");
307
- }, _ = () => {
308
- let c = "";
309
- return e.spin && (c += "rotate"), e.flip && (c += " flip"), c;
310
- };
311
- return (c, v) => (u(), h(w, {
312
- title: e.tiptext,
313
- disabled: e.tiptext ? void 0 : "disabled",
314
- color: i.tipcolor,
315
- placement: i.placement,
316
- size: i.tipsize
317
- }, {
318
- default: d(() => {
319
- var A;
320
- return [
321
- o.value ? (u(), g("div", {
322
- key: 0,
323
- class: "re-icon-container",
324
- style: T({
325
- width: a.value[0].toString(),
326
- height: a.value[1].toString()
327
- })
328
- }, [
329
- (A = o.value) != null && A.startsWith("sym-") ? (u(), g("svg", C({ key: 1 }, t(n), {
330
- class: ["re-icon symbol", [e.clickable ? "clickable" : "", _(), e.className]],
331
- "aria-hidden": "true",
332
- style: {
333
- top: e.position ? e.position[1] : 0,
334
- left: e.position ? e.position[0] : 0,
335
- fontSize: e.fontsize,
336
- transformOrigin: e.center ?? "center center",
337
- transform: t(E)(),
338
- color: e.color
339
- }
340
- }), [
341
- m("use", {
342
- "xlink:href": "#icon-" + o.value.replace("sym-", "")
343
- }, null, 8, le)
344
- ], 16)) : (u(), g("i", C({ key: 0 }, t(n), {
345
- class: ["re-icon iconfont fontclass", [e.clickable ? "clickable" : "", "icon-" + o.value, _(), e.className]],
346
- style: {
347
- top: e.position ? e.position[1] : 1,
348
- left: e.position ? e.position[0] : 0,
349
- fontSize: e.fontsize,
350
- transformOrigin: e.center ?? "center center",
351
- transform: t(E)(e.angle, e.flip),
352
- color: e.color
353
- },
354
- "aria-hidden": "true",
355
- onClick: S
356
- }), null, 16))
357
- ], 4)) : I("", !0)
358
- ];
359
- }),
360
- _: 1
361
- }, 8, ["title", "disabled", "color", "placement", "size"]));
362
- }
363
- }), ue = (i, s) => {
364
- const n = i.__vccOpts || i;
365
- for (const [e, l] of s)
366
- n[e] = l;
367
- return n;
368
- }, je = /* @__PURE__ */ ue(re, [["__scopeId", "data-v-0146f00c"]]), pe = /* @__PURE__ */ x({
369
- __name: "projectIcon",
370
- props: {
371
- icon: {
372
- type: String
373
- },
374
- icons: {
375
- type: Array
376
- },
377
- iconUrl: {
378
- type: String
379
- },
380
- monoColor: {
381
- type: Boolean,
382
- default: !0
383
- }
384
- },
385
- setup(i) {
386
- const s = i, e = D({
387
- iconUrl: `${s.iconUrl ?? B.PROJECT_ICONS ?? B.TOOL_ICONS}`,
388
- monoColor: s.monoColor,
389
- icon: s.icon,
390
- icons: s.icons
391
- });
392
- return (l, a) => i.icon || i.icons ? (u(), h(t(e), C({
393
- key: 0,
394
- icon: i.icon,
395
- icons: i.icons,
396
- class: ["align-middle"]
397
- }, l.$attrs), null, 16, ["icon", "icons"])) : I("", !0);
398
- }
399
- }), de = { class: "text-xs leading-[3]" }, me = {
400
- key: 0,
401
- class: "leading-[2.5] mx-[6px] text-[rgba(0,0,0,0.45)]"
402
- }, fe = /* @__PURE__ */ x({
403
- __name: "index",
404
- setup(i) {
405
- const { useToken: s } = O, { token: n } = s(), e = P();
406
- return k(
407
- () => e.TabActive,
408
- () => M()
409
- ), N(() => {
410
- M();
411
- }), (l, a) => (u(), g("div", {
412
- class: "ml-5 h-fit p-0 flex items-center justify-between",
413
- style: T({
414
- backgroundColor: t(n).colorBgContainer
415
- })
416
- }, [
417
- r(t(b), {
418
- icon: "icon-home",
419
- class: "w-[15px] h-[15px]"
420
- }),
421
- a[0] || (a[0] = m("span", { class: "leading-[2.5] mx-[6px] text-[rgba(0,0,0,0.45)]" }, ">", -1)),
422
- r(t(Z), {
423
- routes: t(R),
424
- separator: ""
425
- }, {
426
- itemRender: d(({ route: o }) => [
427
- m("span", de, $(o.breadcrumbName), 1),
428
- r(t(b), {
429
- icon: o.icon,
430
- fontsize: "15px"
431
- }, null, 8, ["icon"]),
432
- o.index < t(R).length - 1 ? (u(), g("span", me, ">")) : I("", !0)
433
- ]),
434
- _: 1
435
- }, 8, ["routes"])
436
- ], 4));
437
- }
438
- }), _e = { class: "font-['Courier'] text-[#666]" }, ge = /* @__PURE__ */ x({
439
- __name: "index",
440
- setup(i) {
441
- const s = y("");
442
- return N(() => {
443
- setInterval(() => {
444
- const n = /* @__PURE__ */ new Date(), e = { month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit" }, l = n.toLocaleString(void 0, e).replace(/\//g, "-").replace(",", "");
445
- s.value = n.getFullYear() + "-" + l;
446
- }, 1e3);
447
- }), (n, e) => (u(), g("div", _e, $(s.value), 1));
448
- }
449
- }), xe = /* @__PURE__ */ x({
450
- __name: "headerExits",
451
- setup(i) {
452
- const s = F(), n = y(!1), e = () => {
453
- n.value = !1, U.value ? U.value.userLogout() : s.logout();
454
- };
455
- return (l, a) => (u(), g(L, null, [
456
- r(t(w), { title: "退出平台" }, {
457
- default: d(() => [
458
- r(t(b), {
459
- icon: "icon-logout",
460
- onClick: a[0] || (a[0] = (o) => n.value = !0),
461
- clickable: "",
462
- class: "w-5 h-5",
463
- title: "退出系统"
464
- })
465
- ]),
466
- _: 1
467
- }),
468
- r(t(ee), {
469
- open: n.value,
470
- "onUpdate:open": a[1] || (a[1] = (o) => n.value = o),
471
- title: "确定退出?",
472
- "ok-text": "确定",
473
- "cancel-text": "取消",
474
- width: 380,
475
- onOk: e
476
- }, {
477
- default: d(() => [
478
- r(t(te), {
479
- align: "center",
480
- justify: "flex-start",
481
- style: { padding: "0 32px", margin: "20px 0" }
482
- }, {
483
- default: d(() => [
484
- r(t(b), {
485
- icon: "icon-question-circle",
486
- color: "orange",
487
- class: "w-[60px] h-[60px]"
488
- }),
489
- a[2] || (a[2] = m("div", { style: { margin: "0 0 0 20px", "font-weight": "400", "font-size": "16px" } }, [
490
- K("是否退出平台,"),
491
- m("br"),
492
- K("清除用户缓存信息?")
493
- ], -1))
494
- ]),
495
- _: 1,
496
- __: [2]
497
- })
498
- ]),
499
- _: 1
500
- }, 8, ["open"])
501
- ], 64));
502
- }
503
- }), ve = { class: "flex items-center flex-nowrap" }, ye = { class: "mr-2 text-sm whitespace-nowrap" }, he = /* @__PURE__ */ x({
504
- __name: "user",
505
- setup(i) {
506
- const s = F().userInfo;
507
- return (n, e) => (u(), h(t(w), {
508
- title: t(s).Name
509
- }, {
510
- default: d(() => [
511
- m("div", ve, [
512
- m("span", ye, $(t(s).Name), 1),
513
- r(t(ae), { icon: "icon-account" })
514
- ])
515
- ]),
516
- _: 1
517
- }, 8, ["title"]));
518
- }
519
- }), ke = { class: "flex items-center" }, Ke = /* @__PURE__ */ x({
520
- __name: "index",
521
- setup(i) {
522
- const { useToken: s } = O, { token: n } = s(), e = H(), l = () => {
523
- e.setMenuCollapse(!e.menuCollapse);
524
- };
525
- return (a, o) => (u(), h(t(ne), {
526
- class: "w-full relative z-[1] shadow-[0_-3px_6px_#000] py-0 flex items-center justify-between",
527
- style: T({
528
- height: "40px",
529
- lineHeight: "1",
530
- paddingLeft: "10px",
531
- paddingRight: "20px",
532
- backgroundColor: t(n).colorBgContainer
533
- })
534
- }, {
535
- default: d(() => [
536
- m("div", ke, [
537
- r(t(b), {
538
- icon: "icon-menu",
539
- clickable: "",
540
- class: "w-[18px] h-[18px]",
541
- angle: t(e).menuCollapse ? 90 : 0,
542
- onClick: l
543
- }, null, 8, ["angle"]),
544
- r(fe)
545
- ]),
546
- m("div", null, [
547
- r(t(oe), {
548
- size: "middle",
549
- class: "flex items-center"
550
- }, {
551
- default: d(() => [
552
- r(ge),
553
- r(he),
554
- r(xe)
555
- ]),
556
- _: 1
557
- })
558
- ])
559
- ]),
560
- _: 1
561
- }, 8, ["style"]));
562
- }
563
- }), Ee = /* @__PURE__ */ x({
564
- __name: "index",
565
- props: {
566
- routes: {}
567
- },
568
- setup(i) {
569
- const s = i, n = y([]), e = y([]), l = Q([]), a = P(), o = (_) => {
570
- z().push(_.key.toString());
571
- }, f = H(), p = y([]), S = () => {
572
- let _ = a.TabActive;
573
- const c = _.split("/");
574
- c.pop(), n.value = [c.join("/")], f.menuCollapse || (p.value = [c.join("/")]), e.value = [_];
575
- };
576
- return k(
577
- () => f.menuCollapse,
578
- (_) => {
579
- _ || (p.value = [], W(() => {
580
- p.value = [...n.value];
581
- }));
582
- }
583
- ), k(
584
- () => a.TabActive,
585
- () => {
586
- S();
587
- }
588
- ), N(() => {
589
- X(s.routes, l, pe, { class: "!w-5 !h-5" }), a.setTabActive(V.currentRoute.value.path), S();
590
- }), (_, c) => (u(), h(t(se), {
591
- openKeys: p.value,
592
- "onUpdate:openKeys": c[0] || (c[0] = (v) => p.value = v),
593
- selectedKeys: e.value,
594
- "onUpdate:selectedKeys": c[1] || (c[1] = (v) => e.value = v),
595
- mode: "inline",
596
- theme: "dark",
597
- items: l,
598
- onClick: o
599
- }, null, 8, ["openKeys", "selectedKeys", "items"]));
600
- }
601
- }), be = { class: "flex items-center" }, Se = { class: "flex" }, Ie = ["onClick"], Me = /* @__PURE__ */ x({
602
- __name: "menuTabs",
603
- setup(i) {
604
- const { useToken: s } = O, { token: n } = s(), e = P();
605
- k(
606
- () => V.currentRoute.value.path,
607
- (o) => {
608
- o !== e.TabActive && e.setTabActive(o);
609
- }
610
- );
611
- const l = (o) => {
612
- z().push(o);
613
- }, a = (o) => {
614
- e.removeTabPane(o), z().push(e.TabActive);
615
- };
616
- return (o, f) => (u(), g("div", {
617
- style: T({ height: "38px", backgroundColor: t(n).colorBgBase })
618
- }, [
619
- r(t(ie), {
620
- activeKey: t(e).TabActive,
621
- "hide-add": "",
622
- size: "small",
623
- tabBarStyle: { padding: "0 20px" },
624
- onTabClick: l
625
- }, {
626
- default: d(() => [
627
- (u(!0), g(L, null, Y(t(e).TabPanes, (p) => (u(), h(t(ce), {
628
- key: p.key
629
- }, {
630
- tab: d(() => [
631
- m("div", be, [
632
- m("span", Se, $(p.title), 1),
633
- r(t(w), {
634
- title: "关闭",
635
- placement: "top",
636
- size: "small"
637
- }, {
638
- default: d(() => [
639
- t(e).TabPanes.length > 1 && p.closable ? (u(), g("div", {
640
- key: 0,
641
- class: "inline-block mx-auto relative flex items-center",
642
- onClick: G((S) => a(p.key), ["stop"])
643
- }, [
644
- r(t(b), {
645
- icon: "icon-new",
646
- angle: 45,
647
- clickable: "",
648
- class: "w-[15px] h-[15px] ml-1",
649
- tipcolor: t(n).colorBgSpotlight
650
- }, null, 8, ["tipcolor"])
651
- ], 8, Ie)) : I("", !0)
652
- ]),
653
- _: 2
654
- }, 1024)
655
- ])
656
- ]),
657
- _: 2
658
- }, 1024))), 128))
659
- ]),
660
- _: 1
661
- }, 8, ["activeKey"])
662
- ], 4));
663
- }
664
- });
665
- export {
666
- je as I,
667
- ue as _,
668
- ae as a,
669
- pe as b,
670
- fe as c,
671
- ge as d,
672
- Ke as e,
673
- xe as f,
674
- Ee as g,
675
- Me as h
676
- };
@@ -1,50 +0,0 @@
1
- import { defineComponent as i, createBlock as s, openBlock as l, unref as a, withCtx as p, renderSlot as f, createCommentVNode as u, mergeProps as d } from "vue";
2
- import { Tooltip as I } from "ant-design-vue";
3
- import { SERVER_HOST as r } from "@skyfox2000/fapi";
4
- import { c as S } from "./index-D9kzQ23e.js";
5
- const T = /* @__PURE__ */ i({
6
- __name: "index",
7
- props: {
8
- size: {}
9
- },
10
- setup(o) {
11
- const e = o, t = {}, n = {};
12
- return e.size === "small" && (n.fontSize = "12px", n.padding = "4px 6px", n.minHeight = "26px", t.height = "30px"), (c, m) => (l(), s(a(I), {
13
- overlayInnerStyle: n,
14
- overlayStyle: t
15
- }, {
16
- default: p(() => [
17
- f(c.$slots, "default")
18
- ]),
19
- _: 3
20
- }));
21
- }
22
- }), _ = /* @__PURE__ */ i({
23
- __name: "toolIcon",
24
- props: {
25
- icon: {
26
- type: String
27
- },
28
- icons: {
29
- type: Array
30
- }
31
- },
32
- setup(o) {
33
- const e = o, n = S({
34
- iconUrl: `${r.TOOL_ICONS ?? r.MICROLAYOUT_ICONS}`,
35
- monoColor: !0,
36
- icon: e.icon,
37
- icons: e.icons
38
- });
39
- return (c, m) => o.icon || o.icons ? (l(), s(a(n), d({
40
- key: 0,
41
- icon: o.icon,
42
- icons: o.icons,
43
- class: ["align-middle"]
44
- }, c.$attrs), null, 16, ["icon", "icons"])) : u("", !0);
45
- }
46
- });
47
- export {
48
- _,
49
- T as a
50
- };