@jiangood/springboot-admin-starter 0.0.3 → 0.0.4

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 (266) hide show
  1. package/config/dist/config.js +32 -0
  2. package/config/dist/index.js +0 -1
  3. package/config/dist/plugins/form-plugin.js +2 -2
  4. package/package.json +12 -10
  5. package/src/forms/demoForm.jsx +5 -5
  6. package/src/framework/components/DownloadFileButton.jsx +2 -2
  7. package/src/framework/components/Ellipsis.jsx +2 -2
  8. package/src/framework/components/LinkButton.d.ts +4 -4
  9. package/src/framework/components/LinkButton.jsx +6 -9
  10. package/src/framework/components/Page/index.jsx +2 -2
  11. package/src/framework/components/PageLoading.tsx +27 -0
  12. package/src/framework/components/ProTable/components/ToolBar/index.jsx +6 -7
  13. package/src/framework/components/ProTable/index.d.ts +5 -1
  14. package/src/framework/components/ProTable/index.jsx +4 -6
  15. package/src/framework/components/ProTable/index.less +0 -1
  16. package/src/framework/components/ValueType/registry.jsx +9 -20
  17. package/src/framework/components/{index.js → index.ts} +2 -10
  18. package/src/framework/components/system/ButtonList.jsx +35 -0
  19. package/src/framework/components/system/HasPerm.tsx +14 -0
  20. package/src/framework/components/system/index.tsx +29 -0
  21. package/src/framework/components/view/ViewBooleanEnableDisable.tsx +20 -0
  22. package/src/framework/components/view/ViewEllipsis.jsx +2 -2
  23. package/src/framework/components/view/ViewFile.jsx +1 -2
  24. package/src/framework/components/view/ViewImage.jsx +2 -3
  25. package/src/framework/components/view/ViewText.tsx +16 -0
  26. package/src/framework/components/view/{index.js → index.ts} +0 -2
  27. package/src/framework/field-components/FieldBoolean.d.ts +13 -0
  28. package/src/framework/field-components/FieldBoolean.jsx +76 -0
  29. package/src/framework/field-components/FieldDate.d.ts +25 -0
  30. package/src/framework/field-components/FieldDate.jsx +109 -0
  31. package/src/framework/field-components/FieldDateRange.d.ts +6 -0
  32. package/src/framework/field-components/FieldDateRange.jsx +101 -0
  33. package/src/framework/field-components/FieldDictSelect.d.ts +13 -0
  34. package/src/framework/field-components/FieldDictSelect.jsx +16 -0
  35. package/src/framework/field-components/FieldEditor.d.ts +10 -0
  36. package/src/framework/field-components/FieldEditor.jsx +58 -0
  37. package/src/framework/field-components/FieldPercent.d.ts +12 -0
  38. package/src/framework/field-components/FieldPercent.jsx +27 -0
  39. package/src/framework/field-components/FieldRemoteSelect.d.ts +13 -0
  40. package/src/framework/field-components/FieldRemoteSelect.jsx +87 -0
  41. package/src/framework/field-components/FieldRemoteSelectMultiple.d.ts +13 -0
  42. package/src/framework/field-components/FieldRemoteSelectMultiple.jsx +86 -0
  43. package/src/framework/field-components/FieldRemoteSelectMultipleInline.d.ts +20 -0
  44. package/src/framework/field-components/FieldRemoteSelectMultipleInline.jsx +86 -0
  45. package/src/framework/field-components/FieldRemoteTree.d.ts +21 -0
  46. package/src/framework/field-components/FieldRemoteTree.jsx +45 -0
  47. package/src/framework/field-components/FieldRemoteTreeCascader.d.ts +23 -0
  48. package/src/framework/field-components/FieldRemoteTreeCascader.jsx +61 -0
  49. package/src/framework/field-components/FieldRemoteTreeSelect.d.ts +17 -0
  50. package/src/framework/field-components/FieldRemoteTreeSelect.jsx +67 -0
  51. package/src/framework/field-components/FieldRemoteTreeSelectMultiple.d.ts +17 -0
  52. package/src/framework/field-components/FieldRemoteTreeSelectMultiple.jsx +68 -0
  53. package/src/framework/field-components/FieldSysOrgTree.d.ts +12 -0
  54. package/src/framework/field-components/FieldSysOrgTree.jsx +23 -0
  55. package/src/framework/field-components/FieldSysOrgTreeSelect.d.ts +12 -0
  56. package/src/framework/field-components/FieldSysOrgTreeSelect.jsx +23 -0
  57. package/src/framework/{components/field/FieldEditTable/index.d.ts → field-components/FieldTable.d.ts} +5 -2
  58. package/src/framework/{components/field/FieldEditTable/index.jsx → field-components/FieldTable.jsx} +29 -21
  59. package/src/framework/{components/field/select/FieldTableSelect/index.d.ts → field-components/FieldTableSelect.d.ts} +4 -14
  60. package/src/framework/field-components/FieldTableSelect.jsx +59 -0
  61. package/src/framework/{components/field/upload → field-components}/FieldUploadFile.d.ts +0 -1
  62. package/src/framework/{components/field/upload → field-components}/FieldUploadFile.jsx +5 -9
  63. package/src/framework/field-components/index.ts +20 -0
  64. package/src/framework/{components/OrgTree.jsx → field-components/system/OrgTree.tsx} +8 -7
  65. package/src/framework/{components/RoleTree.jsx → field-components/system/RoleTree.tsx} +3 -3
  66. package/src/framework/field-components/system/index.ts +2 -0
  67. package/src/framework/index.ts +4 -0
  68. package/src/framework/utils/ArrUtils.ts +229 -0
  69. package/src/framework/utils/ColorsUtils.ts +378 -0
  70. package/src/framework/utils/{date.js → DateUtils.ts} +69 -69
  71. package/src/framework/utils/DeviceUtils.ts +46 -0
  72. package/src/framework/utils/DomUtils.ts +50 -0
  73. package/src/framework/utils/EventBusUtils.ts +143 -0
  74. package/src/framework/utils/MessageUtils.tsx +182 -0
  75. package/src/framework/utils/ObjectUtils.ts +113 -0
  76. package/src/framework/utils/StorageUtils.ts +67 -0
  77. package/src/framework/utils/StringUtils.ts +410 -0
  78. package/src/framework/utils/TreeUtils.ts +248 -0
  79. package/src/framework/utils/UrlUtils.ts +152 -0
  80. package/src/framework/utils/UuidUtils.ts +88 -0
  81. package/src/framework/utils/ValidateUtils.ts +28 -0
  82. package/src/framework/utils/index.ts +16 -0
  83. package/src/framework/utils/system/DictUtils.ts +97 -0
  84. package/src/framework/utils/system/FormRegistryUtils.ts +77 -0
  85. package/src/framework/utils/system/HttpUtils.ts +246 -0
  86. package/src/framework/utils/system/PageUtils.ts +153 -0
  87. package/src/framework/utils/system/PermUtils.ts +79 -0
  88. package/src/framework/utils/system/SysUtils.ts +97 -0
  89. package/src/framework/utils/system/ThemeUtils.ts +27 -0
  90. package/src/framework/utils/system/index.ts +7 -0
  91. package/src/framework/view-components/ViewBoolean.jsx +4 -0
  92. package/src/framework/view-components/index.js +3 -0
  93. package/src/layouts/PageRender.jsx +2 -2
  94. package/src/layouts/admin/HeaderRight.jsx +9 -9
  95. package/src/layouts/admin/TabPageRender.jsx +2 -2
  96. package/src/layouts/admin/index.jsx +27 -40
  97. package/src/layouts/admin/index.less +2 -1
  98. package/src/layouts/index.jsx +30 -38
  99. package/src/layouts/index.less +0 -21
  100. package/src/loading.jsx +2 -2
  101. package/src/{components → pages/flowable}/InstanceInfo.jsx +5 -4
  102. package/src/pages/flowable/design/customTranslate/customTranslate.js +16 -0
  103. package/src/pages/flowable/design/customTranslate/translations-properties-panel.js +10 -0
  104. package/src/pages/flowable/design/customTranslate/translations.js +144 -0
  105. package/src/pages/flowable/design/descriptors/flowable.json +1109 -0
  106. package/src/pages/flowable/design/index.jsx +61 -234
  107. package/src/pages/flowable/design/provider/FlowablePropertiesProvider.js +75 -0
  108. package/src/pages/flowable/design/provider/index.js +6 -0
  109. package/src/pages/flowable/design/provider/properties/ConditionDesign.jsx +175 -0
  110. package/src/pages/flowable/design/provider/properties/ConditionProps.jsx +76 -0
  111. package/src/pages/flowable/design/provider/properties/DelegateExpressionProps.js +54 -0
  112. package/src/pages/flowable/design/provider/properties/FormProps.js +55 -0
  113. package/src/pages/flowable/design/provider/properties/MultiInstanceProps.js +100 -0
  114. package/src/pages/flowable/design/provider/properties/UserTaskForm.jsx +48 -0
  115. package/src/pages/flowable/design/provider/properties/utils.jsx +35 -0
  116. package/src/pages/flowable/index.jsx +28 -69
  117. package/src/pages/flowable/monitor/definition.jsx +87 -0
  118. package/src/pages/flowable/monitor/instance/index.jsx +177 -0
  119. package/src/pages/flowable/monitor/instance/view.jsx +102 -0
  120. package/src/pages/flowable/monitor/task.jsx +93 -0
  121. package/src/pages/flowable/task/form.jsx +5 -5
  122. package/src/pages/flowable/task/index.jsx +5 -5
  123. package/src/pages/flowable/test/index.jsx +13 -10
  124. package/src/pages/index.jsx +8 -13
  125. package/src/pages/login.jsx +8 -8
  126. package/src/pages/{api/doc.jsx → system/api/ApiDoc.jsx} +56 -47
  127. package/src/pages/system/api/index.jsx +268 -0
  128. package/src/pages/system/api/perm.jsx +69 -0
  129. package/src/pages/system/config/index.jsx +3 -3
  130. package/src/pages/system/dict/Dict.jsx +2 -3
  131. package/src/pages/system/dict/DictItem.jsx +5 -5
  132. package/src/pages/system/file/index.jsx +13 -5
  133. package/src/pages/{job → system/job}/index.jsx +124 -39
  134. package/src/pages/system/log/index.jsx +3 -3
  135. package/src/pages/system/org/index.jsx +11 -12
  136. package/src/pages/system/role/index.jsx +11 -11
  137. package/src/pages/system/role/perm.jsx +8 -8
  138. package/src/pages/system/sysManual/index.jsx +6 -6
  139. package/src/pages/system/user/UserPerm.jsx +7 -42
  140. package/src/pages/system/user/index.jsx +13 -17
  141. package/src/pages/test.jsx +188 -3
  142. package/src/pages/ureport/index.jsx +4 -4
  143. package/src/pages/userCenter/ChangePassword.jsx +3 -4
  144. package/src/pages/userCenter/index.jsx +2 -2
  145. package/src/pages/userCenter/manual.jsx +3 -7
  146. package/src/pages/userCenter/message.jsx +5 -5
  147. package/config/dist/config.local.js +0 -23
  148. package/src/components/InstanceStatusInfo.jsx +0 -79
  149. package/src/components/StreamLog.jsx +0 -27
  150. package/src/components/flow/BpmnUtils.js +0 -85
  151. package/src/components/flow/customTranslate/customTranslate.js +0 -19
  152. package/src/components/flow/customTranslate/translations.js +0 -79
  153. package/src/components/flow/design/form/ConditionForm.jsx +0 -316
  154. package/src/components/flow/design/form/ServiceTaskForm.jsx +0 -55
  155. package/src/components/flow/design/form/TimerEventDefinitionForm.jsx +0 -62
  156. package/src/components/flow/design/form/UserTaskForm.jsx +0 -211
  157. package/src/components/flow/design/palette.js +0 -39
  158. package/src/components/monitor/AllDefinition.jsx +0 -46
  159. package/src/components/monitor/AllInstance.jsx +0 -76
  160. package/src/forms/driverForm.jsx +0 -18
  161. package/src/framework/components/ButtonList.jsx +0 -91
  162. package/src/framework/components/Echarts/index.d.ts +0 -10
  163. package/src/framework/components/Echarts/index.jsx +0 -49
  164. package/src/framework/components/EditTable/index.d.ts +0 -11
  165. package/src/framework/components/EditTable/index.jsx +0 -85
  166. package/src/framework/components/FieldRemoteTree.jsx +0 -20
  167. package/src/framework/components/HasPerm.jsx +0 -18
  168. package/src/framework/components/ImageView.d.ts +0 -12
  169. package/src/framework/components/ImageView.jsx +0 -64
  170. package/src/framework/components/MsgBox.jsx +0 -180
  171. package/src/framework/components/PageLoading.jsx +0 -31
  172. package/src/framework/components/Panel/index.d.ts +0 -11
  173. package/src/framework/components/Panel/index.jsx +0 -24
  174. package/src/framework/components/Panel/index.less +0 -0
  175. package/src/framework/components/field/FieldAutoTime/index.tsx +0 -46
  176. package/src/framework/components/field/FieldBoolean/index.tsx +0 -92
  177. package/src/framework/components/field/FieldEditTable/index.less +0 -29
  178. package/src/framework/components/field/FieldEditor.jsx +0 -48
  179. package/src/framework/components/field/FieldFileBase64/index.d.ts +0 -15
  180. package/src/framework/components/field/FieldFileBase64/index.jsx +0 -23
  181. package/src/framework/components/field/FieldImageBase64/index.d.ts +0 -15
  182. package/src/framework/components/field/FieldImageBase64/index.jsx +0 -22
  183. package/src/framework/components/field/FieldInput.jsx +0 -13
  184. package/src/framework/components/field/FieldOrgTree/index.tsx +0 -45
  185. package/src/framework/components/field/FieldPassword.jsx +0 -11
  186. package/src/framework/components/field/FieldProps.ts +0 -19
  187. package/src/framework/components/field/FieldRemoteTreeCascader.jsx +0 -75
  188. package/src/framework/components/field/FieldRemoteTreeCheckable.jsx +0 -81
  189. package/src/framework/components/field/FieldRemoteTreeMultipleSelect.jsx +0 -100
  190. package/src/framework/components/field/FieldRemoteTreeSelect.jsx +0 -82
  191. package/src/framework/components/field/FieldSelectPosition/index.tsx +0 -85
  192. package/src/framework/components/field/FieldTree.jsx +0 -45
  193. package/src/framework/components/field/dict/index.tsx +0 -110
  194. package/src/framework/components/field/flat-multiple-select/index.d.ts +0 -4
  195. package/src/framework/components/field/flat-multiple-select/index.jsx +0 -116
  196. package/src/framework/components/field/flat-multiple-select/index.less +0 -12
  197. package/src/framework/components/field/flat-select/index.d.ts +0 -4
  198. package/src/framework/components/field/flat-select/index.jsx +0 -107
  199. package/src/framework/components/field/flat-select/index.less +0 -12
  200. package/src/framework/components/field/index.js +0 -33
  201. package/src/framework/components/field/input-number-percent/index.d.ts +0 -11
  202. package/src/framework/components/field/input-number-percent/index.jsx +0 -28
  203. package/src/framework/components/field/select/FieldSelect/index.d.ts +0 -39
  204. package/src/framework/components/field/select/FieldSelect/index.jsx +0 -156
  205. package/src/framework/components/field/select/FieldTableSelect/index.jsx +0 -155
  206. package/src/framework/components/field/select/index.jsx +0 -2
  207. package/src/framework/components/field/switch-y-n/index.d.ts +0 -11
  208. package/src/framework/components/field/switch-y-n/index.jsx +0 -31
  209. package/src/framework/components/field/text/index.tsx +0 -7
  210. package/src/framework/components/field/time/DatePickerString.tsx +0 -37
  211. package/src/framework/components/field/time/DateTimePickerString.tsx +0 -42
  212. package/src/framework/components/field/time/FieldDateRange.d.ts +0 -9
  213. package/src/framework/components/field/time/FieldDateRange.jsx +0 -49
  214. package/src/framework/components/field/time/HHmmPickerString.tsx +0 -42
  215. package/src/framework/components/field/time/MonthPickerString.tsx +0 -45
  216. package/src/framework/components/field/time/TimePickerTool.ts +0 -14
  217. package/src/framework/components/field/time/YearPickerString.tsx +0 -41
  218. package/src/framework/components/field/time/YearQuarterString.tsx +0 -38
  219. package/src/framework/components/field/time/index.tsx +0 -7
  220. package/src/framework/components/field/upload/FieldUploadCropImage/index.d.ts +0 -22
  221. package/src/framework/components/field/upload/FieldUploadCropImage/index.jsx +0 -11
  222. package/src/framework/components/field/upload/FieldUploadImage.d.ts +0 -7
  223. package/src/framework/components/field/upload/FieldUploadImage.jsx +0 -16
  224. package/src/framework/components/field/upload/index.jsx +0 -3
  225. package/src/framework/components/system.jsx +0 -29
  226. package/src/framework/components/view/ViewBoolean.jsx +0 -15
  227. package/src/framework/components/view/ViewBooleanEnableDisable.jsx +0 -16
  228. package/src/framework/components/view/ViewText.jsx +0 -9
  229. package/src/framework/index.js +0 -3
  230. package/src/framework/system/dict.js +0 -88
  231. package/src/framework/system/formRegistry.js +0 -58
  232. package/src/framework/system/http.jsx +0 -290
  233. package/src/framework/system/index.js +0 -13
  234. package/src/framework/system/page.js +0 -109
  235. package/src/framework/system/permission.js +0 -44
  236. package/src/framework/system/sys.js +0 -60
  237. package/src/framework/system/theme.js +0 -17
  238. package/src/framework/utils/arr.js +0 -118
  239. package/src/framework/utils/browser.js +0 -24
  240. package/src/framework/utils/color.js +0 -269
  241. package/src/framework/utils/debounce.js +0 -33
  242. package/src/framework/utils/dom.js +0 -16
  243. package/src/framework/utils/eventBus.js +0 -70
  244. package/src/framework/utils/html.js +0 -13
  245. package/src/framework/utils/index.js +0 -17
  246. package/src/framework/utils/obj.js +0 -72
  247. package/src/framework/utils/storage.js +0 -37
  248. package/src/framework/utils/str.js +0 -297
  249. package/src/framework/utils/tree.js +0 -175
  250. package/src/framework/utils/uid.js +0 -76
  251. package/src/framework/utils/url.js +0 -84
  252. package/src/framework/utils/validate.js +0 -9
  253. package/src/pages/api/accessLog/index.jsx +0 -108
  254. package/src/pages/api/accountResource/index.jsx +0 -149
  255. package/src/pages/api/index.jsx +0 -163
  256. package/src/pages/api/resource.jsx +0 -18
  257. package/src/pages/flowable/instance/view.jsx +0 -13
  258. package/src/pages/flowable/monitor.jsx +0 -106
  259. package/src/pages/flowable/test/form.jsx +0 -31
  260. package/src/pages/job/logList.jsx +0 -100
  261. package/src/pages/job/status.jsx +0 -84
  262. /package/src/framework/components/{ButtonList.d.ts → system/ButtonList.d.ts} +0 -0
  263. /package/src/framework/{components/EditTable/index.less → field-components/FieldTable.less} +0 -0
  264. /package/src/framework/{components/view → view-components}/ViewPassword.jsx +0 -0
  265. /package/src/{index.js → index.ts} +0 -0
  266. /package/src/{components/flow → pages/flowable}/design/contextPad.js +0 -0
@@ -2,7 +2,7 @@ import {Badge, Dropdown} from "antd";
2
2
  import {NotificationOutlined, QuestionCircleOutlined, SettingOutlined, UserOutlined} from "@ant-design/icons";
3
3
  import React from "react";
4
4
  import {history} from "umi";
5
- import {HttpUtil, isMobileDevice, MsgBox, PageUtil, SysUtil} from "../../framework";
5
+ import {DeviceUtils, HttpUtils, MessageUtils, PageUtils, SysUtils} from "../../framework";
6
6
 
7
7
 
8
8
  const ID = 'header-right';
@@ -14,7 +14,7 @@ export default class HeaderRight extends React.Component {
14
14
 
15
15
  componentDidMount() {
16
16
  document.dispatchEvent(new CustomEvent('componentDidMount', {detail: ID}))
17
- if (isMobileDevice()) {
17
+ if (DeviceUtils.isMobileDevice()) {
18
18
  this.setState({isMobileDevice: true})
19
19
  }
20
20
  }
@@ -22,12 +22,12 @@ export default class HeaderRight extends React.Component {
22
22
 
23
23
 
24
24
  logout = () => {
25
- HttpUtil.post('admin/auth/logout').then(async () => {
25
+ HttpUtils.post('admin/auth/logout').then(async () => {
26
26
  localStorage.clear()
27
- await MsgBox.alert('退出登录成功');
27
+ await MessageUtils.alert('退出登录成功');
28
28
  history.replace('/login')
29
29
  }).catch(async e => {
30
- let confirm = await MsgBox.confirm('退出登录失败,是否清空缓存');
30
+ let confirm = await MessageUtils.confirm('退出登录失败,是否清空缓存');
31
31
  if (confirm) {
32
32
  localStorage.clear();
33
33
  history.replace('/login')
@@ -36,11 +36,11 @@ export default class HeaderRight extends React.Component {
36
36
  }
37
37
 
38
38
  userCenter = () => {
39
- PageUtil.open('/userCenter', '个人中心')
39
+ PageUtils.open('/userCenter', '个人中心')
40
40
  }
41
41
 
42
42
  render() {
43
- const info = SysUtil.getLoginInfo()
43
+ const info = SysUtils.getLoginInfo()
44
44
 
45
45
  if (this.state.isMobileDevice) {
46
46
  return <div className='header-right'>
@@ -55,13 +55,13 @@ export default class HeaderRight extends React.Component {
55
55
  </div>
56
56
 
57
57
 
58
- <div className='item' onClick={() => PageUtil.open('/userCenter/message', '我的消息')}>
58
+ <div className='item' onClick={() => PageUtils.open('/userCenter/message', '我的消息')}>
59
59
  <Badge count={info.messageCount} size="small">
60
60
  <NotificationOutlined/>
61
61
  </Badge>
62
62
  </div>
63
63
 
64
- <div className='item' title='操作手册' onClick={() => PageUtil.open('/userCenter/manual', '操作手册')}>
64
+ <div className='item' title='操作手册' onClick={() => PageUtils.open('/userCenter/manual', '操作手册')}>
65
65
  <QuestionCircleOutlined/>
66
66
  </div>
67
67
 
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import {withRouter} from "umi";
3
3
  import {Tabs} from "antd";
4
4
  import {PageRender} from "../PageRender";
5
- import {PageUtil} from "../../framework";
5
+ import {PageUtils} from "../../framework";
6
6
 
7
7
  class TabPageRender extends React.Component {
8
8
 
@@ -61,7 +61,7 @@ class TabPageRender extends React.Component {
61
61
  if (path === '/') {
62
62
  return '首页'
63
63
  }
64
- let label = PageUtil.currentLabel();
64
+ let label = PageUtils.currentLabel();
65
65
 
66
66
  if (!label) {
67
67
  const menu = this.props.pathMenuMap[path]
@@ -5,8 +5,7 @@ import {Badge, Layout, Menu, Watermark} from 'antd';
5
5
 
6
6
  import {history, Link} from 'umi';
7
7
  import "./index.less"
8
- import {MenuFoldOutlined, MenuUnfoldOutlined} from '@ant-design/icons';
9
- import {HttpUtil, isMobileDevice, NamedIcon, PageUtil, SysUtil, theme, TreeUtil} from "../../framework";
8
+ import {Gap, HttpUtils, NamedIcon, PageUtils, SysUtils, ThemeUtils, TreeUtils} from "../../framework";
10
9
 
11
10
  import HeaderRight from "./HeaderRight";
12
11
  import TabPageRender from "./TabPageRender";
@@ -21,53 +20,49 @@ export default class extends React.Component {
21
20
  loginInfo: {},
22
21
 
23
22
  menuTree: [],
23
+ menuMap: {},
24
24
  pathMenuMap: {},
25
25
 
26
26
 
27
27
  currentMenuKey: null,
28
28
 
29
29
 
30
- collapsed: false,
31
30
  siteInfo: {},
32
- isMobileDevice: false,
33
31
  }
34
32
 
35
- tabPageRenderRef = React.createRef()
36
-
37
33
 
38
34
  componentDidMount() {
39
35
  console.log('Admin Layout didMount')
40
36
  // 判断是否手机端,自动收起菜单
41
- if (isMobileDevice()) {
42
- this.setState({collapsed: true, isMobileDevice: true})
43
- }
44
37
 
45
- let siteInfo = SysUtil.getSiteInfo();
46
- const loginInfo = SysUtil.getLoginInfo()
47
- this.setState({siteInfo,loginInfo})
38
+
39
+ let siteInfo = SysUtils.getSiteInfo();
40
+ const loginInfo = SysUtils.getLoginInfo()
41
+ this.setState({siteInfo, loginInfo})
48
42
 
49
43
  this.initMenu()
50
44
  }
51
45
 
52
46
 
53
47
  initMenu = () => {
54
- HttpUtil.get('admin/menuInfo').then(info => {
48
+ HttpUtils.get('/admin/menuInfo').then(info => {
55
49
  const {menuTree, pathMenuMap, menuMap} = info
50
+ this.setState({menuMap})
56
51
 
57
- let pathname = PageUtil.currentPathname();
52
+ let pathname = PageUtils.currentPathname();
58
53
 
59
- TreeUtil.walk(menuTree, (item) => {
54
+ TreeUtils.walk(menuTree, (item) => {
60
55
  item.icon = <NamedIcon name={item.icon || 'AppstoreOutlined'} style={{fontSize: 12}}/>
61
56
  })
62
57
 
63
58
  if (pathname !== "" && pathname !== "/") {
64
59
  let menu = pathMenuMap[pathname]
65
- if(menu){
60
+ if (menu) {
66
61
  this.setState({currentMenuKey: menu.key})
67
62
  }
68
63
  }
69
64
 
70
- this.setState({menuTree,pathMenuMap})
65
+ this.setState({menuTree, pathMenuMap})
71
66
 
72
67
  this.loadBadge(menuMap)
73
68
  })
@@ -76,19 +71,17 @@ export default class extends React.Component {
76
71
  }
77
72
  actionRef = React.createRef()
78
73
 
79
- toggleCollapsed = (v) => {
80
- this.setState({collapsed: v})
81
- }
74
+
82
75
  loadBadge = menuMap => {
83
76
  for (let id in menuMap) {
84
77
  const item = menuMap[id]
85
78
  const {messageCountUrl} = item;
86
- if(!messageCountUrl){
79
+ if (!messageCountUrl) {
87
80
  continue
88
81
  }
89
- HttpUtil.get(messageCountUrl).then(rs => {
82
+ HttpUtils.get(messageCountUrl).then(rs => {
90
83
  const {menuTree} = this.state
91
- const menu = TreeUtil.findByKey(id, menuTree,'key')
84
+ const menu = TreeUtils.findByKey(id, menuTree, 'key')
92
85
  if (menu) {
93
86
  menu.icon = <Badge dot count={rs} size={"small"}>{menu.icon}</Badge>
94
87
  this.setState({menuTree: [...menuTree]})
@@ -99,18 +92,16 @@ export default class extends React.Component {
99
92
  };
100
93
 
101
94
 
102
-
103
-
104
95
  render() {
105
96
  const {siteInfo, loginInfo} = this.state
106
97
 
107
98
  return <Layout className='main-layout'>
108
99
  <Header className='header'>
109
100
  <div className='header-left'>
110
-
111
- {siteInfo.logoUrl && <img className='logo-img' src={siteInfo.logoUrl} onClick={() => history.push('/')} alt='logo'/>}
101
+ {siteInfo.logoUrl &&
102
+ <img className='logo-img' src={siteInfo.logoUrl} onClick={() => history.push('/')} alt='logo'/>}
112
103
  <h3 className='hide-on-mobile'>
113
- <Link to="/" style={{color: theme["primary-color"]}}>{siteInfo.title} </Link>
104
+ <Link to="/" style={{color: ThemeUtils.getColor("primary-color")}}>{siteInfo.title} </Link>
114
105
  </h3>
115
106
 
116
107
  </div>
@@ -120,23 +111,19 @@ export default class extends React.Component {
120
111
  <Layout style={{height: '100%'}}>
121
112
  <Sider id='left-sider'
122
113
  collapsible
123
- collapsed={this.state.collapsed}
124
- onCollapse={(value) => this.toggleCollapsed(value)}
125
- trigger={null}>
114
+ breakpoint={'md'}
115
+ >
116
+ <Gap/>
126
117
 
127
- <div style={{
128
- color: 'white', fontSize: 16, cursor: "pointer", margin: 12
129
- }} title='收起/展开' onClick={() => this.toggleCollapsed(!this.state.collapsed)}>
130
- {this.state.collapsed ? <MenuUnfoldOutlined/> : <MenuFoldOutlined/>}
131
- </div>
132
118
 
133
119
  <Menu items={this.state.menuTree}
134
120
  theme='dark'
135
121
  mode="inline"
136
122
  className='left-menu'
137
- onClick={({key, item}) => {
138
- let {path, id} = item.props;
139
- this.setState({currentMenuKey: id})
123
+ onClick={({key}) => {
124
+ const menu = this.state.menuMap[key]
125
+ let {path} = menu;
126
+ this.setState({currentMenuKey: key})
140
127
  history.push(path)
141
128
  }}
142
129
  selectedKeys={[this.state.currentMenuKey]}
@@ -160,7 +147,7 @@ export default class extends React.Component {
160
147
  if (this.state.menuTree.length === 0) { // 加载菜单中
161
148
  return <></>
162
149
  }
163
- let tabPageRenderNode = <TabPageRender ref={this.tabPageRenderRef} pathMenuMap={this.state.pathMenuMap}/>;
150
+ let tabPageRenderNode = <TabPageRender pathMenuMap={this.state.pathMenuMap}/>;
164
151
  if (siteInfo.waterMark === true) {
165
152
  return <Watermark content={[loginInfo.name, loginInfo.account]}>
166
153
  {tabPageRenderNode}
@@ -10,6 +10,7 @@
10
10
  background-color: rgb(246, 248, 250);
11
11
 
12
12
  .header-left {
13
+
13
14
  display: flex;
14
15
  align-items: center;
15
16
  gap: 8px;
@@ -57,7 +58,7 @@
57
58
  #admin-layout-content {
58
59
  .tmgg-layout-tabs {
59
60
  &>.ant-tabs-nav {
60
- margin-bottom: 0;
61
+ margin-bottom: 8px;
61
62
  }
62
63
  }
63
64
  }
@@ -2,11 +2,15 @@ import AdminLayout from "./admin"
2
2
  import React from "react";
3
3
 
4
4
  import {ConfigProvider} from "antd";
5
- import '@ant-design/v5-patch-for-react-19';
6
5
 
7
- import {history, Outlet, withRouter} from "umi";
6
+ import {Outlet, withRouter} from "umi";
8
7
  import zhCN from 'antd/locale/zh_CN';
9
- import {ArrUtil, HttpUtil, MsgBoxComponent, PageLoading, PageUtil, SysUtil, theme} from "../framework";
8
+ import {
9
+ ArrUtils,
10
+ HttpUtils,
11
+ PageLoading, PageUtils,
12
+ SysUtils, ThemeUtils,
13
+ } from "../framework";
10
14
  import dayjs from 'dayjs';
11
15
  import 'dayjs/locale/zh-cn';
12
16
 
@@ -15,13 +19,6 @@ import './index.less'
15
19
 
16
20
  dayjs.locale('zh-cn');
17
21
 
18
- /**
19
- * 属性列表:
20
- *
21
- * logo: 自定义的logo图片
22
- *
23
- */
24
-
25
22
  // 不需要登录的页面
26
23
  const SIMPLE_URLS = ['/login', '/test']
27
24
 
@@ -35,8 +32,8 @@ class _Layouts extends React.Component {
35
32
 
36
33
 
37
34
  componentDidMount() {
38
- HttpUtil.get("/admin/public/site-info").then(rs => {
39
- SysUtil.setSiteInfo(rs)
35
+ HttpUtils.get("/admin/public/site-info").then(rs => {
36
+ SysUtils.setSiteInfo(rs)
40
37
  this.setState({siteInfoLoading: false})
41
38
 
42
39
  this.loadLoginInfo()
@@ -54,7 +51,7 @@ class _Layouts extends React.Component {
54
51
 
55
52
  isSimplePage() {
56
53
  let {pathname} = this.props.location;
57
- return ArrUtil.contains(SIMPLE_URLS, pathname)
54
+ return ArrUtils.contains(SIMPLE_URLS, pathname)
58
55
  }
59
56
 
60
57
  loadLoginInfo = () => {
@@ -62,23 +59,23 @@ class _Layouts extends React.Component {
62
59
  return;
63
60
  }
64
61
 
65
- HttpUtil.get('admin/public/checkLogin')
62
+ HttpUtils.get('/admin/public/checkLogin')
66
63
  .then(rs => {
67
- const {needUpdatePwd, dictTree, loginInfo} = rs
68
- SysUtil.setDictInfo(dictTree)
69
- SysUtil.setLoginInfo(loginInfo)
64
+ const {needUpdatePwd, dictMap, loginInfo} = rs
65
+ SysUtils.setDictInfo(dictMap)
66
+ SysUtils.setLoginInfo(loginInfo)
70
67
  if (!needUpdatePwd) {
71
68
  this.setState({loginInfoFinish: true});
72
69
  return;
73
70
  }
74
71
 
75
72
  if (needUpdatePwd) {
76
- PageUtil.open('/userCenter/ChangePassword', '修改密码')
73
+ PageUtils.open('/userCenter/ChangePassword', '修改密码')
77
74
  return;
78
75
  }
79
76
  })
80
77
  .catch(async () => {
81
- PageUtil.redirectToLogin()
78
+ PageUtils.redirectToLogin()
82
79
  })
83
80
  }
84
81
 
@@ -119,43 +116,38 @@ class _Layouts extends React.Component {
119
116
  locale={zhCN}
120
117
  theme={{
121
118
  token: {
122
- colorPrimary: theme["primary-color"],
123
- colorSuccess: theme["success-color"],
124
- colorWarning: theme["warning-color"],
125
- colorError: theme["error-color"],
119
+ colorPrimary: ThemeUtils.getColor("primary-color"),
120
+ colorSuccess: ThemeUtils.getColor("success-color"),
121
+ colorWarning: ThemeUtils.getColor("warning-color"),
122
+ colorError: ThemeUtils.getColor("error-color"),
126
123
  borderRadius: 4,
127
-
128
124
  },
129
125
  components: {
130
126
  Menu: {
131
- darkItemBg: theme["primary-color"],
132
- darkPopupBg: theme["primary-color"],
133
- darkItemSelectedBg: theme["primary-color-click"],
134
- darkItemHoverBg: theme["primary-color-hover"],
135
- darkSubMenuItemBg: theme["primary-color"]
127
+ darkItemBg: ThemeUtils.getColor("primary-color"),
128
+ darkPopupBg: ThemeUtils.getColor("primary-color"),
129
+ darkItemSelectedBg: ThemeUtils.getColor("primary-color-click"),
130
+ darkItemHoverBg: ThemeUtils.getColor("primary-color-hover"),
131
+ darkSubMenuItemBg: ThemeUtils.getColor("primary-color")
136
132
  },
137
133
  Layout: {
138
- siderBg: theme["primary-color"],
139
- triggerBg: theme["primary-color-click"],
134
+ siderBg: ThemeUtils.getColor("primary-color"),
135
+ triggerBg: ThemeUtils.getColor("primary-color-click"),
140
136
  headerBg: 'white',
141
137
  triggerHeight: 32
142
138
  },
139
+
140
+
143
141
  }
144
142
  }}>
145
143
 
146
144
  {this.renderContent()}
147
145
 
148
- {this.renderGlobalComponent()}
149
146
  </ConfigProvider>
150
147
  }
151
148
 
152
149
 
153
- renderGlobalComponent() {
154
- console.log('渲染全局组件')
155
- return <div className='global-component'>
156
- <MsgBoxComponent/>
157
- </div>
158
- }
150
+
159
151
  }
160
152
 
161
153
  export const Layouts = withRouter(_Layouts);
@@ -20,26 +20,5 @@ html,body{
20
20
 
21
21
  }
22
22
 
23
- .ant-modal-content {
24
- padding: 0 !important;
25
- .ant-modal-header{
26
- padding: 16px 24px;
27
- border-bottom: 1px solid rgba(0,0,0,.06) !important;
28
- margin-bottom: 0 !important;
29
23
 
30
- .ant-modal-title {
31
- font-weight: 500 !important;
32
-
33
- }
34
- }
35
-
36
- .ant-modal-body {
37
- padding: 24px !important;
38
- }
39
- .ant-modal-footer {
40
- padding: 10px 16px;
41
- border-top: 1px solid rgba(0,0,0,.06) !important;
42
- }
43
-
44
- }
45
24
 
package/src/loading.jsx CHANGED
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import {Spin} from "antd";
3
- import {theme} from "./framework";
3
+ import {ThemeUtils} from "./framework";
4
4
 
5
5
  export default class extends React.Component {
6
6
  render() {
@@ -10,7 +10,7 @@ export default class extends React.Component {
10
10
  alignItems: 'center',
11
11
  justifyContent: 'center',
12
12
  height: '100vh',
13
- background: theme["background-color"]
13
+ background: ThemeUtils.getColor("background-color")
14
14
  }}>
15
15
  <Spin size='large'/>
16
16
  </div>
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import {Card, Empty, Modal, Skeleton, Table, Tabs, Typography} from "antd";
3
3
 
4
4
  import {FormOutlined, ShareAltOutlined} from "@ant-design/icons";
5
- import {formRegistry, Gap, HttpUtil} from "../framework";
5
+ import {FormRegistryUtils, Gap, HttpUtils} from "../../framework";
6
6
 
7
7
  export default class InstanceInfo extends React.Component {
8
8
 
@@ -27,7 +27,7 @@ export default class InstanceInfo extends React.Component {
27
27
 
28
28
  componentDidMount() {
29
29
  const {id, businessKey} = this.props;
30
- HttpUtil.get("admin/flowable/my/getInstanceInfo", {id, businessKey}).then(rs => {
30
+ HttpUtils.get("admin/flowable/my/getInstanceInfo", {id, businessKey}).then(rs => {
31
31
  this.setState(rs)
32
32
  this.setState({data: rs})
33
33
  }).catch(e => {
@@ -91,8 +91,9 @@ export default class InstanceInfo extends React.Component {
91
91
  renderProcess = (img, commentList) => <Card title='处理记录'>
92
92
  {img && <img src={img} style={{maxWidth: '100%'}}
93
93
  onClick={this.onImgClick}/>}
94
+ <Gap></Gap>
94
95
  <Table dataSource={commentList}
95
- bordered
96
+
96
97
  size='small'
97
98
  pagination={false}
98
99
  rowKey='id'
@@ -118,7 +119,7 @@ export default class InstanceInfo extends React.Component {
118
119
  const {processDefinitionKey, businessKey} = data
119
120
 
120
121
  let formKey = this.props.formKey || processDefinitionKey + 'Form';
121
- let ExForm = formRegistry.get(formKey);
122
+ let ExForm = FormRegistryUtils.get(formKey);
122
123
  if (!ExForm) {
123
124
  return <div>
124
125
  <p>
@@ -0,0 +1,16 @@
1
+ // i18n demo https://github.com/bpmn-io/bpmn-js-examples/blob/main/i18n/src/customTranslate/customTranslate.js
2
+
3
+ import translations1 from './translations';
4
+ import translations2 from './translations-properties-panel';
5
+
6
+ export default function customTranslate(template, replacements) {
7
+ replacements = replacements || {};
8
+
9
+ // Translate
10
+ template = translations1[template] || translations2[template] || template;
11
+
12
+ // Replace
13
+ return template.replace(/{([^}]+)}/g, function(_, key) {
14
+ return replacements[key] || '{' + key + '}';
15
+ });
16
+ }
@@ -0,0 +1,10 @@
1
+
2
+ export default {
3
+ "General": "通用",
4
+ "Documentation":"文档/描述",
5
+ "Element documentation":"元素的文本描述或注释",
6
+ "Service Task":"服务任务",
7
+ "Multi-instance":"多实例",
8
+ "Loop cardinality":"循环基数",
9
+ "Completion condition":"完成条件",
10
+ };
@@ -0,0 +1,144 @@
1
+ /**
2
+ * This is a sample file that should be replaced with the actual translation.
3
+ *
4
+ * Checkout https://github.com/bpmn-io/bpmn-js-i18n for a list of available
5
+ *
6
+ * translations and labels to translate.
7
+ *
8
+ * demo: https://github.com/bpmn-io/bpmn-js-examples/
9
+ */
10
+ export default {
11
+ "Activate create/remove space tool": "启动创建/删除空间工具",
12
+ "Activate global connect tool": "启动全局连接工具",
13
+ "Activate hand tool": "启动手动工具",
14
+ "Activate lasso tool": "启动 Lasso 工具",
15
+ "Ad-hoc": "Ad-hoc子流程",
16
+ "Ad-hoc sub-process (collapsed)": "临时子流程(折叠)",
17
+ "Ad-hoc sub-process (expanded)": "临时子流程(展开)",
18
+ "Add lane above": "在上方添加通道",
19
+ "Add lane below": "在下方添加通道",
20
+ "Add text annotation": "添加文本注释",
21
+ "Append compensation activity": "追加补偿活动",
22
+ "Append conditional intermediate catch event": "添加中间条件捕获事件",
23
+ "Append end event": "添加结束事件",
24
+ "Append gateway": "添加网关",
25
+ "Append intermediate/boundary event": "添加中间/边界事件",
26
+ "Append message intermediate catch event": "添加消息中间捕获事件",
27
+ "Append receive task": "添加接收任务",
28
+ "Append signal intermediate catch event": "添加信号中间捕获事件",
29
+ "Append task": "添加任务",
30
+ "Append timer intermediate catch event": "添加定时器中间捕获事件",
31
+ "Business rule task": "规则任务",
32
+ "Call activity": "引用流程",
33
+ "Cancel boundary event": "取消边界事件",
34
+ "Cancel end event": "取消结束事件",
35
+ "Change type": "更改类型",
36
+ "Collection": "集合",
37
+ "Compensation boundary event": "补偿边界事件",
38
+ "Compensation end event": "结束补偿事件",
39
+ "Compensation intermediate throw event": "中间补偿抛出事件",
40
+ "Compensation start event": "补偿启动事件",
41
+ "Complex gateway": "复杂网关",
42
+ "Conditional boundary event": "条件边界事件",
43
+ "Conditional boundary event (non-interrupting)": "条件边界事件 (非中断)",
44
+ "Conditional flow": "条件流",
45
+ "Conditional intermediate catch event": "中间条件捕获事件",
46
+ "Conditional start event": "条件启动事件",
47
+ "Conditional start event (non-interrupting)": "条件启动事件 (非中断)",
48
+ "Connect to other element": "连接到其他元素",
49
+ "Connect using association": "文本关联",
50
+ "Connect using data input association": "数据关联",
51
+ "Connect using sequence/message flow or association": "消息关联",
52
+ "Create data object reference": "创建数据对象引用",
53
+ "Create data store reference": "创建数据存储引用",
54
+ "Create end event": "创建结束事件",
55
+ "Create expanded sub-process": "创建可折叠子流程",
56
+ "Create gateway": "创建网关",
57
+ "Create group": "创建组",
58
+ "Create intermediate/boundary event": "创建中间/边界事件",
59
+ "Create pool/participant": "创建池/参与者",
60
+ "Create start event": "创建开始事件",
61
+ "Create task": "创建任务",
62
+ "Data object reference": "数据对象引用",
63
+ "Data store reference": "数据存储引用",
64
+ "Default flow": "默认流",
65
+ "Delete": "删除",
66
+ "Divide into three lanes": "分成三条通道",
67
+ "Divide into two lanes": "分成两条通道",
68
+ "Empty pool/participant": "空泳道",
69
+ "Empty pool/participant (removes content)": "清空泳道(删除内容)",
70
+ "End event": "结束事件",
71
+ "Error boundary event": "错误边界事件",
72
+ "Error end event": "结束错误事件",
73
+ "Error start event": "错误启动事件",
74
+ "Escalation boundary event": "升级边界事件",
75
+ "Escalation boundary event (non-interrupting)": "升级边界事件 (非中断)",
76
+ "Escalation end event": "结束升级事件",
77
+ "Escalation intermediate throw event": "中间升级抛出事件",
78
+ "Escalation start event": "升级启动事件",
79
+ "Escalation start event (non-interrupting)": "升级启动事件 (非中断)",
80
+ "Event sub-process": "事件子流程",
81
+ "Event-based gateway": "事件网关",
82
+ "Exclusive gateway": "独占网关",
83
+ "Inclusive gateway": "包容网关",
84
+ "Intermediate throw event": "中间抛出事件",
85
+ "Link intermediate catch event": "中间链接捕获事件",
86
+ "Link intermediate throw event": "中间链接抛出事件",
87
+ "Loop": "循环",
88
+ "Manual task": "手动任务",
89
+ "Message boundary event": "消息边界事件",
90
+ "Message boundary event (non-interrupting)": "消息边界事件 (非中断)",
91
+ "Message end event": "结束消息事件",
92
+ "Message intermediate catch event": "中间消息捕获事件",
93
+ "Message intermediate throw event": "中间消息抛出事件",
94
+ "Message start event": "消息启动事件",
95
+ "Message start event (non-interrupting)": "消息启动事件 (非中断)",
96
+ "Open {element}": "打开 {element}",
97
+ "Parallel gateway": "并行网关",
98
+ "Parallel multi-instance": "并行多实例",
99
+ "Participant multiplicity": "参与者多重性",
100
+ "Receive task": "接受任务",
101
+ "Remove": "移除",
102
+ "Script task": "脚本任务",
103
+ "Search in diagram": "在图表中搜索",
104
+ "Send task": "发送任务",
105
+ "Sequence flow": "顺序流",
106
+ "Sequential multi-instance": "串行多实例",
107
+ "Service task": "服务任务",
108
+ "Signal boundary event": "信号边界事件",
109
+ "Signal boundary event (non-interrupting)": "信号边界事件 (非中断)",
110
+ "Signal end event": "结束信号事件",
111
+ "Signal intermediate catch event": "中间信号捕获事件",
112
+ "Signal intermediate throw event": "中间信号抛出事件",
113
+ "Signal start event": "信号启动事件",
114
+ "Signal start event (non-interrupting)": "信号启动事件 (非中断)",
115
+ "Start event": "开始事件",
116
+ "Sub-process": "子流程",
117
+ "Sub-process (collapsed)": "可折叠子流程",
118
+ "Sub-process (expanded)": "可展开子流程",
119
+ "Task": "任务",
120
+ "Terminate end event": "终止边界事件",
121
+ "Timer boundary event": "定时边界事件",
122
+ "Timer boundary event (non-interrupting)": "定时边界事件 (非中断)",
123
+ "Timer intermediate catch event": "中间定时捕获事件",
124
+ "Timer start event": "定时启动事件",
125
+ "Timer start event (non-interrupting)": "定时启动事件 (非中断)",
126
+ "Transaction": "事务",
127
+ "User task": "用户任务",
128
+ "already rendered {element}": "{element} 已呈现",
129
+ "correcting missing bpmnElement on {plane} to {rootElement}": "在 {plane} 上更正缺失的 bpmnElement 为 {rootElement}",
130
+ "diagram not part of bpmn:Definitions": "图表不是 bpmn:Definitions 的一部分",
131
+ "element required": "需要元素",
132
+ "element {element} referenced by {referenced}#{property} not yet drawn": "元素 {element} 的引用 {referenced}#{property} 尚未绘制",
133
+ "failed to import {element}": "{element} 导入失败",
134
+ "flow elements must be children of pools/participants": "元素必须是池/参与者的子级",
135
+ "missing {semantic}#attachedToRef": "在 {element} 中缺少 {semantic}#attachedToRef",
136
+ "more than {count} child lanes": "超过 {count} 条通道",
137
+ "multiple DI elements defined for {element}": "为 {element} 定义了多个 DI 元素",
138
+ "no bpmnElement referenced in {element}": "{element} 中没有引用 bpmnElement",
139
+ "no diagram to display": "没有要显示的图表",
140
+ "no parent for {element} in {parent}": "在 {element} 中没有父元素 {parent}",
141
+ "no process or collaboration to display": "没有可显示的流程或协作",
142
+ "no shape type specified": "未指定形状类型",
143
+ "out of bounds release": "越界释放"
144
+ };