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