@utogether/udp-core 1.0.0 → 1.0.1-beta.1

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 (144) hide show
  1. package/build/plugins.ts +8 -2
  2. package/dist/{403-B1R-4vXw.js → 403-Dp617CWX.js} +9 -8
  3. package/dist/{404-fXPl8csw.js → 404-Cz_Axb6Y.js} +15 -14
  4. package/dist/{500-eI5842YB.js → 500-BGCtRNse.js} +11 -10
  5. package/dist/{AuthorityInfo-CfVH6PaB.js → AuthorityInfo-DGGfm7IS.js} +1 -1
  6. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-DbK-f8jH.js → AuthorityInfo.vue_vue_type_style_index_0_lang-BqccGW7v.js} +3 -3
  7. package/dist/{AuthorityPanel-BaLMwMgW.js → AuthorityPanel-BeBNiwqc.js} +1 -1
  8. package/dist/{AuthorityPanel.vue_vue_type_style_index_0_lang-C_bkqLD9.js → AuthorityPanel.vue_vue_type_style_index_0_lang-CIYmnP9-.js} +6 -6
  9. package/dist/{Company-CYC9Avfz.js → Company-IV3GTnzY.js} +3 -3
  10. package/dist/{CompanyPanel-B4MzoqN_.js → CompanyPanel-qV-_VtoL.js} +10 -10
  11. package/dist/{Department-B4BNSiYx.js → Department-B3W-OxW8.js} +3 -3
  12. package/dist/{DepartmentPanel-zJO89L2O.js → DepartmentPanel-Cw3OWxE7.js} +23 -23
  13. package/dist/{DesignPanel-S8P0J97f.js → DesignPanel-BFxR2fHJ.js} +1 -1
  14. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-DW-_Vqrr.js → DesignPanel.vue_vue_type_style_index_0_lang-DljbeFba.js} +6 -6
  15. package/dist/{DictView-bIS5-rK-.js → DictView-C-i7e4hZ.js} +9 -9
  16. package/dist/InvOrganization-cfT6riGU.js +260 -0
  17. package/dist/{Org-kXHSjsgJ.js → Org-CA7vTDIF.js} +3 -3
  18. package/dist/{Preview-CRyiwUIR.js → Preview-BlDMmpdR.js} +1 -1
  19. package/dist/{ReportDefine-WZYIx8Sm.js → ReportDefine-Cub_85LA.js} +1 -1
  20. package/dist/{ReportDesign-D-7GKgpb.js → ReportDesign-hFhq5UVE.js} +10 -10
  21. package/dist/{ReportQuery-BIIJny6w.js → ReportQuery-ChkWEyxT.js} +5 -5
  22. package/dist/{ReportQueryFrom-OoUl7N2O.js → ReportQueryFrom-KVyD_8Dj.js} +1 -1
  23. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-B878fgj8.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-CLNODquq.js} +6 -5
  24. package/dist/{ReportTemplate-Cfeq9US-.js → ReportTemplate-ag9NDvh2.js} +11 -11
  25. package/dist/{Role-BwTV2QMH.js → Role-_q3lQ8CZ.js} +3 -3
  26. package/dist/{RoleAssign-De1JjOun.js → RoleAssign-DZb9IRsm.js} +3 -3
  27. package/dist/{RolePanel-pUBXsqCM.js → RolePanel-BQb1LlhD.js} +1 -1
  28. package/dist/{RolePanel-E3RcdByM.js → RolePanel-CsLsz-Ds.js} +1 -1
  29. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-B2pQwHb0.js → RolePanel.vue_vue_type_script_setup_true_lang-BrnRgHEk.js} +12 -12
  30. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-CTIad9_Q.js → RolePanel.vue_vue_type_script_setup_true_lang-cmW7zBLu.js} +4 -4
  31. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-vMR1fBi0.js → ScrollPanel.vue_vue_type_style_index_0_lang-CaFKRwXu.js} +8 -8
  32. package/dist/{Staff-Czm7A8vI.js → Staff-BSf9Ypbk.js} +3 -3
  33. package/dist/StaffInfo-BNKasyMF.js +4 -0
  34. package/dist/{StaffInfo.vue_vue_type_style_index_0_lang-DMTL7KCh.js → StaffInfo.vue_vue_type_script_setup_true_lang-DDZ7ukd0.js} +7 -7
  35. package/dist/{StaffPanel-CHk60LEz.js → StaffPanel-Bpq0WVlH.js} +1 -1
  36. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-iPKLb5wG.js → StaffPanel.vue_vue_type_script_setup_true_lang-BhiJ0Q-Q.js} +46 -49
  37. package/dist/{SysUser-BGwbttRn.js → SysUser-FAABuNti.js} +2 -2
  38. package/dist/{SysUserPanel-BCbKoLKt.js → SysUserPanel-PxJeOgHm.js} +1 -1
  39. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-0QUjnhjF.js → SysUserPanel.vue_vue_type_script_setup_true_lang-njefUln5.js} +1 -2
  40. package/dist/{SystemMenu-BkqZSDKl.js → SystemMenu-C-7NAGon.js} +47 -45
  41. package/dist/{UserInfo-BsyAcT2d.js → UserInfo-ClXKtyGo.js} +1 -1
  42. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-D0-KDxAh.js → UserInfo.vue_vue_type_style_index_0_lang-8N7P4Hl7.js} +13 -13
  43. package/dist/{childView-CyuLTUqC.js → childView-C_HmDQNd.js} +1 -1
  44. package/dist/{childView-CF83nhxb.js → childView-uUlBcTza.js} +1 -1
  45. package/dist/{childView.vue_vue_type_style_index_0_lang-CNSgGda3.js → childView.vue_vue_type_style_index_0_lang-Ckjmw6wJ.js} +6 -6
  46. package/dist/{childView.vue_vue_type_style_index_0_lang-Cch4lE-i.js → childView.vue_vue_type_style_index_0_lang-y0sDvYx5.js} +1 -1
  47. package/dist/{code-rule-Bz-gnktN.js → code-rule-AgCVDKFy.js} +6 -6
  48. package/dist/core.es.js +4 -4
  49. package/dist/{cron-task-CIifSUdW.js → cron-task-C6FgQxTi.js} +11 -11
  50. package/dist/{frameView-_d2mqjjQ.js → frameView-BDgISK7N.js} +15 -14
  51. package/dist/index-DzOzUkf6.js +3388 -0
  52. package/dist/{layoutView-DLKVepB8.js → layoutView-yb3DV2DQ.js} +658 -653
  53. package/dist/{login-LREiDfFU.js → login-RRpljbkm.js} +26 -25
  54. package/dist/{lov-view-DDrIVILB.js → lov-view-C9-rjzZR.js} +5 -5
  55. package/dist/{menuInfo-B1FUV-Sk.js → menuInfo-CzPQyFhp.js} +1 -1
  56. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-Cnk3vdtD.js → menuInfo.vue_vue_type_style_index_0_lang-BumXunCg.js} +17 -17
  57. package/dist/pda-app-Dvy3U-b6.js +696 -0
  58. package/dist/redirect-BqegffKC.js +15 -0
  59. package/dist/{resource-BCwx9fEv.js → resource-Fy0lFkSV.js} +7 -7
  60. package/dist/{su-welcome-189A7N4r.js → su-welcome-DYvSCUST.js} +41 -40
  61. package/dist/{sys-config-BZ3sejow.js → sys-config-DJ1vNQTy.js} +18 -18
  62. package/dist/udp-core.css +2 -2
  63. package/dist/{utogether-r08LNiIZ.js → utogether-CjmJiHoE.js} +6 -6
  64. package/package.json +4 -2
  65. package/src/App.vue +3 -3
  66. package/src/components/udp/form-upload.vue +132 -0
  67. package/src/components/udp/index.ts +4 -0
  68. package/src/components/udp/modal-form.vue +180 -0
  69. package/src/components/udp/utils.ts +40 -0
  70. package/src/main.ts +5 -4
  71. package/src/plugins/vxe-table/index.ts +3 -3
  72. package/src/plugins/vxe-table/render.tsx +604 -184
  73. package/src/utils/udp/useRender.ts +420 -0
  74. package/src/views/organization/inv-org/InvOrganization.vue +2 -1
  75. package/src/views/organization/staff/StaffInfo.vue +0 -30
  76. package/src/views/organization/staff/StaffPanel.vue +4 -3
  77. package/src/views/system/menu/AuthorityPanel.vue +2 -2
  78. package/src/views/system/menu/SystemMenu.vue +9 -3
  79. package/src/views/system/menu/menuInfo.vue +6 -3
  80. package/src/views/system/role/AuthorityInfo.vue +1 -19
  81. package/src/views/system/sysUser/SysUserPanel.vue +1 -1
  82. package/src/views/udev/dict/DictView.vue +2 -2
  83. package/src/views/uhome/components/menu-favorite.vue +1 -1
  84. package/src/views/uhome/su-welcome.vue +1 -1
  85. package/src/views/ulogin/login.vue +1 -1
  86. package/types/global.d.ts +0 -1
  87. package/vite.config.ts +9 -2
  88. package/dist/InvOrganization-MuM2jtsG.js +0 -66
  89. package/dist/StaffInfo-DJzvBuxy.js +0 -4
  90. package/dist/core.umd.js +0 -173
  91. package/dist/index-BKIw8tSn.js +0 -9195
  92. package/dist/pda-app-CRhVGijN.js +0 -2209
  93. package/dist/redirect-DiaNDu8F.js +0 -15
  94. package/src/assets/images/empty.png +0 -0
  95. package/src/assets/images/logo.png +0 -0
  96. package/src/components/ReCountTo/README.md +0 -2
  97. package/src/components/ReCountTo/index.ts +0 -18
  98. package/src/components/ReCountTo/src/normal/index.tsx +0 -165
  99. package/src/components/ReCountTo/src/normal/props.ts +0 -37
  100. package/src/components/ReCountTo/src/rebound/index.tsx +0 -67
  101. package/src/components/ReCountTo/src/rebound/props.ts +0 -14
  102. package/src/components/ReCountTo/src/rebound/rebound.css +0 -77
  103. package/src/components/ReCropper/index.ts +0 -14
  104. package/src/components/ReCropper/src/index.tsx +0 -141
  105. package/src/components/ReFlicker/index.css +0 -39
  106. package/src/components/ReFlicker/index.ts +0 -50
  107. package/src/components/ReFlop/index.ts +0 -14
  108. package/src/components/ReFlop/src/Filpper.tsx +0 -99
  109. package/src/components/ReFlop/src/filpper.css +0 -184
  110. package/src/components/ReFlop/src/index.vue +0 -126
  111. package/src/components/ReFlowChart/index.ts +0 -24
  112. package/src/components/ReFlowChart/src/Control.vue +0 -139
  113. package/src/components/ReFlowChart/src/DataDialog.vue +0 -12
  114. package/src/components/ReFlowChart/src/NodePanel.vue +0 -151
  115. package/src/components/ReFlowChart/src/adpterForTurbo.ts +0 -160
  116. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.css +0 -49
  117. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.eot +0 -0
  118. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.js +0 -61
  119. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.json +0 -58
  120. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.svg +0 -47
  121. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.ttf +0 -0
  122. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.woff +0 -0
  123. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.woff2 +0 -0
  124. package/src/components/ReFlowChart/src/config.ts +0 -62
  125. package/src/components/ReSplitPane/index.css +0 -49
  126. package/src/components/ReSplitPane/index.tsx +0 -119
  127. package/src/components/ReSplitPane/resizer.css +0 -45
  128. package/src/components/ReSplitPane/resizer.tsx +0 -30
  129. package/src/components/SuCommon/card/components/Card.vue +0 -148
  130. package/src/components/SuCommon/card/components/DialogForm.vue +0 -127
  131. package/src/components/SuCommon/card/index.vue +0 -142
  132. package/src/components/SuCommon/icon-select/index.vue +0 -241
  133. package/src/components/SuCommon/table/index.vue +0 -208
  134. package/src/components/SuCommon/utils/index.ts +0 -103
  135. package/src/components/SuCommon/utils/slot.tsx +0 -50
  136. package/src/views/components/contextmenu/basic.vue +0 -74
  137. package/src/views/components/contextmenu/context-menu.vue +0 -40
  138. package/src/views/components/contextmenu/menuDynamic.vue +0 -99
  139. package/src/views/components/contextmenu/menuGroup.vue +0 -71
  140. package/src/views/components/count-to/index.vue +0 -43
  141. package/src/views/components/cropping/index.vue +0 -59
  142. package/src/views/components/cropping/picture.jpeg +0 -0
  143. package/src/views/components/split-pane/index.vue +0 -82
  144. package/src/views/components/video/index.vue +0 -57
@@ -0,0 +1,3388 @@
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": 2e3,
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
+ encode: "编码",
724
+ importJSON: "导入模板数据",
725
+ downloadTemp: "模板下载",
726
+ inv: "库存组织",
727
+ look: "查看",
728
+ lov: "值集",
729
+ inbound: "入库",
730
+ more: "更多",
731
+ outbound: "出库",
732
+ preview: "预览",
733
+ print: "打印",
734
+ paramSet: "参数集",
735
+ reset: "重置",
736
+ resumeTask: "继续",
737
+ role: "角色",
738
+ repaint: "重绘",
739
+ save: "保存",
740
+ scan: "扫码下载",
741
+ stopTask: "停止",
742
+ suspendTask: "暂停",
743
+ search: "搜索",
744
+ sync: "同步",
745
+ submit: "提交",
746
+ taskLog: "任务日志",
747
+ revoke: "撤销",
748
+ reject: "拒绝",
749
+ upload: "上传",
750
+ goback: "返回",
751
+ disabled: "禁用",
752
+ enable: "启用"
753
+ },
754
+ file: {
755
+ templateName: "模版名称",
756
+ templateCode: "模版编码",
757
+ paperType: "纸张类型",
758
+ printPosition: "打印视图",
759
+ buttonCode: "按钮编码",
760
+ resourceCode: "资源编码",
761
+ resourceName: "资源名称",
762
+ resourceUrl: "资源路径",
763
+ fileName: "文件名称",
764
+ fileSize: "文件大小",
765
+ filePath: "文件路径",
766
+ fileExtend: "文件类型",
767
+ textAlign: "对齐方式",
768
+ color: "色彩",
769
+ fillOpacity: "透明度",
770
+ fontSize: "字体大小",
771
+ rotation: "倾斜角度",
772
+ watermarkCode: "水印编码",
773
+ watermarkContent: "水印内容",
774
+ watermarkTrigger: "触发时机",
775
+ watermarkType: "水印类型",
776
+ xAxis: "横坐标",
777
+ yAxis: "纵坐标"
778
+ },
779
+ operate: "操作",
780
+ emptyData: "暂无数据",
781
+ creationDate: "创建时间",
782
+ createdByName: "创建人",
783
+ creationName: "创建人",
784
+ lastUpdateDate: "更新日期",
785
+ lastUpdatedByName: "更新人",
786
+ sort: "序号",
787
+ seqNo: "序号",
788
+ remark: "备注",
789
+ loading: "加载中...",
790
+ keyword: "关键字",
791
+ required: "请录入",
792
+ isRequired: "必填否",
793
+ dataSetCode: "数据集编码",
794
+ dataSetName: "数据集名称",
795
+ dataSetType: "数据集类型",
796
+ dataSetUrl: "URL/服务编码",
797
+ paramCode: "参数编码",
798
+ paramName: "参数名称",
799
+ defaultValue: "默认值",
800
+ enabled: "启用",
801
+ disabled: "禁用",
802
+ to: "至",
803
+ startDate: "开始日期",
804
+ endDate: "截至日期",
805
+ operateSuccess: "操作成功!",
806
+ operateFailed: "操作失败!",
807
+ selectedRecord: "请至少选择一条记录",
808
+ delRecord: "您确定要删除选择的数据吗?",
809
+ importSuccess: "导入成功!",
810
+ importFailed: "数据导入失败,请往下滚动以便查看错误信息",
811
+ importRecord: "您确定要导入数据吗?",
812
+ importEmpty: "数据列表为空,请先导入数据列表",
813
+ importTip: `1、表格模板的【列标题】不可修改;
814
+ 2、单次导入数据数量应小于2000条;
815
+ 3、数据字典直接录入字典值表示,能极大的提高表格渲染速度哦。例如: 数据字典【是否】Y/N
816
+ 4、导入成功,系统提示【导入成功数量xxx条】其中的数量包括表头行`,
817
+ errorInfo: "异常信息",
818
+ publish: "发布",
819
+ menuName: "菜单名称(中文)",
820
+ menuNameEn: "菜单名称(英文)",
821
+ menuType: "菜单类型",
822
+ menuCode: "菜单编码",
823
+ permissionCode: "权限编码",
824
+ permissionName: "权限名称",
825
+ menuPath: "路由",
826
+ frameSrc: "内链URI",
827
+ externalURI: "外链URI",
828
+ redirect: "重定向路径",
829
+ i18nField: "标题字段",
830
+ extraIcon: "额外图标",
831
+ icon: "图标",
832
+ jobResult: "执行结果",
833
+ endTime: "结束时间",
834
+ startTime: "开始时间",
835
+ errorMessage: "异常信息",
836
+ jobStatus: "任务状态",
837
+ jobParam: "执行器任务参数",
838
+ jobHandler: "任务处理类",
839
+ jobClassName: "实现类",
840
+ jobCron: "任务执行corn",
841
+ jobName: "任务名称",
842
+ jobDescription: "任务描述",
843
+ interfaceName: "接口名称",
844
+ interfaceUrl: "接口地址",
845
+ requestDate: "请求日期",
846
+ requestStatus: "请求状态",
847
+ requestParameter: "body参数",
848
+ responseTimeConsume: "响应时间(ms)",
849
+ responseContent: "响应内容",
850
+ stacktrace: "错误堆栈",
851
+ userName: "用户姓名",
852
+ userCode: "用户编码",
853
+ status: "状态",
854
+ email: "邮箱",
855
+ userPassword: "登录密码",
856
+ remarks: "备注",
857
+ sysType: "用户类型",
858
+ userPwd: "用户密码",
859
+ unitName: "用户单位",
860
+ employeeCode: "编号",
861
+ employeeName: "姓名",
862
+ department: "部门",
863
+ gender: "性别",
864
+ releateUser: "关联用户",
865
+ identity: "身份证号码",
866
+ employeeDate: "入职日期",
867
+ solarDay: "出生日期",
868
+ phone: "座机号",
869
+ mobile: "手机号",
870
+ deptName: "部门名称",
871
+ deptCode: "部门编码",
872
+ deptType: "部门类型",
873
+ deletePartment: "部门存在子级,请先删除子级",
874
+ orgCode: "业务实体编码",
875
+ orgName: "业务实体名称",
876
+ orgAlias: "业务实体简称",
877
+ orgDesc: "业务实体描述",
878
+ organizationName: "组织名称",
879
+ organizationCode: "组织编码",
880
+ lovCode: "视图编码",
881
+ lovName: "视图名称",
882
+ valueField: "值字段名",
883
+ displayField: "显示字段名",
884
+ lovTitle: "视图标题",
885
+ lovType: "视图类型",
886
+ lovUrl: "视图URI",
887
+ colField: "表格字段名",
888
+ colTitle: "表格列标题",
889
+ colWidth: "列宽度",
890
+ fieldType: "字段类型",
891
+ dictName: "数据字典",
892
+ isSearch: "查询字段",
893
+ isCol: "表格列",
894
+ sqlStatement: "SQL语句",
895
+ fileName: "附件名称",
896
+ fileSize: "附件大小",
897
+ tip: {
898
+ projectConfig: "项目配置",
899
+ closeConfig: "关闭配置",
900
+ clearCache: "清空缓存",
901
+ toLogin: "清空缓存并返回登录页",
902
+ del: "确定要删除{msg}吗?",
903
+ uploadFormat: "上传格式{type}",
904
+ imageSize: "图片尺寸{size}",
905
+ imageCapacity: "图片大小{capacity}",
906
+ singleImg: "仅支持设置单张图",
907
+ emptyAuth: "无系统权限, 请先给用户分配角色重试",
908
+ initPassword: "初始密码为:【123456】,请及时修改密码",
909
+ loginFailure: "用户名或密码不能为空",
910
+ updatenow: "立即更新",
911
+ newVersion: "检测到新版本",
912
+ updateLater: "稍后更新"
913
+ },
914
+ title: {
915
+ employeeInfo: "员工信息",
916
+ cronLog: "执行日志",
917
+ memuInfo: "菜单配置",
918
+ authority: "【{role}】权限明细",
919
+ authUser: "【{role}】分配用户",
920
+ authEdit: "角色编辑",
921
+ roleInfo: "角色列表",
922
+ appAdd: "App版本新增",
923
+ dictList: "【{name}】字典值列表",
924
+ dictInfo: "【{name}】字典值",
925
+ lovView: "值集视图",
926
+ lovColConfig: "值集列配置",
927
+ sequenceInfo: "{name}单据序列配置"
928
+ }
929
+ }, en = {
930
+ udp: {
931
+ dark: "深色",
932
+ light: "浅色",
933
+ smart: "灵动",
934
+ card: "卡片",
935
+ theme: "主题色",
936
+ pageStyle: "Page Style",
937
+ navigationMode: "Navigation Node",
938
+ tagStyle: "Tag Style",
939
+ collapse: "Collapse",
940
+ expand: "Expand",
941
+ login: "Login",
942
+ home: "Home",
943
+ logout: "Logout",
944
+ userName: "User Name",
945
+ password: "Password",
946
+ passwordReset: "Password Reset",
947
+ oldPwd: "Old Password",
948
+ newPwd: "New Password",
949
+ confirmPwd: "Confirm Password",
950
+ reload: "Reload",
951
+ closeCurrentTab: "Close Current Tab",
952
+ closeLeftTabs: "Close Left Tabs",
953
+ closeRightTabs: "Close Right Tabs",
954
+ closeOtherTabs: "Close Other Tabs",
955
+ closeAllTabs: "Close All Tabs",
956
+ wholeFullScreen: "Whole Full Screen",
957
+ wholeExitFullScreen: "Whole Exit Full Screen",
958
+ contentFullScreen: "Content Fulll Screen",
959
+ contentExitFullScreen: "Content Exit Full Screen",
960
+ fourZeroFour: "404",
961
+ fourZeroThree: "403",
962
+ five: "500",
963
+ backtop: "Back Top",
964
+ error: "Error Page",
965
+ continueAdd: "Continue Add",
966
+ menuQuery: "Menu Search",
967
+ systemTitle: "System Title",
968
+ systemLogo: "LOGO",
969
+ systemFavicon: "favicon",
970
+ homeBackimg: "Home Background Image",
971
+ baseUrl: "Base Url",
972
+ copyright: "Copy Right",
973
+ i18nEnabled: "Internationalize",
974
+ defaultLanguage: "Language",
975
+ roleName: "Role Name",
976
+ roleCode: "Role Code",
977
+ roleDesc: "Role Desc",
978
+ loginTime: "Login Time",
979
+ operatingSystem: "Operate System",
980
+ ip: "ip",
981
+ browserVersion: "Browser Version",
982
+ browser: "Browser",
983
+ dictCode: "Dict Code",
984
+ dictName: "Dict Name",
985
+ dictType: "Dict Type",
986
+ ruleCode: "Rule Code",
987
+ ruleName: "Rule Name",
988
+ fieldType: "Field Type",
989
+ fieldValue: "Field Value",
990
+ dateMask: "Data Mask",
991
+ resetFrequency: "Reset Frequency",
992
+ seqLength: "Seq Length",
993
+ startValue: "Start Value",
994
+ currentValue: "Current Value",
995
+ haveBeenUsed: "Have Been Used",
996
+ unitName: "Unit Name",
997
+ unitCode: "Unit Code",
998
+ unitNote: "Unit Note",
999
+ deleteCompany: "There are child levels in the Company, please delete the child level first",
1000
+ tip: "tip",
1001
+ today: "Today",
1002
+ yesterday: "Yesterday",
1003
+ lastWeek: "Last Week",
1004
+ lastMonth: "Last Month",
1005
+ threeMonth: "Three Month",
1006
+ halfYear: "Half Year",
1007
+ anniversary: "Anniversary"
1008
+ },
1009
+ btn: {
1010
+ add: "Add",
1011
+ agree: "Agree",
1012
+ approve: "Approval",
1013
+ appupper: "App Add",
1014
+ applower: "App Remove",
1015
+ auth: "Authority",
1016
+ back: "Back",
1017
+ cancel: "Cancel",
1018
+ completed: "Completed",
1019
+ close: "Close",
1020
+ toggle: "Toggle",
1021
+ confirm: "Confirm",
1022
+ config: "Config",
1023
+ copy: "Copy",
1024
+ customSize: "Custom Size",
1025
+ detail: "Detail",
1026
+ directPrint: "Direct Print",
1027
+ design: "Design",
1028
+ delete: "Delete",
1029
+ del: "Delete",
1030
+ download: "Download",
1031
+ dispatchUser: "Dispatch User",
1032
+ dispatchAuth: "Dispatch Authority",
1033
+ finish: "Finish",
1034
+ fetch: "Fetch",
1035
+ edit: "Edit",
1036
+ export: "Export",
1037
+ encode: "Encode",
1038
+ importJSON: "Import Data",
1039
+ look: "Look",
1040
+ lov: "Lov",
1041
+ inbound: "Inbound",
1042
+ more: "More",
1043
+ outbound: "Outbound",
1044
+ preview: "Preview",
1045
+ print: "Print",
1046
+ paramSet: "Param Set",
1047
+ reset: "Reset",
1048
+ resumeTask: "Resume",
1049
+ role: "Role",
1050
+ repaint: "Repaint",
1051
+ save: "Save",
1052
+ scan: "Scan Download",
1053
+ stopTask: "Stop",
1054
+ suspendTask: "Suspend",
1055
+ search: "Search",
1056
+ sync: "Sync",
1057
+ submit: "Submit",
1058
+ taskLog: "Log",
1059
+ revoke: "Revoke",
1060
+ reject: "Reject",
1061
+ upload: "Upload"
1062
+ },
1063
+ file: {
1064
+ templateName: "Template Name",
1065
+ templateCode: "Template Code",
1066
+ paperType: "Paper Type",
1067
+ printPosition: "Print Position",
1068
+ buttonCode: "Button Code",
1069
+ resourceCode: "Resource Code",
1070
+ resourceName: "Resource Name",
1071
+ resourceUrl: "Resource Url",
1072
+ fileName: "File Name",
1073
+ fileSize: "File Size",
1074
+ filePath: "File Path",
1075
+ fileExtend: "File Extend",
1076
+ textAlign: "Text Align",
1077
+ color: "Color",
1078
+ fillOpacity: "Fill Opacity",
1079
+ fontSize: "Font Size",
1080
+ rotation: "Rotation",
1081
+ watermarkCode: "Watermark Code",
1082
+ watermarkContent: "Watermark Content",
1083
+ watermarkTrigger: "Watermark Trigger",
1084
+ watermarkType: "Watermark Type",
1085
+ xAxis: "xAxis",
1086
+ yAxis: "yAxis"
1087
+ },
1088
+ operate: "Operate",
1089
+ emptyData: "Empty Data",
1090
+ creationDate: "Creation Date",
1091
+ createdByName: "CreatedBy Name",
1092
+ creationName: "Creation Name",
1093
+ lastUpdateDate: "LastUpdate Date",
1094
+ lastUpdatedByName: "LastUpdatedBy Name",
1095
+ sort: "Sort",
1096
+ seqNo: "Seq No",
1097
+ remark: "Remark",
1098
+ loading: "Loading...",
1099
+ keyword: "Keyword",
1100
+ required: "Required",
1101
+ isRequired: "Is Required",
1102
+ dataSetCode: "Dataset Code",
1103
+ dataSetName: "Dataset Name",
1104
+ dataSetType: "Dataset Type",
1105
+ dataSetUrl: "Dataset Url",
1106
+ paramCode: "Param Code",
1107
+ paramName: "Param Name",
1108
+ defaultValue: "Default Value",
1109
+ enabled: "Enabled",
1110
+ disabled: "Disabled",
1111
+ to: "To",
1112
+ startDate: "Start Date",
1113
+ endDate: "End Date",
1114
+ operateSuccess: "Operate Success!",
1115
+ operateFailed: "Operate Failed!",
1116
+ selectedRecord: "Please select at least one record",
1117
+ delRecord: "Are you sure you want to delete this record?",
1118
+ importSuccess: "Import Success!",
1119
+ importFailed: "Data import failed, please scroll down to view the error message",
1120
+ importRecord: "Are you sure you want to import the data?",
1121
+ importEmpty: "The data list is empty, please import the data list first",
1122
+ importTip: `1. The column headings in the table template cannot be modified;
1123
+ 2. The number of data imported at a time should be less than 2000;
1124
+ 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
1125
+ 4. Import successful, system prompts' xxx successful imports', including header rows`,
1126
+ errorInfo: "Error Info",
1127
+ publish: "Publish",
1128
+ menuName: "Menu Name",
1129
+ menuNameEn: "Menu Name",
1130
+ menuType: "Menu Type",
1131
+ menuCode: "Menu Code",
1132
+ permissionCode: "Permission Code",
1133
+ permissionName: "Permission Name",
1134
+ menuPath: "Menu Path",
1135
+ frameSrc: "Internal Link URI",
1136
+ externalURI: "External Link URI",
1137
+ redirect: "Redirect",
1138
+ i18nField: "Language Field",
1139
+ extraIcon: "Extra Icon",
1140
+ icon: "Icon",
1141
+ jobResult: "Job Result",
1142
+ endTime: "End Time",
1143
+ startTime: "Start Time",
1144
+ errorMessage: "Error Message",
1145
+ jobStatus: "Job Status",
1146
+ jobParam: "Job Param",
1147
+ jobHandler: "Job Handler",
1148
+ jobClassName: "Job ClassName",
1149
+ jobCron: "Job Cron",
1150
+ jobName: "Job Name",
1151
+ jobDescription: "Job Description",
1152
+ interfaceName: "Interface Name",
1153
+ interfaceUrl: "Interface Url",
1154
+ requestDate: "Request Date",
1155
+ requestStatus: "Request Status",
1156
+ requestParameter: "Request Parameter",
1157
+ responseTimeConsume: "Response TimeConsume(ms)",
1158
+ responseContent: "Response Content",
1159
+ stacktrace: "Stacktrace",
1160
+ userName: "User Name",
1161
+ userCode: "user Code",
1162
+ status: "Status",
1163
+ email: "Email",
1164
+ userPassword: "Password",
1165
+ remarks: "Remarks",
1166
+ sysType: "User Type",
1167
+ userPwd: "Password",
1168
+ unitName: "Department",
1169
+ employeeCode: "Employee Code",
1170
+ employeeName: "Employee Name",
1171
+ department: "Department",
1172
+ gender: "Sex",
1173
+ releateUser: "Releate User",
1174
+ identity: "Identity",
1175
+ employeeDate: "Employee Date",
1176
+ solarDay: "Solar Day",
1177
+ phone: "Phone",
1178
+ mobile: "Mobile",
1179
+ deptName: "Department Name",
1180
+ deptCode: "Department Code",
1181
+ deptType: "Department Type",
1182
+ deletePartment: "There are child levels in the department, please delete the child level first",
1183
+ orgCode: "Business Unit Code",
1184
+ orgName: "Business Unit Name",
1185
+ orgAlias: "Business Unit Alias",
1186
+ orgDesc: "Business Unit Descript",
1187
+ organizationName: "Organization Name",
1188
+ organizationCode: "Organization Code",
1189
+ lovCode: "LovCode",
1190
+ lovName: "lovName",
1191
+ valueField: "valueField",
1192
+ displayField: "displayField",
1193
+ lovTitle: "lovTitle",
1194
+ colField: "colField",
1195
+ colTitle: "colTitle",
1196
+ width: "width",
1197
+ dictDispose: "dictDispose",
1198
+ isSearch: "isSearch",
1199
+ isCol: "isCol"
1200
+ }, 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 = {};
1201
+ for (const e in files)
1202
+ modules[e.replace(/(\.\/module\/|\.ts)/g, "")] = files[e].default;
1203
+ const moduleList = Object.keys(modules).filter((e) => modules[e]).map((e) => modules[e]), messages = {
1204
+ zh: {
1205
+ ...storageLocal.getItem(kMENUZH),
1206
+ message: merge(zh, ...moduleList.map((e) => e.zh.message))
1207
+ },
1208
+ en: {
1209
+ ...storageLocal.getItem(kMENUEN),
1210
+ message: Object.assign(en, ...moduleList.map((e) => e.en.message))
1211
+ }
1212
+ };
1213
+ let i18n = null;
1214
+ function useI18n(e, o = { messages: {} }) {
1215
+ var t;
1216
+ console.log("message=====", messages), i18n = createI18n({
1217
+ legacy: !1,
1218
+ locale: ((t = storageLocal.getItem(`${responsiveStorageNameSpace()}locale`)) == null ? void 0 : t.locale) ?? "zh",
1219
+ fallbackLocale: "en",
1220
+ globalInjection: !0,
1221
+ messages: merge(messages, o.messages)
1222
+ }), VxeUI.setLanguage("zh-CN"), e.use(i18n);
1223
+ }
1224
+ const geti18n = () => i18n;
1225
+ function transformI18n(e = "", o = !0) {
1226
+ if (!e)
1227
+ return "";
1228
+ if (typeof e == "object") {
1229
+ const t = i18n.global.locale;
1230
+ return e[t.value];
1231
+ }
1232
+ return o ? i18n.global.t.call(i18n.global, e) : e;
1233
+ }
1234
+ const useSystemStore = defineStore("udp-system", {
1235
+ state: () => ({
1236
+ baseURL: "",
1237
+ userInfo: {},
1238
+ systemInfo: {},
1239
+ dataDict: {},
1240
+ sysConfig: {},
1241
+ menui18n: {},
1242
+ i18n: {},
1243
+ dicts: [],
1244
+ orgList: [],
1245
+ invOrgList: [],
1246
+ homeMenus: [],
1247
+ sessionKey: "",
1248
+ orgId: "",
1249
+ userName: "",
1250
+ organizationId: "",
1251
+ isAdminRole: !1
1252
+ }),
1253
+ getters: {
1254
+ getBaseURL() {
1255
+ return this.baseURL;
1256
+ },
1257
+ getUserInfo() {
1258
+ return this.userInfo;
1259
+ },
1260
+ getSysConfig() {
1261
+ return this.sysConfig;
1262
+ },
1263
+ getEmployee() {
1264
+ return this.employee;
1265
+ },
1266
+ getSessionKey() {
1267
+ return this.sessionKey;
1268
+ },
1269
+ getMenuI18n() {
1270
+ return this.menui18n;
1271
+ },
1272
+ getI18n() {
1273
+ return this.i18n;
1274
+ },
1275
+ getOrglist() {
1276
+ return this.orgList;
1277
+ },
1278
+ getOrgId() {
1279
+ return this.orgId;
1280
+ },
1281
+ getOrganizationId() {
1282
+ return this.organizationId;
1283
+ },
1284
+ getDataDict() {
1285
+ return this.dataDict;
1286
+ },
1287
+ getUserName() {
1288
+ return this.userName;
1289
+ },
1290
+ getAdminRole(e) {
1291
+ return e.isAdminRole;
1292
+ },
1293
+ getHomeMenus(e) {
1294
+ return e.homeMenus;
1295
+ },
1296
+ getOrganizationCode(e) {
1297
+ var o, t;
1298
+ return (t = (o = e.invOrgList) == null ? void 0 : o.find((r) => r.id === e.organizationId)) == null ? void 0 : t.organizationCode;
1299
+ },
1300
+ getOrg(e) {
1301
+ return e.orgList.find((o) => o.id === e.orgId);
1302
+ }
1303
+ },
1304
+ actions: {
1305
+ // baseURL
1306
+ setBaseURL(e) {
1307
+ this.sessionKey = e;
1308
+ },
1309
+ setSessionKey(e) {
1310
+ this.sessionKey = e.access_token || e;
1311
+ },
1312
+ // sysConfig
1313
+ setSysConfig(e) {
1314
+ this.sysConfig = e;
1315
+ },
1316
+ // orgId
1317
+ setOrgId(e) {
1318
+ this.orgId = e;
1319
+ },
1320
+ setOrganizationId(e) {
1321
+ this.organizationId = e;
1322
+ },
1323
+ setMenuI18n(e) {
1324
+ this.menui18n = e;
1325
+ },
1326
+ setI18n(e) {
1327
+ this.i18n = e;
1328
+ },
1329
+ setUserName(e) {
1330
+ this.userName = e;
1331
+ },
1332
+ // 首页子菜单列表
1333
+ setHomeMenus(e) {
1334
+ this.homeMenus = e;
1335
+ },
1336
+ // 库存组织列表
1337
+ setInvOrgList(e) {
1338
+ this.invOrgList = e;
1339
+ },
1340
+ setOrgList(e) {
1341
+ this.orgList = e;
1342
+ },
1343
+ setDict(e) {
1344
+ this.dicts = e, e == null || e.forEach((o) => {
1345
+ this.dataDict[o.dictCode] = o;
1346
+ }), storageLocal.setItem("kLov", this.dataDict);
1347
+ },
1348
+ // 系统信息
1349
+ setSystemInfo(e) {
1350
+ var r;
1351
+ this.systemInfo = e;
1352
+ const o = (r = e.employeeList) != null && r.length ? e.employeeList[0] : "";
1353
+ this.userInfo = e.user || {}, this.employee = Object.assign({}, o, e.user), this.orgId = e.orgId, this.organizationId = e.organizationId, this.orgList = e.orgList;
1354
+ const t = {
1355
+ orgId: e.orgId,
1356
+ organizationId: e.organizationId
1357
+ };
1358
+ cookies.set("kCookies_param", JSON.stringify(t)), this.isAdminRole = this.employee.sysRoles.some(
1359
+ (a) => a.roleCode === "admin" || ["管理员"].includes(a.roleName)
1360
+ ), usePermissionStoreHook().setAuthButton(e.dataMenus);
1361
+ }
1362
+ }
1363
+ });
1364
+ function useSystemStoreHook() {
1365
+ return useSystemStore(store);
1366
+ }
1367
+ function createComponent(e, o) {
1368
+ return /* @__PURE__ */ defineComponent({
1369
+ name: e,
1370
+ components: {
1371
+ asyncComponent: o
1372
+ },
1373
+ setup() {
1374
+ return () => createVNode(resolveComponent("async-component"), null, null);
1375
+ }
1376
+ });
1377
+ }
1378
+ http.setBaseUrl(getBaseURL());
1379
+ 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-yb3DV2DQ.js"), IFrame = () => import("./frameView-BDgISK7N.js");
1380
+ function ascending(e) {
1381
+ return e.forEach((o) => {
1382
+ var t, r;
1383
+ ((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");
1384
+ }), e.sort((o, t) => {
1385
+ var r, a;
1386
+ 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);
1387
+ });
1388
+ }
1389
+ function filterTree(e) {
1390
+ const o = clone(e, !0).filter(
1391
+ (t) => {
1392
+ var r;
1393
+ return t && ((r = t.meta) == null ? void 0 : r.showLink) !== !1;
1394
+ }
1395
+ );
1396
+ return o.forEach((t) => t.children && (t.children = filterTree(t.children))), o;
1397
+ }
1398
+ function getParentPaths(e, o, t = "path") {
1399
+ function r(a, s, l) {
1400
+ for (let b = 0; b < a.length; b++) {
1401
+ const w = a[b];
1402
+ if (w[t] === s) return l;
1403
+ if (!(!w.children || !w.children.length)) {
1404
+ if (l.push(w.path), r(w.children, s, l).length) return l;
1405
+ l.pop();
1406
+ }
1407
+ }
1408
+ return [];
1409
+ }
1410
+ return r(o, e, []);
1411
+ }
1412
+ function findRouteByPath(e, o) {
1413
+ let t = o.find((r) => r.path == e);
1414
+ if (t)
1415
+ return isProxy(t) ? toRaw(t) : t;
1416
+ for (let r = 0; r < o.length; r++)
1417
+ if (o[r].children instanceof Array && o[r].children.length > 0 && (t = findRouteByPath(e, o[r].children), t))
1418
+ return isProxy(t) ? toRaw(t) : t;
1419
+ return null;
1420
+ }
1421
+ function addPathMatch() {
1422
+ router.hasRoute("pathMatch") || router.addRoute({
1423
+ path: "/:pathMatch(.*)",
1424
+ name: "pathMatch",
1425
+ redirect: "/error/404"
1426
+ });
1427
+ }
1428
+ function setMenui18n() {
1429
+ var o, t;
1430
+ const e = geti18n();
1431
+ (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);
1432
+ }
1433
+ function handleAsyncRoutes(e) {
1434
+ if (e != null && e.length) {
1435
+ const o = e.findIndex((r) => r.menuCode === "SysHome");
1436
+ if (o !== -1) {
1437
+ const r = [], a = [];
1438
+ e[o].children.forEach((s) => {
1439
+ s.menuCategory !== "1" ? r.push(s) : a.push(s);
1440
+ }), e[o].children = a, useSystemStoreHook().setHomeMenus(r);
1441
+ }
1442
+ const t = clone(addAsyncRoutes(e), !0);
1443
+ setMenui18n(), formatFlatteningRoutes(t).map((r) => {
1444
+ const { options: a } = router;
1445
+ 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));
1446
+ });
1447
+ }
1448
+ usePermissionStoreHook().changeSetting(e), useMultiTagsStoreHook().getMultiTagsCache || useMultiTagsStoreHook().handleTags("equal", [
1449
+ ...routerArrays,
1450
+ ...usePermissionStoreHook().flatteningRoutes.filter((o) => {
1451
+ var t;
1452
+ return (t = o == null ? void 0 : o.meta) == null ? void 0 : t.fixedTag;
1453
+ })
1454
+ ]), addPathMatch();
1455
+ }
1456
+ async function initRouter(e) {
1457
+ let o = [];
1458
+ const t = `U-${e}-ROUTES`;
1459
+ return getConfig().CachingAsyncRoutes && await dbstorage.getItem(t).then((r) => o = r), initDict().then((r) => useSystemStoreHook().setDict(r)), await initSystemInfo().then(async (r) => {
1460
+ 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) || []));
1461
+ }), o != null && o.length ? new Promise((r) => {
1462
+ handleAsyncRoutes(o), getAsyncRoutes({ userName: e }).then((a) => {
1463
+ dbstorage.setItem(t, a);
1464
+ }), r(router);
1465
+ }) : new Promise((r) => {
1466
+ getAsyncRoutes({ userName: e }).then((a) => {
1467
+ handleAsyncRoutes(clone(a, !0)), dbstorage.setItem(t, a), r(router);
1468
+ });
1469
+ });
1470
+ }
1471
+ function formatFlatteningRoutes(e) {
1472
+ if (e.length === 0) return e;
1473
+ let o = buildHierarchyTree(e);
1474
+ for (let t = 0; t < o.length; t++)
1475
+ o[t].children && (o = o.slice(0, t + 1).concat(o[t].children, o.slice(t + 1)));
1476
+ return o;
1477
+ }
1478
+ function formatTwoStageRoutes(e) {
1479
+ if (e.length === 0) return e;
1480
+ const o = [];
1481
+ return e.forEach((t) => {
1482
+ t.path === "/" ? o.push({
1483
+ component: t.component,
1484
+ name: t.name,
1485
+ path: t.path,
1486
+ redirect: t.redirect,
1487
+ meta: t.meta,
1488
+ children: []
1489
+ }) : o[0].children.push({ ...t });
1490
+ }), o;
1491
+ }
1492
+ function handleAliveRoute({ name: e }, o) {
1493
+ switch (o) {
1494
+ case "add":
1495
+ usePermissionStoreHook().cacheOperate({ mode: "add", name: e });
1496
+ break;
1497
+ case "delete":
1498
+ usePermissionStoreHook().cacheOperate({ mode: "delete", name: e });
1499
+ break;
1500
+ case "refresh":
1501
+ usePermissionStoreHook().cacheOperate({ mode: "refresh", name: e });
1502
+ break;
1503
+ default:
1504
+ usePermissionStoreHook().cacheOperate({ mode: "delete", name: e }), useTimeoutFn(() => {
1505
+ usePermissionStoreHook().cacheOperate({ mode: "add", name: e });
1506
+ }, 100);
1507
+ }
1508
+ }
1509
+ const menuI18n = {
1510
+ zh: {},
1511
+ en: {}
1512
+ }, addAsyncRoutes = (e) => {
1513
+ var r;
1514
+ const o = getViews();
1515
+ if (!e || !e.length) return;
1516
+ const t = Object.keys(o);
1517
+ for (let a = 0; a < e.length; a++) {
1518
+ const s = e[a];
1519
+ s != null && s.children && s.children.length && !s.redirect && (s.redirect = s.children[0].path);
1520
+ const { icon: l, permissionCode: b, extraIcon: w, frameSrc: i } = s;
1521
+ 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)
1522
+ s.component = Layout$3;
1523
+ else if ((r = s.meta) != null && r.frameSrc)
1524
+ s.component = IFrame;
1525
+ else if (s.menuCategory === "10") {
1526
+ const v = t.findIndex((T) => T.includes("lowcode-contain"));
1527
+ s.component = createComponent(
1528
+ s.name,
1529
+ defineAsyncComponent(() => import(
1530
+ /* @vite-ignore */
1531
+ t[v]
1532
+ ))
1533
+ ), Object.assign(s.meta, { moduleType: s.moduleType });
1534
+ } else if (s.menuCategory !== "5") {
1535
+ const v = t.findIndex((T) => T.includes(s.path));
1536
+ s.component = o[t[v]];
1537
+ }
1538
+ s != null && s.children && s.children.length ? addAsyncRoutes(s.children) : delete s.children;
1539
+ }
1540
+ return e;
1541
+ };
1542
+ function delCurrentRoute(e, o = !0) {
1543
+ const t = useMultiTagsStoreHook().multiTags.findIndex((r) => {
1544
+ if (e.query) {
1545
+ if (e.path === r.path)
1546
+ return e.query === r.query;
1547
+ } else
1548
+ return e.path === r.path;
1549
+ });
1550
+ if (useMultiTagsStoreHook().handleTags("splice", "", { startIndex: t, length: 1 }), handleAliveRoute(e.matched, "delete"), o) {
1551
+ const r = useMultiTagsStoreHook().handleTags("slice");
1552
+ router.push({
1553
+ path: r[0].path,
1554
+ query: r[0].query
1555
+ });
1556
+ }
1557
+ }
1558
+ const usePermissionStore = defineStore("udp-permission", {
1559
+ state: () => ({
1560
+ // 静态路由生成的菜单
1561
+ constantMenus,
1562
+ // 整体路由生成的菜单(静态、动态)
1563
+ wholeMenus: [],
1564
+ // 深拷贝一个菜单树,与导航菜单不冲突
1565
+ menusTree: [],
1566
+ // 整体路由(一维数组格式)
1567
+ flatteningRoutes: [],
1568
+ buttonAuth: [],
1569
+ // 缓存页面keepAlive
1570
+ cachePageList: []
1571
+ }),
1572
+ getters: {
1573
+ getButtonAuth() {
1574
+ return this.buttonAuth;
1575
+ }
1576
+ },
1577
+ actions: {
1578
+ asyncActionRoutes(e = []) {
1579
+ if (this.wholeMenus.length > 0) return;
1580
+ const o = findLastIndexOf(e, (r) => r.menuCode === "SysHome"), t = clone(this.constantMenus, !0);
1581
+ if (o !== -1) {
1582
+ const r = this.constantMenus.find((a) => a.name === "home");
1583
+ e[o].children && r.children.push(...e[o].children), e.splice(o, 1);
1584
+ }
1585
+ this.wholeMenus = filterTree(ascending(this.constantMenus.concat(e))), this.flatteningRoutes = formatFlatteningRoutes(this.constantMenus.concat(e)), this.menusTree = clone(this.wholeMenus, !0), this.constantMenus = t;
1586
+ },
1587
+ async changeSetting(e) {
1588
+ await this.asyncActionRoutes(e);
1589
+ },
1590
+ setAuthButton(e) {
1591
+ this.buttonAuth = e;
1592
+ },
1593
+ setWholeMenus(e) {
1594
+ this.wholeMenus = e;
1595
+ },
1596
+ cacheOperate({ mode: e, name: o }) {
1597
+ const t = this.cachePageList.findIndex((r) => r === o);
1598
+ switch (e) {
1599
+ case "refresh":
1600
+ this.cachePageList = this.cachePageList.filter((r) => r !== o);
1601
+ break;
1602
+ case "add":
1603
+ this.cachePageList.push(o);
1604
+ break;
1605
+ case "delete":
1606
+ t !== -1 && this.cachePageList.splice(t, 1);
1607
+ break;
1608
+ case "reset":
1609
+ this.cachePageList = [];
1610
+ break;
1611
+ }
1612
+ debounce(() => {
1613
+ let r = this.cachePageList.length;
1614
+ const a = getKeyList(useMultiTagsStoreHook().multiTags, "name");
1615
+ for (; r > 0; )
1616
+ a.findIndex((s) => s === this.cachePageList[r - 1]) === -1 && this.cachePageList.splice(
1617
+ this.cachePageList.indexOf(this.cachePageList[r - 1]),
1618
+ 1
1619
+ ), r--;
1620
+ }, 500)();
1621
+ },
1622
+ /** 清空缓存页面 */
1623
+ clearAllCachePage() {
1624
+ this.wholeMenus = [], this.menusTree = [], this.buttonAuth = [], this.cachePageList = [];
1625
+ }
1626
+ }
1627
+ });
1628
+ function usePermissionStoreHook() {
1629
+ return usePermissionStore(store);
1630
+ }
1631
+ const useMultiTagsStore = defineStore("udp-multiTags", {
1632
+ state: () => {
1633
+ var e, o;
1634
+ return {
1635
+ // 存储标签页信息(路由信息)
1636
+ multiTags: (e = storageLocal.getItem(`${responsiveStorageNameSpace()}configure`)) != null && e.multiTagsCache ? storageLocal.getItem(`${responsiveStorageNameSpace()}tags`) : [...routerArrays, ...usePermissionStoreHook().flatteningRoutes.filter((t) => {
1637
+ var r;
1638
+ return (r = t == null ? void 0 : t.meta) == null ? void 0 : r.fixedTag;
1639
+ })],
1640
+ multiTagsCache: (o = storageLocal.getItem(`${responsiveStorageNameSpace()}configure`)) == null ? void 0 : o.multiTagsCache
1641
+ };
1642
+ },
1643
+ getters: {
1644
+ getMultiTagsCache(e) {
1645
+ return e.multiTagsCache;
1646
+ }
1647
+ },
1648
+ actions: {
1649
+ multiTagsCacheChange(e) {
1650
+ this.multiTagsCache = e, e ? storageLocal.setItem(`${responsiveStorageNameSpace()}tags`, this.multiTags) : storageLocal.removeItem(`${responsiveStorageNameSpace()}tags`);
1651
+ },
1652
+ tagsCache(e) {
1653
+ this.getMultiTagsCache && storageLocal.setItem(`${responsiveStorageNameSpace()}tags`, e);
1654
+ },
1655
+ handleTags(e, o, t) {
1656
+ var r, a, s, l, b, w;
1657
+ switch (e) {
1658
+ case "equal":
1659
+ this.multiTags = o, this.tagsCache(this.multiTags);
1660
+ break;
1661
+ case "push":
1662
+ {
1663
+ const i = o;
1664
+ 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;
1665
+ 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));
1666
+ if (T && E && F) return;
1667
+ const k = ((w = i == null ? void 0 : i.meta) == null ? void 0 : w.dynamicLevel) ?? -1;
1668
+ if (k > 0 && this.multiTags.filter((S) => (S == null ? void 0 : S.path) === v).length >= k) {
1669
+ const S = this.multiTags.findIndex((C) => (C == null ? void 0 : C.path) === v);
1670
+ S !== -1 && this.multiTags.splice(S, 1);
1671
+ }
1672
+ this.multiTags.push(o), this.tagsCache(this.multiTags);
1673
+ }
1674
+ break;
1675
+ case "splice":
1676
+ if (t)
1677
+ this.multiTags.splice(t == null ? void 0 : t.startIndex, t == null ? void 0 : t.length);
1678
+ else {
1679
+ const i = this.multiTags.findIndex((v) => v.path === o);
1680
+ if (i === -1) return;
1681
+ this.multiTags.splice(i, 1);
1682
+ }
1683
+ return this.tagsCache(this.multiTags), this.multiTags;
1684
+ case "slice":
1685
+ return this.multiTags.slice(-1);
1686
+ }
1687
+ }
1688
+ }
1689
+ });
1690
+ function useMultiTagsStoreHook() {
1691
+ return useMultiTagsStore(store);
1692
+ }
1693
+ const Layout$2 = () => import("./layoutView-yb3DV2DQ.js"), homeRouter = {
1694
+ path: "/",
1695
+ name: "home",
1696
+ component: Layout$2,
1697
+ redirect: "/welcome",
1698
+ meta: {
1699
+ icon: "home-filled",
1700
+ title: "message.udp.home",
1701
+ rank: 0
1702
+ },
1703
+ children: [
1704
+ {
1705
+ path: "/welcome",
1706
+ name: "SuHome",
1707
+ component: () => import("./su-welcome-DYvSCUST.js"),
1708
+ meta: {
1709
+ title: "message.udp.home",
1710
+ keepAlive: !0
1711
+ }
1712
+ }
1713
+ ]
1714
+ }, Layout$1 = () => import("./layoutView-yb3DV2DQ.js"), errorRouter = {
1715
+ path: "/error",
1716
+ name: "error",
1717
+ component: Layout$1,
1718
+ redirect: "/error/403",
1719
+ meta: {
1720
+ showLink: !1,
1721
+ icon: "information-line",
1722
+ title: "message.udp.error",
1723
+ rank: 999
1724
+ },
1725
+ children: [
1726
+ {
1727
+ path: "/error/403",
1728
+ name: "403",
1729
+ component: () => import("./403-Dp617CWX.js"),
1730
+ meta: {
1731
+ title: "message.udp.fourZeroThree"
1732
+ }
1733
+ }
1734
+ ]
1735
+ }, Layout = () => import("./layoutView-yb3DV2DQ.js"), remainingRouter = [
1736
+ {
1737
+ path: "/login",
1738
+ name: "login",
1739
+ component: () => import("./login-RRpljbkm.js"),
1740
+ meta: {
1741
+ title: "message.udp.login",
1742
+ showLink: !1
1743
+ }
1744
+ },
1745
+ {
1746
+ path: "/error/404",
1747
+ name: "404",
1748
+ component: () => import("./404-Cz_Axb6Y.js"),
1749
+ meta: {
1750
+ title: "message.udp.fourZeroFour",
1751
+ showLink: !1
1752
+ }
1753
+ },
1754
+ {
1755
+ path: "/error/500",
1756
+ name: "500",
1757
+ component: () => import("./500-BGCtRNse.js"),
1758
+ meta: {
1759
+ title: "message.udp.five",
1760
+ showLink: !1
1761
+ }
1762
+ },
1763
+ // {
1764
+ // path: '/print/checkcard',
1765
+ // name: 'checkcard',
1766
+ // component: () => import('../../views/print/check-card.vue'),
1767
+ // meta: {
1768
+ // title: 'message.checkCard',
1769
+ // showLink: false
1770
+ // }
1771
+ // },
1772
+ // {
1773
+ // path: '/lowcode-design-platform',
1774
+ // name: 'LowcodeDesigin',
1775
+ // component: () => import('/src/views/udev/gantt/lcd-design.vue'),
1776
+ // meta: {
1777
+ // showLink: false
1778
+ // }
1779
+ // },
1780
+ // {
1781
+ // path: '/ulcd-app-menu',
1782
+ // name: 'AppMenu',
1783
+ // component: () => import('/src/views/udev/gantt/app-menu.vue'),
1784
+ // meta: {
1785
+ // showLink: false
1786
+ // }
1787
+ // },
1788
+ {
1789
+ path: "/redirect",
1790
+ name: "redirect",
1791
+ component: Layout,
1792
+ meta: {
1793
+ icon: "home-filled",
1794
+ title: "message.udp.home",
1795
+ showLink: !1,
1796
+ rank: 104
1797
+ },
1798
+ children: [
1799
+ {
1800
+ path: "/redirect/:path(.*)",
1801
+ // 2024-12-17
1802
+ name: "redirectView",
1803
+ component: () => import("./redirect-BqegffKC.js")
1804
+ }
1805
+ ]
1806
+ }
1807
+ ], systemRouter = /* @__PURE__ */ Object.assign({
1808
+ "../views/organization/company/Company.vue": () => import("./Company-IV3GTnzY.js"),
1809
+ "../views/organization/company/CompanyPanel.vue": () => import("./CompanyPanel-qV-_VtoL.js"),
1810
+ "../views/organization/department/Department.vue": () => import("./Department-B3W-OxW8.js"),
1811
+ "../views/organization/department/DepartmentPanel.vue": () => import("./DepartmentPanel-Cw3OWxE7.js"),
1812
+ "../views/organization/inv-org/InvOrganization.vue": () => import("./InvOrganization-cfT6riGU.js"),
1813
+ "../views/organization/org/Org.vue": () => import("./Org-CA7vTDIF.js"),
1814
+ "../views/organization/staff/Staff.vue": () => import("./Staff-BSf9Ypbk.js"),
1815
+ "../views/organization/staff/StaffInfo.vue": () => import("./StaffInfo-BNKasyMF.js"),
1816
+ "../views/organization/staff/StaffPanel.vue": () => import("./StaffPanel-Bpq0WVlH.js"),
1817
+ "../views/system/cron/cron-task.vue": () => import("./cron-task-C6FgQxTi.js"),
1818
+ "../views/system/menu/AuthorityPanel.vue": () => import("./AuthorityPanel-BeBNiwqc.js"),
1819
+ "../views/system/menu/SystemMenu.vue": () => import("./SystemMenu-C-7NAGon.js"),
1820
+ "../views/system/menu/menuInfo.vue": () => import("./menuInfo-CzPQyFhp.js"),
1821
+ "../views/system/role-assign/RoleAssign.vue": () => import("./RoleAssign-DZb9IRsm.js"),
1822
+ "../views/system/role-assign/RolePanel.vue": () => import("./RolePanel-BQb1LlhD.js"),
1823
+ "../views/system/role/AuthorityInfo.vue": () => import("./AuthorityInfo-DGGfm7IS.js"),
1824
+ "../views/system/role/Role.vue": () => import("./Role-_q3lQ8CZ.js"),
1825
+ "../views/system/role/RolePanel.vue": () => import("./RolePanel-CsLsz-Ds.js"),
1826
+ "../views/system/role/UserInfo.vue": () => import("./UserInfo-ClXKtyGo.js"),
1827
+ "../views/system/sys/sys-config.vue": () => import("./sys-config-DJ1vNQTy.js"),
1828
+ "../views/system/sysUser/SysUser.vue": () => import("./SysUser-FAABuNti.js"),
1829
+ "../views/system/sysUser/SysUserPanel.vue": () => import("./SysUserPanel-PxJeOgHm.js"),
1830
+ "../views/uapp/pda/pda-app.vue": () => import("./pda-app-Dvy3U-b6.js"),
1831
+ "../views/udev/coderule/code-rule.vue": () => import("./code-rule-AgCVDKFy.js"),
1832
+ "../views/udev/dict/DictView.vue": () => import("./DictView-C-i7e4hZ.js"),
1833
+ "../views/udev/dict/childView.vue": () => import("./childView-C_HmDQNd.js"),
1834
+ "../views/udev/lov/childView.vue": () => import("./childView-uUlBcTza.js"),
1835
+ "../views/udev/lov/lov-view.vue": () => import("./lov-view-C9-rjzZR.js"),
1836
+ "../views/upms/interface/log-in.vue": () => import("./log-in-e7D5Ss1P.js"),
1837
+ "../views/upms/interface/log-out.vue": () => import("./log-out--RRncZhN.js"),
1838
+ "../views/upms/user/login-log.vue": () => import("./login-log-CvVnyGi3.js"),
1839
+ "../views/urpt/dataSet/DataSet.vue": () => import("./DataSet-DT-rGICv.js"),
1840
+ "../views/urpt/design/DesignPanel.vue": () => import("./DesignPanel-BFxR2fHJ.js"),
1841
+ "../views/urpt/design/Preview.vue": () => import("./Preview-BlDMmpdR.js"),
1842
+ "../views/urpt/design/ReportDesign.vue": () => import("./ReportDesign-hFhq5UVE.js"),
1843
+ "../views/urpt/query/ReportQuery.vue": () => import("./ReportQuery-ChkWEyxT.js"),
1844
+ "../views/urpt/query/ReportQueryFrom.vue": () => import("./ReportQueryFrom-KVyD_8Dj.js"),
1845
+ "../views/urpt/report-request/ReportDefine.vue": () => import("./ReportDefine-Cub_85LA.js"),
1846
+ "../views/urpt/static-resource/resource.vue": () => import("./resource-Fy0lFkSV.js"),
1847
+ "../views/urpt/template/ReportTemplate.vue": () => import("./ReportTemplate-ag9NDvh2.js")
1848
+ }), routes = [homeRouter, errorRouter], constantRoutes = formatTwoStageRoutes(
1849
+ formatFlatteningRoutes(buildHierarchyTree(ascending(routes)))
1850
+ ), constantMenus = ascending(routes).concat(...remainingRouter), remainingPaths = Object.keys(remainingRouter).map((e) => remainingRouter[e].path), router = createRouter({
1851
+ history: createWebHistory(getEnv().VITE_ROUTER_HISTORY),
1852
+ routes: constantRoutes.concat(...remainingRouter),
1853
+ strict: !0,
1854
+ scrollBehavior(e, o, t) {
1855
+ return new Promise((r) => {
1856
+ if (t)
1857
+ return t;
1858
+ if (o.meta.saveSrollTop) {
1859
+ const a = document.documentElement.scrollTop || document.body.scrollTop;
1860
+ r({ left: 0, top: a });
1861
+ }
1862
+ });
1863
+ }
1864
+ });
1865
+ function resetRouter() {
1866
+ router.getRoutes().forEach((e) => {
1867
+ const { name: o, meta: t } = e;
1868
+ o && router.hasRoute(o) && (t != null && t.backstage) && (router.removeRoute(o), router.options.routes = formatTwoStageRoutes(
1869
+ formatFlatteningRoutes(buildHierarchyTree(ascending(routes)))
1870
+ ));
1871
+ }), usePermissionStoreHook().clearAllCachePage();
1872
+ }
1873
+ let views = null;
1874
+ function setViews(e) {
1875
+ views = e, Object.assign(views, systemRouter);
1876
+ }
1877
+ function getViews() {
1878
+ return views;
1879
+ }
1880
+ const whiteList = ["/login"];
1881
+ router.beforeEach((e, o, t) => {
1882
+ var l, b, w, i;
1883
+ (l = e.meta) != null && l.keepAlive && (handleAliveRoute(e, "add"), (o.name === void 0 || o.name === "redirect") && handleAliveRoute(e));
1884
+ const r = cookies.get(kLOGINER);
1885
+ NProgress.start();
1886
+ const a = isUrl(e == null ? void 0 : e.name);
1887
+ function s() {
1888
+ whiteList.includes(e.fullPath) ? t(o.fullPath) : t();
1889
+ }
1890
+ if (r)
1891
+ if (o != null && o.name && (o == null ? void 0 : o.name) !== "login") {
1892
+ const v = (b = e.matched.find(
1893
+ (T) => T.path === e.path || T.name === e.name && e.params
1894
+ )) == null ? void 0 : b.components;
1895
+ 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" });
1896
+ } else
1897
+ usePermissionStoreHook().wholeMenus.length === 0 && initRouter(r).then((v) => {
1898
+ var T;
1899
+ if (!useMultiTagsStoreHook().getMultiTagsCache) {
1900
+ const { path: E } = e, k = findIndexOf(remainingRouter, (C) => C.path === E) === -1 ? v.options.routes[0].children : v.options.routes, S = findRouteByPath(E, k);
1901
+ if (S && ((T = S.meta) != null && T.title)) {
1902
+ const { path: C, name: A, meta: N } = S;
1903
+ useMultiTagsStoreHook().handleTags("push", { path: C, name: A, meta: N });
1904
+ }
1905
+ }
1906
+ isEmpty(e.name) && v.push(e.fullPath);
1907
+ }), 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();
1908
+ else
1909
+ e.path !== "/login" ? whiteList.indexOf(e.path) !== -1 ? t() : t({ path: "/login" }) : t();
1910
+ });
1911
+ router.afterEach(() => {
1912
+ var e;
1913
+ (e = NProgress) == null || e.done();
1914
+ });
1915
+ function _isSlot(e) {
1916
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !isVNode(e);
1917
+ }
1918
+ const VxetableRender = (VXETable, {
1919
+ serviceApi,
1920
+ i18n
1921
+ }) => {
1922
+ const dict = storageLocal.getItem("kLov");
1923
+ VXETable.renderer.add("#SuSelect", {
1924
+ renderTableEdit(e, o) {
1925
+ let t;
1926
+ const {
1927
+ row: r,
1928
+ column: a
1929
+ } = o, {
1930
+ options: s,
1931
+ props: l,
1932
+ optionProps: b = {},
1933
+ events: w
1934
+ } = e, {
1935
+ label: i = "label",
1936
+ value: v = "value"
1937
+ } = b, {
1938
+ loading: T = !1,
1939
+ multiple: E,
1940
+ mapField: F
1941
+ } = l, k = useComponent(), S = E ? `_${a.field}` : a.field;
1942
+ k.setDefaultValue(l, r, a.field);
1943
+ function C(D) {
1944
+ k.remote(D, a.field, e);
1945
+ }
1946
+ function A(D) {
1947
+ k.selectChange(D, data, a.field, e, {
1948
+ column: a,
1949
+ datasource: "row"
1950
+ });
1951
+ }
1952
+ function N(D) {
1953
+ w != null && w.input && w.input(o, D);
1954
+ }
1955
+ function x() {
1956
+ k.clear(r, a.field, F, w, "row");
1957
+ }
1958
+ function R() {
1959
+ !s.length && C(""), w != null && w.focus && w.focus(o, a.field);
1960
+ }
1961
+ return [createVNode(resolveComponent("el-select"), mergeProps({
1962
+ modelValue: r[S],
1963
+ "onUpdate:modelValue": (D) => r[S] = D,
1964
+ filterable: !0,
1965
+ remote: !0,
1966
+ clearable: !0,
1967
+ placeholder: "请录入关键字搜索",
1968
+ style: "width: 100%",
1969
+ "remote-method": C,
1970
+ loading: T
1971
+ }, l, {
1972
+ onFocus: () => R(),
1973
+ onChange: (D) => A(D),
1974
+ onClear: () => x(),
1975
+ onInput: (D) => N(D)
1976
+ }), _isSlot(t = s.map((D) => createVNode(resolveComponent("el-option"), {
1977
+ key: D[v],
1978
+ label: D[i],
1979
+ value: D[v]
1980
+ }, null))) ? t : {
1981
+ default: () => [t]
1982
+ })];
1983
+ },
1984
+ // 可编辑显示模板
1985
+ renderTableCell(renderOpts, params) {
1986
+ const {
1987
+ row,
1988
+ column
1989
+ } = params, {
1990
+ props
1991
+ } = renderOpts, {
1992
+ textValue,
1993
+ multiple
1994
+ } = props;
1995
+ let val = row[column.field];
1996
+ return textValue && (val = eval(`row.${textValue}`) || row[column.field]), val && multiple && isArray(val) && (val = val && val.join(",")), [createVNode("span", null, [val])];
1997
+ },
1998
+ renderItemContent(e, o) {
1999
+ let t;
2000
+ const {
2001
+ data: r,
2002
+ field: a
2003
+ } = o, {
2004
+ options: s,
2005
+ props: l,
2006
+ optionProps: b = {},
2007
+ events: w
2008
+ } = e, {
2009
+ label: i = "label",
2010
+ value: v = "value"
2011
+ } = b, {
2012
+ mapField: T,
2013
+ multiple: E,
2014
+ loading: F = !1
2015
+ } = l, k = useComponent(), S = E ? `_${a}` : a;
2016
+ k.setDefaultValue(l, r, a);
2017
+ async function C(D) {
2018
+ k.remote(D, a, e);
2019
+ }
2020
+ function A(D) {
2021
+ k.selectChange(D, r, a, e, {
2022
+ datasource: "data"
2023
+ });
2024
+ }
2025
+ function N(D) {
2026
+ w != null && w.input && w.input(o, D);
2027
+ }
2028
+ function x() {
2029
+ k.clear(r, a, T, w, "data");
2030
+ }
2031
+ function R() {
2032
+ !s.length && C(""), w != null && w.focus && w.focus(o);
2033
+ }
2034
+ return [createVNode(resolveComponent("el-select"), mergeProps({
2035
+ modelValue: r[S],
2036
+ "onUpdate:modelValue": (D) => r[S] = D,
2037
+ filterable: !0,
2038
+ remote: !0,
2039
+ clearable: !0,
2040
+ style: "width: 100%",
2041
+ placeholder: "请录入关键字搜索",
2042
+ loading: F,
2043
+ "remote-method": C
2044
+ }, l, {
2045
+ onFocus: () => R(),
2046
+ onChange: (D) => A(D),
2047
+ onClear: () => x(),
2048
+ onInput: () => N()
2049
+ }), _isSlot(t = s.map((D) => createVNode(resolveComponent("el-option"), {
2050
+ key: D[v],
2051
+ label: D[i],
2052
+ value: D[v]
2053
+ }, null))) ? t : {
2054
+ default: () => [t]
2055
+ })];
2056
+ }
2057
+ }), VXETable.renderer.add("#SuDateRange", {
2058
+ renderItemContent(e, o) {
2059
+ const {
2060
+ data: t,
2061
+ field: r
2062
+ } = o, {
2063
+ props: a
2064
+ } = e;
2065
+ a != null && a.defaultValue && !t[r] && (t[r] = a.defaultValue, a.defaultValue = a.required ? a.defaultValue : null);
2066
+ const s = /* @__PURE__ */ new Date(), l = [{
2067
+ text: i18n("message.udp.today", !0),
2068
+ value: () => [b(1, "day"), s]
2069
+ }, {
2070
+ text: i18n("message.udp.yesterday", !0),
2071
+ value: () => [b(2, "day"), b(2, "day")]
2072
+ }, {
2073
+ text: i18n("message.udp.lastWeek", !0),
2074
+ value: () => [b(7, "day"), s]
2075
+ }, {
2076
+ text: i18n("message.udp.lastMonth", !0),
2077
+ value: () => [b(1, "month"), s]
2078
+ }, {
2079
+ text: i18n("message.udp.threeMonth", !0),
2080
+ value: () => [b(3, "month"), s]
2081
+ }, {
2082
+ text: i18n("message.udp.halfYear", !0),
2083
+ value: () => [b(6, "month"), s]
2084
+ }, {
2085
+ text: i18n("message.udp.anniversary", !0),
2086
+ value: () => [b(1, "year"), s]
2087
+ }], b = (w, i) => dayjs().subtract(w, i).add("1", "day").format();
2088
+ return [createVNode(resolveComponent("el-date-picker"), mergeProps({
2089
+ modelValue: t[r],
2090
+ "onUpdate:modelValue": (w) => t[r] = w,
2091
+ type: (a == null ? void 0 : a.type) || "daterange",
2092
+ shortcuts: l,
2093
+ style: "width: 100%",
2094
+ "range-separator": i18n("message.to", !0),
2095
+ "start-placeholder": i18n("message.startDate", !0),
2096
+ "end-placeholder": i18n("message.endDate", !0)
2097
+ }, a), null)];
2098
+ }
2099
+ }), VXETable.renderer.add("#select", {
2100
+ renderTableEdit(e, o) {
2101
+ let t;
2102
+ const {
2103
+ row: r,
2104
+ column: a
2105
+ } = o, {
2106
+ options: s,
2107
+ props: l,
2108
+ optionProps: b = {},
2109
+ events: w
2110
+ } = e, {
2111
+ label: i = "label",
2112
+ value: v = "value",
2113
+ extLabel: T
2114
+ } = b, {
2115
+ mapField: E
2116
+ } = l, F = useComponent();
2117
+ l.multiple && r[a.field] && !isArray(r[a.field]) && r[a.field].split(",").forEach((C) => {
2118
+ !s.some((N) => N[i] === C) && s.push({
2119
+ [v]: C,
2120
+ [i]: C
2121
+ });
2122
+ });
2123
+ function k(C) {
2124
+ F.selectChange(C, r, a.field, e, {
2125
+ column: a,
2126
+ datasource: "row"
2127
+ });
2128
+ }
2129
+ function S() {
2130
+ F.clear(r, a.field, E, w, "row");
2131
+ }
2132
+ return [createVNode(resolveComponent("el-select"), mergeProps({
2133
+ modelValue: r[a.field],
2134
+ "onUpdate:modelValue": (C) => r[a.field] = C,
2135
+ filterable: !0,
2136
+ clearable: !0
2137
+ }, l, {
2138
+ style: "width: 100%",
2139
+ onChange: (C) => k(C),
2140
+ onClear: () => S()
2141
+ }), _isSlot(t = s.map((C) => createVNode(resolveComponent("el-option"), {
2142
+ key: C[v],
2143
+ label: T && C[T] ? C[v] : C[i],
2144
+ value: C[v]
2145
+ }, null))) ? t : {
2146
+ default: () => [t]
2147
+ })];
2148
+ },
2149
+ renderTableDefault(e, o) {
2150
+ let t;
2151
+ const {
2152
+ row: r,
2153
+ column: a
2154
+ } = o, {
2155
+ options: s,
2156
+ props: l,
2157
+ optionProps: b = {},
2158
+ events: w
2159
+ } = e, {
2160
+ label: i = "label",
2161
+ value: v = "value",
2162
+ extLabel: T
2163
+ } = b, {
2164
+ mapField: E
2165
+ } = l, F = useComponent();
2166
+ l.multiple && r[a.field] && !isArray(r[a.field]) && r[a.field].split(",").forEach((C) => {
2167
+ !s.some((N) => N[i] === C) && s.push({
2168
+ [v]: C,
2169
+ [i]: C
2170
+ });
2171
+ });
2172
+ function k(C) {
2173
+ F.selectChange(C, r, a.field, e, {
2174
+ column: a,
2175
+ datasource: "row"
2176
+ });
2177
+ }
2178
+ function S() {
2179
+ F.clear(r, a.field, E, w, "row");
2180
+ }
2181
+ return [createVNode(resolveComponent("el-select"), mergeProps({
2182
+ modelValue: r[a.field],
2183
+ "onUpdate:modelValue": (C) => r[a.field] = C,
2184
+ filterable: !0,
2185
+ clearable: !0
2186
+ }, l, {
2187
+ style: "width: 100%",
2188
+ onChange: (C) => k(C),
2189
+ onClear: () => S()
2190
+ }), _isSlot(t = s.map((C) => createVNode(resolveComponent("el-option"), {
2191
+ key: C[v],
2192
+ label: T && C[T] ? C[v] : C[i],
2193
+ value: C[v]
2194
+ }, null))) ? t : {
2195
+ default: () => [t]
2196
+ })];
2197
+ },
2198
+ // 可编辑显示模板
2199
+ renderTableCell(renderOpts, params) {
2200
+ const {
2201
+ row,
2202
+ column
2203
+ } = params, {
2204
+ props,
2205
+ options,
2206
+ optionProps
2207
+ } = renderOpts, {
2208
+ label = "label",
2209
+ value = "value",
2210
+ extLabel
2211
+ } = optionProps, {
2212
+ textValue
2213
+ } = props;
2214
+ let val = row[column.field];
2215
+ const item = options.find((e) => e[value] === val);
2216
+ 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])];
2217
+ },
2218
+ renderItemContent(e, o) {
2219
+ let t;
2220
+ const {
2221
+ data: r,
2222
+ field: a
2223
+ } = o, {
2224
+ options: s,
2225
+ props: l,
2226
+ optionProps: b = {},
2227
+ events: w
2228
+ } = e, {
2229
+ label: i = "label",
2230
+ value: v = "value"
2231
+ } = b, T = useComponent(), {
2232
+ defaultValues: E,
2233
+ mapField: F
2234
+ } = l;
2235
+ E && (r[a] = E);
2236
+ function k(C) {
2237
+ T.selectChange(C, r, a, e, {
2238
+ datasource: "data"
2239
+ });
2240
+ }
2241
+ function S() {
2242
+ T.clear(r, a, F, w, "data");
2243
+ }
2244
+ return [createVNode(resolveComponent("el-select"), mergeProps({
2245
+ modelValue: r[a],
2246
+ "onUpdate:modelValue": (C) => r[a] = C,
2247
+ filterable: !0,
2248
+ clearable: !0,
2249
+ style: "width: 100%"
2250
+ }, l, {
2251
+ onChange: (C) => k(C),
2252
+ onClear: () => S()
2253
+ }), _isSlot(t = s.map((C) => createVNode(resolveComponent("el-option"), {
2254
+ key: C[v],
2255
+ label: C[i],
2256
+ value: C[v]
2257
+ }, null))) ? t : {
2258
+ default: () => [t]
2259
+ })];
2260
+ }
2261
+ }), VXETable.renderer.add("#lov", {
2262
+ renderItemContent(e, o) {
2263
+ const {
2264
+ data: t,
2265
+ field: r
2266
+ } = o, {
2267
+ props: a,
2268
+ events: s
2269
+ } = e, l = useComponent(), {
2270
+ defaultValues: b,
2271
+ mapField: w
2272
+ } = a;
2273
+ b && (t[r] = b);
2274
+ function i(T, E) {
2275
+ const {
2276
+ mapField: F,
2277
+ field: k,
2278
+ displayName: S,
2279
+ multiple: C
2280
+ } = a;
2281
+ if (C) {
2282
+ if (C) {
2283
+ const N = {};
2284
+ t[S || k] = T.reduce((x, R) => {
2285
+ for (const D in F)
2286
+ N[D] = x ? N[D] + "," + R[F[D]] : R[F[D]];
2287
+ return x = x ? x + "," + R[S || k] : R[S || k], x;
2288
+ }, ""), Object.assign(t, N);
2289
+ }
2290
+ } else {
2291
+ const N = {
2292
+ [S || k]: T[E || S || k]
2293
+ };
2294
+ for (const x in F)
2295
+ N[x] = T[F[x]];
2296
+ Object.assign(t, N);
2297
+ }
2298
+ const A = {
2299
+ row: t,
2300
+ property: k,
2301
+ item: T,
2302
+ field: k
2303
+ };
2304
+ s != null && s.change && s.change(A);
2305
+ }
2306
+ function v() {
2307
+ l.clear(t, r, w, s, "data");
2308
+ }
2309
+ return [createVNode(resolveComponent("ut-lov"), mergeProps({
2310
+ record: t
2311
+ }, a, {
2312
+ mode: "vxe",
2313
+ onChange: (T, E) => i(T, E),
2314
+ onClear: () => v()
2315
+ }), null)];
2316
+ },
2317
+ // 单元格编辑
2318
+ renderTableEdit(e, o) {
2319
+ const {
2320
+ row: t,
2321
+ column: r
2322
+ } = o, {
2323
+ props: a,
2324
+ events: s
2325
+ } = e, l = useComponent();
2326
+ function b(i, v) {
2327
+ const {
2328
+ mapField: T,
2329
+ field: E,
2330
+ displayName: F,
2331
+ multiple: k
2332
+ } = a;
2333
+ if (!k) {
2334
+ const S = {
2335
+ [F || E]: i[v || F || E]
2336
+ };
2337
+ for (const C in T)
2338
+ S[C] = i[T[C]];
2339
+ Object.assign(t, S);
2340
+ }
2341
+ s != null && s.change && s.change(o, i, t[r.field]);
2342
+ }
2343
+ function w() {
2344
+ l.clear(t, field, mapField, s, "row");
2345
+ }
2346
+ return [createVNode(resolveComponent("ut-lov"), mergeProps({
2347
+ record: t,
2348
+ mode: "vxe"
2349
+ }, a, {
2350
+ onChange: (i, v) => b(i, v),
2351
+ onClear: () => w()
2352
+ }), null)];
2353
+ },
2354
+ // 单元格默认
2355
+ renderTableDefault(e, o) {
2356
+ const {
2357
+ row: t,
2358
+ column: r
2359
+ } = o, {
2360
+ props: a,
2361
+ events: s
2362
+ } = e, l = useComponent();
2363
+ function b(i, v) {
2364
+ const {
2365
+ mapField: T,
2366
+ field: E,
2367
+ displayName: F,
2368
+ multiple: k
2369
+ } = a;
2370
+ if (!k) {
2371
+ const S = {
2372
+ [F || E]: i[v || F || E]
2373
+ };
2374
+ for (const C in T)
2375
+ S[C] = i[T[C]];
2376
+ Object.assign(t, S);
2377
+ }
2378
+ s != null && s.change && s.change(o, i, t[r.field]);
2379
+ }
2380
+ function w() {
2381
+ l.clear(t, field, mapField, s, "row");
2382
+ }
2383
+ return [createVNode(resolveComponent("ut-lov"), mergeProps({
2384
+ record: t,
2385
+ mode: "ele"
2386
+ }, a, {
2387
+ onChange: (i, v) => b(i, v),
2388
+ onClear: () => w()
2389
+ }), null)];
2390
+ },
2391
+ // 可编辑显示模板
2392
+ renderTableCell(e, o) {
2393
+ const {
2394
+ row: t,
2395
+ column: r
2396
+ } = o;
2397
+ return [createVNode("span", null, [t[r.field]])];
2398
+ }
2399
+ }), VXETable.renderer.add("#upload", {
2400
+ renderItemContent(e, o) {
2401
+ const {
2402
+ data: t,
2403
+ field: r
2404
+ } = o, {
2405
+ props: a,
2406
+ events: s
2407
+ } = e;
2408
+ function l() {
2409
+ t[r] = "", componentHook.clear(t, r, a.mapField, s, "data");
2410
+ }
2411
+ return [createVNode(resolveComponent("form-upload2"), mergeProps({
2412
+ record: t,
2413
+ field: r
2414
+ }, a, {
2415
+ onClear: () => l()
2416
+ }), null)];
2417
+ }
2418
+ }), VXETable.renderer.add("#tag", {
2419
+ // 默认显示模板
2420
+ renderTableDefault(e, o) {
2421
+ let t;
2422
+ const {
2423
+ row: r,
2424
+ column: a
2425
+ } = o, {
2426
+ props: {
2427
+ code: s,
2428
+ tagMap: l
2429
+ }
2430
+ } = e;
2431
+ function b() {
2432
+ return r[a.field] ? l[r[a.field]] : null;
2433
+ }
2434
+ return [r[a.field] ? createVNode(resolveComponent("el-tag"), {
2435
+ effect: "dark",
2436
+ type: b()
2437
+ }, _isSlot(t = getValue(s, r[a.field])) ? t : {
2438
+ default: () => [t]
2439
+ }) : null];
2440
+ }
2441
+ }), VXETable.renderer.add("#switch", {
2442
+ renderTableDefault(e, o) {
2443
+ const {
2444
+ row: t,
2445
+ column: r
2446
+ } = o, {
2447
+ props: {
2448
+ code: a,
2449
+ activeValue: s,
2450
+ inactiveValue: l
2451
+ },
2452
+ events: b
2453
+ } = e;
2454
+ function w(i) {
2455
+ const v = {
2456
+ row: t,
2457
+ column: r,
2458
+ value: i
2459
+ };
2460
+ b != null && b.change && b.change(v);
2461
+ }
2462
+ return [t[r.field] ? createVNode(resolveComponent("el-switch"), mergeProps({
2463
+ modelValue: t[r.field],
2464
+ "onUpdate:modelValue": (i) => t[r.field] = i,
2465
+ "inline-prompt": !0,
2466
+ size: "large",
2467
+ style: "--el-switch-on-color: #13ce66; --el-switch-off-color: #E6A23C"
2468
+ }, e.props, {
2469
+ "active-text": getValue(a, s),
2470
+ "inactive-text": getValue(a, l),
2471
+ onChange: (i) => w(i)
2472
+ }), null) : null];
2473
+ }
2474
+ }), VXETable.renderer.add("#iconSelect", {
2475
+ renderTableEdit(e, o) {
2476
+ const {
2477
+ row: t,
2478
+ column: r
2479
+ } = o;
2480
+ return [createVNode(resolveComponent("SuIconSelect"), {
2481
+ modelValue: t[r.field],
2482
+ "onUpdate:modelValue": (a) => t[r.field] = a,
2483
+ teleported: !1
2484
+ }, null)];
2485
+ },
2486
+ renderTableCell(e, o) {
2487
+ const {
2488
+ row: t,
2489
+ column: r
2490
+ } = o;
2491
+ return [createVNode(resolveComponent("IconifyIconOffline"), {
2492
+ icon: t[r.field],
2493
+ style: "font-size: 16px;"
2494
+ }, null)];
2495
+ },
2496
+ renderItemContent(e, o) {
2497
+ const {
2498
+ data: t,
2499
+ field: r
2500
+ } = o;
2501
+ return [createVNode(resolveComponent("SuIconSelect"), {
2502
+ modelValue: t[r],
2503
+ "onUpdate:modelValue": (a) => t[r] = a,
2504
+ teleported: !0
2505
+ }, null)];
2506
+ }
2507
+ }), VXETable.renderer.add("#treeSelect", {
2508
+ renderTableEdit(e, o) {
2509
+ const {
2510
+ row: t,
2511
+ column: r
2512
+ } = o, {
2513
+ props: a,
2514
+ sourceData: s,
2515
+ events: l
2516
+ } = e;
2517
+ return [createVNode(resolveComponent("el-tree-select"), mergeProps({
2518
+ modelValue: t[r.field],
2519
+ "onUpdate:modelValue": (b) => t[r.field] = b,
2520
+ data: s,
2521
+ "check-strictly": !0
2522
+ }, a, {
2523
+ filterable: !0,
2524
+ onCheckChange: (b, w, i) => onCheckChange(b, w, i, l),
2525
+ onNodeClick: (b, w, i) => onNodeClick(b, w, i, l),
2526
+ onCurrentChange: (b, w) => onCurrentChange(b, w, l)
2527
+ }), null)];
2528
+ },
2529
+ renderTableCell(e, o) {
2530
+ const {
2531
+ row: t,
2532
+ column: r
2533
+ } = o, {
2534
+ sourceData: a,
2535
+ props: s = {}
2536
+ } = e, {
2537
+ children: l = "children",
2538
+ label: b = "label"
2539
+ } = s, w = findTree(a, (i) => i.value === t[r.field], {
2540
+ children: l
2541
+ });
2542
+ return w ? [createVNode("span", null, [w.item[b]])] : null;
2543
+ },
2544
+ renderItemContent(e, o) {
2545
+ const {
2546
+ data: t,
2547
+ field: r
2548
+ } = o, {
2549
+ props: a,
2550
+ sourceData: s,
2551
+ events: l
2552
+ } = e;
2553
+ return [createVNode(resolveComponent("el-tree-select"), mergeProps({
2554
+ modelValue: t[r],
2555
+ "onUpdate:modelValue": (b) => t[r] = b,
2556
+ data: s,
2557
+ "check-strictly": !0
2558
+ }, a, {
2559
+ filterable: !0,
2560
+ onCheckChange: (b, w, i) => onCheckChange(b, w, i, l),
2561
+ onNodeClick: (b, w, i) => onNodeClick(b, w, i, l),
2562
+ onCurrentChange: (b, w) => onCurrentChange(b, w, l)
2563
+ }), null)];
2564
+ }
2565
+ });
2566
+ const useComponent = () => ({
2567
+ clear: (a, s, l, b, w) => {
2568
+ if (a[s] = null, !isEmpty(l))
2569
+ for (const i in l)
2570
+ a[i] = null;
2571
+ b != null && b.clear && b.clear({
2572
+ [w]: a,
2573
+ field: s
2574
+ });
2575
+ },
2576
+ remote: async (a, s, l) => {
2577
+ const {
2578
+ options: b,
2579
+ props: w,
2580
+ events: i
2581
+ } = l, {
2582
+ fetchField: v,
2583
+ url: T,
2584
+ defaultParams: E = {},
2585
+ method: F = "get"
2586
+ } = w, k = getCookieParam(), S = Object.assign({
2587
+ pageSize: 20,
2588
+ pageNum: 1,
2589
+ ...k,
2590
+ ...E
2591
+ }, {
2592
+ [v || s]: a
2593
+ });
2594
+ if (w.loading) return;
2595
+ let C;
2596
+ try {
2597
+ 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));
2598
+ } finally {
2599
+ w.loading = !1;
2600
+ }
2601
+ },
2602
+ selectChange: (a, s, l, b, w) => {
2603
+ let i = null;
2604
+ const {
2605
+ datasource: v
2606
+ } = w, {
2607
+ options: T,
2608
+ props: E,
2609
+ optionProps: F = {},
2610
+ events: k
2611
+ } = b, S = {
2612
+ [v]: s,
2613
+ field: l
2614
+ };
2615
+ s[l] = null, !isEmpty(a) && (E != null && E.multiple) ? (s[l] = a.join(","), i = [], a.forEach((C) => {
2616
+ const A = T.find((N) => C === N[F == null ? void 0 : F.value]);
2617
+ A && !isEmpty(E.mapField) && isObject(E.mapField) && Object.keys(E.mapField).forEach((N) => {
2618
+ const x = A[E.mapField[N]], R = s[N] ? s[N].toString() : "";
2619
+ s[N] = R && !R.includes(x) ? `${R},${x}` : x;
2620
+ }), A && i.push(A);
2621
+ }), Object.assign(S, {
2622
+ options: i
2623
+ })) : (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) => {
2624
+ s[C] = i ? i[E.mapField[C]] : null;
2625
+ }), Object.assign(S, {
2626
+ option: i
2627
+ })), v === "row" && Object.assign(S, {
2628
+ column: w.column
2629
+ }), k != null && k.change && k.change(S);
2630
+ },
2631
+ setDefaultValue: (a, s, l) => {
2632
+ var v;
2633
+ const {
2634
+ multiple: b,
2635
+ defaultValue: w
2636
+ } = a, i = b ? `_${l}` : l;
2637
+ !s[l] && w && (s[l] = w, isPlainObject(w) && Object.keys(w).forEach((E) => {
2638
+ s[E] = s[E] || w[E];
2639
+ })), !s[i] && s[l] && (s[i] = b ? (v = s[l]) == null ? void 0 : v.split(",") : s[l]);
2640
+ }
2641
+ }), onCheckChange = (e, o, t, r) => {
2642
+ console.log(e, o, t), r != null && r.checkChange && (r == null || r.checkChange(e, o, t));
2643
+ }, onNodeClick = (e, o, t, r) => {
2644
+ r != null && r.checkChange && (r == null || r.checkChange(e, o, t));
2645
+ }, onCurrentChange = (e, o, t) => {
2646
+ t != null && t.checkChange && (t == null || t.checkChange(e, o));
2647
+ };
2648
+ function getValue(e, o) {
2649
+ var t, r, a;
2650
+ 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;
2651
+ }
2652
+ return VXETable;
2653
+ }, getCookieParam = () => {
2654
+ const e = "kCookies_param";
2655
+ return cookies.get(e) ? JSON.parse(cookies.get(e)) : {};
2656
+ };
2657
+ VxetableRender(VXETable, { serviceApi: getServiceApi(), i18n: transformI18n });
2658
+ const defaultConfig = {
2659
+ // 对组件内置的提示语进行国际化翻译
2660
+ // @ts-ignore
2661
+ i18n: (e, o) => geti18n().global.t(e, o),
2662
+ // 可选,对参数中的列头、校验提示..等进行自动翻译(只对支持国际化的有效)
2663
+ translate(e) {
2664
+ return e && ["message.", "el."].findIndex((t) => e.includes(t)) !== -1 ? geti18n().global.t.call(geti18n().global.locale, e) : e;
2665
+ }
2666
+ };
2667
+ function setTableConfig(e = {}) {
2668
+ VXETable.setConfig(merge(defaultConfig, e));
2669
+ }
2670
+ function setTheme(e) {
2671
+ VxeUI.setTheme(e);
2672
+ }
2673
+ 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) => {
2674
+ for (var t in o) p(e, t, { get: o[t], enumerable: !0 });
2675
+ }, y = (e, o, t, r) => {
2676
+ 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 });
2677
+ return e;
2678
+ }, m = (e, o, t) => (y(e, o, "default"), t), f = (e, o, t) => (_(e, typeof o != "symbol" ? o + "" : o, t), t), c = {};
2679
+ P(c, { Vue: () => I });
2680
+ m(c, I);
2681
+ var g = class {
2682
+ static install(e, o) {
2683
+ let { nameSpace: t = this._nameSpace, memory: r } = o;
2684
+ return r && this.clearAll(t, r), new g(e, o);
2685
+ }
2686
+ static clearAll(e, o) {
2687
+ Object.keys(o).forEach((t) => {
2688
+ let r = e + t;
2689
+ Object.prototype.hasOwnProperty.call(window.localStorage, r) && window.localStorage.removeItem(r);
2690
+ });
2691
+ }
2692
+ static get(e) {
2693
+ return JSON.parse(window.localStorage.getItem(e));
2694
+ }
2695
+ static set(e, o) {
2696
+ o = typeof o == "object" ? JSON.stringify(o) : o, window.localStorage.setItem(e, o);
2697
+ }
2698
+ static getData(e, o) {
2699
+ if (Object.prototype.hasOwnProperty.call(window.localStorage, this._getStaticKey(o, e))) return JSON.parse(window.localStorage.getItem(this._getStaticKey(o, e)));
2700
+ }
2701
+ constructor(e, o) {
2702
+ 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;
2703
+ Object.keys(b).length === 0 && console.warn("key cannot be empty"), Object.keys(b).forEach((i) => {
2704
+ let v = b[i];
2705
+ 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]);
2706
+ });
2707
+ let w = r === 3 ? e.config.globalProperties : e.prototype;
2708
+ Reflect.defineProperty(w, "$storage", { get: () => b });
2709
+ }
2710
+ }, n = g;
2711
+ f(n, "_nameSpace", "rs-"), f(n, "_getStaticKey", (e, o) => `${e ?? g._nameSpace}${o}`);
2712
+ const injectResponsiveStorage = (e, o) => {
2713
+ const t = responsiveStorageNameSpace(), r = Object.assign(
2714
+ {
2715
+ // 国际化 默认中文zh
2716
+ locale: n.getData("locale", t) ?? {
2717
+ locale: o.Locale ?? "zh"
2718
+ },
2719
+ // layout模式以及主题
2720
+ layout: n.getData("layout", t) ?? {
2721
+ layout: o.Layout ?? "vertical",
2722
+ theme: o.Theme ?? "default",
2723
+ darkMode: o.DarkMode ?? !1,
2724
+ sidebarStatus: o.SidebarStatus ?? !0,
2725
+ epThemeColor: o.EpThemeColor ?? "#409EFF",
2726
+ themeColor: o.Theme ?? "light",
2727
+ // 主题色(对应项目配置中的主题色,与theme不同的是它不会受到浅色、深色整体风格切换的影响,只会在手动点击主题色时改变)
2728
+ overallStyle: o.OverallStyle ?? "light"
2729
+ // 整体风格(浅色:light、深色:dark、自动:system)
2730
+ },
2731
+ configure: n.getData("configure", t) ?? {
2732
+ grey: o.Grey ?? !1,
2733
+ weak: o.Weak ?? !1,
2734
+ hideTabs: o.HideTabs ?? !1,
2735
+ showLogo: o.ShowLogo ?? !0,
2736
+ showModel: o.ShowModel ?? "smart",
2737
+ multiTagsCache: o.MultiTagsCache ?? !1
2738
+ },
2739
+ cnd: n.getData("cnd", t) ?? {}
2740
+ },
2741
+ o.MultiTagsCache ? {
2742
+ // 默认显示首页tag
2743
+ tags: n.getData("tags", t) ?? routerArrays
2744
+ } : {}
2745
+ );
2746
+ e.use(n, { nameSpace: t, memory: r });
2747
+ }, hasAuthority = (e) => {
2748
+ var a;
2749
+ if (!e) return !0;
2750
+ const o = (a = router.currentRoute.value.meta) == null ? void 0 : a.permissionCode;
2751
+ if (!o) return !0;
2752
+ isArray(e) || (e = [e]);
2753
+ const t = usePermissionStoreHook().getButtonAuth;
2754
+ if (!t) return !0;
2755
+ let r = !1;
2756
+ return e.forEach((s) => {
2757
+ if (!r) {
2758
+ const l = `${o}.${s}`;
2759
+ r = t.includes(l);
2760
+ }
2761
+ }), r;
2762
+ }, defaultIconDimensions = Object.freeze(
2763
+ {
2764
+ left: 0,
2765
+ top: 0,
2766
+ width: 16,
2767
+ height: 16
2768
+ }
2769
+ ), defaultIconTransformations = Object.freeze({
2770
+ rotate: 0,
2771
+ vFlip: !1,
2772
+ hFlip: !1
2773
+ }), defaultIconProps = Object.freeze({
2774
+ ...defaultIconDimensions,
2775
+ ...defaultIconTransformations
2776
+ }), defaultExtendedIconProps = Object.freeze({
2777
+ ...defaultIconProps,
2778
+ body: "",
2779
+ hidden: !1
2780
+ });
2781
+ function mergeIconTransformations(e, o) {
2782
+ const t = {};
2783
+ !e.hFlip != !o.hFlip && (t.hFlip = !0), !e.vFlip != !o.vFlip && (t.vFlip = !0);
2784
+ const r = ((e.rotate || 0) + (o.rotate || 0)) % 4;
2785
+ return r && (t.rotate = r), t;
2786
+ }
2787
+ function mergeIconData(e, o) {
2788
+ const t = mergeIconTransformations(e, o);
2789
+ for (const r in defaultExtendedIconProps)
2790
+ 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]);
2791
+ return t;
2792
+ }
2793
+ function getIconsTree(e, o) {
2794
+ const t = e.icons, r = e.aliases || /* @__PURE__ */ Object.create(null), a = /* @__PURE__ */ Object.create(null);
2795
+ function s(l) {
2796
+ if (t[l])
2797
+ return a[l] = [];
2798
+ if (!(l in a)) {
2799
+ a[l] = null;
2800
+ const b = r[l] && r[l].parent, w = b && s(b);
2801
+ w && (a[l] = [b].concat(w));
2802
+ }
2803
+ return a[l];
2804
+ }
2805
+ return Object.keys(t).concat(Object.keys(r)).forEach(s), a;
2806
+ }
2807
+ function internalGetIconData(e, o, t) {
2808
+ const r = e.icons, a = e.aliases || /* @__PURE__ */ Object.create(null);
2809
+ let s = {};
2810
+ function l(b) {
2811
+ s = mergeIconData(
2812
+ r[b] || a[b],
2813
+ s
2814
+ );
2815
+ }
2816
+ return l(o), t.forEach(l), mergeIconData(e, s);
2817
+ }
2818
+ function parseIconSet(e, o) {
2819
+ const t = [];
2820
+ if (typeof e != "object" || typeof e.icons != "object")
2821
+ return t;
2822
+ e.not_found instanceof Array && e.not_found.forEach((a) => {
2823
+ o(a, null), t.push(a);
2824
+ });
2825
+ const r = getIconsTree(e);
2826
+ for (const a in r) {
2827
+ const s = r[a];
2828
+ s && (o(a, internalGetIconData(e, a, s)), t.push(a));
2829
+ }
2830
+ return t;
2831
+ }
2832
+ const optionalPropertyDefaults = {
2833
+ provider: "",
2834
+ aliases: {},
2835
+ not_found: {},
2836
+ ...defaultIconDimensions
2837
+ };
2838
+ function checkOptionalProps(e, o) {
2839
+ for (const t in o)
2840
+ if (t in e && typeof e[t] != typeof o[t])
2841
+ return !1;
2842
+ return !0;
2843
+ }
2844
+ function quicklyValidateIconSet(e) {
2845
+ if (typeof e != "object" || e === null)
2846
+ return null;
2847
+ const o = e;
2848
+ if (typeof o.prefix != "string" || !e.icons || typeof e.icons != "object" || !checkOptionalProps(e, optionalPropertyDefaults))
2849
+ return null;
2850
+ const t = o.icons;
2851
+ for (const a in t) {
2852
+ const s = t[a];
2853
+ if (
2854
+ // Name cannot be empty
2855
+ !a || // Must have body
2856
+ typeof s.body != "string" || // Check other props
2857
+ !checkOptionalProps(
2858
+ s,
2859
+ defaultExtendedIconProps
2860
+ )
2861
+ )
2862
+ return null;
2863
+ }
2864
+ const r = o.aliases || /* @__PURE__ */ Object.create(null);
2865
+ for (const a in r) {
2866
+ const s = r[a], l = s.parent;
2867
+ if (
2868
+ // Name cannot be empty
2869
+ !a || // Parent must be set and point to existing icon
2870
+ typeof l != "string" || !t[l] && !r[l] || // Check other props
2871
+ !checkOptionalProps(
2872
+ s,
2873
+ defaultExtendedIconProps
2874
+ )
2875
+ )
2876
+ return null;
2877
+ }
2878
+ return o;
2879
+ }
2880
+ const defaultIconSizeCustomisations = Object.freeze({
2881
+ width: null,
2882
+ height: null
2883
+ }), defaultIconCustomisations = Object.freeze({
2884
+ // Dimensions
2885
+ ...defaultIconSizeCustomisations,
2886
+ // Transformations
2887
+ ...defaultIconTransformations
2888
+ });
2889
+ function mergeCustomisations(e, o) {
2890
+ const t = {
2891
+ ...e
2892
+ };
2893
+ for (const r in o) {
2894
+ const a = o[r], s = typeof a;
2895
+ r in defaultIconSizeCustomisations ? (a === null || a && (s === "string" || s === "number")) && (t[r] = a) : s === typeof t[r] && (t[r] = r === "rotate" ? a % 4 : a);
2896
+ }
2897
+ return t;
2898
+ }
2899
+ const separator = /[\s,]+/;
2900
+ function flipFromString(e, o) {
2901
+ o.split(separator).forEach((t) => {
2902
+ switch (t.trim()) {
2903
+ case "horizontal":
2904
+ e.hFlip = !0;
2905
+ break;
2906
+ case "vertical":
2907
+ e.vFlip = !0;
2908
+ break;
2909
+ }
2910
+ });
2911
+ }
2912
+ function rotateFromString(e, o = 0) {
2913
+ const t = e.replace(/^-?[0-9.]*/, "");
2914
+ function r(a) {
2915
+ for (; a < 0; )
2916
+ a += 4;
2917
+ return a % 4;
2918
+ }
2919
+ if (t === "") {
2920
+ const a = parseInt(e);
2921
+ return isNaN(a) ? 0 : r(a);
2922
+ } else if (t !== e) {
2923
+ let a = 0;
2924
+ switch (t) {
2925
+ case "%":
2926
+ a = 25;
2927
+ break;
2928
+ case "deg":
2929
+ a = 90;
2930
+ }
2931
+ if (a) {
2932
+ let s = parseFloat(e.slice(0, e.length - t.length));
2933
+ return isNaN(s) ? 0 : (s = s / a, s % 1 === 0 ? r(s) : 0);
2934
+ }
2935
+ }
2936
+ return o;
2937
+ }
2938
+ const unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g, unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;
2939
+ function calculateSize(e, o, t) {
2940
+ if (o === 1)
2941
+ return e;
2942
+ if (t = t || 100, typeof e == "number")
2943
+ return Math.ceil(e * o * t) / t;
2944
+ if (typeof e != "string")
2945
+ return e;
2946
+ const r = e.split(unitsSplit);
2947
+ if (r === null || !r.length)
2948
+ return e;
2949
+ const a = [];
2950
+ let s = r.shift(), l = unitsTest.test(s);
2951
+ for (; ; ) {
2952
+ if (l) {
2953
+ const b = parseFloat(s);
2954
+ isNaN(b) ? a.push(s) : a.push(Math.ceil(b * o * t) / t);
2955
+ } else
2956
+ a.push(s);
2957
+ if (s = r.shift(), s === void 0)
2958
+ return a.join("");
2959
+ l = !l;
2960
+ }
2961
+ }
2962
+ function splitSVGDefs(e, o = "defs") {
2963
+ let t = "";
2964
+ const r = e.indexOf("<" + o);
2965
+ for (; r >= 0; ) {
2966
+ const a = e.indexOf(">", r), s = e.indexOf("</" + o);
2967
+ if (a === -1 || s === -1)
2968
+ break;
2969
+ const l = e.indexOf(">", s);
2970
+ if (l === -1)
2971
+ break;
2972
+ t += e.slice(a + 1, s).trim(), e = e.slice(0, r).trim() + e.slice(l + 1);
2973
+ }
2974
+ return {
2975
+ defs: t,
2976
+ content: e
2977
+ };
2978
+ }
2979
+ function mergeDefsAndContent(e, o) {
2980
+ return e ? "<defs>" + e + "</defs>" + o : o;
2981
+ }
2982
+ function wrapSVGContent(e, o, t) {
2983
+ const r = splitSVGDefs(e);
2984
+ return mergeDefsAndContent(r.defs, o + r.content + t);
2985
+ }
2986
+ const isUnsetKeyword = (e) => e === "unset" || e === "undefined" || e === "none";
2987
+ function iconToSVG(e, o) {
2988
+ const t = {
2989
+ ...defaultIconProps,
2990
+ ...e
2991
+ }, r = {
2992
+ ...defaultIconCustomisations,
2993
+ ...o
2994
+ }, a = {
2995
+ left: t.left,
2996
+ top: t.top,
2997
+ width: t.width,
2998
+ height: t.height
2999
+ };
3000
+ let s = t.body;
3001
+ [t, r].forEach((S) => {
3002
+ const C = [], A = S.hFlip, N = S.vFlip;
3003
+ let x = S.rotate;
3004
+ A ? N ? x += 2 : (C.push(
3005
+ "translate(" + (a.width + a.left).toString() + " " + (0 - a.top).toString() + ")"
3006
+ ), C.push("scale(-1 1)"), a.top = a.left = 0) : N && (C.push(
3007
+ "translate(" + (0 - a.left).toString() + " " + (a.height + a.top).toString() + ")"
3008
+ ), C.push("scale(1 -1)"), a.top = a.left = 0);
3009
+ let R;
3010
+ switch (x < 0 && (x -= Math.floor(x / 4) * 4), x = x % 4, x) {
3011
+ case 1:
3012
+ R = a.height / 2 + a.top, C.unshift(
3013
+ "rotate(90 " + R.toString() + " " + R.toString() + ")"
3014
+ );
3015
+ break;
3016
+ case 2:
3017
+ C.unshift(
3018
+ "rotate(180 " + (a.width / 2 + a.left).toString() + " " + (a.height / 2 + a.top).toString() + ")"
3019
+ );
3020
+ break;
3021
+ case 3:
3022
+ R = a.width / 2 + a.left, C.unshift(
3023
+ "rotate(-90 " + R.toString() + " " + R.toString() + ")"
3024
+ );
3025
+ break;
3026
+ }
3027
+ 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(
3028
+ s,
3029
+ '<g transform="' + C.join(" ") + '">',
3030
+ "</g>"
3031
+ ));
3032
+ });
3033
+ const l = r.width, b = r.height, w = a.width, i = a.height;
3034
+ let v, T;
3035
+ 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);
3036
+ const E = {}, F = (S, C) => {
3037
+ isUnsetKeyword(C) || (E[S] = C.toString());
3038
+ };
3039
+ F("width", v), F("height", T);
3040
+ const k = [a.left, a.top, w, i];
3041
+ return E.viewBox = k.join(" "), {
3042
+ attributes: E,
3043
+ viewBox: k,
3044
+ body: s
3045
+ };
3046
+ }
3047
+ const regex = /\sid="(\S+)"/g, randomPrefix = "IconifyId" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16);
3048
+ let counter = 0;
3049
+ function replaceIDs(e, o = randomPrefix) {
3050
+ const t = [];
3051
+ let r;
3052
+ for (; r = regex.exec(e); )
3053
+ t.push(r[1]);
3054
+ if (!t.length)
3055
+ return e;
3056
+ const a = "suffix" + (Math.random() * 16777216 | Date.now()).toString(16);
3057
+ return t.forEach((s) => {
3058
+ const l = typeof o == "function" ? o(s) : o + (counter++).toString(), b = s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
3059
+ e = e.replace(
3060
+ // Allowed characters before id: [#;"]
3061
+ // Allowed characters after id: [)"], .[a-z]
3062
+ new RegExp('([#;"])(' + b + ')([")]|\\.[a-z])', "g"),
3063
+ "$1" + l + a + "$3"
3064
+ );
3065
+ }), e = e.replace(new RegExp(a, "g"), ""), e;
3066
+ }
3067
+ function iconToHTML(e, o) {
3068
+ let t = e.indexOf("xlink:") === -1 ? "" : ' xmlns:xlink="http://www.w3.org/1999/xlink"';
3069
+ for (const r in o)
3070
+ t += " " + r + '="' + o[r] + '"';
3071
+ return '<svg xmlns="http://www.w3.org/2000/svg"' + t + ">" + e + "</svg>";
3072
+ }
3073
+ function encodeSVGforURL(e) {
3074
+ return e.replace(/"/g, "'").replace(/%/g, "%25").replace(/#/g, "%23").replace(/</g, "%3C").replace(/>/g, "%3E").replace(/\s+/g, " ");
3075
+ }
3076
+ function svgToData(e) {
3077
+ return "data:image/svg+xml," + encodeSVGforURL(e);
3078
+ }
3079
+ function svgToURL(e) {
3080
+ return 'url("' + svgToData(e) + '")';
3081
+ }
3082
+ const defaultExtendedIconCustomisations = {
3083
+ ...defaultIconCustomisations,
3084
+ inline: !1
3085
+ }, svgDefaults = {
3086
+ xmlns: "http://www.w3.org/2000/svg",
3087
+ "xmlns:xlink": "http://www.w3.org/1999/xlink",
3088
+ "aria-hidden": !0,
3089
+ role: "img"
3090
+ }, commonProps = {
3091
+ display: "inline-block"
3092
+ }, monotoneProps = {
3093
+ backgroundColor: "currentColor"
3094
+ }, coloredProps = {
3095
+ backgroundColor: "transparent"
3096
+ }, propsToAdd = {
3097
+ Image: "var(--svg)",
3098
+ Repeat: "no-repeat",
3099
+ Size: "100% 100%"
3100
+ }, propsToAddTo = {
3101
+ webkitMask: monotoneProps,
3102
+ mask: monotoneProps,
3103
+ background: coloredProps
3104
+ };
3105
+ for (const e in propsToAddTo) {
3106
+ const o = propsToAddTo[e];
3107
+ for (const t in propsToAdd)
3108
+ o[e + t] = propsToAdd[t];
3109
+ }
3110
+ const customisationAliases = {};
3111
+ ["horizontal", "vertical"].forEach((e) => {
3112
+ const o = e.slice(0, 1) + "Flip";
3113
+ customisationAliases[e + "-flip"] = o, customisationAliases[e.slice(0, 1) + "-flip"] = o, customisationAliases[e + "Flip"] = o;
3114
+ });
3115
+ function fixSize(e) {
3116
+ return e + (e.match(/^[-0-9.]+$/) ? "px" : "");
3117
+ }
3118
+ const render = (e, o) => {
3119
+ const t = mergeCustomisations(defaultExtendedIconCustomisations, o), r = { ...svgDefaults }, a = o.mode || "svg", s = {}, l = o.style, b = typeof l == "object" && !(l instanceof Array) ? l : {};
3120
+ for (let S in o) {
3121
+ const C = o[S];
3122
+ if (C !== void 0)
3123
+ switch (S) {
3124
+ // Properties to ignore
3125
+ case "icon":
3126
+ case "style":
3127
+ case "onLoad":
3128
+ case "mode":
3129
+ case "ssr":
3130
+ break;
3131
+ // Boolean attributes
3132
+ case "inline":
3133
+ case "hFlip":
3134
+ case "vFlip":
3135
+ t[S] = C === !0 || C === "true" || C === 1;
3136
+ break;
3137
+ // Flip as string: 'horizontal,vertical'
3138
+ case "flip":
3139
+ typeof C == "string" && flipFromString(t, C);
3140
+ break;
3141
+ // Color: override style
3142
+ case "color":
3143
+ s.color = C;
3144
+ break;
3145
+ // Rotation as string
3146
+ case "rotate":
3147
+ typeof C == "string" ? t[S] = rotateFromString(C) : typeof C == "number" && (t[S] = C);
3148
+ break;
3149
+ // Remove aria-hidden
3150
+ case "ariaHidden":
3151
+ case "aria-hidden":
3152
+ C !== !0 && C !== "true" && delete r["aria-hidden"];
3153
+ break;
3154
+ default: {
3155
+ const A = customisationAliases[S];
3156
+ A ? (C === !0 || C === "true" || C === 1) && (t[A] = !0) : defaultExtendedIconCustomisations[S] === void 0 && (r[S] = C);
3157
+ }
3158
+ }
3159
+ }
3160
+ const w = iconToSVG(e, t), i = w.attributes;
3161
+ if (t.inline && (s.verticalAlign = "-0.125em"), a === "svg") {
3162
+ r.style = {
3163
+ ...s,
3164
+ ...b
3165
+ }, Object.assign(r, i);
3166
+ let S = 0, C = o.id;
3167
+ return typeof C == "string" && (C = C.replace(/-/g, "_")), r.innerHTML = replaceIDs(w.body, C ? () => C + "ID" + S++ : "iconifyVue"), h("svg", r);
3168
+ }
3169
+ const { body: v, width: T, height: E } = e, F = a === "mask" || (a === "bg" ? !1 : v.indexOf("currentColor") !== -1), k = iconToHTML(v, {
3170
+ ...i,
3171
+ width: T + "",
3172
+ height: E + ""
3173
+ });
3174
+ return r.style = {
3175
+ ...s,
3176
+ "--svg": svgToURL(k),
3177
+ width: fixSize(i.width),
3178
+ height: fixSize(i.height),
3179
+ ...commonProps,
3180
+ ...F ? monotoneProps : coloredProps,
3181
+ ...b
3182
+ }, h("span", r);
3183
+ }, storage = /* @__PURE__ */ Object.create(null);
3184
+ function addIcon(e, o) {
3185
+ storage[e] = o;
3186
+ }
3187
+ function addCollection(e, o) {
3188
+ const t = typeof e.prefix == "string" ? e.prefix + ":" : "";
3189
+ quicklyValidateIconSet(e) && parseIconSet(e, (r, a) => {
3190
+ a && (storage[t + r] = a);
3191
+ });
3192
+ }
3193
+ const Icon = defineComponent({
3194
+ // Do not inherit other attributes: it is handled by render()
3195
+ inheritAttrs: !1,
3196
+ // Render icon
3197
+ render() {
3198
+ const e = this.$attrs, o = e.icon, t = typeof o == "string" ? storage[o] : typeof o == "object" ? o : null;
3199
+ return t === null || typeof t != "object" || typeof t.body != "string" ? this.$slots.default ? this.$slots.default() : null : render({
3200
+ ...defaultIconProps,
3201
+ ...t
3202
+ }, e);
3203
+ }
3204
+ }), iconifyIconOffline = defineComponent({
3205
+ name: "IconOffline",
3206
+ components: { IconifyIcon: Icon },
3207
+ props: {
3208
+ icon: {
3209
+ default: null
3210
+ }
3211
+ },
3212
+ render() {
3213
+ typeof this.icon == "object" && addIcon(this.icon, this.icon);
3214
+ const e = this.$attrs;
3215
+ return h(
3216
+ Icon,
3217
+ {
3218
+ icon: this.icon,
3219
+ style: e != null && e.style ? Object.assign(e.style, { outline: "none" }) : { outline: "none" },
3220
+ ...e
3221
+ },
3222
+ {
3223
+ default: () => []
3224
+ }
3225
+ );
3226
+ }
3227
+ });
3228
+ defineComponent({
3229
+ name: "IconifyIconOnline",
3230
+ components: { IconifyIcon: Icon$1 },
3231
+ props: {
3232
+ icon: {
3233
+ type: String,
3234
+ default: ""
3235
+ }
3236
+ },
3237
+ render() {
3238
+ const e = this.$attrs;
3239
+ return h(
3240
+ Icon$1,
3241
+ {
3242
+ icon: `${this.icon}`,
3243
+ style: e != null && e.style ? Object.assign(e.style, { outline: "none" }) : { outline: "none" },
3244
+ ...e
3245
+ },
3246
+ {
3247
+ default: () => []
3248
+ }
3249
+ );
3250
+ }
3251
+ });
3252
+ const fontIcon = defineComponent({
3253
+ name: "FontIcon",
3254
+ props: {
3255
+ icon: {
3256
+ type: String,
3257
+ default: ""
3258
+ }
3259
+ },
3260
+ render() {
3261
+ const e = this.$attrs;
3262
+ return Object.keys(e).includes("uni") || (e == null ? void 0 : e.iconType) === "uni" ? h(
3263
+ "i",
3264
+ {
3265
+ class: "iconfont",
3266
+ ...e
3267
+ },
3268
+ this.icon
3269
+ ) : Object.keys(e).includes("svg") || (e == null ? void 0 : e.iconType) === "svg" ? h(
3270
+ "svg",
3271
+ {
3272
+ class: "icon-svg",
3273
+ "aria-hidden": !0
3274
+ },
3275
+ {
3276
+ default: () => [
3277
+ h("use", {
3278
+ "xlink:href": `#${this.icon}`
3279
+ })
3280
+ ]
3281
+ }
3282
+ ) : h("i", {
3283
+ class: `iconfont ${this.icon}`,
3284
+ ...e
3285
+ });
3286
+ }
3287
+ }), IconifyIconOffline = iconifyIconOffline, FontIcon = fontIcon, auth = {
3288
+ mounted(e, o) {
3289
+ var r;
3290
+ const { value: t } = o;
3291
+ if (t) {
3292
+ const s = `${(r = router.currentRoute.value.meta) == null ? void 0 : r.prefixAuth}.${t}`;
3293
+ usePermissionStoreHook().getButtonAuth.includes(s) || e.parentNode.removeChild(e);
3294
+ } else
3295
+ throw new Error(`need roles! Like v-auth="['admin','test']"`);
3296
+ }
3297
+ };
3298
+ function mitt(e) {
3299
+ return { all: e = e || /* @__PURE__ */ new Map(), on: function(o, t) {
3300
+ var r = e.get(o);
3301
+ r ? r.push(t) : e.set(o, [t]);
3302
+ }, off: function(o, t) {
3303
+ var r = e.get(o);
3304
+ r && (t ? r.splice(r.indexOf(t) >>> 0, 1) : e.set(o, []));
3305
+ }, emit: function(o, t) {
3306
+ var r = e.get(o);
3307
+ r && r.slice().map(function(a) {
3308
+ a(t);
3309
+ }), (r = e.get("*")) && r.slice().map(function(a) {
3310
+ a(o, t);
3311
+ });
3312
+ } };
3313
+ }
3314
+ const emitter = mitt(), erd = elementResizeDetectorMaker({
3315
+ strategy: "scroll"
3316
+ }), resize = {
3317
+ mounted(e, o, t) {
3318
+ erd.listenTo(e, (r) => {
3319
+ const a = r.offsetWidth, s = r.offsetHeight;
3320
+ o != null && o.instance ? emitter.emit("resize", { detail: { width: a, height: s } }) : t.el.dispatchEvent(new CustomEvent("resize", { detail: { width: a, height: s } }));
3321
+ });
3322
+ },
3323
+ unmounted(e) {
3324
+ erd.uninstall(e);
3325
+ }
3326
+ }, directives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3327
+ __proto__: null,
3328
+ auth,
3329
+ resize
3330
+ }, Symbol.toStringTag, { value: "Module" })), app = createApp(App);
3331
+ app.use(VueTippy, {
3332
+ defaultProps: { animation: "perspective" }
3333
+ });
3334
+ const setGlobal = (e) => {
3335
+ e.config.globalProperties.$hasAuthority = hasAuthority, e.config.globalProperties.$serviceApi = getServiceApi(), e.config.globalProperties.$url = getBaseURL();
3336
+ }, setGlobalDirective = (e) => {
3337
+ Object.keys(directives).forEach((o) => {
3338
+ e.directive(o, directives[o]);
3339
+ });
3340
+ }, 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) => {
3341
+ 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 });
3342
+ })), lifeCycleEvent = {
3343
+ onLogined: () => {
3344
+ },
3345
+ onBeforeLogout: () => {
3346
+ }
3347
+ }, onLogined = () => {
3348
+ lifeCycleEvent.onLogined();
3349
+ };
3350
+ export {
3351
+ darken as A,
3352
+ lighten as B,
3353
+ delCurrentRoute as C,
3354
+ initDict as D,
3355
+ onLogined as E,
3356
+ FontIcon as F,
3357
+ init as G,
3358
+ hasAuthority as H,
3359
+ IconifyIconOffline as I,
3360
+ lifeCycleEvent as J,
3361
+ _export_sfc as _,
3362
+ addCollection as a,
3363
+ addIcon as b,
3364
+ getParentPaths as c,
3365
+ usePermissionStoreHook as d,
3366
+ useSystemStoreHook as e,
3367
+ findRouteByPath as f,
3368
+ getConfig as g,
3369
+ emitter as h,
3370
+ getEnv as i,
3371
+ routerArrays as j,
3372
+ kSYSCONFIG as k,
3373
+ kCKTOKEN as l,
3374
+ kTOKEN as m,
3375
+ kLOGINER as n,
3376
+ resetRouter as o,
3377
+ remainingPaths as p,
3378
+ getServiceApi as q,
3379
+ router as r,
3380
+ store as s,
3381
+ transformI18n as t,
3382
+ useMultiTagsStoreHook as u,
3383
+ responsiveStorageNameSpace as v,
3384
+ handleAliveRoute as w,
3385
+ getBaseURL as x,
3386
+ useMultiTagsStore as y,
3387
+ setTheme as z
3388
+ };