@utogether/udp-core 1.0.1-beta.2 → 1.0.1-beta.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.
Files changed (93) hide show
  1. package/build/plugins.ts +6 -1
  2. package/dist/{403-BBQoJwTM.js → 403-BuP9jvH9.js} +1 -1
  3. package/dist/{404-BbJPSIWM.js → 404-DfQk8kKl.js} +1 -1
  4. package/dist/{500-BtFL9R4M.js → 500-OgROWdiZ.js} +1 -1
  5. package/dist/{AuthorityInfo-DhiwCeLN.js → AuthorityInfo-q2ksfkWH.js} +1 -1
  6. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-Duyweh89.js → AuthorityInfo.vue_vue_type_style_index_0_lang-Bwsf6lMH.js} +1 -1
  7. package/dist/{Company-CGqmslx-.js → Company-DgqowAxc.js} +3 -3
  8. package/dist/{CompanyPanel-hlDsxD-6.js → CompanyPanel-BNb1rUhD.js} +16 -16
  9. package/dist/{Department-BZyJtacc.js → Department-Cl8CROSU.js} +3 -3
  10. package/dist/{DepartmentPanel-D-a_EBFt.js → DepartmentPanel-D5VkqKeP.js} +1 -1
  11. package/dist/{DesignPanel-Bl4luWDV.js → DesignPanel-BGvEusHC.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-I8C3iGvz.js → DesignPanel.vue_vue_type_style_index_0_lang-BQF1uQ7w.js} +2 -2
  13. package/dist/{DictView-B4a7Hs1X.js → DictView-BnxfaOBv.js} +13 -12
  14. package/dist/InvOrganization-5y79ZLdY.js +66 -0
  15. package/dist/{Org-BTGTrAVz.js → Org-2oBAXN2r.js} +1 -1
  16. package/dist/{Preview-pHD84xqI.js → Preview-BaGmXH7r.js} +1 -1
  17. package/dist/{ReportDefine-DnnCNQWS.js → ReportDefine-DkQdBErt.js} +1 -1
  18. package/dist/{ReportDesign-BnI_Q4pg.js → ReportDesign-DzB_A_G6.js} +2 -2
  19. package/dist/{ReportQuery-Dby2MmtM.js → ReportQuery-DRcMb6ya.js} +1 -1
  20. package/dist/{ReportQueryFrom-Blm1N8P1.js → ReportQueryFrom-CeA9xhR4.js} +1 -1
  21. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-CnG_Ybnt.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-CgGtcs5V.js} +1 -1
  22. package/dist/{ReportTemplate-D65RXRY_.js → ReportTemplate-qaiTMQuT.js} +1 -1
  23. package/dist/{Role-eFZoTpXc.js → Role-DsFulAjq.js} +3 -3
  24. package/dist/{RoleAssign-D9-Y3UNz.js → RoleAssign-DMRdocpa.js} +3 -3
  25. package/dist/{RolePanel-DlFw6HSf.js → RolePanel-B9POS_pg.js} +1 -1
  26. package/dist/{RolePanel-CoUOc3sX.js → RolePanel-wXVysDHM.js} +1 -1
  27. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-Clwk-MHw.js → RolePanel.vue_vue_type_script_setup_true_lang-CleVvkcY.js} +3 -3
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-DKHgNWQP.js → RolePanel.vue_vue_type_script_setup_true_lang-t6S_0zmJ.js} +1 -1
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-M2FQJwPU.js → ScrollPanel.vue_vue_type_style_index_0_lang-DlXUs0j9.js} +1 -1
  30. package/dist/{Staff-DFBLCsAd.js → Staff-Cq4V7ruC.js} +3 -3
  31. package/dist/{StaffInfo-d2CK0oBA.js → StaffInfo-CJDKMbud.js} +1 -1
  32. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-4m8wK9tq.js → StaffInfo.vue_vue_type_script_setup_true_lang-DQ4DL1KY.js} +1 -1
  33. package/dist/{StaffPanel-D6aWLKN3.js → StaffPanel-CG-uggdr.js} +1 -1
  34. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-C7YT2CVb.js → StaffPanel.vue_vue_type_script_setup_true_lang-DAgN7zN2.js} +2 -2
  35. package/dist/{SysUser-BdZvYxQH.js → SysUser-kwnzRNdD.js} +2 -2
  36. package/dist/{SysUserPanel-BIVa6LLr.js → SysUserPanel-DTlZf3vk.js} +1 -1
  37. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-BsBKpYR7.js → SysUserPanel.vue_vue_type_script_setup_true_lang-BW6PlGjM.js} +1 -1
  38. package/dist/{SystemMenu-C-5VKlHK.js → SystemMenu-BVT0n-L2.js} +9 -9
  39. package/dist/{UserInfo-DqXCRZts.js → UserInfo-BbTQ9Zat.js} +1 -1
  40. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-N3TwfpPx.js → UserInfo.vue_vue_type_style_index_0_lang-D_bpYDmI.js} +1 -1
  41. package/dist/{childView-B2lSsqS3.js → childView-BJbIhjmf.js} +1 -1
  42. package/dist/{childView-DRUNqgjI.js → childView-DCsGFrG-.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-B9XBDDU_.js → childView.vue_vue_type_style_index_0_lang-BCDxpVoD.js} +1 -1
  44. package/dist/{childView.vue_vue_type_style_index_0_lang-oGriyFTv.js → childView.vue_vue_type_style_index_0_lang-CDtsalCm.js} +1 -1
  45. package/dist/{code-rule-DZC9T6cl.js → code-rule-DePU6cdp.js} +1 -1
  46. package/dist/core.es.js +1 -1
  47. package/dist/{cron-task-BJwPeA5F.js → cron-task-DUM1SIGL.js} +1 -1
  48. package/dist/{frameView-C6wkvok-.js → frameView-CEUTDtSm.js} +1 -1
  49. package/dist/img/l_img.svg +1 -1
  50. package/dist/img/minicolors.png +0 -0
  51. package/dist/img/v_img.svg +1 -1
  52. package/dist/index-ZdgOD7cF.js +3399 -0
  53. package/dist/{layoutView-CeJBpZb_.js → layoutView-PCjwVwkX.js} +109 -108
  54. package/dist/{login-BOxwzwdB.js → login-B1CjWVKu.js} +2 -2
  55. package/dist/{lov-view-DRF-99U4.js → lov-view-D8wwkxFJ.js} +2 -2
  56. package/dist/{menuInfo-3Sjvs9nM.js → menuInfo-B5JKVwrB.js} +1 -1
  57. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-DrQ560nm.js → menuInfo.vue_vue_type_style_index_0_lang-CcM9WX4n.js} +27 -27
  58. package/dist/{pda-app-B9tn7jdv.js → pda-app-DIa1p1Ww.js} +1 -1
  59. package/dist/{resource-BqnxbQNe.js → resource-CCQ7Dd-5.js} +1 -1
  60. package/dist/{su-welcome-VwifUK_O.js → su-welcome-CLp9YaJa.js} +1 -1
  61. package/dist/{sys-config-C0-gSBFO.js → sys-config-BBmf_SqF.js} +1 -1
  62. package/dist/udp-core.css +2 -2
  63. package/dist/{utogether-Di1byIum.js → utogether-Bkptx2lB.js} +1 -1
  64. package/package.json +1 -1
  65. package/src/App.vue +70 -70
  66. package/src/components/udp/grid.vue +500 -0
  67. package/src/components/udp/index.ts +7 -4
  68. package/src/components/udp/lov.vue +410 -0
  69. package/src/components/udp/modal-form.vue +2 -2
  70. package/src/components/udp/modal-grid.vue +297 -0
  71. package/src/components/udp/utils.ts +379 -40
  72. package/src/layout/components/lay-navbar/index.vue +1 -1
  73. package/src/layout/components/lay-panel/index.vue +150 -150
  74. package/src/layout/components/lay-sidebar/breadCrumb.vue +1 -1
  75. package/src/layout/components/lay-tag/index.vue +625 -625
  76. package/src/layout/layoutView.vue +215 -215
  77. package/src/main.ts +110 -109
  78. package/src/plugins/i18n/en.ts +291 -289
  79. package/src/plugins/i18n/zh.ts +338 -337
  80. package/src/plugins/vxe-table/index.ts +3 -3
  81. package/src/plugins/vxe-table/render.tsx +4 -2
  82. package/src/style/button.scss +85 -78
  83. package/src/style/tailwind.css +1 -68
  84. package/src/style/vxetable.scss +258 -256
  85. package/src/views/organization/company/CompanyPanel.vue +259 -259
  86. package/src/views/organization/inv-org/InvOrganization.vue +2 -3
  87. package/src/views/system/menu/SystemMenu.vue +1 -1
  88. package/src/views/system/menu/menuInfo.vue +372 -373
  89. package/src/views/udev/dict/DictView.vue +106 -106
  90. package/src/views/udev/lov/lov-view.vue +91 -91
  91. package/vite.config.ts +4 -1
  92. package/dist/InvOrganization-q4T3y8dQ.js +0 -260
  93. package/dist/index-DZc3qRTx.js +0 -2650
@@ -0,0 +1,3399 @@
1
+ import * as I from "vue";
2
+ import { defineComponent, resolveComponent, createBlock, openBlock, withCtx, createVNode, toRaw, isProxy, defineAsyncComponent, mergeProps, isVNode, h, createApp } from "vue";
3
+ import { ElConfigProvider } from "element-plus";
4
+ import { checkVersion } from "version-rocket";
5
+ import { useI18n as useI18n$1, createI18n } from "vue-i18n";
6
+ import { http, storageLocal, cookies, buildHierarchyTree, dbstorage, isUrl, NProgress, openLink } from "@utogether/utils";
7
+ import { merge, clone, debounce, findLastIndexOf, isBoolean, isEqual, findIndexOf, isEmpty, isArray, findTree, isObject, isPlainObject } from "xe-utils";
8
+ import { createRouter, createWebHistory } from "vue-router";
9
+ import { createPinia, defineStore } from "pinia";
10
+ import { useTimeoutFn } from "@vueuse/core";
11
+ import VXETable, { VxeUI } from "vxe-table";
12
+ import dayjs from "dayjs";
13
+ import VueViewer from "v-viewer";
14
+ import { Icon as Icon$1 } from "@iconify/vue";
15
+ import VueTippy from "vue-tippy";
16
+ import elementResizeDetectorMaker from "element-resize-detector";
17
+ var English = {
18
+ name: "en",
19
+ el: {
20
+ breadcrumb: {
21
+ label: "Breadcrumb"
22
+ },
23
+ colorpicker: {
24
+ confirm: "OK",
25
+ clear: "Clear",
26
+ defaultLabel: "color picker",
27
+ description: "current color is {color}. press enter to select a new color.",
28
+ alphaLabel: "pick alpha value"
29
+ },
30
+ datepicker: {
31
+ now: "Now",
32
+ today: "Today",
33
+ cancel: "Cancel",
34
+ clear: "Clear",
35
+ confirm: "OK",
36
+ dateTablePrompt: "Use the arrow keys and enter to select the day of the month",
37
+ monthTablePrompt: "Use the arrow keys and enter to select the month",
38
+ yearTablePrompt: "Use the arrow keys and enter to select the year",
39
+ selectedDate: "Selected date",
40
+ selectDate: "Select date",
41
+ selectTime: "Select time",
42
+ startDate: "Start Date",
43
+ startTime: "Start Time",
44
+ endDate: "End Date",
45
+ endTime: "End Time",
46
+ prevYear: "Previous Year",
47
+ nextYear: "Next Year",
48
+ prevMonth: "Previous Month",
49
+ nextMonth: "Next Month",
50
+ year: "",
51
+ month1: "January",
52
+ month2: "February",
53
+ month3: "March",
54
+ month4: "April",
55
+ month5: "May",
56
+ month6: "June",
57
+ month7: "July",
58
+ month8: "August",
59
+ month9: "September",
60
+ month10: "October",
61
+ month11: "November",
62
+ month12: "December",
63
+ week: "week",
64
+ weeks: {
65
+ sun: "Sun",
66
+ mon: "Mon",
67
+ tue: "Tue",
68
+ wed: "Wed",
69
+ thu: "Thu",
70
+ fri: "Fri",
71
+ sat: "Sat"
72
+ },
73
+ weeksFull: {
74
+ sun: "Sunday",
75
+ mon: "Monday",
76
+ tue: "Tuesday",
77
+ wed: "Wednesday",
78
+ thu: "Thursday",
79
+ fri: "Friday",
80
+ sat: "Saturday"
81
+ },
82
+ months: {
83
+ jan: "Jan",
84
+ feb: "Feb",
85
+ mar: "Mar",
86
+ apr: "Apr",
87
+ may: "May",
88
+ jun: "Jun",
89
+ jul: "Jul",
90
+ aug: "Aug",
91
+ sep: "Sep",
92
+ oct: "Oct",
93
+ nov: "Nov",
94
+ dec: "Dec"
95
+ }
96
+ },
97
+ inputNumber: {
98
+ decrease: "decrease number",
99
+ increase: "increase number"
100
+ },
101
+ select: {
102
+ loading: "Loading",
103
+ noMatch: "No matching data",
104
+ noData: "No data",
105
+ placeholder: "Select"
106
+ },
107
+ mention: {
108
+ loading: "Loading"
109
+ },
110
+ dropdown: {
111
+ toggleDropdown: "Toggle Dropdown"
112
+ },
113
+ cascader: {
114
+ noMatch: "No matching data",
115
+ loading: "Loading",
116
+ placeholder: "Select",
117
+ noData: "No data"
118
+ },
119
+ pagination: {
120
+ goto: "Go to",
121
+ pagesize: "/page",
122
+ total: "Total {total}",
123
+ pageClassifier: "",
124
+ page: "Page",
125
+ prev: "Go to previous page",
126
+ next: "Go to next page",
127
+ currentPage: "page {pager}",
128
+ prevPages: "Previous {pager} pages",
129
+ nextPages: "Next {pager} pages",
130
+ deprecationWarning: "Deprecated usages detected, please refer to the el-pagination documentation for more details"
131
+ },
132
+ dialog: {
133
+ close: "Close this dialog"
134
+ },
135
+ drawer: {
136
+ close: "Close this dialog"
137
+ },
138
+ messagebox: {
139
+ title: "Message",
140
+ confirm: "OK",
141
+ cancel: "Cancel",
142
+ error: "Illegal input",
143
+ close: "Close this dialog"
144
+ },
145
+ upload: {
146
+ deleteTip: "press delete to remove",
147
+ delete: "Delete",
148
+ preview: "Preview",
149
+ continue: "Continue"
150
+ },
151
+ slider: {
152
+ defaultLabel: "slider between {min} and {max}",
153
+ defaultRangeStartLabel: "pick start value",
154
+ defaultRangeEndLabel: "pick end value"
155
+ },
156
+ table: {
157
+ emptyText: "No Data",
158
+ confirmFilter: "Confirm",
159
+ resetFilter: "Reset",
160
+ clearFilter: "All",
161
+ sumText: "Sum"
162
+ },
163
+ tour: {
164
+ next: "Next",
165
+ previous: "Previous",
166
+ finish: "Finish"
167
+ },
168
+ tree: {
169
+ emptyText: "No Data"
170
+ },
171
+ transfer: {
172
+ noMatch: "No matching data",
173
+ noData: "No data",
174
+ titles: ["List 1", "List 2"],
175
+ filterPlaceholder: "Enter keyword",
176
+ noCheckedFormat: "{total} items",
177
+ hasCheckedFormat: "{checked}/{total} checked"
178
+ },
179
+ image: {
180
+ error: "FAILED"
181
+ },
182
+ pageHeader: {
183
+ title: "Back"
184
+ },
185
+ popconfirm: {
186
+ confirmButtonText: "Yes",
187
+ cancelButtonText: "No"
188
+ },
189
+ carousel: {
190
+ leftArrow: "Carousel arrow left",
191
+ rightArrow: "Carousel arrow right",
192
+ indicator: "Carousel switch to index {index}"
193
+ }
194
+ }
195
+ }, zhCn = {
196
+ name: "zh-cn",
197
+ el: {
198
+ breadcrumb: {
199
+ label: "面包屑"
200
+ },
201
+ colorpicker: {
202
+ confirm: "确定",
203
+ clear: "清空",
204
+ defaultLabel: "颜色选择器",
205
+ description: "当前颜色 {color},按 Enter 键选择新颜色",
206
+ alphaLabel: "选择透明度的值"
207
+ },
208
+ datepicker: {
209
+ now: "此刻",
210
+ today: "今天",
211
+ cancel: "取消",
212
+ clear: "清空",
213
+ confirm: "确定",
214
+ dateTablePrompt: "使用方向键与 Enter 键可选择日期",
215
+ monthTablePrompt: "使用方向键与 Enter 键可选择月份",
216
+ yearTablePrompt: "使用方向键与 Enter 键可选择年份",
217
+ selectedDate: "已选日期",
218
+ selectDate: "选择日期",
219
+ selectTime: "选择时间",
220
+ startDate: "开始日期",
221
+ startTime: "开始时间",
222
+ endDate: "结束日期",
223
+ endTime: "结束时间",
224
+ prevYear: "前一年",
225
+ nextYear: "后一年",
226
+ prevMonth: "上个月",
227
+ nextMonth: "下个月",
228
+ year: "年",
229
+ month1: "1 月",
230
+ month2: "2 月",
231
+ month3: "3 月",
232
+ month4: "4 月",
233
+ month5: "5 月",
234
+ month6: "6 月",
235
+ month7: "7 月",
236
+ month8: "8 月",
237
+ month9: "9 月",
238
+ month10: "10 月",
239
+ month11: "11 月",
240
+ month12: "12 月",
241
+ weeks: {
242
+ sun: "日",
243
+ mon: "一",
244
+ tue: "二",
245
+ wed: "三",
246
+ thu: "四",
247
+ fri: "五",
248
+ sat: "六"
249
+ },
250
+ weeksFull: {
251
+ sun: "星期日",
252
+ mon: "星期一",
253
+ tue: "星期二",
254
+ wed: "星期三",
255
+ thu: "星期四",
256
+ fri: "星期五",
257
+ sat: "星期六"
258
+ },
259
+ months: {
260
+ jan: "一月",
261
+ feb: "二月",
262
+ mar: "三月",
263
+ apr: "四月",
264
+ may: "五月",
265
+ jun: "六月",
266
+ jul: "七月",
267
+ aug: "八月",
268
+ sep: "九月",
269
+ oct: "十月",
270
+ nov: "十一月",
271
+ dec: "十二月"
272
+ }
273
+ },
274
+ inputNumber: {
275
+ decrease: "减少数值",
276
+ increase: "增加数值"
277
+ },
278
+ select: {
279
+ loading: "加载中",
280
+ noMatch: "无匹配数据",
281
+ noData: "无数据",
282
+ placeholder: "请选择"
283
+ },
284
+ dropdown: {
285
+ toggleDropdown: "切换下拉选项"
286
+ },
287
+ mention: {
288
+ loading: "加载中"
289
+ },
290
+ cascader: {
291
+ noMatch: "无匹配数据",
292
+ loading: "加载中",
293
+ placeholder: "请选择",
294
+ noData: "暂无数据"
295
+ },
296
+ pagination: {
297
+ goto: "前往",
298
+ pagesize: "条/页",
299
+ total: "共 {total} 条",
300
+ pageClassifier: "页",
301
+ page: "页",
302
+ prev: "上一页",
303
+ next: "下一页",
304
+ currentPage: "第 {pager} 页",
305
+ prevPages: "向前 {pager} 页",
306
+ nextPages: "向后 {pager} 页",
307
+ deprecationWarning: "你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"
308
+ },
309
+ dialog: {
310
+ close: "关闭此对话框"
311
+ },
312
+ drawer: {
313
+ close: "关闭此对话框"
314
+ },
315
+ messagebox: {
316
+ title: "提示",
317
+ confirm: "确定",
318
+ cancel: "取消",
319
+ error: "输入的数据不合法!",
320
+ close: "关闭此对话框"
321
+ },
322
+ upload: {
323
+ deleteTip: "按 Delete 键可删除",
324
+ delete: "删除",
325
+ preview: "查看图片",
326
+ continue: "继续上传"
327
+ },
328
+ slider: {
329
+ defaultLabel: "滑块介于 {min} 至 {max}",
330
+ defaultRangeStartLabel: "选择起始值",
331
+ defaultRangeEndLabel: "选择结束值"
332
+ },
333
+ table: {
334
+ emptyText: "暂无数据",
335
+ confirmFilter: "筛选",
336
+ resetFilter: "重置",
337
+ clearFilter: "全部",
338
+ sumText: "合计"
339
+ },
340
+ tour: {
341
+ next: "下一步",
342
+ previous: "上一步",
343
+ finish: "结束导览"
344
+ },
345
+ tree: {
346
+ emptyText: "暂无数据"
347
+ },
348
+ transfer: {
349
+ noMatch: "无匹配数据",
350
+ noData: "无数据",
351
+ titles: ["列表 1", "列表 2"],
352
+ filterPlaceholder: "请输入搜索内容",
353
+ noCheckedFormat: "共 {total} 项",
354
+ hasCheckedFormat: "已选 {checked}/{total} 项"
355
+ },
356
+ image: {
357
+ error: "加载失败"
358
+ },
359
+ pageHeader: {
360
+ title: "返回"
361
+ },
362
+ popconfirm: {
363
+ confirmButtonText: "确定",
364
+ cancelButtonText: "取消"
365
+ },
366
+ carousel: {
367
+ leftArrow: "上一张幻灯片",
368
+ rightArrow: "下一张幻灯片",
369
+ indicator: "幻灯片切换至索引 {index}"
370
+ }
371
+ }
372
+ };
373
+ const kMENUZH = "menu_zh", kMENUEN = "menu_en", kTOKEN = "authorized-token", kCKTOKEN = "kCookies_token", kSYSCONFIG = "kSysConfig", kLOGINER = "loginer";
374
+ let config = {}, systemEnv = {};
375
+ const setConfig = (e, o) => {
376
+ config = Object.assign(config, o), e.config.globalProperties.$config = getConfig();
377
+ }, getConfig = () => config, setSystemEnv = (e = {}) => {
378
+ systemEnv = e;
379
+ }, getEnv = () => systemEnv, responsiveStorageNameSpace = () => getConfig().ResponsiveStorageNameSpace, getServiceApi = () => ({
380
+ post: (e, o, t) => http.post(`${getBaseURL()}${e}`, o, t),
381
+ get: (e, o, t) => http.get(`${getBaseURL()}${e}`, o, t),
382
+ put: (e, o) => http.put(`${getBaseURL()}${e}`, o),
383
+ delete: (e, o) => http.delete(`${getBaseURL()}${e}`, o)
384
+ }), setRouter = (e) => {
385
+ http.setRouter(e), console.log("====url", getBaseURL());
386
+ }, origin = window.location.origin + "/gateway", getBaseURL = () => getEnv().VITE_BASE_URL === "origin" ? origin : getEnv().VITE_BASE_URL, _sfc_main = defineComponent({
387
+ name: "app",
388
+ components: {
389
+ [ElConfigProvider.name]: ElConfigProvider
390
+ },
391
+ beforeRouteEnter(e, o, t) {
392
+ getServiceApi().get("/upfm/v1/sysConfig", {}).then((r) => {
393
+ console.log(r), t();
394
+ });
395
+ },
396
+ computed: {
397
+ currentLocale() {
398
+ var e, o;
399
+ return ((o = (e = this.$storage) == null ? void 0 : e.locale) == null ? void 0 : o.locale) === "zh" ? zhCn : English;
400
+ }
401
+ },
402
+ beforeCreate() {
403
+ const { t: e } = useI18n$1(), r = (storageLocal.getItem(kSYSCONFIG) || { title: "U-DP" }).title;
404
+ checkVersion(
405
+ {
406
+ pollingTime: 3e5,
407
+ checkOriginSpecifiedFilesUrl: [`${location.origin}/index.html`],
408
+ enable: process.env.NODE_ENV !== "development"
409
+ },
410
+ {
411
+ title: r,
412
+ description: e("message.udp.newVersion"),
413
+ buttonText: e("message.udp.updatenow"),
414
+ cancelButtonText: e("message.udp.updateLater")
415
+ }
416
+ );
417
+ }
418
+ }), _export_sfc = (e, o) => {
419
+ const t = e.__vccOpts || e;
420
+ for (const [r, a] of o)
421
+ t[r] = a;
422
+ return t;
423
+ };
424
+ function _sfc_render(e, o, t, r, a, s) {
425
+ const l = resolveComponent("router-view"), b = resolveComponent("el-config-provider");
426
+ return openBlock(), createBlock(b, {
427
+ size: "small",
428
+ "z-index": 12e3,
429
+ locale: e.currentLocale
430
+ }, {
431
+ default: withCtx(() => [
432
+ createVNode(l)
433
+ ]),
434
+ _: 1
435
+ }, 8, ["locale"]);
436
+ }
437
+ const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]), store = createPinia();
438
+ function setupStore(e) {
439
+ e.use(store);
440
+ }
441
+ const routerArrays = [
442
+ {
443
+ path: "/welcome",
444
+ meta: {
445
+ title: "message.udp.home",
446
+ icon: "home-filled"
447
+ }
448
+ }
449
+ ], getKeyList = (e, o) => {
450
+ const t = [];
451
+ for (const r of e)
452
+ r[o] && t.push(r[o]);
453
+ return Array.from(new Set(t));
454
+ }, hexToRgb = (e) => {
455
+ const o = e.replace("#", "").match(/../g);
456
+ for (let t = 0; t < 3; t++) o[t] = parseInt(o[t], 16);
457
+ return o;
458
+ }, rgbToHex = (e, o, t) => {
459
+ const r = [e.toString(16), o.toString(16), t.toString(16)];
460
+ for (let a = 0; a < 3; a++)
461
+ r[a].length == 1 && (r[a] = `0${r[a]}`);
462
+ return `#${r.join("")}`;
463
+ }, darken = (e, o) => {
464
+ const t = hexToRgb(e);
465
+ for (let r = 0; r < 3; r++) t[r] = Math.floor(t[r] * (1 - o));
466
+ return rgbToHex(t[0], t[1], t[2]);
467
+ }, lighten = (e, o) => {
468
+ const t = hexToRgb(e);
469
+ for (let r = 0; r < 3; r++) t[r] = Math.floor((255 - t[r]) * o + t[r]);
470
+ return rgbToHex(t[0], t[1], t[2]);
471
+ }, reportI18n = {
472
+ zh: {
473
+ message: {
474
+ reportCode: "报表编号",
475
+ tempPath: "模版路径",
476
+ tempFile: "模版文件",
477
+ exportFileType: "文件类型",
478
+ parameterType: "参数类型",
479
+ valueType: "值类型",
480
+ parameterField: "参数字段名",
481
+ parameterName: "参数名称",
482
+ showField: "显示字段",
483
+ valueField: "值字段",
484
+ exportNo: "导出编号",
485
+ moduleName: "模块名称",
486
+ exportResult: "导出结果",
487
+ exportStatus: "导出状态",
488
+ exportMsg: "提示信息",
489
+ fileType: "文件类型",
490
+ exportDate: "完成时间"
491
+ }
492
+ },
493
+ en: {
494
+ message: {
495
+ tempPath: "tempPath",
496
+ tempFile: "tempFile",
497
+ exportFileType: "exportFileType",
498
+ parameterType: "parameterType",
499
+ valueType: "valueType",
500
+ serviceCode: "serviceCode",
501
+ parameterField: "parameterField",
502
+ parameterName: "parameterName",
503
+ showField: "showField",
504
+ valueField: "valueField",
505
+ exportNo: "exportNo",
506
+ moduleName: "moduleName",
507
+ printPosition: "Print Position",
508
+ exportResult: "exportResult",
509
+ exportStatus: "exportStatus",
510
+ exportMsg: "exportMsg",
511
+ fileType: "fileType",
512
+ exportDate: "Export Date",
513
+ dataSetCode: "Dataset Code",
514
+ dataSetName: "Dataset Name",
515
+ dataSetType: "Dataset Type",
516
+ dataSetUrl: "Dataset Url",
517
+ defaultValue: "Default Value",
518
+ isRequired: "Required"
519
+ }
520
+ }
521
+ }, reporti18n = {
522
+ zh: { ...reportI18n.zh.message },
523
+ en: { ...reportI18n.en.message }
524
+ }, __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
525
+ __proto__: null,
526
+ default: reporti18n
527
+ }, Symbol.toStringTag, { value: "Module" })), taski18n = {
528
+ zh: {
529
+ message: {
530
+ taskName: "任务名称",
531
+ processInstId: "任务编码",
532
+ taskTitle: "任务标题",
533
+ taskPhase: "流程阶段",
534
+ agreement: "审批意见",
535
+ description: "备注",
536
+ actuatorCode: "执行器编码",
537
+ actuatorName: "执行器名称",
538
+ actuatorType: "注册方式",
539
+ actuatorAddress: "机器地址"
540
+ }
541
+ },
542
+ en: {
543
+ message: {
544
+ taskName: "taskName",
545
+ processInstId: "processInstId",
546
+ taskTitle: "taskTitle",
547
+ taskPhase: "taskPhase",
548
+ agreement: "agreement",
549
+ description: "description",
550
+ actuatorCode: "Actuator Code",
551
+ actuatorName: "Actuator Name",
552
+ actuatorType: "Actuator Type",
553
+ actuatorAddress: "Actuator Adress"
554
+ }
555
+ }
556
+ }, definei18n = {
557
+ zh: {
558
+ message: {
559
+ flowId: "流程标识",
560
+ flowName: "流程名称",
561
+ flowCode: "流程编码",
562
+ description: "流程描述",
563
+ flowDesign: "流程设计",
564
+ version: "版本",
565
+ effectDate: "生效日期"
566
+ }
567
+ },
568
+ en: {
569
+ message: {
570
+ flowId: "flowId",
571
+ flowName: "flowName",
572
+ flowCode: "flowCode",
573
+ description: "description",
574
+ flowDesign: "Flow Design"
575
+ }
576
+ }
577
+ }, modules$1 = [taski18n, definei18n], systemi18n = {
578
+ zh: {
579
+ ...Object.assign({}, ...modules$1.map((e) => e.zh.message))
580
+ },
581
+ en: {
582
+ ...Object.assign({}, ...modules$1.map((e) => e.en.message))
583
+ }
584
+ }, __vite_glob_0_1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
585
+ __proto__: null,
586
+ default: systemi18n
587
+ }, Symbol.toStringTag, { value: "Module" })), umsg = {
588
+ zh: {
589
+ message: {
590
+ msgtemplateCode: "模板代码",
591
+ msgtemplateName: "模板名称",
592
+ msgTitle: "消息标题",
593
+ msgType: "消息类型",
594
+ language: "语言",
595
+ templateContent: "模板内容",
596
+ msgCode: "消息代码",
597
+ msgName: "消息名称",
598
+ msgService: "消息服务",
599
+ msgServiceName: "消息服务名称"
600
+ }
601
+ },
602
+ en: {
603
+ message: {
604
+ xx: "xxx"
605
+ }
606
+ }
607
+ }, __vite_glob_0_2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
608
+ __proto__: null,
609
+ default: umsg
610
+ }, Symbol.toStringTag, { value: "Module" })), zh = {
611
+ udp: {
612
+ dark: "深色",
613
+ light: "浅色",
614
+ smart: "灵动",
615
+ card: "卡片",
616
+ theme: "主题色",
617
+ pageStyle: "整体风格",
618
+ navigationMode: "导航模式",
619
+ tagStyle: "页签风格",
620
+ collapse: "折叠",
621
+ expand: "展开",
622
+ login: "登 陆",
623
+ home: "首页",
624
+ logout: "退出系统",
625
+ userName: "账户",
626
+ password: "密码",
627
+ passwordReset: "密码重置",
628
+ oldPwd: "旧密码",
629
+ newPwd: "新密码",
630
+ confirmPwd: "确认密码",
631
+ reload: "重新加载",
632
+ closeCurrentTab: "关闭当前标签页",
633
+ closeLeftTabs: "关闭左侧标签页",
634
+ closeRightTabs: "关闭右侧标签页",
635
+ closeOtherTabs: "关闭其他标签页",
636
+ closeAllTabs: "关闭全部标签页",
637
+ wholeFullScreen: "整体页面全屏",
638
+ wholeExitFullScreen: "整体页面退出全屏",
639
+ contentFullScreen: "内容区全屏",
640
+ contentExitFullScreen: "内容区退出全屏",
641
+ fourZeroFour: "404",
642
+ fourZeroThree: "403",
643
+ five: "500",
644
+ backtop: "回到顶部",
645
+ error: "Error Page",
646
+ continueAdd: "连续添加",
647
+ menuQuery: "菜单搜索",
648
+ systemTitle: "系统标题",
649
+ systemLogo: "LOGO",
650
+ systemFavicon: "favicon",
651
+ homeBackimg: "首页背景",
652
+ baseUrl: "服务路径",
653
+ copyright: "版权信息",
654
+ i18nEnabled: "国际化",
655
+ defaultLanguage: "默认语言",
656
+ roleName: "角色名称",
657
+ roleCode: "角色编码",
658
+ roleDesc: "角色说明",
659
+ loginTime: "登录时间",
660
+ operatingSystem: "操作系统",
661
+ ip: "ip地址",
662
+ browserVersion: "浏览器版本",
663
+ browser: "浏览器",
664
+ dictCode: "字典编码",
665
+ dictName: "字典名称",
666
+ dictType: "字典类型",
667
+ ruleCode: "规则代码",
668
+ ruleName: "规则名称",
669
+ fieldType: "段类型",
670
+ fieldValue: "段值",
671
+ dateMask: "日期掩码",
672
+ resetFrequency: "重置频率",
673
+ seqLength: "位数",
674
+ startValue: "开始值",
675
+ currentValue: "当前值",
676
+ haveBeenUsed: "使用中",
677
+ unitName: "单位名称",
678
+ unitCode: "单位编码",
679
+ unitNote: "单位介绍",
680
+ deleteCompany: "部门存在子级,请先删除子级",
681
+ tip: "温馨提示",
682
+ today: "今天",
683
+ yesterday: "昨天",
684
+ lastWeek: "一周内",
685
+ lastMonth: "1月内",
686
+ threeMonth: "3月内",
687
+ halfYear: "半年内",
688
+ anniversary: "1年内",
689
+ newVersion: "检测到新版本",
690
+ updatenow: "立即更新",
691
+ updateLater: "稍后更新"
692
+ },
693
+ btn: {
694
+ passwordReset: "密码重置",
695
+ add: "新增",
696
+ agree: "同意",
697
+ approve: "审批",
698
+ appupper: "上架",
699
+ applower: "下架",
700
+ auth: "权限",
701
+ back: "返回",
702
+ cancel: "取消",
703
+ completed: "完工",
704
+ close: "关闭",
705
+ toggle: "切换",
706
+ confirm: "确认",
707
+ config: "配置",
708
+ copy: "复制",
709
+ customSize: "自定义纸张",
710
+ detail: "详情",
711
+ directPrint: "直接打印",
712
+ design: "设 计",
713
+ delete: "删除",
714
+ del: "删除",
715
+ download: "下载",
716
+ dispatchUser: "分配用户",
717
+ dispatchAuth: "分配权限",
718
+ FAQ: "常见问题",
719
+ finish: "完成",
720
+ fetch: "查询",
721
+ edit: "编辑",
722
+ export: "导出",
723
+ import: "导入",
724
+ encode: "编码",
725
+ importJSON: "导入模板数据",
726
+ downloadTemp: "模板下载",
727
+ inv: "库存组织",
728
+ look: "查看",
729
+ lov: "值集",
730
+ inbound: "入库",
731
+ more: "更多",
732
+ outbound: "出库",
733
+ preview: "预览",
734
+ print: "打印",
735
+ paramSet: "参数集",
736
+ reset: "重置",
737
+ resumeTask: "继续",
738
+ role: "角色",
739
+ repaint: "重绘",
740
+ save: "保存",
741
+ scan: "扫码下载",
742
+ stopTask: "停止",
743
+ suspendTask: "暂停",
744
+ search: "搜索",
745
+ sync: "同步",
746
+ submit: "提交",
747
+ taskLog: "任务日志",
748
+ revoke: "撤销",
749
+ reject: "拒绝",
750
+ upload: "上传",
751
+ goback: "返回",
752
+ disabled: "禁用",
753
+ enable: "启用"
754
+ },
755
+ file: {
756
+ templateName: "模版名称",
757
+ templateCode: "模版编码",
758
+ paperType: "纸张类型",
759
+ printPosition: "打印视图",
760
+ buttonCode: "按钮编码",
761
+ resourceCode: "资源编码",
762
+ resourceName: "资源名称",
763
+ resourceUrl: "资源路径",
764
+ fileName: "文件名称",
765
+ fileSize: "文件大小",
766
+ filePath: "文件路径",
767
+ fileExtend: "文件类型",
768
+ textAlign: "对齐方式",
769
+ color: "色彩",
770
+ fillOpacity: "透明度",
771
+ fontSize: "字体大小",
772
+ rotation: "倾斜角度",
773
+ watermarkCode: "水印编码",
774
+ watermarkContent: "水印内容",
775
+ watermarkTrigger: "触发时机",
776
+ watermarkType: "水印类型",
777
+ xAxis: "横坐标",
778
+ yAxis: "纵坐标"
779
+ },
780
+ add: "新增",
781
+ operate: "操作",
782
+ emptyData: "暂无数据",
783
+ creationDate: "创建时间",
784
+ createdByName: "创建人",
785
+ creationName: "创建人",
786
+ lastUpdateDate: "更新日期",
787
+ lastUpdatedByName: "更新人",
788
+ sort: "序号",
789
+ seqNo: "序号",
790
+ remark: "备注",
791
+ loading: "加载中...",
792
+ keyword: "关键字",
793
+ required: "请录入",
794
+ isRequired: "必填否",
795
+ dataSetCode: "数据集编码",
796
+ dataSetName: "数据集名称",
797
+ dataSetType: "数据集类型",
798
+ dataSetUrl: "URL/服务编码",
799
+ paramCode: "参数编码",
800
+ paramName: "参数名称",
801
+ defaultValue: "默认值",
802
+ enabled: "启用",
803
+ disabled: "禁用",
804
+ to: "至",
805
+ startDate: "开始日期",
806
+ endDate: "截至日期",
807
+ operateSuccess: "操作成功!",
808
+ operateFailed: "操作失败!",
809
+ selectedRecord: "请至少选择一条记录",
810
+ delRecord: "您确定要删除选择的数据吗?",
811
+ importSuccess: "导入成功!",
812
+ importFailed: "数据导入失败,请往下滚动以便查看错误信息",
813
+ importRecord: "您确定要导入数据吗?",
814
+ importEmpty: "数据列表为空,请先导入数据列表",
815
+ importTip: `1、表格模板的【列标题】不可修改;
816
+ 2、单次导入数据数量应小于2000条;
817
+ 3、数据字典直接录入字典值表示,能极大的提高表格渲染速度哦。例如: 数据字典【是否】Y/N
818
+ 4、导入成功,系统提示【导入成功数量xxx条】其中的数量包括表头行`,
819
+ errorInfo: "异常信息",
820
+ publish: "发布",
821
+ menuName: "菜单名称(中文)",
822
+ menuNameEn: "菜单名称(英文)",
823
+ menuType: "菜单类型",
824
+ menuCode: "菜单编码",
825
+ permissionCode: "权限编码",
826
+ permissionName: "权限名称",
827
+ menuPath: "路由",
828
+ frameSrc: "内链URI",
829
+ externalURI: "外链URI",
830
+ redirect: "重定向路径",
831
+ i18nField: "标题字段",
832
+ extraIcon: "额外图标",
833
+ icon: "图标",
834
+ jobResult: "执行结果",
835
+ endTime: "结束时间",
836
+ startTime: "开始时间",
837
+ errorMessage: "异常信息",
838
+ jobStatus: "任务状态",
839
+ jobParam: "执行器任务参数",
840
+ jobHandler: "任务处理类",
841
+ jobClassName: "实现类",
842
+ jobCron: "任务执行corn",
843
+ jobName: "任务名称",
844
+ jobDescription: "任务描述",
845
+ interfaceName: "接口名称",
846
+ interfaceUrl: "接口地址",
847
+ requestDate: "请求日期",
848
+ requestStatus: "请求状态",
849
+ requestParameter: "body参数",
850
+ responseTimeConsume: "响应时间(ms)",
851
+ responseContent: "响应内容",
852
+ stacktrace: "错误堆栈",
853
+ userName: "用户姓名",
854
+ userCode: "用户编码",
855
+ status: "状态",
856
+ email: "邮箱",
857
+ userPassword: "登录密码",
858
+ remarks: "备注",
859
+ sysType: "用户类型",
860
+ userPwd: "用户密码",
861
+ unitName: "用户单位",
862
+ employeeCode: "编号",
863
+ employeeName: "姓名",
864
+ department: "部门",
865
+ gender: "性别",
866
+ releateUser: "关联用户",
867
+ identity: "身份证号码",
868
+ employeeDate: "入职日期",
869
+ solarDay: "出生日期",
870
+ phone: "座机号",
871
+ mobile: "手机号",
872
+ deptName: "部门名称",
873
+ deptCode: "部门编码",
874
+ deptType: "部门类型",
875
+ deletePartment: "部门存在子级,请先删除子级",
876
+ orgCode: "业务实体编码",
877
+ orgName: "业务实体名称",
878
+ orgAlias: "业务实体简称",
879
+ orgDesc: "业务实体描述",
880
+ organizationName: "组织名称",
881
+ organizationCode: "组织编码",
882
+ lovCode: "视图编码",
883
+ lovName: "视图名称",
884
+ valueField: "值字段名",
885
+ displayField: "显示字段名",
886
+ lovTitle: "视图标题",
887
+ lovType: "视图类型",
888
+ lovUrl: "视图URI",
889
+ colField: "表格字段名",
890
+ colTitle: "表格列标题",
891
+ colWidth: "列宽度",
892
+ fieldType: "字段类型",
893
+ dictName: "数据字典",
894
+ isSearch: "查询字段",
895
+ isCol: "表格列",
896
+ sqlStatement: "SQL语句",
897
+ fileName: "附件名称",
898
+ fileSize: "附件大小",
899
+ tip: {
900
+ projectConfig: "项目配置",
901
+ closeConfig: "关闭配置",
902
+ clearCache: "清空缓存",
903
+ toLogin: "清空缓存并返回登录页",
904
+ del: "确定要删除{msg}吗?",
905
+ uploadFormat: "上传格式{type}",
906
+ imageSize: "图片尺寸{size}",
907
+ imageCapacity: "图片大小{capacity}",
908
+ singleImg: "仅支持设置单张图",
909
+ emptyAuth: "无系统权限, 请先给用户分配角色重试",
910
+ initPassword: "初始密码为:【123456】,请及时修改密码",
911
+ loginFailure: "用户名或密码不能为空",
912
+ updatenow: "立即更新",
913
+ newVersion: "检测到新版本",
914
+ updateLater: "稍后更新"
915
+ },
916
+ title: {
917
+ employeeInfo: "员工信息",
918
+ cronLog: "执行日志",
919
+ memuInfo: "菜单配置",
920
+ authority: "【{role}】权限明细",
921
+ authUser: "【{role}】分配用户",
922
+ authEdit: "角色编辑",
923
+ roleInfo: "角色列表",
924
+ appAdd: "App版本新增",
925
+ dictList: "【{name}】字典值列表",
926
+ dictInfo: "【{name}】字典值",
927
+ lovView: "值集视图",
928
+ lovColConfig: "值集列配置",
929
+ sequenceInfo: "{name}单据序列配置"
930
+ }
931
+ }, en = {
932
+ udp: {
933
+ dark: "深色",
934
+ light: "浅色",
935
+ smart: "灵动",
936
+ card: "卡片",
937
+ theme: "主题色",
938
+ pageStyle: "Page Style",
939
+ navigationMode: "Navigation Node",
940
+ tagStyle: "Tag Style",
941
+ collapse: "Collapse",
942
+ expand: "Expand",
943
+ login: "Login",
944
+ home: "Home",
945
+ logout: "Logout",
946
+ userName: "User Name",
947
+ password: "Password",
948
+ passwordReset: "Password Reset",
949
+ oldPwd: "Old Password",
950
+ newPwd: "New Password",
951
+ confirmPwd: "Confirm Password",
952
+ reload: "Reload",
953
+ closeCurrentTab: "Close Current Tab",
954
+ closeLeftTabs: "Close Left Tabs",
955
+ closeRightTabs: "Close Right Tabs",
956
+ closeOtherTabs: "Close Other Tabs",
957
+ closeAllTabs: "Close All Tabs",
958
+ wholeFullScreen: "Whole Full Screen",
959
+ wholeExitFullScreen: "Whole Exit Full Screen",
960
+ contentFullScreen: "Content Fulll Screen",
961
+ contentExitFullScreen: "Content Exit Full Screen",
962
+ fourZeroFour: "404",
963
+ fourZeroThree: "403",
964
+ five: "500",
965
+ backtop: "Back Top",
966
+ error: "Error Page",
967
+ continueAdd: "Continue Add",
968
+ menuQuery: "Menu Search",
969
+ systemTitle: "System Title",
970
+ systemLogo: "LOGO",
971
+ systemFavicon: "favicon",
972
+ homeBackimg: "Home Background Image",
973
+ baseUrl: "Base Url",
974
+ copyright: "Copy Right",
975
+ i18nEnabled: "Internationalize",
976
+ defaultLanguage: "Language",
977
+ roleName: "Role Name",
978
+ roleCode: "Role Code",
979
+ roleDesc: "Role Desc",
980
+ loginTime: "Login Time",
981
+ operatingSystem: "Operate System",
982
+ ip: "ip",
983
+ browserVersion: "Browser Version",
984
+ browser: "Browser",
985
+ dictCode: "Dict Code",
986
+ dictName: "Dict Name",
987
+ dictType: "Dict Type",
988
+ ruleCode: "Rule Code",
989
+ ruleName: "Rule Name",
990
+ fieldType: "Field Type",
991
+ fieldValue: "Field Value",
992
+ dateMask: "Data Mask",
993
+ resetFrequency: "Reset Frequency",
994
+ seqLength: "Seq Length",
995
+ startValue: "Start Value",
996
+ currentValue: "Current Value",
997
+ haveBeenUsed: "Have Been Used",
998
+ unitName: "Unit Name",
999
+ unitCode: "Unit Code",
1000
+ unitNote: "Unit Note",
1001
+ deleteCompany: "There are child levels in the Company, please delete the child level first",
1002
+ tip: "tip",
1003
+ today: "Today",
1004
+ yesterday: "Yesterday",
1005
+ lastWeek: "Last Week",
1006
+ lastMonth: "Last Month",
1007
+ threeMonth: "Three Month",
1008
+ halfYear: "Half Year",
1009
+ anniversary: "Anniversary"
1010
+ },
1011
+ btn: {
1012
+ add: "Add",
1013
+ agree: "Agree",
1014
+ approve: "Approval",
1015
+ appupper: "App Add",
1016
+ applower: "App Remove",
1017
+ auth: "Authority",
1018
+ back: "Back",
1019
+ cancel: "Cancel",
1020
+ completed: "Completed",
1021
+ close: "Close",
1022
+ toggle: "Toggle",
1023
+ confirm: "Confirm",
1024
+ config: "Config",
1025
+ copy: "Copy",
1026
+ customSize: "Custom Size",
1027
+ detail: "Detail",
1028
+ directPrint: "Direct Print",
1029
+ design: "Design",
1030
+ delete: "Delete",
1031
+ del: "Delete",
1032
+ download: "Download",
1033
+ dispatchUser: "Dispatch User",
1034
+ dispatchAuth: "Dispatch Authority",
1035
+ finish: "Finish",
1036
+ fetch: "Fetch",
1037
+ edit: "Edit",
1038
+ export: "Export",
1039
+ import: "Import",
1040
+ encode: "Encode",
1041
+ importJSON: "Import Data",
1042
+ look: "Look",
1043
+ lov: "Lov",
1044
+ inbound: "Inbound",
1045
+ more: "More",
1046
+ outbound: "Outbound",
1047
+ preview: "Preview",
1048
+ print: "Print",
1049
+ paramSet: "Param Set",
1050
+ reset: "Reset",
1051
+ resumeTask: "Resume",
1052
+ role: "Role",
1053
+ repaint: "Repaint",
1054
+ save: "Save",
1055
+ scan: "Scan Download",
1056
+ stopTask: "Stop",
1057
+ suspendTask: "Suspend",
1058
+ search: "Search",
1059
+ sync: "Sync",
1060
+ submit: "Submit",
1061
+ taskLog: "Log",
1062
+ revoke: "Revoke",
1063
+ reject: "Reject",
1064
+ upload: "Upload"
1065
+ },
1066
+ file: {
1067
+ templateName: "Template Name",
1068
+ templateCode: "Template Code",
1069
+ paperType: "Paper Type",
1070
+ printPosition: "Print Position",
1071
+ buttonCode: "Button Code",
1072
+ resourceCode: "Resource Code",
1073
+ resourceName: "Resource Name",
1074
+ resourceUrl: "Resource Url",
1075
+ fileName: "File Name",
1076
+ fileSize: "File Size",
1077
+ filePath: "File Path",
1078
+ fileExtend: "File Extend",
1079
+ textAlign: "Text Align",
1080
+ color: "Color",
1081
+ fillOpacity: "Fill Opacity",
1082
+ fontSize: "Font Size",
1083
+ rotation: "Rotation",
1084
+ watermarkCode: "Watermark Code",
1085
+ watermarkContent: "Watermark Content",
1086
+ watermarkTrigger: "Watermark Trigger",
1087
+ watermarkType: "Watermark Type",
1088
+ xAxis: "xAxis",
1089
+ yAxis: "yAxis"
1090
+ },
1091
+ add: "Add",
1092
+ operate: "Operate",
1093
+ emptyData: "Empty Data",
1094
+ creationDate: "Creation Date",
1095
+ createdByName: "CreatedBy Name",
1096
+ creationName: "Creation Name",
1097
+ lastUpdateDate: "LastUpdate Date",
1098
+ lastUpdatedByName: "LastUpdatedBy Name",
1099
+ sort: "Sort",
1100
+ seqNo: "Seq No",
1101
+ remark: "Remark",
1102
+ loading: "Loading...",
1103
+ keyword: "Keyword",
1104
+ required: "Required",
1105
+ isRequired: "Is Required",
1106
+ dataSetCode: "Dataset Code",
1107
+ dataSetName: "Dataset Name",
1108
+ dataSetType: "Dataset Type",
1109
+ dataSetUrl: "Dataset Url",
1110
+ paramCode: "Param Code",
1111
+ paramName: "Param Name",
1112
+ defaultValue: "Default Value",
1113
+ enabled: "Enabled",
1114
+ disabled: "Disabled",
1115
+ to: "To",
1116
+ startDate: "Start Date",
1117
+ endDate: "End Date",
1118
+ operateSuccess: "Operate Success!",
1119
+ operateFailed: "Operate Failed!",
1120
+ selectedRecord: "Please select at least one record",
1121
+ delRecord: "Are you sure you want to delete this record?",
1122
+ importSuccess: "Import Success!",
1123
+ importFailed: "Data import failed, please scroll down to view the error message",
1124
+ importRecord: "Are you sure you want to import the data?",
1125
+ importEmpty: "The data list is empty, please import the data list first",
1126
+ importTip: `1. The column headings in the table template cannot be modified;
1127
+ 2. The number of data imported at a time should be less than 2000;
1128
+ 3. Directly entering dictionary values into the data dictionary can greatly improve the speed of table rendering. For example: Data Dictionary [Yes/No] Y/N
1129
+ 4. Import successful, system prompts' xxx successful imports', including header rows`,
1130
+ errorInfo: "Error Info",
1131
+ publish: "Publish",
1132
+ menuName: "Menu Name",
1133
+ menuNameEn: "Menu Name",
1134
+ menuType: "Menu Type",
1135
+ menuCode: "Menu Code",
1136
+ permissionCode: "Permission Code",
1137
+ permissionName: "Permission Name",
1138
+ menuPath: "Menu Path",
1139
+ frameSrc: "Internal Link URI",
1140
+ externalURI: "External Link URI",
1141
+ redirect: "Redirect",
1142
+ i18nField: "Language Field",
1143
+ extraIcon: "Extra Icon",
1144
+ icon: "Icon",
1145
+ jobResult: "Job Result",
1146
+ endTime: "End Time",
1147
+ startTime: "Start Time",
1148
+ errorMessage: "Error Message",
1149
+ jobStatus: "Job Status",
1150
+ jobParam: "Job Param",
1151
+ jobHandler: "Job Handler",
1152
+ jobClassName: "Job ClassName",
1153
+ jobCron: "Job Cron",
1154
+ jobName: "Job Name",
1155
+ jobDescription: "Job Description",
1156
+ interfaceName: "Interface Name",
1157
+ interfaceUrl: "Interface Url",
1158
+ requestDate: "Request Date",
1159
+ requestStatus: "Request Status",
1160
+ requestParameter: "Request Parameter",
1161
+ responseTimeConsume: "Response TimeConsume(ms)",
1162
+ responseContent: "Response Content",
1163
+ stacktrace: "Stacktrace",
1164
+ userName: "User Name",
1165
+ userCode: "user Code",
1166
+ status: "Status",
1167
+ email: "Email",
1168
+ userPassword: "Password",
1169
+ remarks: "Remarks",
1170
+ sysType: "User Type",
1171
+ userPwd: "Password",
1172
+ unitName: "Department",
1173
+ employeeCode: "Employee Code",
1174
+ employeeName: "Employee Name",
1175
+ department: "Department",
1176
+ gender: "Sex",
1177
+ releateUser: "Releate User",
1178
+ identity: "Identity",
1179
+ employeeDate: "Employee Date",
1180
+ solarDay: "Solar Day",
1181
+ phone: "Phone",
1182
+ mobile: "Mobile",
1183
+ deptName: "Department Name",
1184
+ deptCode: "Department Code",
1185
+ deptType: "Department Type",
1186
+ deletePartment: "There are child levels in the department, please delete the child level first",
1187
+ orgCode: "Business Unit Code",
1188
+ orgName: "Business Unit Name",
1189
+ orgAlias: "Business Unit Alias",
1190
+ orgDesc: "Business Unit Descript",
1191
+ organizationName: "Organization Name",
1192
+ organizationCode: "Organization Code",
1193
+ lovCode: "LovCode",
1194
+ lovName: "lovName",
1195
+ valueField: "valueField",
1196
+ displayField: "displayField",
1197
+ lovTitle: "lovTitle",
1198
+ colField: "colField",
1199
+ colTitle: "colTitle",
1200
+ width: "width",
1201
+ dictDispose: "dictDispose",
1202
+ isSearch: "isSearch",
1203
+ isCol: "isCol"
1204
+ }, files = /* @__PURE__ */ Object.assign({ "./module/u-report.ts": __vite_glob_0_0, "./module/u-workflow.ts": __vite_glob_0_1, "./module/umsg.ts": __vite_glob_0_2 }), modules = {};
1205
+ for (const e in files)
1206
+ modules[e.replace(/(\.\/module\/|\.ts)/g, "")] = files[e].default;
1207
+ const moduleList = Object.keys(modules).filter((e) => modules[e]).map((e) => modules[e]), messages = {
1208
+ zh: {
1209
+ ...storageLocal.getItem(kMENUZH),
1210
+ message: merge(zh, ...moduleList.map((e) => e.zh.message))
1211
+ },
1212
+ en: {
1213
+ ...storageLocal.getItem(kMENUEN),
1214
+ message: Object.assign(en, ...moduleList.map((e) => e.en.message))
1215
+ }
1216
+ };
1217
+ let i18n = null;
1218
+ function useI18n(e, o = { messages: {} }) {
1219
+ var t;
1220
+ console.log("message=====", messages), i18n = createI18n({
1221
+ legacy: !1,
1222
+ locale: ((t = storageLocal.getItem(`${responsiveStorageNameSpace()}locale`)) == null ? void 0 : t.locale) ?? "zh",
1223
+ fallbackLocale: "en",
1224
+ globalInjection: !0,
1225
+ messages: merge(messages, o.messages)
1226
+ }), VxeUI.setLanguage("zh-CN"), e.use(i18n);
1227
+ }
1228
+ const geti18n = () => i18n;
1229
+ function transformI18n(e = "", o = !0) {
1230
+ if (!e)
1231
+ return "";
1232
+ if (typeof e == "object") {
1233
+ const t = i18n.global.locale;
1234
+ return e[t.value];
1235
+ }
1236
+ return o ? i18n.global.t.call(i18n.global, e) : e;
1237
+ }
1238
+ const useSystemStore = defineStore("udp-system", {
1239
+ state: () => ({
1240
+ baseURL: "",
1241
+ userInfo: {},
1242
+ systemInfo: {},
1243
+ dataDict: {},
1244
+ sysConfig: {},
1245
+ menui18n: {},
1246
+ i18n: {},
1247
+ dicts: [],
1248
+ orgList: [],
1249
+ invOrgList: [],
1250
+ homeMenus: [],
1251
+ sessionKey: "",
1252
+ orgId: "",
1253
+ userName: "",
1254
+ organizationId: "",
1255
+ isAdminRole: !1
1256
+ }),
1257
+ getters: {
1258
+ getBaseURL() {
1259
+ return this.baseURL;
1260
+ },
1261
+ getUserInfo() {
1262
+ return this.userInfo;
1263
+ },
1264
+ getSysConfig() {
1265
+ return this.sysConfig;
1266
+ },
1267
+ getEmployee() {
1268
+ return this.employee;
1269
+ },
1270
+ getSessionKey() {
1271
+ return this.sessionKey;
1272
+ },
1273
+ getMenuI18n() {
1274
+ return this.menui18n;
1275
+ },
1276
+ getI18n() {
1277
+ return this.i18n;
1278
+ },
1279
+ getOrglist() {
1280
+ return this.orgList;
1281
+ },
1282
+ getOrgId() {
1283
+ return this.orgId;
1284
+ },
1285
+ getOrganizationId() {
1286
+ return this.organizationId;
1287
+ },
1288
+ getDataDict() {
1289
+ return this.dataDict;
1290
+ },
1291
+ getUserName() {
1292
+ return this.userName;
1293
+ },
1294
+ getAdminRole(e) {
1295
+ return e.isAdminRole;
1296
+ },
1297
+ getHomeMenus(e) {
1298
+ return e.homeMenus;
1299
+ },
1300
+ getOrganizationCode(e) {
1301
+ var o, t;
1302
+ return (t = (o = e.invOrgList) == null ? void 0 : o.find((r) => r.id === e.organizationId)) == null ? void 0 : t.organizationCode;
1303
+ },
1304
+ getOrg(e) {
1305
+ return e.orgList.find((o) => o.id === e.orgId);
1306
+ }
1307
+ },
1308
+ actions: {
1309
+ // baseURL
1310
+ setBaseURL(e) {
1311
+ this.sessionKey = e;
1312
+ },
1313
+ setSessionKey(e) {
1314
+ this.sessionKey = e.access_token || e;
1315
+ },
1316
+ // sysConfig
1317
+ setSysConfig(e) {
1318
+ this.sysConfig = e;
1319
+ },
1320
+ // orgId
1321
+ setOrgId(e) {
1322
+ this.orgId = e;
1323
+ },
1324
+ setOrganizationId(e) {
1325
+ this.organizationId = e;
1326
+ },
1327
+ setMenuI18n(e) {
1328
+ this.menui18n = e;
1329
+ },
1330
+ setI18n(e) {
1331
+ this.i18n = e;
1332
+ },
1333
+ setUserName(e) {
1334
+ this.userName = e;
1335
+ },
1336
+ // 首页子菜单列表
1337
+ setHomeMenus(e) {
1338
+ this.homeMenus = e;
1339
+ },
1340
+ // 库存组织列表
1341
+ setInvOrgList(e) {
1342
+ this.invOrgList = e;
1343
+ },
1344
+ setOrgList(e) {
1345
+ this.orgList = e;
1346
+ },
1347
+ setDict(e) {
1348
+ this.dicts = e, e == null || e.forEach((o) => {
1349
+ this.dataDict[o.dictCode] = o;
1350
+ }), storageLocal.setItem("kLov", this.dataDict);
1351
+ },
1352
+ // 系统信息
1353
+ setSystemInfo(e) {
1354
+ var r;
1355
+ this.systemInfo = e;
1356
+ const o = (r = e.employeeList) != null && r.length ? e.employeeList[0] : "";
1357
+ this.userInfo = e.user || {}, this.employee = Object.assign({}, o, e.user), this.orgId = e.orgId, this.organizationId = e.organizationId, this.orgList = e.orgList;
1358
+ const t = {
1359
+ orgId: e.orgId,
1360
+ organizationId: e.organizationId
1361
+ };
1362
+ cookies.set("kCookies_param", JSON.stringify(t)), this.isAdminRole = this.employee.sysRoles.some(
1363
+ (a) => a.roleCode === "admin" || ["管理员"].includes(a.roleName)
1364
+ ), usePermissionStoreHook().setAuthButton(e.dataMenus);
1365
+ }
1366
+ }
1367
+ });
1368
+ function useSystemStoreHook() {
1369
+ return useSystemStore(store);
1370
+ }
1371
+ function createComponent(e, o) {
1372
+ return /* @__PURE__ */ defineComponent({
1373
+ name: e,
1374
+ components: {
1375
+ asyncComponent: o
1376
+ },
1377
+ setup() {
1378
+ return () => createVNode(resolveComponent("async-component"), null, null);
1379
+ }
1380
+ });
1381
+ }
1382
+ http.setBaseUrl(getBaseURL());
1383
+ const initSystemInfo = () => http.get(`${getBaseURL()}/uums/roleMenu`), initDict = () => http.get(`${getBaseURL()}/upfm/v1/lov/selectAll`), getAsyncRoutes = (e) => http.get(`${getBaseURL()}/uums/roleMenu/userMenu`, e), Layout$3 = () => import("./layoutView-PCjwVwkX.js"), IFrame = () => import("./frameView-CEUTDtSm.js");
1384
+ function ascending(e) {
1385
+ return e.forEach((o) => {
1386
+ var t, r;
1387
+ ((t = o == null ? void 0 : o.meta) == null ? void 0 : t.rank) === null && (o.meta.rank = void 0), ((r = o == null ? void 0 : o.meta) == null ? void 0 : r.rank) === 0 && o.name !== "home" && o.path !== "/" && console.warn("rank only the home page can be 0");
1388
+ }), e.sort((o, t) => {
1389
+ var r, a;
1390
+ return ((r = o == null ? void 0 : o.meta) == null ? void 0 : r.rank) - ((a = t == null ? void 0 : t.meta) == null ? void 0 : a.rank);
1391
+ });
1392
+ }
1393
+ function filterTree(e) {
1394
+ const o = clone(e, !0).filter(
1395
+ (t) => {
1396
+ var r;
1397
+ return t && ((r = t.meta) == null ? void 0 : r.showLink) !== !1;
1398
+ }
1399
+ );
1400
+ return o.forEach((t) => t.children && (t.children = filterTree(t.children))), o;
1401
+ }
1402
+ function getParentPaths(e, o, t = "path") {
1403
+ function r(a, s, l) {
1404
+ for (let b = 0; b < a.length; b++) {
1405
+ const w = a[b];
1406
+ if (w[t] === s) return l;
1407
+ if (!(!w.children || !w.children.length)) {
1408
+ if (l.push(w.path), r(w.children, s, l).length) return l;
1409
+ l.pop();
1410
+ }
1411
+ }
1412
+ return [];
1413
+ }
1414
+ return r(o, e, []);
1415
+ }
1416
+ function findRouteByPath(e, o) {
1417
+ let t = o.find((r) => r.path == e);
1418
+ if (t)
1419
+ return isProxy(t) ? toRaw(t) : t;
1420
+ for (let r = 0; r < o.length; r++)
1421
+ if (o[r].children instanceof Array && o[r].children.length > 0 && (t = findRouteByPath(e, o[r].children), t))
1422
+ return isProxy(t) ? toRaw(t) : t;
1423
+ return null;
1424
+ }
1425
+ function addPathMatch() {
1426
+ router.hasRoute("pathMatch") || router.addRoute({
1427
+ path: "/:pathMatch(.*)",
1428
+ name: "pathMatch",
1429
+ redirect: "/error/404"
1430
+ });
1431
+ }
1432
+ function setMenui18n() {
1433
+ var o, t;
1434
+ const e = geti18n();
1435
+ (o = e.global) == null || o.mergeLocaleMessage("zh", menuI18n.zh), (t = e.global) == null || t.mergeLocaleMessage("en", menuI18n.en), storageLocal.setItem("menu_zh", menuI18n.zh), storageLocal.setItem("menu_en", menuI18n.en);
1436
+ }
1437
+ function handleAsyncRoutes(e) {
1438
+ if (e != null && e.length) {
1439
+ const o = e.findIndex((r) => r.menuCode === "SysHome");
1440
+ if (o !== -1) {
1441
+ const r = [], a = [];
1442
+ e[o].children.forEach((s) => {
1443
+ s.menuCategory !== "1" ? r.push(s) : a.push(s);
1444
+ }), e[o].children = a, useSystemStoreHook().setHomeMenus(r);
1445
+ }
1446
+ const t = clone(addAsyncRoutes(e), !0);
1447
+ setMenui18n(), formatFlatteningRoutes(t).map((r) => {
1448
+ const { options: a } = router;
1449
+ a.routes[0].children.findIndex((s) => s.path === r.path) === -1 && (router.options.routes[0].children.push(r), ascending(router.options.routes[0].children), router.hasRoute(r == null ? void 0 : r.name) || router.addRoute(r));
1450
+ });
1451
+ }
1452
+ usePermissionStoreHook().changeSetting(e), useMultiTagsStoreHook().getMultiTagsCache || useMultiTagsStoreHook().handleTags("equal", [
1453
+ ...routerArrays,
1454
+ ...usePermissionStoreHook().flatteningRoutes.filter((o) => {
1455
+ var t;
1456
+ return (t = o == null ? void 0 : o.meta) == null ? void 0 : t.fixedTag;
1457
+ })
1458
+ ]), addPathMatch();
1459
+ }
1460
+ async function initRouter(e) {
1461
+ let o = [];
1462
+ const t = `U-${e}-ROUTES`;
1463
+ return getConfig().CachingAsyncRoutes && await dbstorage.getItem(t).then((r) => o = r), initDict().then((r) => useSystemStoreHook().setDict(r)), await initSystemInfo().then(async (r) => {
1464
+ useSystemStoreHook().setSystemInfo(r), await getServiceApi().get("/uums/cusOrganization", { pageSize: 100, pageNum: 1, orgId: r.orgId }).then((a) => useSystemStoreHook().setInvOrgList((a == null ? void 0 : a.list) || []));
1465
+ }), o != null && o.length ? new Promise((r) => {
1466
+ handleAsyncRoutes(o), getAsyncRoutes({ userName: e }).then((a) => {
1467
+ dbstorage.setItem(t, a);
1468
+ }), r(router);
1469
+ }) : new Promise((r) => {
1470
+ getAsyncRoutes({ userName: e }).then((a) => {
1471
+ handleAsyncRoutes(clone(a, !0)), dbstorage.setItem(t, a), r(router);
1472
+ });
1473
+ });
1474
+ }
1475
+ function formatFlatteningRoutes(e) {
1476
+ if (e.length === 0) return e;
1477
+ let o = buildHierarchyTree(e);
1478
+ for (let t = 0; t < o.length; t++)
1479
+ o[t].children && (o = o.slice(0, t + 1).concat(o[t].children, o.slice(t + 1)));
1480
+ return o;
1481
+ }
1482
+ function formatTwoStageRoutes(e) {
1483
+ if (e.length === 0) return e;
1484
+ const o = [];
1485
+ return e.forEach((t) => {
1486
+ t.path === "/" ? o.push({
1487
+ component: t.component,
1488
+ name: t.name,
1489
+ path: t.path,
1490
+ redirect: t.redirect,
1491
+ meta: t.meta,
1492
+ children: []
1493
+ }) : o[0].children.push({ ...t });
1494
+ }), o;
1495
+ }
1496
+ function handleAliveRoute({ name: e }, o) {
1497
+ switch (o) {
1498
+ case "add":
1499
+ usePermissionStoreHook().cacheOperate({ mode: "add", name: e });
1500
+ break;
1501
+ case "delete":
1502
+ usePermissionStoreHook().cacheOperate({ mode: "delete", name: e });
1503
+ break;
1504
+ case "refresh":
1505
+ usePermissionStoreHook().cacheOperate({ mode: "refresh", name: e });
1506
+ break;
1507
+ default:
1508
+ usePermissionStoreHook().cacheOperate({ mode: "delete", name: e }), useTimeoutFn(() => {
1509
+ usePermissionStoreHook().cacheOperate({ mode: "add", name: e });
1510
+ }, 100);
1511
+ }
1512
+ }
1513
+ const menuI18n = {
1514
+ zh: {},
1515
+ en: {}
1516
+ }, addAsyncRoutes = (e) => {
1517
+ var r;
1518
+ const o = getViews();
1519
+ if (!e || !e.length) return;
1520
+ const t = Object.keys(o);
1521
+ for (let a = 0; a < e.length; a++) {
1522
+ const s = e[a];
1523
+ s != null && s.children && s.children.length && !s.redirect && (s.redirect = s.children[0].path);
1524
+ const { icon: l, permissionCode: b, extraIcon: w, frameSrc: i } = s;
1525
+ if (s.meta = { keepAlive: !0, rank: s.sort, title: `${s.i18nField}` }, Object.assign(s.meta, { icon: l, permissionCode: b, extraIcon: w, frameSrc: i }), menuI18n.zh[s.i18nField] = s.menuName || s.menuNameEn, menuI18n.en[s.i18nField] = s.menuNameEn || s.menuName, s.name = s.menuCode || s.name, s.path = s.menuPath || s.path, !s.parentId)
1526
+ s.component = Layout$3;
1527
+ else if ((r = s.meta) != null && r.frameSrc)
1528
+ s.component = IFrame;
1529
+ else if (s.menuCategory === "10") {
1530
+ const v = t.findIndex((T) => T.includes("lowcode-contain"));
1531
+ s.component = createComponent(
1532
+ s.name,
1533
+ defineAsyncComponent(() => import(
1534
+ /* @vite-ignore */
1535
+ t[v]
1536
+ ))
1537
+ ), Object.assign(s.meta, { moduleType: s.moduleType });
1538
+ } else if (s.menuCategory !== "5") {
1539
+ const v = t.findIndex((T) => T.includes(s.path));
1540
+ s.component = o[t[v]];
1541
+ }
1542
+ s != null && s.children && s.children.length ? addAsyncRoutes(s.children) : delete s.children;
1543
+ }
1544
+ return e;
1545
+ };
1546
+ function delCurrentRoute(e, o = !0) {
1547
+ const t = useMultiTagsStoreHook().multiTags.findIndex((r) => {
1548
+ if (e.query) {
1549
+ if (e.path === r.path)
1550
+ return e.query === r.query;
1551
+ } else
1552
+ return e.path === r.path;
1553
+ });
1554
+ if (useMultiTagsStoreHook().handleTags("splice", "", { startIndex: t, length: 1 }), handleAliveRoute(e.matched, "delete"), o) {
1555
+ const r = useMultiTagsStoreHook().handleTags("slice");
1556
+ router.push({
1557
+ path: r[0].path,
1558
+ query: r[0].query
1559
+ });
1560
+ }
1561
+ }
1562
+ const usePermissionStore = defineStore("udp-permission", {
1563
+ state: () => ({
1564
+ // 静态路由生成的菜单
1565
+ constantMenus,
1566
+ // 整体路由生成的菜单(静态、动态)
1567
+ wholeMenus: [],
1568
+ // 深拷贝一个菜单树,与导航菜单不冲突
1569
+ menusTree: [],
1570
+ // 整体路由(一维数组格式)
1571
+ flatteningRoutes: [],
1572
+ buttonAuth: [],
1573
+ // 缓存页面keepAlive
1574
+ cachePageList: []
1575
+ }),
1576
+ getters: {
1577
+ getButtonAuth() {
1578
+ return this.buttonAuth;
1579
+ }
1580
+ },
1581
+ actions: {
1582
+ asyncActionRoutes(e = []) {
1583
+ if (this.wholeMenus.length > 0) return;
1584
+ const o = findLastIndexOf(e, (r) => r.menuCode === "SysHome"), t = clone(this.constantMenus, !0);
1585
+ if (o !== -1) {
1586
+ const r = this.constantMenus.find((a) => a.name === "home");
1587
+ e[o].children && r.children.push(...e[o].children), e.splice(o, 1);
1588
+ }
1589
+ this.wholeMenus = filterTree(ascending(this.constantMenus.concat(e))), this.flatteningRoutes = formatFlatteningRoutes(this.constantMenus.concat(e)), this.menusTree = clone(this.wholeMenus, !0), this.constantMenus = t;
1590
+ },
1591
+ async changeSetting(e) {
1592
+ await this.asyncActionRoutes(e);
1593
+ },
1594
+ setAuthButton(e) {
1595
+ this.buttonAuth = e;
1596
+ },
1597
+ setWholeMenus(e) {
1598
+ this.wholeMenus = e;
1599
+ },
1600
+ cacheOperate({ mode: e, name: o }) {
1601
+ const t = this.cachePageList.findIndex((r) => r === o);
1602
+ switch (e) {
1603
+ case "refresh":
1604
+ this.cachePageList = this.cachePageList.filter((r) => r !== o);
1605
+ break;
1606
+ case "add":
1607
+ this.cachePageList.push(o);
1608
+ break;
1609
+ case "delete":
1610
+ t !== -1 && this.cachePageList.splice(t, 1);
1611
+ break;
1612
+ case "reset":
1613
+ this.cachePageList = [];
1614
+ break;
1615
+ }
1616
+ debounce(() => {
1617
+ let r = this.cachePageList.length;
1618
+ const a = getKeyList(useMultiTagsStoreHook().multiTags, "name");
1619
+ for (; r > 0; )
1620
+ a.findIndex((s) => s === this.cachePageList[r - 1]) === -1 && this.cachePageList.splice(
1621
+ this.cachePageList.indexOf(this.cachePageList[r - 1]),
1622
+ 1
1623
+ ), r--;
1624
+ }, 500)();
1625
+ },
1626
+ /** 清空缓存页面 */
1627
+ clearAllCachePage() {
1628
+ this.wholeMenus = [], this.menusTree = [], this.buttonAuth = [], this.cachePageList = [];
1629
+ }
1630
+ }
1631
+ });
1632
+ function usePermissionStoreHook() {
1633
+ return usePermissionStore(store);
1634
+ }
1635
+ const useMultiTagsStore = defineStore("udp-multiTags", {
1636
+ state: () => {
1637
+ var e, o;
1638
+ return {
1639
+ // 存储标签页信息(路由信息)
1640
+ multiTags: (e = storageLocal.getItem(`${responsiveStorageNameSpace()}configure`)) != null && e.multiTagsCache ? storageLocal.getItem(`${responsiveStorageNameSpace()}tags`) : [...routerArrays, ...usePermissionStoreHook().flatteningRoutes.filter((t) => {
1641
+ var r;
1642
+ return (r = t == null ? void 0 : t.meta) == null ? void 0 : r.fixedTag;
1643
+ })],
1644
+ multiTagsCache: (o = storageLocal.getItem(`${responsiveStorageNameSpace()}configure`)) == null ? void 0 : o.multiTagsCache
1645
+ };
1646
+ },
1647
+ getters: {
1648
+ getMultiTagsCache(e) {
1649
+ return e.multiTagsCache;
1650
+ }
1651
+ },
1652
+ actions: {
1653
+ multiTagsCacheChange(e) {
1654
+ this.multiTagsCache = e, e ? storageLocal.setItem(`${responsiveStorageNameSpace()}tags`, this.multiTags) : storageLocal.removeItem(`${responsiveStorageNameSpace()}tags`);
1655
+ },
1656
+ tagsCache(e) {
1657
+ this.getMultiTagsCache && storageLocal.setItem(`${responsiveStorageNameSpace()}tags`, e);
1658
+ },
1659
+ handleTags(e, o, t) {
1660
+ var r, a, s, l, b, w;
1661
+ switch (e) {
1662
+ case "equal":
1663
+ this.multiTags = o, this.tagsCache(this.multiTags);
1664
+ break;
1665
+ case "push":
1666
+ {
1667
+ const i = o;
1668
+ if ((r = i == null ? void 0 : i.meta) != null && r.hiddenTag || isUrl(i == null ? void 0 : i.name) || ((s = (a = i == null ? void 0 : i.meta) == null ? void 0 : a.title) == null ? void 0 : s.length) === 0 || isBoolean((l = i == null ? void 0 : i.meta) == null ? void 0 : l.showLink) && !((b = i == null ? void 0 : i.meta) != null && b.showLink)) return;
1669
+ const v = i.path, T = this.multiTags.some((S) => S.path === v), E = this.multiTags.some((S) => isEqual(S == null ? void 0 : S.query, i == null ? void 0 : i.query)), F = this.multiTags.some((S) => isEqual(S == null ? void 0 : S.params, i == null ? void 0 : i.params));
1670
+ if (T && E && F) return;
1671
+ const k = ((w = i == null ? void 0 : i.meta) == null ? void 0 : w.dynamicLevel) ?? -1;
1672
+ if (k > 0 && this.multiTags.filter((S) => (S == null ? void 0 : S.path) === v).length >= k) {
1673
+ const S = this.multiTags.findIndex((C) => (C == null ? void 0 : C.path) === v);
1674
+ S !== -1 && this.multiTags.splice(S, 1);
1675
+ }
1676
+ this.multiTags.push(o), this.tagsCache(this.multiTags);
1677
+ }
1678
+ break;
1679
+ case "splice":
1680
+ if (t)
1681
+ this.multiTags.splice(t == null ? void 0 : t.startIndex, t == null ? void 0 : t.length);
1682
+ else {
1683
+ const i = this.multiTags.findIndex((v) => v.path === o);
1684
+ if (i === -1) return;
1685
+ this.multiTags.splice(i, 1);
1686
+ }
1687
+ return this.tagsCache(this.multiTags), this.multiTags;
1688
+ case "slice":
1689
+ return this.multiTags.slice(-1);
1690
+ }
1691
+ }
1692
+ }
1693
+ });
1694
+ function useMultiTagsStoreHook() {
1695
+ return useMultiTagsStore(store);
1696
+ }
1697
+ const Layout$2 = () => import("./layoutView-PCjwVwkX.js"), homeRouter = {
1698
+ path: "/",
1699
+ name: "home",
1700
+ component: Layout$2,
1701
+ redirect: "/welcome",
1702
+ meta: {
1703
+ icon: "home-filled",
1704
+ title: "message.udp.home",
1705
+ rank: 0
1706
+ },
1707
+ children: [
1708
+ {
1709
+ path: "/welcome",
1710
+ name: "SuHome",
1711
+ component: () => import("./su-welcome-CLp9YaJa.js"),
1712
+ meta: {
1713
+ title: "message.udp.home",
1714
+ keepAlive: !0
1715
+ }
1716
+ }
1717
+ ]
1718
+ }, Layout$1 = () => import("./layoutView-PCjwVwkX.js"), errorRouter = {
1719
+ path: "/error",
1720
+ name: "error",
1721
+ component: Layout$1,
1722
+ redirect: "/error/403",
1723
+ meta: {
1724
+ showLink: !1,
1725
+ icon: "information-line",
1726
+ title: "message.udp.error",
1727
+ rank: 999
1728
+ },
1729
+ children: [
1730
+ {
1731
+ path: "/error/403",
1732
+ name: "403",
1733
+ component: () => import("./403-BuP9jvH9.js"),
1734
+ meta: {
1735
+ title: "message.udp.fourZeroThree"
1736
+ }
1737
+ }
1738
+ ]
1739
+ }, Layout = () => import("./layoutView-PCjwVwkX.js"), remainingRouter = [
1740
+ {
1741
+ path: "/login",
1742
+ name: "login",
1743
+ component: () => import("./login-B1CjWVKu.js"),
1744
+ meta: {
1745
+ title: "message.udp.login",
1746
+ showLink: !1
1747
+ }
1748
+ },
1749
+ {
1750
+ path: "/error/404",
1751
+ name: "404",
1752
+ component: () => import("./404-DfQk8kKl.js"),
1753
+ meta: {
1754
+ title: "message.udp.fourZeroFour",
1755
+ showLink: !1
1756
+ }
1757
+ },
1758
+ {
1759
+ path: "/error/500",
1760
+ name: "500",
1761
+ component: () => import("./500-OgROWdiZ.js"),
1762
+ meta: {
1763
+ title: "message.udp.five",
1764
+ showLink: !1
1765
+ }
1766
+ },
1767
+ // {
1768
+ // path: '/print/checkcard',
1769
+ // name: 'checkcard',
1770
+ // component: () => import('../../views/print/check-card.vue'),
1771
+ // meta: {
1772
+ // title: 'message.checkCard',
1773
+ // showLink: false
1774
+ // }
1775
+ // },
1776
+ // {
1777
+ // path: '/lowcode-design-platform',
1778
+ // name: 'LowcodeDesigin',
1779
+ // component: () => import('/src/views/udev/gantt/lcd-design.vue'),
1780
+ // meta: {
1781
+ // showLink: false
1782
+ // }
1783
+ // },
1784
+ // {
1785
+ // path: '/ulcd-app-menu',
1786
+ // name: 'AppMenu',
1787
+ // component: () => import('/src/views/udev/gantt/app-menu.vue'),
1788
+ // meta: {
1789
+ // showLink: false
1790
+ // }
1791
+ // },
1792
+ {
1793
+ path: "/redirect",
1794
+ name: "redirect",
1795
+ component: Layout,
1796
+ meta: {
1797
+ icon: "home-filled",
1798
+ title: "message.udp.home",
1799
+ showLink: !1,
1800
+ rank: 104
1801
+ },
1802
+ children: [
1803
+ {
1804
+ path: "/redirect/:path(.*)",
1805
+ // 2024-12-17
1806
+ name: "redirectView",
1807
+ component: () => import("./redirect-BqegffKC.js")
1808
+ }
1809
+ ]
1810
+ }
1811
+ ], systemRouter = /* @__PURE__ */ Object.assign({
1812
+ "../views/organization/company/Company.vue": () => import("./Company-DgqowAxc.js"),
1813
+ "../views/organization/company/CompanyPanel.vue": () => import("./CompanyPanel-BNb1rUhD.js"),
1814
+ "../views/organization/department/Department.vue": () => import("./Department-Cl8CROSU.js"),
1815
+ "../views/organization/department/DepartmentPanel.vue": () => import("./DepartmentPanel-D5VkqKeP.js"),
1816
+ "../views/organization/inv-org/InvOrganization.vue": () => import("./InvOrganization-5y79ZLdY.js"),
1817
+ "../views/organization/org/Org.vue": () => import("./Org-2oBAXN2r.js"),
1818
+ "../views/organization/staff/Staff.vue": () => import("./Staff-Cq4V7ruC.js"),
1819
+ "../views/organization/staff/StaffInfo.vue": () => import("./StaffInfo-CJDKMbud.js"),
1820
+ "../views/organization/staff/StaffPanel.vue": () => import("./StaffPanel-CG-uggdr.js"),
1821
+ "../views/system/cron/cron-task.vue": () => import("./cron-task-DUM1SIGL.js"),
1822
+ "../views/system/menu/AuthorityPanel.vue": () => import("./AuthorityPanel-BeBNiwqc.js"),
1823
+ "../views/system/menu/SystemMenu.vue": () => import("./SystemMenu-BVT0n-L2.js"),
1824
+ "../views/system/menu/menuInfo.vue": () => import("./menuInfo-B5JKVwrB.js"),
1825
+ "../views/system/role-assign/RoleAssign.vue": () => import("./RoleAssign-DMRdocpa.js"),
1826
+ "../views/system/role-assign/RolePanel.vue": () => import("./RolePanel-B9POS_pg.js"),
1827
+ "../views/system/role/AuthorityInfo.vue": () => import("./AuthorityInfo-q2ksfkWH.js"),
1828
+ "../views/system/role/Role.vue": () => import("./Role-DsFulAjq.js"),
1829
+ "../views/system/role/RolePanel.vue": () => import("./RolePanel-wXVysDHM.js"),
1830
+ "../views/system/role/UserInfo.vue": () => import("./UserInfo-BbTQ9Zat.js"),
1831
+ "../views/system/sys/sys-config.vue": () => import("./sys-config-BBmf_SqF.js"),
1832
+ "../views/system/sysUser/SysUser.vue": () => import("./SysUser-kwnzRNdD.js"),
1833
+ "../views/system/sysUser/SysUserPanel.vue": () => import("./SysUserPanel-DTlZf3vk.js"),
1834
+ "../views/uapp/pda/pda-app.vue": () => import("./pda-app-DIa1p1Ww.js"),
1835
+ "../views/udev/coderule/code-rule.vue": () => import("./code-rule-DePU6cdp.js"),
1836
+ "../views/udev/dict/DictView.vue": () => import("./DictView-BnxfaOBv.js"),
1837
+ "../views/udev/dict/childView.vue": () => import("./childView-BJbIhjmf.js"),
1838
+ "../views/udev/lov/childView.vue": () => import("./childView-DCsGFrG-.js"),
1839
+ "../views/udev/lov/lov-view.vue": () => import("./lov-view-D8wwkxFJ.js"),
1840
+ "../views/upms/interface/log-in.vue": () => import("./log-in-e7D5Ss1P.js"),
1841
+ "../views/upms/interface/log-out.vue": () => import("./log-out--RRncZhN.js"),
1842
+ "../views/upms/user/login-log.vue": () => import("./login-log-CvVnyGi3.js"),
1843
+ "../views/urpt/dataSet/DataSet.vue": () => import("./DataSet-DT-rGICv.js"),
1844
+ "../views/urpt/design/DesignPanel.vue": () => import("./DesignPanel-BGvEusHC.js"),
1845
+ "../views/urpt/design/Preview.vue": () => import("./Preview-BaGmXH7r.js"),
1846
+ "../views/urpt/design/ReportDesign.vue": () => import("./ReportDesign-DzB_A_G6.js"),
1847
+ "../views/urpt/query/ReportQuery.vue": () => import("./ReportQuery-DRcMb6ya.js"),
1848
+ "../views/urpt/query/ReportQueryFrom.vue": () => import("./ReportQueryFrom-CeA9xhR4.js"),
1849
+ "../views/urpt/report-request/ReportDefine.vue": () => import("./ReportDefine-DkQdBErt.js"),
1850
+ "../views/urpt/static-resource/resource.vue": () => import("./resource-CCQ7Dd-5.js"),
1851
+ "../views/urpt/template/ReportTemplate.vue": () => import("./ReportTemplate-qaiTMQuT.js")
1852
+ }), routes = [homeRouter, errorRouter], constantRoutes = formatTwoStageRoutes(
1853
+ formatFlatteningRoutes(buildHierarchyTree(ascending(routes)))
1854
+ ), constantMenus = ascending(routes).concat(...remainingRouter), remainingPaths = Object.keys(remainingRouter).map((e) => remainingRouter[e].path), router = createRouter({
1855
+ history: createWebHistory(getEnv().VITE_ROUTER_HISTORY),
1856
+ routes: constantRoutes.concat(...remainingRouter),
1857
+ strict: !0,
1858
+ scrollBehavior(e, o, t) {
1859
+ return new Promise((r) => {
1860
+ if (t)
1861
+ return t;
1862
+ if (o.meta.saveSrollTop) {
1863
+ const a = document.documentElement.scrollTop || document.body.scrollTop;
1864
+ r({ left: 0, top: a });
1865
+ }
1866
+ });
1867
+ }
1868
+ });
1869
+ function resetRouter() {
1870
+ router.getRoutes().forEach((e) => {
1871
+ const { name: o, meta: t } = e;
1872
+ o && router.hasRoute(o) && (t != null && t.backstage) && (router.removeRoute(o), router.options.routes = formatTwoStageRoutes(
1873
+ formatFlatteningRoutes(buildHierarchyTree(ascending(routes)))
1874
+ ));
1875
+ }), usePermissionStoreHook().clearAllCachePage();
1876
+ }
1877
+ let views = null;
1878
+ function setViews(e) {
1879
+ views = e, Object.assign(views, systemRouter);
1880
+ }
1881
+ function getViews() {
1882
+ return views;
1883
+ }
1884
+ const whiteList = ["/login"];
1885
+ router.beforeEach((e, o, t) => {
1886
+ var l, b, w, i;
1887
+ (l = e.meta) != null && l.keepAlive && (handleAliveRoute(e, "add"), (o.name === void 0 || o.name === "redirect") && handleAliveRoute(e));
1888
+ const r = cookies.get(kLOGINER);
1889
+ NProgress.start();
1890
+ const a = isUrl(e == null ? void 0 : e.name);
1891
+ function s() {
1892
+ whiteList.includes(e.fullPath) ? t(o.fullPath) : t();
1893
+ }
1894
+ if (r)
1895
+ if (o != null && o.name && (o == null ? void 0 : o.name) !== "login") {
1896
+ const v = (b = e.matched.find(
1897
+ (T) => T.path === e.path || T.name === e.name && e.params
1898
+ )) == null ? void 0 : b.components;
1899
+ a ? (openLink(e == null ? void 0 : e.name), (w = NProgress) == null || w.done()) : v != null && v.default || e.name === "redirect" ? s() : t({ path: "/error/404" });
1900
+ } else
1901
+ usePermissionStoreHook().wholeMenus.length === 0 && initRouter(r).then((v) => {
1902
+ var T;
1903
+ if (!useMultiTagsStoreHook().getMultiTagsCache) {
1904
+ const { path: E } = e, k = findIndexOf(remainingRouter, (C) => C.path === E) === -1 ? v.options.routes[0].children : v.options.routes, S = findRouteByPath(E, k);
1905
+ if (S && ((T = S.meta) != null && T.title)) {
1906
+ const { path: C, name: A, meta: N } = S;
1907
+ useMultiTagsStoreHook().handleTags("push", { path: C, name: A, meta: N });
1908
+ }
1909
+ }
1910
+ isEmpty(e.name) && v.push(e.fullPath);
1911
+ }), o.fullPath === "/" && e.fullPath === "/login" && !((i = e.query) != null && i.tokenExpire) ? (e.path = "/welcome", e.fullPath = "/welcome", e.name = "SuHome") : o.fullPath === "/" && e.path === "/workflow/approve/index" && (e.path = "/welcome", e.fullPath = "/welcome", e.name = "SuHome", e.query = {}), s();
1912
+ else
1913
+ e.path !== "/login" ? whiteList.indexOf(e.path) !== -1 ? t() : t({ path: "/login" }) : t();
1914
+ });
1915
+ router.afterEach(() => {
1916
+ var e;
1917
+ (e = NProgress) == null || e.done();
1918
+ });
1919
+ function _isSlot(e) {
1920
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
1921
+ }
1922
+ const VxetableRender = (VXETable, {
1923
+ serviceApi,
1924
+ i18n
1925
+ }) => {
1926
+ const dict = storageLocal.getItem("kLov");
1927
+ VXETable.renderer.add("#SuSelect", {
1928
+ renderTableEdit(e, o) {
1929
+ let t;
1930
+ const {
1931
+ row: r,
1932
+ column: a
1933
+ } = o, {
1934
+ options: s,
1935
+ props: l,
1936
+ optionProps: b = {},
1937
+ events: w
1938
+ } = e, {
1939
+ label: i = "label",
1940
+ value: v = "value"
1941
+ } = b, {
1942
+ loading: T = !1,
1943
+ multiple: E,
1944
+ mapField: F
1945
+ } = l, k = useComponent(), S = E ? `_${a.field}` : a.field;
1946
+ k.setDefaultValue(l, r, a.field);
1947
+ function C(D) {
1948
+ k.remote(D, a.field, e);
1949
+ }
1950
+ function A(D) {
1951
+ k.selectChange(D, r, a.field, e, {
1952
+ column: a,
1953
+ datasource: "row"
1954
+ });
1955
+ }
1956
+ function N(D) {
1957
+ w != null && w.input && w.input(o, D);
1958
+ }
1959
+ function x() {
1960
+ k.clear(r, a.field, F, w, "row");
1961
+ }
1962
+ function R() {
1963
+ !s.length && C(""), w != null && w.focus && w.focus(o, a.field);
1964
+ }
1965
+ return [createVNode(resolveComponent("el-select"), mergeProps({
1966
+ modelValue: r[S],
1967
+ "onUpdate:modelValue": (D) => r[S] = D,
1968
+ filterable: !0,
1969
+ remote: !0,
1970
+ clearable: !0,
1971
+ placeholder: "请录入关键字搜索",
1972
+ style: "width: 100%",
1973
+ "remote-method": C,
1974
+ loading: T
1975
+ }, l, {
1976
+ onFocus: () => R(),
1977
+ onChange: (D) => A(D),
1978
+ onClear: () => x(),
1979
+ onInput: (D) => N(D)
1980
+ }), _isSlot(t = s.map((D) => createVNode(resolveComponent("el-option"), {
1981
+ key: D[v],
1982
+ label: D[i],
1983
+ value: D[v]
1984
+ }, null))) ? t : {
1985
+ default: () => [t]
1986
+ })];
1987
+ },
1988
+ // 可编辑显示模板
1989
+ renderTableCell(renderOpts, params) {
1990
+ const {
1991
+ row,
1992
+ column
1993
+ } = params, {
1994
+ props
1995
+ } = renderOpts, {
1996
+ textValue,
1997
+ multiple
1998
+ } = props;
1999
+ let val = row[column.field];
2000
+ return textValue && (val = eval(`row.${textValue}`) || row[column.field]), val && multiple && isArray(val) && (val = val && val.join(",")), [createVNode("span", null, [val])];
2001
+ },
2002
+ renderItemContent(e, o) {
2003
+ let t;
2004
+ const {
2005
+ data: r,
2006
+ field: a
2007
+ } = o, {
2008
+ options: s,
2009
+ props: l,
2010
+ optionProps: b = {},
2011
+ events: w
2012
+ } = e, {
2013
+ label: i = "label",
2014
+ value: v = "value"
2015
+ } = b, {
2016
+ mapField: T,
2017
+ multiple: E,
2018
+ loading: F = !1
2019
+ } = l, k = useComponent(), S = E ? `_${a}` : a;
2020
+ k.setDefaultValue(l, r, a);
2021
+ async function C(D) {
2022
+ k.remote(D, a, e);
2023
+ }
2024
+ function A(D) {
2025
+ k.selectChange(D, r, a, e, {
2026
+ datasource: "data"
2027
+ });
2028
+ }
2029
+ function N(D) {
2030
+ w != null && w.input && w.input(o, D);
2031
+ }
2032
+ function x() {
2033
+ k.clear(r, a, T, w, "data");
2034
+ }
2035
+ function R() {
2036
+ !s.length && C(""), w != null && w.focus && w.focus(o);
2037
+ }
2038
+ return [createVNode(resolveComponent("el-select"), mergeProps({
2039
+ modelValue: r[S],
2040
+ "onUpdate:modelValue": (D) => r[S] = D,
2041
+ filterable: !0,
2042
+ remote: !0,
2043
+ clearable: !0,
2044
+ style: "width: 100%",
2045
+ placeholder: "请录入关键字搜索",
2046
+ loading: F,
2047
+ "remote-method": C
2048
+ }, l, {
2049
+ onFocus: () => R(),
2050
+ onChange: (D) => A(D),
2051
+ onClear: () => x(),
2052
+ onInput: () => N()
2053
+ }), _isSlot(t = s.map((D) => createVNode(resolveComponent("el-option"), {
2054
+ key: D[v],
2055
+ label: D[i],
2056
+ value: D[v]
2057
+ }, null))) ? t : {
2058
+ default: () => [t]
2059
+ })];
2060
+ }
2061
+ }), VXETable.renderer.add("#SuDateRange", {
2062
+ renderItemContent(e, o) {
2063
+ const {
2064
+ data: t,
2065
+ field: r
2066
+ } = o, {
2067
+ props: a
2068
+ } = e;
2069
+ a != null && a.defaultValue && !t[r] && (t[r] = a.defaultValue, a.defaultValue = a.required ? a.defaultValue : null);
2070
+ const s = /* @__PURE__ */ new Date(), l = [{
2071
+ text: i18n("message.udp.today", !0),
2072
+ value: () => [b(1, "day"), s]
2073
+ }, {
2074
+ text: i18n("message.udp.yesterday", !0),
2075
+ value: () => [b(2, "day"), b(2, "day")]
2076
+ }, {
2077
+ text: i18n("message.udp.lastWeek", !0),
2078
+ value: () => [b(7, "day"), s]
2079
+ }, {
2080
+ text: i18n("message.udp.lastMonth", !0),
2081
+ value: () => [b(1, "month"), s]
2082
+ }, {
2083
+ text: i18n("message.udp.threeMonth", !0),
2084
+ value: () => [b(3, "month"), s]
2085
+ }, {
2086
+ text: i18n("message.udp.halfYear", !0),
2087
+ value: () => [b(6, "month"), s]
2088
+ }, {
2089
+ text: i18n("message.udp.anniversary", !0),
2090
+ value: () => [b(1, "year"), s]
2091
+ }], b = (w, i) => dayjs().subtract(w, i).add("1", "day").format();
2092
+ return [createVNode(resolveComponent("el-date-picker"), mergeProps({
2093
+ modelValue: t[r],
2094
+ "onUpdate:modelValue": (w) => t[r] = w,
2095
+ type: (a == null ? void 0 : a.type) || "daterange",
2096
+ shortcuts: l,
2097
+ style: "width: 100%",
2098
+ "range-separator": i18n("message.to", !0),
2099
+ "start-placeholder": i18n("message.startDate", !0),
2100
+ "end-placeholder": i18n("message.endDate", !0)
2101
+ }, a), null)];
2102
+ }
2103
+ }), VXETable.renderer.add("#select", {
2104
+ renderTableEdit(e, o) {
2105
+ let t;
2106
+ const {
2107
+ row: r,
2108
+ column: a
2109
+ } = o, {
2110
+ options: s,
2111
+ props: l,
2112
+ optionProps: b = {},
2113
+ events: w
2114
+ } = e, {
2115
+ label: i = "label",
2116
+ value: v = "value",
2117
+ extLabel: T
2118
+ } = b, {
2119
+ mapField: E
2120
+ } = l, F = useComponent();
2121
+ l.multiple && r[a.field] && !isArray(r[a.field]) && r[a.field].split(",").forEach((C) => {
2122
+ !s.some((N) => N[i] === C) && s.push({
2123
+ [v]: C,
2124
+ [i]: C
2125
+ });
2126
+ });
2127
+ function k(C) {
2128
+ F.selectChange(C, r, a.field, e, {
2129
+ column: a,
2130
+ datasource: "row"
2131
+ });
2132
+ }
2133
+ function S() {
2134
+ F.clear(r, a.field, E, w, "row");
2135
+ }
2136
+ return [createVNode(resolveComponent("el-select"), mergeProps({
2137
+ modelValue: r[a.field],
2138
+ "onUpdate:modelValue": (C) => r[a.field] = C,
2139
+ filterable: !0,
2140
+ clearable: !0
2141
+ }, l, {
2142
+ style: "width: 100%",
2143
+ onChange: (C) => k(C),
2144
+ onClear: () => S()
2145
+ }), _isSlot(t = s.map((C) => createVNode(resolveComponent("el-option"), {
2146
+ key: C[v],
2147
+ label: T && C[T] ? C[v] : C[i],
2148
+ value: C[v]
2149
+ }, null))) ? t : {
2150
+ default: () => [t]
2151
+ })];
2152
+ },
2153
+ renderTableDefault(e, o) {
2154
+ let t;
2155
+ const {
2156
+ row: r,
2157
+ column: a
2158
+ } = o, {
2159
+ options: s,
2160
+ props: l,
2161
+ optionProps: b = {},
2162
+ events: w
2163
+ } = e, {
2164
+ label: i = "label",
2165
+ value: v = "value",
2166
+ extLabel: T
2167
+ } = b, {
2168
+ mapField: E
2169
+ } = l, F = useComponent();
2170
+ l.multiple && r[a.field] && !isArray(r[a.field]) && r[a.field].split(",").forEach((C) => {
2171
+ !s.some((N) => N[i] === C) && s.push({
2172
+ [v]: C,
2173
+ [i]: C
2174
+ });
2175
+ });
2176
+ function k(C) {
2177
+ F.selectChange(C, r, a.field, e, {
2178
+ column: a,
2179
+ datasource: "row"
2180
+ });
2181
+ }
2182
+ function S() {
2183
+ F.clear(r, a.field, E, w, "row");
2184
+ }
2185
+ return [createVNode(resolveComponent("el-select"), mergeProps({
2186
+ modelValue: r[a.field],
2187
+ "onUpdate:modelValue": (C) => r[a.field] = C,
2188
+ filterable: !0,
2189
+ clearable: !0
2190
+ }, l, {
2191
+ style: "width: 100%",
2192
+ onChange: (C) => k(C),
2193
+ onClear: () => S()
2194
+ }), _isSlot(t = s.map((C) => createVNode(resolveComponent("el-option"), {
2195
+ key: C[v],
2196
+ label: T && C[T] ? C[v] : C[i],
2197
+ value: C[v]
2198
+ }, null))) ? t : {
2199
+ default: () => [t]
2200
+ })];
2201
+ },
2202
+ // 可编辑显示模板
2203
+ renderTableCell(renderOpts, params) {
2204
+ const {
2205
+ row,
2206
+ column
2207
+ } = params, {
2208
+ props,
2209
+ options,
2210
+ optionProps
2211
+ } = renderOpts, {
2212
+ label = "label",
2213
+ value = "value",
2214
+ extLabel
2215
+ } = optionProps, {
2216
+ textValue
2217
+ } = props;
2218
+ let val = row[column.field];
2219
+ const item = options.find((e) => e[value] === val);
2220
+ return textValue && (val = eval(`row.${textValue}`) || row[column.field]), item && (val = extLabel ? item[value] : item[label]), val && (props != null && props.multiple) && isArray(val) && (val = val && val.join(",")), [createVNode("span", null, [val])];
2221
+ },
2222
+ renderItemContent(e, o) {
2223
+ let t;
2224
+ const {
2225
+ data: r,
2226
+ field: a
2227
+ } = o, {
2228
+ options: s,
2229
+ props: l,
2230
+ optionProps: b = {},
2231
+ events: w
2232
+ } = e, {
2233
+ label: i = "label",
2234
+ value: v = "value"
2235
+ } = b, T = useComponent(), {
2236
+ defaultValues: E,
2237
+ mapField: F
2238
+ } = l;
2239
+ E && (r[a] = E);
2240
+ function k(C) {
2241
+ T.selectChange(C, r, a, e, {
2242
+ datasource: "data"
2243
+ });
2244
+ }
2245
+ function S() {
2246
+ T.clear(r, a, F, w, "data");
2247
+ }
2248
+ return [createVNode(resolveComponent("el-select"), mergeProps({
2249
+ modelValue: r[a],
2250
+ "onUpdate:modelValue": (C) => r[a] = C,
2251
+ filterable: !0,
2252
+ clearable: !0,
2253
+ style: "width: 100%"
2254
+ }, l, {
2255
+ onChange: (C) => k(C),
2256
+ onClear: () => S()
2257
+ }), _isSlot(t = s.map((C) => createVNode(resolveComponent("el-option"), {
2258
+ key: C[v],
2259
+ label: C[i],
2260
+ value: C[v]
2261
+ }, null))) ? t : {
2262
+ default: () => [t]
2263
+ })];
2264
+ }
2265
+ }), VXETable.renderer.add("#lov", {
2266
+ renderItemContent(e, o) {
2267
+ const {
2268
+ data: t,
2269
+ field: r
2270
+ } = o, {
2271
+ props: a,
2272
+ events: s
2273
+ } = e, l = useComponent(), {
2274
+ defaultValues: b,
2275
+ mapField: w
2276
+ } = a;
2277
+ b && (t[r] = b);
2278
+ function i(T, E) {
2279
+ const {
2280
+ mapField: F,
2281
+ field: k,
2282
+ displayName: S,
2283
+ multiple: C
2284
+ } = a;
2285
+ if (C) {
2286
+ if (C) {
2287
+ const N = {};
2288
+ t[S || k] = T.reduce((x, R) => {
2289
+ for (const D in F)
2290
+ N[D] = x ? N[D] + "," + R[F[D]] : R[F[D]];
2291
+ return x = x ? x + "," + R[S || k] : R[S || k], x;
2292
+ }, ""), Object.assign(t, N);
2293
+ }
2294
+ } else {
2295
+ const N = {
2296
+ [S || k]: T[E || S || k]
2297
+ };
2298
+ for (const x in F)
2299
+ N[x] = T[F[x]];
2300
+ Object.assign(t, N);
2301
+ }
2302
+ const A = {
2303
+ row: t,
2304
+ property: k,
2305
+ item: T,
2306
+ field: k
2307
+ };
2308
+ s != null && s.change && s.change(A);
2309
+ }
2310
+ function v() {
2311
+ l.clear(t, r, w, s, "data");
2312
+ }
2313
+ return [createVNode(resolveComponent("ut-lov"), mergeProps({
2314
+ record: t
2315
+ }, a, {
2316
+ mode: "vxe",
2317
+ onChange: (T, E) => i(T, E),
2318
+ onClear: () => v()
2319
+ }), null)];
2320
+ },
2321
+ // 单元格编辑
2322
+ renderTableEdit(e, o) {
2323
+ const {
2324
+ row: t,
2325
+ column: r
2326
+ } = o, {
2327
+ props: a,
2328
+ events: s
2329
+ } = e, l = useComponent();
2330
+ console.log("lov====");
2331
+ function b(i, v) {
2332
+ const {
2333
+ mapField: T,
2334
+ field: E,
2335
+ displayName: F,
2336
+ multiple: k
2337
+ } = a;
2338
+ if (!k) {
2339
+ const S = {
2340
+ [F || E]: i[v || F || E]
2341
+ };
2342
+ for (const C in T)
2343
+ S[C] = i[T[C]];
2344
+ Object.assign(t, S);
2345
+ }
2346
+ s != null && s.change && s.change(o, i, t[r.field]);
2347
+ }
2348
+ function w() {
2349
+ l.clear(t, field, mapField, s, "row");
2350
+ }
2351
+ return [createVNode(resolveComponent("ut-lov"), mergeProps({
2352
+ record: t,
2353
+ mode: "vxe",
2354
+ transfer: !0
2355
+ }, a, {
2356
+ onChange: (i, v) => b(i, v),
2357
+ onClear: () => w()
2358
+ }), null)];
2359
+ },
2360
+ // 单元格默认
2361
+ renderTableDefault(e, o) {
2362
+ const {
2363
+ row: t,
2364
+ column: r
2365
+ } = o, {
2366
+ props: a,
2367
+ events: s
2368
+ } = e, l = useComponent();
2369
+ function b(i, v) {
2370
+ const {
2371
+ mapField: T,
2372
+ field: E,
2373
+ displayName: F,
2374
+ multiple: k
2375
+ } = a;
2376
+ if (!k) {
2377
+ const S = {
2378
+ [F || E]: i[v || F || E]
2379
+ };
2380
+ for (const C in T)
2381
+ S[C] = i[T[C]];
2382
+ Object.assign(t, S);
2383
+ }
2384
+ s != null && s.change && s.change(o, i, t[r.field]);
2385
+ }
2386
+ function w() {
2387
+ l.clear(t, field, mapField, s, "row");
2388
+ }
2389
+ return [createVNode(resolveComponent("ut-lov"), mergeProps({
2390
+ record: t,
2391
+ mode: "ele"
2392
+ }, a, {
2393
+ onChange: (i, v) => b(i, v),
2394
+ onClear: () => w()
2395
+ }), null)];
2396
+ },
2397
+ // 可编辑显示模板
2398
+ renderTableCell(e, o) {
2399
+ const {
2400
+ row: t,
2401
+ column: r
2402
+ } = o;
2403
+ return [createVNode("span", null, [t[r.field]])];
2404
+ }
2405
+ }), VXETable.renderer.add("#upload", {
2406
+ renderItemContent(e, o) {
2407
+ const {
2408
+ data: t,
2409
+ field: r
2410
+ } = o, {
2411
+ props: a,
2412
+ events: s
2413
+ } = e;
2414
+ function l() {
2415
+ t[r] = "", componentHook.clear(t, r, a.mapField, s, "data");
2416
+ }
2417
+ return [createVNode(resolveComponent("form-upload2"), mergeProps({
2418
+ record: t,
2419
+ field: r
2420
+ }, a, {
2421
+ onClear: () => l()
2422
+ }), null)];
2423
+ }
2424
+ }), VXETable.renderer.add("#tag", {
2425
+ // 默认显示模板
2426
+ renderTableDefault(e, o) {
2427
+ let t;
2428
+ const {
2429
+ row: r,
2430
+ column: a
2431
+ } = o, {
2432
+ props: {
2433
+ code: s,
2434
+ tagMap: l
2435
+ }
2436
+ } = e;
2437
+ function b() {
2438
+ return r[a.field] ? l[r[a.field]] : null;
2439
+ }
2440
+ return [r[a.field] ? createVNode(resolveComponent("el-tag"), {
2441
+ effect: "dark",
2442
+ type: b()
2443
+ }, _isSlot(t = getValue(s, r[a.field])) ? t : {
2444
+ default: () => [t]
2445
+ }) : null];
2446
+ }
2447
+ }), VXETable.renderer.add("#switch", {
2448
+ renderTableDefault(e, o) {
2449
+ const {
2450
+ row: t,
2451
+ column: r
2452
+ } = o, {
2453
+ props: {
2454
+ code: a,
2455
+ activeValue: s,
2456
+ inactiveValue: l
2457
+ },
2458
+ events: b
2459
+ } = e;
2460
+ function w(i) {
2461
+ const v = {
2462
+ row: t,
2463
+ column: r,
2464
+ value: i
2465
+ };
2466
+ b != null && b.change && b.change(v);
2467
+ }
2468
+ return [t[r.field] ? createVNode(resolveComponent("el-switch"), mergeProps({
2469
+ modelValue: t[r.field],
2470
+ "onUpdate:modelValue": (i) => t[r.field] = i,
2471
+ "inline-prompt": !0,
2472
+ size: "large",
2473
+ style: "--el-switch-on-color: #13ce66; --el-switch-off-color: #E6A23C"
2474
+ }, e.props, {
2475
+ "active-text": getValue(a, s),
2476
+ "inactive-text": getValue(a, l),
2477
+ onChange: (i) => w(i)
2478
+ }), null) : null];
2479
+ }
2480
+ }), VXETable.renderer.add("#iconSelect", {
2481
+ renderTableEdit(e, o) {
2482
+ const {
2483
+ row: t,
2484
+ column: r
2485
+ } = o;
2486
+ return [createVNode(resolveComponent("SuIconSelect"), {
2487
+ modelValue: t[r.field],
2488
+ "onUpdate:modelValue": (a) => t[r.field] = a,
2489
+ teleported: !1
2490
+ }, null)];
2491
+ },
2492
+ renderTableCell(e, o) {
2493
+ const {
2494
+ row: t,
2495
+ column: r
2496
+ } = o;
2497
+ return [createVNode(resolveComponent("IconifyIconOffline"), {
2498
+ icon: t[r.field],
2499
+ style: "font-size: 16px;"
2500
+ }, null)];
2501
+ },
2502
+ renderItemContent(e, o) {
2503
+ const {
2504
+ data: t,
2505
+ field: r
2506
+ } = o;
2507
+ return [createVNode(resolveComponent("SuIconSelect"), {
2508
+ modelValue: t[r],
2509
+ "onUpdate:modelValue": (a) => t[r] = a,
2510
+ teleported: !0
2511
+ }, null)];
2512
+ }
2513
+ }), VXETable.renderer.add("#treeSelect", {
2514
+ renderTableEdit(e, o) {
2515
+ const {
2516
+ row: t,
2517
+ column: r
2518
+ } = o, {
2519
+ props: a,
2520
+ sourceData: s,
2521
+ events: l
2522
+ } = e;
2523
+ return [createVNode(resolveComponent("el-tree-select"), mergeProps({
2524
+ modelValue: t[r.field],
2525
+ "onUpdate:modelValue": (b) => t[r.field] = b,
2526
+ data: s,
2527
+ "check-strictly": !0
2528
+ }, a, {
2529
+ filterable: !0,
2530
+ onCheckChange: (b, w, i) => onCheckChange(b, w, i, l),
2531
+ onNodeClick: (b, w, i) => onNodeClick(b, w, i, l),
2532
+ onCurrentChange: (b, w) => onCurrentChange(b, w, l)
2533
+ }), null)];
2534
+ },
2535
+ renderTableCell(e, o) {
2536
+ const {
2537
+ row: t,
2538
+ column: r
2539
+ } = o, {
2540
+ sourceData: a,
2541
+ props: s = {}
2542
+ } = e, {
2543
+ children: l = "children",
2544
+ label: b = "label"
2545
+ } = s, w = findTree(a, (i) => i.value === t[r.field], {
2546
+ children: l
2547
+ });
2548
+ return w ? [createVNode("span", null, [w.item[b]])] : null;
2549
+ },
2550
+ renderItemContent(e, o) {
2551
+ const {
2552
+ data: t,
2553
+ field: r
2554
+ } = o, {
2555
+ props: a,
2556
+ sourceData: s,
2557
+ events: l
2558
+ } = e;
2559
+ return [createVNode(resolveComponent("el-tree-select"), mergeProps({
2560
+ modelValue: t[r],
2561
+ "onUpdate:modelValue": (b) => t[r] = b,
2562
+ data: s,
2563
+ "check-strictly": !0
2564
+ }, a, {
2565
+ filterable: !0,
2566
+ onCheckChange: (b, w, i) => onCheckChange(b, w, i, l),
2567
+ onNodeClick: (b, w, i) => onNodeClick(b, w, i, l),
2568
+ onCurrentChange: (b, w) => onCurrentChange(b, w, l)
2569
+ }), null)];
2570
+ }
2571
+ });
2572
+ const useComponent = () => ({
2573
+ clear: (a, s, l, b, w) => {
2574
+ if (a[s] = null, !isEmpty(l))
2575
+ for (const i in l)
2576
+ a[i] = null;
2577
+ b != null && b.clear && b.clear({
2578
+ [w]: a,
2579
+ field: s
2580
+ });
2581
+ },
2582
+ remote: async (a, s, l) => {
2583
+ const {
2584
+ options: b,
2585
+ props: w,
2586
+ events: i
2587
+ } = l, {
2588
+ fetchField: v,
2589
+ url: T,
2590
+ defaultParams: E = {},
2591
+ method: F = "get"
2592
+ } = w, k = getCookieParam(), S = Object.assign({
2593
+ pageSize: 20,
2594
+ pageNum: 1,
2595
+ ...k,
2596
+ ...E
2597
+ }, {
2598
+ [v || s]: a
2599
+ });
2600
+ if (w.loading) return;
2601
+ let C;
2602
+ try {
2603
+ b.length = 0, w.loading = !0, C = await serviceApi[F](T, S), i != null && i.filterMethod ? b.push(...i.filterMethod(C.list || C)) : C && (C.list ? b.push(...C.list) : b.push(...C));
2604
+ } finally {
2605
+ w.loading = !1;
2606
+ }
2607
+ },
2608
+ selectChange: (a, s, l, b, w) => {
2609
+ let i = null;
2610
+ const {
2611
+ datasource: v
2612
+ } = w, {
2613
+ options: T,
2614
+ props: E,
2615
+ optionProps: F = {},
2616
+ events: k
2617
+ } = b, S = {
2618
+ [v]: s,
2619
+ field: l
2620
+ };
2621
+ s[l] = null, !isEmpty(a) && (E != null && E.multiple) ? (s[l] = a.join(","), i = [], a.forEach((C) => {
2622
+ const A = T.find((N) => C === N[F == null ? void 0 : F.value]);
2623
+ A && !isEmpty(E.mapField) && isObject(E.mapField) && Object.keys(E.mapField).forEach((N) => {
2624
+ const x = A[E.mapField[N]], R = s[N] ? s[N].toString() : "";
2625
+ s[N] = R && !R.includes(x) ? `${R},${x}` : x;
2626
+ }), A && i.push(A);
2627
+ }), Object.assign(S, {
2628
+ options: i
2629
+ })) : (s[l] = E != null && E.multiple ? null : a, i = T.find((C) => a === C[F == null ? void 0 : F.value]), !isEmpty(E.mapField) && isObject(E.mapField) && Object.keys(E.mapField).forEach((C) => {
2630
+ s[C] = i ? i[E.mapField[C]] : null;
2631
+ }), Object.assign(S, {
2632
+ option: i
2633
+ })), v === "row" && Object.assign(S, {
2634
+ column: w.column
2635
+ }), k != null && k.change && k.change(S);
2636
+ },
2637
+ setDefaultValue: (a, s, l) => {
2638
+ var v;
2639
+ const {
2640
+ multiple: b,
2641
+ defaultValue: w
2642
+ } = a, i = b ? `_${l}` : l;
2643
+ !s[l] && w && (s[l] = w, isPlainObject(w) && Object.keys(w).forEach((E) => {
2644
+ s[E] = s[E] || w[E];
2645
+ })), !s[i] && s[l] && (s[i] = b ? (v = s[l]) == null ? void 0 : v.split(",") : s[l]);
2646
+ }
2647
+ }), onCheckChange = (e, o, t, r) => {
2648
+ console.log(e, o, t), r != null && r.checkChange && (r == null || r.checkChange(e, o, t));
2649
+ }, onNodeClick = (e, o, t, r) => {
2650
+ r != null && r.checkChange && (r == null || r.checkChange(e, o, t));
2651
+ }, onCurrentChange = (e, o, t) => {
2652
+ t != null && t.checkChange && (t == null || t.checkChange(e, o));
2653
+ };
2654
+ function getValue(e, o) {
2655
+ var t, r, a;
2656
+ return !o || !e || !dict ? o : (a = (r = (t = dict[e]) == null ? void 0 : t.children) == null ? void 0 : r.find((s) => s.dictCode === o)) == null ? void 0 : a.dictName;
2657
+ }
2658
+ return VXETable;
2659
+ }, getCookieParam = () => {
2660
+ const e = "kCookies_param";
2661
+ return cookies.get(e) ? JSON.parse(cookies.get(e)) : {};
2662
+ };
2663
+ VxetableRender(VXETable, { serviceApi: getServiceApi(), i18n: transformI18n });
2664
+ const defaultConfig = {
2665
+ // 对组件内置的提示语进行国际化翻译
2666
+ // @ts-ignore
2667
+ i18n: (e, o) => geti18n().global.t(e, o),
2668
+ // 可选,对参数中的列头、校验提示..等进行自动翻译(只对支持国际化的有效)
2669
+ translate(e) {
2670
+ return e && ["message.", "el."].findIndex((t) => e.includes(t)) !== -1 ? geti18n().global.t.call(geti18n().global.locale, e) : e;
2671
+ }
2672
+ };
2673
+ function setTableConfig(e = {}) {
2674
+ VXETable.setConfig(merge(defaultConfig, e)), VxeUI.interceptor.add("event.clearEdit", {
2675
+ tableInterceptorMethod(o) {
2676
+ const { $event: t } = o;
2677
+ if (t.target.className.indexOf("vxe-table--ignore-clear") > -1) return !1;
2678
+ }
2679
+ });
2680
+ }
2681
+ function setTheme(e) {
2682
+ VxeUI.setTheme(e);
2683
+ }
2684
+ var p = Object.defineProperty, d = Object.getOwnPropertyDescriptor, u = Object.getOwnPropertyNames, j = Object.prototype.hasOwnProperty, _ = (e, o, t) => o in e ? p(e, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[o] = t, P = (e, o) => {
2685
+ for (var t in o) p(e, t, { get: o[t], enumerable: !0 });
2686
+ }, y = (e, o, t, r) => {
2687
+ if (o && typeof o == "object" || typeof o == "function") for (let a of u(o)) !j.call(e, a) && a !== t && p(e, a, { get: () => o[a], enumerable: !(r = d(o, a)) || r.enumerable });
2688
+ return e;
2689
+ }, m = (e, o, t) => (y(e, o, "default"), t), f = (e, o, t) => (_(e, typeof o != "symbol" ? o + "" : o, t), t), c = {};
2690
+ P(c, { Vue: () => I });
2691
+ m(c, I);
2692
+ var g = class {
2693
+ static install(e, o) {
2694
+ let { nameSpace: t = this._nameSpace, memory: r } = o;
2695
+ return r && this.clearAll(t, r), new g(e, o);
2696
+ }
2697
+ static clearAll(e, o) {
2698
+ Object.keys(o).forEach((t) => {
2699
+ let r = e + t;
2700
+ Object.prototype.hasOwnProperty.call(window.localStorage, r) && window.localStorage.removeItem(r);
2701
+ });
2702
+ }
2703
+ static get(e) {
2704
+ return JSON.parse(window.localStorage.getItem(e));
2705
+ }
2706
+ static set(e, o) {
2707
+ o = typeof o == "object" ? JSON.stringify(o) : o, window.localStorage.setItem(e, o);
2708
+ }
2709
+ static getData(e, o) {
2710
+ if (Object.prototype.hasOwnProperty.call(window.localStorage, this._getStaticKey(o, e))) return JSON.parse(window.localStorage.getItem(this._getStaticKey(o, e)));
2711
+ }
2712
+ constructor(e, o) {
2713
+ let t = g, { version: r = 3, nameSpace: a = t._nameSpace, memory: s } = o, l = (i) => a + i, b = r === 3 ? (0, c.reactive)(s) : s;
2714
+ Object.keys(b).length === 0 && console.warn("key cannot be empty"), Object.keys(b).forEach((i) => {
2715
+ let v = b[i];
2716
+ t.set(l(i), v), Reflect.defineProperty(b, i, { get: () => t.get(l(i)), set: (T) => t.set(l(i), T), configurable: !0 }), r === 2 && e.util.defineReactive(b, i, b[i]);
2717
+ });
2718
+ let w = r === 3 ? e.config.globalProperties : e.prototype;
2719
+ Reflect.defineProperty(w, "$storage", { get: () => b });
2720
+ }
2721
+ }, n = g;
2722
+ f(n, "_nameSpace", "rs-"), f(n, "_getStaticKey", (e, o) => `${e ?? g._nameSpace}${o}`);
2723
+ const injectResponsiveStorage = (e, o) => {
2724
+ const t = responsiveStorageNameSpace(), r = Object.assign(
2725
+ {
2726
+ // 国际化 默认中文zh
2727
+ locale: n.getData("locale", t) ?? {
2728
+ locale: o.Locale ?? "zh"
2729
+ },
2730
+ // layout模式以及主题
2731
+ layout: n.getData("layout", t) ?? {
2732
+ layout: o.Layout ?? "vertical",
2733
+ theme: o.Theme ?? "default",
2734
+ darkMode: o.DarkMode ?? !1,
2735
+ sidebarStatus: o.SidebarStatus ?? !0,
2736
+ epThemeColor: o.EpThemeColor ?? "#409EFF",
2737
+ themeColor: o.Theme ?? "light",
2738
+ // 主题色(对应项目配置中的主题色,与theme不同的是它不会受到浅色、深色整体风格切换的影响,只会在手动点击主题色时改变)
2739
+ overallStyle: o.OverallStyle ?? "light"
2740
+ // 整体风格(浅色:light、深色:dark、自动:system)
2741
+ },
2742
+ configure: n.getData("configure", t) ?? {
2743
+ grey: o.Grey ?? !1,
2744
+ weak: o.Weak ?? !1,
2745
+ hideTabs: o.HideTabs ?? !1,
2746
+ showLogo: o.ShowLogo ?? !0,
2747
+ showModel: o.ShowModel ?? "smart",
2748
+ multiTagsCache: o.MultiTagsCache ?? !1
2749
+ },
2750
+ cnd: n.getData("cnd", t) ?? {}
2751
+ },
2752
+ o.MultiTagsCache ? {
2753
+ // 默认显示首页tag
2754
+ tags: n.getData("tags", t) ?? routerArrays
2755
+ } : {}
2756
+ );
2757
+ e.use(n, { nameSpace: t, memory: r });
2758
+ }, hasAuthority = (e) => {
2759
+ var a;
2760
+ if (!e) return !0;
2761
+ const o = (a = router.currentRoute.value.meta) == null ? void 0 : a.permissionCode;
2762
+ if (!o) return !0;
2763
+ isArray(e) || (e = [e]);
2764
+ const t = usePermissionStoreHook().getButtonAuth;
2765
+ if (!t) return !0;
2766
+ let r = !1;
2767
+ return e.forEach((s) => {
2768
+ if (!r) {
2769
+ const l = `${o}.${s}`;
2770
+ r = t.includes(l);
2771
+ }
2772
+ }), r;
2773
+ }, defaultIconDimensions = Object.freeze(
2774
+ {
2775
+ left: 0,
2776
+ top: 0,
2777
+ width: 16,
2778
+ height: 16
2779
+ }
2780
+ ), defaultIconTransformations = Object.freeze({
2781
+ rotate: 0,
2782
+ vFlip: !1,
2783
+ hFlip: !1
2784
+ }), defaultIconProps = Object.freeze({
2785
+ ...defaultIconDimensions,
2786
+ ...defaultIconTransformations
2787
+ }), defaultExtendedIconProps = Object.freeze({
2788
+ ...defaultIconProps,
2789
+ body: "",
2790
+ hidden: !1
2791
+ });
2792
+ function mergeIconTransformations(e, o) {
2793
+ const t = {};
2794
+ !e.hFlip != !o.hFlip && (t.hFlip = !0), !e.vFlip != !o.vFlip && (t.vFlip = !0);
2795
+ const r = ((e.rotate || 0) + (o.rotate || 0)) % 4;
2796
+ return r && (t.rotate = r), t;
2797
+ }
2798
+ function mergeIconData(e, o) {
2799
+ const t = mergeIconTransformations(e, o);
2800
+ for (const r in defaultExtendedIconProps)
2801
+ r in defaultIconTransformations ? r in e && !(r in t) && (t[r] = defaultIconTransformations[r]) : r in o ? t[r] = o[r] : r in e && (t[r] = e[r]);
2802
+ return t;
2803
+ }
2804
+ function getIconsTree(e, o) {
2805
+ const t = e.icons, r = e.aliases || /* @__PURE__ */ Object.create(null), a = /* @__PURE__ */ Object.create(null);
2806
+ function s(l) {
2807
+ if (t[l])
2808
+ return a[l] = [];
2809
+ if (!(l in a)) {
2810
+ a[l] = null;
2811
+ const b = r[l] && r[l].parent, w = b && s(b);
2812
+ w && (a[l] = [b].concat(w));
2813
+ }
2814
+ return a[l];
2815
+ }
2816
+ return Object.keys(t).concat(Object.keys(r)).forEach(s), a;
2817
+ }
2818
+ function internalGetIconData(e, o, t) {
2819
+ const r = e.icons, a = e.aliases || /* @__PURE__ */ Object.create(null);
2820
+ let s = {};
2821
+ function l(b) {
2822
+ s = mergeIconData(
2823
+ r[b] || a[b],
2824
+ s
2825
+ );
2826
+ }
2827
+ return l(o), t.forEach(l), mergeIconData(e, s);
2828
+ }
2829
+ function parseIconSet(e, o) {
2830
+ const t = [];
2831
+ if (typeof e != "object" || typeof e.icons != "object")
2832
+ return t;
2833
+ e.not_found instanceof Array && e.not_found.forEach((a) => {
2834
+ o(a, null), t.push(a);
2835
+ });
2836
+ const r = getIconsTree(e);
2837
+ for (const a in r) {
2838
+ const s = r[a];
2839
+ s && (o(a, internalGetIconData(e, a, s)), t.push(a));
2840
+ }
2841
+ return t;
2842
+ }
2843
+ const optionalPropertyDefaults = {
2844
+ provider: "",
2845
+ aliases: {},
2846
+ not_found: {},
2847
+ ...defaultIconDimensions
2848
+ };
2849
+ function checkOptionalProps(e, o) {
2850
+ for (const t in o)
2851
+ if (t in e && typeof e[t] != typeof o[t])
2852
+ return !1;
2853
+ return !0;
2854
+ }
2855
+ function quicklyValidateIconSet(e) {
2856
+ if (typeof e != "object" || e === null)
2857
+ return null;
2858
+ const o = e;
2859
+ if (typeof o.prefix != "string" || !e.icons || typeof e.icons != "object" || !checkOptionalProps(e, optionalPropertyDefaults))
2860
+ return null;
2861
+ const t = o.icons;
2862
+ for (const a in t) {
2863
+ const s = t[a];
2864
+ if (
2865
+ // Name cannot be empty
2866
+ !a || // Must have body
2867
+ typeof s.body != "string" || // Check other props
2868
+ !checkOptionalProps(
2869
+ s,
2870
+ defaultExtendedIconProps
2871
+ )
2872
+ )
2873
+ return null;
2874
+ }
2875
+ const r = o.aliases || /* @__PURE__ */ Object.create(null);
2876
+ for (const a in r) {
2877
+ const s = r[a], l = s.parent;
2878
+ if (
2879
+ // Name cannot be empty
2880
+ !a || // Parent must be set and point to existing icon
2881
+ typeof l != "string" || !t[l] && !r[l] || // Check other props
2882
+ !checkOptionalProps(
2883
+ s,
2884
+ defaultExtendedIconProps
2885
+ )
2886
+ )
2887
+ return null;
2888
+ }
2889
+ return o;
2890
+ }
2891
+ const defaultIconSizeCustomisations = Object.freeze({
2892
+ width: null,
2893
+ height: null
2894
+ }), defaultIconCustomisations = Object.freeze({
2895
+ // Dimensions
2896
+ ...defaultIconSizeCustomisations,
2897
+ // Transformations
2898
+ ...defaultIconTransformations
2899
+ });
2900
+ function mergeCustomisations(e, o) {
2901
+ const t = {
2902
+ ...e
2903
+ };
2904
+ for (const r in o) {
2905
+ const a = o[r], s = typeof a;
2906
+ r in defaultIconSizeCustomisations ? (a === null || a && (s === "string" || s === "number")) && (t[r] = a) : s === typeof t[r] && (t[r] = r === "rotate" ? a % 4 : a);
2907
+ }
2908
+ return t;
2909
+ }
2910
+ const separator = /[\s,]+/;
2911
+ function flipFromString(e, o) {
2912
+ o.split(separator).forEach((t) => {
2913
+ switch (t.trim()) {
2914
+ case "horizontal":
2915
+ e.hFlip = !0;
2916
+ break;
2917
+ case "vertical":
2918
+ e.vFlip = !0;
2919
+ break;
2920
+ }
2921
+ });
2922
+ }
2923
+ function rotateFromString(e, o = 0) {
2924
+ const t = e.replace(/^-?[0-9.]*/, "");
2925
+ function r(a) {
2926
+ for (; a < 0; )
2927
+ a += 4;
2928
+ return a % 4;
2929
+ }
2930
+ if (t === "") {
2931
+ const a = parseInt(e);
2932
+ return isNaN(a) ? 0 : r(a);
2933
+ } else if (t !== e) {
2934
+ let a = 0;
2935
+ switch (t) {
2936
+ case "%":
2937
+ a = 25;
2938
+ break;
2939
+ case "deg":
2940
+ a = 90;
2941
+ }
2942
+ if (a) {
2943
+ let s = parseFloat(e.slice(0, e.length - t.length));
2944
+ return isNaN(s) ? 0 : (s = s / a, s % 1 === 0 ? r(s) : 0);
2945
+ }
2946
+ }
2947
+ return o;
2948
+ }
2949
+ const unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g, unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;
2950
+ function calculateSize(e, o, t) {
2951
+ if (o === 1)
2952
+ return e;
2953
+ if (t = t || 100, typeof e == "number")
2954
+ return Math.ceil(e * o * t) / t;
2955
+ if (typeof e != "string")
2956
+ return e;
2957
+ const r = e.split(unitsSplit);
2958
+ if (r === null || !r.length)
2959
+ return e;
2960
+ const a = [];
2961
+ let s = r.shift(), l = unitsTest.test(s);
2962
+ for (; ; ) {
2963
+ if (l) {
2964
+ const b = parseFloat(s);
2965
+ isNaN(b) ? a.push(s) : a.push(Math.ceil(b * o * t) / t);
2966
+ } else
2967
+ a.push(s);
2968
+ if (s = r.shift(), s === void 0)
2969
+ return a.join("");
2970
+ l = !l;
2971
+ }
2972
+ }
2973
+ function splitSVGDefs(e, o = "defs") {
2974
+ let t = "";
2975
+ const r = e.indexOf("<" + o);
2976
+ for (; r >= 0; ) {
2977
+ const a = e.indexOf(">", r), s = e.indexOf("</" + o);
2978
+ if (a === -1 || s === -1)
2979
+ break;
2980
+ const l = e.indexOf(">", s);
2981
+ if (l === -1)
2982
+ break;
2983
+ t += e.slice(a + 1, s).trim(), e = e.slice(0, r).trim() + e.slice(l + 1);
2984
+ }
2985
+ return {
2986
+ defs: t,
2987
+ content: e
2988
+ };
2989
+ }
2990
+ function mergeDefsAndContent(e, o) {
2991
+ return e ? "<defs>" + e + "</defs>" + o : o;
2992
+ }
2993
+ function wrapSVGContent(e, o, t) {
2994
+ const r = splitSVGDefs(e);
2995
+ return mergeDefsAndContent(r.defs, o + r.content + t);
2996
+ }
2997
+ const isUnsetKeyword = (e) => e === "unset" || e === "undefined" || e === "none";
2998
+ function iconToSVG(e, o) {
2999
+ const t = {
3000
+ ...defaultIconProps,
3001
+ ...e
3002
+ }, r = {
3003
+ ...defaultIconCustomisations,
3004
+ ...o
3005
+ }, a = {
3006
+ left: t.left,
3007
+ top: t.top,
3008
+ width: t.width,
3009
+ height: t.height
3010
+ };
3011
+ let s = t.body;
3012
+ [t, r].forEach((S) => {
3013
+ const C = [], A = S.hFlip, N = S.vFlip;
3014
+ let x = S.rotate;
3015
+ A ? N ? x += 2 : (C.push(
3016
+ "translate(" + (a.width + a.left).toString() + " " + (0 - a.top).toString() + ")"
3017
+ ), C.push("scale(-1 1)"), a.top = a.left = 0) : N && (C.push(
3018
+ "translate(" + (0 - a.left).toString() + " " + (a.height + a.top).toString() + ")"
3019
+ ), C.push("scale(1 -1)"), a.top = a.left = 0);
3020
+ let R;
3021
+ switch (x < 0 && (x -= Math.floor(x / 4) * 4), x = x % 4, x) {
3022
+ case 1:
3023
+ R = a.height / 2 + a.top, C.unshift(
3024
+ "rotate(90 " + R.toString() + " " + R.toString() + ")"
3025
+ );
3026
+ break;
3027
+ case 2:
3028
+ C.unshift(
3029
+ "rotate(180 " + (a.width / 2 + a.left).toString() + " " + (a.height / 2 + a.top).toString() + ")"
3030
+ );
3031
+ break;
3032
+ case 3:
3033
+ R = a.width / 2 + a.left, C.unshift(
3034
+ "rotate(-90 " + R.toString() + " " + R.toString() + ")"
3035
+ );
3036
+ break;
3037
+ }
3038
+ x % 2 === 1 && (a.left !== a.top && (R = a.left, a.left = a.top, a.top = R), a.width !== a.height && (R = a.width, a.width = a.height, a.height = R)), C.length && (s = wrapSVGContent(
3039
+ s,
3040
+ '<g transform="' + C.join(" ") + '">',
3041
+ "</g>"
3042
+ ));
3043
+ });
3044
+ const l = r.width, b = r.height, w = a.width, i = a.height;
3045
+ let v, T;
3046
+ l === null ? (T = b === null ? "1em" : b === "auto" ? i : b, v = calculateSize(T, w / i)) : (v = l === "auto" ? w : l, T = b === null ? calculateSize(v, i / w) : b === "auto" ? i : b);
3047
+ const E = {}, F = (S, C) => {
3048
+ isUnsetKeyword(C) || (E[S] = C.toString());
3049
+ };
3050
+ F("width", v), F("height", T);
3051
+ const k = [a.left, a.top, w, i];
3052
+ return E.viewBox = k.join(" "), {
3053
+ attributes: E,
3054
+ viewBox: k,
3055
+ body: s
3056
+ };
3057
+ }
3058
+ const regex = /\sid="(\S+)"/g, randomPrefix = "IconifyId" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16);
3059
+ let counter = 0;
3060
+ function replaceIDs(e, o = randomPrefix) {
3061
+ const t = [];
3062
+ let r;
3063
+ for (; r = regex.exec(e); )
3064
+ t.push(r[1]);
3065
+ if (!t.length)
3066
+ return e;
3067
+ const a = "suffix" + (Math.random() * 16777216 | Date.now()).toString(16);
3068
+ return t.forEach((s) => {
3069
+ const l = typeof o == "function" ? o(s) : o + (counter++).toString(), b = s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
3070
+ e = e.replace(
3071
+ // Allowed characters before id: [#;"]
3072
+ // Allowed characters after id: [)"], .[a-z]
3073
+ new RegExp('([#;"])(' + b + ')([")]|\\.[a-z])', "g"),
3074
+ "$1" + l + a + "$3"
3075
+ );
3076
+ }), e = e.replace(new RegExp(a, "g"), ""), e;
3077
+ }
3078
+ function iconToHTML(e, o) {
3079
+ let t = e.indexOf("xlink:") === -1 ? "" : ' xmlns:xlink="http://www.w3.org/1999/xlink"';
3080
+ for (const r in o)
3081
+ t += " " + r + '="' + o[r] + '"';
3082
+ return '<svg xmlns="http://www.w3.org/2000/svg"' + t + ">" + e + "</svg>";
3083
+ }
3084
+ function encodeSVGforURL(e) {
3085
+ return e.replace(/"/g, "'").replace(/%/g, "%25").replace(/#/g, "%23").replace(/</g, "%3C").replace(/>/g, "%3E").replace(/\s+/g, " ");
3086
+ }
3087
+ function svgToData(e) {
3088
+ return "data:image/svg+xml," + encodeSVGforURL(e);
3089
+ }
3090
+ function svgToURL(e) {
3091
+ return 'url("' + svgToData(e) + '")';
3092
+ }
3093
+ const defaultExtendedIconCustomisations = {
3094
+ ...defaultIconCustomisations,
3095
+ inline: !1
3096
+ }, svgDefaults = {
3097
+ xmlns: "http://www.w3.org/2000/svg",
3098
+ "xmlns:xlink": "http://www.w3.org/1999/xlink",
3099
+ "aria-hidden": !0,
3100
+ role: "img"
3101
+ }, commonProps = {
3102
+ display: "inline-block"
3103
+ }, monotoneProps = {
3104
+ backgroundColor: "currentColor"
3105
+ }, coloredProps = {
3106
+ backgroundColor: "transparent"
3107
+ }, propsToAdd = {
3108
+ Image: "var(--svg)",
3109
+ Repeat: "no-repeat",
3110
+ Size: "100% 100%"
3111
+ }, propsToAddTo = {
3112
+ webkitMask: monotoneProps,
3113
+ mask: monotoneProps,
3114
+ background: coloredProps
3115
+ };
3116
+ for (const e in propsToAddTo) {
3117
+ const o = propsToAddTo[e];
3118
+ for (const t in propsToAdd)
3119
+ o[e + t] = propsToAdd[t];
3120
+ }
3121
+ const customisationAliases = {};
3122
+ ["horizontal", "vertical"].forEach((e) => {
3123
+ const o = e.slice(0, 1) + "Flip";
3124
+ customisationAliases[e + "-flip"] = o, customisationAliases[e.slice(0, 1) + "-flip"] = o, customisationAliases[e + "Flip"] = o;
3125
+ });
3126
+ function fixSize(e) {
3127
+ return e + (e.match(/^[-0-9.]+$/) ? "px" : "");
3128
+ }
3129
+ const render = (e, o) => {
3130
+ const t = mergeCustomisations(defaultExtendedIconCustomisations, o), r = { ...svgDefaults }, a = o.mode || "svg", s = {}, l = o.style, b = typeof l == "object" && !(l instanceof Array) ? l : {};
3131
+ for (let S in o) {
3132
+ const C = o[S];
3133
+ if (C !== void 0)
3134
+ switch (S) {
3135
+ // Properties to ignore
3136
+ case "icon":
3137
+ case "style":
3138
+ case "onLoad":
3139
+ case "mode":
3140
+ case "ssr":
3141
+ break;
3142
+ // Boolean attributes
3143
+ case "inline":
3144
+ case "hFlip":
3145
+ case "vFlip":
3146
+ t[S] = C === !0 || C === "true" || C === 1;
3147
+ break;
3148
+ // Flip as string: 'horizontal,vertical'
3149
+ case "flip":
3150
+ typeof C == "string" && flipFromString(t, C);
3151
+ break;
3152
+ // Color: override style
3153
+ case "color":
3154
+ s.color = C;
3155
+ break;
3156
+ // Rotation as string
3157
+ case "rotate":
3158
+ typeof C == "string" ? t[S] = rotateFromString(C) : typeof C == "number" && (t[S] = C);
3159
+ break;
3160
+ // Remove aria-hidden
3161
+ case "ariaHidden":
3162
+ case "aria-hidden":
3163
+ C !== !0 && C !== "true" && delete r["aria-hidden"];
3164
+ break;
3165
+ default: {
3166
+ const A = customisationAliases[S];
3167
+ A ? (C === !0 || C === "true" || C === 1) && (t[A] = !0) : defaultExtendedIconCustomisations[S] === void 0 && (r[S] = C);
3168
+ }
3169
+ }
3170
+ }
3171
+ const w = iconToSVG(e, t), i = w.attributes;
3172
+ if (t.inline && (s.verticalAlign = "-0.125em"), a === "svg") {
3173
+ r.style = {
3174
+ ...s,
3175
+ ...b
3176
+ }, Object.assign(r, i);
3177
+ let S = 0, C = o.id;
3178
+ return typeof C == "string" && (C = C.replace(/-/g, "_")), r.innerHTML = replaceIDs(w.body, C ? () => C + "ID" + S++ : "iconifyVue"), h("svg", r);
3179
+ }
3180
+ const { body: v, width: T, height: E } = e, F = a === "mask" || (a === "bg" ? !1 : v.indexOf("currentColor") !== -1), k = iconToHTML(v, {
3181
+ ...i,
3182
+ width: T + "",
3183
+ height: E + ""
3184
+ });
3185
+ return r.style = {
3186
+ ...s,
3187
+ "--svg": svgToURL(k),
3188
+ width: fixSize(i.width),
3189
+ height: fixSize(i.height),
3190
+ ...commonProps,
3191
+ ...F ? monotoneProps : coloredProps,
3192
+ ...b
3193
+ }, h("span", r);
3194
+ }, storage = /* @__PURE__ */ Object.create(null);
3195
+ function addIcon(e, o) {
3196
+ storage[e] = o;
3197
+ }
3198
+ function addCollection(e, o) {
3199
+ const t = typeof e.prefix == "string" ? e.prefix + ":" : "";
3200
+ quicklyValidateIconSet(e) && parseIconSet(e, (r, a) => {
3201
+ a && (storage[t + r] = a);
3202
+ });
3203
+ }
3204
+ const Icon = defineComponent({
3205
+ // Do not inherit other attributes: it is handled by render()
3206
+ inheritAttrs: !1,
3207
+ // Render icon
3208
+ render() {
3209
+ const e = this.$attrs, o = e.icon, t = typeof o == "string" ? storage[o] : typeof o == "object" ? o : null;
3210
+ return t === null || typeof t != "object" || typeof t.body != "string" ? this.$slots.default ? this.$slots.default() : null : render({
3211
+ ...defaultIconProps,
3212
+ ...t
3213
+ }, e);
3214
+ }
3215
+ }), iconifyIconOffline = defineComponent({
3216
+ name: "IconOffline",
3217
+ components: { IconifyIcon: Icon },
3218
+ props: {
3219
+ icon: {
3220
+ default: null
3221
+ }
3222
+ },
3223
+ render() {
3224
+ typeof this.icon == "object" && addIcon(this.icon, this.icon);
3225
+ const e = this.$attrs;
3226
+ return h(
3227
+ Icon,
3228
+ {
3229
+ icon: this.icon,
3230
+ style: e != null && e.style ? Object.assign(e.style, { outline: "none" }) : { outline: "none" },
3231
+ ...e
3232
+ },
3233
+ {
3234
+ default: () => []
3235
+ }
3236
+ );
3237
+ }
3238
+ });
3239
+ defineComponent({
3240
+ name: "IconifyIconOnline",
3241
+ components: { IconifyIcon: Icon$1 },
3242
+ props: {
3243
+ icon: {
3244
+ type: String,
3245
+ default: ""
3246
+ }
3247
+ },
3248
+ render() {
3249
+ const e = this.$attrs;
3250
+ return h(
3251
+ Icon$1,
3252
+ {
3253
+ icon: `${this.icon}`,
3254
+ style: e != null && e.style ? Object.assign(e.style, { outline: "none" }) : { outline: "none" },
3255
+ ...e
3256
+ },
3257
+ {
3258
+ default: () => []
3259
+ }
3260
+ );
3261
+ }
3262
+ });
3263
+ const fontIcon = defineComponent({
3264
+ name: "FontIcon",
3265
+ props: {
3266
+ icon: {
3267
+ type: String,
3268
+ default: ""
3269
+ }
3270
+ },
3271
+ render() {
3272
+ const e = this.$attrs;
3273
+ return Object.keys(e).includes("uni") || (e == null ? void 0 : e.iconType) === "uni" ? h(
3274
+ "i",
3275
+ {
3276
+ class: "iconfont",
3277
+ ...e
3278
+ },
3279
+ this.icon
3280
+ ) : Object.keys(e).includes("svg") || (e == null ? void 0 : e.iconType) === "svg" ? h(
3281
+ "svg",
3282
+ {
3283
+ class: "icon-svg",
3284
+ "aria-hidden": !0
3285
+ },
3286
+ {
3287
+ default: () => [
3288
+ h("use", {
3289
+ "xlink:href": `#${this.icon}`
3290
+ })
3291
+ ]
3292
+ }
3293
+ ) : h("i", {
3294
+ class: `iconfont ${this.icon}`,
3295
+ ...e
3296
+ });
3297
+ }
3298
+ }), IconifyIconOffline = iconifyIconOffline, FontIcon = fontIcon, auth = {
3299
+ mounted(e, o) {
3300
+ var r;
3301
+ const { value: t } = o;
3302
+ if (t) {
3303
+ const s = `${(r = router.currentRoute.value.meta) == null ? void 0 : r.prefixAuth}.${t}`;
3304
+ usePermissionStoreHook().getButtonAuth.includes(s) || e.parentNode.removeChild(e);
3305
+ } else
3306
+ throw new Error(`need roles! Like v-auth="['admin','test']"`);
3307
+ }
3308
+ };
3309
+ function mitt(e) {
3310
+ return { all: e = e || /* @__PURE__ */ new Map(), on: function(o, t) {
3311
+ var r = e.get(o);
3312
+ r ? r.push(t) : e.set(o, [t]);
3313
+ }, off: function(o, t) {
3314
+ var r = e.get(o);
3315
+ r && (t ? r.splice(r.indexOf(t) >>> 0, 1) : e.set(o, []));
3316
+ }, emit: function(o, t) {
3317
+ var r = e.get(o);
3318
+ r && r.slice().map(function(a) {
3319
+ a(t);
3320
+ }), (r = e.get("*")) && r.slice().map(function(a) {
3321
+ a(o, t);
3322
+ });
3323
+ } };
3324
+ }
3325
+ const emitter = mitt(), erd = elementResizeDetectorMaker({
3326
+ strategy: "scroll"
3327
+ }), resize = {
3328
+ mounted(e, o, t) {
3329
+ erd.listenTo(e, (r) => {
3330
+ const a = r.offsetWidth, s = r.offsetHeight;
3331
+ o != null && o.instance ? emitter.emit("resize", { detail: { width: a, height: s } }) : t.el.dispatchEvent(new CustomEvent("resize", { detail: { width: a, height: s } }));
3332
+ });
3333
+ },
3334
+ unmounted(e) {
3335
+ erd.uninstall(e);
3336
+ }
3337
+ }, directives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3338
+ __proto__: null,
3339
+ auth,
3340
+ resize
3341
+ }, Symbol.toStringTag, { value: "Module" })), app = createApp(App);
3342
+ app.use(VueTippy, {
3343
+ defaultProps: { animation: "perspective" }
3344
+ });
3345
+ const setGlobal = (e) => {
3346
+ e.config.globalProperties.$hasAuthority = hasAuthority, e.config.globalProperties.$serviceApi = getServiceApi(), e.config.globalProperties.$url = getBaseURL();
3347
+ }, setGlobalDirective = (e) => {
3348
+ Object.keys(directives).forEach((o) => {
3349
+ e.directive(o, directives[o]);
3350
+ });
3351
+ }, init = ({ config: e, lang: o, views: t, env: r, tableConfig: a }) => (app.use(router), setRouter(router), setConfig(app, e), setSystemEnv(r), setViews(t), setTableConfig(a), new Promise((s) => {
3352
+ useI18n(app, o), app.component("IconifyIconOffline", IconifyIconOffline), app.component("FontIcon", FontIcon), app.use(VueViewer, { defaultOptions: { zIndex: 9999 } }), setGlobal(app), setGlobalDirective(app), setupStore(app), injectResponsiveStorage(app, e), s({ app, router });
3353
+ })), lifeCycleEvent = {
3354
+ onLogined: () => {
3355
+ },
3356
+ onBeforeLogout: () => {
3357
+ }
3358
+ }, onLogined = () => {
3359
+ lifeCycleEvent.onLogined();
3360
+ };
3361
+ export {
3362
+ darken as A,
3363
+ lighten as B,
3364
+ delCurrentRoute as C,
3365
+ initDict as D,
3366
+ onLogined as E,
3367
+ FontIcon as F,
3368
+ init as G,
3369
+ hasAuthority as H,
3370
+ IconifyIconOffline as I,
3371
+ lifeCycleEvent as J,
3372
+ _export_sfc as _,
3373
+ addCollection as a,
3374
+ addIcon as b,
3375
+ getParentPaths as c,
3376
+ usePermissionStoreHook as d,
3377
+ useSystemStoreHook as e,
3378
+ findRouteByPath as f,
3379
+ getConfig as g,
3380
+ emitter as h,
3381
+ getEnv as i,
3382
+ routerArrays as j,
3383
+ kSYSCONFIG as k,
3384
+ kCKTOKEN as l,
3385
+ kTOKEN as m,
3386
+ kLOGINER as n,
3387
+ resetRouter as o,
3388
+ remainingPaths as p,
3389
+ getServiceApi as q,
3390
+ router as r,
3391
+ store as s,
3392
+ transformI18n as t,
3393
+ useMultiTagsStoreHook as u,
3394
+ responsiveStorageNameSpace as v,
3395
+ handleAliveRoute as w,
3396
+ getBaseURL as x,
3397
+ useMultiTagsStore as y,
3398
+ setTheme as z
3399
+ };