@utogether/udp-core 1.0.1-beta.9 → 1.0.2

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 (168) hide show
  1. package/build/plugins.ts +37 -39
  2. package/dist/{403-BOzKHdlm.js → 403-B1rIjAAu.js} +6 -6
  3. package/dist/{404-uwgt4Nll.js → 404-mBqc2y4t.js} +4 -4
  4. package/dist/{500-4HBf6V9m.js → 500-BoI45Zdh.js} +2 -2
  5. package/dist/{AuthorityInfo-DvbIh1vT.js → AuthorityInfo-B08NBIIn.js} +1 -1
  6. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-BlCPvwXU.js → AuthorityInfo.vue_vue_type_style_index_0_lang-BLP1SaiH.js} +3 -3
  7. package/dist/{Company-D7Q9BFmr.js → Company-JGGyWEWH.js} +3 -3
  8. package/dist/{CompanyPanel-C0-PJlrt.js → CompanyPanel-BQ_cCmDx.js} +7 -7
  9. package/dist/{Department-h2hlXACv.js → Department-z2iO6hwM.js} +10 -10
  10. package/dist/{DepartmentPanel-B6hDEQpG.js → DepartmentPanel-BtQe7zwU.js} +108 -78
  11. package/dist/{DesignPanel-cS58-1v9.js → DesignPanel-7mhtVWas.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-LdvLC8VU.js → DesignPanel.vue_vue_type_style_index_0_lang-4EsHemj_.js} +6 -6
  13. package/dist/{DictView-T3TmpBa8.js → DictView-CjchV2Yk.js} +15 -16
  14. package/dist/InvOrganization-Pn1O_XP0.js +74 -0
  15. package/dist/{Org-CnCBDGKF.js → Org-BqytV_vi.js} +1 -1
  16. package/dist/{Preview-BaktKXB1.js → Preview-CLpUUMay.js} +2 -2
  17. package/dist/{ReportDefine-5Rb0PO9A.js → ReportDefine-Cz1KtEUF.js} +1 -1
  18. package/dist/{ReportDesign-DYdkVREA.js → ReportDesign-BaORYud4.js} +13 -13
  19. package/dist/{ReportQuery-BwhzIXMt.js → ReportQuery-CPCPXiXz.js} +1 -1
  20. package/dist/{ReportQueryFrom-PHtWwlOe.js → ReportQueryFrom-C_AcrfkJ.js} +1 -1
  21. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-BE5yZNPM.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-Bm67ejay.js} +1 -1
  22. package/dist/{ReportTemplate-DaadVXIi.js → ReportTemplate-CFiNMz79.js} +11 -11
  23. package/dist/{Role-Dtg3nAmG.js → Role-B-XDoJd5.js} +3 -3
  24. package/dist/{RoleAssign-DEGtLssH.js → RoleAssign-BolW8YVs.js} +8 -8
  25. package/dist/{RolePanel-DpUzfE_o.js → RolePanel-2kfs5tw9.js} +1 -1
  26. package/dist/{RolePanel-CT7BTPmy.js → RolePanel-HilSuYns.js} +1 -1
  27. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-Xyo0YEI0.js → RolePanel.vue_vue_type_script_setup_true_lang-CE4gApUY.js} +7 -7
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-Dg2A6DJu.js → RolePanel.vue_vue_type_script_setup_true_lang-DPzgfAyV.js} +13 -13
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-CyutzDZS.js → ScrollPanel.vue_vue_type_style_index_0_lang-CCTH4RkH.js} +4 -4
  30. package/dist/{Staff-_NlAGkrh.js → Staff-BTk3whFC.js} +3 -3
  31. package/dist/{StaffInfo-DVgUvVgd.js → StaffInfo-d3AuSzlA.js} +1 -1
  32. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-C8hmlFgX.js → StaffInfo.vue_vue_type_script_setup_true_lang-eOL4VlfE.js} +5 -5
  33. package/dist/{StaffPanel-DKNZE3IE.js → StaffPanel-DV-D4jjz.js} +1 -1
  34. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-4sFq3CEo.js +135 -0
  35. package/dist/{SysUser-kQUf7XKz.js → SysUser-BnjYytws.js} +2 -2
  36. package/dist/{SysUserPanel-C191uX3U.js → SysUserPanel-CBoyD-Qi.js} +1 -1
  37. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-PrTlTZR-.js +341 -0
  38. package/dist/{SystemMenu-DwuSvHnj.js → SystemMenu-kYB_ZaUt.js} +36 -36
  39. package/dist/{UserInfo-DIsInFld.js → UserInfo-4dx97VBL.js} +1 -1
  40. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-CnvGdbej.js → UserInfo.vue_vue_type_style_index_0_lang-BpbC_ZDm.js} +10 -10
  41. package/dist/{childView-3Bs2UBEw.js → childView-CHPNfTEb.js} +1 -1
  42. package/dist/{childView-BawyULD7.js → childView-CKA_JgVZ.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-YpWF-p2F.js → childView.vue_vue_type_style_index_0_lang-Bym2fQRd.js} +7 -7
  44. package/dist/childView.vue_vue_type_style_index_0_lang-W7bCtXeu.js +177 -0
  45. package/dist/{code-rule-DVaYcn8S.js → code-rule-CbxuZg0-.js} +40 -38
  46. package/dist/core.es.js +18 -12
  47. package/dist/{cron-task-xuzP-BpE.js → cron-task-nTOpqQYf.js} +7 -7
  48. package/dist/flow-task-B07st2aD.js +10 -0
  49. package/dist/{frameView-Cudt06qS.js → frameView-Z1tPUyCh.js} +1 -1
  50. package/dist/index-C3q8HoJM.js +4650 -0
  51. package/dist/{layoutView-BlFTV2jX.js → layoutView--MGA9zUB.js} +1766 -1760
  52. package/dist/{log-in-e7D5Ss1P.js → log-in-CSYJDA6m.js} +36 -29
  53. package/dist/log-out-DiwGCg7p.js +130 -0
  54. package/dist/login-C6Y0ajDp.js +251 -0
  55. package/dist/{login-log-kqKzKTto.js → login-log-C0V-_l3F.js} +5 -3
  56. package/dist/{lov-view-B2HaxyMs.js → lov-view-Cmv7wZZ9.js} +6 -6
  57. package/dist/{menuInfo-BxCTJ1VW.js → menuInfo-UeutJpOa.js} +1 -1
  58. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-CLOPNeUW.js → menuInfo.vue_vue_type_style_index_0_lang-CWX4Mu67.js} +118 -98
  59. package/dist/{pda-app-DPsAFNiw.js → pda-app-B6w99SJo.js} +10 -10
  60. package/dist/{resource-Dibb7t8u.js → resource-BybJvUv0.js} +4 -4
  61. package/dist/{su-welcome-DejR0KkM.js → su-welcome-C1bmxHoY.js} +119 -121
  62. package/dist/sys-config-BnmIDnCj.js +370 -0
  63. package/dist/udp-core.css +1 -9
  64. package/dist/utogether-MlnyYtNS.js +4 -0
  65. package/index.ts +49 -40
  66. package/package.json +18 -18
  67. package/src/App.vue +65 -65
  68. package/src/api/http.ts +1 -4
  69. package/src/api/index.ts +4 -2
  70. package/src/api/user.ts +2 -2
  71. package/src/components/SuCharts/src/UserInfo.vue +78 -78
  72. package/src/components/SuScrollTree/ScrollPanel.vue +1 -6
  73. package/src/components/udp/content/index.vue +88 -0
  74. package/src/components/udp/{form.vue → form/form.vue} +13 -16
  75. package/src/components/udp/{grid.vue → grid/index.vue} +56 -27
  76. package/src/components/udp/index.ts +4 -9
  77. package/src/components/udp/ut-stamp-badge/index.vue +271 -0
  78. package/src/components/udp/utils.ts +66 -105
  79. package/src/layout/components/lay-navbar/index.vue +8 -6
  80. package/src/layout/components/lay-panel/index.vue +150 -150
  81. package/src/layout/components/lay-search/index.vue +25 -25
  82. package/src/layout/components/lay-select-org/index.vue +4 -9
  83. package/src/layout/components/lay-setting/index.vue +503 -510
  84. package/src/layout/components/lay-sidebar/horizontal.vue +8 -6
  85. package/src/layout/components/lay-sidebar/mixNav.vue +260 -258
  86. package/src/layout/components/lay-sidebar/sidebar-logo.vue +101 -98
  87. package/src/layout/components/lay-tag/index.vue +24 -51
  88. package/src/layout/hooks/useDataThemeChange.ts +1 -1
  89. package/src/layout/hooks/useNav.ts +176 -173
  90. package/src/layout/hooks/useTag.ts +227 -233
  91. package/src/layout/types.ts +93 -92
  92. package/src/main.ts +115 -119
  93. package/src/plugins/i18n/en.ts +302 -302
  94. package/src/plugins/i18n/module/u-workflow.ts +1 -1
  95. package/src/plugins/i18n/zh.ts +21 -6
  96. package/src/plugins/vxe-table/index.ts +116 -53
  97. package/src/plugins/vxe-table/render.tsx +945 -956
  98. package/src/router/index.ts +17 -17
  99. package/src/router/modules/flow.ts +35 -0
  100. package/src/router/modules/home.ts +32 -32
  101. package/src/router/modules/remaining.ts +58 -58
  102. package/src/router/utils.ts +420 -377
  103. package/src/store/modules/app.ts +2 -4
  104. package/src/store/modules/epTheme.ts +48 -49
  105. package/src/store/modules/multiTags.ts +15 -14
  106. package/src/store/modules/permission.ts +25 -15
  107. package/src/store/modules/system.ts +1 -3
  108. package/src/style/button.scss +85 -85
  109. package/src/style/login.css +1 -1
  110. package/src/style/vxetable.scss +61 -2
  111. package/src/utils/dataFormat/index.ts +223 -223
  112. package/src/utils/index.ts +3 -1
  113. package/src/utils/lifecycle.ts +39 -20
  114. package/src/utils/propTypes.ts +1 -6
  115. package/src/utils/storage/index.ts +2 -2
  116. package/src/utils/udp/http/index.ts +24 -11
  117. package/src/utils/udp/http/types.d.ts +3 -10
  118. package/src/views/login/login-view.vue +4 -18
  119. package/src/views/organization/company/CompanyPanel.vue +259 -259
  120. package/src/views/organization/department/Department.vue +58 -58
  121. package/src/views/organization/department/DepartmentPanel.vue +303 -283
  122. package/src/views/organization/inv-org/InvOrganization.vue +22 -7
  123. package/src/views/organization/staff/StaffInfo.vue +127 -133
  124. package/src/views/organization/staff/StaffPanel.vue +162 -145
  125. package/src/views/system/cron/cron-task.vue +2 -12
  126. package/src/views/system/menu/SystemMenu.vue +185 -183
  127. package/src/views/system/menu/menuInfo.vue +384 -363
  128. package/src/views/system/role/UserInfo.vue +195 -195
  129. package/src/views/system/role-assign/RoleAssign.vue +57 -57
  130. package/src/views/system/role-assign/RolePanel.vue +139 -139
  131. package/src/views/system/sys/sys-config.vue +69 -20
  132. package/src/views/system/sysUser/SysUserPanel.vue +97 -28
  133. package/src/views/uapp/pda/pda-app.vue +208 -208
  134. package/src/views/udev/coderule/code-rule.vue +132 -121
  135. package/src/views/udev/dict/DictView.vue +2 -2
  136. package/src/views/udev/dict/childView.vue +183 -222
  137. package/src/views/udev/lov/childView.vue +1 -7
  138. package/src/views/udev/lov/lov-view.vue +91 -91
  139. package/src/views/uhome/components/menu-favorite.vue +314 -331
  140. package/src/views/uhome/su-welcome.vue +319 -339
  141. package/src/views/ulogin/login.vue +325 -321
  142. package/src/views/upms/interface/log-in.vue +100 -106
  143. package/src/views/upms/interface/log-out.vue +104 -107
  144. package/src/views/upms/user/login-log.vue +54 -60
  145. package/src/views/urpt/design/DesignPanel.vue +507 -507
  146. package/src/views/urpt/design/Preview.vue +1 -0
  147. package/src/views/urpt/design/ReportDesign.vue +2 -4
  148. package/src/views/utask/flow-task.vue +18 -0
  149. package/types/global.d.ts +231 -236
  150. package/dist/InvOrganization-BVuOhzbt.js +0 -66
  151. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-BOOO6Cek.js +0 -111
  152. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-SwNbAEvW.js +0 -294
  153. package/dist/childView.vue_vue_type_style_index_0_lang-DWIFCX3X.js +0 -187
  154. package/dist/index-CKnq5xIa.js +0 -2623
  155. package/dist/log-out--RRncZhN.js +0 -120
  156. package/dist/login-CpKykfdf.js +0 -253
  157. package/dist/sys-config-DiySRWns.js +0 -277
  158. package/dist/utogether-Dct_14Zk.js +0 -182
  159. package/src/components/udp/count-down.vue +0 -536
  160. package/src/components/udp/flip-down/FlipCard/flip-card.vue +0 -251
  161. package/src/components/udp/flip-down/FlipCard/interfaces.ts +0 -4
  162. package/src/components/udp/flip-down/FlipClock/flip-clock.vue +0 -113
  163. package/src/components/udp/form-upload.vue +0 -482
  164. package/src/components/udp/lov.vue +0 -388
  165. package/src/components/udp/modal-form.vue +0 -189
  166. package/src/components/udp/modal-grid.vue +0 -288
  167. package/src/components/udp/upload.vue +0 -423
  168. package/src/utils/udp/useRender.ts +0 -431
@@ -1,431 +0,0 @@
1
- /*
2
- * @Author: wei.li
3
- * @Date: 2021-11-29 18:18:00
4
- * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-08-16 18:28:08
6
- * @Description: file content
7
- */
8
-
9
- declare interface Fn<T = any, R = T> {
10
- (...arg: T[]): R;
11
- }
12
-
13
- interface IAttrs {
14
- disabled?: boolean;
15
- defaultValue?: string;
16
- code?: string;
17
- [x: string]: any;
18
- }
19
-
20
- interface IEvents {
21
- change?: Fn;
22
- clear?: Fn;
23
- blur?: Fn;
24
- focus?: Fn;
25
- input?: Fn;
26
- filterMethod?: Fn;
27
- }
28
- import { isObject, isEmpty, isString, isFunction } from 'xe-utils';
29
- import { storageLocal } from '@utogether/utils';
30
-
31
- export const useRender = () => {
32
- const optionProps = { value: 'dictCode', label: 'dictName' };
33
- /**
34
- * @description: 字典下拉渲染
35
- * @param {*} attrs string|object string时默认未code
36
- * @param {*} methods fn|object 回调函数 fn默认为onChange
37
- */
38
- const renderDict = (attrs: IAttrs | string, methods?) => {
39
- const events = getEvents(methods);
40
- let props = {
41
- clearable: true,
42
- disabled: false,
43
- showValue: false,
44
- placeholder: null
45
- };
46
- let defaultValue;
47
- let dictCode;
48
- if (isObject(attrs)) {
49
- props = Object.assign(props, attrs);
50
- defaultValue = attrs.defaultValue;
51
- dictCode = attrs?.code;
52
- // keyValue = attrs?.keyValue;
53
- } else {
54
- dictCode = attrs;
55
- }
56
- const opts = storageLocal.getItem('kLov')[dictCode]?.children;
57
- const options = opts ? opts.filter(opt => opt.enabled === '1') : [];
58
- return {
59
- name: '#select',
60
- optionProps,
61
- options,
62
- props,
63
- defaultValue,
64
- events
65
- };
66
- };
67
- /**
68
- * @description: 远程搜索下拉选择-编辑
69
- * @param {*} attrs attrs
70
- * @return {*}
71
- */
72
- const renderSelect = (attrs, methods?) => {
73
- const events = getEvents(methods);
74
- return {
75
- name: '#SuSelect',
76
- optionProps: attrs?.optionProps || { label: 'label', value: 'value' },
77
- props: attrs?.props,
78
- options: attrs?.options || [],
79
- events
80
- };
81
- };
82
- /**
83
- * @description: 查询关联了用户的员工
84
- * @param {*} attr '渲染器属性'
85
- * @param {*} callback 回调函数
86
- * @return {*} 渲染组件
87
- */
88
- const renderUser = (attr?, callback?) => {
89
- const attrs = {
90
- optionProps: { extLabel: 'userName', value: 'employeeName' },
91
- props: {
92
- attrs: { disabled: attr?.disabled },
93
- disabled: attr?.disabled,
94
- defaultValue: attr?.defaultValue,
95
- mapField: attr?.mapField,
96
- code: 'SYS037',
97
- url: '/uums/employee/listEmployeeIsUser',
98
- fetchField: 'employeeName'
99
- }
100
- };
101
- return renderSelect(attrs, callback);
102
- };
103
- /**
104
- * @description: 系统用户下拉
105
- * @param {*} options 映射字段
106
- * @return {*}
107
- */
108
- const renderSysUser = (options?) => {
109
- const attrs = {
110
- optionProps: { extLabel: 'userName', value: 'name' },
111
- props: {
112
- code: 'sys/listUsers',
113
- url: '/uums/user',
114
- fetchField: 'name',
115
- mapField: options?.mapField
116
- }
117
- };
118
- return renderSelect(attrs);
119
- };
120
-
121
- /**
122
- * @description: 查询库存组织
123
- * @param {*} name '渲染器属性'
124
- * @param {*} callback 回调函数
125
- * @return {*} 渲染组件
126
- */
127
- const renderInvOrg = (attrs?, methods?) => {
128
- const optionProps = {
129
- label: 'organizationName',
130
- value: attrs?.field || 'organizationName'
131
- };
132
- const props = {
133
- mapField: {},
134
- defaultParams: attrs?.defaultParams,
135
- url: '/uums/cusOrganization',
136
- fetchField: 'organizationName'
137
- };
138
- const mapField = {
139
- organizationId: 'id',
140
- organizationCode: 'organizationCode'
141
- };
142
- Object.assign(props.mapField, mapField, attrs?.mapField || {});
143
- return { name: '#SuSelect', props, optionProps, options: [], methods };
144
- };
145
- /**
146
- * @description: 查询业务单元
147
- * @param {*} name '渲染器属性'
148
- * @param {*} callback 回调函数
149
- * @return {*} 渲染组件
150
- */
151
- const renderBU = (attrs?, methods?) => {
152
- const optionProps = {
153
- label: 'orgName',
154
- value: attrs?.field || 'orgName'
155
- };
156
- const props = {
157
- mapField: {},
158
- defaultParams: attrs?.defaultParams,
159
- url: '/uums/org',
160
- fetchField: 'orgName'
161
- };
162
- const mapField = { orgId: 'id', orgCode: 'orgCode' };
163
- Object.assign(props.mapField, mapField, attrs?.mapField || {});
164
- return { name: '#SuSelect', props, optionProps, options: [], methods };
165
- };
166
- /**
167
- * @description: item input渲染器
168
- * @param {*} name 渲染器名称
169
- * @param {*} props 渲染的参数(请查看目标渲染的 Props)
170
- * @return {*} item 渲染器
171
- */
172
- const renderInput = (attrs?, methods?) => {
173
- const props = Object.assign({ disabled: false }, attrs);
174
- const defaultValue = props?.defaultValue;
175
- return {
176
- name: 'VxeInput',
177
- props,
178
- defaultValue,
179
- events: getEvents(methods)
180
- };
181
- };
182
- /**
183
- * @description: item input渲染器
184
- * @param {*} name 渲染器名称
185
- * @param {*} props 渲染的参数(请查看目标渲染的 Props)
186
- * @return {*} item 渲染器
187
- */
188
- const renderTextarea = (attrs?, methods?) => {
189
- const props = Object.assign({ disabled: false, rows: 3 }, attrs);
190
- const defaultValue = props?.defaultValue;
191
- return {
192
- name: 'VxeTextarea',
193
- props,
194
- defaultValue,
195
- events: getEvents(methods)
196
- };
197
- };
198
- /**
199
- * @description: checkbox
200
- * @param {*} attrs
201
- * @return {*} checkbox渲染器
202
- */
203
- const renderCheckBox = (attrs, methods?) => {
204
- const name = 'VxeCheckbox';
205
- const { defaultValue, options, props } = commonProps(attrs);
206
- return { name, defaultValue, options, props, events: getEvents(methods) };
207
- };
208
- /**
209
- * @description: radio
210
- * @param {*} attrs
211
- * @param {*} methods 事件
212
- * @return {*} radio渲染器
213
- */
214
- const renderRadio = (attrs: string | IAttrs, methods?) => {
215
- const name = 'VxeRadio';
216
- const { defaultValue, options, props } = commonProps(attrs);
217
- return { name, defaultValue, options, props, events: getEvents(methods) };
218
- };
219
- const commonProps = (attrs: string | IAttrs) => {
220
- let props = { disabled: false };
221
- let defaultValue;
222
- const dictData = storageLocal.getItem('kLov');
223
- let code = '';
224
- if (isObject(attrs)) {
225
- defaultValue = attrs.defaultValue;
226
- code = attrs.code!;
227
- props = Object.assign(props, attrs || {});
228
- } else if (isString(attrs)) {
229
- code = attrs;
230
- }
231
- const options = code
232
- ? dictData[code]?.children.map(m => {
233
- return { label: m.dictName, value: m.dictCode };
234
- })
235
- : [];
236
- return { props, defaultValue, options };
237
- };
238
- /**
239
- * @description: 数值录入
240
- * @param {*} attrs 渲染的参数(请查看目标渲染的props)
241
- * @param {*} methods 渲染目标的events,
242
- * @return {*} editRender
243
- */
244
- const renderNumber = (attrs?, methods?) => {
245
- const events = getEvents(methods);
246
- const props = Object.assign({ type: 'number', clearable: true, min: 0, controls: false }, attrs || {});
247
-
248
- return {
249
- name: 'VxeInput',
250
- props,
251
- defaultValue: attrs?.defaultValue,
252
- events
253
- };
254
- };
255
- /**
256
- * @description: 时间日期
257
- * @param {*} attrs 渲染的参数(请查看目标渲染的props)
258
- * @param {*} methods 渲染目标的events,
259
- * @return {*} editRender
260
- */
261
- const renderDate = (attrs?, methods?) => {
262
- const events = getEvents(methods);
263
- const valueFormat = 'yyyy-MM-dd HH:mm:ss';
264
- const defaultValue = attrs?.defaultValue;
265
- const prop = { type: 'date', valueFormat, clearable: true };
266
- const props = Object.assign(prop, attrs || {});
267
- return { name: 'VxeInput', props, defaultValue, events };
268
- };
269
- /**
270
- * @description: 值集视图
271
- * @param {*} attrs 渲染的参数
272
- * @param {*} methods 渲染目标的events,
273
- * @return {*} editRender
274
- */
275
- const renderLov = (attrs, methods?) => {
276
- const events = getEvents(methods);
277
- const props = Object.assign({}, attrs || {});
278
- return { name: '#lov', props, events };
279
- };
280
- /**
281
- * @description: 本地下拉选择
282
- * @param {*} attrs 同ElSelect
283
- * @param {*} methods 事件, 默认为change事件
284
- * @return {*}
285
- */
286
- const renderSelectLocal = (attrs, methods?) => {
287
- const events = getEvents(methods);
288
- const optionProps = attrs?.optionProps || {
289
- label: 'label',
290
- value: 'value'
291
- };
292
- const props = Object.assign({ clearable: true, disabled: false, showValue: false }, attrs || {});
293
- console.log('itemRender');
294
- return {
295
- name: '#select',
296
- optionProps,
297
- options: attrs?.options || [],
298
- props,
299
- events
300
- };
301
- };
302
- /**
303
- * @description: 渲染成switch
304
- * @param {*} attrs 请查看目标渲染的props
305
- * @param {*} methods 请查看目标渲染的event
306
- * @return {*} switchRender
307
- */
308
- const renderSwitch = (attrs?: string | IAttrs, methods?) => {
309
- let props = {
310
- openLabel: '是',
311
- closeLabel: '否',
312
- openValue: 'Y',
313
- closeValue: 'N'
314
- };
315
- let defaultValue = 'Y';
316
- if (isObject(attrs) && !isFunction(attrs)) {
317
- props = Object.assign(props, attrs || {});
318
- defaultValue = attrs.defaultValue || defaultValue;
319
- } else if (!isEmpty(attrs) && isString(attrs)) {
320
- defaultValue = attrs;
321
- props = Object.assign(props, { defaultValue });
322
- }
323
- // @ts-ignore
324
- const events = isFunction(attrs) ? getEvents(attrs) : getEvents(methods);
325
- return { name: 'VxeSwitch', props, defaultValue, events };
326
- };
327
- /**
328
- * @description: 表格渲染el-tag组件
329
- * @param {*} code 数据字典code
330
- * @param {*} tagMap 渲染tag对应的type {1: 'success'}
331
- * @return {*} table cellRender
332
- */
333
- const renderCellTag = (code, tagMap) => {
334
- return { name: '#tag', props: { code, tagMap } };
335
- };
336
- /**
337
- * @description: cell渲染成el-switch
338
- * @param {*} attrs 请查看目标渲染的props
339
- * @param {*} methods 请查看目标渲染的event
340
- * @return {*} cellRender
341
- */
342
- const renderEnabled = (options?, methods?) => {
343
- const props: IAttrs = {
344
- openLabel: '启用',
345
- closeLabel: '禁用',
346
- openValue: '1',
347
- closeValue: '0',
348
- defaultValue: '1'
349
- };
350
- if (!isFunction(options) && isObject(options)) {
351
- Object.assign(props, options);
352
- }
353
- const fun = isFunction(options) ? options : methods;
354
- return renderSwitch(props, fun);
355
- // return { name: "#switch", props, events };
356
- };
357
- /**
358
- * icon选择器
359
- * @returns render 函数
360
- */
361
- const renderIconSelect = () => {
362
- return { name: '#iconSelect' };
363
- };
364
- /**
365
- * 树形选择器
366
- * @param sourceData 展示数据
367
- * @param props 请查看element plus的TreeSelect渲染的props
368
- * @param events 事件
369
- * @returns render 函数
370
- */
371
- const renderTreeSelect = (sourceData: IRecord[] = [], props = {}, events?) => {
372
- return { name: '#treeSelect', sourceData, props, events };
373
- };
374
-
375
- const renderUpload = (props?, events?) => {
376
- // 单个模式下,限制只能单个上传
377
- props = props || {};
378
- const { singleMode, mode } = props;
379
- if (singleMode) {
380
- Object.assign(props, { multiple: false, limitCount: 1, autoHiddenButton: true });
381
- }
382
- if (!mode || mode === 'image') {
383
- props.imageTypes = ['jpg', 'jpeg', 'png', 'gif', 'apk'];
384
- }
385
- return { name: '#upload', props, events };
386
- };
387
-
388
- const getEvents = (methods: IEvents | Fn) => {
389
- let events: any = {};
390
- if (isObject(methods) && !isFunction(methods)) {
391
- events = {
392
- change: methods?.change || cb,
393
- blur: methods?.blur || cb,
394
- focus: methods?.focus || cb,
395
- input: methods?.input || cb,
396
- clear: methods?.clear || cb,
397
- filterMethod: methods?.filterMethod
398
- };
399
- } else if (methods) {
400
- events = { change: methods };
401
- }
402
- return events;
403
- };
404
-
405
- function cb() {}
406
- // 回调函数
407
- // const callback = (e) => cb && cb(e);
408
-
409
- return {
410
- renderDict,
411
- renderSelect,
412
- renderInput,
413
- renderTextarea,
414
- renderCheckBox,
415
- renderRadio,
416
- renderUser,
417
- renderSysUser,
418
- renderInvOrg,
419
- renderBU,
420
- renderNumber,
421
- renderLov,
422
- renderSelectLocal,
423
- renderDate,
424
- renderSwitch,
425
- renderCellTag,
426
- renderEnabled,
427
- renderIconSelect,
428
- renderTreeSelect,
429
- renderUpload
430
- };
431
- };