@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
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {Modal} from 'antd';
|
|
3
|
-
import './Ellipsis.less'
|
|
4
|
-
import {StringUtils} from "../utils";
|
|
5
|
-
|
|
6
|
-
export class Ellipsis extends React.Component {
|
|
7
|
-
static defaultProps = {length: 15}
|
|
8
|
-
|
|
9
|
-
render() {
|
|
10
|
-
let {length, children} = this.props;
|
|
11
|
-
let text = children;
|
|
12
|
-
if(!text){
|
|
13
|
-
return
|
|
14
|
-
}
|
|
15
|
-
if(text.length < this.props.length){
|
|
16
|
-
return text;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const shortText = StringUtils.ellipsis(text, length)
|
|
21
|
-
return (
|
|
22
|
-
<span className='ellipsis-text' onClick={this.showFull}>{shortText}</span>
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
showFull = () => {
|
|
27
|
-
const pre = this.props.pre || false
|
|
28
|
-
let node = this.props.children
|
|
29
|
-
if(pre){
|
|
30
|
-
node = <pre>{node}</pre>
|
|
31
|
-
}
|
|
32
|
-
Modal.info({
|
|
33
|
-
icon: null,
|
|
34
|
-
title:'文本内容',
|
|
35
|
-
content: node
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
};
|
|
39
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {Button, Modal, Popover} from 'antd';
|
|
3
|
-
import {StringUtils} from "../../utils";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export class ViewEllipsis extends React.Component {
|
|
7
|
-
|
|
8
|
-
static defaultProps = {maxLength: 15}
|
|
9
|
-
|
|
10
|
-
render() {
|
|
11
|
-
let {maxLength, value} = this.props;
|
|
12
|
-
|
|
13
|
-
const short = StringUtils.ellipsis(value, maxLength)
|
|
14
|
-
return <Popover placement="topLeft" title={'长文本'} content={<Button onClick={this.showModal}>点击查看全部内容</Button>}>
|
|
15
|
-
{short}
|
|
16
|
-
</Popover>
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
showModal = () => {
|
|
21
|
-
let {maxLength, value} = this.props;
|
|
22
|
-
Modal.info({
|
|
23
|
-
icon:null,
|
|
24
|
-
title:'长文本内容',
|
|
25
|
-
content: <div style={{height:500,overflowY:'auto'}}>{value}</div>,
|
|
26
|
-
width:700
|
|
27
|
-
})
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
}
|
|
File without changes
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import {Typography} from "antd";
|
|
3
|
-
|
|
4
|
-
interface ViewTextProps {
|
|
5
|
-
value?: string;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export class ViewText extends React.Component<ViewTextProps, any>{
|
|
9
|
-
|
|
10
|
-
render() {
|
|
11
|
-
if(this.props.value == null){
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
return <Typography.Text> {this.props.value}</Typography.Text>;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SelectProps } from 'antd/es/select';
|
|
3
|
-
|
|
4
|
-
export interface FieldBooleanProps {
|
|
5
|
-
|
|
6
|
-
type?:'select' | 'radio' | 'checkbox' | 'switch'; // 默认 select
|
|
7
|
-
value?: boolean;
|
|
8
|
-
onChange?: (value: boolean) => void;
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export class FieldBoolean extends React.Component<FieldBooleanProps, any> {}
|
|
13
|
-
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SelectProps } from 'antd/es/select';
|
|
3
|
-
|
|
4
|
-
export interface FieldDictSelectProps extends Omit<SelectProps, 'options' | 'children'|'mode'> {
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 请求地址
|
|
8
|
-
*/
|
|
9
|
-
typeCode: string ;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export class FieldDictSelect extends React.Component<FieldDictSelectProps, any> {}
|
|
13
|
-
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {Editor as TinyMceEditor} from '@tinymce/tinymce-react';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* 富文本编辑器
|
|
7
|
-
*
|
|
8
|
-
* 图片上传相关配置 https://www.tiny.cloud/docs/tinymce/7/image/
|
|
9
|
-
*/
|
|
10
|
-
export class FieldEditor extends React.Component {
|
|
11
|
-
render() {
|
|
12
|
-
let uploadUrl = 'admin/sysFile/upload'
|
|
13
|
-
let jsUrl = 'admin/tinymce/tinymce.min.js';
|
|
14
|
-
const {value,onChange,height} = this.props
|
|
15
|
-
|
|
16
|
-
return <>
|
|
17
|
-
<TinyMceEditor
|
|
18
|
-
initialValue={value}
|
|
19
|
-
tinymceScriptSrc={jsUrl}
|
|
20
|
-
init={{
|
|
21
|
-
min_height: 300,
|
|
22
|
-
language: 'zh_CN',
|
|
23
|
-
height: height,
|
|
24
|
-
|
|
25
|
-
// 上传图片
|
|
26
|
-
images_upload_url: uploadUrl,
|
|
27
|
-
promotion: false, // 不显示升级按钮(右上角)
|
|
28
|
-
cache_suffix: '?v=v7.7',
|
|
29
|
-
|
|
30
|
-
plugins: [
|
|
31
|
-
'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview',
|
|
32
|
-
'anchor', 'searchreplace', 'visualblocks', 'code', 'fullscreen',
|
|
33
|
-
'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount',
|
|
34
|
-
'emoticons'
|
|
35
|
-
],
|
|
36
|
-
image_description:false,
|
|
37
|
-
|
|
38
|
-
// 设置图片上传对话框默认选中上传Tab
|
|
39
|
-
setup: function (editor) {
|
|
40
|
-
editor.on('OpenWindow', function(e) {
|
|
41
|
-
const dialog = e.dialog;
|
|
42
|
-
// 包含 dimensions 属性应该就是 上传图片的对话框
|
|
43
|
-
if (dialog && dialog.getData().dimensions) {
|
|
44
|
-
dialog.showTab("upload")
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
},
|
|
48
|
-
|
|
49
|
-
}}
|
|
50
|
-
onChange={e => {
|
|
51
|
-
if (onChange) {
|
|
52
|
-
onChange(e.target.getContent())
|
|
53
|
-
}
|
|
54
|
-
}}
|
|
55
|
-
/>
|
|
56
|
-
</>;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SelectProps } from 'antd/es/select';
|
|
3
|
-
|
|
4
|
-
export interface FieldRemoteSelectProps extends Omit<SelectProps, 'options' | 'children'|'mode'> {
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 请求地址
|
|
8
|
-
*/
|
|
9
|
-
url: string ;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export class FieldRemoteSelect extends React.Component<FieldRemoteSelectProps, any> {}
|
|
13
|
-
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {Select, Spin, message} from 'antd';
|
|
3
|
-
import {debounce} from 'lodash';
|
|
4
|
-
import {HttpUtils} from "../utils";
|
|
5
|
-
|
|
6
|
-
export class FieldRemoteSelect extends React.Component {
|
|
7
|
-
constructor(props) {
|
|
8
|
-
super(props);
|
|
9
|
-
|
|
10
|
-
this.state = {
|
|
11
|
-
options: [],
|
|
12
|
-
loading: false,
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
this.fetchIdRef = 0;
|
|
16
|
-
this.loadDataDebounce = debounce(this.loadData, 800);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static defaultProps = {
|
|
20
|
-
placeholder: '请搜索选择'
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
componentDidMount() {
|
|
24
|
-
this.loadData('')
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
componentWillUnmount() {
|
|
28
|
-
this.loadDataDebounce.cancel();
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
loadData = async (searchText) => {
|
|
32
|
-
const {url, value} = this.props;
|
|
33
|
-
const fetchId = ++this.fetchIdRef;
|
|
34
|
-
|
|
35
|
-
this.setState({loading: true});
|
|
36
|
-
|
|
37
|
-
try {
|
|
38
|
-
const data = await HttpUtils.get(url, {searchText, selected: value});
|
|
39
|
-
|
|
40
|
-
if (fetchId === this.fetchIdRef) {
|
|
41
|
-
this.setState({options: data || []});
|
|
42
|
-
}
|
|
43
|
-
} catch (error) {
|
|
44
|
-
console.error('远程搜索失败:', error);
|
|
45
|
-
message.error('搜索失败,请重试');
|
|
46
|
-
this.setState({options: []});
|
|
47
|
-
} finally {
|
|
48
|
-
if (fetchId === this.fetchIdRef) {
|
|
49
|
-
this.setState({loading: false});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
handleSearch = (value) => {
|
|
55
|
-
if (value.trim() === '') {
|
|
56
|
-
this.setState({options: []});
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
this.loadDataDebounce(value.trim());
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
render() {
|
|
63
|
-
const {options, loading} = this.state;
|
|
64
|
-
const {value, onChange, url, ...selectProps} = this.props;
|
|
65
|
-
|
|
66
|
-
return (
|
|
67
|
-
<Select
|
|
68
|
-
showSearch={
|
|
69
|
-
{
|
|
70
|
-
filterOption: false,
|
|
71
|
-
onSearch: this.handleSearch,
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
value={value}
|
|
75
|
-
onChange={onChange}
|
|
76
|
-
options={options}
|
|
77
|
-
notFoundContent={loading ? <Spin size="small"/> : '数据为空'}
|
|
78
|
-
style={{width: '100%', minWidth: 200}}
|
|
79
|
-
allowClear
|
|
80
|
-
|
|
81
|
-
{...selectProps}
|
|
82
|
-
>
|
|
83
|
-
</Select>
|
|
84
|
-
);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SelectProps } from 'antd/es/select';
|
|
3
|
-
|
|
4
|
-
export interface FieldRemoteSelectMultipleProps extends Omit<SelectProps, 'options' | 'children'| 'mode'> {
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 请求地址
|
|
8
|
-
*/
|
|
9
|
-
url: string ;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export class FieldRemoteSelectMultiple extends React.Component<FieldRemoteSelectMultipleProps, any> {}
|
|
13
|
-
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 多选,但是值是字符串,逗号破解的
|
|
5
|
-
*/
|
|
6
|
-
export interface FieldRemoteSelectMultipleInlineProps {
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* 请求地址
|
|
10
|
-
*/
|
|
11
|
-
url: string ;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* 默认展开所有
|
|
15
|
-
*/
|
|
16
|
-
treeDefaultExpandAll?: boolean ;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export class FieldRemoteSelectMultipleInline extends React.Component<FieldRemoteSelectMultipleInlineProps, any> {}
|
|
20
|
-
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SelectProps } from 'antd/es/select';
|
|
3
|
-
import {TreeProps} from "antd";
|
|
4
|
-
|
|
5
|
-
export interface FieldRemoteTreeProps {
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* 请求地址
|
|
9
|
-
*/
|
|
10
|
-
url: string ;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* 多选树
|
|
15
|
-
*
|
|
16
|
-
* 区别于下拉框,是扁平展示的树
|
|
17
|
-
* 这种需要扁平展示的树,通常都是多选。
|
|
18
|
-
*
|
|
19
|
-
*/
|
|
20
|
-
export class FieldRemoteTree extends React.Component<FieldRemoteTreeProps, any> {}
|
|
21
|
-
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import {Spin, Tree} from "antd";
|
|
3
|
-
import {HttpUtils} from "../utils";
|
|
4
|
-
|
|
5
|
-
export class FieldRemoteTree extends React.Component {
|
|
6
|
-
|
|
7
|
-
state = {
|
|
8
|
-
treeLoading: true,
|
|
9
|
-
treeData: [],
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
componentDidMount() {
|
|
13
|
-
this.loadData();
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
loadData = async () => {
|
|
18
|
-
this.setState({treeLoading: true})
|
|
19
|
-
let url = this.props.url;
|
|
20
|
-
try {
|
|
21
|
-
const treeData = await HttpUtils.get(url)
|
|
22
|
-
this.setState({treeData})
|
|
23
|
-
} catch (e) {
|
|
24
|
-
console.log(e)
|
|
25
|
-
} finally {
|
|
26
|
-
this.setState({treeLoading: false})
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
render() {
|
|
31
|
-
if (this.state.treeLoading) {
|
|
32
|
-
return <Spin/>
|
|
33
|
-
}
|
|
34
|
-
return <Tree
|
|
35
|
-
multiple
|
|
36
|
-
checkable
|
|
37
|
-
onCheck={e => this.props.onChange(e.checked)}
|
|
38
|
-
checkedKeys={this.props.value}
|
|
39
|
-
treeData={this.state.treeData}
|
|
40
|
-
defaultExpandAll
|
|
41
|
-
checkStrictly
|
|
42
|
-
>
|
|
43
|
-
</Tree>
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
export interface FieldRemoteTreeSelectProps {
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* 请求地址
|
|
7
|
-
*/
|
|
8
|
-
url: string ;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 默认展开所有
|
|
12
|
-
*/
|
|
13
|
-
treeDefaultExpandAll?: boolean ;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export class FieldRemoteTreeSelect extends React.Component<FieldRemoteTreeSelectProps, any> {}
|
|
17
|
-
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
export interface FieldRemoteTreeSelectMultipleProps {
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* 请求地址
|
|
7
|
-
*/
|
|
8
|
-
url: string ;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 默认展开所有
|
|
12
|
-
*/
|
|
13
|
-
treeDefaultExpandAll?: boolean ;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export class FieldRemoteTreeSelectMultiple extends React.Component<FieldRemoteTreeSelectMultipleProps, any> {}
|
|
17
|
-
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 组织机构树
|
|
3
|
-
*/
|
|
4
|
-
import React from "react";
|
|
5
|
-
import {FieldRemoteTree} from "./FieldRemoteTree";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export class FieldSysOrgTree extends React.Component {
|
|
9
|
-
static defaultProps = {
|
|
10
|
-
type: 'dept',
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
render() {
|
|
15
|
-
let {type,...rest} = this.props;
|
|
16
|
-
const url = type === 'dept'?
|
|
17
|
-
'/admin/sysOrg/deptTree':
|
|
18
|
-
'/admin/sysOrg/unitTree'
|
|
19
|
-
return <FieldRemoteTree url={url} {...rest} />
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SelectProps } from 'antd/es/select';
|
|
3
|
-
|
|
4
|
-
export interface FieldSysOrgTreeSelectProps {
|
|
5
|
-
|
|
6
|
-
type?: 'dept' | 'unit'
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export class FieldSysOrgTreeSelect extends React.Component<FieldSysOrgTreeSelectProps, any> {}
|
|
12
|
-
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import {ColumnsType} from "antd/es/table";
|
|
3
|
-
|
|
4
|
-
declare type FieldTableProps = {
|
|
5
|
-
columns: ColumnsType,
|
|
6
|
-
value?: any[]
|
|
7
|
-
onChange?: (list:any[])=>{},
|
|
8
|
-
style?: React.CSSProperties
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
/***
|
|
12
|
-
* 可编辑表格
|
|
13
|
-
*/
|
|
14
|
-
export class FieldTable extends React.Component<FieldTableProps, any> {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// @ts-ignore
|
|
2
|
-
import React from "react";
|
|
3
|
-
|
|
4
|
-
declare type FieldTableSelectProps = {
|
|
5
|
-
url:string;
|
|
6
|
-
placeholder?:string;
|
|
7
|
-
columns: {
|
|
8
|
-
title: string;
|
|
9
|
-
dataIndex: string;
|
|
10
|
-
}[];
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* 下拉表格
|
|
15
|
-
*
|
|
16
|
-
* 后端参考接口:
|
|
17
|
-
*/
|
|
18
|
-
export class FieldTableSelect extends React.Component<FieldTableSelectProps, any> {
|
|
19
|
-
}
|