@jiangood/open-admin 1.0.0 → 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 -7
- 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 -148
- 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
package/src/pages/404.jsx
CHANGED
package/src/pages/about.jsx
CHANGED
package/src/pages/index.jsx
CHANGED
|
@@ -1,25 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import {Card} from "antd";
|
|
3
|
-
import {MessageUtils} from "../framework";
|
|
4
3
|
|
|
5
4
|
|
|
6
|
-
export default
|
|
7
|
-
|
|
8
|
-
state = {}
|
|
9
|
-
|
|
10
|
-
componentDidMount() {
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
render() {
|
|
15
|
-
|
|
16
|
-
return <Card>
|
|
17
|
-
欢迎使用本系统
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
</Card>
|
|
23
|
-
}
|
|
5
|
+
export default function () {
|
|
24
6
|
|
|
7
|
+
return <Card>
|
|
8
|
+
欢迎使用本系统
|
|
9
|
+
</Card>
|
|
25
10
|
}
|
package/src/pages/login.jsx
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
3
|
import {LoginPage} from "../framework/pages/LoginPage";
|
|
4
|
-
import {Button} from "antd";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export default class extends React.Component {
|
|
8
4
|
|
|
9
5
|
|
|
6
|
+
export default class extends React.Component {
|
|
10
7
|
|
|
11
8
|
|
|
12
9
|
render() {
|
|
13
|
-
return <LoginPage
|
|
10
|
+
return <LoginPage/>
|
|
14
11
|
// 支持自定义
|
|
15
|
-
|
|
12
|
+
// return <LoginPage form={<Button type={"primary"} size='large'>xx登录</Button>} />
|
|
16
13
|
}
|
|
17
14
|
|
|
18
15
|
|
|
19
|
-
|
|
20
|
-
|
|
21
16
|
}
|
|
@@ -4,14 +4,14 @@ import {Button, Descriptions, message, Space, Table, Typography} from "antd";
|
|
|
4
4
|
|
|
5
5
|
const {Title, Paragraph, Text, Link} = Typography;
|
|
6
6
|
|
|
7
|
-
export
|
|
7
|
+
export class ApiDoc extends React.Component {
|
|
8
8
|
|
|
9
9
|
state = {
|
|
10
10
|
url: null,
|
|
11
11
|
appId: null,
|
|
12
12
|
apiList: [],
|
|
13
13
|
frameworkVersion: null,
|
|
14
|
-
errorList:[]
|
|
14
|
+
errorList: []
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
columns = [
|
|
@@ -44,14 +44,14 @@ export class ApiDoc extends React.Component {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
|
|
48
47
|
render() {
|
|
49
48
|
const {apiList} = this.state
|
|
50
49
|
return <div>
|
|
51
50
|
|
|
52
51
|
<Space>
|
|
53
|
-
<FieldRemoteSelect url='admin/apiAccount/accountOptions' placeholder='请选择账号'
|
|
54
|
-
|
|
52
|
+
<FieldRemoteSelect url='admin/apiAccount/accountOptions' placeholder='请选择账号'
|
|
53
|
+
onChange={v => this.loadData(v)}/>
|
|
54
|
+
<Button type='primary'>导出PDF</Button>
|
|
55
55
|
</Space>
|
|
56
56
|
<div id='doc-content'>
|
|
57
57
|
<Title level={1}>接口说明文档</Title>
|
|
@@ -88,23 +88,27 @@ export class ApiDoc extends React.Component {
|
|
|
88
88
|
<Table rowKey='name' columns={this.columns} bordered dataSource={[
|
|
89
89
|
{name: 'appId', type: 'String', required: true, desc: '账号标识,appId'},
|
|
90
90
|
{name: 'timestamp', type: 'String', required: true, desc: '时间戳,当前UNIX时间戳,13位,精确到毫秒'},
|
|
91
|
-
{
|
|
91
|
+
{
|
|
92
|
+
name: 'sign',
|
|
93
|
+
type: 'String',
|
|
94
|
+
required: true,
|
|
95
|
+
desc: '数据签名,appId + appSecret + timestamp拼接后,进行md5摘要,值为32位小写'
|
|
96
|
+
},
|
|
92
97
|
]} size='small' pagination={false}>
|
|
93
98
|
</Table>
|
|
94
99
|
|
|
95
100
|
|
|
96
|
-
|
|
97
101
|
<Typography.Title level={4}>公共错误码</Typography.Title>
|
|
98
|
-
<Table
|
|
99
|
-
{dataIndex:'code',title:'错误码'},
|
|
100
|
-
{dataIndex:'message', title:'错误描述'}
|
|
102
|
+
<Table columns={[
|
|
103
|
+
{dataIndex: 'code', title: '错误码'},
|
|
104
|
+
{dataIndex: 'message', title: '错误描述'}
|
|
101
105
|
]} rowKey='code' bordered dataSource={this.state.errorList} size='small' pagination={false}>
|
|
102
106
|
</Table>
|
|
103
107
|
|
|
104
108
|
<Typography.Title level={2}>二、接口列表</Typography.Title>
|
|
105
109
|
{apiList.map((api, index) => {
|
|
106
110
|
return <div key={index}>
|
|
107
|
-
<Typography.Title level={3}>{
|
|
111
|
+
<Typography.Title level={3}>{api.name} </Typography.Title>
|
|
108
112
|
<p>接口名称: {api.action}</p>
|
|
109
113
|
<p>功能描述:{api.desc}</p>
|
|
110
114
|
|
|
@@ -118,10 +122,10 @@ export class ApiDoc extends React.Component {
|
|
|
118
122
|
<Table columns={this.columns} bordered
|
|
119
123
|
rowKey={'name'}
|
|
120
124
|
dataSource={[
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
+
{name: 'code', type: 'int', required: true, desc: '响应码,0表示成功'},
|
|
126
|
+
{name: 'message', type: 'String', required: false, desc: '结果提示信息'},
|
|
127
|
+
{name: 'data', type: api.returnType, required: false, desc: '返回数据'}
|
|
128
|
+
]} size='small' pagination={false}>
|
|
125
129
|
</Table>
|
|
126
130
|
{api.returnList != null && api.returnList.length > 0 && <>
|
|
127
131
|
<Title level={5}>data 对象 {api.returnType} 说明</Title>
|
|
@@ -4,7 +4,8 @@ import React from 'react'
|
|
|
4
4
|
import {
|
|
5
5
|
ButtonList,
|
|
6
6
|
FieldBoolean,
|
|
7
|
-
FieldDate,
|
|
7
|
+
FieldDate,
|
|
8
|
+
HttpUtils,
|
|
8
9
|
Page,
|
|
9
10
|
PageUtils,
|
|
10
11
|
ProTable,
|
|
@@ -24,6 +25,27 @@ export default class extends React.Component {
|
|
|
24
25
|
formRef = React.createRef()
|
|
25
26
|
tableRef = React.createRef()
|
|
26
27
|
|
|
28
|
+
handleAdd = () => {
|
|
29
|
+
this.setState({formOpen: true, formValues: {}})
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
handleEdit = record => {
|
|
33
|
+
this.setState({formOpen: true, formValues: record})
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
onFinish = values => {
|
|
37
|
+
HttpUtils.post('admin/apiAccount/save', values).then(rs => {
|
|
38
|
+
this.setState({formOpen: false})
|
|
39
|
+
this.tableRef.current.reload()
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
handleDelete = record => {
|
|
44
|
+
HttpUtils.get('admin/apiAccount/delete', {id: record.id}).then(rs => {
|
|
45
|
+
this.tableRef.current.reload()
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
|
|
27
49
|
columns = [
|
|
28
50
|
{
|
|
29
51
|
title: '名称',
|
|
@@ -73,29 +95,6 @@ export default class extends React.Component {
|
|
|
73
95
|
},
|
|
74
96
|
]
|
|
75
97
|
|
|
76
|
-
handleAdd = () => {
|
|
77
|
-
this.setState({formOpen: true, formValues: {}})
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
handleEdit = record => {
|
|
81
|
-
this.setState({formOpen: true, formValues: record})
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
onFinish = values => {
|
|
86
|
-
HttpUtils.post('admin/apiAccount/save', values).then(rs => {
|
|
87
|
-
this.setState({formOpen: false})
|
|
88
|
-
this.tableRef.current.reload()
|
|
89
|
-
})
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
handleDelete = record => {
|
|
94
|
-
HttpUtils.get('admin/apiAccount/delete', {id: record.id}).then(rs => {
|
|
95
|
-
this.tableRef.current.reload()
|
|
96
|
-
})
|
|
97
|
-
}
|
|
98
|
-
|
|
99
98
|
randomAppSecret = () => {
|
|
100
99
|
const appSecret = StringUtils.random(32)
|
|
101
100
|
this.formRef.current.setFieldsValue({appSecret})
|
|
@@ -6,15 +6,15 @@ import {ArrUtils, HttpUtils, Page, PageUtils, ProTable} from "../../../framework
|
|
|
6
6
|
export default class extends React.Component {
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
state = {
|
|
10
|
+
perms: []
|
|
11
|
+
}
|
|
12
|
+
|
|
9
13
|
constructor(props) {
|
|
10
14
|
super(props);
|
|
11
15
|
this.accountId = PageUtils.currentParams().accountId
|
|
12
16
|
}
|
|
13
17
|
|
|
14
|
-
state = {
|
|
15
|
-
perms: []
|
|
16
|
-
}
|
|
17
|
-
|
|
18
18
|
async componentDidMount() {
|
|
19
19
|
const rs = await HttpUtils.get('admin/apiAccount/get', {id: this.accountId})
|
|
20
20
|
this.setState({perms: rs.perms})
|
|
@@ -16,7 +16,6 @@ export default class extends React.Component {
|
|
|
16
16
|
columns = [
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
|
|
20
19
|
{
|
|
21
20
|
title: '编码',
|
|
22
21
|
dataIndex: 'code',
|
|
@@ -29,11 +28,9 @@ export default class extends React.Component {
|
|
|
29
28
|
},
|
|
30
29
|
|
|
31
30
|
|
|
32
|
-
|
|
33
31
|
]
|
|
34
32
|
|
|
35
33
|
|
|
36
|
-
|
|
37
34
|
render() {
|
|
38
35
|
return <>
|
|
39
36
|
<ProTable
|
|
@@ -60,8 +57,6 @@ export default class extends React.Component {
|
|
|
60
57
|
/>
|
|
61
58
|
|
|
62
59
|
|
|
63
|
-
|
|
64
|
-
|
|
65
60
|
</>
|
|
66
61
|
|
|
67
62
|
|
|
@@ -21,6 +21,28 @@ export default class extends React.Component {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
handleAdd = () => {
|
|
25
|
+
this.setState({formOpen: true, formValues: {}})
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
handleEdit = record => {
|
|
29
|
+
this.setState({formOpen: true, formValues: record})
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
onFinish = values => {
|
|
33
|
+
values.sysDict = {id: this.props.sysDictId}
|
|
34
|
+
HttpUtils.post('admin/sysDictItem/save', values).then(rs => {
|
|
35
|
+
this.setState({formOpen: false})
|
|
36
|
+
this.tableRef.current.reload()
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
handleDelete = row => {
|
|
41
|
+
HttpUtils.get('admin/sysDictItem/delete', row).then(rs => {
|
|
42
|
+
this.tableRef.current.reload()
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
|
|
24
46
|
columns = [
|
|
25
47
|
{
|
|
26
48
|
title: '文本',
|
|
@@ -77,30 +99,6 @@ export default class extends React.Component {
|
|
|
77
99
|
},
|
|
78
100
|
]
|
|
79
101
|
|
|
80
|
-
handleAdd = () => {
|
|
81
|
-
this.setState({formOpen: true, formValues: {}})
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
handleEdit = record => {
|
|
85
|
-
this.setState({formOpen: true, formValues: record})
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
onFinish = values => {
|
|
90
|
-
values.sysDict = {id: this.props.sysDictId}
|
|
91
|
-
HttpUtils.post('admin/sysDictItem/save', values).then(rs => {
|
|
92
|
-
this.setState({formOpen: false})
|
|
93
|
-
this.tableRef.current.reload()
|
|
94
|
-
})
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
handleDelete = row => {
|
|
99
|
-
HttpUtils.get('admin/sysDictItem/delete', row).then(rs => {
|
|
100
|
-
this.tableRef.current.reload()
|
|
101
|
-
})
|
|
102
|
-
}
|
|
103
|
-
|
|
104
102
|
render() {
|
|
105
103
|
return <>
|
|
106
104
|
<ProTable
|
|
@@ -162,7 +160,7 @@ export default class extends React.Component {
|
|
|
162
160
|
</Row>
|
|
163
161
|
|
|
164
162
|
<Form.Item label='启用' name='enabled' rules={[{required: true}]}>
|
|
165
|
-
|
|
163
|
+
<FieldBoolean/>
|
|
166
164
|
</Form.Item>
|
|
167
165
|
|
|
168
166
|
</Form>
|
|
@@ -12,10 +12,10 @@ export default class extends React.Component {
|
|
|
12
12
|
|
|
13
13
|
render() {
|
|
14
14
|
return <Splitter>
|
|
15
|
-
<Splitter.Panel defaultSize={600} style={{paddingRight:16}}>
|
|
15
|
+
<Splitter.Panel defaultSize={600} style={{paddingRight: 16}}>
|
|
16
16
|
<Dict onChange={selectedKey => this.setState({selectedKey})}/>
|
|
17
17
|
</Splitter.Panel>
|
|
18
|
-
<Splitter.Panel style={{paddingLeft:16}}>
|
|
18
|
+
<Splitter.Panel style={{paddingLeft: 16}}>
|
|
19
19
|
<DictItem sysDictId={this.state.selectedKey}/>
|
|
20
20
|
</Splitter.Panel>
|
|
21
21
|
</Splitter>
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
import {Button, Form, Input, Modal, Popconfirm} from 'antd'
|
|
2
2
|
import React from 'react'
|
|
3
|
-
import {
|
|
4
|
-
ButtonList,
|
|
5
|
-
FieldDateRange,
|
|
6
|
-
FieldDictSelect,
|
|
7
|
-
FieldUploadFile,
|
|
8
|
-
HttpUtils,
|
|
9
|
-
ProTable,
|
|
10
|
-
SysUtils
|
|
11
|
-
} from "../../../framework";
|
|
3
|
+
import {ButtonList, FieldDateRange, FieldDictSelect, FieldUploadFile, HttpUtils, ProTable} from "../../../framework";
|
|
12
4
|
import {CloudUploadOutlined} from "@ant-design/icons";
|
|
13
5
|
|
|
14
|
-
|
|
15
6
|
export default class extends React.Component {
|
|
16
7
|
|
|
17
8
|
state = {
|
|
@@ -22,13 +13,18 @@ export default class extends React.Component {
|
|
|
22
13
|
tableRef = React.createRef()
|
|
23
14
|
formRef = React.createRef()
|
|
24
15
|
|
|
16
|
+
handleDelete = row => {
|
|
17
|
+
HttpUtils.get('admin/sysFile/delete', row).then(rs => {
|
|
18
|
+
this.tableRef.current.reload()
|
|
19
|
+
})
|
|
20
|
+
}
|
|
25
21
|
|
|
26
22
|
columns = [
|
|
27
23
|
{
|
|
28
24
|
title: '原始名称',
|
|
29
25
|
tooltip: '上传时候的文件名',
|
|
30
26
|
dataIndex: 'originName',
|
|
31
|
-
width:200,
|
|
27
|
+
width: 200,
|
|
32
28
|
},
|
|
33
29
|
{
|
|
34
30
|
title: '存储名称',
|
|
@@ -61,16 +57,16 @@ export default class extends React.Component {
|
|
|
61
57
|
{
|
|
62
58
|
title: '预览',
|
|
63
59
|
dataIndex: 'id',
|
|
64
|
-
render(id,record){
|
|
65
|
-
const nodes = [
|
|
60
|
+
render(id, record) {
|
|
61
|
+
const nodes = [<a href={'/admin/sysFile/preview/' + record.id} target='_blank'>预览</a>]
|
|
66
62
|
|
|
67
63
|
|
|
68
|
-
if(record.imageUrls?.length > 0){
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
64
|
+
if (record.imageUrls?.length > 0) {
|
|
65
|
+
for (let item of record.imageUrls) {
|
|
66
|
+
let url = item.url;
|
|
67
|
+
let label = item.label;
|
|
68
|
+
nodes.push(<a href={(url)} target='_blank' style={{marginLeft: 8}}>{label}</a>)
|
|
69
|
+
}
|
|
74
70
|
}
|
|
75
71
|
|
|
76
72
|
return nodes;
|
|
@@ -91,15 +87,6 @@ export default class extends React.Component {
|
|
|
91
87
|
},
|
|
92
88
|
]
|
|
93
89
|
|
|
94
|
-
|
|
95
|
-
handleDelete = row => {
|
|
96
|
-
HttpUtils.get('admin/sysFile/delete', row).then(rs => {
|
|
97
|
-
this.tableRef.current.reload()
|
|
98
|
-
})
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
90
|
render() {
|
|
104
91
|
return <>
|
|
105
92
|
<ProTable
|
|
@@ -143,7 +130,7 @@ export default class extends React.Component {
|
|
|
143
130
|
>
|
|
144
131
|
<Form ref={this.formRef}
|
|
145
132
|
initialValues={this.state.formValues}
|
|
146
|
-
|
|
133
|
+
>
|
|
147
134
|
<Form.Item name='文件'>
|
|
148
135
|
<FieldUploadFile accept="*/*"/>
|
|
149
136
|
</Form.Item>
|
|
@@ -59,6 +59,8 @@ export default class extends React.Component {
|
|
|
59
59
|
|
|
60
60
|
executeRecordOpen: false,
|
|
61
61
|
}
|
|
62
|
+
tableRef = React.createRef()
|
|
63
|
+
formRef = React.createRef()
|
|
62
64
|
|
|
63
65
|
componentDidMount() {
|
|
64
66
|
HttpUtils.get('admin/job/jobClassOptions').then(rs => {
|
|
@@ -66,8 +68,40 @@ export default class extends React.Component {
|
|
|
66
68
|
})
|
|
67
69
|
}
|
|
68
70
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
handleAdd = () => {
|
|
72
|
+
this.setState({formOpen: true, formValues: {}, paramList: []})
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
handleEdit = (record) => {
|
|
76
|
+
this.loadJobParamFields(record.jobClass, record.jobData)
|
|
77
|
+
this.setState({formOpen: true, formValues: record,})
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
loadJobParamFields(className, jobData) {
|
|
81
|
+
HttpUtils.post("admin/job/getJobParamFields", jobData || {}, {className}).then(rs => {
|
|
82
|
+
this.setState({paramList: rs})
|
|
83
|
+
})
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
onFinish = (values) => {
|
|
87
|
+
HttpUtils.post('admin/job/save', values).then(rs => {
|
|
88
|
+
this.setState({formOpen: false})
|
|
89
|
+
this.tableRef.current.reload();
|
|
90
|
+
})
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
handleDelete = row => {
|
|
94
|
+
const hide = message.loading("删除作业中...")
|
|
95
|
+
HttpUtils.get('admin/job/delete', {id: row.id}).then(rs => {
|
|
96
|
+
this.tableRef.current.reload();
|
|
97
|
+
}).catch(hide)
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
handleTriggerJob = row => {
|
|
101
|
+
HttpUtils.get('admin/job/triggerJob', {id: row.id}).then(rs => {
|
|
102
|
+
this.tableRef.current.reload();
|
|
103
|
+
})
|
|
104
|
+
}
|
|
71
105
|
|
|
72
106
|
columns = [
|
|
73
107
|
{
|
|
@@ -97,7 +131,6 @@ export default class extends React.Component {
|
|
|
97
131
|
},
|
|
98
132
|
|
|
99
133
|
|
|
100
|
-
|
|
101
134
|
{
|
|
102
135
|
title: '启用状态',
|
|
103
136
|
dataIndex: 'enabled',
|
|
@@ -114,7 +147,7 @@ export default class extends React.Component {
|
|
|
114
147
|
|
|
115
148
|
return (
|
|
116
149
|
<Space>
|
|
117
|
-
<Button size='small' onClick={()=>this.showExecuteRecord(record)}>执行记录</Button>
|
|
150
|
+
<Button size='small' onClick={() => this.showExecuteRecord(record)}>执行记录</Button>
|
|
118
151
|
<Button size='small' onClick={() => this.handleTriggerJob(record)}>执行一次</Button>
|
|
119
152
|
<Button size='small' onClick={() => this.handleEdit(record)}> 编辑 </Button>
|
|
120
153
|
<Popconfirm title='是否确定删除?' onConfirm={() => this.handleDelete(record)}>
|
|
@@ -127,39 +160,6 @@ export default class extends React.Component {
|
|
|
127
160
|
|
|
128
161
|
]
|
|
129
162
|
|
|
130
|
-
handleAdd = () => {
|
|
131
|
-
this.setState({formOpen: true, formValues: {}, paramList: []})
|
|
132
|
-
}
|
|
133
|
-
handleEdit = (record) => {
|
|
134
|
-
this.loadJobParamFields(record.jobClass, record.jobData)
|
|
135
|
-
this.setState({formOpen: true, formValues: record,})
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
loadJobParamFields(className, jobData) {
|
|
139
|
-
HttpUtils.post("admin/job/getJobParamFields", jobData || {}, {className}).then(rs => {
|
|
140
|
-
this.setState({paramList: rs})
|
|
141
|
-
})
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
onFinish = (values) => {
|
|
145
|
-
HttpUtils.post('admin/job/save', values).then(rs => {
|
|
146
|
-
this.setState({formOpen: false})
|
|
147
|
-
this.tableRef.current.reload();
|
|
148
|
-
})
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
handleDelete = row => {
|
|
152
|
-
const hide = message.loading("删除作业中...")
|
|
153
|
-
HttpUtils.get('admin/job/delete', {id: row.id}).then(rs => {
|
|
154
|
-
this.tableRef.current.reload();
|
|
155
|
-
}).catch(hide)
|
|
156
|
-
}
|
|
157
|
-
handleTriggerJob = row => {
|
|
158
|
-
HttpUtils.get('admin/job/triggerJob', {id: row.id}).then(rs => {
|
|
159
|
-
this.tableRef.current.reload();
|
|
160
|
-
})
|
|
161
|
-
}
|
|
162
|
-
|
|
163
163
|
showStatus = () => {
|
|
164
164
|
this.setState({statusOpen: true})
|
|
165
165
|
HttpUtils.get('admin/job/status').then(rs => {
|
|
@@ -168,7 +168,7 @@ export default class extends React.Component {
|
|
|
168
168
|
};
|
|
169
169
|
|
|
170
170
|
showExecuteRecord(record) {
|
|
171
|
-
this.setState({executeRecordOpen: true,formValues: record})
|
|
171
|
+
this.setState({executeRecordOpen: true, formValues: record})
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
|
|
@@ -272,24 +272,24 @@ export default class extends React.Component {
|
|
|
272
272
|
title: '是否成功',
|
|
273
273
|
dataIndex: 'success',
|
|
274
274
|
width: 200,
|
|
275
|
-
render:v=>{
|
|
276
|
-
if(v != null){
|
|
277
|
-
return v ? '成功':'异常'
|
|
275
|
+
render: v => {
|
|
276
|
+
if (v != null) {
|
|
277
|
+
return v ? '成功' : '异常'
|
|
278
278
|
}
|
|
279
279
|
}
|
|
280
280
|
},
|
|
281
281
|
{
|
|
282
282
|
title: '返回结果',
|
|
283
283
|
dataIndex: 'result',
|
|
284
|
-
width:300
|
|
284
|
+
width: 300
|
|
285
285
|
},
|
|
286
286
|
|
|
287
287
|
{
|
|
288
288
|
title: '操作',
|
|
289
289
|
dataIndex: 'option',
|
|
290
290
|
render: (_, record) => {
|
|
291
|
-
let url = '/admin/sys/log/'+ record.id;
|
|
292
|
-
return <a
|
|
291
|
+
let url = '/admin/sys/log/' + record.id;
|
|
292
|
+
return <a href={url} target='_blank'>日志</a>;
|
|
293
293
|
},
|
|
294
294
|
}
|
|
295
295
|
]} request={params => {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React, {Fragment} from 'react';
|
|
2
2
|
import {Form, Input, Tag} from "antd";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {ViewText, FieldDateRange, HttpUtils, ProTable} from "../../../framework";
|
|
5
4
|
|
|
6
5
|
export default class extends React.Component {
|
|
7
6
|
|
|
@@ -31,7 +30,7 @@ export default class extends React.Component {
|
|
|
31
30
|
title: '参数',
|
|
32
31
|
dataIndex: 'params',
|
|
33
32
|
render(v) {
|
|
34
|
-
return <
|
|
33
|
+
return <ViewText value={v} ellipsis={true} />
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
},
|
|
@@ -48,7 +47,7 @@ export default class extends React.Component {
|
|
|
48
47
|
title: '错误消息',
|
|
49
48
|
dataIndex: 'error',
|
|
50
49
|
render(v) {
|
|
51
|
-
return <
|
|
50
|
+
return <ViewText value={v} ellipsis={true} />
|
|
52
51
|
}
|
|
53
52
|
},
|
|
54
53
|
];
|