hrp-ui-base 1.4.7 → 1.4.8

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 (373) hide show
  1. package/README.md +51 -51
  2. package/dist/components.cjs +1 -1
  3. package/dist/components.es.js +25 -25
  4. package/dist/style.css +1 -1
  5. package/package.json +101 -101
  6. package/packages/approval-process/.eslintrc +6 -6
  7. package/packages/approval-process/README.md +22 -22
  8. package/packages/approval-process/index.ts +65 -65
  9. package/packages/approval-process/package.json +17 -17
  10. package/packages/approval-process/packages/components/choose-member/BO/departBo.ts +8 -8
  11. package/packages/approval-process/packages/components/choose-member/BO/memberBo.ts +14 -14
  12. package/packages/approval-process/packages/components/choose-member/BO/roleBo.ts +16 -16
  13. package/packages/approval-process/packages/components/choose-member/index.vue +496 -496
  14. package/packages/approval-process/packages/components/choose-member/styles/common.scss +133 -133
  15. package/packages/approval-process/packages/components/comment/assets/download.svg +4 -4
  16. package/packages/approval-process/packages/components/comment/assets/mp3.svg +11 -11
  17. package/packages/approval-process/packages/components/comment/assets/mp4.svg +11 -11
  18. package/packages/approval-process/packages/components/comment/assets/other.svg +11 -11
  19. package/packages/approval-process/packages/components/comment/assets/pdf.svg +11 -11
  20. package/packages/approval-process/packages/components/comment/assets/ppt.svg +11 -11
  21. package/packages/approval-process/packages/components/comment/assets/preview.svg +4 -4
  22. package/packages/approval-process/packages/components/comment/assets/word.svg +11 -11
  23. package/packages/approval-process/packages/components/comment/assets/xls.svg +11 -11
  24. package/packages/approval-process/packages/components/comment/index.vue +843 -843
  25. package/packages/approval-process/packages/components/comment/modules/previewMp.vue +53 -53
  26. package/packages/approval-process/packages/components/comment/styles/comment-style.scss +303 -303
  27. package/packages/approval-process/packages/components/image-cropper/index.vue +202 -202
  28. package/packages/approval-process/packages/components/sign/index.vue +766 -766
  29. package/packages/approval-process/packages/components/sign/modules/full-screen-sign.vue +19 -19
  30. package/packages/approval-process/packages/components/urge-dialog/index.vue +120 -120
  31. package/packages/approval-process/packages/components/vue-esign/index.vue +289 -289
  32. package/packages/approval-process/packages/flow/approve-component/approve-success.vue +81 -81
  33. package/packages/approval-process/packages/flow/approve-component/route-params-error.vue +48 -48
  34. package/packages/approval-process/packages/flow/approve-component/submit-success.vue +58 -58
  35. package/packages/approval-process/packages/flow/examine-approve-itr.vue +978 -978
  36. package/packages/approval-process/packages/flow/examine-approve.vue +1065 -1065
  37. package/packages/approval-process/packages/flow/form-component/associated-approval-form/README.md +38 -38
  38. package/packages/approval-process/packages/flow/form-component/associated-approval-form/index.vue +158 -158
  39. package/packages/approval-process/packages/flow/form-component/associated-approval-form/modules/associated-approval-form-mobile.vue +297 -297
  40. package/packages/approval-process/packages/flow/form-component/associated-approval-form/modules/associated-approval-form-pc.vue +314 -314
  41. package/packages/approval-process/packages/flow/form-component/associated-approval-form/style/curd-area-mobile.scss +109 -109
  42. package/packages/approval-process/packages/flow/form-component/associated-approval-form/style/curd-area.scss +95 -95
  43. package/packages/approval-process/packages/flow/form-component/associated-approval-form/style/out-put.scss +47 -47
  44. package/packages/approval-process/packages/flow/form-component/show-sign.vue +27 -27
  45. package/packages/approval-process/packages/flow/styles/common.scss +133 -133
  46. package/packages/approval-process/packages/flow/styles/examine-approve-pc.scss +465 -465
  47. package/packages/approval-process/packages/flow/styles/examine-approve-phone.scss +292 -292
  48. package/packages/approval-process/packages/flow/styles/submit-approve-pc.scss +379 -379
  49. package/packages/approval-process/packages/flow/styles/submit-approve-phone.scss +336 -336
  50. package/packages/approval-process/packages/flow/submit-approve-itr.vue +622 -622
  51. package/packages/approval-process/packages/flow/submit-approve.vue +627 -627
  52. package/packages/approval-process/packages/flow/systemCom/BO/departBo.ts +8 -8
  53. package/packages/approval-process/packages/flow/systemCom/BO/memberBo.ts +14 -14
  54. package/packages/approval-process/packages/flow/systemCom/BO/roleBo.ts +16 -16
  55. package/packages/approval-process/packages/flow/systemCom/choose-depart.vue +398 -398
  56. package/packages/approval-process/packages/flow/systemCom/choose-member-phone.vue +514 -514
  57. package/packages/approval-process/packages/flow/systemCom/choose-member.vue +564 -564
  58. package/packages/approval-process/packages/flow/systemCom/choose-role.vue +300 -300
  59. package/packages/approval-process/packages/styles/common.scss +133 -133
  60. package/packages/approval-process/packages/styles/flex-common.scss +117 -117
  61. package/packages/approval-process/packages/styles/flexCommon.scss +72 -72
  62. package/packages/approval-process/packages/styles/main.css +216 -216
  63. package/packages/approval-process/packages/styles/router-page.scss +370 -370
  64. package/packages/approval-process/packages/styles/style-set.ts +207 -207
  65. package/packages/approval-process/packages/types.d.ts +3 -3
  66. package/packages/approval-process/packages/utils/base.ts +15 -15
  67. package/packages/approval-process/packages/utils/crypto.ts +66 -66
  68. package/packages/approval-process/packages/utils/ddUtils.ts +56 -56
  69. package/packages/approval-process/packages/utils/debounce.ts +35 -35
  70. package/packages/approval-process/packages/utils/des.js +1107 -1107
  71. package/packages/approval-process/packages/utils/download.ts +38 -38
  72. package/packages/approval-process/packages/utils/editor.ts +36 -36
  73. package/packages/approval-process/packages/utils/getEnv.ts +36 -36
  74. package/packages/approval-process/packages/utils/os.ts +20 -20
  75. package/packages/approval-process/packages/utils/path-util.ts +31 -31
  76. package/packages/approval-process/packages/utils/routerUtil.ts +304 -304
  77. package/packages/approval-process/packages/utils/string-utils.ts +13 -13
  78. package/packages/approval-process/packages/utils/throttle.ts +44 -44
  79. package/packages/approval-process/packages/utils/validate.ts +92 -92
  80. package/packages/approval-process/packages/utils/ws.ts +218 -218
  81. package/packages/approval-process/tsconfig.json +72 -72
  82. package/packages/approval-process/vite.config.ts +56 -56
  83. package/src/api/bms/dict/bo/DictConfigBO.ts +23 -23
  84. package/src/api/bms/dict/bo/DictConfigBaseVO.ts +24 -24
  85. package/src/api/bms/dict/bo/DictConfigSearchBO.ts +12 -12
  86. package/src/api/bms/dict/bo/DictImportBO.ts +6 -6
  87. package/src/api/bms/dict/bo/DictVO.ts +21 -21
  88. package/src/api/bms/dict/bo/PageBaseVO.ts +8 -8
  89. package/src/api/bms/dict/bo/TotalDictBO.ts +11 -11
  90. package/src/api/bms/dict/bo/TotalDictPageVO.ts +17 -17
  91. package/src/api/bms/dict/dict-controller.ts +78 -78
  92. package/src/api/bms/file/FileExportController.ts +19 -19
  93. package/src/api/bms/file/FileUploadController.ts +131 -131
  94. package/src/api/bms/file/bo/FileBaseInfo.ts +13 -13
  95. package/src/api/bms/file/bo/FileExportVO.ts +17 -17
  96. package/src/api/bms/file/bo/FilePreviewVO.ts +8 -8
  97. package/src/api/bms/file/bo/FileUploadInfo.ts +22 -22
  98. package/src/api/bms/file/bo/FileUrlVO.ts +10 -10
  99. package/src/api/bms/file/bo/StsTokenVO.ts +20 -20
  100. package/src/api/bms/flow/FlowCommentController.ts +50 -50
  101. package/src/api/bms/flow/FlowInstanceController.ts +179 -179
  102. package/src/api/bms/flow/FlowProcessController.ts +55 -55
  103. package/src/api/bms/flow/FlowSheetController.ts +27 -27
  104. package/src/api/bms/flow/FlowSignController.ts +76 -76
  105. package/src/api/bms/flow/bo/AssociatedApprovalBO.ts +15 -15
  106. package/src/api/bms/flow/bo/AssociatedApprovalVO.ts +35 -35
  107. package/src/api/bms/flow/bo/AuditBaseInfo.ts +39 -39
  108. package/src/api/bms/flow/bo/ButtonVo.ts +7 -7
  109. package/src/api/bms/flow/bo/DingCallbackBo.ts +13 -13
  110. package/src/api/bms/flow/bo/FlowCommentBO.ts +12 -12
  111. package/src/api/bms/flow/bo/FlowCommentVO.ts +23 -23
  112. package/src/api/bms/flow/bo/FlowInstanceBO.ts +14 -14
  113. package/src/api/bms/flow/bo/FlowNodeVO.ts +24 -24
  114. package/src/api/bms/flow/bo/FlowNoticeBO.ts +17 -17
  115. package/src/api/bms/flow/bo/FlowProcessBO.ts +13 -13
  116. package/src/api/bms/flow/bo/FlowProcessVO.ts +9 -9
  117. package/src/api/bms/flow/bo/FlowReplyVO.ts +23 -23
  118. package/src/api/bms/flow/bo/FlowSheetVO.ts +16 -16
  119. package/src/api/bms/flow/bo/InstanceBackBO.ts +9 -9
  120. package/src/api/bms/flow/bo/InstanceNodeBO.ts +13 -13
  121. package/src/api/bms/flow/bo/InstanceNodeVO.ts +21 -21
  122. package/src/api/bms/flow/bo/NodeShowVo.ts +19 -19
  123. package/src/api/bms/flow/bo/ReviewBO.ts +11 -11
  124. package/src/api/bms/flow/bo/SheetSearchBO.ts +11 -11
  125. package/src/api/bms/flow/bo/SystemVO.ts +7 -7
  126. package/src/api/bms/flow/bo/TransmitBO.ts +9 -9
  127. package/src/api/bms/flow/bo/UrgeFlowBO.ts +7 -7
  128. package/src/api/bms/flow/bo/UserBaseInfoVo.ts +13 -13
  129. package/src/api/bms/flow/bo/UserInfoVo.ts +44 -44
  130. package/src/api/bms/flow/bo/UserResultVo.ts +17 -17
  131. package/src/api/bms/flow/bo/ValueMapBo.ts +7 -7
  132. package/src/api/bms/home/HomeController.ts +106 -106
  133. package/src/api/bms/home/bo/CollectedMenuBo.ts +9 -9
  134. package/src/api/bms/home/bo/DeptBaseVo.ts +9 -9
  135. package/src/api/bms/home/bo/DomainVO.ts +13 -13
  136. package/src/api/bms/home/bo/FunPermission.ts +17 -17
  137. package/src/api/bms/home/bo/GroupVO.ts +10 -10
  138. package/src/api/bms/home/bo/HomeMenu.ts +22 -22
  139. package/src/api/bms/home/bo/HomeMenuVo.ts +11 -11
  140. package/src/api/bms/home/bo/PersonalizationBo.ts +17 -17
  141. package/src/api/bms/home/bo/PersonalizationVo.ts +19 -19
  142. package/src/api/bms/home/bo/PhoneMenu.ts +14 -14
  143. package/src/api/bms/home/bo/SearchMenuVo.ts +10 -10
  144. package/src/api/bms/home/bo/UserBaseInfoVo.ts +11 -11
  145. package/src/api/bms/permission-manage/PermissionController.ts +133 -133
  146. package/src/api/bms/permission-manage/bo/DataScopeConfig.ts +17 -17
  147. package/src/api/bms/permission-manage/bo/DataScopePoint.ts +15 -15
  148. package/src/api/bms/permission-manage/bo/DeptBaseVo.ts +9 -9
  149. package/src/api/bms/permission-manage/bo/FunPermissionConfig.ts +18 -18
  150. package/src/api/bms/permission-manage/bo/FunPointVo.ts +9 -9
  151. package/src/api/bms/permission-manage/bo/PermissionGroupBo.ts +11 -11
  152. package/src/api/bms/permission-manage/bo/PermissionGroupMemberVo.ts +18 -18
  153. package/src/api/bms/permission-manage/bo/PermissionGroupPageVo.ts +17 -17
  154. package/src/api/bms/permission-manage/bo/PermissionGroupVo.ts +17 -17
  155. package/src/api/bms/permission-manage/bo/RoleBaseVo.ts +9 -9
  156. package/src/api/bms/permission-manage/bo/TheFirstStepVo.ts +13 -13
  157. package/src/api/bms/permission-manage/bo/TheSecondStepVo.ts +14 -14
  158. package/src/api/bms/permission-manage/bo/UserBaseInfoVo.ts +11 -11
  159. package/src/api/bms/tabulation/TabulationController.ts +78 -78
  160. package/src/api/bms/tabulation/bo/FieldConditionBO.ts +10 -10
  161. package/src/api/bms/tabulation/bo/FieldConditionVO.ts +10 -10
  162. package/src/api/bms/tabulation/bo/OperateButtonVO.ts +9 -9
  163. package/src/api/bms/tabulation/bo/PersonViewVO.ts +33 -33
  164. package/src/api/bms/tabulation/bo/SearchVO.ts +33 -33
  165. package/src/api/bms/tabulation/bo/TabulationBO.ts +14 -14
  166. package/src/api/bms/tabulation/bo/ViewSortBO.ts +7 -7
  167. package/src/api/bms/tabulation/bo/ViewVO.ts +12 -12
  168. package/src/api/common/FileBaseInfo.ts +10 -10
  169. package/src/api/common/ResponseBean.ts +9 -9
  170. package/src/api/common/ResponseBeanList.ts +15 -15
  171. package/src/api/common/ResponseBeanTablePage.ts +21 -21
  172. package/src/api/common/TableQueryCriteriaVO.ts +10 -10
  173. package/src/api/common/bo/PageResult.ts +22 -22
  174. package/src/api/hrms/dept/bo/DeptBaseVo.ts +6 -6
  175. package/src/api/hrms/dept/bo/DeptTreeVo.ts +23 -23
  176. package/src/api/hrms/dept/bo/DeptUserVo.ts +9 -9
  177. package/src/api/hrms/dept/bo/DeptUsersVo.ts +10 -10
  178. package/src/api/hrms/dept/bo/DeptVo.ts +19 -19
  179. package/src/api/hrms/dept/bo/UserBaseInfoVo.ts +7 -7
  180. package/src/api/hrms/dept/deptController.ts +100 -100
  181. package/src/api/hrms/role/bo/RoleBaseVo.ts +6 -6
  182. package/src/api/hrms/role/bo/RoleGroupVo.ts +11 -11
  183. package/src/api/hrms/role/bo/RoleVo.ts +22 -22
  184. package/src/api/hrms/role/roleController.ts +19 -19
  185. package/src/api/hrms/user/bo/UserBaseInfoVo.ts +11 -11
  186. package/src/api/hrms/user/bo/UserCardVO.ts +13 -13
  187. package/src/api/hrms/user/bo/UserDeptBO.ts +13 -13
  188. package/src/api/hrms/user/bo/UserRoleBO.ts +11 -11
  189. package/src/api/hrms/user/bo/UserVO.ts +23 -23
  190. package/src/api/hrms/user/userController.ts +86 -86
  191. package/src/api/index.ts +9 -9
  192. package/src/api/notice/NoticeController.ts +73 -73
  193. package/src/api/notice/bo/NoticePageBO.ts +24 -24
  194. package/src/api/notice/bo/NoticeVO.ts +31 -31
  195. package/src/api/work-order-pc/flow/Bo/ValueMapBo.ts +7 -7
  196. package/src/api/work-order-pc/flow/ItrFlowProcessController.ts +41 -41
  197. package/src/api/work-order-pc/flow/Vo/FlowNodeVO.ts +24 -24
  198. package/src/api/work-order-pc/flow/Vo/UserInfoVo.ts +44 -44
  199. package/src/assets/layout/avatar-default.svg +6 -6
  200. package/src/assets/layout/collect-active.svg +7 -7
  201. package/src/assets/layout/collect-default.svg +7 -7
  202. package/src/assets/layout/download-active.svg +8 -8
  203. package/src/assets/layout/download-default.svg +8 -8
  204. package/src/assets/layout/export-dark.svg +7 -7
  205. package/src/assets/layout/export-default.svg +7 -7
  206. package/src/assets/layout/font-active.svg +6 -6
  207. package/src/assets/layout/font-default.svg +6 -6
  208. package/src/assets/layout/help-active.svg +10 -10
  209. package/src/assets/layout/help-default.svg +10 -10
  210. package/src/assets/layout/home-active.svg +6 -6
  211. package/src/assets/layout/home.svg +6 -6
  212. package/src/assets/layout/menu-expand.svg +6 -6
  213. package/src/assets/layout/menu-position-active.svg +6 -6
  214. package/src/assets/layout/menu-position-default.svg +6 -6
  215. package/src/assets/layout/message-active.svg +9 -9
  216. package/src/assets/layout/message-default.svg +9 -9
  217. package/src/assets/layout/moon.svg +8 -8
  218. package/src/assets/layout/router-all-dark.svg +11 -11
  219. package/src/assets/layout/router-all-default.svg +17 -17
  220. package/src/assets/layout/search-active.svg +20 -20
  221. package/src/assets/layout/search-default.svg +20 -20
  222. package/src/assets/layout/star-default.svg +3 -3
  223. package/src/assets/layout/sun-active.svg +6 -6
  224. package/src/assets/layout/sun-default.svg +6 -6
  225. package/src/assets/layout/switch-moon.svg +3 -3
  226. package/src/assets/layout/switch-sun.svg +41 -41
  227. package/src/assets/layout/todo-active.svg +12 -12
  228. package/src/assets/layout/todo-default.svg +12 -12
  229. package/src/assets/layout/user-dark.svg +13 -13
  230. package/src/assets/layout/user-default.svg +13 -13
  231. package/src/assets/no-permiss-dark.svg +16 -16
  232. package/src/assets/no-permiss-day.svg +16 -16
  233. package/src/assets/process/drawer/manyLevel1close.svg +9 -9
  234. package/src/assets/process/drawer/manyLevel1open.svg +6 -6
  235. package/src/assets/process/drawer/manyLevel2close.svg +6 -6
  236. package/src/assets/process/drawer/manyLevel2open.svg +6 -6
  237. package/src/assets/table-delete/table-delete.svg +2 -2
  238. package/src/components/annex-img-upload/assets/download.svg +4 -4
  239. package/src/components/annex-img-upload/assets/mp3.svg +11 -11
  240. package/src/components/annex-img-upload/assets/mp4.svg +11 -11
  241. package/src/components/annex-img-upload/assets/other.svg +11 -11
  242. package/src/components/annex-img-upload/assets/pdf.svg +11 -11
  243. package/src/components/annex-img-upload/assets/ppt.svg +11 -11
  244. package/src/components/annex-img-upload/assets/preview.svg +4 -4
  245. package/src/components/annex-img-upload/assets/word.svg +11 -11
  246. package/src/components/annex-img-upload/assets/xls.svg +11 -11
  247. package/src/components/annex-img-upload/index.vue +609 -609
  248. package/src/components/annex-img-upload/modules/previewMp.vue +53 -53
  249. package/src/components/annex-upload/assets/download.svg +4 -4
  250. package/src/components/annex-upload/assets/mp3.svg +11 -11
  251. package/src/components/annex-upload/assets/mp4.svg +11 -11
  252. package/src/components/annex-upload/assets/other.svg +11 -11
  253. package/src/components/annex-upload/assets/pdf.svg +11 -11
  254. package/src/components/annex-upload/assets/ppt.svg +11 -11
  255. package/src/components/annex-upload/assets/preview.svg +4 -4
  256. package/src/components/annex-upload/assets/word.svg +11 -11
  257. package/src/components/annex-upload/assets/xls.svg +11 -11
  258. package/src/components/annex-upload/index.vue +800 -800
  259. package/src/components/annex-upload/modules/previewMp.vue +53 -53
  260. package/src/components/annex-upload-weijian/assets/download.svg +4 -4
  261. package/src/components/annex-upload-weijian/assets/mp3.svg +11 -11
  262. package/src/components/annex-upload-weijian/assets/mp4.svg +11 -11
  263. package/src/components/annex-upload-weijian/assets/other.svg +11 -11
  264. package/src/components/annex-upload-weijian/assets/pdf.svg +11 -11
  265. package/src/components/annex-upload-weijian/assets/ppt.svg +11 -11
  266. package/src/components/annex-upload-weijian/assets/preview.svg +4 -4
  267. package/src/components/annex-upload-weijian/assets/word.svg +11 -11
  268. package/src/components/annex-upload-weijian/assets/xls.svg +11 -11
  269. package/src/components/annex-upload-weijian/index.vue +772 -772
  270. package/src/components/annex-upload-weijian/modules/previewMp.vue +53 -53
  271. package/src/components/base-layout/index.vue +199 -199
  272. package/src/components/button.vue +14 -14
  273. package/src/components/layout/ApprovalCenterDrawer.vue +231 -231
  274. package/src/components/layout/ExportCenterDrawer.vue +164 -164
  275. package/src/components/layout/LayoutContainer.vue +542 -542
  276. package/src/components/layout/SysHeader.vue +90 -90
  277. package/src/components/layout/SysHeaderLeft.vue +114 -114
  278. package/src/components/layout/SysHeaderRight.vue +112 -112
  279. package/src/components/layout/SysHeaderTabs.vue +289 -289
  280. package/src/components/layout/components/avatar-component.vue +77 -77
  281. package/src/components/layout/components/dark-component.vue +82 -82
  282. package/src/components/layout/components/download-component.vue +49 -49
  283. package/src/components/layout/components/font-size-component.vue +66 -66
  284. package/src/components/layout/components/menu-position-component.vue +97 -97
  285. package/src/components/layout/components/message-component.vue +64 -64
  286. package/src/components/layout/components/todo-component.vue +55 -55
  287. package/src/components/layout/index.ts +34 -34
  288. package/src/components/layout/message/message-dictionary.ts +27 -27
  289. package/src/components/layout/message/message-icon//345/205/250/351/203/250/351/200/232/347/237/245-/350/223/235.svg +8 -8
  290. package/src/components/layout/message/message-icon//345/205/250/351/203/250/351/200/232/347/237/245-/351/273/221.svg +8 -8
  291. package/src/components/layout/message/message-icon//345/205/250/351/203/250/351/200/232/347/237/245.svg +8 -8
  292. package/src/components/layout/message/message-icon//345/205/254/345/221/212/351/200/232/347/237/245-/350/223/235.svg +12 -12
  293. package/src/components/layout/message/message-icon//345/205/254/345/221/212/351/200/232/347/237/245-/351/273/221.svg +12 -12
  294. package/src/components/layout/message/message-icon//345/205/254/345/221/212/351/200/232/347/237/245.svg +12 -12
  295. package/src/components/layout/message/message-icon//345/256/241/346/211/271/351/200/232/347/237/245-/350/223/235.svg +8 -8
  296. package/src/components/layout/message/message-icon//345/256/241/346/211/271/351/200/232/347/237/245-/351/273/221.svg +8 -8
  297. package/src/components/layout/message/message-icon//345/256/241/346/211/271/351/200/232/347/237/245.svg +8 -8
  298. package/src/components/layout/message/message-icon//345/257/274/345/207/272/351/200/232/347/237/245-/350/223/235.svg +13 -13
  299. package/src/components/layout/message/message-icon//345/257/274/345/207/272/351/200/232/347/237/245-/351/273/221.svg +13 -13
  300. package/src/components/layout/message/message-icon//345/257/274/345/207/272/351/200/232/347/237/245.svg +13 -13
  301. package/src/components/layout/message/message-icon//346/234/252/350/257/273/351/200/232/347/237/245-/350/223/235.svg +11 -11
  302. package/src/components/layout/message/message-icon//346/234/252/350/257/273/351/200/232/347/237/245-/351/273/221.svg +11 -11
  303. package/src/components/layout/message/message-icon//346/234/252/350/257/273/351/200/232/347/237/245.svg +11 -11
  304. package/src/components/layout/message/message-icon//347/251/272/347/212/266/346/200/201.svg +17 -17
  305. package/src/components/layout/message/message-icon//347/263/273/347/273/237/351/200/232/347/237/245-/350/223/235.svg +13 -13
  306. package/src/components/layout/message/message-icon//347/263/273/347/273/237/351/200/232/347/237/245-/351/273/221.svg +13 -13
  307. package/src/components/layout/message/message-icon//347/263/273/347/273/237/351/200/232/347/237/245.svg +13 -13
  308. package/src/components/layout/message/message-notification-drawer.vue +533 -533
  309. package/src/components/layout/personal-sign/ImageCropper.vue +187 -187
  310. package/src/components/layout/personal-sign/PersonalSignDialog.vue +658 -658
  311. package/src/components/layout/personalization-guide-dialog.vue +255 -255
  312. package/src/components/layout/plugin.ts +32 -32
  313. package/src/components/layout/sideMenu-global.scss +115 -115
  314. package/src/components/layout/sideMenu.scss +312 -312
  315. package/src/components/layout/sideMenu.vue +541 -541
  316. package/src/components/layout/sideMenuSonList.vue +185 -185
  317. package/src/components/layout/stores/index.ts +5 -5
  318. package/src/components/layout/stores/useLayoutConfigStore.ts +231 -231
  319. package/src/components/layout/stores/useLayoutMenuStore.ts +232 -232
  320. package/src/components/layout/stores/useLayoutNoticeStore.ts +77 -77
  321. package/src/components/layout/stores/useLayoutTabsStore.ts +367 -367
  322. package/src/components/layout/styles/icon.scss +72 -72
  323. package/src/components/layout/types.ts +98 -98
  324. package/src/components/layout/utils/redirect.ts +144 -144
  325. package/src/components/list-search-content/components/index.ts +11 -11
  326. package/src/components/list-search-content/components/search-date-range.vue +74 -74
  327. package/src/components/list-search-content/components/search-date-time-range.vue +48 -48
  328. package/src/components/list-search-content/components/search-date.vue +97 -97
  329. package/src/components/list-search-content/components/search-input-number.vue +59 -59
  330. package/src/components/list-search-content/components/search-input.vue +46 -46
  331. package/src/components/list-search-content/components/search-multiple_select.vue +69 -69
  332. package/src/components/list-search-content/components/search-select.vue +64 -64
  333. package/src/components/list-search-content/index.vue +803 -803
  334. package/src/components/list-search-content/modules/add-views-package-dialog.vue +147 -147
  335. package/src/components/list-search-content/modules/search-condition-area.vue +252 -252
  336. package/src/components/list-search-content/modules/views-package-manage-dialog.vue +265 -265
  337. package/src/components/switch.vue +16 -16
  338. package/src/components.ts +67 -67
  339. package/src/enum/system/StorageEnum.ts +4 -4
  340. package/src/global.d.ts +19 -19
  341. package/src/index.ts +4 -4
  342. package/src/init.ts +37 -37
  343. package/src/styles/common.scss +133 -133
  344. package/src/styles/flex-common.scss +117 -117
  345. package/src/styles/flexCommon.scss +72 -72
  346. package/src/styles/main.css +277 -277
  347. package/src/styles/router-page.scss +370 -370
  348. package/src/styles/style-set.ts +809 -809
  349. package/src/utils/HttpUtil.ts +427 -427
  350. package/src/utils/base.ts +47 -47
  351. package/src/utils/cell-style.ts +11 -11
  352. package/src/utils/crypto.ts +98 -98
  353. package/src/utils/dd-utils.ts +157 -157
  354. package/src/utils/debounce.ts +35 -35
  355. package/src/utils/debounceleading.ts +48 -48
  356. package/src/utils/download.ts +38 -38
  357. package/src/utils/exitLogin.ts +58 -58
  358. package/src/utils/filter-key.ts +4 -4
  359. package/src/utils/formatter-handler.ts +12 -12
  360. package/src/utils/get-dict.ts +26 -26
  361. package/src/utils/get-env.ts +36 -36
  362. package/src/utils/login-path.ts +35 -35
  363. package/src/utils/path-utils.ts +31 -31
  364. package/src/utils/permit-utils.ts +68 -68
  365. package/src/utils/router-utils.ts +321 -321
  366. package/src/utils/string-utils.ts +166 -166
  367. package/src/utils/style-set.ts +750 -750
  368. package/src/utils/throttle.ts +62 -62
  369. package/src/utils/transform-data.ts +31 -31
  370. package/src/utils/validate.ts +92 -92
  371. package/src/utils/ws.ts +218 -218
  372. package/src/utils/wujie-son.ts +50 -50
  373. package/src/utils.ts +24 -24
@@ -1,100 +1,100 @@
1
- import HttpUtil from "../../../utils/HttpUtil";
2
- import type { ResponseBean } from "../../index";
3
- import DeptBaseVo from "../../hrms/dept/bo/DeptBaseVo";
4
- import DeptVo from "../../hrms/dept/bo/DeptVo";
5
- import DeptTreeVo from "../../hrms/dept/bo/DeptTreeVo";
6
- import DeptUsersVo from "../../hrms/dept/bo/DeptUsersVo";
7
- import DeptUserVo from "../../hrms/dept/bo/DeptUserVo";
8
- // import DeptController from "hrp-ui-base/api/hrms/dept/deptController"
9
- export default class DeptController {
10
- // 模糊查询部门列表
11
- static getDeptListByDeptName(
12
- deptName: string
13
- ): Promise<ResponseBean<DeptBaseVo[]>> {
14
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-dept-name", {
15
- deptName,
16
- });
17
- }
18
- // 获得某一部门的下一级部门
19
- static getDeptListByParentId(
20
- deptId: string
21
- ): Promise<ResponseBean<DeptVo[]>> {
22
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-parent-id", {
23
- deptId,
24
- });
25
- }
26
- // 获得某一部门的下一级部门-------带版本
27
- static getDeptListByParentIdAndVersion(
28
- deptId: string, version: string
29
- ): Promise<ResponseBean<DeptVo[]>> {
30
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-parent-id-and-version", {
31
- deptId,
32
- version
33
- });
34
- }
35
- // 获得所有部门(树状)
36
- static getDeptTreeByManager(): Promise<ResponseBean<DeptTreeVo[]>> {
37
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-tree-by-manager");
38
- }
39
- // 获得所有部门(树状)
40
- static getDeptTreeDetail(): Promise<ResponseBean<DeptTreeVo[]>> {
41
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-tree-detail");
42
- }
43
- // 获得所有部门(树状)
44
- static getDeptTreeDetailTree(): Promise<ResponseBean<DeptTreeVo[]>> {
45
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-tree-detail-tree");
46
- }
47
- // 获得某一部门的下一级部门以及人员
48
- static getDeptUserListByParentId(
49
- deptId: string
50
- ): Promise<ResponseBean<DeptUserVo>> {
51
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-user-list-by-parent-id", { deptId });
52
- }
53
- // 获得当前登录人所在部门
54
- static getDeptListByLocal(): Promise<ResponseBean<DeptVo[]>> {
55
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-local");
56
- }
57
-
58
- // 获得人员所在部门
59
- static getDeptListByUserId(userId: string): Promise<ResponseBean<DeptVo[]>> {
60
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-user-id", { userId });
61
- }
62
- // 获得人员所在部门历史
63
- static getDeptListByUserIdHistory(userId: string): Promise<ResponseBean<DeptVo[]>> {
64
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-user-id-history", { userId });
65
- }
66
- // 树形返回部门列表
67
- static buildDeptTreeSelect(): Promise<ResponseBean<DeptVo[]>> {
68
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/build-dept-tree-select");
69
- }
70
- // 获得部门的下一级部门以及对应部门的人员
71
- static getDeptListAndUserByParentId(
72
- deptId: string
73
- ): Promise<ResponseBean<DeptUsersVo[]>> {
74
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-and-user-by-parent-id", { deptId });
75
- }
76
- // 获得当前人员管理的部门
77
- static getDeptListByManager(): Promise<ResponseBean<DeptVo[]>> {
78
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-manager");
79
- }
80
- // 获得所有部门列表
81
- static selectDeptIdListByCorpId(): Promise<ResponseBean<string[]>> {
82
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/select-dept-id-list-by-corp-id");
83
- }
84
- // 根据部门id集合获得多个部门信息
85
- static getDeptListByIds(
86
- deptIds: string[]
87
- ): Promise<ResponseBean<DeptBaseVo[]>> {
88
- return HttpUtil.postJson("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-ids", deptIds);
89
- }
90
- // 获得租户所有部门信息
91
- static getAllDeptInfo(
92
- ): Promise<ResponseBean<{ id: string, name: string }[]>> {
93
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-all-dept-info");
94
- }
95
-
96
- // 生成邀请码
97
- static generateInvitationCode(): Promise<ResponseBean<string>> {
98
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/generate-invitation-code");
99
- }
100
- }
1
+ import HttpUtil from "../../../utils/HttpUtil";
2
+ import type { ResponseBean } from "../../index";
3
+ import DeptBaseVo from "../../hrms/dept/bo/DeptBaseVo";
4
+ import DeptVo from "../../hrms/dept/bo/DeptVo";
5
+ import DeptTreeVo from "../../hrms/dept/bo/DeptTreeVo";
6
+ import DeptUsersVo from "../../hrms/dept/bo/DeptUsersVo";
7
+ import DeptUserVo from "../../hrms/dept/bo/DeptUserVo";
8
+ // import DeptController from "hrp-ui-base/api/hrms/dept/deptController"
9
+ export default class DeptController {
10
+ // 模糊查询部门列表
11
+ static getDeptListByDeptName(
12
+ deptName: string
13
+ ): Promise<ResponseBean<DeptBaseVo[]>> {
14
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-dept-name", {
15
+ deptName,
16
+ });
17
+ }
18
+ // 获得某一部门的下一级部门
19
+ static getDeptListByParentId(
20
+ deptId: string
21
+ ): Promise<ResponseBean<DeptVo[]>> {
22
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-parent-id", {
23
+ deptId,
24
+ });
25
+ }
26
+ // 获得某一部门的下一级部门-------带版本
27
+ static getDeptListByParentIdAndVersion(
28
+ deptId: string, version: string
29
+ ): Promise<ResponseBean<DeptVo[]>> {
30
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-parent-id-and-version", {
31
+ deptId,
32
+ version
33
+ });
34
+ }
35
+ // 获得所有部门(树状)
36
+ static getDeptTreeByManager(): Promise<ResponseBean<DeptTreeVo[]>> {
37
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-tree-by-manager");
38
+ }
39
+ // 获得所有部门(树状)
40
+ static getDeptTreeDetail(): Promise<ResponseBean<DeptTreeVo[]>> {
41
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-tree-detail");
42
+ }
43
+ // 获得所有部门(树状)
44
+ static getDeptTreeDetailTree(): Promise<ResponseBean<DeptTreeVo[]>> {
45
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-tree-detail-tree");
46
+ }
47
+ // 获得某一部门的下一级部门以及人员
48
+ static getDeptUserListByParentId(
49
+ deptId: string
50
+ ): Promise<ResponseBean<DeptUserVo>> {
51
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-user-list-by-parent-id", { deptId });
52
+ }
53
+ // 获得当前登录人所在部门
54
+ static getDeptListByLocal(): Promise<ResponseBean<DeptVo[]>> {
55
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-local");
56
+ }
57
+
58
+ // 获得人员所在部门
59
+ static getDeptListByUserId(userId: string): Promise<ResponseBean<DeptVo[]>> {
60
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-user-id", { userId });
61
+ }
62
+ // 获得人员所在部门历史
63
+ static getDeptListByUserIdHistory(userId: string): Promise<ResponseBean<DeptVo[]>> {
64
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-user-id-history", { userId });
65
+ }
66
+ // 树形返回部门列表
67
+ static buildDeptTreeSelect(): Promise<ResponseBean<DeptVo[]>> {
68
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/build-dept-tree-select");
69
+ }
70
+ // 获得部门的下一级部门以及对应部门的人员
71
+ static getDeptListAndUserByParentId(
72
+ deptId: string
73
+ ): Promise<ResponseBean<DeptUsersVo[]>> {
74
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-and-user-by-parent-id", { deptId });
75
+ }
76
+ // 获得当前人员管理的部门
77
+ static getDeptListByManager(): Promise<ResponseBean<DeptVo[]>> {
78
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-manager");
79
+ }
80
+ // 获得所有部门列表
81
+ static selectDeptIdListByCorpId(): Promise<ResponseBean<string[]>> {
82
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/select-dept-id-list-by-corp-id");
83
+ }
84
+ // 根据部门id集合获得多个部门信息
85
+ static getDeptListByIds(
86
+ deptIds: string[]
87
+ ): Promise<ResponseBean<DeptBaseVo[]>> {
88
+ return HttpUtil.postJson("/hrms/human-resources/organization-manage/organization-manage/dept/get-dept-list-by-ids", deptIds);
89
+ }
90
+ // 获得租户所有部门信息
91
+ static getAllDeptInfo(
92
+ ): Promise<ResponseBean<{ id: string, name: string }[]>> {
93
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/get-all-dept-info");
94
+ }
95
+
96
+ // 生成邀请码
97
+ static generateInvitationCode(): Promise<ResponseBean<string>> {
98
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/dept/generate-invitation-code");
99
+ }
100
+ }
@@ -1,6 +1,6 @@
1
- export default class {
2
- /** 角色id */
3
- roleId: string = "";
4
- /** 角色名字 */
5
- roleName: string = "";
6
- }
1
+ export default class {
2
+ /** 角色id */
3
+ roleId: string = "";
4
+ /** 角色名字 */
5
+ roleName: string = "";
6
+ }
@@ -1,11 +1,11 @@
1
- import RoleVo from "./RoleVo";
2
- export default class {
3
- //@Schema(description = "群组id")
4
- groupId: string = "";
5
-
6
- //@Schema(description = "群组名")
7
- groupName: string = "";
8
-
9
- //@Schema(description = "下级角色名")
10
- roleVoList: RoleVo[] = [];
11
- }
1
+ import RoleVo from "./RoleVo";
2
+ export default class {
3
+ //@Schema(description = "群组id")
4
+ groupId: string = "";
5
+
6
+ //@Schema(description = "群组名")
7
+ groupName: string = "";
8
+
9
+ //@Schema(description = "下级角色名")
10
+ roleVoList: RoleVo[] = [];
11
+ }
@@ -1,22 +1,22 @@
1
- export default class {
2
- /** description = "角色名")*/
3
- roleName: string = "";
4
-
5
- /** description = "角色id")*/
6
- roleId: string = "";
7
-
8
- /**description = "角色组id") */
9
- roleGroupId: string = "";
10
-
11
- /** description = "角色组名称")*/
12
- roleGroupName: string = "";
13
-
14
- /** description = "群组id")*/
15
- groupId: string = "";
16
-
17
- /** description = "群组名")*/
18
- groupName: string = "";
19
-
20
- /** description = "区分角色组和角色的标志")*/
21
- flag: string = "";
22
- }
1
+ export default class {
2
+ /** description = "角色名")*/
3
+ roleName: string = "";
4
+
5
+ /** description = "角色id")*/
6
+ roleId: string = "";
7
+
8
+ /**description = "角色组id") */
9
+ roleGroupId: string = "";
10
+
11
+ /** description = "角色组名称")*/
12
+ roleGroupName: string = "";
13
+
14
+ /** description = "群组id")*/
15
+ groupId: string = "";
16
+
17
+ /** description = "群组名")*/
18
+ groupName: string = "";
19
+
20
+ /** description = "区分角色组和角色的标志")*/
21
+ flag: string = "";
22
+ }
@@ -1,19 +1,19 @@
1
- import HttpUtil from "../../../utils/HttpUtil";
2
- import type { ResponseBean, ResponseBeanList, ResponseBeanTablePage, TableQueryCriteriaVO } from "../../index";
3
-
4
- import RoleBaseVo from "../../hrms/role/bo/RoleBaseVo";
5
- import RoleGroupVo from "../../hrms/role/bo/RoleGroupVo";
6
- // import RoleController from "hrp-ui-base/api/hrms/role/roleController"
7
-
8
- export default class RoleController {
9
- // 根据角色名模糊查角色信息
10
- static selectRoleByName(name: string): Promise<ResponseBean<RoleBaseVo[]>> {
11
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/role/select-role-by-name", {
12
- name,
13
- });
14
- }
15
- // 获得下级角色组(包含角色)
16
- static getRoleGroupListNew(): Promise<ResponseBean<RoleGroupVo[]>> {
17
- return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/role/get-role-group-list-new");
18
- }
19
- }
1
+ import HttpUtil from "../../../utils/HttpUtil";
2
+ import type { ResponseBean, ResponseBeanList, ResponseBeanTablePage, TableQueryCriteriaVO } from "../../index";
3
+
4
+ import RoleBaseVo from "../../hrms/role/bo/RoleBaseVo";
5
+ import RoleGroupVo from "../../hrms/role/bo/RoleGroupVo";
6
+ // import RoleController from "hrp-ui-base/api/hrms/role/roleController"
7
+
8
+ export default class RoleController {
9
+ // 根据角色名模糊查角色信息
10
+ static selectRoleByName(name: string): Promise<ResponseBean<RoleBaseVo[]>> {
11
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/role/select-role-by-name", {
12
+ name,
13
+ });
14
+ }
15
+ // 获得下级角色组(包含角色)
16
+ static getRoleGroupListNew(): Promise<ResponseBean<RoleGroupVo[]>> {
17
+ return HttpUtil.get("/hrms/human-resources/organization-manage/organization-manage/role/get-role-group-list-new");
18
+ }
19
+ }
@@ -1,11 +1,11 @@
1
- /**用户实体类 */
2
- export default class {
3
- /**用户id */
4
- userId: string = "";
5
- /**用户名称 */
6
- userName: string = "";
7
- /**头像 */
8
- avatar: string = "";
9
- /**部门负责人 */
10
- deptLeader: boolean = false;
11
- }
1
+ /**用户实体类 */
2
+ export default class {
3
+ /**用户id */
4
+ userId: string = "";
5
+ /**用户名称 */
6
+ userName: string = "";
7
+ /**头像 */
8
+ avatar: string = "";
9
+ /**部门负责人 */
10
+ deptLeader: boolean = false;
11
+ }
@@ -1,14 +1,14 @@
1
- export default class UserCardVO {
2
- /**机构名称 */
3
- orgName: string = "";
4
- /**姓名 */
5
- userName: string = "";
6
- /**岗位 */
7
- jobName: string = "";
8
- /**部门 */
9
- deptName: string = "";
10
- /**直属主管 */
11
- managerName: string = "";
12
- /**入职时间 */
13
- hireDate: string = "";
1
+ export default class UserCardVO {
2
+ /**机构名称 */
3
+ orgName: string = "";
4
+ /**姓名 */
5
+ userName: string = "";
6
+ /**岗位 */
7
+ jobName: string = "";
8
+ /**部门 */
9
+ deptName: string = "";
10
+ /**直属主管 */
11
+ managerName: string = "";
12
+ /**入职时间 */
13
+ hireDate: string = "";
14
14
  }
@@ -1,13 +1,13 @@
1
- /**用户部门信息 */
2
- export default class {
3
- /**部门id */
4
- deptId: string = "";
5
- /**用户名 */
6
- userName: string = "";
7
- /**租户id */
8
- tenantId: string = "";
9
- /**当前页面数据量 */
10
- pageSize: number = 10;
11
- /**当前页码 */
12
- pageNum: number = 1;
13
- }
1
+ /**用户部门信息 */
2
+ export default class {
3
+ /**部门id */
4
+ deptId: string = "";
5
+ /**用户名 */
6
+ userName: string = "";
7
+ /**租户id */
8
+ tenantId: string = "";
9
+ /**当前页面数据量 */
10
+ pageSize: number = 10;
11
+ /**当前页码 */
12
+ pageNum: number = 1;
13
+ }
@@ -1,11 +1,11 @@
1
- /**用户角色信息 */
2
- export default class {
3
- /**角色id */
4
- roleId: string = "";
5
- /**用户名 */
6
- userName: string = "";
7
- /**当前页面数据量 */
8
- pageSize: number = 10;
9
- /**当前页码 */
10
- pageNum: number = 1;
11
- }
1
+ /**用户角色信息 */
2
+ export default class {
3
+ /**角色id */
4
+ roleId: string = "";
5
+ /**用户名 */
6
+ userName: string = "";
7
+ /**当前页面数据量 */
8
+ pageSize: number = 10;
9
+ /**当前页码 */
10
+ pageNum: number = 1;
11
+ }
@@ -1,23 +1,23 @@
1
- /**用户角色信息 */
2
- export default class {
3
- // 用户id
4
- userId: string = "";
5
-
6
- // 用户名称
7
- userName: string = "";
8
-
9
- // 头像
10
- avatar: string = "";
11
-
12
- // 部门
13
- deptName: string = "";
14
-
15
- // 角色名称
16
- roleName: string = "";
17
-
18
- // 手机号
19
- phone: string = "";
20
-
21
- // 管理范围
22
- manageScope: string = "";
23
- }
1
+ /**用户角色信息 */
2
+ export default class {
3
+ // 用户id
4
+ userId: string = "";
5
+
6
+ // 用户名称
7
+ userName: string = "";
8
+
9
+ // 头像
10
+ avatar: string = "";
11
+
12
+ // 部门
13
+ deptName: string = "";
14
+
15
+ // 角色名称
16
+ roleName: string = "";
17
+
18
+ // 手机号
19
+ phone: string = "";
20
+
21
+ // 管理范围
22
+ manageScope: string = "";
23
+ }