@bit-sun/business-component 2.1.15 → 2.1.17

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 (150) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -5
  3. package/.gitlab-ci.yml +179 -179
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +74 -74
  7. package/README.md +27 -27
  8. package/dist/components/Business/BsLayouts/Components/AllFunc/drawContent.d.ts +1 -1
  9. package/dist/components/Business/BsLayouts/Components/AllFunc/index.d.ts +1 -1
  10. package/dist/components/Business/BsLayouts/Components/RightContent/index.d.ts +2 -2
  11. package/dist/components/Business/BsLayouts/Components/SearchFunc/index.d.ts +2 -2
  12. package/dist/components/Business/BsLayouts/index.d.ts +2 -2
  13. package/dist/components/Business/BsLayouts/utils.d.ts +1 -0
  14. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +2 -2
  15. package/dist/index.esm.js +1242 -2692
  16. package/dist/index.js +1242 -2692
  17. package/dist/utils/TableUtils.d.ts +2 -2
  18. package/dist/utils/utils.d.ts +1 -1
  19. package/docs/index.md +21 -21
  20. package/lib/assets/drag.svg +17 -17
  21. package/lib/assets/exportFail.svg +37 -37
  22. package/lib/assets/exportProcessing.svg +28 -28
  23. package/lib/assets/exportSuccess.svg +34 -34
  24. package/lib/assets/label_icon_bottom.svg +25 -25
  25. package/lib/assets/upExport.svg +22 -22
  26. package/package.json +71 -71
  27. package/src/assets/32.svg +27 -27
  28. package/src/assets/addIcon.svg +17 -17
  29. package/src/assets/allfunc.svg +27 -27
  30. package/src/assets/arrowRight.svg +24 -24
  31. package/src/assets/btn-delete.svg +29 -29
  32. package/src/assets/btn-edit.svg +19 -19
  33. package/src/assets/btn-more.svg +17 -17
  34. package/src/assets/btn-submit.svg +19 -19
  35. package/src/assets/caidan.svg +11 -11
  36. package/src/assets/close.svg +26 -26
  37. package/src/assets/drag.svg +17 -17
  38. package/src/assets/exportFail.svg +37 -37
  39. package/src/assets/exportProcessing.svg +28 -28
  40. package/src/assets/exportSuccess.svg +34 -34
  41. package/src/assets/fixed-left-active.svg +11 -11
  42. package/src/assets/fixed-left.svg +15 -15
  43. package/src/assets/fixed-right-active.svg +11 -11
  44. package/src/assets/fixed-right.svg +15 -15
  45. package/src/assets/guanbi.svg +15 -15
  46. package/src/assets/icon-quanping.svg +15 -15
  47. package/src/assets/icon-shezhi.svg +17 -17
  48. package/src/assets/label_icon_bottom.svg +25 -25
  49. package/src/assets/list-no-img.svg +21 -21
  50. package/src/assets/morentouxiang-32.svg +23 -23
  51. package/src/assets/scanning.svg +24 -24
  52. package/src/assets/upExport.svg +22 -22
  53. package/src/components/Business/AddSelectBusiness/index.md +41 -41
  54. package/src/components/Business/AddSelectBusiness/index.tsx +319 -318
  55. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  56. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  57. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  62. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  63. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  64. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  65. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  66. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  67. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  68. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  69. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  70. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  71. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  72. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  73. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  74. package/src/components/Business/BsLayouts/index.less +79 -79
  75. package/src/components/Business/BsLayouts/index.tsx +1479 -1469
  76. package/src/components/Business/BsLayouts/service.ts +10 -10
  77. package/src/components/Business/BsLayouts/utils.tsx +231 -211
  78. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  79. package/src/components/Business/BsSulaQueryTable/index.tsx +505 -505
  80. package/src/components/Business/BsSulaQueryTable/setting.tsx +799 -799
  81. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  82. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  83. package/src/components/Business/CommodityEntry/index.md +70 -70
  84. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  85. package/src/components/Business/CommonAlert/index.tsx +23 -23
  86. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  87. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  88. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  89. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  90. package/src/components/Business/DetailPageWrapper/index.tsx +335 -335
  91. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  92. package/src/components/Business/HomePageWrapper/index.less +33 -33
  93. package/src/components/Business/HomePageWrapper/index.md +45 -45
  94. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  95. package/src/components/Business/SearchSelect/BusinessUtils.ts +1478 -1478
  96. package/src/components/Business/SearchSelect/common.ts +53 -53
  97. package/src/components/Business/SearchSelect/index.md +1137 -1137
  98. package/src/components/Business/SearchSelect/index.tsx +51 -51
  99. package/src/components/Business/SearchSelect/utils.ts +100 -100
  100. package/src/components/Business/StateFlow/index.less +130 -130
  101. package/src/components/Business/StateFlow/index.md +60 -60
  102. package/src/components/Business/StateFlow/index.tsx +29 -29
  103. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  104. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  105. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  106. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  107. package/src/components/Business/columnSettingTable/index.less +247 -247
  108. package/src/components/Business/columnSettingTable/index.md +357 -357
  109. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  110. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  111. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  112. package/src/components/Business/moreTreeTable/index.less +99 -99
  113. package/src/components/Business/moreTreeTable/index.md +508 -508
  114. package/src/components/Business/moreTreeTable/index.tsx +315 -315
  115. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  116. package/src/components/Functional/AddSelect/index.less +367 -367
  117. package/src/components/Functional/AddSelect/index.md +122 -122
  118. package/src/components/Functional/AddSelect/index.tsx +992 -992
  119. package/src/components/Functional/BillEntry/index.less +371 -371
  120. package/src/components/Functional/BillEntry/index.md +39 -39
  121. package/src/components/Functional/BillEntry/index.tsx +671 -671
  122. package/src/components/Functional/DataImport/index.less +63 -63
  123. package/src/components/Functional/DataImport/index.md +44 -44
  124. package/src/components/Functional/DataImport/index.tsx +695 -695
  125. package/src/components/Functional/DataValidation/index.less +63 -63
  126. package/src/components/Functional/DataValidation/index.md +39 -39
  127. package/src/components/Functional/DataValidation/index.tsx +687 -687
  128. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  129. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  130. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  131. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  132. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  133. package/src/components/Functional/SearchSelect/index.less +115 -115
  134. package/src/components/Functional/SearchSelect/index.md +141 -141
  135. package/src/components/Functional/SearchSelect/index.tsx +813 -813
  136. package/src/components/Functional/SearchSelect/utils.ts +6 -6
  137. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  138. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  139. package/src/index.ts +32 -32
  140. package/src/styles/bsDefault.less +1906 -1906
  141. package/src/utils/CheckOneUser/index.md +39 -39
  142. package/src/utils/CheckOneUser/index.ts +51 -51
  143. package/src/utils/TableUtils.tsx +18 -18
  144. package/src/utils/checkUtils.ts +39 -39
  145. package/src/utils/enumConfig.ts +10 -10
  146. package/src/utils/index.ts +2 -2
  147. package/src/utils/requestUtils.ts +33 -33
  148. package/src/utils/utils.ts +57 -57
  149. package/tsconfig.json +29 -29
  150. package/typings.d.ts +4 -4
@@ -1,158 +1,158 @@
1
- // @ts-nocheck
2
- import React, { useState } from "react";
3
- import RightContent from '../RightContent';
4
- import { Input } from 'antd';
5
- import { SearchOutlined } from '@ant-design/icons';
6
- import { debounce, cloneDeep } from 'lodash';
7
- import { formatMessage, history } from 'umi';
8
- import ENUM from '@/utils/enumConfig';
9
- import './index.less';
10
-
11
-
12
- export const judgeIsEmpty = (value: any) => {
13
- if (value == null || value == undefined || String(value).trim() == '') {
14
- return true;
15
- }
16
- return false;
17
- };
18
-
19
- const GlobalHeaderCom = (props: any) => {
20
- const { route: {routes=[]}} = props;
21
- const [keyWord, setKeyWord] = useState('');
22
- const [routeList, setroutesData] = useState<any[]>([]);
23
-
24
- const getFullPathName = (nameId:string) => {
25
- const nameIdArr = nameId.split('.');
26
- let nameStr = '';
27
- for (let i = 0; i < nameIdArr.length; i++) {
28
- let itemId = nameIdArr.slice(0, i+1).join('.');
29
- nameStr += `${i === 0 ? '': '-'}${formatMessage({ id: `menu.${itemId}` })}`;
30
- }
31
- return nameStr;
32
- }
33
- const initRoute = (router: any, name?: any) => {
34
- const resultList: any = [];
35
- const newRouter = cloneDeep(router);
36
- const btnAuth = JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) || '[]');
37
- const deep = (router: any) => {
38
- if (router && Array.isArray(router)) {
39
- router.forEach((item) => {
40
- if (item.routes && Array.isArray(item.routes)) {
41
- item.routes.forEach((d: any) => {
42
- if (!d.nameEdit) {
43
- d.name = item.name + '.' + d.name;
44
- d.nameEdit = true;
45
- }
46
- });
47
- deep(item.routes);
48
- } else if (
49
- !item.hideInMenu &&
50
- (name
51
- ? formatMessage({ id: `menu.${item.name}` }).indexOf(name) !== -1
52
- : true)
53
- && btnAuth.find((d: any) => d === item.code)
54
- ) {
55
- resultList.push({
56
- ...item,
57
- fullPathName: getFullPathName(item.name),
58
- });
59
- }
60
- });
61
- } else if (
62
- (name ? router.name.indexOf(name) !== -1 : true)
63
- // && btnAuth.find((d: any) => d.code === router.code)
64
- ) {
65
- resultList.push({
66
- ...router,
67
- name: formatMessage({ id: `menu.${router.name}` }),
68
- });
69
- }
70
- };
71
- deep(newRouter);
72
- setroutesData([...resultList]);
73
- };
74
-
75
- const renderLineStyl = (name: string) => {
76
- let newName = name.split('-').join(' > ');
77
- const index = newName.lastIndexOf(keyWord);
78
- if (index > -1) {
79
- const beforeStr = newName.substr(0, index);
80
- const afterStr = newName.substr(index + keyWord.length);
81
- return (
82
- <>
83
- <span>{beforeStr}</span>
84
- <span style={{color: '#1890ff'}}>{keyWord}</span>
85
- <span>{afterStr}</span>
86
- </>
87
- )
88
- }
89
- return newName
90
- }
91
-
92
- return (
93
- <div style={{paddingLeft: props.collapsed ? '135px': '45px'}} className={'headerContent'}>
94
- <div style={{flex: '1 1 0%', padding: '0 15px 0', marginLeft: '15px', display: 'flex', borderLeft: '1px solid #f0f0f0'}}>
95
- {/* <div
96
- className={'navigationBtn'}
97
- onClick={() => {
98
- message.warning('当前功能暂不支持。');
99
- }}
100
- >
101
- <ApartmentOutlined />
102
- &nbsp;&nbsp;
103
- 流程导航
104
- </div> */}
105
- <div style={{position: 'relative'}}>
106
- <Input
107
- style={{width: '268px', height: '32px', borderRadius:'4px'}}
108
- placeholder="搜索菜单"
109
- allowClear
110
- onFocus= {(e) => {
111
- setKeyWord(e?.target?.value)
112
- initRoute(routes, e?.target?.value)
113
- }}
114
- onBlur={() => {
115
- setTimeout(() => {
116
- setKeyWord('')
117
- }, 600)
118
- }}
119
-
120
- prefix={<SearchOutlined />}
121
- onChange={debounce((e: any) => {
122
- setKeyWord(e?.target?.value)
123
- initRoute(routes, e?.target?.value)
124
- }, 600)}
125
- />
126
- <div style={{display: judgeIsEmpty(keyWord) ? 'none' : 'block'}} className={'searchPanel'}>
127
- <p className={'searchTitle'}>
128
- 共搜到{' '}
129
- <span className={'themeColor'}>
130
- {routeList.length || 0}
131
- </span>{' '}
132
- 条结果{' '}
133
- </p>
134
- <div style={{marginTop: '10px'}}>
135
- {
136
- routeList.map(item => (
137
- <div
138
- className={'itemPath'}
139
- onClick={() => {
140
- history.push({
141
- pathname: item.path
142
- })
143
- // setKeyWord('')
144
- }}
145
- title={item.fullPathName}
146
- >{renderLineStyl(item.fullPathName)}</div>
147
- ))
148
- }
149
- </div>
150
- </div>
151
- </div>
152
- </div>
153
- <RightContent />
154
- </div>
155
- )
156
- }
157
-
1
+ // @ts-nocheck
2
+ import React, { useState } from "react";
3
+ import RightContent from '../RightContent';
4
+ import { Input } from 'antd';
5
+ import { SearchOutlined } from '@ant-design/icons';
6
+ import { debounce, cloneDeep } from 'lodash';
7
+ import { formatMessage, history } from 'umi';
8
+ import ENUM from '@/utils/enumConfig';
9
+ import './index.less';
10
+
11
+
12
+ export const judgeIsEmpty = (value: any) => {
13
+ if (value == null || value == undefined || String(value).trim() == '') {
14
+ return true;
15
+ }
16
+ return false;
17
+ };
18
+
19
+ const GlobalHeaderCom = (props: any) => {
20
+ const { route: {routes=[]}} = props;
21
+ const [keyWord, setKeyWord] = useState('');
22
+ const [routeList, setroutesData] = useState<any[]>([]);
23
+
24
+ const getFullPathName = (nameId:string) => {
25
+ const nameIdArr = nameId.split('.');
26
+ let nameStr = '';
27
+ for (let i = 0; i < nameIdArr.length; i++) {
28
+ let itemId = nameIdArr.slice(0, i+1).join('.');
29
+ nameStr += `${i === 0 ? '': '-'}${formatMessage({ id: `menu.${itemId}` })}`;
30
+ }
31
+ return nameStr;
32
+ }
33
+ const initRoute = (router: any, name?: any) => {
34
+ const resultList: any = [];
35
+ const newRouter = cloneDeep(router);
36
+ const btnAuth = JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) || '[]');
37
+ const deep = (router: any) => {
38
+ if (router && Array.isArray(router)) {
39
+ router.forEach((item) => {
40
+ if (item.routes && Array.isArray(item.routes)) {
41
+ item.routes.forEach((d: any) => {
42
+ if (!d.nameEdit) {
43
+ d.name = item.name + '.' + d.name;
44
+ d.nameEdit = true;
45
+ }
46
+ });
47
+ deep(item.routes);
48
+ } else if (
49
+ !item.hideInMenu &&
50
+ (name
51
+ ? formatMessage({ id: `menu.${item.name}` }).indexOf(name) !== -1
52
+ : true)
53
+ && btnAuth.find((d: any) => d === item.code)
54
+ ) {
55
+ resultList.push({
56
+ ...item,
57
+ fullPathName: getFullPathName(item.name),
58
+ });
59
+ }
60
+ });
61
+ } else if (
62
+ (name ? router.name.indexOf(name) !== -1 : true)
63
+ // && btnAuth.find((d: any) => d.code === router.code)
64
+ ) {
65
+ resultList.push({
66
+ ...router,
67
+ name: formatMessage({ id: `menu.${router.name}` }),
68
+ });
69
+ }
70
+ };
71
+ deep(newRouter);
72
+ setroutesData([...resultList]);
73
+ };
74
+
75
+ const renderLineStyl = (name: string) => {
76
+ let newName = name.split('-').join(' > ');
77
+ const index = newName.lastIndexOf(keyWord);
78
+ if (index > -1) {
79
+ const beforeStr = newName.substr(0, index);
80
+ const afterStr = newName.substr(index + keyWord.length);
81
+ return (
82
+ <>
83
+ <span>{beforeStr}</span>
84
+ <span style={{color: '#1890ff'}}>{keyWord}</span>
85
+ <span>{afterStr}</span>
86
+ </>
87
+ )
88
+ }
89
+ return newName
90
+ }
91
+
92
+ return (
93
+ <div style={{paddingLeft: props.collapsed ? '135px': '45px'}} className={'headerContent'}>
94
+ <div style={{flex: '1 1 0%', padding: '0 15px 0', marginLeft: '15px', display: 'flex', borderLeft: '1px solid #f0f0f0'}}>
95
+ {/* <div
96
+ className={'navigationBtn'}
97
+ onClick={() => {
98
+ message.warning('当前功能暂不支持。');
99
+ }}
100
+ >
101
+ <ApartmentOutlined />
102
+ &nbsp;&nbsp;
103
+ 流程导航
104
+ </div> */}
105
+ <div style={{position: 'relative'}}>
106
+ <Input
107
+ style={{width: '268px', height: '32px', borderRadius:'4px'}}
108
+ placeholder="搜索菜单"
109
+ allowClear
110
+ onFocus= {(e) => {
111
+ setKeyWord(e?.target?.value)
112
+ initRoute(routes, e?.target?.value)
113
+ }}
114
+ onBlur={() => {
115
+ setTimeout(() => {
116
+ setKeyWord('')
117
+ }, 600)
118
+ }}
119
+
120
+ prefix={<SearchOutlined />}
121
+ onChange={debounce((e: any) => {
122
+ setKeyWord(e?.target?.value)
123
+ initRoute(routes, e?.target?.value)
124
+ }, 600)}
125
+ />
126
+ <div style={{display: judgeIsEmpty(keyWord) ? 'none' : 'block'}} className={'searchPanel'}>
127
+ <p className={'searchTitle'}>
128
+ 共搜到{' '}
129
+ <span className={'themeColor'}>
130
+ {routeList.length || 0}
131
+ </span>{' '}
132
+ 条结果{' '}
133
+ </p>
134
+ <div style={{marginTop: '10px'}}>
135
+ {
136
+ routeList.map(item => (
137
+ <div
138
+ className={'itemPath'}
139
+ onClick={() => {
140
+ history.push({
141
+ pathname: item.path
142
+ })
143
+ // setKeyWord('')
144
+ }}
145
+ title={item.fullPathName}
146
+ >{renderLineStyl(item.fullPathName)}</div>
147
+ ))
148
+ }
149
+ </div>
150
+ </div>
151
+ </div>
152
+ </div>
153
+ <RightContent />
154
+ </div>
155
+ )
156
+ }
157
+
158
158
  export default GlobalHeaderCom;
@@ -1,85 +1,85 @@
1
- // @ts-ignore
2
- import React from 'react';
3
- import { Form, Input, Button, Modal } from 'antd';
4
- import { handleAccountID, handleUserID } from '../../utils';
5
- import axios from 'axios';
6
-
7
- export default (props: any) => {
8
- const { loginOut } = props;
9
- const [form] = Form.useForm();
10
- return (
11
- <>
12
- <Modal
13
- {...props}
14
- visible={props.visible}
15
- onCancel={() => {
16
- props.onCancel();
17
- }}
18
- footer={[
19
- <Button onClick={() => props.onCancel()}>取消</Button>,
20
- <Button
21
- onClick={() => {
22
- form.validateFields().then((res) => {
23
- axios({
24
- url: `/bop/api/account/changePassWord/${handleAccountID()}`,
25
- method: 'patch',
26
- params: res,
27
- }).then(res => {
28
- loginOut();
29
- })
30
- });
31
- }}
32
- type="primary"
33
- >
34
- 确认
35
- </Button>,
36
- ]}
37
- >
38
- <Form
39
- form={form}
40
- name="login"
41
- labelCol={{ span: 4 }}
42
- wrapperCol={{ span: 20 }}
43
- initialValues={{
44
- username: handleUserID(),
45
- }}
46
- >
47
- <Form.Item label="账号" name="username">
48
- <Input disabled />
49
- </Form.Item>
50
- <Form.Item
51
- label="旧密码"
52
- name="oldPassword"
53
- rules={[{ required: true, message: '请输入您的旧密码' }]}
54
- >
55
- <Input.Password />
56
- </Form.Item>
57
- <Form.Item
58
- label="新密码"
59
- name="newPassword"
60
- help="密码最少要包含一个大写字母+一个小写字母+一个数字+一个特殊符号最少6位"
61
- rules={[
62
- { required: true, message: '请输入您的新密码' },
63
- {
64
- pattern:
65
- /^\S*(?=\S{6,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*? ])\S*$/,
66
- message: '密码强度不够请重新输入',
67
- },
68
- ]}
69
- >
70
- <Input.Password />
71
- </Form.Item>
72
-
73
- <Form.Item
74
- label="请确认密码"
75
- name="confirmPassword"
76
- help="请确认密码和第一次输入一致"
77
- rules={[{ required: true, message: '请确认您的密码' }]}
78
- >
79
- <Input.Password />
80
- </Form.Item>
81
- </Form>
82
- </Modal>
83
- </>
84
- );
85
- };
1
+ // @ts-ignore
2
+ import React from 'react';
3
+ import { Form, Input, Button, Modal } from 'antd';
4
+ import { handleAccountID, handleUserID } from '../../utils';
5
+ import axios from 'axios';
6
+
7
+ export default (props: any) => {
8
+ const { loginOut } = props;
9
+ const [form] = Form.useForm();
10
+ return (
11
+ <>
12
+ <Modal
13
+ {...props}
14
+ visible={props.visible}
15
+ onCancel={() => {
16
+ props.onCancel();
17
+ }}
18
+ footer={[
19
+ <Button onClick={() => props.onCancel()}>取消</Button>,
20
+ <Button
21
+ onClick={() => {
22
+ form.validateFields().then((res) => {
23
+ axios({
24
+ url: `/bop/api/account/changePassWord/${handleAccountID()}`,
25
+ method: 'patch',
26
+ params: res,
27
+ }).then(res => {
28
+ loginOut();
29
+ })
30
+ });
31
+ }}
32
+ type="primary"
33
+ >
34
+ 确认
35
+ </Button>,
36
+ ]}
37
+ >
38
+ <Form
39
+ form={form}
40
+ name="login"
41
+ labelCol={{ span: 4 }}
42
+ wrapperCol={{ span: 20 }}
43
+ initialValues={{
44
+ username: handleUserID(),
45
+ }}
46
+ >
47
+ <Form.Item label="账号" name="username">
48
+ <Input disabled />
49
+ </Form.Item>
50
+ <Form.Item
51
+ label="旧密码"
52
+ name="oldPassword"
53
+ rules={[{ required: true, message: '请输入您的旧密码' }]}
54
+ >
55
+ <Input.Password />
56
+ </Form.Item>
57
+ <Form.Item
58
+ label="新密码"
59
+ name="newPassword"
60
+ help="密码最少要包含一个大写字母+一个小写字母+一个数字+一个特殊符号最少6位"
61
+ rules={[
62
+ { required: true, message: '请输入您的新密码' },
63
+ {
64
+ pattern:
65
+ /^\S*(?=\S{6,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*? ])\S*$/,
66
+ message: '密码强度不够请重新输入',
67
+ },
68
+ ]}
69
+ >
70
+ <Input.Password />
71
+ </Form.Item>
72
+
73
+ <Form.Item
74
+ label="请确认密码"
75
+ name="confirmPassword"
76
+ help="请确认密码和第一次输入一致"
77
+ rules={[{ required: true, message: '请确认您的密码' }]}
78
+ >
79
+ <Input.Password />
80
+ </Form.Item>
81
+ </Form>
82
+ </Modal>
83
+ </>
84
+ );
85
+ };