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

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 (161) hide show
  1. package/dist/403-gdcH0-Bo.js +65 -0
  2. package/dist/404-Se2SF97M.js +65 -0
  3. package/dist/500-B6j9AqLo.js +67 -0
  4. package/dist/AuthorityInfo-CQ8ydZvr.js +4 -0
  5. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-C4NRvS8p.js +100 -0
  6. package/dist/AuthorityPanel-lVnZ5bce.js +4 -0
  7. package/dist/AuthorityPanel.vue_vue_type_style_index_0_lang-nsfhDlvV.js +113 -0
  8. package/dist/Company-BzSVBSC4.js +25 -0
  9. package/dist/CompanyPanel-DBjZB4aJ.js +204 -0
  10. package/dist/DataSet-iBHzs75s.js +147 -0
  11. package/dist/Department-BkgseHo8.js +25 -0
  12. package/dist/DepartmentPanel-Sen93_2M.js +249 -0
  13. package/dist/DesignPanel-pqDcwaFC.js +4 -0
  14. package/dist/DesignPanel.vue_vue_type_style_index_0_lang-BjtYyEw7.js +1013 -0
  15. package/dist/DictView-CJLG4LlE.js +110 -0
  16. package/dist/InvOrganization-D0Jq1IAa.js +74 -0
  17. package/dist/Org-CO_1WT39.js +39 -0
  18. package/dist/Preview-DLI4Bwel.js +48 -0
  19. package/dist/ReportDefine-Cw46OnJ_.js +10 -0
  20. package/dist/ReportDesign-D4sHTXT7.js +165 -0
  21. package/dist/ReportQuery-DtOCvQSN.js +74 -0
  22. package/dist/ReportQueryFrom-QjL-ETPq.js +4 -0
  23. package/dist/ReportQueryFrom.vue_vue_type_style_index_0_lang-Dj9ne87n.js +177 -0
  24. package/dist/ReportTemplate-BxAgc_Aj.js +161 -0
  25. package/dist/Role-Df77BBD-.js +25 -0
  26. package/dist/RoleAssign-BrunouML.js +26 -0
  27. package/dist/RolePanel-DSVwqhiD.js +4 -0
  28. package/dist/RolePanel-HLA7XBlN.js +4 -0
  29. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-CKlbqRa5.js +132 -0
  30. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-CN0rUxKz.js +152 -0
  31. package/dist/ScrollPanel.vue_vue_type_style_index_0_lang-D_FeSXKv.js +99 -0
  32. package/dist/Staff-BeL1xcRf.js +26 -0
  33. package/dist/StaffInfo-CIfnltyX.js +4 -0
  34. package/dist/StaffInfo.vue_vue_type_script_setup_true_lang-DbLFwWfG.js +107 -0
  35. package/dist/StaffPanel-BV2CHWac.js +4 -0
  36. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-CvT-Vp2G.js +153 -0
  37. package/dist/SysUser-DPfNvthk.js +15 -0
  38. package/dist/SysUserPanel-CoLKYlQE.js +4 -0
  39. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-lcO3Cjbq.js +353 -0
  40. package/dist/SystemMenu-sdj1dRDA.js +156 -0
  41. package/dist/UserInfo-CTX4hhFl.js +4 -0
  42. package/dist/UserInfo.vue_vue_type_style_index_0_lang-ClhCd_8z.js +160 -0
  43. package/dist/await-to-js.es5-Bv3Eu4mi.js +10 -0
  44. package/dist/childView-BDmWwJO5.js +4 -0
  45. package/dist/childView-Dx3ACtHa.js +4 -0
  46. package/dist/childView.vue_vue_type_style_index_0_lang-CfKq_0FN.js +183 -0
  47. package/dist/childView.vue_vue_type_style_index_0_lang-DxZNtkhd.js +143 -0
  48. package/dist/code-rule-cvN4gYC_.js +148 -0
  49. package/dist/core.es.js +24 -6
  50. package/dist/cron-task-B0TkxFdp.js +135 -0
  51. package/dist/flow-task-PoDnE_kE.js +10 -0
  52. package/dist/frameView-5cy5BSgS.js +43 -0
  53. package/dist/img/minicolors.png +0 -0
  54. package/dist/index-C5WRTwvI.js +3006 -0
  55. package/dist/layout-home-DrARg-3o.js +232 -0
  56. package/dist/layoutView-25v_ngk5.js +3191 -0
  57. package/dist/log-in-Bmz5Uhbt.js +116 -0
  58. package/dist/log-out-B-8m3oNj.js +130 -0
  59. package/dist/login-Cmp2RvvW.js +217 -0
  60. package/dist/login-log-CVvRgZSu.js +70 -0
  61. package/dist/lov-view-BATtzw2X.js +99 -0
  62. package/dist/menuInfo-BIvrE7nm.js +4 -0
  63. package/dist/menuInfo.vue_vue_type_style_index_0_lang-B6USomit.js +360 -0
  64. package/dist/pda-app-CzHVyeEa.js +707 -0
  65. package/dist/redirect-DTz8GSnv.js +15 -0
  66. package/dist/resource-Y5lGB38n.js +97 -0
  67. package/dist/su-welcome-CXA6OzBw.js +878 -0
  68. package/dist/sys-config-CqO03LeC.js +385 -0
  69. package/dist/udp-core.css +1 -2
  70. package/dist/useNav-C-rCgubt.js +84 -0
  71. package/dist/utogether-MlnyYtNS.js +4 -0
  72. package/dist/wecom-push-B75FLee5.js +70 -0
  73. package/index.ts +3 -2
  74. package/package.json +1 -1
  75. package/src/App.vue +79 -78
  76. package/src/api/index.ts +1 -1
  77. package/src/components/SuQrcode/src/index.tsx +231 -236
  78. package/src/layout/components/lay-panel/index.vue +2 -6
  79. package/src/layout/components/lay-search/components/SearchModal.vue +7 -3
  80. package/src/main.ts +25 -23
  81. package/src/router/index.ts +156 -187
  82. package/src/store/modules/system.ts +7 -0
  83. package/src/style/vxetable.scss +372 -364
  84. package/src/utils/authority/index.ts +46 -29
  85. package/src/utils/udp/http/index.ts +115 -64
  86. package/src/utils/udp/http/types.d.ts +15 -14
  87. package/src/views/login/login-view.vue +4 -21
  88. package/src/views/organization/department/DepartmentPanel.vue +3 -4
  89. package/src/views/system/sys/sys-config.vue +344 -344
  90. package/src/views/uhome/components/home-todo.vue +179 -178
  91. package/src/views/ulogin/login.vue +5 -9
  92. package/tsconfig.json +2 -3
  93. package/types/global.d.ts +234 -234
  94. package/vite.config.ts +2 -1
  95. package/dist/403-D6Wb3JJh.js +0 -72
  96. package/dist/404-B_HNbPNV.js +0 -72
  97. package/dist/500-BMemTTy1.js +0 -77
  98. package/dist/AuthorityInfo-6wHxwiFM.js +0 -91
  99. package/dist/AuthorityPanel-OqF_DvXA.js +0 -98
  100. package/dist/Company-BLXSfow0.js +0 -21
  101. package/dist/CompanyPanel-B4kRZ5Cg.js +0 -199
  102. package/dist/DataSet-CuGZcKC-.js +0 -141
  103. package/dist/Department-oFhsa7cd.js +0 -21
  104. package/dist/DepartmentPanel-B1UGpu-r.js +0 -242
  105. package/dist/DepartmentPanel-BL58AdoT.js +0 -2
  106. package/dist/DesignPanel-DmkFVw1N.js +0 -1196
  107. package/dist/DictView-CC5yMzOq.js +0 -100
  108. package/dist/File-WJXjGYxr.js +0 -89
  109. package/dist/InvOrganization-BwMmD8Ua.js +0 -76
  110. package/dist/Org-HgnOWubi.js +0 -76
  111. package/dist/Preview-CAzWxLmP.js +0 -45
  112. package/dist/ReIcon-DecitXmg.js +0 -413
  113. package/dist/ReportDefine-BgLM-Rjk.js +0 -10
  114. package/dist/ReportDesign-DwchGG2P.js +0 -158
  115. package/dist/ReportQuery-D5jaRJEn.js +0 -101
  116. package/dist/ReportQueryFrom-CNlmtYey.js +0 -198
  117. package/dist/ReportTemplate-CNcTmccs.js +0 -162
  118. package/dist/Role-Be8WfdCA.js +0 -21
  119. package/dist/RoleAssign-CtehGAUf.js +0 -22
  120. package/dist/RolePanel-CAwITg_q.js +0 -131
  121. package/dist/RolePanel-SN0FGFZ7.js +0 -176
  122. package/dist/ScrollPanel-DW30pGz1.js +0 -88
  123. package/dist/Staff-V2YsNKcj.js +0 -22
  124. package/dist/StaffInfo-CKRPW0r4.js +0 -149
  125. package/dist/StaffPanel-BxcgMg7u.js +0 -143
  126. package/dist/SysUser-Dxyj5w5m.js +0 -12
  127. package/dist/SysUserPanel-DI6CWcZo.js +0 -365
  128. package/dist/SystemMenu-BBHREM8T.js +0 -154
  129. package/dist/UserInfo-BMVQ0xwE.js +0 -194
  130. package/dist/_plugin-vue_export-helper-C6QCLu9I.js +0 -8
  131. package/dist/api-BFNxcxSN.js +0 -30
  132. package/dist/authority-BJFEUdrh.js +0 -20
  133. package/dist/await-to-js.es5-DkWYmPXW.js +0 -10
  134. package/dist/childView-BBjPEraB.js +0 -184
  135. package/dist/childView-DNqG2UVm.js +0 -181
  136. package/dist/code-rule-QFrhqFrW.js +0 -151
  137. package/dist/contant-Q77dU_V3.js +0 -4
  138. package/dist/cron-task-BpUDKEAU.js +0 -131
  139. package/dist/flow-task-DAc2NrDU.js +0 -11
  140. package/dist/frameView-Di0zJZUR.js +0 -39
  141. package/dist/layout-home-BVp7vYLR.js +0 -239
  142. package/dist/layoutView-B6Mx2ERA.js +0 -2662
  143. package/dist/log-in-BrNB0mLz.js +0 -117
  144. package/dist/log-out-dYfqvzy6.js +0 -111
  145. package/dist/login-D_Hjy3Jd.js +0 -231
  146. package/dist/login-log-CJak-ANA.js +0 -79
  147. package/dist/lov-view-DM5Nm5tW.js +0 -95
  148. package/dist/menuInfo-BlOY1KZW.js +0 -346
  149. package/dist/mitt-CQgI7DYU.js +0 -27
  150. package/dist/pda-app-CA7YI37u.js +0 -589
  151. package/dist/redirect-N0k4tImU.js +0 -16
  152. package/dist/resource-CfQTHFcs.js +0 -94
  153. package/dist/su-welcome-DVD3S_du.js +0 -799
  154. package/dist/sys-config-Ddb3vBpK.js +0 -316
  155. package/dist/system-Cm3lyBas.js +0 -1528
  156. package/dist/udp-core-DaQd5CF1.js +0 -2028
  157. package/dist/useDataThemeChange-DJ4K3VGp.js +0 -226
  158. package/dist/useNav-BhOJIdrJ.js +0 -106
  159. package/dist/utogether-l7JXs4Lv.js +0 -4
  160. package/dist/water-mark-WDQZ9YqB.js +0 -119
  161. package/dist/wecom-push-kWkAVRCj.js +0 -77
@@ -1,2028 +0,0 @@
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 };