@skyfox2000/webui 0.1.0

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