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