@jiangood/open-admin 1.0.1 → 1.1.0
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.
- package/config/common-plugin.js +94 -0
- package/config/config.js +58 -0
- package/config/utils.js +73 -0
- package/package.json +8 -11
- package/src/.umi-production/appData.json +2365 -0
- package/src/.umi-production/core/EmptyRoute.tsx +9 -0
- package/src/.umi-production/core/defineApp.ts +16 -0
- package/src/.umi-production/core/helmet.ts +10 -0
- package/src/.umi-production/core/helmetContext.ts +4 -0
- package/src/.umi-production/core/history.ts +72 -0
- package/src/.umi-production/core/historyIntelli.ts +132 -0
- package/src/.umi-production/core/plugin.ts +40 -0
- package/src/.umi-production/core/pluginConfig.ts +324 -0
- package/src/.umi-production/core/pluginConfigJoi.d.ts +7 -0
- package/src/.umi-production/core/polyfill.ts +220 -0
- package/src/.umi-production/core/route.tsx +54 -0
- package/src/.umi-production/core/routeProps.js +5 -0
- package/src/.umi-production/core/routeProps.ts +6 -0
- package/src/.umi-production/core/terminal.ts +37 -0
- package/src/.umi-production/exports.ts +17 -0
- package/src/.umi-production/testBrowser.tsx +90 -0
- package/src/.umi-production/tsconfig.json +44 -0
- package/src/.umi-production/typings.d.ts +136 -0
- package/src/.umi-production/umi.ts +83 -0
- package/src/framework/components/{DownloadFileButton.jsx → DownloadFileButton/index.jsx} +1 -1
- package/src/framework/components/{LinkButton.d.ts → LinkButton/index.d.ts} +1 -1
- package/src/framework/components/{LinkButton.jsx → LinkButton/index.jsx} +1 -1
- package/src/framework/components/NamedIcon/index.d.ts +5 -0
- package/src/framework/components/{NamedIcon.tsx → NamedIcon/index.jsx} +1 -5
- package/src/framework/components/OrgTree/index.d.ts +4 -0
- package/src/framework/{field-components/system/OrgTree.tsx → components/OrgTree/index.jsx} +1 -4
- package/src/framework/components/PageLoading/index.d.ts +1 -0
- package/src/framework/components/{PageLoading.tsx → PageLoading/index.jsx} +3 -5
- package/src/framework/components/RoleTree/index.d.ts +4 -0
- package/src/framework/{field-components/system/RoleTree.tsx → components/RoleTree/index.jsx} +1 -4
- package/src/framework/components/ValueType/index.jsx +1 -1
- package/src/framework/components/ValueType/registry.jsx +2 -3
- package/src/framework/components/{view/ViewRange → ViewRange}/index.d.ts +5 -7
- package/src/framework/components/index.ts +3 -7
- package/src/framework/components/system/index.tsx +1 -1
- package/src/framework/fields/FieldBoolean/index.d.ts +9 -0
- package/src/framework/{field-components/FieldBoolean.jsx → fields/FieldBoolean/index.jsx} +6 -9
- package/src/framework/{field-components/FieldDate.d.ts → fields/FieldDate/index.d.ts} +5 -9
- package/src/framework/{field-components/FieldDate.jsx → fields/FieldDate/index.jsx} +28 -26
- package/src/framework/fields/FieldDateRange/index.d.ts +22 -0
- package/src/framework/{field-components/FieldDateRange.jsx → fields/FieldDateRange/index.jsx} +26 -27
- package/src/framework/fields/FieldDictSelect/index.d.ts +12 -0
- package/src/framework/{field-components/FieldDictSelect.jsx → fields/FieldDictSelect/index.jsx} +5 -5
- package/src/framework/fields/FieldEditor/index.d.ts +14 -0
- package/src/framework/fields/FieldEditor/index.jsx +59 -0
- package/src/framework/fields/FieldNumberRange/index.d.ts +10 -0
- package/src/framework/{field-components/FieldNumberRange.jsx → fields/FieldNumberRange/index.jsx} +20 -24
- package/src/framework/fields/FieldPercent/index.d.ts +8 -0
- package/src/framework/{field-components/FieldPercent.jsx → fields/FieldPercent/index.jsx} +9 -6
- package/src/framework/fields/FieldRemoteSelect/index.d.ts +44 -0
- package/src/framework/fields/FieldRemoteSelect/index.jsx +125 -0
- package/src/framework/fields/FieldRemoteSelectMultiple/index.d.ts +20 -0
- package/src/framework/{field-components/FieldRemoteSelectMultiple.jsx → fields/FieldRemoteSelectMultiple/index.jsx} +4 -5
- package/src/framework/fields/FieldRemoteSelectMultipleInline/index.d.ts +21 -0
- package/src/framework/{field-components/FieldRemoteSelectMultipleInline.jsx → fields/FieldRemoteSelectMultipleInline/index.jsx} +8 -6
- package/src/framework/fields/FieldRemoteTree/index.d.ts +20 -0
- package/src/framework/fields/FieldRemoteTree/index.jsx +50 -0
- package/src/framework/{field-components/FieldRemoteTreeCascader.d.ts → fields/FieldRemoteTreeCascader/index.d.ts} +10 -15
- package/src/framework/{field-components/FieldRemoteTreeCascader.jsx → fields/FieldRemoteTreeCascader/index.jsx} +11 -13
- package/src/framework/fields/FieldRemoteTreeSelect/index.d.ts +19 -0
- package/src/framework/{field-components/FieldRemoteTreeSelect.jsx → fields/FieldRemoteTreeSelect/index.jsx} +10 -20
- package/src/framework/fields/FieldRemoteTreeSelectMultiple/index.d.ts +20 -0
- package/src/framework/{field-components/FieldRemoteTreeSelectMultiple.jsx → fields/FieldRemoteTreeSelectMultiple/index.jsx} +11 -21
- package/src/framework/fields/FieldSysOrgTree/index.d.ts +9 -0
- package/src/framework/fields/FieldSysOrgTree/index.jsx +20 -0
- package/src/framework/fields/FieldSysOrgTreeSelect/index.d.ts +9 -0
- package/src/framework/{field-components/FieldSysOrgTreeSelect.jsx → fields/FieldSysOrgTreeSelect/index.jsx} +7 -8
- package/src/framework/fields/FieldTable/index.d.ts +14 -0
- package/src/framework/{field-components/FieldTable.jsx → fields/FieldTable/index.jsx} +38 -38
- package/src/framework/fields/FieldTableSelect/index.d.ts +19 -0
- package/src/framework/{field-components/FieldTableSelect.jsx → fields/FieldTableSelect/index.jsx} +13 -12
- package/src/framework/{field-components/FieldUploadFile.d.ts → fields/FieldUploadFile/index.d.ts} +12 -15
- package/src/framework/{field-components/FieldUploadFile.jsx → fields/FieldUploadFile/index.jsx} +32 -34
- package/src/framework/{field-components → fields}/index.ts +2 -1
- package/src/framework/fields/types.ts +16 -0
- package/src/framework/index.ts +2 -2
- package/src/framework/utils/index.ts +0 -1
- package/src/framework/utils/system/DictUtils.ts +1 -1
- package/src/framework/views/ViewApproveStatus/index.d.ts +3 -0
- package/src/framework/{view-components/ViewApproveStatus.tsx → views/ViewApproveStatus/index.jsx} +3 -8
- package/src/framework/views/ViewBoolean/index.d.ts +3 -0
- package/src/framework/views/ViewBoolean/index.jsx +4 -0
- package/src/framework/views/ViewBooleanEnableDisable/index.d.ts +5 -0
- package/src/framework/{components/view/ViewBooleanEnableDisable.tsx → views/ViewBooleanEnableDisable/index.jsx} +2 -7
- package/src/framework/{components/view/ViewFileButton.d.ts → views/ViewFile/index.d.ts} +3 -3
- package/src/framework/views/ViewFileButton/index.d.ts +10 -0
- package/src/framework/views/ViewFileButton/index.jsx +22 -0
- package/src/framework/views/ViewImage/index.d.ts +6 -0
- package/src/framework/views/ViewPassword/index.d.ts +5 -0
- package/src/framework/{view-components/ViewPassword.tsx → views/ViewPassword/index.jsx} +2 -3
- package/src/framework/views/ViewProcessInstanceProgress/index.d.ts +12 -0
- package/src/framework/{view-components/ViewFlowableInstanceProgress.jsx → views/ViewProcessInstanceProgress/index.jsx} +2 -2
- package/src/framework/views/ViewProcessInstanceProgressButton/index.d.ts +6 -0
- package/src/framework/{view-components/ViewFlowableInstanceProgressButton.tsx → views/ViewProcessInstanceProgressButton/index.jsx} +4 -6
- package/src/framework/views/ViewText/index.d.ts +16 -0
- package/src/framework/views/ViewText/index.jsx +42 -0
- package/src/framework/views/index.ts +12 -0
- package/src/framework/views/types.ts +26 -0
- package/src/layouts/admin/index.jsx +0 -2
- package/src/layouts/index.jsx +38 -16
- package/src/pages/404.jsx +4 -4
- package/src/pages/about.jsx +0 -2
- package/src/pages/index.jsx +4 -19
- package/src/pages/login.jsx +3 -8
- package/src/pages/system/api/ApiDoc.jsx +19 -15
- package/src/pages/system/api/index.jsx +23 -24
- package/src/pages/system/api/perm.jsx +4 -4
- package/src/pages/system/dict/Dict.jsx +0 -5
- package/src/pages/system/dict/DictItem.jsx +23 -25
- package/src/pages/system/dict/index.jsx +2 -2
- package/src/pages/system/file/index.jsx +16 -29
- package/src/pages/system/job/index.jsx +44 -44
- package/src/pages/system/log/index.jsx +3 -4
- package/src/pages/system/org/index.jsx +34 -36
- package/src/pages/system/role/index.jsx +68 -74
- package/src/pages/system/role/perm.jsx +0 -1
- package/src/pages/system/sysManual/index.jsx +27 -28
- package/src/pages/system/user/UserPerm.jsx +5 -8
- package/src/pages/system/user/index.jsx +46 -51
- package/src/pages/test/views.jsx +95 -0
- package/src/pages/ureport/index.jsx +2 -2
- package/src/pages/userCenter/ChangePassword.jsx +2 -1
- package/src/pages/userCenter/index.jsx +8 -8
- package/src/pages/userCenter/manual.jsx +3 -5
- package/src/pages/userCenter/message.jsx +14 -16
- package/config/dist/common-plugin.js +0 -149
- package/config/dist/config.js +0 -45
- package/config/dist/index.js +0 -18
- package/src/app.js +0 -1
- package/src/asserts/welcome.png +0 -0
- package/src/forms/demoForm.jsx +0 -16
- package/src/framework/components/Ellipsis.jsx +0 -39
- package/src/framework/components/Ellipsis.less +0 -8
- package/src/framework/components/view/ViewEllipsis.d.ts +0 -11
- package/src/framework/components/view/ViewEllipsis.jsx +0 -30
- package/src/framework/components/view/ViewFile.d.ts +0 -10
- package/src/framework/components/view/ViewFileButton.jsx +0 -0
- package/src/framework/components/view/ViewImage.d.ts +0 -9
- package/src/framework/components/view/ViewText.tsx +0 -16
- package/src/framework/components/view/index.ts +0 -10
- package/src/framework/field-components/FieldBoolean.d.ts +0 -13
- package/src/framework/field-components/FieldDateRange.d.ts +0 -6
- package/src/framework/field-components/FieldDictSelect.d.ts +0 -13
- package/src/framework/field-components/FieldEditor.d.ts +0 -10
- package/src/framework/field-components/FieldEditor.jsx +0 -58
- package/src/framework/field-components/FieldNumberRange.d.ts +0 -13
- package/src/framework/field-components/FieldPercent.d.ts +0 -12
- package/src/framework/field-components/FieldRemoteSelect.d.ts +0 -13
- package/src/framework/field-components/FieldRemoteSelect.jsx +0 -87
- package/src/framework/field-components/FieldRemoteSelectMultiple.d.ts +0 -13
- package/src/framework/field-components/FieldRemoteSelectMultipleInline.d.ts +0 -20
- package/src/framework/field-components/FieldRemoteTree.d.ts +0 -21
- package/src/framework/field-components/FieldRemoteTree.jsx +0 -45
- package/src/framework/field-components/FieldRemoteTreeSelect.d.ts +0 -17
- package/src/framework/field-components/FieldRemoteTreeSelectMultiple.d.ts +0 -17
- package/src/framework/field-components/FieldSysOrgTree.d.ts +0 -12
- package/src/framework/field-components/FieldSysOrgTree.jsx +0 -23
- package/src/framework/field-components/FieldSysOrgTreeSelect.d.ts +0 -12
- package/src/framework/field-components/FieldTable.d.ts +0 -17
- package/src/framework/field-components/FieldTableSelect.d.ts +0 -19
- package/src/framework/field-components/system/index.ts +0 -2
- package/src/framework/view-components/ViewBoolean.tsx +0 -6
- package/src/framework/view-components/ViewFlowableInstanceProgress.d.ts +0 -12
- package/src/framework/view-components/ViewProps.ts +0 -11
- package/src/framework/view-components/index.ts +0 -6
- package/src/pages/test.jsx +0 -200
- /package/src/framework/components/{DownloadFileButton.d.ts → DownloadFileButton/index.d.ts} +0 -0
- /package/src/framework/components/{view/ViewRange → ViewRange}/index.jsx +0 -0
- /package/src/framework/{field-components/FieldTable.less → fields/FieldTable/styles.less} +0 -0
- /package/src/framework/{components/view/ViewFile.jsx → views/ViewFile/index.jsx} +0 -0
- /package/src/framework/{components/view/ViewImage.jsx → views/ViewImage/index.jsx} +0 -0
|
@@ -6,7 +6,8 @@ import {
|
|
|
6
6
|
FieldDictSelect,
|
|
7
7
|
FieldRemoteTreeSelect,
|
|
8
8
|
FieldUserSelect,
|
|
9
|
-
Gap,
|
|
9
|
+
Gap,
|
|
10
|
+
HttpUtils,
|
|
10
11
|
NamedIcon,
|
|
11
12
|
Page
|
|
12
13
|
} from "../../../framework";
|
|
@@ -39,7 +40,7 @@ export default class extends React.Component {
|
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
loadTree = () => {
|
|
42
|
-
|
|
43
|
+
this.setState({treeLoading: true})
|
|
43
44
|
|
|
44
45
|
const {params} = this.state
|
|
45
46
|
HttpUtils.get('admin/sysOrg/tree', params).then(rs => {
|
|
@@ -51,7 +52,7 @@ export default class extends React.Component {
|
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
handleDelete = record => {
|
|
54
|
-
|
|
55
|
+
HttpUtils.get('admin/sysOrg/delete', {id: record.id})
|
|
55
56
|
.then(rs => {
|
|
56
57
|
this.setState({formValues: null})
|
|
57
58
|
this.loadTree()
|
|
@@ -67,7 +68,7 @@ export default class extends React.Component {
|
|
|
67
68
|
|
|
68
69
|
const key = selectedKeys[0]
|
|
69
70
|
this.setState({formLoading: true, formEditing: false})
|
|
70
|
-
HttpUtils.get(
|
|
71
|
+
HttpUtils.get("admin/sysOrg/detail", {id: key}).then(rs => {
|
|
71
72
|
this.setState({formValues: rs})
|
|
72
73
|
}).finally(() => {
|
|
73
74
|
this.setState({formLoading: false})
|
|
@@ -76,7 +77,7 @@ export default class extends React.Component {
|
|
|
76
77
|
|
|
77
78
|
onFinish = (values) => {
|
|
78
79
|
this.setState({submitLoading: true, formEditing: false})
|
|
79
|
-
HttpUtils.post(
|
|
80
|
+
HttpUtils.post('admin/sysOrg/save', values).then(rs => {
|
|
80
81
|
this.loadTree()
|
|
81
82
|
}).finally(() => {
|
|
82
83
|
this.setState({submitLoading: false})
|
|
@@ -95,26 +96,26 @@ export default class extends React.Component {
|
|
|
95
96
|
let params = this.state.params;
|
|
96
97
|
return <Page padding>
|
|
97
98
|
<Card>
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
99
|
+
<Space>
|
|
100
|
+
|
|
101
|
+
<Input.Search placeholder='搜索' value={params.searchText} onChange={e => {
|
|
102
|
+
params.searchText = e.target.value
|
|
103
|
+
this.setState({params}, this.loadTree)
|
|
104
|
+
}}/>
|
|
105
|
+
<Checkbox checked={params.onlyShowEnabled}
|
|
106
|
+
onChange={e => {
|
|
107
|
+
params.onlyShowEnabled = e.target.checked;
|
|
108
|
+
this.setState({params}, this.loadTree);
|
|
109
|
+
}}>仅显示启用</Checkbox>
|
|
110
|
+
|
|
111
|
+
<Checkbox checked={params.onlyShowUnit}
|
|
112
|
+
onChange={e => {
|
|
113
|
+
params.onlyShowUnit = e.target.checked;
|
|
114
|
+
this.setState({params}, this.loadTree);
|
|
115
|
+
}}>仅显示单位</Checkbox>
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
</Space>
|
|
118
119
|
</Card>
|
|
119
120
|
<Gap/>
|
|
120
121
|
<Splitter>
|
|
@@ -182,7 +183,6 @@ export default class extends React.Component {
|
|
|
182
183
|
</Popconfirm>
|
|
183
184
|
|
|
184
185
|
|
|
185
|
-
|
|
186
186
|
</Space>}
|
|
187
187
|
>
|
|
188
188
|
|
|
@@ -199,7 +199,7 @@ export default class extends React.Component {
|
|
|
199
199
|
<FieldRemoteTreeSelect url='admin/sysOrg/tree'/>
|
|
200
200
|
</Form.Item>
|
|
201
201
|
<Form.Item label='名称' name='name' rules={[{required: true}]}>
|
|
202
|
-
<Input
|
|
202
|
+
<Input/>
|
|
203
203
|
</Form.Item>
|
|
204
204
|
|
|
205
205
|
|
|
@@ -207,25 +207,23 @@ export default class extends React.Component {
|
|
|
207
207
|
<FieldDictSelect typeCode='orgType'/>
|
|
208
208
|
</Form.Item>
|
|
209
209
|
|
|
210
|
-
<Form.Item label='部门领导' name={['leader','id']}
|
|
211
|
-
<FieldUserSelect
|
|
210
|
+
<Form.Item label='部门领导' name={['leader', 'id']}>
|
|
211
|
+
<FieldUserSelect/>
|
|
212
212
|
</Form.Item>
|
|
213
213
|
<Form.Item label='启用' name='enabled' rules={[{required: true}]}>
|
|
214
214
|
<FieldBoolean/>
|
|
215
215
|
</Form.Item>
|
|
216
216
|
<Form.Item label='扩展字段1' name='extra1'>
|
|
217
|
-
<Input
|
|
217
|
+
<Input/>
|
|
218
218
|
</Form.Item>
|
|
219
219
|
<Form.Item label='扩展字段2' name='extra2'>
|
|
220
|
-
<Input
|
|
220
|
+
<Input/>
|
|
221
221
|
</Form.Item>
|
|
222
222
|
<Form.Item label='扩展字段3' name='extra3'>
|
|
223
|
-
<Input
|
|
223
|
+
<Input/>
|
|
224
224
|
</Form.Item>
|
|
225
225
|
|
|
226
226
|
|
|
227
|
-
|
|
228
|
-
|
|
229
227
|
<Form.Item label=' ' colon={false}>
|
|
230
228
|
<Button type="primary" htmlType='submit'
|
|
231
229
|
loading={this.state.submitLoading}>保存</Button>
|
|
@@ -245,7 +243,7 @@ export default class extends React.Component {
|
|
|
245
243
|
}
|
|
246
244
|
|
|
247
245
|
onDrop = (e) => {
|
|
248
|
-
const {dragNode,
|
|
246
|
+
const {dragNode, dropToGap, node} = e;
|
|
249
247
|
const dropKey = node.key;
|
|
250
248
|
const dragKey = dragNode.key;
|
|
251
249
|
|
|
@@ -253,7 +251,7 @@ export default class extends React.Component {
|
|
|
253
251
|
const dropPosition = e.dropPosition - Number(dropPos[dropPos.length - 1]); // the drop position relative to the drop node, inside 0, top -1, bottom 1
|
|
254
252
|
|
|
255
253
|
|
|
256
|
-
console.log(dragNode.title, '->', node.title, 'dropToGap:', dropToGap, "dropPosition:"
|
|
254
|
+
console.log(dragNode.title, '->', node.title, 'dropToGap:', dropToGap, "dropPosition:", dropPosition)
|
|
257
255
|
HttpUtils.post('admin/sysOrg/sort', {dropPosition, dropToGap, dropKey, dragKey}).then(this.loadTree)
|
|
258
256
|
};
|
|
259
257
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {PlusOutlined} from '@ant-design/icons'
|
|
2
2
|
import {Button, Form, Input, InputNumber, Modal, Popconfirm, Transfer, Tree} from 'antd'
|
|
3
3
|
import React from 'react'
|
|
4
|
-
import {ButtonList,
|
|
4
|
+
import {ButtonList, FieldBoolean, HttpUtils, Page, PageUtils, ProTable, ViewText} from "../../../framework";
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
export default class extends React.Component {
|
|
@@ -17,16 +17,46 @@ export default class extends React.Component {
|
|
|
17
17
|
targetKeys: [],
|
|
18
18
|
selectedKeys: [],
|
|
19
19
|
|
|
20
|
-
menuOpen:false,
|
|
21
|
-
menuTree:[],
|
|
22
|
-
menuTreeLoading:false,
|
|
23
|
-
menuChecked:[],
|
|
24
|
-
menuHalfChecked:[]
|
|
20
|
+
menuOpen: false,
|
|
21
|
+
menuTree: [],
|
|
22
|
+
menuTreeLoading: false,
|
|
23
|
+
menuChecked: [],
|
|
24
|
+
menuHalfChecked: []
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
formRef = React.createRef()
|
|
28
28
|
tableRef = React.createRef()
|
|
29
29
|
|
|
30
|
+
handleAdd = () => {
|
|
31
|
+
this.setState({formOpen: true, formValues: {}})
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
handleEdit = record => {
|
|
35
|
+
this.setState({formOpen: true, formValues: record}, () => {
|
|
36
|
+
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
handleEditUser = record => {
|
|
41
|
+
this.setState({usersModalOpen: true, formValues: record})
|
|
42
|
+
HttpUtils.get('admin/sysRole/userList', {id: record.id}).then(rs => {
|
|
43
|
+
this.setState({userList: rs.list, targetKeys: rs.selectedKeys})
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
onFinish = values => {
|
|
48
|
+
HttpUtils.post('admin/sysRole/save', values).then(rs => {
|
|
49
|
+
this.setState({formOpen: false})
|
|
50
|
+
this.tableRef.current.reload()
|
|
51
|
+
})
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
handleDelete = record => {
|
|
55
|
+
HttpUtils.get('admin/sysRole/delete', {id: record.id}).then(rs => {
|
|
56
|
+
this.tableRef.current.reload()
|
|
57
|
+
})
|
|
58
|
+
}
|
|
59
|
+
|
|
30
60
|
columns = [
|
|
31
61
|
|
|
32
62
|
{
|
|
@@ -86,7 +116,7 @@ export default class extends React.Component {
|
|
|
86
116
|
width: 300,
|
|
87
117
|
render(v) {
|
|
88
118
|
if (v) {
|
|
89
|
-
return <
|
|
119
|
+
return <ViewText value={v.join(',')} ellipsis={true} />
|
|
90
120
|
}
|
|
91
121
|
}
|
|
92
122
|
|
|
@@ -104,7 +134,7 @@ export default class extends React.Component {
|
|
|
104
134
|
onClick={() => this.handleEditUser(record)}>用户设置</Button>
|
|
105
135
|
|
|
106
136
|
<Button size='small' perm='sysRole:manage' disabled={record.builtin}
|
|
107
|
-
onClick={() => PageUtils.open('/system/role/perm?id='+record.id, '角色权限设置')}>权限设置</Button>
|
|
137
|
+
onClick={() => PageUtils.open('/system/role/perm?id=' + record.id, '角色权限设置')}>权限设置</Button>
|
|
108
138
|
|
|
109
139
|
<Button size='small' perm='sysRole:manage' disabled={record.builtin}
|
|
110
140
|
onClick={() => this.handleEdit(record)}>编辑</Button>
|
|
@@ -118,67 +148,33 @@ export default class extends React.Component {
|
|
|
118
148
|
},
|
|
119
149
|
]
|
|
120
150
|
|
|
121
|
-
|
|
122
|
-
this.setState({formOpen: true, formValues: {}})
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
handleEdit = record => {
|
|
126
|
-
this.setState({formOpen: true, formValues: record}, () => {
|
|
127
|
-
|
|
128
|
-
})
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
handleEditUser = record => {
|
|
133
|
-
this.setState({usersModalOpen: true, formValues: record})
|
|
134
|
-
HttpUtils.get('admin/sysRole/userList', {id: record.id}).then(rs => {
|
|
135
|
-
this.setState({userList: rs.list, targetKeys: rs.selectedKeys})
|
|
136
|
-
})
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
onFinish = values => {
|
|
142
|
-
HttpUtils.post('admin/sysRole/save', values).then(rs => {
|
|
143
|
-
this.setState({formOpen: false})
|
|
144
|
-
this.tableRef.current.reload()
|
|
145
|
-
})
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
handleDelete = record => {
|
|
150
|
-
HttpUtils.get('admin/sysRole/delete', {id: record.id}).then(rs => {
|
|
151
|
-
this.tableRef.current.reload()
|
|
152
|
-
})
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
handleSaveUsers =()=>{
|
|
151
|
+
handleSaveUsers = () => {
|
|
156
152
|
const params = {
|
|
157
153
|
id: this.state.formValues.id,
|
|
158
|
-
userIdList:this.state.targetKeys
|
|
154
|
+
userIdList: this.state.targetKeys
|
|
159
155
|
}
|
|
160
156
|
HttpUtils.post('admin/sysRole/grantUsers', params).then(rs => {
|
|
161
|
-
this.setState({usersModalOpen:false})
|
|
157
|
+
this.setState({usersModalOpen: false})
|
|
162
158
|
})
|
|
163
159
|
}
|
|
164
160
|
|
|
165
|
-
handleEditMenu =(record)=>{
|
|
166
|
-
this.setState({menuOpen:true,formValues:record,menuTreeLoading:true})
|
|
161
|
+
handleEditMenu = (record) => {
|
|
162
|
+
this.setState({menuOpen: true, formValues: record, menuTreeLoading: true})
|
|
167
163
|
HttpUtils.get('admin/sysRole/ownMenu', {id: record.id}).then(rs => {
|
|
168
|
-
this.setState({menuChecked:rs.checked,menuHalfChecked:rs.halfChecked})
|
|
164
|
+
this.setState({menuChecked: rs.checked, menuHalfChecked: rs.halfChecked})
|
|
169
165
|
})
|
|
170
166
|
HttpUtils.get('admin/sysRole/menuTree').then(rs => {
|
|
171
|
-
this.setState({menuTree:rs, menuTreeLoading:false})
|
|
167
|
+
this.setState({menuTree: rs, menuTreeLoading: false})
|
|
172
168
|
})
|
|
173
169
|
}
|
|
174
|
-
handleGrantMenu =()=>{
|
|
170
|
+
handleGrantMenu = () => {
|
|
175
171
|
const params = {
|
|
176
172
|
id: this.state.formValues.id,
|
|
177
|
-
menuIds:[...this.state.menuChecked, ...this.state.menuHalfChecked]
|
|
173
|
+
menuIds: [...this.state.menuChecked, ...this.state.menuHalfChecked]
|
|
178
174
|
}
|
|
179
175
|
HttpUtils.post('admin/sysRole/grantMenu', params).then(rs => {
|
|
180
176
|
debugger
|
|
181
|
-
this.setState({menuOpen:false})
|
|
177
|
+
this.setState({menuOpen: false})
|
|
182
178
|
})
|
|
183
179
|
}
|
|
184
180
|
|
|
@@ -237,14 +233,12 @@ export default class extends React.Component {
|
|
|
237
233
|
</Form.Item>
|
|
238
234
|
|
|
239
235
|
|
|
240
|
-
|
|
241
|
-
|
|
242
236
|
</Form>
|
|
243
237
|
</Modal>
|
|
244
238
|
|
|
245
239
|
|
|
246
|
-
<Modal title={'角色用户' +"【" +this.state.formValues?.name + '】'}
|
|
247
|
-
open={this.state.usersModalOpen
|
|
240
|
+
<Modal title={'角色用户' + "【" + this.state.formValues?.name + '】'}
|
|
241
|
+
open={this.state.usersModalOpen}
|
|
248
242
|
destroyOnHidden
|
|
249
243
|
maskClosable={false}
|
|
250
244
|
width={800}
|
|
@@ -254,7 +248,7 @@ export default class extends React.Component {
|
|
|
254
248
|
|
|
255
249
|
|
|
256
250
|
<Transfer
|
|
257
|
-
listStyle={{height:'60vh', width:300}}
|
|
251
|
+
listStyle={{height: '60vh', width: 300}}
|
|
258
252
|
|
|
259
253
|
dataSource={this.state.userList} titles={["未选择", "已选择"]}
|
|
260
254
|
targetKeys={this.state.targetKeys}
|
|
@@ -265,7 +259,7 @@ export default class extends React.Component {
|
|
|
265
259
|
targetKeys: nextTargetKeys
|
|
266
260
|
})
|
|
267
261
|
}}
|
|
268
|
-
onSelectChange={(sourceSelectedKeys, targetSelectedKeys)=>{
|
|
262
|
+
onSelectChange={(sourceSelectedKeys, targetSelectedKeys) => {
|
|
269
263
|
this.setState({
|
|
270
264
|
selectedKeys: [...sourceSelectedKeys, ...targetSelectedKeys]
|
|
271
265
|
})
|
|
@@ -276,8 +270,8 @@ export default class extends React.Component {
|
|
|
276
270
|
|
|
277
271
|
</Modal>
|
|
278
272
|
|
|
279
|
-
<Modal title={'角色授权菜单权限' +"【" +this.state.formValues?.name + '】'}
|
|
280
|
-
open={this.state.menuOpen
|
|
273
|
+
<Modal title={'角色授权菜单权限' + "【" + this.state.formValues?.name + '】'}
|
|
274
|
+
open={this.state.menuOpen}
|
|
281
275
|
destroyOnHidden
|
|
282
276
|
maskClosable={false}
|
|
283
277
|
width={800}
|
|
@@ -285,20 +279,20 @@ export default class extends React.Component {
|
|
|
285
279
|
onOk={this.handleGrantMenu}
|
|
286
280
|
loading={this.state.menuTreeLoading}
|
|
287
281
|
>
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
282
|
+
<Tree
|
|
283
|
+
height={600}
|
|
284
|
+
treeData={this.state.menuTree}
|
|
285
|
+
multiple
|
|
286
|
+
checkable
|
|
287
|
+
checkedKeys={{checked: this.state.menuChecked}}
|
|
288
|
+
onCheck={(keys, e) => {
|
|
289
|
+
this.setState({menuChecked: keys, menuHalfChecked: e.halfCheckedKeys})
|
|
290
|
+
}}
|
|
291
|
+
defaultExpandAll
|
|
292
|
+
titleRender={node => {
|
|
293
|
+
return <span title={node.perm}>{node.title}</span>
|
|
294
|
+
}}
|
|
295
|
+
/>
|
|
302
296
|
</Modal>
|
|
303
297
|
</Page>
|
|
304
298
|
|
|
@@ -14,6 +14,27 @@ export default class extends React.Component {
|
|
|
14
14
|
formRef = React.createRef()
|
|
15
15
|
tableRef = React.createRef()
|
|
16
16
|
|
|
17
|
+
handleAdd = () => {
|
|
18
|
+
this.setState({formOpen: true, formValues: {}})
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
handleEdit = record => {
|
|
22
|
+
this.setState({formOpen: true, formValues: record})
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
onFinish = values => {
|
|
26
|
+
HttpUtils.post('admin/sysManual/save', values).then(rs => {
|
|
27
|
+
this.setState({formOpen: false})
|
|
28
|
+
this.tableRef.current.reload()
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
handleDelete = record => {
|
|
33
|
+
HttpUtils.get('admin/sysManual/delete', {id: record.id}).then(rs => {
|
|
34
|
+
this.tableRef.current.reload()
|
|
35
|
+
})
|
|
36
|
+
}
|
|
37
|
+
|
|
17
38
|
columns = [
|
|
18
39
|
|
|
19
40
|
{
|
|
@@ -27,15 +48,15 @@ export default class extends React.Component {
|
|
|
27
48
|
title: '版本',
|
|
28
49
|
dataIndex: 'version',
|
|
29
50
|
render(version) {
|
|
30
|
-
return 'v' +version;
|
|
51
|
+
return 'v' + version;
|
|
31
52
|
}
|
|
32
53
|
},
|
|
33
54
|
|
|
34
55
|
{
|
|
35
56
|
title: '文件',
|
|
36
57
|
dataIndex: 'fileId',
|
|
37
|
-
render(id){
|
|
38
|
-
|
|
58
|
+
render(id) {
|
|
59
|
+
const url = 'admin/sysFile/preview/' + id;
|
|
39
60
|
return <a href={url} target='_blank'>查看文件</a>
|
|
40
61
|
}
|
|
41
62
|
|
|
@@ -46,7 +67,8 @@ export default class extends React.Component {
|
|
|
46
67
|
render: (_, record) => (
|
|
47
68
|
<ButtonList>
|
|
48
69
|
<Button size='small' perm='sysManual:save' onClick={() => this.handleEdit(record)}>编辑</Button>
|
|
49
|
-
<Popconfirm perm='sysManual:delete' title='是否确定删除操作手册'
|
|
70
|
+
<Popconfirm perm='sysManual:delete' title='是否确定删除操作手册'
|
|
71
|
+
onConfirm={() => this.handleDelete(record)}>
|
|
50
72
|
<Button size='small'>删除</Button>
|
|
51
73
|
</Popconfirm>
|
|
52
74
|
</ButtonList>
|
|
@@ -55,29 +77,6 @@ export default class extends React.Component {
|
|
|
55
77
|
|
|
56
78
|
]
|
|
57
79
|
|
|
58
|
-
handleAdd = () => {
|
|
59
|
-
this.setState({formOpen: true, formValues: {}})
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
handleEdit = record => {
|
|
63
|
-
this.setState({formOpen: true, formValues: record})
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
onFinish = values => {
|
|
68
|
-
HttpUtils.post('admin/sysManual/save', values).then(rs => {
|
|
69
|
-
this.setState({formOpen: false})
|
|
70
|
-
this.tableRef.current.reload()
|
|
71
|
-
})
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
handleDelete = record => {
|
|
76
|
-
HttpUtils.get('admin/sysManual/delete', {id: record.id}).then(rs => {
|
|
77
|
-
this.tableRef.current.reload()
|
|
78
|
-
})
|
|
79
|
-
}
|
|
80
|
-
|
|
81
80
|
render() {
|
|
82
81
|
return <Page>
|
|
83
82
|
<ProTable
|
|
@@ -113,7 +112,7 @@ export default class extends React.Component {
|
|
|
113
112
|
</Form.Item>
|
|
114
113
|
|
|
115
114
|
<Form.Item label='文件' name='fileId' rules={[{required: true}]}>
|
|
116
|
-
<FieldUploadFile accept=".pdf" maxCount={1}
|
|
115
|
+
<FieldUploadFile accept=".pdf" maxCount={1}/>
|
|
117
116
|
</Form.Item>
|
|
118
117
|
|
|
119
118
|
</Form>
|
|
@@ -15,6 +15,8 @@ export default class UserPerm extends React.Component {
|
|
|
15
15
|
dataPermType: null
|
|
16
16
|
},
|
|
17
17
|
}
|
|
18
|
+
formRef = React.createRef()
|
|
19
|
+
|
|
18
20
|
show(item) {
|
|
19
21
|
this.setState({visible: true})
|
|
20
22
|
|
|
@@ -38,7 +40,7 @@ export default class UserPerm extends React.Component {
|
|
|
38
40
|
confirmLoading: false
|
|
39
41
|
})
|
|
40
42
|
this.props.onOk()
|
|
41
|
-
}).finally(()=>{
|
|
43
|
+
}).finally(() => {
|
|
42
44
|
this.setState({
|
|
43
45
|
confirmLoading: false
|
|
44
46
|
})
|
|
@@ -46,11 +48,6 @@ export default class UserPerm extends React.Component {
|
|
|
46
48
|
})
|
|
47
49
|
}
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
formRef = React.createRef()
|
|
52
|
-
|
|
53
|
-
|
|
54
51
|
render() {
|
|
55
52
|
let {visible, confirmLoading} = this.state
|
|
56
53
|
|
|
@@ -76,13 +73,13 @@ export default class UserPerm extends React.Component {
|
|
|
76
73
|
<FieldRemoteSelectMultiple url='admin/sysRole/options'/>
|
|
77
74
|
</Form.Item>
|
|
78
75
|
<Form.Item label='数据权限' name='dataPermType' rules={[{required: true}]}>
|
|
79
|
-
<FieldDictSelect typeCode='dataPermType'
|
|
76
|
+
<FieldDictSelect typeCode='dataPermType'/>
|
|
80
77
|
</Form.Item>
|
|
81
78
|
|
|
82
79
|
|
|
83
80
|
{this.state.formValues.dataPermType === 'CUSTOM' && <>
|
|
84
81
|
<Form.Item label='组织机构' name='orgIds'>
|
|
85
|
-
|
|
82
|
+
<FieldSysOrgTree/>
|
|
86
83
|
</Form.Item>
|
|
87
84
|
</>}
|
|
88
85
|
|