@utogether/udp-core 2.0.0-beta.24 → 2.0.0-beta.26

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 (155) hide show
  1. package/dist/403-D6Wb3JJh.js +72 -0
  2. package/dist/404-B_HNbPNV.js +72 -0
  3. package/dist/500-BMemTTy1.js +77 -0
  4. package/dist/AuthorityInfo-6wHxwiFM.js +91 -0
  5. package/dist/AuthorityPanel-OqF_DvXA.js +98 -0
  6. package/dist/Company-BLXSfow0.js +21 -0
  7. package/dist/CompanyPanel-B4kRZ5Cg.js +199 -0
  8. package/dist/DataSet-CuGZcKC-.js +141 -0
  9. package/dist/Department-oFhsa7cd.js +21 -0
  10. package/dist/DepartmentPanel-B1UGpu-r.js +242 -0
  11. package/dist/DepartmentPanel-BL58AdoT.js +2 -0
  12. package/dist/DesignPanel-DmkFVw1N.js +1196 -0
  13. package/dist/DictView-CC5yMzOq.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-CAzWxLmP.js +45 -0
  18. package/dist/ReIcon-DecitXmg.js +413 -0
  19. package/dist/ReportDefine-BgLM-Rjk.js +10 -0
  20. package/dist/ReportDesign-DwchGG2P.js +158 -0
  21. package/dist/ReportQuery-D5jaRJEn.js +101 -0
  22. package/dist/ReportQueryFrom-CNlmtYey.js +198 -0
  23. package/dist/ReportTemplate-CNcTmccs.js +162 -0
  24. package/dist/Role-Be8WfdCA.js +21 -0
  25. package/dist/RoleAssign-CtehGAUf.js +22 -0
  26. package/dist/RolePanel-CAwITg_q.js +131 -0
  27. package/dist/RolePanel-SN0FGFZ7.js +176 -0
  28. package/dist/ScrollPanel-DW30pGz1.js +88 -0
  29. package/dist/Staff-V2YsNKcj.js +22 -0
  30. package/dist/StaffInfo-CKRPW0r4.js +149 -0
  31. package/dist/StaffPanel-BxcgMg7u.js +143 -0
  32. package/dist/SysUser-Dxyj5w5m.js +12 -0
  33. package/dist/SysUserPanel-DI6CWcZo.js +365 -0
  34. package/dist/SystemMenu-BBHREM8T.js +154 -0
  35. package/dist/UserInfo-BMVQ0xwE.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-BJFEUdrh.js +20 -0
  39. package/dist/await-to-js.es5-DkWYmPXW.js +10 -0
  40. package/dist/childView-BBjPEraB.js +184 -0
  41. package/dist/childView-DNqG2UVm.js +181 -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-B6Mx2ERA.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-D_Hjy3Jd.js +231 -0
  54. package/dist/login-log-CJak-ANA.js +79 -0
  55. package/dist/lov-view-DM5Nm5tW.js +95 -0
  56. package/dist/menuInfo-BlOY1KZW.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/su-welcome-DVD3S_du.js +799 -0
  62. package/dist/sys-config-Ddb3vBpK.js +316 -0
  63. package/dist/system-Cm3lyBas.js +1528 -0
  64. package/dist/udp-core-DaQd5CF1.js +2028 -0
  65. package/dist/udp-core.css +2 -1
  66. package/dist/useDataThemeChange-DJ4K3VGp.js +226 -0
  67. package/dist/useNav-BhOJIdrJ.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/App.vue +5 -0
  73. package/src/api/index.ts +51 -51
  74. package/src/components/udp/grid/index.vue +9 -11
  75. package/src/components/udp/index.ts +9 -8
  76. package/src/components/udp/lov/index.vue +430 -0
  77. package/src/components/udp/upload/index.vue +444 -444
  78. package/src/components/udp/utils.ts +420 -414
  79. package/src/main.ts +4 -6
  80. package/src/plugins/vxe-table/index.ts +1 -1
  81. package/src/plugins/vxe-table/render.tsx +999 -998
  82. package/src/router/utils.ts +2 -3
  83. package/src/views/login/login-view.vue +297 -301
  84. package/src/views/ulogin/login.vue +3 -32
  85. package/tsconfig.json +1 -1
  86. package/vite.config.ts +8 -3
  87. package/dist/403-DDCAPCYb.js +0 -65
  88. package/dist/404-BclWW4UB.js +0 -65
  89. package/dist/500-BAggMgTl.js +0 -67
  90. package/dist/AuthorityInfo-liCxYVNc.js +0 -4
  91. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-Bd5A4CD-.js +0 -100
  92. package/dist/AuthorityPanel-CRlAwbaI.js +0 -4
  93. package/dist/AuthorityPanel.vue_vue_type_style_index_0_lang-DxhZjp1S.js +0 -114
  94. package/dist/Company-DjaOAaWM.js +0 -25
  95. package/dist/CompanyPanel-Dp_2z717.js +0 -206
  96. package/dist/DataSet-DT-rGICv.js +0 -147
  97. package/dist/Department-Bp5RGbl9.js +0 -25
  98. package/dist/DepartmentPanel-Bg4xM4Lx.js +0 -254
  99. package/dist/DesignPanel-BS2ioHd_.js +0 -4
  100. package/dist/DesignPanel.vue_vue_type_style_index_0_lang-DWwfRVCj.js +0 -1013
  101. package/dist/DictView-pYJXt6IS.js +0 -111
  102. package/dist/InvOrganization-D90gRzlN.js +0 -74
  103. package/dist/Org-Dk4KuIx2.js +0 -39
  104. package/dist/Preview-DpZR6uKs.js +0 -48
  105. package/dist/ReportDefine-PtJnfaLw.js +0 -10
  106. package/dist/ReportDesign-4HWkcTtA.js +0 -165
  107. package/dist/ReportQuery-BPY1lWFn.js +0 -75
  108. package/dist/ReportQueryFrom-CHFlkZ42.js +0 -4
  109. package/dist/ReportQueryFrom.vue_vue_type_style_index_0_lang-DbbQydKz.js +0 -178
  110. package/dist/ReportTemplate-C2F3oy8I.js +0 -161
  111. package/dist/Role-iTP6DYOi.js +0 -25
  112. package/dist/RoleAssign-DIYNHQeF.js +0 -26
  113. package/dist/RolePanel-0ojFIz9G.js +0 -4
  114. package/dist/RolePanel-B0Yr5vjo.js +0 -4
  115. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-CHAj3dCD.js +0 -132
  116. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-CXZBxePU.js +0 -154
  117. package/dist/ScrollPanel.vue_vue_type_style_index_0_lang-DtNzPRjS.js +0 -101
  118. package/dist/Staff-sftZ0bIV.js +0 -26
  119. package/dist/StaffInfo-BG2FMXzR.js +0 -4
  120. package/dist/StaffInfo.vue_vue_type_script_setup_true_lang-DzGn0pYY.js +0 -108
  121. package/dist/StaffPanel-BydqiitC.js +0 -4
  122. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-C42Pnb-b.js +0 -154
  123. package/dist/SysUser-qMGVHpJ_.js +0 -15
  124. package/dist/SysUserPanel-Bh1HgSAr.js +0 -4
  125. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-BBEMYLQN.js +0 -356
  126. package/dist/SystemMenu-DUbWmLip.js +0 -156
  127. package/dist/UserInfo-DNkiTdWm.js +0 -4
  128. package/dist/UserInfo.vue_vue_type_style_index_0_lang-B1eNklEd.js +0 -160
  129. package/dist/await-to-js.es5-Bv3Eu4mi.js +0 -10
  130. package/dist/childView-CjUjh8Da.js +0 -4
  131. package/dist/childView-DT9luEEK.js +0 -4
  132. package/dist/childView.vue_vue_type_style_index_0_lang-CgqosFJQ.js +0 -183
  133. package/dist/childView.vue_vue_type_style_index_0_lang-DkXHMFPd.js +0 -143
  134. package/dist/code-rule-uOazxFfn.js +0 -148
  135. package/dist/cron-task-DEykunjo.js +0 -135
  136. package/dist/flow-task-B07st2aD.js +0 -10
  137. package/dist/frameView-FxzlbkeM.js +0 -44
  138. package/dist/index-BnxyUGKa.js +0 -7944
  139. package/dist/layout-home-C0jme8Ju.js +0 -232
  140. package/dist/layoutView-BqMAHIxF.js +0 -3239
  141. package/dist/log-in-skZaWMBY.js +0 -117
  142. package/dist/log-out-BiND7muW.js +0 -130
  143. package/dist/login-C-184YPO.js +0 -235
  144. package/dist/login-log-BEHYT0v0.js +0 -70
  145. package/dist/lov-view-Df-swRfy.js +0 -99
  146. package/dist/menuInfo-CpyjX4a4.js +0 -4
  147. package/dist/menuInfo.vue_vue_type_style_index_0_lang-D09-OKji.js +0 -363
  148. package/dist/pda-app-DP87aTBc.js +0 -710
  149. package/dist/redirect-BqegffKC.js +0 -15
  150. package/dist/resource-CAldbnw4.js +0 -97
  151. package/dist/su-welcome-DoBUqadB.js +0 -42225
  152. package/dist/sys-config-hGuE7DUf.js +0 -385
  153. package/dist/useNav-Cf_e5pBY.js +0 -92
  154. package/dist/utogether-MlnyYtNS.js +0 -4
  155. package/dist/wecom-push-DR7NsNro.js +0 -70
@@ -0,0 +1,2028 @@
1
+ import { A as e, D as t, I as n, M as r, N as i, O as a, P as o, S as s, T as c, _ as l, a as u, b as d, f, g as p, h as m, j as h, k as g, m as _, n as v, t as y, u as b, w as x } from "./system-Cm3lyBas.js";
2
+ import { a as S, c as C, i as w, l as T, n as E, r as D, s as ee, t as O, u as te } from "./api-BFNxcxSN.js";
3
+ import { s as k } from "./contant-Q77dU_V3.js";
4
+ import { t as A } from "./_plugin-vue_export-helper-C6QCLu9I.js";
5
+ import { a as ne, i as re, t as ie } from "./useDataThemeChange-DJ4K3VGp.js";
6
+ import { t as ae } from "./authority-BJFEUdrh.js";
7
+ import { t as oe } from "./await-to-js.es5-DkWYmPXW.js";
8
+ import { n as se, t as ce } from "./ReIcon-DecitXmg.js";
9
+ import { t as j } from "./mitt-CQgI7DYU.js";
10
+ import * as le from "vue";
11
+ import { Fragment as ue, computed as de, createApp as fe, createBlock as M, createCommentVNode as N, createElementBlock as P, createElementVNode as F, createSlots as pe, createVNode as I, defineComponent as L, getCurrentInstance as me, mergeModels as he, mergeProps as R, nextTick as z, normalizeClass as B, normalizeStyle as ge, 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 = L({
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 D().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] = O() + "/ufil" + e.configValue);
386
+ }), t.title = e.list?.find((e) => e.configCode === "title")?.configValue || "U-DP", Le.setItem(k, t), this.pollingVersion(t.title);
387
+ });
388
+ },
389
+ mounted() {
390
+ h().then((e) => y().setDict(e));
391
+ },
392
+ methods: { pollingVersion(e) {
393
+ let t = ee().VITE_ROUTER_HISTORY;
394
+ je({
395
+ pollingTime: 3e5,
396
+ checkOriginSpecifiedFilesUrl: [`${location.origin}${t ? `/${t}` : ""}/index.html`],
397
+ enable: process.env.NODE_ENV !== "development"
398
+ }, {
399
+ title: e,
400
+ description: this.$t("message.udp.newVersion"),
401
+ buttonText: this.$t("message.udp.updatenow"),
402
+ cancelButtonText: this.$t("message.udp.updateLater")
403
+ });
404
+ } }
405
+ });
406
+ //#endregion
407
+ //#region src/App.vue
408
+ function tt(e, t, n, r, i, a) {
409
+ let o = U("router-view"), s = U("el-config-provider");
410
+ return V(), M(s, {
411
+ size: "small",
412
+ "z-index": 5555,
413
+ locale: e.currentLocale
414
+ }, {
415
+ default: G(() => [I(o)]),
416
+ _: 1
417
+ }, 8, ["locale"]);
418
+ }
419
+ var nt = /* @__PURE__ */ A(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, {
420
+ enumerable: !0,
421
+ configurable: !0,
422
+ writable: !0,
423
+ value: n
424
+ }) : e[t] = n, ct = (e, t) => {
425
+ for (var n in t) rt(e, n, {
426
+ get: t[n],
427
+ enumerable: !0
428
+ });
429
+ }, lt = (e, t, n, r) => {
430
+ if (t && typeof t == "object" || typeof t == "function") for (let i of at(t)) !ot.call(e, i) && i !== n && rt(e, i, {
431
+ get: () => t[i],
432
+ enumerable: !(r = it(t, i)) || r.enumerable
433
+ });
434
+ return e;
435
+ }, 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 = {};
436
+ ct(ft, { Vue: () => le }), ut(ft, le);
437
+ var pt = class {
438
+ static install(e, t) {
439
+ let { nameSpace: n = this._nameSpace, memory: r } = t;
440
+ return r && this.clearAll(n, r), new pt(e, t);
441
+ }
442
+ static clearAll(e, t) {
443
+ Object.keys(t).forEach((t) => {
444
+ let n = e + t;
445
+ Object.prototype.hasOwnProperty.call(window.localStorage, n) && window.localStorage.removeItem(n);
446
+ });
447
+ }
448
+ static get(e) {
449
+ return JSON.parse(window.localStorage.getItem(e));
450
+ }
451
+ static set(e, t) {
452
+ t = typeof t == "object" ? JSON.stringify(t) : t, window.localStorage.setItem(e, t);
453
+ }
454
+ static getData(e, t) {
455
+ if (Object.prototype.hasOwnProperty.call(window.localStorage, this._getStaticKey(t, e))) return JSON.parse(window.localStorage.getItem(this._getStaticKey(t, e)));
456
+ }
457
+ constructor(e, t) {
458
+ 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;
459
+ Object.keys(s).length === 0 && console.warn("key cannot be empty"), Object.keys(s).forEach((t) => {
460
+ let i = s[t];
461
+ n.set(o(t), i), Reflect.defineProperty(s, t, {
462
+ get: () => n.get(o(t)),
463
+ set: (e) => n.set(o(t), e),
464
+ configurable: !0
465
+ }), r === 2 && e.util.defineReactive(s, t, s[t]);
466
+ });
467
+ let c = r === 3 ? e.config.globalProperties : e.prototype;
468
+ Reflect.defineProperty(c, "$storage", { get: () => s });
469
+ }
470
+ }, Q = pt;
471
+ dt(Q, "_nameSpace", "rs-"), dt(Q, "_getStaticKey", (e, t) => `${e ?? pt._nameSpace}${t}`);
472
+ //#endregion
473
+ //#region src/utils/storage/index.ts
474
+ var mt = (e, t) => {
475
+ let n = C(), r = Object.assign({
476
+ locale: Q.getData("locale", n) ?? { locale: t.Locale ?? "zh" },
477
+ layout: Q.getData("layout", n) ?? {
478
+ layout: t.Layout ?? "vertical",
479
+ theme: t.Theme ?? "default",
480
+ darkMode: t.DarkMode ?? !1,
481
+ sidebarStatus: t.SidebarStatus ?? !0,
482
+ epThemeColor: t.EpThemeColor ?? "#409EFF",
483
+ themeColor: t.Theme ?? "light",
484
+ overallStyle: t.OverallStyle ?? "light"
485
+ },
486
+ configure: Q.getData("configure", n) ?? {
487
+ grey: t.Grey ?? !1,
488
+ weak: t.Weak ?? !1,
489
+ hideTabs: t.HideTabs ?? !1,
490
+ showLogo: t.ShowLogo ?? !0,
491
+ showModel: t.ShowModel ?? "smart",
492
+ multiTagsCache: t.MultiTagsCache ?? !1
493
+ },
494
+ cnd: Q.getData("cnd", n) ?? {}
495
+ }, t.MultiTagsCache ? { tags: Q.getData("tags", n) ?? a } : {});
496
+ e.use(Q, {
497
+ nameSpace: n,
498
+ memory: r
499
+ });
500
+ }, ht = Re(), gt = {
501
+ span: 6,
502
+ align: "right",
503
+ collapseNode: !1,
504
+ itemRender: {
505
+ name: "VxeButtonGroup",
506
+ options: [{
507
+ type: "submit",
508
+ submit: "submit",
509
+ content: "message.btn.search",
510
+ status: "primary",
511
+ icon: "ri-search-line"
512
+ }, {
513
+ type: "reset",
514
+ name: "reset",
515
+ content: "message.btn.reset",
516
+ status: "info",
517
+ icon: "ri-refresh-line"
518
+ }],
519
+ events: null
520
+ }
521
+ }, _t = (e, t) => {
522
+ 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 = {
523
+ collapseTags: !0,
524
+ collapseTagsTooltip: !0,
525
+ multiple: !0
526
+ }, 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);
527
+ if (c.collapseNode = a, t && c.itemRender.options.length < 3 && c.itemRender.options.push(t), a) {
528
+ let e = i ? 2 : 3;
529
+ s.splice(e, 0, c);
530
+ } else s.push(c);
531
+ return s;
532
+ }, 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) => {
533
+ 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);
534
+ }), e), wt = (e, t, n) => {
535
+ let r = {
536
+ pageNum: 1,
537
+ pageSize: 1e5
538
+ }, i = Mt();
539
+ Object.assign(r, n, i, e.defaultParams || {}, St.params);
540
+ let a = Ot(r, e.items);
541
+ a = jt(a, e.items);
542
+ let { url: o } = e;
543
+ if (!o) return null;
544
+ let s = Y(o) ? o : o.fetch || o.restful;
545
+ if (!s) return null;
546
+ let c = o.fetch ? "post" : "get";
547
+ return new Promise((e, n) => {
548
+ t[c](s, a).then((t) => {
549
+ e(t.list);
550
+ }).catch((e) => {
551
+ n(e);
552
+ });
553
+ });
554
+ }, Tt = (e, t, n, r, i, a) => {
555
+ if (a) return Vt();
556
+ for (let e in t) t[e] && Y(t[e]) && (t[e] = t[e].trim());
557
+ let o = {
558
+ pageNum: n.currentPage,
559
+ pageSize: n.pageSize
560
+ }, s = Mt();
561
+ Object.assign(o, s, e.defaultParams || {}, t);
562
+ let c = Ot(o, e.items);
563
+ c = jt(c, e.items);
564
+ let { url: l } = e;
565
+ if (!l) return null;
566
+ let u = Y(l) ? l : l.fetch || l.restful, d = l.fetch ? "post" : "get";
567
+ return u ? r[d](u, c) : null;
568
+ }, Et = (e, t, n) => {
569
+ let { url: r } = n;
570
+ if (!r) return null;
571
+ let i = Y(r) ? r : r.del || r.restful;
572
+ return i ? e[r.del ? "post" : "delete"](i, t) : null;
573
+ }, Dt = (e, t, n) => {
574
+ let r = [], { url: i } = n;
575
+ if (!i) return null;
576
+ let { insertRecords: a, updateRecords: o } = t;
577
+ if (!J(a)) {
578
+ let t = Mt();
579
+ a.forEach((e) => {
580
+ !J(n?.defaultValue) && Object.assign(e, n.defaultValue), Object.keys(t)?.forEach((n) => {
581
+ e[n] = e[n] || t[n];
582
+ });
583
+ });
584
+ let o = Y(i) ? i : i.add || i.restful;
585
+ o && r.push(e.post(o, a));
586
+ }
587
+ if (!J(o)) {
588
+ let t = Y(i) ? i : i.save || i.restful, n = i.save ? "post" : "put";
589
+ t && r.push(e[n](t, o));
590
+ }
591
+ return r;
592
+ }, Ot = (e, t) => {
593
+ let n = t.filter((e) => e.itemRender?.props?.multiple || e.multiple);
594
+ if (J(n)) return e;
595
+ let r = q(e, !0);
596
+ return n.forEach((t) => {
597
+ 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}`]);
598
+ }), r;
599
+ }, kt = "yyyy-MM-dd 00:00:00", At = "yyyy-MM-dd 23:59:59", jt = (e, t) => {
600
+ let n = t.filter((e) => ["#SuDateRange", "VxeDateRangePicker"].includes(e.itemRender?.name));
601
+ if (J(n)) return e;
602
+ let r = q(e, !0);
603
+ return n.forEach((e) => {
604
+ let t = r[e.field];
605
+ e.itemRender.name === "VxeDateRangePicker" && t && !Be(t) && (t = t.split(","));
606
+ let { startField: n, endField: i } = e.itemRender;
607
+ t && n ? (r[n] = X(r[n] || t[0], kt), r[i] = X(r[i] || t[1], At)) : t && (r[`${e.field}From`] = X(t[0], kt), r[`${e.field}To`] = X(t[1], At)), delete r[e.field];
608
+ }), r;
609
+ }, Mt = () => K.get(bt) ? JSON.parse(K.get(bt)) : {}, Nt = [
610
+ {
611
+ code: "insert_actived",
612
+ name: "add",
613
+ status: "u-cyan",
614
+ icon: "vxe-icon-add",
615
+ auth: "add",
616
+ sort: 1
617
+ },
618
+ {
619
+ code: "delete",
620
+ status: "danger",
621
+ icon: "vxe-icon-delete",
622
+ auth: "del",
623
+ sort: 2
624
+ },
625
+ {
626
+ code: "save",
627
+ status: "primary",
628
+ icon: "vxe-icon-save",
629
+ auth: "edit",
630
+ sort: 3
631
+ }
632
+ ], Pt = [{
633
+ code: "add",
634
+ status: "u-cyan",
635
+ icon: "vxe-icon-add",
636
+ auth: "add",
637
+ sort: 1
638
+ }, {
639
+ code: "del",
640
+ status: "danger",
641
+ icon: "vxe-icon-delete",
642
+ auth: "del",
643
+ sort: 2
644
+ }], Ft = [
645
+ {
646
+ field: "createdByName",
647
+ width: 90,
648
+ visible: !1
649
+ },
650
+ {
651
+ field: "creationDate",
652
+ width: 140,
653
+ visible: !1
654
+ },
655
+ {
656
+ field: "lastUpdatedByName",
657
+ width: 90,
658
+ visible: !1
659
+ },
660
+ {
661
+ field: "lastUpdateDate",
662
+ width: 140,
663
+ visible: !1
664
+ }
665
+ ], It = (e) => He(e.exportConfig) ? e.exportConfig : {
666
+ filename: e.fileName || "导出明细",
667
+ type: "xlsx",
668
+ types: ["xlsx", "csv"],
669
+ modes: [
670
+ "current",
671
+ "selected",
672
+ "all"
673
+ ],
674
+ useStyle: !0,
675
+ sheetMethod: ({ worksheet: t }) => e.onSheetMethod ? e.onSheetMethod(t) : Bt(t),
676
+ beforeExportMethod: (t) => e.beforeExportMethod ? St = e.beforeExportMethod(t) : null,
677
+ columnFilterMethod: ({ column: t }) => e.columnFilter ? !!e.columnFilter(t) : !["operate"].includes(t.field) && t.type !== "checkbox"
678
+ }, Lt = (e, t, n, r) => {
679
+ let i = {
680
+ icon: "ri-refresh-line",
681
+ iconLoading: "vxe-icon-spinner roll vxe-loading--default-icon"
682
+ };
683
+ if (!t.editable) {
684
+ e.editConfig.editable = t.editable;
685
+ let a = t.needExport && r("export");
686
+ return a && (e.exportConfig = It(n)), e.toolbarConfig = {
687
+ buttons: [],
688
+ enabled: a,
689
+ refreshOptions: i,
690
+ exportOptions: {
691
+ icon: "ri-download-2-line",
692
+ code: "export"
693
+ },
694
+ export: a,
695
+ custom: !!n.gridId,
696
+ refresh: !0,
697
+ perfect: !0
698
+ }, e;
699
+ }
700
+ let a = q(n.buttons || [], !0);
701
+ a.forEach((e, t) => {
702
+ e.sort = e.sort || t + 10;
703
+ }), (n.mode === "form" ? q(Pt, !0) : q(Nt, !0)).reverse().forEach((e) => {
704
+ !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());
705
+ }), a = Ct(a, t.auth).filter((e) => {
706
+ let t = e.auth ? r(e.auth) : !0;
707
+ return e.dropdowns?.length && (e.dropdowns = e.dropdowns.filter((e) => !e.auth || e.auth && r(e.auth))), t;
708
+ }), e.editConfig = n.mode === "form" ? { enabled: !1 } : {
709
+ trigger: "dblclick",
710
+ mode: "row",
711
+ showStatus: !0
712
+ };
713
+ let o = t.needExport && r("export"), s = null;
714
+ return o && (e.exportConfig = It(n), s = {
715
+ icon: "ri-download-2-line",
716
+ code: "export"
717
+ }), e.toolbarConfig = {
718
+ buttons: We(a, "sort"),
719
+ enabled: !0,
720
+ refreshOptions: i,
721
+ customOptions: n.gridId ? {} : null,
722
+ exportOptions: s,
723
+ custom: !!n.gridId,
724
+ export: o,
725
+ refresh: !0,
726
+ perfect: !0
727
+ }, e;
728
+ }, Rt = ({ columns: e, data: t }, n) => [e.map((e, r) => {
729
+ if (r === (n.index || 0)) return n.label || "合计";
730
+ if (n.fields?.includes(e.property)) {
731
+ let r = t.reduce((t, n) => t + Number(n[e.property] || 0), 0);
732
+ return r && Number(r.toFixed(n.decimal || 2));
733
+ }
734
+ return "";
735
+ })], zt = (e, t) => Ve(t.checkMethod) ? t.checkMethod(e) : !0, Bt = (e) => {
736
+ e.eachRow((e, t) => {
737
+ e.font = {
738
+ name: "微软雅黑",
739
+ size: 9
740
+ }, e.border = {
741
+ top: { style: "thin" },
742
+ left: { style: "thin" },
743
+ bottom: { style: "thin" },
744
+ right: { style: "thin" }
745
+ }, t === 1 && (e.fill = {
746
+ type: "pattern",
747
+ pattern: "solid",
748
+ fgColor: { argb: "4F81BD" }
749
+ }, e.font = {
750
+ name: "微软雅黑",
751
+ size: 10,
752
+ bold: !0,
753
+ color: { argb: "FFFFFFFF" }
754
+ });
755
+ });
756
+ }, Vt = () => new Promise((e) => {
757
+ setTimeout(() => {
758
+ e({
759
+ list: [
760
+ {
761
+ id: 1,
762
+ name: "Test1",
763
+ sex: "Man",
764
+ age: 28,
765
+ address: "Shenzhen"
766
+ },
767
+ {
768
+ id: 2,
769
+ name: "Test2",
770
+ sex: "Women",
771
+ age: 22,
772
+ address: "Guangzhou"
773
+ },
774
+ {
775
+ id: 3,
776
+ name: "Test3",
777
+ sex: "Man",
778
+ age: 32,
779
+ address: "Shanghai"
780
+ },
781
+ {
782
+ id: 4,
783
+ name: "Test4",
784
+ sex: "Women",
785
+ age: 23,
786
+ address: "test abc"
787
+ },
788
+ {
789
+ id: 5,
790
+ name: "Test5",
791
+ sex: "Women",
792
+ age: 30,
793
+ address: "Shanghai"
794
+ }
795
+ ],
796
+ total: 5
797
+ });
798
+ }, 100);
799
+ }), Ht = (e) => {
800
+ let t = {};
801
+ return Object.keys(e).forEach((n) => {
802
+ let r = n.replace(/-(\w)/g, (e) => e.slice(1).toUpperCase());
803
+ t[r] = e[n];
804
+ }), t;
805
+ }, Ut = { style: {
806
+ width: "100%",
807
+ height: "100%"
808
+ } }, Wt = "U_TABLE_COLUMNN_SORT", Gt = /* @__PURE__ */ L({
809
+ name: "UtGrid",
810
+ __name: "index",
811
+ props: {
812
+ checkMethod: {},
813
+ serviceCode: { default: () => ({}) },
814
+ defaultValue: {},
815
+ defaultParams: {},
816
+ url: {},
817
+ columns: { default: () => [] },
818
+ items: { default: () => [] },
819
+ editable: {
820
+ type: Boolean,
821
+ default: !0
822
+ },
823
+ needExport: {
824
+ type: Boolean,
825
+ default: !0
826
+ },
827
+ autoLoad: {
828
+ type: Boolean,
829
+ default: !0
830
+ }
831
+ },
832
+ emits: [
833
+ "buttonClick",
834
+ "cellClick",
835
+ "cellDbclick",
836
+ "editEctivated"
837
+ ],
838
+ setup(e, { expose: t, emit: n }) {
839
+ let r = Ht(Te()), i, a = {}, o = me(), s = o.appContext.config.globalProperties.$hasAuthority, c = o.parent.type.name, l = o.appContext.config.globalProperties.$mode, u = e, { t: d } = Ge(), f = H(null), p = H(!1), m = o.appContext.config.globalProperties.$serviceApi, h = {
840
+ icon: "vxe-icon-setting",
841
+ name: "favorite",
842
+ events: { click: (e, t) => {
843
+ t.name === "favorite" && (p.value = !0);
844
+ } }
845
+ }, g = () => u.columns.length ? Fe(u.columns, d) : {}, _ = () => {
846
+ let e = u.columns;
847
+ if (r.gridId) {
848
+ 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");
849
+ n === -1 ? e.push(...t) : e.splice(n, 0, ...t);
850
+ }
851
+ return Ie(r.gridId ? b(e) : e, r.sortable);
852
+ };
853
+ Me.getItem(Wt).then((e) => {
854
+ i = e, v.columns = _();
855
+ });
856
+ let v = ye({
857
+ border: !0,
858
+ pagerConfig: { pageSize: r.pageSize || 20 },
859
+ editConfig: {},
860
+ editRules: g(),
861
+ formConfig: {},
862
+ columnConfig: { useKey: !0 },
863
+ toolbarConfig: { enabled: !1 },
864
+ sortConfig: {
865
+ multiple: !0,
866
+ trigger: "cell"
867
+ },
868
+ height: l ? void 0 : window.innerHeight - 92,
869
+ checkboxConfig: {
870
+ checkMethod: ({ row: e }) => zt(e, u),
871
+ checkRowKeys: u.checkRowKeys
872
+ },
873
+ loading: !1,
874
+ footerRowClassName: "ut-grid-footer",
875
+ proxyConfig: {
876
+ form: !0,
877
+ autoLoad: u.autoLoad,
878
+ showResponseMsgvxe: !1,
879
+ showActionMsgvxe: !1,
880
+ ajax: {
881
+ queryAll: ({ form: e }) => wt(u, m, e),
882
+ query: ({ page: e, form: t, code: n }) => Tt(u, t, e, m, n, l),
883
+ delete: ({ body: { removeRecords: e } }) => Et(m, e, u),
884
+ save: ({ body: e }) => Promise.all(Dt(m, e, u)),
885
+ querySuccess: ({ response: e }) => O("querySuccess", e),
886
+ queryError: ({ response: e }) => O("queryError", e),
887
+ deleteSuccess: ({ response: e }) => O("deleteSuccess", e),
888
+ deleteError: ({ response: e }) => O("deleteError", e),
889
+ saveSuccess: ({ response: e }) => O("saveSuccess", e),
890
+ saveError: ({ response: e }) => O("saveError", e)
891
+ }
892
+ },
893
+ columns: r.gridId ? [] : _(),
894
+ ...r
895
+ }), y = () => u.items.length ? _t(q(u.items, !0), c && u.url ? h : c) : u.items;
896
+ function b(e) {
897
+ let t = i ? i[r.gridId] : {};
898
+ return t ? e.map((e, n) => {
899
+ let r = (n + 1) * 10;
900
+ return e._sort = t[e.field] || r, a[e.field] = e._sort, e;
901
+ }).sort((e, t) => e._sort - t._sort) : e;
902
+ }
903
+ let x = () => {
904
+ u.items.length && (v.formConfig = {
905
+ titleWidth: 100,
906
+ titleAlign: "right",
907
+ items: y(),
908
+ rules: Fe(u.items, d),
909
+ validConfig: { showMessage: !1 }
910
+ });
911
+ let e = Lt(v, u, r, s);
912
+ Object.assign(v, e), r.gridId && (v.id = r.gridId, v.customConfig = {
913
+ storage: !0,
914
+ mode: "popup",
915
+ checkMethod({ column: e }) {
916
+ return !(e.field === "operate" || ["checkbox", "radio"].includes(e.type));
917
+ },
918
+ modalOptions: {
919
+ width: 750,
920
+ height: "75%"
921
+ }
922
+ }), r.mergeFooter && (v.showFooter = !0, v.footerMethod = ({ columns: e, data: t }) => Rt({
923
+ columns: e,
924
+ data: t
925
+ }, r.mergeFooter));
926
+ }, S = () => {
927
+ f.value.commitProxy("query");
928
+ }, C = () => (v.editRules = g(), f.value.refreshColumn()), w = () => {
929
+ v.loading = !0;
930
+ }, T = () => {
931
+ v.loading = !1;
932
+ }, E = () => Ce(f.value), D = () => f.value.getTableData().fullData, ee = (e = !1) => {
933
+ let t = u.columns[0].type, n = t === "radio" ? f.value.getRadioRecord(e) : f.value.getCheckboxRecords(e);
934
+ return t === "checkbox" && !n.length ? (ze(d("message.tip_selectedRecord")), []) : t === "radio" && !n ? (ze(d("message.tip_selectedRecord")), null) : n;
935
+ }, O = (e, t) => {
936
+ r?.callback && r?.callback[e] && r?.callback[e](t);
937
+ }, te = async (e) => {
938
+ let t = e.data, n = u.items.filter((e) => e.itemRender?.props?.multiple);
939
+ n.forEach((e) => {
940
+ e.itemRender.props.defaultValue ? (t[`_${e.field}`] = e.itemRender.props.defaultValue.split(","), t[`${e.field}`] = e.itemRender.props.defaultValue) : t[`_${e.field}`] = [];
941
+ }), n.length && setTimeout(() => {
942
+ S();
943
+ }, 200);
944
+ }, k, A = () => {
945
+ let e = f.value;
946
+ k = Ke.create(e.$el.querySelector(".vxe-table--header .vxe-header--row"), {
947
+ disabled: !r.gridId,
948
+ handle: ".vxe-header--column",
949
+ onEnd: async (t) => {
950
+ 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 = "固定列";
951
+ 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) {
952
+ let e = l.children[o];
953
+ return i > o ? l.insertBefore(n, e) : l.insertBefore(n, e && e.nextElementSibling), Pe(p + "不允许拖动!");
954
+ }
955
+ let m = e.getColumnIndex(c[o]), h = e.getColumnIndex(c[i]), g = s.splice(m, 1)[0];
956
+ s.splice(h, 0, g);
957
+ let _ = h - m > 0 ? 1 : -1, v = (h + 1) * 10, y = (m + 1) * 10, b = v + 1 * _;
958
+ for (let e in a) {
959
+ let t = a[e];
960
+ (_ > 0 && t < b && t > y || _ < 0 && t > b && t < y) && (a[e] = t - 10 * _);
961
+ }
962
+ a[g.field] = v, Me.setItem(Wt, { [r.gridId]: a }), e.loadColumn(s);
963
+ }
964
+ });
965
+ };
966
+ t({
967
+ getTableData: D,
968
+ getSelectRecords: ee,
969
+ refreshData: S,
970
+ refreshColumn: C,
971
+ getInstance: E,
972
+ showLoading: w,
973
+ hiddenLoading: T,
974
+ reloadGrid: () => {
975
+ x();
976
+ }
977
+ });
978
+ let ne = ({ code: e }) => {
979
+ j("buttonClick", e);
980
+ }, re = (e) => {
981
+ j("cellClick", e);
982
+ }, ie = (e) => {
983
+ j("cellDbclick", e);
984
+ }, ae = (e) => {
985
+ j("editEctivated", e);
986
+ }, oe = () => {
987
+ window.onresize = () => {
988
+ se();
989
+ };
990
+ }, se = () => {
991
+ let e = r?.height || window.innerHeight - 90;
992
+ r.mode !== "inline" && !r?.height && (e = window.innerHeight - 180), window.innerHeight < 800 && (v.height = 520), v.height = r.fixedHeight === !1 && e < 600 ? 600 : e;
993
+ }, ce;
994
+ z(() => {
995
+ ce = setTimeout(() => {
996
+ A();
997
+ }, 500);
998
+ }), ve(() => {
999
+ clearTimeout(ce), k && k.destroy();
1000
+ }), _e(() => {
1001
+ x(), He(r) && Ue(v, r || {}), r?.height && se(), oe();
1002
+ });
1003
+ let j = n;
1004
+ return (e, t) => {
1005
+ let n = U("vxe-grid");
1006
+ return V(), P("div", Ut, [I(n, R({
1007
+ ref_key: "xgrid",
1008
+ ref: f
1009
+ }, v, { class: "ut-grid-wrapper" }, Se(we(r).events || {}), {
1010
+ onToolbarButtonClick: ne,
1011
+ onToolbarToolClick: ne,
1012
+ onCellClick: re,
1013
+ onCellDblclick: ie,
1014
+ onEditActivated: ae,
1015
+ onFormReset: te
1016
+ }), null, 16)]);
1017
+ };
1018
+ }
1019
+ }), Kt = {
1020
+ name: "UTStampBadge",
1021
+ props: {
1022
+ color: {
1023
+ type: String,
1024
+ default: "primary",
1025
+ validator: (e) => [
1026
+ "primary",
1027
+ "error",
1028
+ "warning",
1029
+ "success",
1030
+ "info"
1031
+ ].includes(e)
1032
+ },
1033
+ size: {
1034
+ type: String,
1035
+ default: "large",
1036
+ validator: (e) => [
1037
+ "large",
1038
+ "middle",
1039
+ "small"
1040
+ ].includes(e)
1041
+ },
1042
+ rotate: {
1043
+ type: Number,
1044
+ default: 45
1045
+ },
1046
+ top: {
1047
+ type: Number,
1048
+ default: 60
1049
+ },
1050
+ right: {
1051
+ type: Number,
1052
+ default: 40
1053
+ },
1054
+ content: {
1055
+ type: String,
1056
+ default: "Unknown"
1057
+ },
1058
+ code: {
1059
+ type: String,
1060
+ default: ""
1061
+ }
1062
+ },
1063
+ computed: {
1064
+ getStampBadgeClass() {
1065
+ let { color: e, size: t } = this.$props;
1066
+ return [{
1067
+ [`stamp-badge-${e}`]: !!e,
1068
+ [`stamp-badge-${t}`]: !!t
1069
+ }];
1070
+ },
1071
+ getBindValue() {
1072
+ return {
1073
+ ...this.$attrs,
1074
+ ...this.$props
1075
+ };
1076
+ }
1077
+ },
1078
+ methods: { getContent(e) {
1079
+ if (!e) return e;
1080
+ if (this.code) {
1081
+ let t = Le.getItem("kLov")[this.code].children.find((e) => e.dictCode === this.content);
1082
+ return t ? t.dictName : e;
1083
+ }
1084
+ return e;
1085
+ } }
1086
+ }, qt = { class: "" };
1087
+ function Jt(e, t, n, r, i, a) {
1088
+ return V(), P("div", R({ class: "first-ring" }, a.getBindValue, {
1089
+ class: a.getStampBadgeClass,
1090
+ style: [{ position: "absolute" }, {
1091
+ transform: `rotate(${n.rotate}deg)`,
1092
+ top: `${n.top}px`,
1093
+ right: `${n.right}px`
1094
+ }]
1095
+ }), [F("div", { class: B(["second-ring", a.getStampBadgeClass]) }, [F("div", { class: B(["third-ring", a.getStampBadgeClass]) }, [F("div", { class: B(["forth-ring", a.getStampBadgeClass]) }, [F("div", { class: B(["content-rectangle ellipsis", a.getStampBadgeClass]) }, [F("span", qt, W(a.getContent(n.content)), 1)], 2)], 2)], 2)], 2)], 16);
1096
+ }
1097
+ var Yt = /* @__PURE__ */ A(Kt, [["render", Jt], ["__scopeId", "data-v-9afb688a"]]), Xt = { class: "ut-content" }, Zt = {
1098
+ key: 0,
1099
+ class: "font-black"
1100
+ }, Qt = { class: "ut-right-panel" }, $t = { class: "ut-content-body" }, en = /* @__PURE__ */ A(/* @__PURE__ */ L({
1101
+ name: "UtContent",
1102
+ __name: "index",
1103
+ props: {
1104
+ title: { default: "" },
1105
+ showTop: {
1106
+ type: Boolean,
1107
+ default: !0
1108
+ },
1109
+ showClose: {
1110
+ type: Boolean,
1111
+ default: !0
1112
+ },
1113
+ stampOptions: {}
1114
+ },
1115
+ emits: ["close"],
1116
+ setup(e, { emit: t }) {
1117
+ let n = H(window.top === window.self), r = t, i = () => {
1118
+ r("close");
1119
+ };
1120
+ return (t, r) => {
1121
+ let a = U("ut-button");
1122
+ return V(), P("div", Xt, [
1123
+ I(Yt, {
1124
+ color: e.stampOptions.color || "success",
1125
+ content: e.stampOptions.content,
1126
+ size: e.stampOptions.size,
1127
+ code: e.stampOptions.code
1128
+ }, null, 8, [
1129
+ "color",
1130
+ "content",
1131
+ "size",
1132
+ "code"
1133
+ ]),
1134
+ e.showTop && n.value ? (V(), P("div", {
1135
+ key: 0,
1136
+ class: B(["ut-content-top", e.title ? "justify-between" : "justify-end"])
1137
+ }, [e.title ? (V(), P("span", Zt, W(e.title), 1)) : N("", !0), F("div", Qt, [xe(t.$slots, "header", {}, void 0, !0), e.showClose ? (V(), M(a, {
1138
+ key: 0,
1139
+ status: "info",
1140
+ icon: t.$attrs.icon || "ri-reply-line",
1141
+ content: t.$attrs.content || "goback",
1142
+ onTap: r[0] ||= (e) => i()
1143
+ }, null, 8, ["icon", "content"])) : N("", !0)])], 2)) : N("", !0),
1144
+ F("div", $t, [xe(t.$slots, "body", {}, void 0, !0)])
1145
+ ]);
1146
+ };
1147
+ }
1148
+ }), [["__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 = {
1149
+ key: 1,
1150
+ class: "ut-image-hover"
1151
+ }, sn = { class: "ut-image-file--wrapper" }, cn = ["onClick"], ln = { class: "ut-image-hover" }, un = { class: "ut-image-file--wrapper" }, dn = ["onClick"], fn = {
1152
+ key: 0,
1153
+ class: "ut-upload--image-item-btn-wrapper"
1154
+ }, 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 = {
1155
+ key: 0,
1156
+ class: "vxe-icon-add",
1157
+ style: { "font-size": "18px" }
1158
+ }, _n = {
1159
+ key: 1,
1160
+ style: {
1161
+ padding: "0 1px",
1162
+ "font-size": "11px",
1163
+ "text-align": "center"
1164
+ }
1165
+ }, vn = {
1166
+ key: 3,
1167
+ style: {
1168
+ padding: "0 1px",
1169
+ "font-size": "11px",
1170
+ "text-align": "center"
1171
+ }
1172
+ }, yn = /* @__PURE__ */ L({
1173
+ name: "FormUpload",
1174
+ props: {
1175
+ record: { default: () => ({}) },
1176
+ imageTypes: { default: () => [
1177
+ "jpg",
1178
+ "jpeg",
1179
+ "png",
1180
+ "gif"
1181
+ ] },
1182
+ field: { default: "" },
1183
+ dataStatus: { default: "" },
1184
+ renderMode: { default: "item" },
1185
+ size: { default: "mini" },
1186
+ mode: { default: "" },
1187
+ limitCount: { default: 9 },
1188
+ limitSize: { default: 30 },
1189
+ compassorSize: { default: 2 },
1190
+ quality: { default: .6 },
1191
+ singleMode: {
1192
+ type: Boolean,
1193
+ default: !1
1194
+ },
1195
+ autoHiddenButton: {
1196
+ type: Boolean,
1197
+ default: !1
1198
+ },
1199
+ showErrorStatus: { type: Boolean },
1200
+ showDownloadButton: {
1201
+ type: Boolean,
1202
+ default: !1
1203
+ },
1204
+ multiple: {
1205
+ type: Boolean,
1206
+ default: !1
1207
+ },
1208
+ success: {},
1209
+ remove: {}
1210
+ },
1211
+ emits: ["remove"],
1212
+ setup(e, { emit: t }) {
1213
+ let n = e;
1214
+ Oe(() => n.record[n.field], (e) => {
1215
+ C();
1216
+ });
1217
+ let r = me(), i = r.appContext.config.globalProperties.$url, a = r.appContext.config.globalProperties.$serviceApi, o = H(""), s = H(!1), c = [
1218
+ "image/gif",
1219
+ "image/jpeg",
1220
+ "image/png"
1221
+ ], l = H(null), u = de(() => {
1222
+ let e = K.get("authorized-token");
1223
+ return { Authorization: "Bearer " + JSON.parse(e).accessToken };
1224
+ }), d = H([]), f = H([]), p = (e) => c.includes(e.file.type) && e.file.size > 1024 * 1024 * n.compassorSize ? new Promise((t, r) => {
1225
+ new qe(e.file, {
1226
+ quality: n.quality,
1227
+ mimeType: e.file.type,
1228
+ success(e) {
1229
+ m(t, r, new File([e], e.name, { type: e.type }));
1230
+ }
1231
+ });
1232
+ }) : new Promise((t, n) => m(t, n, e.file)), m = (e, t, n) => {
1233
+ let r = new FormData();
1234
+ r.append("file", n);
1235
+ let a = i + "/ufil/file/uploadMultipart";
1236
+ return s.value = !0, Je.post(a, r, {
1237
+ headers: Object.assign({ "Content-Type": "multipart/form-data" }, u.value),
1238
+ onUploadProgress(e) {
1239
+ o.value = `进度${Math.round(e.loaded * 100 / (e.total || 0))}%`;
1240
+ }
1241
+ }).then(async (t) => {
1242
+ o.value = "处理中...", n.path = t.data.data, n.url = `${i}/ufil${n.path}`, f.value.push(n), s.value = !1, e(n);
1243
+ }).catch(() => {
1244
+ s.value = !1, t(null);
1245
+ });
1246
+ }, h = () => {
1247
+ l.value.choose();
1248
+ }, g = ({ data: e }) => {
1249
+ if (n.success) return n.success(e);
1250
+ {
1251
+ let t = n.field;
1252
+ Object.assign(n.record, { [t]: e.path });
1253
+ }
1254
+ }, _ = ({ option: e }) => {
1255
+ if (n.remove) return n.remove(e, f);
1256
+ S("remove", e, f);
1257
+ }, v = async (e, t) => {
1258
+ e.id && await a.delete("/ufil/v1/attachment", [e]), f.value.splice(t, 1), S("remove", e, f);
1259
+ }, y = (e) => {
1260
+ Z.previewImage({
1261
+ activeIndex: 0,
1262
+ urlList: [e.url]
1263
+ });
1264
+ }, b = (e) => {
1265
+ let t = e.type || e.url.split(".").pop(), n = "";
1266
+ switch (t) {
1267
+ case "jpg":
1268
+ case "png":
1269
+ case "jpeg":
1270
+ case "webp":
1271
+ case "image/jpeg":
1272
+ case "image/png":
1273
+ case "image/gif":
1274
+ n = "img";
1275
+ break;
1276
+ case "doc":
1277
+ case "docx":
1278
+ n = "vxe-icon-file-word";
1279
+ break;
1280
+ case "xlsx":
1281
+ case "xls":
1282
+ n = "vxe-icon-file-excel";
1283
+ break;
1284
+ case "pdf":
1285
+ n = "vxe-icon-file-pdf";
1286
+ break;
1287
+ case "txt":
1288
+ n = "vxe-icon-file-txt";
1289
+ break;
1290
+ case "ppt":
1291
+ n = "vxe-icon-file-ppt";
1292
+ break;
1293
+ case "markdown":
1294
+ n = "vxe-icon-file-markdown";
1295
+ break;
1296
+ case "apk":
1297
+ n = "ri-android-fill";
1298
+ break;
1299
+ case "ipa":
1300
+ n = "ri-apple-line";
1301
+ break;
1302
+ default:
1303
+ n = "vxe-icon-file";
1304
+ break;
1305
+ }
1306
+ return n;
1307
+ }, x = (e) => {
1308
+ let t = n.size === "small" ? 10 : 9;
1309
+ return ((e) => {
1310
+ let r = e.lastIndexOf("."), i = r > 0 ? e.substring(0, r) : e, a = r > 0 ? e.substring(r) : "";
1311
+ return i.length <= t ? e : `${n.renderMode === "item" ? i.substring(0, t - 5) : ""}...${i.substring(i.length - (t - 6))}${a}`;
1312
+ })(((e) => {
1313
+ if (e.name) return e.name;
1314
+ let t = e.url, n = t.includes("\\") ? "\\" : "/";
1315
+ return t.split(n).pop();
1316
+ })(e));
1317
+ }, S = t, C = () => {
1318
+ let e = n.record[n.field];
1319
+ if (f.value = [], e) if (e && Y(e)) {
1320
+ let t = {
1321
+ name: e.match(/[^\/\\]+$/)[0],
1322
+ url: `${i}/ufil${e}`
1323
+ };
1324
+ n.singleMode ? f.value = t : f.value.push(t);
1325
+ } else Be(e) && e.forEach((e) => {
1326
+ if (Y(e)) {
1327
+ let t = e.match(/[^\/\\]+$/)[0];
1328
+ f.value.push({
1329
+ name: t,
1330
+ url: `${i}/ufil${e}`
1331
+ });
1332
+ } else f.value.push({
1333
+ name: e.name,
1334
+ id: e.id,
1335
+ url: `${i}/ufil${e.realpath}`
1336
+ });
1337
+ });
1338
+ };
1339
+ return _e(() => {
1340
+ C();
1341
+ }), (t, n) => {
1342
+ let r = U("vxe-tooltip"), i = U("vxe-icon"), a = U("vxe-upload");
1343
+ return V(), P("div", tn, [F("div", nn, [(V(!0), P(ue, null, be(f.value, (t, n) => (V(), P("div", {
1344
+ key: t,
1345
+ class: B("ut-upload-item--" + e.size)
1346
+ }, [F("div", rn, [b(t) === "img" ? (V(), P("img", {
1347
+ key: 0,
1348
+ src: t.url,
1349
+ class: "ut-image select-none",
1350
+ onClick: (e) => y(t)
1351
+ }, null, 8, an)) : e.renderMode === "item" || e.dataStatus !== "detail" ? (V(), P("div", on, [F("div", sn, [F("i", {
1352
+ class: B([b(t), "ut-image-file ut-image"]),
1353
+ style: { "line-height": "1" }
1354
+ }, null, 2), F("div", {
1355
+ class: "px-1 ut-image",
1356
+ style: ge({ fontSize: e.size === "small" ? "11px" : "10px" })
1357
+ }, W(x(t)), 5)]), F("i", {
1358
+ class: "vxe-icon-download ut-download-icon",
1359
+ style: ge({ fontSize: e.renderMode === "item" ? "60px" : "48px" }),
1360
+ onClick: (e) => void 0
1361
+ }, null, 12, cn)])) : (V(), M(r, {
1362
+ key: 2,
1363
+ content: t.name,
1364
+ class: "cursor-pointer"
1365
+ }, {
1366
+ default: G(() => [F("div", ln, [F("div", un, [F("i", {
1367
+ class: B([b(t), "ut-image-file ut-image"]),
1368
+ style: { "font-size": "32px" }
1369
+ }, null, 2), F("div", {
1370
+ class: "px-1 ut-image",
1371
+ style: ge({ fontSize: e.size === "small" ? "11px" : "10px" })
1372
+ }, W(x(t)), 5)]), F("i", {
1373
+ class: "vxe-icon-download ut-download-icon",
1374
+ style: ge({ fontSize: e.renderMode === "item" ? "60px" : "48px" }),
1375
+ onClick: (e) => void 0
1376
+ }, null, 12, dn)])]),
1377
+ _: 2
1378
+ }, 1032, ["content"]))]), e.dataStatus === "detail" ? N("", !0) : (V(), P("div", fn, [F("div", pn, [F("i", {
1379
+ class: "vxe-icon-close",
1380
+ onClick: (e) => v(t, n)
1381
+ }, null, 8, mn)])]))], 2))), 128)), e.dataStatus === "detail" ? N("", !0) : (V(), P("div", {
1382
+ key: 0,
1383
+ class: B(["ut-upload-item--" + e.size, "ut-upload--btn"]),
1384
+ style: { border: "1px dashed var(--vxe-ui-input-border-color)" },
1385
+ onClick: h
1386
+ }, [F("div", hn, [
1387
+ s.value ? N("", !0) : (V(), P("span", gn)),
1388
+ s.value ? N("", !0) : (V(), P("div", _n, "点击上传")),
1389
+ s.value ? (V(), M(i, {
1390
+ key: 2,
1391
+ name: "spinner",
1392
+ status: "primary",
1393
+ roll: "",
1394
+ style: { "font-size": "24px" }
1395
+ })) : N("", !0),
1396
+ s.value ? (V(), P("div", vn, W(o.value), 1)) : N("", !0)
1397
+ ])], 2))]), I(a, R({
1398
+ ref_key: "xupload",
1399
+ ref: l,
1400
+ modelValue: d.value,
1401
+ "onUpdate:modelValue": n[0] ||= (e) => d.value = e,
1402
+ style: { display: "none" }
1403
+ }, t.$attrs, {
1404
+ "limit-count": e.limitCount,
1405
+ "limit-size": e.limitSize,
1406
+ size: e.size,
1407
+ mode: e.mode,
1408
+ "single-mode": e.singleMode,
1409
+ "image-types": e.imageTypes,
1410
+ "auto-hidden-button": e.autoHiddenButton,
1411
+ "show-error-status": e.showErrorStatus,
1412
+ "remove-method": _,
1413
+ "upload-method": p,
1414
+ multiple: e.multiple,
1415
+ "show-download-button": e.showDownloadButton,
1416
+ "show-list": !1,
1417
+ "show-progress": "",
1418
+ onUploadSuccess: g
1419
+ }), null, 16, [
1420
+ "modelValue",
1421
+ "limit-count",
1422
+ "limit-size",
1423
+ "size",
1424
+ "mode",
1425
+ "single-mode",
1426
+ "image-types",
1427
+ "auto-hidden-button",
1428
+ "show-error-status",
1429
+ "multiple",
1430
+ "show-download-button"
1431
+ ])]);
1432
+ };
1433
+ }
1434
+ }), bn = ["onUpdate:modelValue"], xn = { key: 3 }, Sn = { key: 4 }, Cn = /* @__PURE__ */ A(/* @__PURE__ */ L({
1435
+ name: "UtUpload",
1436
+ props: /* @__PURE__ */ he({
1437
+ defaultParams: { default: () => ({}) },
1438
+ options: { default: () => ({
1439
+ filename: "数据模板",
1440
+ errorField: "errorMsg",
1441
+ errListField: "list"
1442
+ }) },
1443
+ columns: { default: () => [] },
1444
+ templateData: { default: () => [] },
1445
+ serviceCode: {},
1446
+ url: {},
1447
+ sourceList: { default: "list" }
1448
+ }, {
1449
+ visible: { type: Boolean },
1450
+ visibleModifiers: {}
1451
+ }),
1452
+ emits: /* @__PURE__ */ he(["close"], ["update:visible"]),
1453
+ setup(e, { emit: t }) {
1454
+ let n = e, r = me().appContext.config.globalProperties.$serviceApi, i = Ee(e, "visible"), { t: a } = Ge(), o = H(!1), s = Le.getItem("kLov");
1455
+ Oe(() => i.value, (e) => {
1456
+ e && (m.data = []);
1457
+ });
1458
+ let c = () => {
1459
+ let e = n.columns.map((e) => (e.slots = { default: e.field }, e.title = e.field, e.decimal = e.decimal, e));
1460
+ return e.unshift({
1461
+ type: "checkbox",
1462
+ width: 40,
1463
+ align: "center",
1464
+ fixed: "left"
1465
+ }), e;
1466
+ }, l = H({
1467
+ pageSize: 200,
1468
+ currentPage: 1,
1469
+ total: 0
1470
+ }), u = [
1471
+ "Sizes",
1472
+ "PrevJump",
1473
+ "PrevPage",
1474
+ "Number",
1475
+ "NextPage",
1476
+ "NextJump",
1477
+ "FullJump",
1478
+ "Total"
1479
+ ], d = window.innerHeight - 20, f = H(), p = [], m = ye({
1480
+ border: !0,
1481
+ height: d,
1482
+ data: [],
1483
+ importConfig: {
1484
+ mode: "covering",
1485
+ types: ["csv", "xlsx"],
1486
+ afterImportMethod: _
1487
+ },
1488
+ showOverflow: !0,
1489
+ loading: !1,
1490
+ toolbarConfig: {
1491
+ buttons: [
1492
+ {
1493
+ code: "import_plus",
1494
+ name: a("message.btn.upload"),
1495
+ icon: "ri-upload-2-line",
1496
+ status: "primary"
1497
+ },
1498
+ {
1499
+ code: "save_plus",
1500
+ name: a("message.btn.save"),
1501
+ icon: "ri-save-3-line",
1502
+ status: "success"
1503
+ },
1504
+ {
1505
+ code: "del_plus",
1506
+ name: a("message.btn.delete"),
1507
+ icon: "ri-delete-bin-line",
1508
+ status: "danger"
1509
+ },
1510
+ {
1511
+ code: "export_plus",
1512
+ name: a("message.btn.downloadTemp"),
1513
+ icon: "ri-download-2-line",
1514
+ status: "warning"
1515
+ }
1516
+ ],
1517
+ tools: [{
1518
+ code: "question",
1519
+ name: a("message.btn.FAQ"),
1520
+ status: "primary",
1521
+ icon: "vxe-icon-info-circle-fill"
1522
+ }, {
1523
+ code: "replay",
1524
+ name: a("message.btn.back"),
1525
+ status: "info",
1526
+ icon: "vxe-icon-undo"
1527
+ }]
1528
+ },
1529
+ columns: c()
1530
+ }), h = {
1531
+ toolbarButtonClick({ code: e }) {
1532
+ switch (e) {
1533
+ case "import_plus":
1534
+ g();
1535
+ break;
1536
+ case "save_plus":
1537
+ x();
1538
+ break;
1539
+ case "del_plus":
1540
+ S();
1541
+ break;
1542
+ case "export_plus":
1543
+ b();
1544
+ break;
1545
+ }
1546
+ },
1547
+ toolbarToolClick({ code: e }) {
1548
+ switch (e) {
1549
+ case "replay":
1550
+ D();
1551
+ break;
1552
+ case "question":
1553
+ T();
1554
+ break;
1555
+ }
1556
+ }
1557
+ }, g = () => {
1558
+ p = [], f.value?.openImport();
1559
+ };
1560
+ function _(e) {
1561
+ p = e.$table.getTableData().fullData, c().filter((e) => !e.type && e.mapField !== n.options.errorField).forEach((e) => {
1562
+ let t = p.findIndex((t) => t[e.field] === e.field);
1563
+ t !== -1 && p.splice(t, 1);
1564
+ }), n.columns.forEach((e) => {
1565
+ (e.dateFormatter || e.valueType === "number") && p.forEach((t) => {
1566
+ 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);
1567
+ });
1568
+ }), l.value.total = p.length, v();
1569
+ }
1570
+ let v = () => {
1571
+ let { currentPage: e, pageSize: t } = l.value;
1572
+ m.data = p.filter((n, r) => r < t * e && r >= t * (e - 1));
1573
+ }, y = ({ currentPage: e, pageSize: t }) => {
1574
+ l.value.currentPage = e, l.value.pageSize = t, v();
1575
+ }, b = () => {
1576
+ let e = [];
1577
+ if (n.templateData.length) e.push(...n.templateData);
1578
+ else {
1579
+ let t = {};
1580
+ c().filter((e) => e.type !== "checkbox").forEach((e) => {
1581
+ t[e.field] = "案例";
1582
+ }), e.push(t);
1583
+ }
1584
+ let t = {
1585
+ filename: n.options.filename,
1586
+ type: "xlsx",
1587
+ columns: c().filter((e) => e.mapField !== n.options.errorField && e.type !== "checkbox"),
1588
+ data: e
1589
+ };
1590
+ f.value?.exportData(t);
1591
+ }, x = async () => {
1592
+ if (!p.length) return ze(a("message.importEmpty"));
1593
+ if (await Z.modal.confirm(a("message.importRecord")) === "confirm") {
1594
+ m.loading = !0;
1595
+ let { url: e } = n;
1596
+ w("toSave"), r.post(e, p).then((e) => {
1597
+ e?.status === "error" || e?.length ? (o.value = !0, C(e?.length ? e : e[n.options.errListField || n.sourceList]), Z.modal.message({
1598
+ content: a("message.importFailed"),
1599
+ status: "error"
1600
+ })) : (Z.modal.message({
1601
+ content: a("message.importSuccess"),
1602
+ status: "success"
1603
+ }), D());
1604
+ }).finally(() => {
1605
+ o.value = !1, m.loading = !1;
1606
+ });
1607
+ }
1608
+ }, S = () => {
1609
+ let e = f.value?.getCheckboxRecords();
1610
+ if (!e?.length) return Z.modal.message({
1611
+ content: a("message.selectedRecord"),
1612
+ status: "warning"
1613
+ });
1614
+ e.forEach((e) => {
1615
+ let t = p.findIndex((t) => t._X_ROW_KEY === e._X_ROW_KEY);
1616
+ t !== -1 && p.splice(t, 1);
1617
+ }), m.data = p;
1618
+ }, C = (e) => {
1619
+ l.value.total = e.length, p = e.map((e, t) => (e._X_ROW_KEY = t, e)), w("toShow"), v();
1620
+ }, w = (e) => {
1621
+ m.columns.forEach((t) => {
1622
+ if (e === "toSave") {
1623
+ let e = K.get("kCookies_param") ? JSON.parse(K.get("kCookies_param")) : {};
1624
+ p.forEach((r) => {
1625
+ r[t.mapField] = r[t.field], Object.assign(r, e, n.defaultParams);
1626
+ });
1627
+ } else p.forEach((e) => {
1628
+ e[t.field] = e[t.mapField];
1629
+ });
1630
+ });
1631
+ }, T = () => {
1632
+ Z.modal.alert(a("message.importTip"), a("message.udp.tip"));
1633
+ }, E = t, D = () => {
1634
+ i.value = !1, E("close");
1635
+ };
1636
+ return (t, n) => {
1637
+ 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");
1638
+ return V(), M(g, {
1639
+ modelValue: i.value,
1640
+ "onUpdate:modelValue": n[2] ||= (e) => i.value = e,
1641
+ "show-header": !1,
1642
+ fullscreen: "",
1643
+ remember: "",
1644
+ onClose: D
1645
+ }, {
1646
+ default: G(() => [I(p, R({
1647
+ ref_key: "xgrid",
1648
+ ref: f
1649
+ }, m, Se(h)), pe({
1650
+ pager: G(() => [I(d, {
1651
+ "current-page": l.value.currentPage,
1652
+ "onUpdate:currentPage": n[0] ||= (e) => l.value.currentPage = e,
1653
+ "page-size": l.value.pageSize,
1654
+ "onUpdate:pageSize": n[1] ||= (e) => l.value.pageSize = e,
1655
+ layouts: u,
1656
+ "page-sizes": [
1657
+ 200,
1658
+ 500,
1659
+ 1e3,
1660
+ 2e3,
1661
+ 5e3,
1662
+ 1e4
1663
+ ],
1664
+ total: l.value.total,
1665
+ onPageChange: y
1666
+ }, null, 8, [
1667
+ "current-page",
1668
+ "page-size",
1669
+ "total"
1670
+ ])]),
1671
+ _: 2
1672
+ }, [be(e.columns, (e) => ({
1673
+ name: e.field,
1674
+ fn: G(({ row: t }) => [e.dictCode && !e.disabled ? (V(), M(a, {
1675
+ key: 0,
1676
+ modelValue: t[e.field],
1677
+ "onUpdate:modelValue": (n) => t[e.field] = n,
1678
+ modelModifiers: { trim: !0 },
1679
+ clearable: ""
1680
+ }, {
1681
+ default: G(() => [(V(!0), P(ue, null, be(we(s)[e.dictCode]?.children, (e) => (V(), M(r, {
1682
+ key: e.dictCode,
1683
+ value: e.dictCode,
1684
+ label: e.dictName
1685
+ }, null, 8, ["value", "label"]))), 128))]),
1686
+ _: 2
1687
+ }, 1032, ["modelValue", "onUpdate:modelValue"])) : [
1688
+ "date",
1689
+ "month",
1690
+ "datetime"
1691
+ ].includes(e.dataType) && !e.disabled ? (V(), M(c, {
1692
+ key: 1,
1693
+ modelValue: t[e.field],
1694
+ "onUpdate:modelValue": (n) => t[e.field] = n,
1695
+ modelModifiers: { trim: !0 },
1696
+ type: e.dataType,
1697
+ "value-format": "YYYY-MM-DD hh:mm:ss"
1698
+ }, null, 8, [
1699
+ "modelValue",
1700
+ "onUpdate:modelValue",
1701
+ "type"
1702
+ ])) : !e.da && !e.disabled ? ke((V(), P("input", {
1703
+ key: 2,
1704
+ "onUpdate:modelValue": (n) => t[e.field] = n,
1705
+ class: "ut-input"
1706
+ }, null, 8, bn)), [[
1707
+ De,
1708
+ t[e.field],
1709
+ void 0,
1710
+ { trim: !0 }
1711
+ ]]) : o.value ? (V(), P("span", Sn, W(t[e.field]), 1)) : (V(), P("span", xn, W(t[e.field]), 1))])
1712
+ }))]), 1040)]),
1713
+ _: 1
1714
+ }, 8, ["modelValue"]);
1715
+ };
1716
+ }
1717
+ }), [["__scopeId", "data-v-41bb3a03"]]), wn = { class: "ut-lov-wrapper" }, Tn = { style: { height: "360px" } }, En = /* @__PURE__ */ L({
1718
+ name: "UtLov",
1719
+ props: {
1720
+ record: { default: () => ({}) },
1721
+ defaultParams: { default: () => ({}) },
1722
+ code: {},
1723
+ field: {},
1724
+ displayName: {},
1725
+ placeholder: { default: "请选择" },
1726
+ mode: { default: "vxe" },
1727
+ clearable: {
1728
+ type: Boolean,
1729
+ default: !0
1730
+ },
1731
+ multiple: {
1732
+ type: Boolean,
1733
+ default: !1
1734
+ },
1735
+ disabled: {
1736
+ type: Boolean,
1737
+ default: !1
1738
+ },
1739
+ autoLoad: {
1740
+ type: Boolean,
1741
+ default: !0
1742
+ },
1743
+ readonly: { type: Boolean },
1744
+ editable: {
1745
+ type: Boolean,
1746
+ default: !1
1747
+ },
1748
+ transfer: { type: Boolean },
1749
+ checkMethod: {}
1750
+ },
1751
+ emits: ["clear", "change"],
1752
+ setup(e, { emit: t }) {
1753
+ let n = e, r = me().appContext.config.globalProperties.$serviceApi, i = H(!1), a = H(600), o = H(""), s = H("vxe-table--ignore-clear"), c = ye({
1754
+ loading: !1,
1755
+ border: !0,
1756
+ pagerConfig: {},
1757
+ formConfig: {
1758
+ titleWidth: 90,
1759
+ titleAlign: "right",
1760
+ items: []
1761
+ },
1762
+ height: "auto",
1763
+ editConfig: {},
1764
+ rowConfig: { keyField: "_X_ROW_KEY" },
1765
+ columnConfig: {
1766
+ resizable: !0,
1767
+ isHover: !0
1768
+ },
1769
+ proxyConfig: {
1770
+ form: !0,
1771
+ autoLoad: !1,
1772
+ response: {
1773
+ result: "list",
1774
+ total: "total"
1775
+ },
1776
+ ajax: { query: ({ page: e, form: t }) => {
1777
+ let i = K.get("kCookies_param") ? JSON.parse(K.get("kCookies_param")) : {}, a = {
1778
+ pageNum: e.currentPage,
1779
+ pageSize: e.pageSize
1780
+ }, o = Object.assign(a, i, n.defaultParams, t);
1781
+ if (!n.readonly) {
1782
+ let { field: e, displayName: t } = n;
1783
+ o[t || e] = n.record[t || e];
1784
+ }
1785
+ return o = d(o), l.lovType === "url" ? r.get(l.lovUrl, o) : (o.lovCode = n.code, r.get("/upfm/v1/lovViewHeader/listBySql", o));
1786
+ } }
1787
+ },
1788
+ checkboxConfig: { checkMethod: ({ row: e }) => y(e, n) },
1789
+ radioConfig: { checkMethod: ({ row: e }) => y(e, n) },
1790
+ columns: []
1791
+ }), l, u = [], d = (e) => (u.filter((e) => ["date", "month"].includes(e.fieldType) && e.isSearch).forEach((t) => {
1792
+ 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"));
1793
+ }), e), f = () => {
1794
+ let e = q(u, !0).filter((e) => e.isSearch === "Y");
1795
+ if (!e.length) return;
1796
+ let t = e.length > 2, n = e.sort((e, t) => e.seqNo - t.seqNo).map((e, t) => ({
1797
+ field: e.colField,
1798
+ title: e.colTitle,
1799
+ span: 8,
1800
+ folding: t > 1,
1801
+ itemRender: h(e)
1802
+ }));
1803
+ p.collapseNode = t, t ? n.splice(2, 0, p) : n.push(p), c.formConfig.items = n;
1804
+ }, p = {
1805
+ span: 8,
1806
+ align: "right",
1807
+ collapseNode: !1,
1808
+ itemRender: {
1809
+ name: "VxeButtonGroup",
1810
+ options: [{
1811
+ type: "submit",
1812
+ submit: "submit",
1813
+ content: "message.btn.search",
1814
+ status: "primary",
1815
+ icon: "ri-search-line"
1816
+ }, {
1817
+ type: "reset",
1818
+ name: "reset",
1819
+ content: "message.btn.reset",
1820
+ status: "info",
1821
+ icon: "ri-refresh-line"
1822
+ }]
1823
+ }
1824
+ }, m = Re(), h = (e) => {
1825
+ if (["date", "month"].includes(e.fieldType)) {
1826
+ let t = e.fieldType === "date" ? "yyyy-MM-dd HH:mm:ss" : "yyyy-MM";
1827
+ return m.renderDate({
1828
+ type: e.fieldType,
1829
+ valueFormat: t
1830
+ });
1831
+ } else if (e.fieldType === "dictCode") return m.renderDict(e.dictCode);
1832
+ return { name: "VxeInput" };
1833
+ }, g = () => {
1834
+ let e = q(u, !0).filter((e) => e.isCol === "Y"), t = e.reduce((e, t) => e + +t.colWidth, 65);
1835
+ a.value = t < 600 ? 600 : t > 900 ? 900 : t, c.columns = e.sort((e, t) => e.seqNo - t.seqNo).map((e) => {
1836
+ let t = e.fieldType, n = ["formatDict", e.dictCode];
1837
+ return {
1838
+ field: e.colField,
1839
+ title: e.colTitle,
1840
+ minWidth: e.colWidth,
1841
+ formatter: t === "date" ? ["formatDate"] : e.fieldType === "dictCode" ? n : null
1842
+ };
1843
+ }), n.multiple ? c.columns.unshift({
1844
+ type: "checkbox",
1845
+ width: 45,
1846
+ align: "center"
1847
+ }) : c.columns.unshift({
1848
+ type: "radio",
1849
+ width: 45,
1850
+ align: "center"
1851
+ });
1852
+ }, _ = H(null), v = async () => {
1853
+ c.loading = !0;
1854
+ let [e, t] = await oe(r.get("/upfm/v1/lovViewHeader/detailByViewCode", { lovCode: n.code }));
1855
+ 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 z(), n.autoLoad && _.value?.commitProxy("query"), c.loading = !1;
1856
+ }, y = (e, t) => Ve(t.checkMethod) ? t.checkMethod(e) : !0, b = async () => {
1857
+ n.disabled || (v(), await z(), i.value = !0);
1858
+ }, x = () => {
1859
+ D("clear", "");
1860
+ }, S = ({ row: e }) => {
1861
+ let t = n.multiple ? [e] : e;
1862
+ Ve(n.checkMethod) && !n.checkMethod(e) || (D("change", t, l.valueField), T());
1863
+ }, C = async () => {
1864
+ await z(), _.value?.commitProxy("query");
1865
+ }, w = () => {
1866
+ let e = _.value, t = n.multiple ? e.getCheckboxRecords() : e.getRadioRecord();
1867
+ !J(t) && D("change", t, l.valueField), T();
1868
+ }, T = () => {
1869
+ u.length = 0, i.value = !1;
1870
+ }, E = ({ type: e }) => {}, D = t;
1871
+ return (t, n) => {
1872
+ let r = U("vxe-grid"), l = U("vxe-button"), u = U("vxe-modal"), d = U("el-dialog"), f = U("vxe-input");
1873
+ return V(), P("div", wn, [e.mode === "vxe" ? (V(), M(u, {
1874
+ key: 0,
1875
+ modelValue: i.value,
1876
+ "onUpdate:modelValue": n[0] ||= (e) => i.value = e,
1877
+ width: a.value,
1878
+ "destroy-on-close": !1,
1879
+ title: o.value,
1880
+ transfer: e.transfer,
1881
+ height: "80%",
1882
+ resize: "",
1883
+ "esc-closable": "",
1884
+ "show-footer": "",
1885
+ "class-name": s.value,
1886
+ "before-hide-method": E
1887
+ }, {
1888
+ default: G(() => [I(r, R({
1889
+ ref_key: "xgrid",
1890
+ ref: _
1891
+ }, c, { onCellDblclick: S }), null, 16)]),
1892
+ footer: G(() => [I(l, {
1893
+ content: t.$t("message.btn.cancel"),
1894
+ icon: "ri-close-line",
1895
+ status: "warning",
1896
+ onClick: T
1897
+ }, null, 8, ["content"]), I(l, {
1898
+ content: t.$t("message.btn.confirm"),
1899
+ icon: "ri-save-3-line",
1900
+ status: "primary",
1901
+ onClick: w
1902
+ }, null, 8, ["content"])]),
1903
+ _: 1
1904
+ }, 8, [
1905
+ "modelValue",
1906
+ "width",
1907
+ "title",
1908
+ "transfer",
1909
+ "class-name"
1910
+ ])) : (V(), M(d, {
1911
+ key: 1,
1912
+ modelValue: i.value,
1913
+ "onUpdate:modelValue": n[1] ||= (e) => i.value = e,
1914
+ width: a.value,
1915
+ "show-close": !1,
1916
+ title: o.value,
1917
+ "append-to-body": e.transfer,
1918
+ draggable: "",
1919
+ "destroy-on-close": "",
1920
+ "close-on-press-escape": ""
1921
+ }, {
1922
+ default: G(() => [F("div", Tn, [I(r, R({
1923
+ ref_key: "xgrid",
1924
+ ref: _
1925
+ }, c, {
1926
+ "column-config": { resizable: !0 },
1927
+ onCellDblclick: S,
1928
+ onColumnsChange: C
1929
+ }), null, 16)])]),
1930
+ footer: G(() => [I(l, {
1931
+ content: t.$t("message.btn.cancel"),
1932
+ icon: "ri-close-line",
1933
+ status: "warning",
1934
+ onClick: T
1935
+ }, null, 8, ["content"]), I(l, {
1936
+ content: t.$t("message.btn.confirm"),
1937
+ icon: "ri-save-3-line",
1938
+ status: "primary",
1939
+ onClick: w
1940
+ }, null, 8, ["content"])]),
1941
+ _: 1
1942
+ }, 8, [
1943
+ "modelValue",
1944
+ "width",
1945
+ "title",
1946
+ "append-to-body"
1947
+ ])), I(f, {
1948
+ modelValue: e.record[e.displayName || e.field],
1949
+ "onUpdate:modelValue": n[2] ||= (t) => e.record[e.displayName || e.field] = t,
1950
+ clearable: !e.disabled && e.clearable,
1951
+ disabled: e.disabled,
1952
+ editable: e.editable,
1953
+ placeholder: e.placeholder,
1954
+ style: { width: "100%" },
1955
+ type: "search",
1956
+ onSearchClick: b,
1957
+ onClear: x
1958
+ }, null, 8, [
1959
+ "modelValue",
1960
+ "clearable",
1961
+ "disabled",
1962
+ "editable",
1963
+ "placeholder"
1964
+ ])]);
1965
+ };
1966
+ }
1967
+ }), Dn = { mounted(e, t) {
1968
+ let { value: n } = t;
1969
+ if (n) {
1970
+ let t = `${_.currentRoute.value.meta?.prefixAuth}.${n}`;
1971
+ v().getButtonAuth.includes(t) || e.parentNode.removeChild(e);
1972
+ } else throw Error("need roles! Like v-auth=\"['admin','test']\"");
1973
+ } }, On = Ze({ strategy: "scroll" }), kn = {
1974
+ mounted(e, t, n) {
1975
+ On.listenTo(e, (e) => {
1976
+ let r = e.offsetWidth, i = e.offsetHeight;
1977
+ t?.instance ? j.emit("resize", { detail: {
1978
+ width: r,
1979
+ height: i
1980
+ } }) : n.el.dispatchEvent(new CustomEvent("resize", { detail: {
1981
+ width: r,
1982
+ height: i
1983
+ } }));
1984
+ });
1985
+ },
1986
+ unmounted(e) {
1987
+ On.uninstall(e);
1988
+ }
1989
+ }, An = /* @__PURE__ */ n({
1990
+ auth: () => Dn,
1991
+ resize: () => kn
1992
+ }), $ = fe(nt);
1993
+ $.use(Xe, { defaultProps: { animation: "perspective" } });
1994
+ var jn = (e) => {
1995
+ e.config.globalProperties.$hasAuthority = ae, e.config.globalProperties.$serviceApi = D(), e.config.globalProperties.$debuggerApi = E(), e.config.globalProperties.$url = O(), window.$i18n = x;
1996
+ }, Mn = (e) => {
1997
+ Object.keys(An).forEach((t) => {
1998
+ e.directive(t, An[t]);
1999
+ });
2000
+ }, Nn = ({ router: e, config: t, lang: n, views: r, env: i, tableConfig: a }) => (p(r, e), $.use(e), S(e), T($, t), te(i), ne(a), new Promise((r) => {
2001
+ c($, n), $.component("IconifyIconOffline", se), $.component("FontIcon", ce), $.component("UtGrid2", Gt), $.component("UtUpload2", Cn), $.component("FormUpload2", yn).component("UtLov2", En), $.component("UtContent2", en), $.component("UtStampBadge2", Yt), jn($), w(O()), Mn($), g($), mt($, t), r({
2002
+ app: $,
2003
+ router: e
2004
+ });
2005
+ })), Pn = /* @__PURE__ */ n({
2006
+ constantRoutes: () => b,
2007
+ default: () => Fn,
2008
+ delCurrentRoute: () => l,
2009
+ getBrower: () => i,
2010
+ getPlatform: () => o,
2011
+ getProcessMenu: () => d,
2012
+ getServiceApi: () => D,
2013
+ handleAliveRoute: () => s,
2014
+ hasAuthority: () => ae,
2015
+ initDict: () => h,
2016
+ lifeCycleEvent: () => u,
2017
+ remainingRouters: () => f,
2018
+ routerBefore: () => m,
2019
+ store: () => e,
2020
+ useDataThemeChange: () => ie,
2021
+ useLayout: () => re,
2022
+ useMultiTagsStore: () => t,
2023
+ usePermissionStore: () => v,
2024
+ useSystemStore: () => y,
2025
+ userMonitor: () => r
2026
+ }), Fn = Nn;
2027
+ //#endregion
2028
+ export { Pn as n, Fn as t };