@utogether/udp-core 1.0.0 → 1.0.1-beta.10

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 (201) hide show
  1. package/build/plugins.ts +39 -26
  2. package/dist/{403-B1R-4vXw.js → 403-Ctxjn4q8.js} +9 -8
  3. package/dist/{404-fXPl8csw.js → 404-W5yzyiZ9.js} +15 -14
  4. package/dist/{500-eI5842YB.js → 500-DXuGEOm4.js} +11 -10
  5. package/dist/{AuthorityInfo-CfVH6PaB.js → AuthorityInfo-C2tflCt8.js} +1 -1
  6. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-SVgy3HX7.js +100 -0
  7. package/dist/{AuthorityPanel-BaLMwMgW.js → AuthorityPanel-BeBNiwqc.js} +1 -1
  8. package/dist/{AuthorityPanel.vue_vue_type_style_index_0_lang-C_bkqLD9.js → AuthorityPanel.vue_vue_type_style_index_0_lang-CIYmnP9-.js} +6 -6
  9. package/dist/{Company-CYC9Avfz.js → Company-PLez5GoH.js} +3 -3
  10. package/dist/{CompanyPanel-B4MzoqN_.js → CompanyPanel-CIGaQooL.js} +20 -20
  11. package/dist/{Department-B4BNSiYx.js → Department-B9wLsXFm.js} +3 -3
  12. package/dist/{DepartmentPanel-zJO89L2O.js → DepartmentPanel-DSM4lTaz.js} +23 -23
  13. package/dist/{DesignPanel-S8P0J97f.js → DesignPanel-B6a9wW_A.js} +1 -1
  14. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-DW-_Vqrr.js → DesignPanel.vue_vue_type_style_index_0_lang-DtHfoDQk.js} +28 -30
  15. package/dist/DictView-DhFbQxdJ.js +110 -0
  16. package/dist/{InvOrganization-MuM2jtsG.js → InvOrganization-D90AbR3b.js} +2 -2
  17. package/dist/Org-DxBkYabD.js +39 -0
  18. package/dist/{Preview-CRyiwUIR.js → Preview-BFtRpBxw.js} +1 -1
  19. package/dist/{ReportDefine-WZYIx8Sm.js → ReportDefine-BIa2QryC.js} +1 -1
  20. package/dist/{ReportDesign-D-7GKgpb.js → ReportDesign-CnyjI-WD.js} +44 -44
  21. package/dist/{ReportQuery-BIIJny6w.js → ReportQuery-BiK7yEhV.js} +5 -5
  22. package/dist/{ReportQueryFrom-OoUl7N2O.js → ReportQueryFrom-C2rqdFTm.js} +1 -1
  23. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-B878fgj8.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-Ba9HLnXQ.js} +6 -5
  24. package/dist/{ReportTemplate-Cfeq9US-.js → ReportTemplate-DdkLscP3.js} +30 -30
  25. package/dist/{Role-BwTV2QMH.js → Role-BrsxgK8D.js} +6 -6
  26. package/dist/{RoleAssign-De1JjOun.js → RoleAssign-DiqwJqDa.js} +8 -8
  27. package/dist/{RolePanel-pUBXsqCM.js → RolePanel-BDusGyo7.js} +1 -1
  28. package/dist/{RolePanel-E3RcdByM.js → RolePanel-Dqx5dI3f.js} +1 -1
  29. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-2Z1q_5uW.js +132 -0
  30. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-B2pQwHb0.js → RolePanel.vue_vue_type_script_setup_true_lang-B5lUnaMI.js} +40 -34
  31. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-vMR1fBi0.js → ScrollPanel.vue_vue_type_style_index_0_lang-vSP23fEq.js} +23 -23
  32. package/dist/{Staff-Czm7A8vI.js → Staff-Cwi9LQiZ.js} +3 -3
  33. package/dist/StaffInfo-XjVtyaMv.js +4 -0
  34. package/dist/{StaffInfo.vue_vue_type_style_index_0_lang-DMTL7KCh.js → StaffInfo.vue_vue_type_script_setup_true_lang-wSrAuyet.js} +16 -16
  35. package/dist/{StaffPanel-CHk60LEz.js → StaffPanel-C-wYcFdv.js} +1 -1
  36. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-iPKLb5wG.js → StaffPanel.vue_vue_type_script_setup_true_lang-DZNArmnC.js} +46 -49
  37. package/dist/{SysUser-BGwbttRn.js → SysUser-O4tvr-Ur.js} +2 -2
  38. package/dist/{SysUserPanel-BCbKoLKt.js → SysUserPanel-B853docZ.js} +1 -1
  39. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-DhiYYC97.js +294 -0
  40. package/dist/{SystemMenu-BkqZSDKl.js → SystemMenu-CXR6mrXr.js} +52 -50
  41. package/dist/{UserInfo-BsyAcT2d.js → UserInfo-BkP8pE2a.js} +1 -1
  42. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-D0-KDxAh.js → UserInfo.vue_vue_type_style_index_0_lang-D4r_umjV.js} +38 -36
  43. package/dist/{childView-CyuLTUqC.js → childView-D0HwbgDT.js} +1 -1
  44. package/dist/{childView-CF83nhxb.js → childView-TRqUkSDC.js} +1 -1
  45. package/dist/{childView.vue_vue_type_style_index_0_lang-CNSgGda3.js → childView.vue_vue_type_style_index_0_lang-BzISq0Jf.js} +43 -43
  46. package/dist/{childView.vue_vue_type_style_index_0_lang-Cch4lE-i.js → childView.vue_vue_type_style_index_0_lang-DQRgNsJY.js} +1 -1
  47. package/dist/{code-rule-Bz-gnktN.js → code-rule-BV7PQWhK.js} +13 -14
  48. package/dist/core.es.js +13 -10
  49. package/dist/{cron-task-CIifSUdW.js → cron-task-9ZS9bi7K.js} +11 -11
  50. package/dist/{frameView-_d2mqjjQ.js → frameView-DE83AN50.js} +15 -14
  51. package/dist/img/l_img.svg +1 -1
  52. package/dist/img/minicolors.png +0 -0
  53. package/dist/img/v_img.svg +1 -1
  54. package/dist/index-DVARtten.js +2623 -0
  55. package/dist/{layoutView-DLKVepB8.js → layoutView-D1U-c4By.js} +730 -724
  56. package/dist/{login-log-CvVnyGi3.js → login-log-kqKzKTto.js} +1 -1
  57. package/dist/{login-LREiDfFU.js → login-sPCEiTGT.js} +107 -113
  58. package/dist/{lov-view-DDrIVILB.js → lov-view-76NcYTYl.js} +5 -5
  59. package/dist/{menuInfo-B1FUV-Sk.js → menuInfo-CxjfjFpm.js} +1 -1
  60. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-Cnk3vdtD.js → menuInfo.vue_vue_type_style_index_0_lang-C2qahH3r.js} +98 -95
  61. package/dist/pda-app-BUH16bLj.js +710 -0
  62. package/dist/redirect-BqegffKC.js +15 -0
  63. package/dist/{resource-BCwx9fEv.js → resource-CCuHzoA6.js} +18 -18
  64. package/dist/{su-welcome-189A7N4r.js → su-welcome-mRArONsd.js} +133 -133
  65. package/dist/{sys-config-BZ3sejow.js → sys-config-Cvt05yF6.js} +21 -21
  66. package/dist/udp-core.css +2 -2
  67. package/dist/{utogether-r08LNiIZ.js → utogether-Dm_VBQHR.js} +6 -6
  68. package/index.ts +40 -36
  69. package/package.json +4 -2
  70. package/src/App.vue +65 -70
  71. package/src/api/index.ts +1 -1
  72. package/src/components/SuCharts/src/UserInfo.vue +78 -78
  73. package/src/components/SuScrollTree/ScrollPanel.vue +3 -3
  74. package/src/components/udp/count-down.vue +536 -0
  75. package/src/components/udp/flip-down/FlipCard/flip-card.vue +251 -0
  76. package/src/components/udp/flip-down/FlipCard/interfaces.ts +4 -0
  77. package/src/components/udp/flip-down/FlipClock/flip-clock.vue +113 -0
  78. package/src/components/udp/form-upload.vue +482 -0
  79. package/src/components/udp/form.vue +112 -0
  80. package/src/components/udp/grid.vue +495 -0
  81. package/src/components/udp/index.ts +10 -0
  82. package/src/components/udp/lov.vue +388 -0
  83. package/src/components/udp/modal-form.vue +189 -0
  84. package/src/components/udp/modal-grid.vue +288 -0
  85. package/src/components/udp/upload.vue +423 -0
  86. package/src/components/udp/utils.ts +447 -0
  87. package/src/directives/permission/index.ts +1 -1
  88. package/src/layout/components/lay-navbar/index.vue +1 -1
  89. package/src/layout/components/lay-panel/index.vue +150 -150
  90. package/src/layout/components/lay-search/index.vue +25 -25
  91. package/src/layout/components/lay-sidebar/breadCrumb.vue +1 -1
  92. package/src/layout/components/lay-tag/index.vue +625 -625
  93. package/src/layout/layoutView.vue +215 -215
  94. package/src/main.ts +25 -14
  95. package/src/plugins/i18n/en.ts +302 -289
  96. package/src/plugins/i18n/zh.ts +348 -337
  97. package/src/plugins/vxe-table/index.ts +53 -46
  98. package/src/plugins/vxe-table/render.tsx +956 -397
  99. package/src/router/index.ts +187 -183
  100. package/src/router/modules/remaining.ts +58 -83
  101. package/src/style/button.scss +85 -78
  102. package/src/style/tailwind.css +1 -68
  103. package/src/style/vxetable.scss +44 -11
  104. package/src/utils/authority/index.ts +1 -1
  105. package/src/utils/{http → udp/http}/index.ts +8 -24
  106. package/src/utils/{http → udp/http}/types.d.ts +8 -5
  107. package/src/utils/udp/useRender.ts +431 -0
  108. package/src/views/login/login-view.vue +2 -2
  109. package/src/views/organization/company/CompanyPanel.vue +259 -259
  110. package/src/views/organization/inv-org/InvOrganization.vue +1 -1
  111. package/src/views/organization/org/Org.vue +9 -5
  112. package/src/views/organization/staff/StaffInfo.vue +0 -30
  113. package/src/views/organization/staff/StaffPanel.vue +4 -3
  114. package/src/views/system/menu/AuthorityPanel.vue +2 -2
  115. package/src/views/system/menu/SystemMenu.vue +183 -191
  116. package/src/views/system/menu/menuInfo.vue +363 -368
  117. package/src/views/system/role/AuthorityInfo.vue +19 -33
  118. package/src/views/system/role/Role.vue +1 -5
  119. package/src/views/system/role/RolePanel.vue +11 -2
  120. package/src/views/system/role/UserInfo.vue +195 -193
  121. package/src/views/system/role-assign/RoleAssign.vue +57 -57
  122. package/src/views/system/role-assign/RolePanel.vue +139 -136
  123. package/src/views/system/sys/sys-config.vue +1 -1
  124. package/src/views/system/sysUser/SysUserPanel.vue +278 -278
  125. package/src/views/uapp/pda/pda-app.vue +208 -176
  126. package/src/views/udev/dict/DictView.vue +118 -106
  127. package/src/views/udev/dict/childView.vue +7 -7
  128. package/src/views/udev/lov/lov-view.vue +91 -91
  129. package/src/views/ufile/aggregation/File.vue +5 -5
  130. package/src/views/ufile/file/water-mark.vue +14 -14
  131. package/src/views/uhome/components/menu-favorite.vue +1 -1
  132. package/src/views/uhome/su-welcome.vue +4 -4
  133. package/src/views/ulogin/login.vue +15 -10
  134. package/src/views/upms/user/login-log.vue +1 -1
  135. package/src/views/urpt/design/DesignPanel.vue +507 -526
  136. package/src/views/urpt/design/ReportDesign.vue +15 -19
  137. package/src/views/urpt/static-resource/resource.vue +3 -3
  138. package/src/views/urpt/template/ReportTemplate.vue +7 -7
  139. package/types/global.d.ts +2 -2
  140. package/vite.config.ts +13 -2
  141. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-DbK-f8jH.js +0 -102
  142. package/dist/DictView-bIS5-rK-.js +0 -95
  143. package/dist/Org-kXHSjsgJ.js +0 -35
  144. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-CTIad9_Q.js +0 -126
  145. package/dist/StaffInfo-DJzvBuxy.js +0 -4
  146. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-0QUjnhjF.js +0 -289
  147. package/dist/core.umd.js +0 -173
  148. package/dist/index-BKIw8tSn.js +0 -9195
  149. package/dist/pda-app-CRhVGijN.js +0 -2209
  150. package/dist/redirect-DiaNDu8F.js +0 -15
  151. package/src/assets/images/empty.png +0 -0
  152. package/src/assets/images/logo.png +0 -0
  153. package/src/components/ReCountTo/README.md +0 -2
  154. package/src/components/ReCountTo/index.ts +0 -18
  155. package/src/components/ReCountTo/src/normal/index.tsx +0 -165
  156. package/src/components/ReCountTo/src/normal/props.ts +0 -37
  157. package/src/components/ReCountTo/src/rebound/index.tsx +0 -67
  158. package/src/components/ReCountTo/src/rebound/props.ts +0 -14
  159. package/src/components/ReCountTo/src/rebound/rebound.css +0 -77
  160. package/src/components/ReCropper/index.ts +0 -14
  161. package/src/components/ReCropper/src/index.tsx +0 -141
  162. package/src/components/ReFlicker/index.css +0 -39
  163. package/src/components/ReFlicker/index.ts +0 -50
  164. package/src/components/ReFlop/index.ts +0 -14
  165. package/src/components/ReFlop/src/Filpper.tsx +0 -99
  166. package/src/components/ReFlop/src/filpper.css +0 -184
  167. package/src/components/ReFlop/src/index.vue +0 -126
  168. package/src/components/ReFlowChart/index.ts +0 -24
  169. package/src/components/ReFlowChart/src/Control.vue +0 -139
  170. package/src/components/ReFlowChart/src/DataDialog.vue +0 -12
  171. package/src/components/ReFlowChart/src/NodePanel.vue +0 -151
  172. package/src/components/ReFlowChart/src/adpterForTurbo.ts +0 -160
  173. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.css +0 -49
  174. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.eot +0 -0
  175. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.js +0 -61
  176. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.json +0 -58
  177. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.svg +0 -47
  178. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.ttf +0 -0
  179. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.woff +0 -0
  180. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.woff2 +0 -0
  181. package/src/components/ReFlowChart/src/config.ts +0 -62
  182. package/src/components/ReSplitPane/index.css +0 -49
  183. package/src/components/ReSplitPane/index.tsx +0 -119
  184. package/src/components/ReSplitPane/resizer.css +0 -45
  185. package/src/components/ReSplitPane/resizer.tsx +0 -30
  186. package/src/components/SuCommon/card/components/Card.vue +0 -148
  187. package/src/components/SuCommon/card/components/DialogForm.vue +0 -127
  188. package/src/components/SuCommon/card/index.vue +0 -142
  189. package/src/components/SuCommon/icon-select/index.vue +0 -241
  190. package/src/components/SuCommon/table/index.vue +0 -208
  191. package/src/components/SuCommon/utils/index.ts +0 -103
  192. package/src/components/SuCommon/utils/slot.tsx +0 -50
  193. package/src/views/components/contextmenu/basic.vue +0 -74
  194. package/src/views/components/contextmenu/context-menu.vue +0 -40
  195. package/src/views/components/contextmenu/menuDynamic.vue +0 -99
  196. package/src/views/components/contextmenu/menuGroup.vue +0 -71
  197. package/src/views/components/count-to/index.vue +0 -43
  198. package/src/views/components/cropping/index.vue +0 -59
  199. package/src/views/components/cropping/picture.jpeg +0 -0
  200. package/src/views/components/split-pane/index.vue +0 -82
  201. package/src/views/components/video/index.vue +0 -57
@@ -0,0 +1,431 @@
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
+ };
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="select-none">
3
- <div class="absolute flex-c right-5 top-3">
3
+ <div class="absolute flex justify-center items-center right-5 top-3">
4
4
  <!-- 主题 -->
5
5
  <!-- <el-switch
6
6
  v-model="dataTheme"
@@ -229,7 +229,7 @@ const insertLoginInfo = username => {
229
229
  browserVersion,
230
230
  operatingSystem: getPlatform(userAgent)
231
231
  };
232
- serviceApi.post('/upms/v1/userMonitor', obj);
232
+ serviceApi.post('/upfm/v1/userMonitor', obj);
233
233
  };
234
234
 
235
235
  /** 使用公共函数,避免`removeEventListener`失效 */