cloud-b2b 1.1.51 → 1.1.53

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 (307) hide show
  1. package/es/Area/Area.js +141 -0
  2. package/es/Card/Card.js +19 -0
  3. package/es/CodeInput/CodeInput.js +123 -0
  4. package/es/Control/Control.js +444 -0
  5. package/es/Control/event.js +43 -0
  6. package/es/Enhance/Dialogs.js +52 -0
  7. package/es/Enhance/Loading.js +131 -0
  8. package/{src → es}/Enhance/index.js +6 -8
  9. package/es/Header/Header.js +162 -0
  10. package/es/Header/Vertical.js +106 -0
  11. package/es/ImageView/ImageView.js +100 -0
  12. package/es/Indent/Indent.js +19 -0
  13. package/es/InpurCascader/InputCascader.js +108 -0
  14. package/es/InputEditor/InputEditor.js +173 -0
  15. package/es/InputSearch/InputSearch.js +266 -0
  16. package/es/InputSelect/InputSelect.js +160 -0
  17. package/es/InputTreeSelect/InputTreeSelect.js +121 -0
  18. package/es/InputWriting/InputWriting.js +85 -0
  19. package/es/Layout/Layout.js +201 -0
  20. package/es/LayoutLink/LayoutLink.js +73 -0
  21. package/es/Link/Link.js +85 -0
  22. package/es/Loading/Loading.js +13 -0
  23. package/es/Loading2/Loading2.js +9 -0
  24. package/es/ModalWithDrag/ModalWithDrag.js +29 -0
  25. package/{src → es}/ModalWithDrag/drag.js +116 -128
  26. package/es/NumberInput/NumberInput.js +200 -0
  27. package/es/Search/Search.js +497 -0
  28. package/es/Sidebar/Sidebar.js +144 -0
  29. package/es/Sidebar2/Sidebar.js +165 -0
  30. package/es/SuperForm/SuperForm.js +593 -0
  31. package/es/SuperForm2/SuperForm.js +687 -0
  32. package/es/SuperIcon/SuperIcon.js +27 -0
  33. package/es/SuperPagination/SuperPagination.js +109 -0
  34. package/es/SuperTab/SuperTab.js +107 -0
  35. package/es/SuperTab2/SuperTab2.js +145 -0
  36. package/es/SuperTable/DragSortRow.js +97 -0
  37. package/es/SuperTable/FilterDropDown.js +164 -0
  38. package/es/SuperTable/SuperTable.js +808 -0
  39. package/es/SuperTable/fixed.js +34 -0
  40. package/es/SuperTable2/SuperTable2.js +894 -0
  41. package/es/SuperTable2/SuperTableCell.js +198 -0
  42. package/es/SuperTable3/FilterDropDown.js +164 -0
  43. package/es/SuperTable3/SuperTable.js +665 -0
  44. package/es/SuperTable3/fixed.js +34 -0
  45. package/es/SuperToolbar/SuperToolbar.js +195 -0
  46. package/es/SuperUpload/SuperUpload.js +356 -0
  47. package/es/Title/Title.js +33 -0
  48. package/es/Viewer/ImageViews.js +258 -0
  49. package/es/Viewer/Viewer.js +122 -0
  50. package/es/WingBlank/WingBlank.js +16 -0
  51. package/es/helper.js +240 -0
  52. package/{src → es}/history.js +6 -6
  53. package/es/index.js +37 -0
  54. package/es/variables.js +6 -0
  55. package/lib/Area/Area.js +149 -0
  56. package/lib/Area/package.json +6 -0
  57. package/lib/Card/Card.js +27 -0
  58. package/lib/Card/package.json +6 -0
  59. package/lib/CodeInput/CodeInput.js +131 -0
  60. package/lib/CodeInput/package.json +6 -0
  61. package/lib/Control/Control.js +450 -0
  62. package/lib/Control/event.js +51 -0
  63. package/lib/Control/package.json +6 -0
  64. package/lib/Enhance/Dialogs.js +60 -0
  65. package/lib/Enhance/Loading.js +138 -0
  66. package/lib/Enhance/index.js +25 -0
  67. package/lib/Enhance/package.json +6 -0
  68. package/lib/Header/Header.js +169 -0
  69. package/lib/Header/Header.less +95 -0
  70. package/lib/Header/Vertical.js +114 -0
  71. package/lib/Header/Vertical.less +60 -0
  72. package/lib/Header/package.json +6 -0
  73. package/lib/ImageView/ImageView.js +108 -0
  74. package/lib/ImageView/ImageView.less +14 -0
  75. package/lib/ImageView/package.json +6 -0
  76. package/lib/Indent/Indent.js +27 -0
  77. package/lib/Indent/package.json +6 -0
  78. package/lib/InpurCascader/InputCascader.js +115 -0
  79. package/lib/InpurCascader/package.json +6 -0
  80. package/lib/InputEditor/InputEditor.js +181 -0
  81. package/lib/InputEditor/inputEditor.less +8 -0
  82. package/lib/InputEditor/package.json +6 -0
  83. package/lib/InputSearch/InputSearch.js +274 -0
  84. package/lib/InputSearch/package.json +6 -0
  85. package/lib/InputSelect/InputSelect.js +168 -0
  86. package/lib/InputSelect/package.json +6 -0
  87. package/lib/InputTreeSelect/InputTreeSelect.js +128 -0
  88. package/lib/InputTreeSelect/package.json +6 -0
  89. package/lib/InputWriting/InputWriting.js +93 -0
  90. package/lib/InputWriting/package.json +6 -0
  91. package/lib/Layout/Layout.js +209 -0
  92. package/lib/Layout/Layout.less +28 -0
  93. package/lib/Layout/package.json +6 -0
  94. package/lib/LayoutLink/LayoutLink.js +86 -0
  95. package/lib/LayoutLink/LayoutLink.less +53 -0
  96. package/lib/LayoutLink/package.json +6 -0
  97. package/lib/Link/Link.js +93 -0
  98. package/lib/Link/package.json +6 -0
  99. package/lib/Loading/Loading.js +21 -0
  100. package/lib/Loading/Loading.less +13 -0
  101. package/lib/Loading/package.json +6 -0
  102. package/lib/Loading2/Loading2.js +17 -0
  103. package/lib/Loading2/Loading2.less +19 -0
  104. package/lib/Loading2/package.json +6 -0
  105. package/lib/ModalWithDrag/ModalWithDrag.js +37 -0
  106. package/lib/ModalWithDrag/ModalWithDrag.less +6 -0
  107. package/lib/ModalWithDrag/drag.js +124 -0
  108. package/lib/ModalWithDrag/package.json +6 -0
  109. package/lib/NumberInput/NumberInput.js +208 -0
  110. package/lib/NumberInput/package.json +6 -0
  111. package/lib/Search/Search.js +510 -0
  112. package/lib/Search/Search.less +63 -0
  113. package/lib/Search/package.json +6 -0
  114. package/lib/Sidebar/Sidebar.js +152 -0
  115. package/lib/Sidebar/Sidebar.less +78 -0
  116. package/lib/Sidebar/package.json +6 -0
  117. package/lib/Sidebar2/Sidebar.js +173 -0
  118. package/lib/Sidebar2/Sidebar.less +153 -0
  119. package/lib/Sidebar2/package.json +6 -0
  120. package/lib/SuperForm/SuperForm.js +605 -0
  121. package/lib/SuperForm/SuperForm.less +52 -0
  122. package/lib/SuperForm/package.json +6 -0
  123. package/lib/SuperForm2/SuperForm.js +699 -0
  124. package/lib/SuperForm2/SuperForm.less +52 -0
  125. package/lib/SuperForm2/package.json +6 -0
  126. package/lib/SuperIcon/SuperIcon.js +35 -0
  127. package/lib/SuperIcon/package.json +6 -0
  128. package/lib/SuperPagination/SuperPagination.js +117 -0
  129. package/lib/SuperPagination/package.json +6 -0
  130. package/lib/SuperTab/SuperTab.js +115 -0
  131. package/lib/SuperTab/SuperTab.less +43 -0
  132. package/lib/SuperTab/package.json +6 -0
  133. package/lib/SuperTab2/SuperTab2.js +153 -0
  134. package/lib/SuperTab2/SuperTab2.less +18 -0
  135. package/lib/SuperTab2/package.json +6 -0
  136. package/lib/SuperTable/DragSortRow.js +105 -0
  137. package/lib/SuperTable/DragSortRow.less +17 -0
  138. package/lib/SuperTable/FilterDropDown.js +172 -0
  139. package/lib/SuperTable/FilterDropDown.less +30 -0
  140. package/lib/SuperTable/SuperTable.js +816 -0
  141. package/lib/SuperTable/SuperTable.less +132 -0
  142. package/lib/SuperTable/fixed.js +42 -0
  143. package/lib/SuperTable/package.json +6 -0
  144. package/lib/SuperTable2/SuperTable2.js +907 -0
  145. package/lib/SuperTable2/SuperTable2.less +118 -0
  146. package/lib/SuperTable2/SuperTableCell.js +203 -0
  147. package/lib/SuperTable2/package.json +6 -0
  148. package/lib/SuperTable3/FilterDropDown.js +172 -0
  149. package/lib/SuperTable3/FilterDropDown.less +29 -0
  150. package/lib/SuperTable3/SuperTable.js +673 -0
  151. package/lib/SuperTable3/SuperTable.less +99 -0
  152. package/lib/SuperTable3/fixed.js +42 -0
  153. package/lib/SuperTable3/package.json +6 -0
  154. package/lib/SuperToolbar/SuperToolbar.js +203 -0
  155. package/lib/SuperToolbar/SuperToolbar.less +17 -0
  156. package/lib/SuperToolbar/package.json +6 -0
  157. package/lib/SuperUpload/SuperUpload.js +368 -0
  158. package/lib/SuperUpload/SuperUpload.less +28 -0
  159. package/lib/SuperUpload/package.json +6 -0
  160. package/lib/Title/Title.js +41 -0
  161. package/lib/Title/Title.less +35 -0
  162. package/lib/Title/package.json +6 -0
  163. package/lib/Viewer/ImageViews.js +266 -0
  164. package/lib/Viewer/Viewer.js +130 -0
  165. package/lib/Viewer/Viewer.less +67 -0
  166. package/lib/Viewer/imgView.less +59 -0
  167. package/lib/Viewer/package.json +7 -0
  168. package/lib/WingBlank/WingBlank.js +24 -0
  169. package/lib/WingBlank/WingBlank.less +12 -0
  170. package/lib/WingBlank/package.json +6 -0
  171. package/lib/adjust.less +89 -0
  172. package/lib/helper.js +246 -0
  173. package/lib/history.js +12 -0
  174. package/lib/index.js +271 -0
  175. package/lib/index.less +31 -0
  176. package/lib/style.less +30 -0
  177. package/lib/variables.js +14 -0
  178. package/lib/variables.less +73 -0
  179. package/package.json +22 -44
  180. package/src/Area/Area.js +0 -94
  181. package/src/Card/Card.js +0 -16
  182. package/src/CodeInput/CodeInput.js +0 -76
  183. package/src/Control/Control.js +0 -338
  184. package/src/Control/event.js +0 -45
  185. package/src/Enhance/Dialogs.js +0 -24
  186. package/src/Enhance/Loading.js +0 -83
  187. package/src/Header/Header.js +0 -149
  188. package/src/Header/Vertical.js +0 -74
  189. package/src/ImageView/ImageView.js +0 -62
  190. package/src/Indent/Indent.js +0 -12
  191. package/src/InpurCascader/InputCascader.js +0 -83
  192. package/src/InputEditor/InputEditor.js +0 -93
  193. package/src/InputSearch/InputSearch.js +0 -186
  194. package/src/InputSelect/InputSelect.js +0 -103
  195. package/src/InputTreeSelect/InputTreeSelect.js +0 -87
  196. package/src/InputWriting/InputWriting.js +0 -65
  197. package/src/Layout/Layout.js +0 -121
  198. package/src/LayoutLink/LayoutLink.js +0 -59
  199. package/src/Link/Link.js +0 -57
  200. package/src/Loading/Loading.js +0 -15
  201. package/src/Loading2/Loading2.js +0 -15
  202. package/src/ModalWithDrag/ModalWithDrag.js +0 -17
  203. package/src/NumberInput/NumberInput.js +0 -137
  204. package/src/Search/Search.js +0 -368
  205. package/src/Sidebar/Sidebar.js +0 -111
  206. package/src/Sidebar2/Sidebar.js +0 -143
  207. package/src/SuperForm/SuperForm.js +0 -516
  208. package/src/SuperForm2/SuperForm.js +0 -588
  209. package/src/SuperIcon/SuperIcon.js +0 -14
  210. package/src/SuperPagination/SuperPagination.js +0 -65
  211. package/src/SuperTab/SuperTab.js +0 -84
  212. package/src/SuperTab2/SuperTab2.js +0 -94
  213. package/src/SuperTable/DragSortRow.js +0 -62
  214. package/src/SuperTable/FilterDropDown.js +0 -111
  215. package/src/SuperTable/SuperTable.js +0 -590
  216. package/src/SuperTable/fixed.js +0 -34
  217. package/src/SuperTable2/SuperTable2.js +0 -600
  218. package/src/SuperTable2/SuperTableCell.js +0 -144
  219. package/src/SuperTable3/FilterDropDown.js +0 -111
  220. package/src/SuperTable3/SuperTable.js +0 -498
  221. package/src/SuperTable3/fixed.js +0 -34
  222. package/src/SuperToolbar/SuperToolbar.js +0 -128
  223. package/src/SuperUpload/SuperUpload.js +0 -137
  224. package/src/Title/Title.js +0 -18
  225. package/src/Viewer/ImageViews.js +0 -220
  226. package/src/Viewer/Viewer.js +0 -97
  227. package/src/WingBlank/WingBlank.js +0 -14
  228. package/src/helper.js +0 -185
  229. package/src/index.js +0 -38
  230. package/src/variables.js +0 -5
  231. package/test/index.html +0 -10
  232. package/test/test.js +0 -16
  233. package/test/test.less +0 -12
  234. package/test/webpack.config.js +0 -71
  235. package/tools/babel.config.js +0 -14
  236. package/tools/build.js +0 -70
  237. package/tools/publish.js +0 -9
  238. package/tools/util.js +0 -53
  239. /package/{src → es}/Area/package.json +0 -0
  240. /package/{src → es}/Card/package.json +0 -0
  241. /package/{src → es}/CodeInput/package.json +0 -0
  242. /package/{src → es}/Control/package.json +0 -0
  243. /package/{src → es}/Enhance/package.json +0 -0
  244. /package/{src → es}/Header/Header.less +0 -0
  245. /package/{src → es}/Header/Vertical.less +0 -0
  246. /package/{src → es}/Header/package.json +0 -0
  247. /package/{src → es}/ImageView/ImageView.less +0 -0
  248. /package/{src → es}/ImageView/package.json +0 -0
  249. /package/{src → es}/Indent/package.json +0 -0
  250. /package/{src → es}/InpurCascader/package.json +0 -0
  251. /package/{src → es}/InputEditor/inputEditor.less +0 -0
  252. /package/{src → es}/InputEditor/package.json +0 -0
  253. /package/{src → es}/InputSearch/package.json +0 -0
  254. /package/{src → es}/InputSelect/package.json +0 -0
  255. /package/{src → es}/InputTreeSelect/package.json +0 -0
  256. /package/{src → es}/InputWriting/package.json +0 -0
  257. /package/{src → es}/Layout/Layout.less +0 -0
  258. /package/{src → es}/Layout/package.json +0 -0
  259. /package/{src → es}/LayoutLink/LayoutLink.less +0 -0
  260. /package/{src → es}/LayoutLink/package.json +0 -0
  261. /package/{src → es}/Link/package.json +0 -0
  262. /package/{src → es}/Loading/Loading.less +0 -0
  263. /package/{src → es}/Loading/package.json +0 -0
  264. /package/{src → es}/Loading2/Loading2.less +0 -0
  265. /package/{src → es}/Loading2/package.json +0 -0
  266. /package/{src → es}/ModalWithDrag/ModalWithDrag.less +0 -0
  267. /package/{src → es}/ModalWithDrag/package.json +0 -0
  268. /package/{src → es}/NumberInput/package.json +0 -0
  269. /package/{src → es}/Search/Search.less +0 -0
  270. /package/{src → es}/Search/package.json +0 -0
  271. /package/{src → es}/Sidebar/Sidebar.less +0 -0
  272. /package/{src → es}/Sidebar/package.json +0 -0
  273. /package/{src → es}/Sidebar2/Sidebar.less +0 -0
  274. /package/{src → es}/Sidebar2/package.json +0 -0
  275. /package/{src → es}/SuperForm/SuperForm.less +0 -0
  276. /package/{src → es}/SuperForm/package.json +0 -0
  277. /package/{src → es}/SuperForm2/SuperForm.less +0 -0
  278. /package/{src → es}/SuperForm2/package.json +0 -0
  279. /package/{src → es}/SuperIcon/package.json +0 -0
  280. /package/{src → es}/SuperPagination/package.json +0 -0
  281. /package/{src → es}/SuperTab/SuperTab.less +0 -0
  282. /package/{src → es}/SuperTab/package.json +0 -0
  283. /package/{src → es}/SuperTab2/SuperTab2.less +0 -0
  284. /package/{src → es}/SuperTab2/package.json +0 -0
  285. /package/{src → es}/SuperTable/DragSortRow.less +0 -0
  286. /package/{src → es}/SuperTable/FilterDropDown.less +0 -0
  287. /package/{src → es}/SuperTable/SuperTable.less +0 -0
  288. /package/{src → es}/SuperTable/package.json +0 -0
  289. /package/{src → es}/SuperTable2/SuperTable2.less +0 -0
  290. /package/{src → es}/SuperTable2/package.json +0 -0
  291. /package/{src → es}/SuperTable3/FilterDropDown.less +0 -0
  292. /package/{src → es}/SuperTable3/SuperTable.less +0 -0
  293. /package/{src → es}/SuperTable3/package.json +0 -0
  294. /package/{src → es}/SuperToolbar/SuperToolbar.less +0 -0
  295. /package/{src → es}/SuperToolbar/package.json +0 -0
  296. /package/{src → es}/SuperUpload/SuperUpload.less +0 -0
  297. /package/{src → es}/SuperUpload/package.json +0 -0
  298. /package/{src → es}/Title/Title.less +0 -0
  299. /package/{src → es}/Title/package.json +0 -0
  300. /package/{src → es}/Viewer/Viewer.less +0 -0
  301. /package/{src → es}/Viewer/imgView.less +0 -0
  302. /package/{src → es}/Viewer/package.json +0 -0
  303. /package/{src → es}/WingBlank/WingBlank.less +0 -0
  304. /package/{src → es}/WingBlank/package.json +0 -0
  305. /package/{src → es}/adjust.less +0 -0
  306. /package/{src → es}/style.less +0 -0
  307. /package/{src → es}/variables.less +0 -0
@@ -1,137 +0,0 @@
1
- import React, {useState, useEffect} from 'react';
2
- import PropTypes from 'prop-types';
3
- import {Upload, Button, Icon} from 'antd';
4
- import helper from '../helper';
5
- import Title from '../Title';
6
- import variables from '../variables';
7
- const FORMATS = ['image/jpeg', 'image/gif', 'image/bmp', 'image/jpg', 'image/png', 'image/tiff', 'image/gif', 'image/pcx', 'image/tga', 'image/exif', 'image/fpx', 'image/svg', 'image/psd', 'image/cdr', 'image/pcd', 'image/dxf', 'image/ufo', 'image/eps', 'image/ai', 'image/raw', 'image/WMF','video/mp4'];
8
- const FORMATS1 = ['.jpeg', '.gif', '.bmp', '.jpg', '.png', '.tiff', '.pcx', '.tga', '.exif', '.fpx', '.svg', '.psd', '.cdr', '.pcd', '.dxf', '.ufo', '.eps', '.ai', '.raw', '.WMF'];
9
-
10
- //组件属性定义
11
- const propTypes = {
12
- fileList: PropTypes.array, //文件列表
13
- fileDeleteList: PropTypes.array, //需要在页面关闭时删除的服务端文件
14
- title: PropTypes.string, //附件组的标题
15
- required: PropTypes.bool, //是否必须上传,默认false
16
- listType: PropTypes.oneOf['text', 'picture', 'picture-card'], //上传列表的内建样式,支持三种,默认picture-card
17
- readonly: PropTypes.bool, //所在页面是否只读,默认false
18
- multiple: PropTypes.bool, //可否多选文件上传,默认true
19
- limitNumber: PropTypes.number, //附件限制个数,默认10
20
- limitText: PropTypes.any, //附件个数达到时的文本,或者设置为false则不显示,为true时显示默认文本,默认值true
21
- limitSize: PropTypes.number, //单个附件限制大小,单位M,默认5
22
- buttonTitle: PropTypes.string, //上传按钮的标题,默认‘上传’
23
- onFileChange: PropTypes.func, //文件变更的回掉函数,func({fileList, fileDeleteList})
24
- };
25
-
26
- const convertFileList = (fileList) => {
27
- return fileList.map(item => ({fileFormat: item.fileFormat || 'id', fileName: item.name, fileUrl: item.response ? item.response.result : ''}));
28
- };
29
-
30
- const getUploadProps = (props, onPreview, fileList, setFileList) => {
31
- const {readonly = false, multiple=true, limitSize = 5, listType='picture-card', fileDeleteList=[], onFileChange} = props;
32
- const onChange = ({file, fileList}) => {
33
- const {limitNumber}=props
34
- if (fileList.length>limitNumber)return helper.showError(`文件最多可上传${limitNumber}个`);
35
- if (!file) return; //过滤掉不符合条件的响应
36
- let newList = [];
37
- if (file.response && file.response.returnCode !== 0) { //检查是否上传到文件服务器成功
38
- helper.showError(`上传失败,${file.response.returnMsg || ''}`);
39
- newList = fileList.filter(item => item.uid !== file.uid);
40
- }else {
41
- newList = fileList.filter(item => item.status).map(item => (FORMATS.indexOf(item.type) === -1) ? {...item, thumbUrl: '/default.png'} : item);
42
- }
43
- file.response && onFileChange && onFileChange({
44
- fileList: convertFileList(newList),
45
- fileDeleteList
46
- });
47
- newList.fileName=newList.name
48
- setFileList(newList);
49
- };
50
- const onRemove = async (fileRemove) => {
51
- props.onRemove && props.onRemove(fileRemove, fileList, fileDeleteList);
52
- };
53
- return{
54
- action: props.action || '/api/proxy/zuul/archiver-service/file/upload/document',
55
- fileList,
56
- listType,
57
- multiple,
58
- onChange,
59
- onRemove,
60
- onPreview: listType === 'text' ? undefined : onPreview,
61
- beforeUpload: (currentFile) => {
62
- const isLt = currentFile.size / 1024 / 1024 < limitSize; // 附件大小限制,单位M
63
- if (!isLt) {
64
- helper.showError(`附件大小不能超过${limitSize}M`);
65
- }
66
- return isLt;
67
- },
68
- showUploadList: {
69
- showPreviewIcon: listType !== 'text',
70
- showRemoveIcon: !readonly,
71
- showDownloadIcon: true,
72
- }
73
- };
74
- };
75
-
76
- function UploadButton({buttonLabel='上传', title='附件', required=false, fileList=[], limitText=true, limitNumber=10, listType='picture-card', needText = false,remark='大小>=5M'}) {
77
- const canUpload = fileList.length < limitNumber;
78
- return canUpload ? (
79
- listType === 'picture-card' ? (
80
- <div>
81
- <Icon type="plus" />
82
- <div className="ant-upload-text">Upload</div>
83
- </div>
84
- ) : (
85
- <Title title={title} required={required}>
86
- <Button size='small' style={{marginLeft: '-10px'}}>{buttonLabel}</Button>
87
- </Title>
88
- )
89
- ) : (
90
- listType === 'picture-card' ? null : <Title title={title} required={required}>{!limitText ? null : <span>{limitText === true ? `附件个数若大于${limitNumber}个请压缩后上传` : limitText}</span>}</Title>
91
- )
92
- }
93
-
94
-
95
- function SuperUpload(props) {
96
- const [loading, setLoading] = useState(true);
97
- const [fileList, setFileList] = useState( []);
98
- let initFileList=[]
99
- useEffect( () => {
100
- async function fetchImgData() {
101
- if (props.fileList.length>0 || fileList.length>0) {
102
- for(let item of props.fileList) {
103
- if (item.fileUrl=='') {
104
- initFileList = props.getFileList ? await props.getFileList(fileList) : [];
105
- }else{
106
- initFileList = props.getFileList ? await props.getFileList(props.fileList) : [];
107
- }
108
- }
109
- for(let item of fileList) {
110
- initFileList = props.getFileList ? await props.getFileList(fileList) : [];
111
- }
112
- }
113
- //const initFileList = props.getFileList ? await props.getFileList(props.fileList) : [];
114
- setFileList(initFileList?initFileList:[]);
115
- setLoading(false);
116
- }
117
- fetchImgData();
118
- }, [props.fileList]);
119
- const onPreview = async (file) => {
120
- props.onPreview && props.onPreview(file, fileList);
121
- };
122
- const uploadProps = getUploadProps(props, onPreview, fileList, setFileList);
123
- const {listType='picture-card', limitNumber=10, readonly, title} = props;
124
- const className = listType === 'picture-card' && fileList?.length < limitNumber ? variables('SuperUpload') : variables('SuperUpload2');
125
- const canUpload = fileList?.length >= limitNumber;
126
- return loading ? <div>loading...</div> : (
127
- <div className={className}>
128
- {(listType === 'picture-card' || readonly) && title ? <Title title={props.title || '附件'} required={props.required} /> : null}
129
- <Upload {...uploadProps}>
130
- {readonly || canUpload ? null : <UploadButton {...{...props, fileList}} />}
131
- </Upload>
132
- {props.needText ? <span>{props.remark}</span> : null}
133
- </div>
134
- );
135
- }
136
-
137
- export default SuperUpload;
@@ -1,18 +0,0 @@
1
- import React from 'react';
2
- import variables from '../variables';
3
- import {Icon} from "antd";
4
-
5
- function Title({title, children, className, required=false, fold=false, isFold=false, noBorder=false, onFold, ...props}) {
6
- return (
7
- <div className={variables('title')} {...props}>
8
- <span data-border={!noBorder} data-fold={fold} data-required={required}
9
- onClick={fold && onFold ? onFold.bind(null, !isFold) : undefined}>
10
- {title}
11
- {fold ? <Icon type={isFold ? 'down' : 'up'} /> : null}
12
- </span>
13
- {isFold ? null : children}
14
- </div>
15
- );
16
- }
17
-
18
- export default Title;
@@ -1,220 +0,0 @@
1
- import React from "react";
2
- import { Icon } from "antd";
3
- import variables from '../variables';
4
-
5
- const addEvent = (el, event, handler) => {
6
- if (!el) return;
7
- if (el.attachEvent) {
8
- el.attachEvent('on' + event, handler);
9
- } else if (el.addEventListener) {
10
- el.addEventListener(event, handler, false);
11
- } else {
12
- el['on' + event] = handler;
13
- }
14
- };
15
-
16
- const removeEvent = (el, event, handler) => {
17
- if (!el) return;
18
- if (el.detachEvent) {
19
- el.detachEvent('on' + event, handler);
20
- } else if (el.removeEventListener) {
21
- el.removeEventListener(event, handler, false);
22
- } else {
23
- el['on' + event] = null;
24
- }
25
- };
26
-
27
- const getCss = (o, key) => {
28
- return o.currentStyle ? o.currentStyle[key] : document.defaultView.getComputedStyle(o)[key];
29
- };
30
-
31
- // 获取元素旋转的角度
32
- const getRotateDeg = (target) => {
33
- const rotateMatrix = getCss(target, 'transform');
34
- const [a, b] = rotateMatrix.split('(')[1].split(')')[0].split(',');
35
- return Math.round(Math.atan2(b, a) * (180 / Math.PI));
36
- };
37
-
38
- class ImageViews extends React.Component {
39
-
40
- constructor(props) {
41
- super(props);
42
- this.state = { zoom: 1, startTouch: {}};
43
- }
44
-
45
- _onwheel = (e) => {
46
- const { zoom } = this.state;
47
- /*事件兼容*/
48
- const event = e || window.event;
49
-
50
- const imageDOM = this.imgRef;
51
-
52
- let delta;
53
- if (event.nativeEvent.wheelDelta) {
54
- delta = event.nativeEvent.wheelDelta / 1200;
55
- } else if (event.nativeEvent.deltaY) {
56
- delta = -event.nativeEvent.deltaY / 1200;
57
- }
58
-
59
- let zoomVal = zoom + delta;
60
-
61
- if (zoomVal >= 0.2) {
62
- imageDOM.style.transform = `translate(-50%,-50%) scale(${zoomVal})`;
63
- } else {
64
- zoomVal = 0.2;
65
- imageDOM.style.transform = `translate(-50%,-50%) scale(${zoomVal})`;
66
- }
67
-
68
- this.setState({ zoom: zoomVal });
69
-
70
- };
71
-
72
- _onMouseDown = (e) => {
73
- /*事件兼容*/
74
- const event = e || window.event;
75
- const imageDOM = this.imgRef;
76
-
77
- event.preventDefault();//阻止浏览器的默认事件
78
-
79
- const startTouch = {};
80
- startTouch.initiated = true; //initiated为true表示开始滑动
81
- /*获取鼠标按下的地方距离元素左侧和上侧的距离*/
82
- startTouch.startX = event.nativeEvent.clientX - imageDOM.offsetLeft;
83
- startTouch.startY = event.nativeEvent.clientY - imageDOM.offsetTop;
84
-
85
- this.setState({ startTouch });
86
- addEvent(document, 'mousemove', this._onMouseMove);
87
- addEvent(document, 'mouseup', this._onMouseUp);
88
- };
89
-
90
- _onMouseMove = (e) => {
91
- const event = e || window.event;
92
- const imageDOM = this.imgRef;
93
- const { startTouch } = this.state;
94
- if (!startTouch.initiated) return;
95
- //滑动距离
96
- const deltaX = event.clientX - startTouch.startX;
97
- const deltaY = event.clientY - startTouch.startY;
98
-
99
- imageDOM.style.left = `${deltaX}px`;
100
- imageDOM.style.top = `${deltaY}px`;
101
- };
102
-
103
- _onMouseUp = () => {
104
- const { startTouch } = this.state;
105
- if (!startTouch.initiated) return;
106
- const endTouch = JSON.parse(JSON.stringify(startTouch));
107
- endTouch.initiated = false;
108
- this.setState({ startTouch });
109
- removeEvent(document, 'mousemove', this._onMouseMove);
110
- removeEvent(document, 'mouseup', this._onMouseDown);
111
- };
112
-
113
- _onPlus = (event) => {
114
- const { zoom } = this.state;
115
- const imageDOM = this.imgRef;
116
- let zoomVal = zoom + 0.1;
117
- const originDeg = getRotateDeg(imageDOM);
118
- event.stopPropagation()
119
- if (zoomVal >= 0.2) {
120
- imageDOM.style.transform = `translate(-50%,-50%) scale(${zoomVal}) rotate(${originDeg}deg)`;
121
- }
122
- this.setState({ zoom: zoomVal })
123
- };
124
-
125
- _onMinus = () => {
126
- const { zoom } = this.state;
127
- const imageDOM = this.imgRef;
128
- let zoomVal = zoom - 0.1;
129
- const originDeg = getRotateDeg(imageDOM);
130
-
131
- if (zoomVal < 0.2) {
132
- zoomVal = 0.2
133
- }
134
- imageDOM.style.transform = `translate(-50%,-50%) scale(${zoomVal}) rotate(${originDeg}deg)`;
135
- this.setState({ zoom: zoomVal })
136
- };
137
-
138
- _reload = () => {
139
- const imageDOM = this.imgRef;
140
- imageDOM.style.transform = `translate(-50%,-50%) scale(1) rotate(0deg)`;
141
- imageDOM.style.left = `50%`;
142
- imageDOM.style.top = `50%`;
143
-
144
- this.setState({
145
- zoom: 1,
146
- })
147
- };
148
-
149
-
150
- _arrowLeft = () => {
151
- const { onLeft } = this.props;
152
- onLeft && onLeft();
153
- const imageDOM = this.imgRef;
154
- imageDOM.style.transform = `translate(-50%,-50%) scale(1) rotate(0deg)`;
155
- imageDOM.style.left = `50%`;
156
- imageDOM.style.top = `50%`;
157
-
158
- this.setState({
159
- zoom: 1,
160
- })
161
- };
162
-
163
-
164
-
165
- _arrowRight = () => {
166
- const { onRight } = this.props;
167
- onRight && onRight();
168
-
169
- const imageDOM = this.imgRef;
170
- imageDOM.style.transform = `translate(-50%,-50%) scale(1) rotate(0deg)`;
171
- imageDOM.style.left = `50%`;
172
- imageDOM.style.top = `50%`;
173
-
174
- this.setState({
175
- zoom: 1,
176
- })
177
- };
178
-
179
- rotate = (isLeft) => () => {
180
- const imageDOM = this.imgRef;
181
- const originDeg = getRotateDeg(imageDOM);
182
- const {zoom} = this.state;
183
- const rotateDeg = isLeft ? originDeg - 90 : originDeg + 90;
184
- imageDOM.style.transform = `translate(-50%,-50%) rotate(${rotateDeg}deg) scale(${zoom})`;
185
- };
186
-
187
- render() {
188
- const {image} = this.props;
189
-
190
- return (
191
- <div className={variables('ImageViews')}>
192
- <div role={"imgWrapper"}>
193
- <img src={image.src}
194
- alt={image.alt}
195
- ref={imgRef => {
196
- this.imgRef = imgRef
197
- }}
198
- onWheel={this._onwheel}//缩放事件
199
- onMouseDown={this._onMouseDown} //拖拽事件
200
- />
201
- </div>
202
- <div className={variables('ImageViews').footer}>
203
- <div className={variables('ImageViews').toolBar}>
204
- <ul>
205
- <li title='放大' onClick={this._onPlus} onDoubleClick={event => event.preventDefault()}><Icon type="plus" /></li>
206
- <li title='缩小' onClick={this._onMinus}><Icon type="minus" /></li>
207
- <li title='上一张' onClick={this._arrowLeft}><Icon type="arrow-left" /></li>
208
- <li title='下一张' onClick={this._arrowRight}><Icon type="arrow-right" /></li>
209
- <li title='向左旋转' onClick={this.rotate(true)}><Icon type='pld-rotateleft' /></li>
210
- <li title='向右旋转' onClick={this.rotate(false)}><Icon type='pld-rotateright' /></li>
211
- <li title='复原' onClick={this._reload}><Icon type="delete" /></li>
212
- </ul>
213
- </div>
214
- </div>
215
- </div>
216
- )
217
- }
218
- }
219
-
220
- export default ImageViews;
@@ -1,97 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import ImageViews from "./ImageViews";
4
- import { Icon } from "antd";
5
- import variables from '../variables';
6
-
7
- class Viewers extends React.Component {
8
-
9
- static propTypes = {
10
- /** viewer是否可见 */
11
- visible: PropTypes.bool.isRequired,
12
- /** 点击关闭按钮的回调 */
13
- onCancel: PropTypes.func.isRequired,
14
- /** 需要进行浏览的图片地址集合 */
15
- images: PropTypes.array.isRequired,
16
- /** 需要进行浏览的图片名称集合 */
17
- titles: PropTypes.array.isRequired,
18
- };
19
-
20
- constructor(props) {
21
- super(props);
22
- this.state = {
23
- imageIndex: props.imageIndex
24
- }
25
- }
26
-
27
- //修复Warning报错
28
- componentWillUnmount = () => {
29
- this.timeout = null
30
- }
31
-
32
- closeViewers = () => {
33
- const { onCancel, onClose } = this.props;
34
- this.containerRef.style['opacity'] = 0;
35
- this.timeout = setTimeout(() => {
36
- onCancel && onCancel(onClose)
37
- }, 1000)
38
-
39
- };
40
-
41
- _onLeft = () => {
42
- const { imageIndex } = this.state;
43
- const { images } = this.props;
44
- let index = imageIndex - 1;
45
- if (index < 0) {
46
- index = images.length - 1;
47
- }
48
- this.setState({ imageIndex: index })
49
- };
50
-
51
- _onRight = () => {
52
- const { imageIndex } = this.state;
53
- const { images } = this.props;
54
- let index = imageIndex + 1;
55
- if (index > images.length - 1) {
56
- index = 0;
57
- }
58
- this.setState({ imageIndex: index })
59
- };
60
-
61
- _onSelect = (index) => {
62
- this.setState({ imageIndex: index })
63
- };
64
-
65
- render() {
66
- const { visible, images, titles } = this.props;
67
- const { imageIndex } = this.state;
68
- return (
69
- <div>
70
- {
71
- visible ? (
72
- <div
73
- className={variables('Viewers')}
74
- ref={container => {
75
- this.containerRef = container
76
- }}>
77
- <div className={variables('Viewers').mask} />
78
- <div className={variables('Viewers').title}>
79
- {titles.map((item, index) => {
80
- return <div key={index} onClick={this._onSelect.bind(this, index)} className={index === imageIndex ? variables('Viewers').selectTitle : ''}>{item}</div>
81
- })}
82
- </div>
83
- <ImageViews image={images[imageIndex]} onLeft={this._onLeft} onRight={this._onRight} />
84
- <div className={variables('Viewers').close} onClick={() => this.closeViewers()}>
85
- <Icon type="close" />
86
- </div>
87
- </div>
88
- ) : null
89
- }
90
- </div>
91
- )
92
- }
93
- }
94
-
95
-
96
-
97
- export default Viewers;
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import variables from '../variables';
3
-
4
- function WingBlank({className, children, ...props}) {
5
- return (
6
- <div className={`${className} ${variables('WingBlank')}`} {...props}>
7
- <div>
8
- {children}
9
- </div>
10
- </div>
11
- );
12
- }
13
-
14
- export default WingBlank;
package/src/helper.js DELETED
@@ -1,185 +0,0 @@
1
- import message from 'antd/lib/message';
2
-
3
- /**
4
- * 功能:从obj中取出不包含keys指定的属性,并组成一个新的子对象
5
- */
6
- const getObjectExclude = (obj, keys) => {
7
- const inKeys = key => keys.some(k => k === key);
8
- return Object.keys(obj).reduce((newObj, key) => {
9
- !inKeys(key) && (newObj[key] = obj[key]);
10
- return newObj;
11
- }, {});
12
- };
13
-
14
- // 获取当前登录的用户名
15
- const getUsername = () => {
16
- const username = 'username=';
17
- const cookie = document.cookie;
18
- const begin = cookie.indexOf(username) + username.length;
19
- const end = cookie.indexOf(';', begin);
20
- return unescape(cookie.substring(begin, end < 0 ? cookie.length : end));
21
- };
22
-
23
- /**
24
- * 确保path为数组
25
- */
26
- const makeArray = (path) => {
27
- if (Array.isArray(path)) {
28
- return path;
29
- } else if (!path) {
30
- return [];
31
- } else {
32
- return [path];
33
- }
34
- };
35
-
36
- /**
37
- * 功能:获取对象关键路径的值,不存在则返回undefined
38
- * obj:对象
39
- * path:字符串或字符串数组,指定关键路径
40
- */
41
- const getPathValue = (obj, path) => {
42
- if (!path) {
43
- return undefined;
44
- } else {
45
- return makeArray(path).reduce((value, key) => typeof value !== 'object' ? undefined : value[key], obj);
46
- }
47
- };
48
-
49
- /**
50
- * 功能:判断一个值是否为空(null,undefined和''属于空)
51
- */
52
- const isEmpty = (value) => {
53
- const type = typeof value;
54
- if (type === 'number' || type === 'boolean') {
55
- return false;
56
- } else {
57
- return !value;
58
- }
59
- };
60
-
61
- /**
62
- * 功能:判断一个值是否为空(null,undefined,''和[]属于空)
63
- */
64
- const isEmpty2 = (value) => {
65
- const type = typeof value;
66
- if (type === 'number' || type === 'boolean') {
67
- return false;
68
- } else if (Array.isArray(value)) {
69
- return !value.length;
70
- } else {
71
- return !value;
72
- }
73
- };
74
- const toThousands = (number, fractionDigits = 2, removeTrailingZeros = false) => {
75
- if (!isNaN(Number(number))) {
76
- let formattedNumber;
77
- if (!Number.isInteger(parseFloat(number))) {
78
- formattedNumber = Number(number).toFixed(fractionDigits);
79
- }
80
- if (removeTrailingZeros) {
81
- //去除整数和小数部分末尾的零
82
- formattedNumber = formattedNumber.replace(/(\.\d*?[1-9])0*$/, '$1').replace(/\.0*$/, '');
83
- }
84
- else {
85
- formattedNumber = Number(number).toLocaleString(undefined, {
86
- minimumFractionDigits: fractionDigits,
87
- maximumFractionDigits: fractionDigits
88
- });
89
- }
90
- return formattedNumber;
91
- } else if (typeof number === 'string' && number.includes('~')) {
92
- let numberList = number.split('~');
93
- let formattedArr = numberList.map((num, index) => {
94
- if (index === numberList.length - 1) {
95
- return parseFloat(num).toFixed(fractionDigits);
96
- } else {
97
- return parseFloat(num).toFixed(fractionDigits);
98
- }
99
- });
100
- let result = formattedArr.join('~');
101
- return result;
102
- }
103
- }
104
-
105
- const showError = (msg) => {
106
- message.error(msg);
107
- };
108
-
109
- const showSuccessMsg = (msg) => {
110
- message.success(msg);
111
- };
112
- const getObject = (obj, keys) => {
113
- return keys.reduce((newObj, key) => {
114
- newObj[key] = obj[key];
115
- return newObj;
116
- }, {});
117
- };
118
-
119
- export const fetchJson = async (url, option, cookie=true, jump=true) => {
120
- if (cookie) {
121
- if (typeof option === 'undefined') {
122
- option = {credentials: 'include'};
123
- } else if (typeof option === 'string') {
124
- option = {method: option, credentials: 'include'};
125
- } else if (!option.credentials) {
126
- Object.assign(option, {credentials: 'include'});
127
- }
128
- } else {
129
- if (typeof option === 'string') {
130
- option = {method: option};
131
- }
132
- }
133
-
134
- try {
135
- const res = await fetch(url, option);
136
- if (!res.ok) {
137
- return {returnCode: res.status, returnMsg: `${res.status} - ${res.statusText}`};
138
- } else {
139
- const json = await res.json();
140
- if (json.returnCode !== 0 && json.errorCode) {
141
- json.returnCode = Number(json.errorCode) || 10001;
142
- }
143
- if (jump && (json.returnCode === 9998)) {
144
- json.returnMsg = '登录超时,请重新登录';
145
- window.localStorage.removeItem('login');
146
- const roleKey = getRoleKey();
147
- if(roleKey) {
148
- window.location.href = `/portal/${roleKey}_login`;
149
- } else {
150
- window.location.href = `/`;
151
- }
152
- }
153
- return json;
154
- }
155
- } catch (e) {
156
- return {returnCode: 10000, returnMsg: '无法请求资源'};
157
- }
158
- };
159
- const helper = {
160
- getObjectExclude,
161
- getUsername,
162
- getPathValue,
163
- isEmpty,
164
- isEmpty2,
165
- showError,
166
- showSuccessMsg,
167
- toThousands,
168
- getObject,
169
- fetchJson
170
- };
171
-
172
- export {
173
- getObject,
174
- getObjectExclude,
175
- getUsername,
176
- getPathValue,
177
- isEmpty,
178
- isEmpty2,
179
- showError,
180
- showSuccessMsg,
181
- toThousands,
182
-
183
- };
184
-
185
- export default helper;