@utogether/udp-core 2.0.0-beta.23 → 2.0.0-beta.25

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 (149) hide show
  1. package/dist/403-QwBKrRZE.js +72 -0
  2. package/dist/404-Cr7MbzNV.js +72 -0
  3. package/dist/500-B7kCOeIA.js +77 -0
  4. package/dist/AuthorityInfo-Dwml2K4S.js +91 -0
  5. package/dist/AuthorityPanel-DzPhsPpa.js +98 -0
  6. package/dist/Company-BhOlvl7Q.js +21 -0
  7. package/dist/CompanyPanel-ByhY5-Sq.js +199 -0
  8. package/dist/DataSet-CuGZcKC-.js +141 -0
  9. package/dist/Department-QvngN63N.js +21 -0
  10. package/dist/DepartmentPanel-BCXqC39J.js +2 -0
  11. package/dist/DepartmentPanel-DntGycxr.js +242 -0
  12. package/dist/DesignPanel-BMN4DZ0R.js +1196 -0
  13. package/dist/DictView-ERFqZ5VD.js +100 -0
  14. package/dist/File-WJXjGYxr.js +89 -0
  15. package/dist/InvOrganization-BwMmD8Ua.js +76 -0
  16. package/dist/Org-HgnOWubi.js +76 -0
  17. package/dist/Preview-CVZdnHB1.js +45 -0
  18. package/dist/ReIcon-DecitXmg.js +413 -0
  19. package/dist/ReportDefine-BgLM-Rjk.js +10 -0
  20. package/dist/ReportDesign-CjfTyyy_.js +158 -0
  21. package/dist/ReportQuery-CP-E0Puv.js +101 -0
  22. package/dist/ReportQueryFrom-D7SPPAps.js +198 -0
  23. package/dist/ReportTemplate-DE25zc1f.js +162 -0
  24. package/dist/Role-K7v_ZhFE.js +21 -0
  25. package/dist/RoleAssign-C16fjLaX.js +22 -0
  26. package/dist/RolePanel-CV-xPlYJ.js +176 -0
  27. package/dist/RolePanel-DPCe9k8f.js +131 -0
  28. package/dist/ScrollPanel-DW30pGz1.js +88 -0
  29. package/dist/Staff-w2ly4qd0.js +22 -0
  30. package/dist/StaffInfo-DPDRpz6F.js +149 -0
  31. package/dist/StaffPanel-DI1eTTp9.js +143 -0
  32. package/dist/SysUser-BMTX1cJM.js +12 -0
  33. package/dist/SysUserPanel-xwZdVjdp.js +365 -0
  34. package/dist/SystemMenu-TXhiQZVm.js +154 -0
  35. package/dist/UserInfo-JQqw8FMT.js +194 -0
  36. package/dist/_plugin-vue_export-helper-C6QCLu9I.js +8 -0
  37. package/dist/api-BFNxcxSN.js +30 -0
  38. package/dist/authority-Bi6BGB5B.js +20 -0
  39. package/dist/await-to-js.es5-DkWYmPXW.js +10 -0
  40. package/dist/childView-Bk8OD9bV.js +181 -0
  41. package/dist/childView-CyrcwshT.js +184 -0
  42. package/dist/code-rule-QFrhqFrW.js +151 -0
  43. package/dist/contant-Q77dU_V3.js +4 -0
  44. package/dist/core.es.js +6 -23
  45. package/dist/cron-task-BpUDKEAU.js +131 -0
  46. package/dist/flow-task-DAc2NrDU.js +11 -0
  47. package/dist/frameView-Di0zJZUR.js +39 -0
  48. package/dist/img/v_img.svg +1 -1
  49. package/dist/layout-home-BVp7vYLR.js +239 -0
  50. package/dist/layoutView-DFUjrqAS.js +2662 -0
  51. package/dist/log-in-BrNB0mLz.js +117 -0
  52. package/dist/log-out-dYfqvzy6.js +111 -0
  53. package/dist/login-BdCDnuXL.js +233 -0
  54. package/dist/login-log-CJak-ANA.js +79 -0
  55. package/dist/lov-view-DkmG4K57.js +95 -0
  56. package/dist/menuInfo-kp2wNYOp.js +346 -0
  57. package/dist/mitt-CQgI7DYU.js +27 -0
  58. package/dist/pda-app-CA7YI37u.js +589 -0
  59. package/dist/redirect-N0k4tImU.js +16 -0
  60. package/dist/resource-CfQTHFcs.js +94 -0
  61. package/dist/router-CeluSGiD.js +1531 -0
  62. package/dist/su-welcome-JeiovGpe.js +799 -0
  63. package/dist/sys-config-Ddb3vBpK.js +316 -0
  64. package/dist/udp-core-Dhm-BlAs.js +2032 -0
  65. package/dist/udp-core.css +2 -1
  66. package/dist/useDataThemeChange-BCy8JBG7.js +226 -0
  67. package/dist/useNav-DY8FkltH.js +106 -0
  68. package/dist/utogether-l7JXs4Lv.js +4 -0
  69. package/dist/water-mark-WDQZ9YqB.js +119 -0
  70. package/dist/wecom-push-kWkAVRCj.js +77 -0
  71. package/package.json +1 -1
  72. package/src/api/index.ts +51 -51
  73. package/src/components/udp/index.ts +9 -8
  74. package/src/components/udp/lov/index.vue +430 -0
  75. package/src/components/udp/upload/index.vue +444 -444
  76. package/src/main.ts +110 -111
  77. package/src/plugins/vxe-table/index.ts +1 -1
  78. package/src/plugins/vxe-table/render.tsx +999 -998
  79. package/tsconfig.json +1 -1
  80. package/vite.config.ts +8 -3
  81. package/dist/403-Bu1hm1tf.js +0 -65
  82. package/dist/404-BB-df9AI.js +0 -65
  83. package/dist/500-_ivjNAjo.js +0 -67
  84. package/dist/AuthorityInfo-DTeV-2ob.js +0 -4
  85. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-BlaR0Onc.js +0 -100
  86. package/dist/AuthorityPanel-CRlAwbaI.js +0 -4
  87. package/dist/AuthorityPanel.vue_vue_type_style_index_0_lang-DxhZjp1S.js +0 -114
  88. package/dist/Company-B-kqHIz7.js +0 -25
  89. package/dist/CompanyPanel-DyKh7m0Z.js +0 -206
  90. package/dist/DataSet-DT-rGICv.js +0 -147
  91. package/dist/Department-CKsiqoIY.js +0 -25
  92. package/dist/DepartmentPanel-kCSiG2Hv.js +0 -254
  93. package/dist/DesignPanel-dpjAWAxC.js +0 -4
  94. package/dist/DesignPanel.vue_vue_type_style_index_0_lang-e3mxfUBR.js +0 -1013
  95. package/dist/DictView-a_uYPbX5.js +0 -111
  96. package/dist/InvOrganization-DRhir-02.js +0 -74
  97. package/dist/Org-CqmyMUy_.js +0 -39
  98. package/dist/Preview-CXK4KxQN.js +0 -48
  99. package/dist/ReportDefine-BPBpVUdl.js +0 -10
  100. package/dist/ReportDesign-D_Cqvh_m.js +0 -165
  101. package/dist/ReportQuery-CPCKroWq.js +0 -75
  102. package/dist/ReportQueryFrom-DtVN20Ou.js +0 -4
  103. package/dist/ReportQueryFrom.vue_vue_type_style_index_0_lang-ByBocawe.js +0 -178
  104. package/dist/ReportTemplate-B3ubCMWK.js +0 -161
  105. package/dist/Role-Bq2GjT1k.js +0 -25
  106. package/dist/RoleAssign-CZGTP6M1.js +0 -26
  107. package/dist/RolePanel-B_2W2wLA.js +0 -4
  108. package/dist/RolePanel-DeHHsXTQ.js +0 -4
  109. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-D165_X8i.js +0 -132
  110. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-F40M5JeR.js +0 -154
  111. package/dist/ScrollPanel.vue_vue_type_style_index_0_lang-CjBEiasb.js +0 -101
  112. package/dist/Staff-e7v32WE7.js +0 -26
  113. package/dist/StaffInfo-CO0VfxT1.js +0 -4
  114. package/dist/StaffInfo.vue_vue_type_script_setup_true_lang-DerORcB0.js +0 -108
  115. package/dist/StaffPanel-ZslIuuEe.js +0 -4
  116. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-ONDmYqiK.js +0 -154
  117. package/dist/SysUser-1LJIDkLs.js +0 -15
  118. package/dist/SysUserPanel-DGz0upa2.js +0 -4
  119. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-BxDkwKk4.js +0 -356
  120. package/dist/SystemMenu-BJFA-7na.js +0 -156
  121. package/dist/UserInfo-DgEgNcI1.js +0 -4
  122. package/dist/UserInfo.vue_vue_type_style_index_0_lang-0LeXBHJO.js +0 -160
  123. package/dist/await-to-js.es5-Bv3Eu4mi.js +0 -10
  124. package/dist/childView-n3PQsXw_.js +0 -4
  125. package/dist/childView-sWkqPxWe.js +0 -4
  126. package/dist/childView.vue_vue_type_style_index_0_lang-DlACXm6-.js +0 -183
  127. package/dist/childView.vue_vue_type_style_index_0_lang-XGM6istV.js +0 -143
  128. package/dist/code-rule-B5swnIDE.js +0 -148
  129. package/dist/cron-task-BgeQLdRW.js +0 -135
  130. package/dist/flow-task-B07st2aD.js +0 -10
  131. package/dist/frameView-B37Oqu4T.js +0 -44
  132. package/dist/index-BLLwR2mu.js +0 -7944
  133. package/dist/layout-home-mag8cpgN.js +0 -232
  134. package/dist/layoutView-D4YY2av1.js +0 -3239
  135. package/dist/log-in-BPUMwivh.js +0 -117
  136. package/dist/log-out-py6304lk.js +0 -130
  137. package/dist/login-BITK6XJ-.js +0 -235
  138. package/dist/login-log-BEHYT0v0.js +0 -70
  139. package/dist/lov-view-Cv-0Ii-W.js +0 -99
  140. package/dist/menuInfo-DqQdEkla.js +0 -4
  141. package/dist/menuInfo.vue_vue_type_style_index_0_lang-CObiQiIC.js +0 -363
  142. package/dist/pda-app-PLxdqt6q.js +0 -710
  143. package/dist/redirect-BqegffKC.js +0 -15
  144. package/dist/resource-Dz8NFuxi.js +0 -97
  145. package/dist/su-welcome-CSWrN5Dc.js +0 -42225
  146. package/dist/sys-config-BJY2IkSZ.js +0 -385
  147. package/dist/useNav-BT7Od00q.js +0 -92
  148. package/dist/utogether-MlnyYtNS.js +0 -4
  149. package/dist/wecom-push-DR7NsNro.js +0 -70
@@ -0,0 +1,2032 @@
1
+ import { A as e, I as t, M as n, N as r, P as i, S as a, T as o, _ as s, a as c, d as l, g as u, j as d, l as f, m as p, o as m, r as h, s as g, t as _, u as v, v as y, x as b, y as x } from "./router-CeluSGiD.js";
2
+ import { a as S, c as C, i as w, l as T, n as ee, r as E, s as te, t as D, u as O } from "./api-BFNxcxSN.js";
3
+ import { s as ne } from "./contant-Q77dU_V3.js";
4
+ import { t as k } from "./_plugin-vue_export-helper-C6QCLu9I.js";
5
+ import { a as re, i as ie, t as ae } from "./useDataThemeChange-BCy8JBG7.js";
6
+ import { t as oe } from "./authority-Bi6BGB5B.js";
7
+ import { t as se } from "./await-to-js.es5-DkWYmPXW.js";
8
+ import { n as ce, t as le } from "./ReIcon-DecitXmg.js";
9
+ import { t as ue } from "./mitt-CQgI7DYU.js";
10
+ import * as de from "vue";
11
+ import { Fragment as A, computed as fe, createApp as pe, createBlock as j, createCommentVNode as M, createElementBlock as N, createElementVNode as P, createSlots as me, createVNode as F, defineComponent as I, getCurrentInstance as he, mergeModels as ge, mergeProps as L, nextTick as R, normalizeClass as z, normalizeStyle as B, onBeforeMount as _e, onUnmounted as ve, openBlock as V, reactive as ye, ref as H, renderList as be, renderSlot as xe, resolveComponent as U, toDisplayString as W, toHandlers as Se, toRaw as Ce, unref as we, useAttrs as Te, useModel as Ee, vModelText as De, watch as Oe, withCtx as G, withDirectives as ke } from "vue";
12
+ import { ElConfigProvider as Ae } from "element-plus";
13
+ import { checkVersion as je } from "version-rocket";
14
+ import { cookies as K, dbstorage as Me, delay as Ne, errorMessage as Pe, formatRules as Fe, i18nColums as Ie, storageLocal as Le, useRender as Re, warnMessage as ze } from "@utogether/utils";
15
+ import { clone as q, isArray as Be, isEmpty as J, isFunction as Ve, isObject as He, isString as Y, merge as Ue, orderBy as We, toDateString as X } from "xe-utils";
16
+ import { useI18n as Ge } from "vue-i18n";
17
+ import Ke from "sortablejs";
18
+ import qe from "compressorjs";
19
+ import { VxeUI as Z } from "vxe-pc-ui";
20
+ import Je from "axios";
21
+ import Ye from "accounting";
22
+ import Xe from "vue-tippy";
23
+ import Ze from "element-resize-detector";
24
+ //#region ../../node_modules/.pnpm/element-plus@2.13.6_typescr_5b9c2e30252a933a644b5ea25db34712/node_modules/element-plus/es/locale/lang/en.mjs
25
+ var Qe = {
26
+ name: "en",
27
+ el: {
28
+ breadcrumb: { label: "Breadcrumb" },
29
+ colorpicker: {
30
+ confirm: "OK",
31
+ clear: "Clear",
32
+ defaultLabel: "color picker",
33
+ description: "current color is {color}. press enter to select a new color.",
34
+ alphaLabel: "pick alpha value",
35
+ alphaDescription: "alpha {alpha}, current color is {color}",
36
+ hueLabel: "pick hue value",
37
+ hueDescription: "hue {hue}, current color is {color}",
38
+ svLabel: "pick saturation and brightness value",
39
+ svDescription: "saturation {saturation}, brightness {brightness}, current color is {color}",
40
+ predefineDescription: "select {value} as the color"
41
+ },
42
+ datepicker: {
43
+ now: "Now",
44
+ today: "Today",
45
+ cancel: "Cancel",
46
+ clear: "Clear",
47
+ confirm: "OK",
48
+ dateTablePrompt: "Use the arrow keys and enter to select the day of the month",
49
+ monthTablePrompt: "Use the arrow keys and enter to select the month",
50
+ yearTablePrompt: "Use the arrow keys and enter to select the year",
51
+ selectedDate: "Selected date",
52
+ selectDate: "Select date",
53
+ selectTime: "Select time",
54
+ startDate: "Start Date",
55
+ startTime: "Start Time",
56
+ endDate: "End Date",
57
+ endTime: "End Time",
58
+ prevYear: "Previous Year",
59
+ nextYear: "Next Year",
60
+ prevMonth: "Previous Month",
61
+ nextMonth: "Next Month",
62
+ year: "",
63
+ month1: "January",
64
+ month2: "February",
65
+ month3: "March",
66
+ month4: "April",
67
+ month5: "May",
68
+ month6: "June",
69
+ month7: "July",
70
+ month8: "August",
71
+ month9: "September",
72
+ month10: "October",
73
+ month11: "November",
74
+ month12: "December",
75
+ weeks: {
76
+ sun: "Sun",
77
+ mon: "Mon",
78
+ tue: "Tue",
79
+ wed: "Wed",
80
+ thu: "Thu",
81
+ fri: "Fri",
82
+ sat: "Sat"
83
+ },
84
+ weeksFull: {
85
+ sun: "Sunday",
86
+ mon: "Monday",
87
+ tue: "Tuesday",
88
+ wed: "Wednesday",
89
+ thu: "Thursday",
90
+ fri: "Friday",
91
+ sat: "Saturday"
92
+ },
93
+ months: {
94
+ jan: "Jan",
95
+ feb: "Feb",
96
+ mar: "Mar",
97
+ apr: "Apr",
98
+ may: "May",
99
+ jun: "Jun",
100
+ jul: "Jul",
101
+ aug: "Aug",
102
+ sep: "Sep",
103
+ oct: "Oct",
104
+ nov: "Nov",
105
+ dec: "Dec"
106
+ }
107
+ },
108
+ inputNumber: {
109
+ decrease: "decrease number",
110
+ increase: "increase number"
111
+ },
112
+ select: {
113
+ loading: "Loading",
114
+ noMatch: "No matching data",
115
+ noData: "No data",
116
+ placeholder: "Select"
117
+ },
118
+ mention: { loading: "Loading" },
119
+ dropdown: { toggleDropdown: "Toggle Dropdown" },
120
+ cascader: {
121
+ noMatch: "No matching data",
122
+ loading: "Loading",
123
+ placeholder: "Select",
124
+ noData: "No data"
125
+ },
126
+ pagination: {
127
+ goto: "Go to",
128
+ pagesize: "/page",
129
+ total: "Total {total}",
130
+ pageClassifier: "",
131
+ page: "Page",
132
+ prev: "Go to previous page",
133
+ next: "Go to next page",
134
+ currentPage: "page {pager}",
135
+ prevPages: "Previous {pager} pages",
136
+ nextPages: "Next {pager} pages",
137
+ deprecationWarning: "Deprecated usages detected, please refer to the el-pagination documentation for more details"
138
+ },
139
+ dialog: { close: "Close this dialog" },
140
+ drawer: { close: "Close this dialog" },
141
+ messagebox: {
142
+ title: "Message",
143
+ confirm: "OK",
144
+ cancel: "Cancel",
145
+ error: "Illegal input",
146
+ close: "Close this dialog"
147
+ },
148
+ upload: {
149
+ deleteTip: "press delete to remove",
150
+ delete: "Delete",
151
+ preview: "Preview",
152
+ continue: "Continue"
153
+ },
154
+ slider: {
155
+ defaultLabel: "slider between {min} and {max}",
156
+ defaultRangeStartLabel: "pick start value",
157
+ defaultRangeEndLabel: "pick end value"
158
+ },
159
+ table: {
160
+ emptyText: "No Data",
161
+ confirmFilter: "Confirm",
162
+ resetFilter: "Reset",
163
+ clearFilter: "All",
164
+ sumText: "Sum",
165
+ selectAllLabel: "Select all rows",
166
+ selectRowLabel: "Select this row",
167
+ expandRowLabel: "Expand this row",
168
+ collapseRowLabel: "Collapse this row",
169
+ sortLabel: "Sort by {column}",
170
+ filterLabel: "Filter by {column}"
171
+ },
172
+ tag: { close: "Close this tag" },
173
+ tour: {
174
+ next: "Next",
175
+ previous: "Previous",
176
+ finish: "Finish",
177
+ close: "Close this dialog"
178
+ },
179
+ tree: { emptyText: "No Data" },
180
+ transfer: {
181
+ noMatch: "No matching data",
182
+ noData: "No data",
183
+ titles: ["List 1", "List 2"],
184
+ filterPlaceholder: "Enter keyword",
185
+ noCheckedFormat: "{total} items",
186
+ hasCheckedFormat: "{checked}/{total} checked"
187
+ },
188
+ image: { error: "FAILED" },
189
+ pageHeader: { title: "Back" },
190
+ popconfirm: {
191
+ confirmButtonText: "Yes",
192
+ cancelButtonText: "No"
193
+ },
194
+ carousel: {
195
+ leftArrow: "Carousel arrow left",
196
+ rightArrow: "Carousel arrow right",
197
+ indicator: "Carousel switch to index {index}"
198
+ }
199
+ }
200
+ }, $e = {
201
+ name: "zh-cn",
202
+ el: {
203
+ breadcrumb: { label: "面包屑" },
204
+ colorpicker: {
205
+ confirm: "确定",
206
+ clear: "清空",
207
+ defaultLabel: "颜色选择器",
208
+ description: "当前颜色 {color},按 Enter 键选择新颜色",
209
+ alphaLabel: "选择透明度的值",
210
+ alphaDescription: "透明度 {alpha}, 当前颜色 {color}",
211
+ hueLabel: "选择色相值",
212
+ hueDescription: "色相 {hue}, 当前颜色 {color}",
213
+ svLabel: "选择饱和度与明度的值",
214
+ svDescription: "饱和度 {saturation}, 明度 {brightness}, 当前颜色 {color}",
215
+ predefineDescription: "选择 {value} 作为颜色"
216
+ },
217
+ datepicker: {
218
+ now: "此刻",
219
+ today: "今天",
220
+ cancel: "取消",
221
+ clear: "清空",
222
+ confirm: "确定",
223
+ dateTablePrompt: "使用方向键与 Enter 键可选择日期",
224
+ monthTablePrompt: "使用方向键与 Enter 键可选择月份",
225
+ yearTablePrompt: "使用方向键与 Enter 键可选择年份",
226
+ selectedDate: "已选日期",
227
+ selectDate: "选择日期",
228
+ selectTime: "选择时间",
229
+ startDate: "开始日期",
230
+ startTime: "开始时间",
231
+ endDate: "结束日期",
232
+ endTime: "结束时间",
233
+ prevYear: "前一年",
234
+ nextYear: "后一年",
235
+ prevMonth: "上个月",
236
+ nextMonth: "下个月",
237
+ year: "年",
238
+ month1: "1 月",
239
+ month2: "2 月",
240
+ month3: "3 月",
241
+ month4: "4 月",
242
+ month5: "5 月",
243
+ month6: "6 月",
244
+ month7: "7 月",
245
+ month8: "8 月",
246
+ month9: "9 月",
247
+ month10: "10 月",
248
+ month11: "11 月",
249
+ month12: "12 月",
250
+ weeks: {
251
+ sun: "日",
252
+ mon: "一",
253
+ tue: "二",
254
+ wed: "三",
255
+ thu: "四",
256
+ fri: "五",
257
+ sat: "六"
258
+ },
259
+ weeksFull: {
260
+ sun: "星期日",
261
+ mon: "星期一",
262
+ tue: "星期二",
263
+ wed: "星期三",
264
+ thu: "星期四",
265
+ fri: "星期五",
266
+ sat: "星期六"
267
+ },
268
+ months: {
269
+ jan: "一月",
270
+ feb: "二月",
271
+ mar: "三月",
272
+ apr: "四月",
273
+ may: "五月",
274
+ jun: "六月",
275
+ jul: "七月",
276
+ aug: "八月",
277
+ sep: "九月",
278
+ oct: "十月",
279
+ nov: "十一月",
280
+ dec: "十二月"
281
+ }
282
+ },
283
+ inputNumber: {
284
+ decrease: "减少数值",
285
+ increase: "增加数值"
286
+ },
287
+ select: {
288
+ loading: "加载中",
289
+ noMatch: "无匹配数据",
290
+ noData: "无数据",
291
+ placeholder: "请选择"
292
+ },
293
+ mention: { loading: "加载中" },
294
+ dropdown: { toggleDropdown: "切换下拉选项" },
295
+ cascader: {
296
+ noMatch: "无匹配数据",
297
+ loading: "加载中",
298
+ placeholder: "请选择",
299
+ noData: "暂无数据"
300
+ },
301
+ pagination: {
302
+ goto: "前往",
303
+ pagesize: "条/页",
304
+ total: "共 {total} 条",
305
+ pageClassifier: "页",
306
+ page: "页",
307
+ prev: "上一页",
308
+ next: "下一页",
309
+ currentPage: "第 {pager} 页",
310
+ prevPages: "向前 {pager} 页",
311
+ nextPages: "向后 {pager} 页",
312
+ deprecationWarning: "你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"
313
+ },
314
+ dialog: { close: "关闭此对话框" },
315
+ drawer: { close: "关闭此对话框" },
316
+ messagebox: {
317
+ title: "提示",
318
+ confirm: "确定",
319
+ cancel: "取消",
320
+ error: "输入的数据不合法!",
321
+ close: "关闭此对话框"
322
+ },
323
+ upload: {
324
+ deleteTip: "按 Delete 键可删除",
325
+ delete: "删除",
326
+ preview: "查看图片",
327
+ continue: "继续上传"
328
+ },
329
+ slider: {
330
+ defaultLabel: "滑块介于 {min} 至 {max}",
331
+ defaultRangeStartLabel: "选择起始值",
332
+ defaultRangeEndLabel: "选择结束值"
333
+ },
334
+ table: {
335
+ emptyText: "暂无数据",
336
+ confirmFilter: "筛选",
337
+ resetFilter: "重置",
338
+ clearFilter: "全部",
339
+ sumText: "合计",
340
+ selectAllLabel: "选择所有行",
341
+ selectRowLabel: "选择当前行",
342
+ expandRowLabel: "展开当前行",
343
+ collapseRowLabel: "收起当前行",
344
+ sortLabel: "按 {column} 排序",
345
+ filterLabel: "按 {column} 过滤"
346
+ },
347
+ tag: { close: "关闭此标签" },
348
+ tour: {
349
+ next: "下一步",
350
+ previous: "上一步",
351
+ finish: "结束导览",
352
+ close: "关闭此对话框"
353
+ },
354
+ tree: { emptyText: "暂无数据" },
355
+ transfer: {
356
+ noMatch: "无匹配数据",
357
+ noData: "无数据",
358
+ titles: ["列表 1", "列表 2"],
359
+ filterPlaceholder: "请输入搜索内容",
360
+ noCheckedFormat: "共 {total} 项",
361
+ hasCheckedFormat: "已选 {checked}/{total} 项"
362
+ },
363
+ image: { error: "加载失败" },
364
+ pageHeader: { title: "返回" },
365
+ popconfirm: {
366
+ confirmButtonText: "确定",
367
+ cancelButtonText: "取消"
368
+ },
369
+ carousel: {
370
+ leftArrow: "上一张幻灯片",
371
+ rightArrow: "下一张幻灯片",
372
+ indicator: "幻灯片切换至索引 {index}"
373
+ }
374
+ }
375
+ }, et = I({
376
+ name: "app",
377
+ components: { [Ae.name]: Ae },
378
+ computed: { currentLocale() {
379
+ return this.$storage?.locale?.locale === "zh" ? $e : Qe;
380
+ } },
381
+ async beforeCreate() {
382
+ await E().get("/upfm/v1/sysConfig", {}).then((e) => {
383
+ let t = {};
384
+ e.list?.forEach((e) => {
385
+ t[e.configCode] = e.configValue, e.fileName && (t[e.configCode] = D() + "/ufil" + e.configValue);
386
+ }), t.title = e.list?.find((e) => e.configCode === "title")?.configValue || "U-DP", Le.setItem(ne, t), this.pollingVersion(t.title);
387
+ });
388
+ },
389
+ methods: { pollingVersion(e) {
390
+ let t = te().VITE_ROUTER_HISTORY;
391
+ je({
392
+ pollingTime: 3e5,
393
+ checkOriginSpecifiedFilesUrl: [`${location.origin}${t ? `/${t}` : ""}/index.html`],
394
+ enable: process.env.NODE_ENV !== "development"
395
+ }, {
396
+ title: e,
397
+ description: this.$t("message.udp.newVersion"),
398
+ buttonText: this.$t("message.udp.updatenow"),
399
+ cancelButtonText: this.$t("message.udp.updateLater")
400
+ });
401
+ } }
402
+ });
403
+ //#endregion
404
+ //#region src/App.vue
405
+ function tt(e, t, n, r, i, a) {
406
+ let o = U("router-view"), s = U("el-config-provider");
407
+ return V(), j(s, {
408
+ size: "small",
409
+ "z-index": 5555,
410
+ locale: e.currentLocale
411
+ }, {
412
+ default: G(() => [F(o)]),
413
+ _: 1
414
+ }, 8, ["locale"]);
415
+ }
416
+ var nt = /* @__PURE__ */ k(et, [["render", tt]]), rt = Object.defineProperty, it = Object.getOwnPropertyDescriptor, at = Object.getOwnPropertyNames, ot = Object.prototype.hasOwnProperty, st = (e, t, n) => t in e ? rt(e, t, {
417
+ enumerable: !0,
418
+ configurable: !0,
419
+ writable: !0,
420
+ value: n
421
+ }) : e[t] = n, ct = (e, t) => {
422
+ for (var n in t) rt(e, n, {
423
+ get: t[n],
424
+ enumerable: !0
425
+ });
426
+ }, lt = (e, t, n, r) => {
427
+ if (t && typeof t == "object" || typeof t == "function") for (let i of at(t)) !ot.call(e, i) && i !== n && rt(e, i, {
428
+ get: () => t[i],
429
+ enumerable: !(r = it(t, i)) || r.enumerable
430
+ });
431
+ return e;
432
+ }, ut = (e, t, n) => (lt(e, t, "default"), n && lt(n, t, "default")), dt = (e, t, n) => (st(e, typeof t == "symbol" ? t : t + "", n), n), ft = {};
433
+ ct(ft, { Vue: () => de }), ut(ft, de);
434
+ var pt = class {
435
+ static install(e, t) {
436
+ let { nameSpace: n = this._nameSpace, memory: r } = t;
437
+ return r && this.clearAll(n, r), new pt(e, t);
438
+ }
439
+ static clearAll(e, t) {
440
+ Object.keys(t).forEach((t) => {
441
+ let n = e + t;
442
+ Object.prototype.hasOwnProperty.call(window.localStorage, n) && window.localStorage.removeItem(n);
443
+ });
444
+ }
445
+ static get(e) {
446
+ return JSON.parse(window.localStorage.getItem(e));
447
+ }
448
+ static set(e, t) {
449
+ t = typeof t == "object" ? JSON.stringify(t) : t, window.localStorage.setItem(e, t);
450
+ }
451
+ static getData(e, t) {
452
+ if (Object.prototype.hasOwnProperty.call(window.localStorage, this._getStaticKey(t, e))) return JSON.parse(window.localStorage.getItem(this._getStaticKey(t, e)));
453
+ }
454
+ constructor(e, t) {
455
+ let n = pt, { version: r = 3, nameSpace: i = n._nameSpace, memory: a } = t, o = (e) => i + e, s = r === 3 ? (0, ft.reactive)(a) : a;
456
+ Object.keys(s).length === 0 && console.warn("key cannot be empty"), Object.keys(s).forEach((t) => {
457
+ let i = s[t];
458
+ n.set(o(t), i), Reflect.defineProperty(s, t, {
459
+ get: () => n.get(o(t)),
460
+ set: (e) => n.set(o(t), e),
461
+ configurable: !0
462
+ }), r === 2 && e.util.defineReactive(s, t, s[t]);
463
+ });
464
+ let c = r === 3 ? e.config.globalProperties : e.prototype;
465
+ Reflect.defineProperty(c, "$storage", { get: () => s });
466
+ }
467
+ }, Q = pt;
468
+ dt(Q, "_nameSpace", "rs-"), dt(Q, "_getStaticKey", (e, t) => `${e ?? pt._nameSpace}${t}`);
469
+ //#endregion
470
+ //#region src/utils/storage/index.ts
471
+ var mt = (e, t) => {
472
+ let r = C(), i = Object.assign({
473
+ locale: Q.getData("locale", r) ?? { locale: t.Locale ?? "zh" },
474
+ layout: Q.getData("layout", r) ?? {
475
+ layout: t.Layout ?? "vertical",
476
+ theme: t.Theme ?? "default",
477
+ darkMode: t.DarkMode ?? !1,
478
+ sidebarStatus: t.SidebarStatus ?? !0,
479
+ epThemeColor: t.EpThemeColor ?? "#409EFF",
480
+ themeColor: t.Theme ?? "light",
481
+ overallStyle: t.OverallStyle ?? "light"
482
+ },
483
+ configure: Q.getData("configure", r) ?? {
484
+ grey: t.Grey ?? !1,
485
+ weak: t.Weak ?? !1,
486
+ hideTabs: t.HideTabs ?? !1,
487
+ showLogo: t.ShowLogo ?? !0,
488
+ showModel: t.ShowModel ?? "smart",
489
+ multiTagsCache: t.MultiTagsCache ?? !1
490
+ },
491
+ cnd: Q.getData("cnd", r) ?? {}
492
+ }, t.MultiTagsCache ? { tags: Q.getData("tags", r) ?? n } : {});
493
+ e.use(Q, {
494
+ nameSpace: r,
495
+ memory: i
496
+ });
497
+ }, ht = Re(), gt = {
498
+ span: 6,
499
+ align: "right",
500
+ collapseNode: !1,
501
+ itemRender: {
502
+ name: "VxeButtonGroup",
503
+ options: [{
504
+ type: "submit",
505
+ submit: "submit",
506
+ content: "message.btn.search",
507
+ status: "primary",
508
+ icon: "ri-search-line"
509
+ }, {
510
+ type: "reset",
511
+ name: "reset",
512
+ content: "message.btn.reset",
513
+ status: "info",
514
+ icon: "ri-refresh-line"
515
+ }],
516
+ events: null
517
+ }
518
+ }, _t = (e, t) => {
519
+ let n = e.filter((e) => e.visible !== !1), r = n.length, i = r > 2 && n.some((e, t) => t < 3 && (e.span > 6 || vt(e))), a = i || r > 3, o = {
520
+ collapseTags: !0,
521
+ collapseTagsTooltip: !0,
522
+ multiple: !0
523
+ }, s = n.map((e, t) => (e.folding = i ? a && t > 1 : a && t > 2, e.span = vt(e) ? 12 : e.span || 6, e.code && !e.itemRender && (e.itemRender = ht.renderDict(e.code)), e.itemRender = e.itemRender || { name: "$input" }, e.title = e.title || `message.${e.field}`, (e.multiple || e.itemRender?.props?.multiple) && (e.itemRender.props = Object.assign(o, e.itemRender?.props || {})), e)), c = q(gt, !0);
524
+ if (c.collapseNode = a, t && c.itemRender.options.length < 3 && c.itemRender.options.push(t), a) {
525
+ let e = i ? 2 : 3;
526
+ s.splice(e, 0, c);
527
+ } else s.push(c);
528
+ return s;
529
+ }, vt = (e) => e.itemRender?.name === "#SuDateRange" ? e.itemRender?.props?.type === "daterange" || !e.itemRender?.props?.type : !1, yt = "kSysConfig", bt = "kCookies_param", xt = Le.getItem(yt), St = null, Ct = (e, t) => (e.forEach((e) => {
530
+ e.auth = t && t[e.code] || e.auth, e.name ? xt?.i18nEnabled === "Y" && !e.name.startsWith("message.") && (e.name = `message.btn.${e.name}`) : e.name = `message.btn.${e.code}`, e.dropdowns?.length && Ct(e.dropdowns, t);
531
+ }), e), wt = (e, t, n) => {
532
+ let r = {
533
+ pageNum: 1,
534
+ pageSize: 1e5
535
+ }, i = Mt();
536
+ Object.assign(r, n, i, e.defaultParams || {}, St.params);
537
+ let a = Ot(r, e.items);
538
+ a = jt(a, e.items);
539
+ let { url: o } = e;
540
+ if (!o) return null;
541
+ let s = Y(o) ? o : o.fetch || o.restful;
542
+ if (!s) return null;
543
+ let c = o.fetch ? "post" : "get";
544
+ return new Promise((e, n) => {
545
+ t[c](s, a).then((t) => {
546
+ e(t.list);
547
+ }).catch((e) => {
548
+ n(e);
549
+ });
550
+ });
551
+ }, Tt = (e, t, n, r, i, a) => {
552
+ if (a) return Vt();
553
+ for (let e in t) t[e] && Y(t[e]) && (t[e] = t[e].trim());
554
+ let o = {
555
+ pageNum: n.currentPage,
556
+ pageSize: n.pageSize
557
+ }, s = Mt();
558
+ Object.assign(o, s, e.defaultParams || {}, t);
559
+ let c = Ot(o, e.items);
560
+ c = jt(c, e.items);
561
+ let { url: l } = e;
562
+ if (!l) return null;
563
+ let u = Y(l) ? l : l.fetch || l.restful, d = l.fetch ? "post" : "get";
564
+ return u ? r[d](u, c) : null;
565
+ }, Et = (e, t, n) => {
566
+ let { url: r } = n;
567
+ if (!r) return null;
568
+ let i = Y(r) ? r : r.del || r.restful;
569
+ return i ? e[r.del ? "post" : "delete"](i, t) : null;
570
+ }, Dt = (e, t, n) => {
571
+ let r = [], { url: i } = n;
572
+ if (!i) return null;
573
+ let { insertRecords: a, updateRecords: o } = t;
574
+ if (!J(a)) {
575
+ let t = Mt();
576
+ a.forEach((e) => {
577
+ !J(n?.defaultValue) && Object.assign(e, n.defaultValue), Object.keys(t)?.forEach((n) => {
578
+ e[n] = e[n] || t[n];
579
+ });
580
+ });
581
+ let o = Y(i) ? i : i.add || i.restful;
582
+ o && r.push(e.post(o, a));
583
+ }
584
+ if (!J(o)) {
585
+ let t = Y(i) ? i : i.save || i.restful, n = i.save ? "post" : "put";
586
+ t && r.push(e[n](t, o));
587
+ }
588
+ return r;
589
+ }, Ot = (e, t) => {
590
+ let n = t.filter((e) => e.itemRender?.props?.multiple || e.multiple);
591
+ if (J(n)) return e;
592
+ let r = q(e, !0);
593
+ return n.forEach((t) => {
594
+ t.itemRender.name === "#select" && t.itemRender.props.multiple && (r[`_${t.field}`]?.length === 0 && (r[`${t.field}`] = null), delete e[`_${t.field}`], delete r[`_${t.field}`]);
595
+ }), r;
596
+ }, kt = "yyyy-MM-dd 00:00:00", At = "yyyy-MM-dd 23:59:59", jt = (e, t) => {
597
+ let n = t.filter((e) => ["#SuDateRange", "VxeDateRangePicker"].includes(e.itemRender?.name));
598
+ if (J(n)) return e;
599
+ let r = q(e, !0);
600
+ return n.forEach((e) => {
601
+ let t = r[e.field];
602
+ t && e.itemRender.startField ? (r[e.itemRender.startField] = X(r[e.itemRender.startField], kt), r[e.itemRender.endField] = X(r[e.itemRender.endField], At)) : t && (r[`${e.field}From`] = X(t[0], kt), r[`${e.field}To`] = X(t[1], At)), delete r[e.field];
603
+ }), r;
604
+ }, Mt = () => K.get(bt) ? JSON.parse(K.get(bt)) : {}, Nt = [
605
+ {
606
+ code: "insert_actived",
607
+ name: "add",
608
+ status: "u-cyan",
609
+ icon: "vxe-icon-add",
610
+ auth: "add",
611
+ sort: 1
612
+ },
613
+ {
614
+ code: "delete",
615
+ status: "danger",
616
+ icon: "vxe-icon-delete",
617
+ auth: "del",
618
+ sort: 2
619
+ },
620
+ {
621
+ code: "save",
622
+ status: "primary",
623
+ icon: "vxe-icon-save",
624
+ auth: "edit",
625
+ sort: 3
626
+ }
627
+ ], Pt = [{
628
+ code: "add",
629
+ status: "u-cyan",
630
+ icon: "vxe-icon-add",
631
+ auth: "add",
632
+ sort: 1
633
+ }, {
634
+ code: "del",
635
+ status: "danger",
636
+ icon: "vxe-icon-delete",
637
+ auth: "del",
638
+ sort: 2
639
+ }], Ft = [
640
+ {
641
+ field: "createdByName",
642
+ width: 90,
643
+ visible: !1
644
+ },
645
+ {
646
+ field: "creationDate",
647
+ width: 140,
648
+ visible: !1
649
+ },
650
+ {
651
+ field: "lastUpdatedByName",
652
+ width: 90,
653
+ visible: !1
654
+ },
655
+ {
656
+ field: "lastUpdateDate",
657
+ width: 140,
658
+ visible: !1
659
+ }
660
+ ], It = (e) => He(e.exportConfig) ? e.exportConfig : {
661
+ filename: e.fileName || "导出明细",
662
+ type: "xlsx",
663
+ types: ["xlsx", "csv"],
664
+ modes: [
665
+ "current",
666
+ "selected",
667
+ "all"
668
+ ],
669
+ useStyle: !0,
670
+ sheetMethod: ({ worksheet: t }) => e.onSheetMethod ? e.onSheetMethod(t) : Bt(t),
671
+ beforeExportMethod: (t) => e.beforeExportMethod ? St = e.beforeExportMethod(t) : null,
672
+ columnFilterMethod: ({ column: t }) => e.columnFilter ? !!e.columnFilter(t) : !["operate"].includes(t.field) && t.type !== "checkbox"
673
+ }, Lt = (e, t, n, r) => {
674
+ let i = {
675
+ icon: "ri-refresh-line",
676
+ iconLoading: "vxe-icon-spinner roll vxe-loading--default-icon"
677
+ };
678
+ if (!t.editable) {
679
+ e.editConfig.editable = t.editable;
680
+ let a = t.needExport && r("export");
681
+ return a && (e.exportConfig = It(n)), e.toolbarConfig = {
682
+ buttons: [],
683
+ enabled: a,
684
+ refreshOptions: i,
685
+ exportOptions: {
686
+ icon: "ri-download-2-line",
687
+ code: "export"
688
+ },
689
+ export: a,
690
+ custom: !!n.gridId,
691
+ refresh: !0,
692
+ perfect: !0
693
+ }, e;
694
+ }
695
+ let a = q(n.buttons || [], !0);
696
+ a.forEach((e, t) => {
697
+ e.sort = e.sort || t + 10;
698
+ }), (n.mode === "form" ? q(Pt, !0) : q(Nt, !0)).reverse().forEach((e) => {
699
+ !a.some((t) => t.code === e.code) && a.unshift(e), n.authPrefix && !["printer", "export"].includes(e.auth) && (e.auth = n.authPrefix + e.auth.slice(0, 1).toLocaleUpperCase() + e.auth.slice(1).toLocaleLowerCase());
700
+ }), a = Ct(a, t.auth).filter((e) => {
701
+ let t = e.auth ? r(e.auth) : !0;
702
+ return e.dropdowns?.length && (e.dropdowns = e.dropdowns.filter((e) => !e.auth || e.auth && r(e.auth))), t;
703
+ }), e.editConfig = n.mode === "form" ? { enabled: !1 } : {
704
+ trigger: "dblclick",
705
+ mode: "row",
706
+ showStatus: !0
707
+ };
708
+ let o = t.needExport && r("export"), s = null;
709
+ return o && (e.exportConfig = It(n), s = {
710
+ icon: "ri-download-2-line",
711
+ code: "export"
712
+ }), e.toolbarConfig = {
713
+ buttons: We(a, "sort"),
714
+ enabled: !0,
715
+ refreshOptions: i,
716
+ customOptions: n.gridId ? {} : null,
717
+ exportOptions: s,
718
+ custom: !!n.gridId,
719
+ export: o,
720
+ refresh: !0,
721
+ perfect: !0
722
+ }, e;
723
+ }, Rt = ({ columns: e, data: t }, n) => [e.map((e, r) => {
724
+ if (r === (n.index || 0)) return n.label || "合计";
725
+ if (n.fields?.includes(e.property)) {
726
+ let r = t.reduce((t, n) => t + Number(n[e.property] || 0), 0);
727
+ return r && Number(r.toFixed(n.decimal || 2));
728
+ }
729
+ return "";
730
+ })], zt = (e, t) => Ve(t.checkMethod) ? t.checkMethod(e) : !0, Bt = (e) => {
731
+ e.eachRow((e, t) => {
732
+ e.font = {
733
+ name: "微软雅黑",
734
+ size: 9
735
+ }, e.border = {
736
+ top: { style: "thin" },
737
+ left: { style: "thin" },
738
+ bottom: { style: "thin" },
739
+ right: { style: "thin" }
740
+ }, t === 1 && (e.fill = {
741
+ type: "pattern",
742
+ pattern: "solid",
743
+ fgColor: { argb: "4F81BD" }
744
+ }, e.font = {
745
+ name: "微软雅黑",
746
+ size: 10,
747
+ bold: !0,
748
+ color: { argb: "FFFFFFFF" }
749
+ });
750
+ });
751
+ }, Vt = () => new Promise((e) => {
752
+ setTimeout(() => {
753
+ e({
754
+ list: [
755
+ {
756
+ id: 1,
757
+ name: "Test1",
758
+ sex: "Man",
759
+ age: 28,
760
+ address: "Shenzhen"
761
+ },
762
+ {
763
+ id: 2,
764
+ name: "Test2",
765
+ sex: "Women",
766
+ age: 22,
767
+ address: "Guangzhou"
768
+ },
769
+ {
770
+ id: 3,
771
+ name: "Test3",
772
+ sex: "Man",
773
+ age: 32,
774
+ address: "Shanghai"
775
+ },
776
+ {
777
+ id: 4,
778
+ name: "Test4",
779
+ sex: "Women",
780
+ age: 23,
781
+ address: "test abc"
782
+ },
783
+ {
784
+ id: 5,
785
+ name: "Test5",
786
+ sex: "Women",
787
+ age: 30,
788
+ address: "Shanghai"
789
+ }
790
+ ],
791
+ total: 5
792
+ });
793
+ }, 100);
794
+ }), Ht = (e) => {
795
+ let t = {};
796
+ return Object.keys(e).forEach((n) => {
797
+ let r = n.replace(/-(\w)/g, (e) => e.slice(1).toUpperCase());
798
+ t[r] = e[n];
799
+ }), t;
800
+ }, Ut = { style: {
801
+ width: "100%",
802
+ height: "100%"
803
+ } }, Wt = "U_TABLE_COLUMNN_SORT", Gt = /* @__PURE__ */ I({
804
+ name: "UtGrid",
805
+ __name: "index",
806
+ props: {
807
+ checkMethod: {},
808
+ serviceCode: { default: () => ({}) },
809
+ defaultValue: {},
810
+ defaultParams: {},
811
+ url: {},
812
+ columns: { default: () => [] },
813
+ items: { default: () => [] },
814
+ editable: {
815
+ type: Boolean,
816
+ default: !0
817
+ },
818
+ needExport: {
819
+ type: Boolean,
820
+ default: !0
821
+ },
822
+ autoLoad: {
823
+ type: Boolean,
824
+ default: !0
825
+ }
826
+ },
827
+ emits: [
828
+ "buttonClick",
829
+ "cellClick",
830
+ "cellDbclick",
831
+ "editEctivated"
832
+ ],
833
+ setup(e, { expose: t, emit: n }) {
834
+ let r = Ht(Te()), i, a = {}, o = he(), s = o.appContext.config.globalProperties.$hasAuthority, c = o.appContext.config.globalProperties.$debugModel, l = o.parent.type.name, u = o.appContext.config.globalProperties.$mode, d = e, { t: f } = Ge(), p = H(null), m = H(!1), h = de(), g = {
835
+ icon: "vxe-icon-setting",
836
+ name: "favorite",
837
+ events: { click: (e, t) => {
838
+ t.name === "favorite" && (m.value = !0);
839
+ } }
840
+ }, _ = () => d.columns.length ? Fe(d.columns, f) : {}, v = () => {
841
+ let e = d.columns;
842
+ if (r.gridId) {
843
+ let t = Ft.filter((t) => !e.some((e) => e.field === t.field)).map((e) => (r.format && ["lastUpdateDate", "creationDate"].includes(e.field) && (e.formatter = r.format, e.width = 90), e)), n = e.findIndex((e) => e.field === "operate");
844
+ n === -1 ? e.push(...t) : e.splice(n, 0, ...t);
845
+ }
846
+ return Ie(r.gridId ? x(e) : e, r.sortable);
847
+ };
848
+ Me.getItem(Wt).then((e) => {
849
+ i = e, y.columns = v();
850
+ });
851
+ let y = ye({
852
+ border: !0,
853
+ pagerConfig: { pageSize: r.pageSize || 20 },
854
+ editConfig: {},
855
+ editRules: _(),
856
+ formConfig: {},
857
+ columnConfig: { useKey: !0 },
858
+ toolbarConfig: { enabled: !1 },
859
+ sortConfig: {
860
+ multiple: !0,
861
+ trigger: "cell"
862
+ },
863
+ height: u ? void 0 : window.innerHeight - 92,
864
+ checkboxConfig: {
865
+ checkMethod: ({ row: e }) => zt(e, d),
866
+ checkRowKeys: d.checkRowKeys
867
+ },
868
+ loading: !1,
869
+ footerRowClassName: "ut-grid-footer",
870
+ proxyConfig: {
871
+ form: !0,
872
+ autoLoad: d.autoLoad,
873
+ showResponseMsgvxe: !1,
874
+ showActionMsgvxe: !1,
875
+ ajax: {
876
+ queryAll: ({ form: e }) => wt(d, h, e),
877
+ query: ({ page: e, form: t, code: n }) => Tt(d, t, e, h, n, u),
878
+ delete: ({ body: { removeRecords: e } }) => Et(h, e, d),
879
+ save: ({ body: e }) => Promise.all(Dt(h, e, d)),
880
+ querySuccess: ({ response: e }) => O("querySuccess", e),
881
+ queryError: ({ response: e }) => O("queryError", e),
882
+ deleteSuccess: ({ response: e }) => O("deleteSuccess", e),
883
+ deleteError: ({ response: e }) => O("deleteError", e),
884
+ saveSuccess: ({ response: e }) => O("saveSuccess", e),
885
+ saveError: ({ response: e }) => O("saveError", e)
886
+ }
887
+ },
888
+ columns: r.gridId ? [] : v(),
889
+ ...r
890
+ }), b = () => d.items.length ? _t(q(d.items, !0), l && d.url ? g : l) : d.items;
891
+ function x(e) {
892
+ let t = i ? i[r.gridId] : {};
893
+ return t ? e.map((e, n) => {
894
+ let r = (n + 1) * 10;
895
+ return e._sort = t[e.field] || r, a[e.field] = e._sort, e;
896
+ }).sort((e, t) => e._sort - t._sort) : e;
897
+ }
898
+ let S = () => {
899
+ d.items.length && (y.formConfig = {
900
+ titleWidth: 100,
901
+ titleAlign: "right",
902
+ items: b(),
903
+ rules: Fe(d.items, f),
904
+ validConfig: { showMessage: !1 }
905
+ });
906
+ let e = Lt(y, d, r, s);
907
+ Object.assign(y, e), r.gridId && (y.id = r.gridId, y.customConfig = {
908
+ storage: !0,
909
+ mode: "popup",
910
+ checkMethod({ column: e }) {
911
+ return !(e.field === "operate" || ["checkbox", "radio"].includes(e.type));
912
+ },
913
+ modalOptions: {
914
+ width: 750,
915
+ height: "75%"
916
+ }
917
+ }), r.mergeFooter && (y.showFooter = !0, y.footerMethod = ({ columns: e, data: t }) => Rt({
918
+ columns: e,
919
+ data: t
920
+ }, r.mergeFooter));
921
+ }, C = () => {
922
+ p.value.commitProxy("query");
923
+ }, w = () => (y.editRules = _(), p.value.refreshColumn()), T = () => {
924
+ y.loading = !0;
925
+ }, ee = () => {
926
+ y.loading = !1;
927
+ }, E = () => Ce(p.value), te = () => p.value.getTableData().fullData, D = (e = !1) => {
928
+ let t = d.columns[0].type, n = t === "radio" ? p.value.getRadioRecord(e) : p.value.getCheckboxRecords(e);
929
+ return t === "checkbox" && !n.length ? (ze(f("message.tip_selectedRecord")), []) : t === "radio" && !n ? (ze(f("message.tip_selectedRecord")), null) : n;
930
+ }, O = (e, t) => {
931
+ r?.callback && r?.callback[e] && r?.callback[e](t);
932
+ }, ne = async (e) => {
933
+ let t = e.data, n = d.items.filter((e) => e.itemRender?.props?.multiple);
934
+ n.forEach((e) => {
935
+ e.itemRender.props.defaultValue ? (t[`_${e.field}`] = e.itemRender.props.defaultValue.split(","), t[`${e.field}`] = e.itemRender.props.defaultValue) : t[`_${e.field}`] = [];
936
+ }), n.length && setTimeout(() => {
937
+ C();
938
+ }, 200);
939
+ }, k, re = () => {
940
+ let e = p.value;
941
+ k = Ke.create(e.$el.querySelector(".vxe-table--header .vxe-header--row"), {
942
+ disabled: !r.gridId,
943
+ handle: ".vxe-header--column",
944
+ onEnd: async (t) => {
945
+ let n = t.item, i = t.newIndex, o = t.oldIndex, { fullColumn: s, tableColumn: c } = e.getTableColumn(), l = n.parentNode, u = s[i], d = s[o], f = !1, p = "固定列";
946
+ if (u.fixed ? f = !1 : i === 0 || ["checkbox", "radio"].includes(d.type) ? (p = "勾选列", f = !0) : (d.field === "operate" || i === s.length - 1) && (f = !0, p = "操作列"), f) {
947
+ let e = l.children[o];
948
+ return i > o ? l.insertBefore(n, e) : l.insertBefore(n, e && e.nextElementSibling), Pe(p + "不允许拖动!");
949
+ }
950
+ let m = e.getColumnIndex(c[o]), h = e.getColumnIndex(c[i]), g = s.splice(m, 1)[0];
951
+ s.splice(h, 0, g);
952
+ let _ = h - m > 0 ? 1 : -1, v = (h + 1) * 10, y = (m + 1) * 10, b = v + 1 * _;
953
+ for (let e in a) {
954
+ let t = a[e];
955
+ (_ > 0 && t < b && t > y || _ < 0 && t > b && t < y) && (a[e] = t - 10 * _);
956
+ }
957
+ a[g.field] = v, Me.setItem(Wt, { [r.gridId]: a }), e.loadColumn(s);
958
+ }
959
+ });
960
+ };
961
+ t({
962
+ getTableData: te,
963
+ getSelectRecords: D,
964
+ refreshData: C,
965
+ refreshColumn: w,
966
+ getInstance: E,
967
+ showLoading: T,
968
+ hiddenLoading: ee,
969
+ reloadGrid: () => {
970
+ S();
971
+ }
972
+ });
973
+ let ie = ({ code: e }) => {
974
+ A("buttonClick", e);
975
+ }, ae = (e) => {
976
+ A("cellClick", e);
977
+ }, oe = (e) => {
978
+ A("cellDbclick", e);
979
+ }, se = (e) => {
980
+ A("editEctivated", e);
981
+ }, ce = () => {
982
+ window.onresize = () => {
983
+ le();
984
+ };
985
+ }, le = () => {
986
+ let e = r?.height || window.innerHeight - 90;
987
+ r.mode !== "inline" && !r?.height && (e = window.innerHeight - 180), window.innerHeight < 800 && (y.height = 520), y.height = r.fixedHeight === !1 && e < 600 ? 600 : e;
988
+ }, ue;
989
+ R(() => {
990
+ ue = setTimeout(() => {
991
+ re();
992
+ }, 500);
993
+ });
994
+ function de() {
995
+ return c && d?.url && ![
996
+ "/uums/",
997
+ "/upfm/",
998
+ "/urpt/",
999
+ "/usch/"
1000
+ ].some((e) => d.url.includes(e)) ? o.appContext.config.globalProperties.$debuggerApi : o.appContext.config.globalProperties.$serviceApi;
1001
+ }
1002
+ ve(() => {
1003
+ clearTimeout(ue), k && k.destroy();
1004
+ }), _e(() => {
1005
+ S(), He(r) && Ue(y, r || {}), r?.height && le(), ce();
1006
+ });
1007
+ let A = n;
1008
+ return (e, t) => {
1009
+ let n = U("vxe-grid");
1010
+ return V(), N("div", Ut, [F(n, L({
1011
+ ref_key: "xgrid",
1012
+ ref: p
1013
+ }, y, { class: "ut-grid-wrapper" }, Se(we(r).events || {}), {
1014
+ onToolbarButtonClick: ie,
1015
+ onToolbarToolClick: ie,
1016
+ onCellClick: ae,
1017
+ onCellDblclick: oe,
1018
+ onEditActivated: se,
1019
+ onFormReset: ne
1020
+ }), null, 16)]);
1021
+ };
1022
+ }
1023
+ }), Kt = {
1024
+ name: "UTStampBadge",
1025
+ props: {
1026
+ color: {
1027
+ type: String,
1028
+ default: "primary",
1029
+ validator: (e) => [
1030
+ "primary",
1031
+ "error",
1032
+ "warning",
1033
+ "success",
1034
+ "info"
1035
+ ].includes(e)
1036
+ },
1037
+ size: {
1038
+ type: String,
1039
+ default: "large",
1040
+ validator: (e) => [
1041
+ "large",
1042
+ "middle",
1043
+ "small"
1044
+ ].includes(e)
1045
+ },
1046
+ rotate: {
1047
+ type: Number,
1048
+ default: 45
1049
+ },
1050
+ top: {
1051
+ type: Number,
1052
+ default: 60
1053
+ },
1054
+ right: {
1055
+ type: Number,
1056
+ default: 40
1057
+ },
1058
+ content: {
1059
+ type: String,
1060
+ default: "Unknown"
1061
+ },
1062
+ code: {
1063
+ type: String,
1064
+ default: ""
1065
+ }
1066
+ },
1067
+ computed: {
1068
+ getStampBadgeClass() {
1069
+ let { color: e, size: t } = this.$props;
1070
+ return [{
1071
+ [`stamp-badge-${e}`]: !!e,
1072
+ [`stamp-badge-${t}`]: !!t
1073
+ }];
1074
+ },
1075
+ getBindValue() {
1076
+ return {
1077
+ ...this.$attrs,
1078
+ ...this.$props
1079
+ };
1080
+ }
1081
+ },
1082
+ methods: { getContent(e) {
1083
+ if (!e) return e;
1084
+ if (this.code) {
1085
+ let t = Le.getItem("kLov")[this.code].children.find((e) => e.dictCode === this.content);
1086
+ return t ? t.dictName : e;
1087
+ }
1088
+ return e;
1089
+ } }
1090
+ }, qt = { class: "" };
1091
+ function Jt(e, t, n, r, i, a) {
1092
+ return V(), N("div", L({ class: "first-ring" }, a.getBindValue, {
1093
+ class: a.getStampBadgeClass,
1094
+ style: [{ position: "absolute" }, {
1095
+ transform: `rotate(${n.rotate}deg)`,
1096
+ top: `${n.top}px`,
1097
+ right: `${n.right}px`
1098
+ }]
1099
+ }), [P("div", { class: z(["second-ring", a.getStampBadgeClass]) }, [P("div", { class: z(["third-ring", a.getStampBadgeClass]) }, [P("div", { class: z(["forth-ring", a.getStampBadgeClass]) }, [P("div", { class: z(["content-rectangle ellipsis", a.getStampBadgeClass]) }, [P("span", qt, W(a.getContent(n.content)), 1)], 2)], 2)], 2)], 2)], 16);
1100
+ }
1101
+ var Yt = /* @__PURE__ */ k(Kt, [["render", Jt], ["__scopeId", "data-v-9afb688a"]]), Xt = { class: "ut-content" }, Zt = {
1102
+ key: 0,
1103
+ class: "font-black"
1104
+ }, Qt = { class: "ut-right-panel" }, $t = { class: "ut-content-body" }, en = /* @__PURE__ */ k(/* @__PURE__ */ I({
1105
+ name: "UtContent",
1106
+ __name: "index",
1107
+ props: {
1108
+ title: { default: "" },
1109
+ showTop: {
1110
+ type: Boolean,
1111
+ default: !0
1112
+ },
1113
+ showClose: {
1114
+ type: Boolean,
1115
+ default: !0
1116
+ },
1117
+ stampOptions: {}
1118
+ },
1119
+ emits: ["close"],
1120
+ setup(e, { emit: t }) {
1121
+ let n = H(window.top === window.self), r = t, i = () => {
1122
+ r("close");
1123
+ };
1124
+ return (t, r) => {
1125
+ let a = U("ut-button");
1126
+ return V(), N("div", Xt, [
1127
+ F(Yt, {
1128
+ color: e.stampOptions.color || "success",
1129
+ content: e.stampOptions.content,
1130
+ size: e.stampOptions.size,
1131
+ code: e.stampOptions.code
1132
+ }, null, 8, [
1133
+ "color",
1134
+ "content",
1135
+ "size",
1136
+ "code"
1137
+ ]),
1138
+ e.showTop && n.value ? (V(), N("div", {
1139
+ key: 0,
1140
+ class: z(["ut-content-top", e.title ? "justify-between" : "justify-end"])
1141
+ }, [e.title ? (V(), N("span", Zt, W(e.title), 1)) : M("", !0), P("div", Qt, [xe(t.$slots, "header", {}, void 0, !0), e.showClose ? (V(), j(a, {
1142
+ key: 0,
1143
+ status: "info",
1144
+ icon: t.$attrs.icon || "ri-reply-line",
1145
+ content: t.$attrs.content || "goback",
1146
+ onTap: r[0] ||= (e) => i()
1147
+ }, null, 8, ["icon", "content"])) : M("", !0)])], 2)) : M("", !0),
1148
+ P("div", $t, [xe(t.$slots, "body", {}, void 0, !0)])
1149
+ ]);
1150
+ };
1151
+ }
1152
+ }), [["__scopeId", "data-v-78da5382"]]), tn = { class: "flex w-full flex-wrap" }, nn = { class: "ut-upload-list flex flex-wrap items-center" }, rn = { class: "ut-upload--image flex items-center justify-center" }, an = ["src", "onClick"], on = {
1153
+ key: 1,
1154
+ class: "ut-image-hover"
1155
+ }, sn = { class: "ut-image-file--wrapper" }, cn = ["onClick"], ln = { class: "ut-image-hover" }, un = { class: "ut-image-file--wrapper" }, dn = ["onClick"], fn = {
1156
+ key: 0,
1157
+ class: "ut-upload--image-item-btn-wrapper"
1158
+ }, pn = { class: "ut-upload-remove--btn" }, mn = ["onClick"], hn = { class: "flex items-center justify-center h-full flex-col cursor-pointer ut-upload--btn" }, gn = {
1159
+ key: 0,
1160
+ class: "vxe-icon-add",
1161
+ style: { "font-size": "18px" }
1162
+ }, _n = {
1163
+ key: 1,
1164
+ style: {
1165
+ padding: "0 1px",
1166
+ "font-size": "11px",
1167
+ "text-align": "center"
1168
+ }
1169
+ }, vn = {
1170
+ key: 3,
1171
+ style: {
1172
+ padding: "0 1px",
1173
+ "font-size": "11px",
1174
+ "text-align": "center"
1175
+ }
1176
+ }, yn = /* @__PURE__ */ I({
1177
+ name: "FormUpload",
1178
+ props: {
1179
+ record: { default: () => ({}) },
1180
+ imageTypes: { default: () => [
1181
+ "jpg",
1182
+ "jpeg",
1183
+ "png",
1184
+ "gif"
1185
+ ] },
1186
+ field: { default: "" },
1187
+ dataStatus: { default: "" },
1188
+ renderMode: { default: "item" },
1189
+ size: { default: "mini" },
1190
+ mode: { default: "" },
1191
+ limitCount: { default: 9 },
1192
+ limitSize: { default: 30 },
1193
+ compassorSize: { default: 2 },
1194
+ quality: { default: .6 },
1195
+ singleMode: {
1196
+ type: Boolean,
1197
+ default: !1
1198
+ },
1199
+ autoHiddenButton: {
1200
+ type: Boolean,
1201
+ default: !1
1202
+ },
1203
+ showErrorStatus: { type: Boolean },
1204
+ showDownloadButton: {
1205
+ type: Boolean,
1206
+ default: !1
1207
+ },
1208
+ multiple: {
1209
+ type: Boolean,
1210
+ default: !1
1211
+ },
1212
+ success: {},
1213
+ remove: {}
1214
+ },
1215
+ emits: ["remove"],
1216
+ setup(e, { emit: t }) {
1217
+ let n = e;
1218
+ Oe(() => n.record[n.field], (e) => {
1219
+ C();
1220
+ });
1221
+ let r = he(), i = r.appContext.config.globalProperties.$url, a = r.appContext.config.globalProperties.$serviceApi, o = H(""), s = H(!1), c = [
1222
+ "image/gif",
1223
+ "image/jpeg",
1224
+ "image/png"
1225
+ ], l = H(null), u = fe(() => {
1226
+ let e = K.get("authorized-token");
1227
+ return { Authorization: "Bearer " + JSON.parse(e).accessToken };
1228
+ }), d = H([]), f = H([]), p = (e) => c.includes(e.file.type) && e.file.size > 1024 * 1024 * n.compassorSize ? new Promise((t, r) => {
1229
+ new qe(e.file, {
1230
+ quality: n.quality,
1231
+ mimeType: e.file.type,
1232
+ success(e) {
1233
+ m(t, r, new File([e], e.name, { type: e.type }));
1234
+ }
1235
+ });
1236
+ }) : new Promise((t, n) => m(t, n, e.file)), m = (e, t, n) => {
1237
+ let r = new FormData();
1238
+ r.append("file", n);
1239
+ let a = i + "/ufil/file/uploadMultipart";
1240
+ return s.value = !0, Je.post(a, r, {
1241
+ headers: Object.assign({ "Content-Type": "multipart/form-data" }, u.value),
1242
+ onUploadProgress(e) {
1243
+ o.value = `进度${Math.round(e.loaded * 100 / (e.total || 0))}%`;
1244
+ }
1245
+ }).then(async (t) => {
1246
+ o.value = "处理中...", n.path = t.data.data, n.url = `${i}/ufil${n.path}`, f.value.push(n), s.value = !1, e(n);
1247
+ }).catch(() => {
1248
+ s.value = !1, t(null);
1249
+ });
1250
+ }, h = () => {
1251
+ l.value.choose();
1252
+ }, g = ({ data: e }) => {
1253
+ if (n.success) return n.success(e);
1254
+ {
1255
+ let t = n.field;
1256
+ Object.assign(n.record, { [t]: e.path });
1257
+ }
1258
+ }, _ = ({ option: e }) => {
1259
+ if (n.remove) return n.remove(e, f);
1260
+ S("remove", e, f);
1261
+ }, v = async (e, t) => {
1262
+ e.id && await a.delete("/ufil/v1/attachment", [e]), f.value.splice(t, 1), S("remove", e, f);
1263
+ }, y = (e) => {
1264
+ Z.previewImage({
1265
+ activeIndex: 0,
1266
+ urlList: [e.url]
1267
+ });
1268
+ }, b = (e) => {
1269
+ let t = e.type || e.url.split(".").pop(), n = "";
1270
+ switch (t) {
1271
+ case "jpg":
1272
+ case "png":
1273
+ case "jpeg":
1274
+ case "webp":
1275
+ case "image/jpeg":
1276
+ case "image/png":
1277
+ case "image/gif":
1278
+ n = "img";
1279
+ break;
1280
+ case "doc":
1281
+ case "docx":
1282
+ n = "vxe-icon-file-word";
1283
+ break;
1284
+ case "xlsx":
1285
+ case "xls":
1286
+ n = "vxe-icon-file-excel";
1287
+ break;
1288
+ case "pdf":
1289
+ n = "vxe-icon-file-pdf";
1290
+ break;
1291
+ case "txt":
1292
+ n = "vxe-icon-file-txt";
1293
+ break;
1294
+ case "ppt":
1295
+ n = "vxe-icon-file-ppt";
1296
+ break;
1297
+ case "markdown":
1298
+ n = "vxe-icon-file-markdown";
1299
+ break;
1300
+ case "apk":
1301
+ n = "ri-android-fill";
1302
+ break;
1303
+ case "ipa":
1304
+ n = "ri-apple-line";
1305
+ break;
1306
+ default:
1307
+ n = "vxe-icon-file";
1308
+ break;
1309
+ }
1310
+ return n;
1311
+ }, x = (e) => {
1312
+ let t = n.size === "small" ? 10 : 9;
1313
+ return ((e) => {
1314
+ let r = e.lastIndexOf("."), i = r > 0 ? e.substring(0, r) : e, a = r > 0 ? e.substring(r) : "";
1315
+ return i.length <= t ? e : `${n.renderMode === "item" ? i.substring(0, t - 5) : ""}...${i.substring(i.length - (t - 6))}${a}`;
1316
+ })(((e) => {
1317
+ if (e.name) return e.name;
1318
+ let t = e.url, n = t.includes("\\") ? "\\" : "/";
1319
+ return t.split(n).pop();
1320
+ })(e));
1321
+ }, S = t, C = () => {
1322
+ let e = n.record[n.field];
1323
+ if (f.value = [], e) if (e && Y(e)) {
1324
+ let t = {
1325
+ name: e.match(/[^\/\\]+$/)[0],
1326
+ url: `${i}/ufil${e}`
1327
+ };
1328
+ n.singleMode ? f.value = t : f.value.push(t);
1329
+ } else Be(e) && e.forEach((e) => {
1330
+ if (Y(e)) {
1331
+ let t = e.match(/[^\/\\]+$/)[0];
1332
+ f.value.push({
1333
+ name: t,
1334
+ url: `${i}/ufil${e}`
1335
+ });
1336
+ } else f.value.push({
1337
+ name: e.name,
1338
+ id: e.id,
1339
+ url: `${i}/ufil${e.realpath}`
1340
+ });
1341
+ });
1342
+ };
1343
+ return _e(() => {
1344
+ C();
1345
+ }), (t, n) => {
1346
+ let r = U("vxe-tooltip"), i = U("vxe-icon"), a = U("vxe-upload");
1347
+ return V(), N("div", tn, [P("div", nn, [(V(!0), N(A, null, be(f.value, (t, n) => (V(), N("div", {
1348
+ key: t,
1349
+ class: z("ut-upload-item--" + e.size)
1350
+ }, [P("div", rn, [b(t) === "img" ? (V(), N("img", {
1351
+ key: 0,
1352
+ src: t.url,
1353
+ class: "ut-image select-none",
1354
+ onClick: (e) => y(t)
1355
+ }, null, 8, an)) : e.renderMode === "item" || e.dataStatus !== "detail" ? (V(), N("div", on, [P("div", sn, [P("i", {
1356
+ class: z([b(t), "ut-image-file ut-image"]),
1357
+ style: { "line-height": "1" }
1358
+ }, null, 2), P("div", {
1359
+ class: "px-1 ut-image",
1360
+ style: B({ fontSize: e.size === "small" ? "11px" : "10px" })
1361
+ }, W(x(t)), 5)]), P("i", {
1362
+ class: "vxe-icon-download ut-download-icon",
1363
+ style: B({ fontSize: e.renderMode === "item" ? "60px" : "48px" }),
1364
+ onClick: (e) => void 0
1365
+ }, null, 12, cn)])) : (V(), j(r, {
1366
+ key: 2,
1367
+ content: t.name,
1368
+ class: "cursor-pointer"
1369
+ }, {
1370
+ default: G(() => [P("div", ln, [P("div", un, [P("i", {
1371
+ class: z([b(t), "ut-image-file ut-image"]),
1372
+ style: { "font-size": "32px" }
1373
+ }, null, 2), P("div", {
1374
+ class: "px-1 ut-image",
1375
+ style: B({ fontSize: e.size === "small" ? "11px" : "10px" })
1376
+ }, W(x(t)), 5)]), P("i", {
1377
+ class: "vxe-icon-download ut-download-icon",
1378
+ style: B({ fontSize: e.renderMode === "item" ? "60px" : "48px" }),
1379
+ onClick: (e) => void 0
1380
+ }, null, 12, dn)])]),
1381
+ _: 2
1382
+ }, 1032, ["content"]))]), e.dataStatus === "detail" ? M("", !0) : (V(), N("div", fn, [P("div", pn, [P("i", {
1383
+ class: "vxe-icon-close",
1384
+ onClick: (e) => v(t, n)
1385
+ }, null, 8, mn)])]))], 2))), 128)), e.dataStatus === "detail" ? M("", !0) : (V(), N("div", {
1386
+ key: 0,
1387
+ class: z(["ut-upload-item--" + e.size, "ut-upload--btn"]),
1388
+ style: { border: "1px dashed var(--vxe-ui-input-border-color)" },
1389
+ onClick: h
1390
+ }, [P("div", hn, [
1391
+ s.value ? M("", !0) : (V(), N("span", gn)),
1392
+ s.value ? M("", !0) : (V(), N("div", _n, "点击上传")),
1393
+ s.value ? (V(), j(i, {
1394
+ key: 2,
1395
+ name: "spinner",
1396
+ status: "primary",
1397
+ roll: "",
1398
+ style: { "font-size": "24px" }
1399
+ })) : M("", !0),
1400
+ s.value ? (V(), N("div", vn, W(o.value), 1)) : M("", !0)
1401
+ ])], 2))]), F(a, L({
1402
+ ref_key: "xupload",
1403
+ ref: l,
1404
+ modelValue: d.value,
1405
+ "onUpdate:modelValue": n[0] ||= (e) => d.value = e,
1406
+ style: { display: "none" }
1407
+ }, t.$attrs, {
1408
+ "limit-count": e.limitCount,
1409
+ "limit-size": e.limitSize,
1410
+ size: e.size,
1411
+ mode: e.mode,
1412
+ "single-mode": e.singleMode,
1413
+ "image-types": e.imageTypes,
1414
+ "auto-hidden-button": e.autoHiddenButton,
1415
+ "show-error-status": e.showErrorStatus,
1416
+ "remove-method": _,
1417
+ "upload-method": p,
1418
+ multiple: e.multiple,
1419
+ "show-download-button": e.showDownloadButton,
1420
+ "show-list": !1,
1421
+ "show-progress": "",
1422
+ onUploadSuccess: g
1423
+ }), null, 16, [
1424
+ "modelValue",
1425
+ "limit-count",
1426
+ "limit-size",
1427
+ "size",
1428
+ "mode",
1429
+ "single-mode",
1430
+ "image-types",
1431
+ "auto-hidden-button",
1432
+ "show-error-status",
1433
+ "multiple",
1434
+ "show-download-button"
1435
+ ])]);
1436
+ };
1437
+ }
1438
+ }), bn = ["onUpdate:modelValue"], xn = { key: 3 }, Sn = { key: 4 }, Cn = /* @__PURE__ */ k(/* @__PURE__ */ I({
1439
+ name: "UtUpload",
1440
+ props: /* @__PURE__ */ ge({
1441
+ defaultParams: { default: () => ({}) },
1442
+ options: { default: () => ({
1443
+ filename: "数据模板",
1444
+ errorField: "errorMsg",
1445
+ errListField: "list"
1446
+ }) },
1447
+ columns: { default: () => [] },
1448
+ templateData: { default: () => [] },
1449
+ serviceCode: {},
1450
+ url: {},
1451
+ sourceList: { default: "list" }
1452
+ }, {
1453
+ visible: { type: Boolean },
1454
+ visibleModifiers: {}
1455
+ }),
1456
+ emits: /* @__PURE__ */ ge(["close"], ["update:visible"]),
1457
+ setup(e, { emit: t }) {
1458
+ let n = e, r = he().appContext.config.globalProperties.$serviceApi, i = Ee(e, "visible"), { t: a } = Ge(), o = H(!1), s = Le.getItem("kLov");
1459
+ Oe(() => i.value, (e) => {
1460
+ e && (m.data = []);
1461
+ });
1462
+ let c = () => {
1463
+ let e = n.columns.map((e) => (e.slots = { default: e.field }, e.title = e.field, e.decimal = e.decimal, e));
1464
+ return e.unshift({
1465
+ type: "checkbox",
1466
+ width: 40,
1467
+ align: "center",
1468
+ fixed: "left"
1469
+ }), e;
1470
+ }, l = H({
1471
+ pageSize: 200,
1472
+ currentPage: 1,
1473
+ total: 0
1474
+ }), u = [
1475
+ "Sizes",
1476
+ "PrevJump",
1477
+ "PrevPage",
1478
+ "Number",
1479
+ "NextPage",
1480
+ "NextJump",
1481
+ "FullJump",
1482
+ "Total"
1483
+ ], d = window.innerHeight - 20, f = H(), p = [], m = ye({
1484
+ border: !0,
1485
+ height: d,
1486
+ data: [],
1487
+ importConfig: {
1488
+ mode: "covering",
1489
+ types: ["csv", "xlsx"],
1490
+ afterImportMethod: _
1491
+ },
1492
+ showOverflow: !0,
1493
+ loading: !1,
1494
+ toolbarConfig: {
1495
+ buttons: [
1496
+ {
1497
+ code: "import_plus",
1498
+ name: a("message.btn.upload"),
1499
+ icon: "ri-upload-2-line",
1500
+ status: "primary"
1501
+ },
1502
+ {
1503
+ code: "save_plus",
1504
+ name: a("message.btn.save"),
1505
+ icon: "ri-save-3-line",
1506
+ status: "success"
1507
+ },
1508
+ {
1509
+ code: "del_plus",
1510
+ name: a("message.btn.delete"),
1511
+ icon: "ri-delete-bin-line",
1512
+ status: "danger"
1513
+ },
1514
+ {
1515
+ code: "export_plus",
1516
+ name: a("message.btn.downloadTemp"),
1517
+ icon: "ri-download-2-line",
1518
+ status: "warning"
1519
+ }
1520
+ ],
1521
+ tools: [{
1522
+ code: "question",
1523
+ name: a("message.btn.FAQ"),
1524
+ status: "primary",
1525
+ icon: "vxe-icon-info-circle-fill"
1526
+ }, {
1527
+ code: "replay",
1528
+ name: a("message.btn.back"),
1529
+ status: "info",
1530
+ icon: "vxe-icon-undo"
1531
+ }]
1532
+ },
1533
+ columns: c()
1534
+ }), h = {
1535
+ toolbarButtonClick({ code: e }) {
1536
+ switch (e) {
1537
+ case "import_plus":
1538
+ g();
1539
+ break;
1540
+ case "save_plus":
1541
+ x();
1542
+ break;
1543
+ case "del_plus":
1544
+ S();
1545
+ break;
1546
+ case "export_plus":
1547
+ b();
1548
+ break;
1549
+ }
1550
+ },
1551
+ toolbarToolClick({ code: e }) {
1552
+ switch (e) {
1553
+ case "replay":
1554
+ E();
1555
+ break;
1556
+ case "question":
1557
+ T();
1558
+ break;
1559
+ }
1560
+ }
1561
+ }, g = () => {
1562
+ p = [], f.value?.openImport();
1563
+ };
1564
+ function _(e) {
1565
+ p = e.$table.getTableData().fullData, c().filter((e) => !e.type && e.mapField !== n.options.errorField).forEach((e) => {
1566
+ let t = p.findIndex((t) => t[e.field] === e.field);
1567
+ t !== -1 && p.splice(t, 1);
1568
+ }), n.columns.forEach((e) => {
1569
+ (e.dateFormatter || e.valueType === "number") && p.forEach((t) => {
1570
+ e.dateFormatter ? t[e.field] = X(t[e.field], e.dateFormatter || "yyyy-MM-dd HH:mm:ss") : t[e.field] = Ye.unformat(t[e.field]).toFixed(e.decimal || 6);
1571
+ });
1572
+ }), l.value.total = p.length, v();
1573
+ }
1574
+ let v = () => {
1575
+ let { currentPage: e, pageSize: t } = l.value;
1576
+ m.data = p.filter((n, r) => r < t * e && r >= t * (e - 1));
1577
+ }, y = ({ currentPage: e, pageSize: t }) => {
1578
+ l.value.currentPage = e, l.value.pageSize = t, v();
1579
+ }, b = () => {
1580
+ let e = [];
1581
+ if (n.templateData.length) e.push(...n.templateData);
1582
+ else {
1583
+ let t = {};
1584
+ c().filter((e) => e.type !== "checkbox").forEach((e) => {
1585
+ t[e.field] = "案例";
1586
+ }), e.push(t);
1587
+ }
1588
+ let t = {
1589
+ filename: n.options.filename,
1590
+ type: "xlsx",
1591
+ columns: c().filter((e) => e.mapField !== n.options.errorField && e.type !== "checkbox"),
1592
+ data: e
1593
+ };
1594
+ f.value?.exportData(t);
1595
+ }, x = async () => {
1596
+ if (!p.length) return ze(a("message.importEmpty"));
1597
+ if (await Z.modal.confirm(a("message.importRecord")) === "confirm") {
1598
+ m.loading = !0;
1599
+ let { url: e } = n;
1600
+ w("toSave"), r.post(e, p).then((e) => {
1601
+ e?.status === "error" || e?.length ? (o.value = !0, C(e?.length ? e : e[n.options.errListField || n.sourceList]), Z.modal.message({
1602
+ content: a("message.importFailed"),
1603
+ status: "error"
1604
+ })) : (Z.modal.message({
1605
+ content: a("message.importSuccess"),
1606
+ status: "success"
1607
+ }), E());
1608
+ }).finally(() => {
1609
+ o.value = !1, m.loading = !1;
1610
+ });
1611
+ }
1612
+ }, S = () => {
1613
+ let e = f.value?.getCheckboxRecords();
1614
+ if (!e?.length) return Z.modal.message({
1615
+ content: a("message.selectedRecord"),
1616
+ status: "warning"
1617
+ });
1618
+ e.forEach((e) => {
1619
+ let t = p.findIndex((t) => t._X_ROW_KEY === e._X_ROW_KEY);
1620
+ t !== -1 && p.splice(t, 1);
1621
+ }), m.data = p;
1622
+ }, C = (e) => {
1623
+ l.value.total = e.length, p = e.map((e, t) => (e._X_ROW_KEY = t, e)), w("toShow"), v();
1624
+ }, w = (e) => {
1625
+ m.columns.forEach((t) => {
1626
+ if (e === "toSave") {
1627
+ let e = K.get("kCookies_param") ? JSON.parse(K.get("kCookies_param")) : {};
1628
+ p.forEach((r) => {
1629
+ r[t.mapField] = r[t.field], Object.assign(r, e, n.defaultParams);
1630
+ });
1631
+ } else p.forEach((e) => {
1632
+ e[t.field] = e[t.mapField];
1633
+ });
1634
+ });
1635
+ }, T = () => {
1636
+ Z.modal.alert(a("message.importTip"), a("message.udp.tip"));
1637
+ }, ee = t, E = () => {
1638
+ i.value = !1, ee("close");
1639
+ };
1640
+ return (t, n) => {
1641
+ let r = U("el-option"), a = U("el-select"), c = U("el-date-picker"), d = U("vxe-pager"), p = U("vxe-grid"), g = U("vxe-modal");
1642
+ return V(), j(g, {
1643
+ modelValue: i.value,
1644
+ "onUpdate:modelValue": n[2] ||= (e) => i.value = e,
1645
+ "show-header": !1,
1646
+ fullscreen: "",
1647
+ remember: "",
1648
+ onClose: E
1649
+ }, {
1650
+ default: G(() => [F(p, L({
1651
+ ref_key: "xgrid",
1652
+ ref: f
1653
+ }, m, Se(h)), me({
1654
+ pager: G(() => [F(d, {
1655
+ "current-page": l.value.currentPage,
1656
+ "onUpdate:currentPage": n[0] ||= (e) => l.value.currentPage = e,
1657
+ "page-size": l.value.pageSize,
1658
+ "onUpdate:pageSize": n[1] ||= (e) => l.value.pageSize = e,
1659
+ layouts: u,
1660
+ "page-sizes": [
1661
+ 200,
1662
+ 500,
1663
+ 1e3,
1664
+ 2e3,
1665
+ 5e3,
1666
+ 1e4
1667
+ ],
1668
+ total: l.value.total,
1669
+ onPageChange: y
1670
+ }, null, 8, [
1671
+ "current-page",
1672
+ "page-size",
1673
+ "total"
1674
+ ])]),
1675
+ _: 2
1676
+ }, [be(e.columns, (e) => ({
1677
+ name: e.field,
1678
+ fn: G(({ row: t }) => [e.dictCode && !e.disabled ? (V(), j(a, {
1679
+ key: 0,
1680
+ modelValue: t[e.field],
1681
+ "onUpdate:modelValue": (n) => t[e.field] = n,
1682
+ modelModifiers: { trim: !0 },
1683
+ clearable: ""
1684
+ }, {
1685
+ default: G(() => [(V(!0), N(A, null, be(we(s)[e.dictCode]?.children, (e) => (V(), j(r, {
1686
+ key: e.dictCode,
1687
+ value: e.dictCode,
1688
+ label: e.dictName
1689
+ }, null, 8, ["value", "label"]))), 128))]),
1690
+ _: 2
1691
+ }, 1032, ["modelValue", "onUpdate:modelValue"])) : [
1692
+ "date",
1693
+ "month",
1694
+ "datetime"
1695
+ ].includes(e.dataType) && !e.disabled ? (V(), j(c, {
1696
+ key: 1,
1697
+ modelValue: t[e.field],
1698
+ "onUpdate:modelValue": (n) => t[e.field] = n,
1699
+ modelModifiers: { trim: !0 },
1700
+ type: e.dataType,
1701
+ "value-format": "YYYY-MM-DD hh:mm:ss"
1702
+ }, null, 8, [
1703
+ "modelValue",
1704
+ "onUpdate:modelValue",
1705
+ "type"
1706
+ ])) : !e.da && !e.disabled ? ke((V(), N("input", {
1707
+ key: 2,
1708
+ "onUpdate:modelValue": (n) => t[e.field] = n,
1709
+ class: "ut-input"
1710
+ }, null, 8, bn)), [[
1711
+ De,
1712
+ t[e.field],
1713
+ void 0,
1714
+ { trim: !0 }
1715
+ ]]) : o.value ? (V(), N("span", Sn, W(t[e.field]), 1)) : (V(), N("span", xn, W(t[e.field]), 1))])
1716
+ }))]), 1040)]),
1717
+ _: 1
1718
+ }, 8, ["modelValue"]);
1719
+ };
1720
+ }
1721
+ }), [["__scopeId", "data-v-41bb3a03"]]), wn = { class: "ut-lov-wrapper" }, Tn = { style: { height: "360px" } }, En = /* @__PURE__ */ I({
1722
+ name: "UtLov",
1723
+ props: {
1724
+ record: { default: () => ({}) },
1725
+ defaultParams: { default: () => ({}) },
1726
+ code: {},
1727
+ field: {},
1728
+ displayName: {},
1729
+ placeholder: { default: "请选择" },
1730
+ mode: { default: "vxe" },
1731
+ clearable: {
1732
+ type: Boolean,
1733
+ default: !0
1734
+ },
1735
+ multiple: {
1736
+ type: Boolean,
1737
+ default: !1
1738
+ },
1739
+ disabled: {
1740
+ type: Boolean,
1741
+ default: !1
1742
+ },
1743
+ autoLoad: {
1744
+ type: Boolean,
1745
+ default: !0
1746
+ },
1747
+ readonly: { type: Boolean },
1748
+ editable: {
1749
+ type: Boolean,
1750
+ default: !1
1751
+ },
1752
+ transfer: { type: Boolean },
1753
+ checkMethod: {}
1754
+ },
1755
+ emits: ["clear", "change"],
1756
+ setup(e, { emit: t }) {
1757
+ let n = e, r = he().appContext.config.globalProperties.$serviceApi, i = H(!1), a = H(600), o = H(""), s = H("vxe-table--ignore-clear"), c = ye({
1758
+ loading: !1,
1759
+ border: !0,
1760
+ pagerConfig: {},
1761
+ formConfig: {
1762
+ titleWidth: 90,
1763
+ titleAlign: "right",
1764
+ items: []
1765
+ },
1766
+ height: "auto",
1767
+ editConfig: {},
1768
+ rowConfig: { keyField: "_X_ROW_KEY" },
1769
+ columnConfig: {
1770
+ resizable: !0,
1771
+ isHover: !0
1772
+ },
1773
+ proxyConfig: {
1774
+ form: !0,
1775
+ autoLoad: !1,
1776
+ response: {
1777
+ result: "list",
1778
+ total: "total"
1779
+ },
1780
+ ajax: { query: ({ page: e, form: t }) => {
1781
+ let i = K.get("kCookies_param") ? JSON.parse(K.get("kCookies_param")) : {}, a = {
1782
+ pageNum: e.currentPage,
1783
+ pageSize: e.pageSize
1784
+ }, o = Object.assign(a, i, n.defaultParams, t);
1785
+ if (!n.readonly) {
1786
+ let { field: e, displayName: t } = n;
1787
+ o[t || e] = n.record[t || e];
1788
+ }
1789
+ return o = d(o), l.lovType === "url" ? r.get(l.lovUrl, o) : (o.lovCode = n.code, r.get("/upfm/v1/lovViewHeader/listBySql", o));
1790
+ } }
1791
+ },
1792
+ checkboxConfig: { checkMethod: ({ row: e }) => y(e, n) },
1793
+ radioConfig: { checkMethod: ({ row: e }) => y(e, n) },
1794
+ columns: []
1795
+ }), l, u = [], d = (e) => (u.filter((e) => ["date", "month"].includes(e.fieldType) && e.isSearch).forEach((t) => {
1796
+ t.fieldType === "date" ? e[t.field] = X(e[t.field], "yyyy-MM-dd 00:00:00") : t.fieldType === "month" && (e[t.field] = X(e[t.field], "yyyy-MM"));
1797
+ }), e), f = () => {
1798
+ let e = q(u, !0).filter((e) => e.isSearch === "Y");
1799
+ if (!e.length) return;
1800
+ let t = e.length > 2, n = e.sort((e, t) => e.seqNo - t.seqNo).map((e, t) => ({
1801
+ field: e.colField,
1802
+ title: e.colTitle,
1803
+ span: 8,
1804
+ folding: t > 1,
1805
+ itemRender: h(e)
1806
+ }));
1807
+ p.collapseNode = t, t ? n.splice(2, 0, p) : n.push(p), c.formConfig.items = n;
1808
+ }, p = {
1809
+ span: 8,
1810
+ align: "right",
1811
+ collapseNode: !1,
1812
+ itemRender: {
1813
+ name: "VxeButtonGroup",
1814
+ options: [{
1815
+ type: "submit",
1816
+ submit: "submit",
1817
+ content: "message.btn.search",
1818
+ status: "primary",
1819
+ icon: "ri-search-line"
1820
+ }, {
1821
+ type: "reset",
1822
+ name: "reset",
1823
+ content: "message.btn.reset",
1824
+ status: "info",
1825
+ icon: "ri-refresh-line"
1826
+ }]
1827
+ }
1828
+ }, m = Re(), h = (e) => {
1829
+ if (["date", "month"].includes(e.fieldType)) {
1830
+ let t = e.fieldType === "date" ? "yyyy-MM-dd HH:mm:ss" : "yyyy-MM";
1831
+ return m.renderDate({
1832
+ type: e.fieldType,
1833
+ valueFormat: t
1834
+ });
1835
+ } else if (e.fieldType === "dictCode") return m.renderDict(e.dictCode);
1836
+ return { name: "VxeInput" };
1837
+ }, g = () => {
1838
+ let e = q(u, !0).filter((e) => e.isCol === "Y"), t = e.reduce((e, t) => e + +t.colWidth, 65);
1839
+ a.value = t < 600 ? 600 : t > 900 ? 900 : t, c.columns = e.sort((e, t) => e.seqNo - t.seqNo).map((e) => {
1840
+ let t = e.fieldType, n = ["formatDict", e.dictCode];
1841
+ return {
1842
+ field: e.colField,
1843
+ title: e.colTitle,
1844
+ minWidth: e.colWidth,
1845
+ formatter: t === "date" ? ["formatDate"] : e.fieldType === "dictCode" ? n : null
1846
+ };
1847
+ }), n.multiple ? c.columns.unshift({
1848
+ type: "checkbox",
1849
+ width: 45,
1850
+ align: "center"
1851
+ }) : c.columns.unshift({
1852
+ type: "radio",
1853
+ width: 45,
1854
+ align: "center"
1855
+ });
1856
+ }, _ = H(null), v = async () => {
1857
+ c.loading = !0;
1858
+ let [e, t] = await se(r.get("/upfm/v1/lovViewHeader/detailByViewCode", { lovCode: n.code }));
1859
+ c.loading = !1, e && T(), c.loading = !0, o.value = t?.lovTitle || t?.lovName, u = t?.lineList || [], l = t, g(), f(), await Ne(30), await R(), n.autoLoad && _.value?.commitProxy("query"), c.loading = !1;
1860
+ }, y = (e, t) => Ve(t.checkMethod) ? t.checkMethod(e) : !0, b = async () => {
1861
+ n.disabled || (v(), await R(), i.value = !0);
1862
+ }, x = () => {
1863
+ E("clear", "");
1864
+ }, S = ({ row: e }) => {
1865
+ let t = n.multiple ? [e] : e;
1866
+ Ve(n.checkMethod) && !n.checkMethod(e) || (E("change", t, l.valueField), T());
1867
+ }, C = async () => {
1868
+ await R(), _.value?.commitProxy("query");
1869
+ }, w = () => {
1870
+ let e = _.value, t = n.multiple ? e.getCheckboxRecords() : e.getRadioRecord();
1871
+ !J(t) && E("change", t, l.valueField), T();
1872
+ }, T = () => {
1873
+ u.length = 0, i.value = !1;
1874
+ }, ee = ({ type: e }) => {}, E = t;
1875
+ return (t, n) => {
1876
+ let r = U("vxe-grid"), l = U("vxe-button"), u = U("vxe-modal"), d = U("el-dialog"), f = U("vxe-input");
1877
+ return V(), N("div", wn, [e.mode === "vxe" ? (V(), j(u, {
1878
+ key: 0,
1879
+ modelValue: i.value,
1880
+ "onUpdate:modelValue": n[0] ||= (e) => i.value = e,
1881
+ width: a.value,
1882
+ "destroy-on-close": !1,
1883
+ title: o.value,
1884
+ transfer: e.transfer,
1885
+ height: "80%",
1886
+ resize: "",
1887
+ "esc-closable": "",
1888
+ "show-footer": "",
1889
+ "class-name": s.value,
1890
+ "before-hide-method": ee
1891
+ }, {
1892
+ default: G(() => [F(r, L({
1893
+ ref_key: "xgrid",
1894
+ ref: _
1895
+ }, c, { onCellDblclick: S }), null, 16)]),
1896
+ footer: G(() => [F(l, {
1897
+ content: t.$t("message.btn.cancel"),
1898
+ icon: "ri-close-line",
1899
+ status: "warning",
1900
+ onClick: T
1901
+ }, null, 8, ["content"]), F(l, {
1902
+ content: t.$t("message.btn.confirm"),
1903
+ icon: "ri-save-3-line",
1904
+ status: "primary",
1905
+ onClick: w
1906
+ }, null, 8, ["content"])]),
1907
+ _: 1
1908
+ }, 8, [
1909
+ "modelValue",
1910
+ "width",
1911
+ "title",
1912
+ "transfer",
1913
+ "class-name"
1914
+ ])) : (V(), j(d, {
1915
+ key: 1,
1916
+ modelValue: i.value,
1917
+ "onUpdate:modelValue": n[1] ||= (e) => i.value = e,
1918
+ width: a.value,
1919
+ "show-close": !1,
1920
+ title: o.value,
1921
+ "append-to-body": e.transfer,
1922
+ draggable: "",
1923
+ "destroy-on-close": "",
1924
+ "close-on-press-escape": ""
1925
+ }, {
1926
+ default: G(() => [P("div", Tn, [F(r, L({
1927
+ ref_key: "xgrid",
1928
+ ref: _
1929
+ }, c, {
1930
+ "column-config": { resizable: !0 },
1931
+ onCellDblclick: S,
1932
+ onColumnsChange: C
1933
+ }), null, 16)])]),
1934
+ footer: G(() => [F(l, {
1935
+ content: t.$t("message.btn.cancel"),
1936
+ icon: "ri-close-line",
1937
+ status: "warning",
1938
+ onClick: T
1939
+ }, null, 8, ["content"]), F(l, {
1940
+ content: t.$t("message.btn.confirm"),
1941
+ icon: "ri-save-3-line",
1942
+ status: "primary",
1943
+ onClick: w
1944
+ }, null, 8, ["content"])]),
1945
+ _: 1
1946
+ }, 8, [
1947
+ "modelValue",
1948
+ "width",
1949
+ "title",
1950
+ "append-to-body"
1951
+ ])), F(f, {
1952
+ modelValue: e.record[e.displayName || e.field],
1953
+ "onUpdate:modelValue": n[2] ||= (t) => e.record[e.displayName || e.field] = t,
1954
+ clearable: !e.disabled && e.clearable,
1955
+ disabled: e.disabled,
1956
+ editable: e.editable,
1957
+ placeholder: e.placeholder,
1958
+ style: { width: "100%" },
1959
+ type: "search",
1960
+ onSearchClick: b,
1961
+ onClear: x
1962
+ }, null, 8, [
1963
+ "modelValue",
1964
+ "clearable",
1965
+ "disabled",
1966
+ "editable",
1967
+ "placeholder"
1968
+ ])]);
1969
+ };
1970
+ }
1971
+ }), Dn = { mounted(e, t) {
1972
+ let { value: n } = t;
1973
+ if (n) {
1974
+ let t = `${c.currentRoute.value.meta?.prefixAuth}.${n}`;
1975
+ v().getButtonAuth.includes(t) || e.parentNode.removeChild(e);
1976
+ } else throw Error("need roles! Like v-auth=\"['admin','test']\"");
1977
+ } }, On = Ze({ strategy: "scroll" }), kn = {
1978
+ mounted(e, t, n) {
1979
+ On.listenTo(e, (e) => {
1980
+ let r = e.offsetWidth, i = e.offsetHeight;
1981
+ t?.instance ? ue.emit("resize", { detail: {
1982
+ width: r,
1983
+ height: i
1984
+ } }) : n.el.dispatchEvent(new CustomEvent("resize", { detail: {
1985
+ width: r,
1986
+ height: i
1987
+ } }));
1988
+ });
1989
+ },
1990
+ unmounted(e) {
1991
+ On.uninstall(e);
1992
+ }
1993
+ }, An = /* @__PURE__ */ t({
1994
+ auth: () => Dn,
1995
+ resize: () => kn
1996
+ }), $ = pe(nt);
1997
+ $.use(Xe, { defaultProps: { animation: "perspective" } });
1998
+ var jn = (e) => {
1999
+ e.config.globalProperties.$hasAuthority = oe, e.config.globalProperties.$debugModel = te().VITE_DEBUG === "true", e.config.globalProperties.$serviceApi = E(), e.config.globalProperties.$debuggerApi = ee(), e.config.globalProperties.$url = D(), window.$i18n = b;
2000
+ }, Mn = (e) => {
2001
+ Object.keys(An).forEach((t) => {
2002
+ e.directive(t, An[t]);
2003
+ });
2004
+ }, Nn = ({ router: e, config: t, lang: n, views: i, env: o, tableConfig: s }) => (g(i, e), $.use(e), S(e), T($, t), O(o), re(s), new Promise((i) => {
2005
+ a($, n), $.component("IconifyIconOffline", ce), $.component("FontIcon", le), $.component("UtGrid2", Gt), $.component("UtUpload2", Cn), $.component("FormUpload2", yn).component("UtLov2", En), $.component("UtContent2", en), $.component("UtStampBadge2", Yt), jn($), w(D()), Mn($), r($), mt($, t), i({
2006
+ app: $,
2007
+ router: e
2008
+ });
2009
+ })), Pn = /* @__PURE__ */ t({
2010
+ constantRoutes: () => _,
2011
+ default: () => Fn,
2012
+ delCurrentRoute: () => l,
2013
+ getBrower: () => e,
2014
+ getPlatform: () => d,
2015
+ getProcessMenu: () => p,
2016
+ getServiceApi: () => E,
2017
+ handleAliveRoute: () => u,
2018
+ hasAuthority: () => oe,
2019
+ initDict: () => s,
2020
+ lifeCycleEvent: () => o,
2021
+ remainingRouters: () => h,
2022
+ routerBefore: () => m,
2023
+ store: () => i,
2024
+ useDataThemeChange: () => ae,
2025
+ useLayout: () => ie,
2026
+ useMultiTagsStore: () => f,
2027
+ usePermissionStore: () => v,
2028
+ useSystemStore: () => x,
2029
+ userMonitor: () => y
2030
+ }), Fn = Nn;
2031
+ //#endregion
2032
+ export { Pn as n, Fn as t };