@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.
Files changed (176) hide show
  1. package/config/common-plugin.js +94 -0
  2. package/config/config.js +58 -0
  3. package/config/utils.js +73 -0
  4. package/package.json +8 -11
  5. package/src/.umi-production/appData.json +2365 -0
  6. package/src/.umi-production/core/EmptyRoute.tsx +9 -0
  7. package/src/.umi-production/core/defineApp.ts +16 -0
  8. package/src/.umi-production/core/helmet.ts +10 -0
  9. package/src/.umi-production/core/helmetContext.ts +4 -0
  10. package/src/.umi-production/core/history.ts +72 -0
  11. package/src/.umi-production/core/historyIntelli.ts +132 -0
  12. package/src/.umi-production/core/plugin.ts +40 -0
  13. package/src/.umi-production/core/pluginConfig.ts +324 -0
  14. package/src/.umi-production/core/pluginConfigJoi.d.ts +7 -0
  15. package/src/.umi-production/core/polyfill.ts +220 -0
  16. package/src/.umi-production/core/route.tsx +54 -0
  17. package/src/.umi-production/core/routeProps.js +5 -0
  18. package/src/.umi-production/core/routeProps.ts +6 -0
  19. package/src/.umi-production/core/terminal.ts +37 -0
  20. package/src/.umi-production/exports.ts +17 -0
  21. package/src/.umi-production/testBrowser.tsx +90 -0
  22. package/src/.umi-production/tsconfig.json +44 -0
  23. package/src/.umi-production/typings.d.ts +136 -0
  24. package/src/.umi-production/umi.ts +83 -0
  25. package/src/framework/components/{DownloadFileButton.jsx → DownloadFileButton/index.jsx} +1 -1
  26. package/src/framework/components/{LinkButton.d.ts → LinkButton/index.d.ts} +1 -1
  27. package/src/framework/components/{LinkButton.jsx → LinkButton/index.jsx} +1 -1
  28. package/src/framework/components/NamedIcon/index.d.ts +5 -0
  29. package/src/framework/components/{NamedIcon.tsx → NamedIcon/index.jsx} +1 -5
  30. package/src/framework/components/OrgTree/index.d.ts +4 -0
  31. package/src/framework/{field-components/system/OrgTree.tsx → components/OrgTree/index.jsx} +1 -4
  32. package/src/framework/components/PageLoading/index.d.ts +1 -0
  33. package/src/framework/components/{PageLoading.tsx → PageLoading/index.jsx} +3 -5
  34. package/src/framework/components/RoleTree/index.d.ts +4 -0
  35. package/src/framework/{field-components/system/RoleTree.tsx → components/RoleTree/index.jsx} +1 -4
  36. package/src/framework/components/ValueType/index.jsx +1 -1
  37. package/src/framework/components/ValueType/registry.jsx +2 -3
  38. package/src/framework/components/{view/ViewRange → ViewRange}/index.d.ts +5 -7
  39. package/src/framework/components/index.ts +3 -7
  40. package/src/framework/components/system/index.tsx +1 -1
  41. package/src/framework/fields/FieldBoolean/index.d.ts +9 -0
  42. package/src/framework/{field-components/FieldBoolean.jsx → fields/FieldBoolean/index.jsx} +6 -9
  43. package/src/framework/{field-components/FieldDate.d.ts → fields/FieldDate/index.d.ts} +5 -9
  44. package/src/framework/{field-components/FieldDate.jsx → fields/FieldDate/index.jsx} +28 -26
  45. package/src/framework/fields/FieldDateRange/index.d.ts +22 -0
  46. package/src/framework/{field-components/FieldDateRange.jsx → fields/FieldDateRange/index.jsx} +26 -27
  47. package/src/framework/fields/FieldDictSelect/index.d.ts +12 -0
  48. package/src/framework/{field-components/FieldDictSelect.jsx → fields/FieldDictSelect/index.jsx} +5 -5
  49. package/src/framework/fields/FieldEditor/index.d.ts +14 -0
  50. package/src/framework/fields/FieldEditor/index.jsx +59 -0
  51. package/src/framework/fields/FieldNumberRange/index.d.ts +10 -0
  52. package/src/framework/{field-components/FieldNumberRange.jsx → fields/FieldNumberRange/index.jsx} +20 -24
  53. package/src/framework/fields/FieldPercent/index.d.ts +8 -0
  54. package/src/framework/{field-components/FieldPercent.jsx → fields/FieldPercent/index.jsx} +9 -6
  55. package/src/framework/fields/FieldRemoteSelect/index.d.ts +44 -0
  56. package/src/framework/fields/FieldRemoteSelect/index.jsx +125 -0
  57. package/src/framework/fields/FieldRemoteSelectMultiple/index.d.ts +20 -0
  58. package/src/framework/{field-components/FieldRemoteSelectMultiple.jsx → fields/FieldRemoteSelectMultiple/index.jsx} +4 -5
  59. package/src/framework/fields/FieldRemoteSelectMultipleInline/index.d.ts +21 -0
  60. package/src/framework/{field-components/FieldRemoteSelectMultipleInline.jsx → fields/FieldRemoteSelectMultipleInline/index.jsx} +8 -6
  61. package/src/framework/fields/FieldRemoteTree/index.d.ts +20 -0
  62. package/src/framework/fields/FieldRemoteTree/index.jsx +50 -0
  63. package/src/framework/{field-components/FieldRemoteTreeCascader.d.ts → fields/FieldRemoteTreeCascader/index.d.ts} +10 -15
  64. package/src/framework/{field-components/FieldRemoteTreeCascader.jsx → fields/FieldRemoteTreeCascader/index.jsx} +11 -13
  65. package/src/framework/fields/FieldRemoteTreeSelect/index.d.ts +19 -0
  66. package/src/framework/{field-components/FieldRemoteTreeSelect.jsx → fields/FieldRemoteTreeSelect/index.jsx} +10 -20
  67. package/src/framework/fields/FieldRemoteTreeSelectMultiple/index.d.ts +20 -0
  68. package/src/framework/{field-components/FieldRemoteTreeSelectMultiple.jsx → fields/FieldRemoteTreeSelectMultiple/index.jsx} +11 -21
  69. package/src/framework/fields/FieldSysOrgTree/index.d.ts +9 -0
  70. package/src/framework/fields/FieldSysOrgTree/index.jsx +20 -0
  71. package/src/framework/fields/FieldSysOrgTreeSelect/index.d.ts +9 -0
  72. package/src/framework/{field-components/FieldSysOrgTreeSelect.jsx → fields/FieldSysOrgTreeSelect/index.jsx} +7 -8
  73. package/src/framework/fields/FieldTable/index.d.ts +14 -0
  74. package/src/framework/{field-components/FieldTable.jsx → fields/FieldTable/index.jsx} +38 -38
  75. package/src/framework/fields/FieldTableSelect/index.d.ts +19 -0
  76. package/src/framework/{field-components/FieldTableSelect.jsx → fields/FieldTableSelect/index.jsx} +13 -12
  77. package/src/framework/{field-components/FieldUploadFile.d.ts → fields/FieldUploadFile/index.d.ts} +12 -15
  78. package/src/framework/{field-components/FieldUploadFile.jsx → fields/FieldUploadFile/index.jsx} +32 -34
  79. package/src/framework/{field-components → fields}/index.ts +2 -1
  80. package/src/framework/fields/types.ts +16 -0
  81. package/src/framework/index.ts +2 -2
  82. package/src/framework/utils/index.ts +0 -1
  83. package/src/framework/utils/system/DictUtils.ts +1 -1
  84. package/src/framework/views/ViewApproveStatus/index.d.ts +3 -0
  85. package/src/framework/{view-components/ViewApproveStatus.tsx → views/ViewApproveStatus/index.jsx} +3 -8
  86. package/src/framework/views/ViewBoolean/index.d.ts +3 -0
  87. package/src/framework/views/ViewBoolean/index.jsx +4 -0
  88. package/src/framework/views/ViewBooleanEnableDisable/index.d.ts +5 -0
  89. package/src/framework/{components/view/ViewBooleanEnableDisable.tsx → views/ViewBooleanEnableDisable/index.jsx} +2 -7
  90. package/src/framework/{components/view/ViewFileButton.d.ts → views/ViewFile/index.d.ts} +3 -3
  91. package/src/framework/views/ViewFileButton/index.d.ts +10 -0
  92. package/src/framework/views/ViewFileButton/index.jsx +22 -0
  93. package/src/framework/views/ViewImage/index.d.ts +6 -0
  94. package/src/framework/views/ViewPassword/index.d.ts +5 -0
  95. package/src/framework/{view-components/ViewPassword.tsx → views/ViewPassword/index.jsx} +2 -3
  96. package/src/framework/views/ViewProcessInstanceProgress/index.d.ts +12 -0
  97. package/src/framework/{view-components/ViewFlowableInstanceProgress.jsx → views/ViewProcessInstanceProgress/index.jsx} +2 -2
  98. package/src/framework/views/ViewProcessInstanceProgressButton/index.d.ts +6 -0
  99. package/src/framework/{view-components/ViewFlowableInstanceProgressButton.tsx → views/ViewProcessInstanceProgressButton/index.jsx} +4 -6
  100. package/src/framework/views/ViewText/index.d.ts +16 -0
  101. package/src/framework/views/ViewText/index.jsx +42 -0
  102. package/src/framework/views/index.ts +12 -0
  103. package/src/framework/views/types.ts +26 -0
  104. package/src/layouts/admin/index.jsx +0 -2
  105. package/src/layouts/index.jsx +38 -16
  106. package/src/pages/404.jsx +4 -4
  107. package/src/pages/about.jsx +0 -2
  108. package/src/pages/index.jsx +4 -19
  109. package/src/pages/login.jsx +3 -8
  110. package/src/pages/system/api/ApiDoc.jsx +19 -15
  111. package/src/pages/system/api/index.jsx +23 -24
  112. package/src/pages/system/api/perm.jsx +4 -4
  113. package/src/pages/system/dict/Dict.jsx +0 -5
  114. package/src/pages/system/dict/DictItem.jsx +23 -25
  115. package/src/pages/system/dict/index.jsx +2 -2
  116. package/src/pages/system/file/index.jsx +16 -29
  117. package/src/pages/system/job/index.jsx +44 -44
  118. package/src/pages/system/log/index.jsx +3 -4
  119. package/src/pages/system/org/index.jsx +34 -36
  120. package/src/pages/system/role/index.jsx +68 -74
  121. package/src/pages/system/role/perm.jsx +0 -1
  122. package/src/pages/system/sysManual/index.jsx +27 -28
  123. package/src/pages/system/user/UserPerm.jsx +5 -8
  124. package/src/pages/system/user/index.jsx +46 -51
  125. package/src/pages/test/views.jsx +95 -0
  126. package/src/pages/ureport/index.jsx +2 -2
  127. package/src/pages/userCenter/ChangePassword.jsx +2 -1
  128. package/src/pages/userCenter/index.jsx +8 -8
  129. package/src/pages/userCenter/manual.jsx +3 -5
  130. package/src/pages/userCenter/message.jsx +14 -16
  131. package/config/dist/common-plugin.js +0 -149
  132. package/config/dist/config.js +0 -45
  133. package/config/dist/index.js +0 -18
  134. package/src/app.js +0 -1
  135. package/src/asserts/welcome.png +0 -0
  136. package/src/forms/demoForm.jsx +0 -16
  137. package/src/framework/components/Ellipsis.jsx +0 -39
  138. package/src/framework/components/Ellipsis.less +0 -8
  139. package/src/framework/components/view/ViewEllipsis.d.ts +0 -11
  140. package/src/framework/components/view/ViewEllipsis.jsx +0 -30
  141. package/src/framework/components/view/ViewFile.d.ts +0 -10
  142. package/src/framework/components/view/ViewFileButton.jsx +0 -0
  143. package/src/framework/components/view/ViewImage.d.ts +0 -9
  144. package/src/framework/components/view/ViewText.tsx +0 -16
  145. package/src/framework/components/view/index.ts +0 -10
  146. package/src/framework/field-components/FieldBoolean.d.ts +0 -13
  147. package/src/framework/field-components/FieldDateRange.d.ts +0 -6
  148. package/src/framework/field-components/FieldDictSelect.d.ts +0 -13
  149. package/src/framework/field-components/FieldEditor.d.ts +0 -10
  150. package/src/framework/field-components/FieldEditor.jsx +0 -58
  151. package/src/framework/field-components/FieldNumberRange.d.ts +0 -13
  152. package/src/framework/field-components/FieldPercent.d.ts +0 -12
  153. package/src/framework/field-components/FieldRemoteSelect.d.ts +0 -13
  154. package/src/framework/field-components/FieldRemoteSelect.jsx +0 -87
  155. package/src/framework/field-components/FieldRemoteSelectMultiple.d.ts +0 -13
  156. package/src/framework/field-components/FieldRemoteSelectMultipleInline.d.ts +0 -20
  157. package/src/framework/field-components/FieldRemoteTree.d.ts +0 -21
  158. package/src/framework/field-components/FieldRemoteTree.jsx +0 -45
  159. package/src/framework/field-components/FieldRemoteTreeSelect.d.ts +0 -17
  160. package/src/framework/field-components/FieldRemoteTreeSelectMultiple.d.ts +0 -17
  161. package/src/framework/field-components/FieldSysOrgTree.d.ts +0 -12
  162. package/src/framework/field-components/FieldSysOrgTree.jsx +0 -23
  163. package/src/framework/field-components/FieldSysOrgTreeSelect.d.ts +0 -12
  164. package/src/framework/field-components/FieldTable.d.ts +0 -17
  165. package/src/framework/field-components/FieldTableSelect.d.ts +0 -19
  166. package/src/framework/field-components/system/index.ts +0 -2
  167. package/src/framework/view-components/ViewBoolean.tsx +0 -6
  168. package/src/framework/view-components/ViewFlowableInstanceProgress.d.ts +0 -12
  169. package/src/framework/view-components/ViewProps.ts +0 -11
  170. package/src/framework/view-components/index.ts +0 -6
  171. package/src/pages/test.jsx +0 -200
  172. /package/src/framework/components/{DownloadFileButton.d.ts → DownloadFileButton/index.d.ts} +0 -0
  173. /package/src/framework/components/{view/ViewRange → ViewRange}/index.jsx +0 -0
  174. /package/src/framework/{field-components/FieldTable.less → fields/FieldTable/styles.less} +0 -0
  175. /package/src/framework/{components/view/ViewFile.jsx → views/ViewFile/index.jsx} +0 -0
  176. /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,8 +0,0 @@
1
- .ellipsis-text {
2
- cursor: pointer;
3
- // text-decoration: none; /* 移除默认下划线 */
4
- //border-bottom: 1px dotted #4990CD; /* 自定义点状下划线 */
5
- //padding-bottom: 2px; /* 可选:调整下划线与文字的间距 */
6
-
7
- text-decoration: underline dotted; /* 点状下划线 */
8
- }
@@ -1,11 +0,0 @@
1
- // @ts-ignore
2
- import React from "react";
3
-
4
-
5
- declare type ViewEllipsisProps = {
6
- maxLength?: number,
7
- value: any
8
- }
9
-
10
- export class ViewEllipsis extends React.Component<ViewEllipsisProps, any> {
11
- }
@@ -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
- }
@@ -1,10 +0,0 @@
1
- // @ts-ignore
2
- import React from "react";
3
-
4
- declare type ViewFileProps = {
5
- value: string;
6
- height: string;
7
- };
8
-
9
- export class ViewFile extends React.Component<ViewFileProps, any> {
10
- }
File without changes
@@ -1,9 +0,0 @@
1
- // @ts-ignore
2
- import React from "react";
3
-
4
- declare type ViewImageProps = {
5
- value: string|string[]
6
- };
7
-
8
- export class ViewImage extends React.Component<ViewImageProps, any> {
9
- }
@@ -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,10 +0,0 @@
1
- /**
2
- * 相对form,显示的是文本
3
- * 统一有个值叫value
4
- */
5
- export * from './ViewEllipsis'
6
- export * from './ViewBooleanEnableDisable'
7
- export * from './ViewImage'
8
- export * from './ViewRange'
9
- export * from './ViewFile'
10
- export * from './ViewText'
@@ -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,6 +0,0 @@
1
- import React from 'react';
2
- import {FieldDateProps} from "./FieldDate";
3
-
4
-
5
- export class FieldDateRange extends React.Component<FieldDateProps, any> {}
6
-
@@ -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,10 +0,0 @@
1
- import React from 'react';
2
-
3
- export interface FieldEditProps {
4
- value ?: string;
5
- onChange ?: (value: string) => void;
6
- height ?: number;
7
- }
8
-
9
- export class FieldEditor extends React.Component<FieldEditProps, any> {}
10
-
@@ -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
-
3
- export interface FieldNumberRangeProps {
4
- value?: string;
5
- onChange?: (value: string) => void;
6
- }
7
-
8
- /**
9
- * 数字的百分数输入框
10
- */
11
- export class FieldNumberRange extends React.Component<FieldNumberRangeProps, any> {
12
- }
13
-
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
-
3
- export interface FieldPercentProps {
4
- value ?: number;
5
- onChange ?: (number: string) => void;
6
- }
7
-
8
- /**
9
- * 数字的百分数输入框
10
- */
11
- export class FieldPercent extends React.Component<FieldPercentProps, any> {}
12
-
@@ -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,12 +0,0 @@
1
- import React from 'react';
2
- import { SelectProps } from 'antd/es/select';
3
-
4
- export interface FieldSysOrgTreeProps {
5
-
6
- type?: 'dept' | 'unit'
7
-
8
-
9
- }
10
-
11
- export class FieldSysOrgTree extends React.Component<FieldSysOrgTreeProps, any> {}
12
-
@@ -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
- }
@@ -1,2 +0,0 @@
1
- export * from './OrgTree';
2
- export * from './RoleTree';
@@ -1,6 +0,0 @@
1
- import {ViewBooleanProps} from "./ViewProps";
2
-
3
- export function ViewBoolean(props: ViewBooleanProps) {
4
- let {value} = props;
5
- return value == null ? null : (value ? '是' : '否')
6
- }
@@ -1,12 +0,0 @@
1
- // @ts-ignore
2
- import React from "react";
3
- import {ViewProps, ViewStringProps} from "./ViewProps";
4
-
5
-
6
-
7
- /**
8
- * 业务标识businessKey
9
- */
10
- export class ViewFlowableInstanceProgress extends React.Component<ViewStringProps, any> {
11
- }
12
-
@@ -1,11 +0,0 @@
1
- export interface ViewProps {
2
- value?: any;
3
- }
4
-
5
- export interface ViewStringProps {
6
- value: string;
7
- }
8
-
9
- export interface ViewBooleanProps {
10
- value: boolean;
11
- }
@@ -1,6 +0,0 @@
1
- // 查看组件,主要是value 属性
2
- export * from './ViewPassword';
3
- export * from './ViewBoolean';
4
- export * from './ViewApproveStatus'
5
- export * from './ViewFlowableInstanceProgress'
6
- export * from './ViewFlowableInstanceProgressButton'