@vtx/components 3.1.1 → 3.1.5

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.
@@ -55,13 +55,13 @@
55
55
  }
56
56
  }
57
57
  }
58
- .ant-table-thead > tr > th {
58
+ .ant-table-thead > tr > th when(@theme=default) {
59
59
  // antd4.0 半透明会重叠
60
60
  // background-color: fade(#1890ff, 8);
61
61
  background-color: rgba(237, 246, 255, 1);
62
62
  }
63
63
  .ant-table-tbody > tr {
64
- &:nth-child(even) {
64
+ &:nth-child(even) when(@theme=default) {
65
65
  background: #f6f6f6;
66
66
  }
67
67
  &.ant-table-placeholder {
@@ -84,9 +84,12 @@
84
84
  // }
85
85
  &-alert {
86
86
  margin-bottom: 8px;
87
- &-message {
87
+ &-message when(@theme=default) {
88
88
  color: fade(@black, 65%);
89
89
  }
90
+ &-message when(@theme=dark) {
91
+ color: @text-color;
92
+ }
90
93
  &-info-content > strong {
91
94
  margin: 0 4px;
92
95
  color: #13c2c2;
@@ -2,7 +2,7 @@
2
2
  position: relative;
3
3
  background-color: #fff;
4
4
  background-clip: padding-box;
5
- border: 0;
5
+ border: 1px solid #d9d9d9;
6
6
  border-radius: 4px;
7
7
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
8
8
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
@@ -12,7 +12,7 @@
12
12
  padding: 16px 24px;
13
13
  color: rgba(0, 0, 0, 0.65);
14
14
  background: #fff;
15
- border-bottom: 1px solid #e8e8e8;
15
+ border-bottom: 1px solid #d9d9d9;
16
16
  border-radius: 4px 4px 0 0;
17
17
  }
18
18
  .vtx-demo-modal-title {
@@ -33,7 +33,7 @@
33
33
  padding: 10px 16px;
34
34
  text-align: right;
35
35
  background: transparent;
36
- border-top: 1px solid #e8e8e8;
36
+ border-top: 1px solid #d9d9d9;
37
37
  border-radius: 0 0 4px 4px;
38
38
  }
39
39
  .vtx-demo-modal-footer button + button {
@@ -1,21 +1,23 @@
1
+ @import (reference) '~antd/lib/style/themes/index.less';
2
+
1
3
  .vtx-demo-modal {
2
4
  position: relative;
3
- background-color: #fff;
5
+ background-color: @component-background;
4
6
  background-clip: padding-box;
5
- border: 0;
7
+ border: 1px solid @border-color-base;
6
8
  border-radius: 4px;
7
9
  box-shadow: 0 4px 12px rgba(0, 0, 0, 15%);
8
10
  pointer-events: auto;
9
11
  &-header {
10
12
  padding: 16px 24px;
11
13
  color: rgba(0, 0, 0, 0.65);
12
- background: #fff;
13
- border-bottom: 1px solid #e8e8e8;
14
+ background: @component-background;
15
+ border-bottom: 1px solid @border-color-base;
14
16
  border-radius: 4px 4px 0 0;
15
17
  }
16
18
  &-title {
17
19
  margin: 0;
18
- color: rgba(0, 0, 0, 0.85);
20
+ color: @text-color;
19
21
  font-weight: 500;
20
22
  font-size: 16px;
21
23
  line-height: 22px;
@@ -31,7 +33,7 @@
31
33
  padding: 10px 16px;
32
34
  text-align: right;
33
35
  background: transparent;
34
- border-top: 1px solid #e8e8e8;
36
+ border-top: 1px solid @border-color-base;
35
37
  border-radius: 0 0 4px 4px;
36
38
  button + button {
37
39
  margin-bottom: 0;
@@ -42,5 +42,5 @@
42
42
  -ms-transform: translate(-50%, -50%);
43
43
  -webkit-transform: translate(-50%, -50%);
44
44
  transform: translate(-50%, -50%);
45
- color: #e9e9e9;
45
+ color: rgba(0, 0, 0, 0.45);
46
46
  }
@@ -37,12 +37,27 @@
37
37
  position: relative;
38
38
  height: 100%;
39
39
  min-height: @min-height;
40
- background: #fbfbfb;
40
+ background: @table-expanded-row-bg;
41
41
  border: @border-width-base @border-style-base @border-color-split;
42
42
  cursor: default;
43
43
  p {
44
44
  .center();
45
- color: #e9e9e9;
45
+ color: @text-color-secondary;
46
+ }
47
+ }
48
+ }
49
+ .@{prefix-cls} when(@theme=dark) {
50
+ &-nodata,
51
+ &-error {
52
+ position: relative;
53
+ height: 100%;
54
+ min-height: @min-height;
55
+ background: @aspectFit-background;
56
+ border: @border-width-base @border-style-base @border-color-split;
57
+ cursor: default;
58
+ p {
59
+ .center();
60
+ color: @text-color-secondary;
46
61
  }
47
62
  }
48
63
  }
@@ -142,9 +142,7 @@ function VtxImport(props) {
142
142
  uploadURL = props.uploadURL,
143
143
  afterUpload = props.afterUpload;
144
144
  var modalProps = {
145
- bodyStyle: {
146
- backgroundColor: '#f8f8f8'
147
- },
145
+ className: 'vtx-import-modal',
148
146
  visible: state.visible,
149
147
  title: '导入',
150
148
  onCancel: function onCancel() {
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-import/index.jsx"],"names":["token","VtxImport","props","fileForm","fileInput","iframe","useFormData","window","FormData","uploading","visible","fileKey","accept","resultVisible","resultData","modalWidth","columns","title","dataIndex","key","state","setState","getPostURL","postUrl","uploadURL","postData","postArray","k","undefined","push","encodeURIComponent","length","join","closeModal","value","close","uploadSuccess","data","afterUpload","parseData","JSON","parse","Array","isArray","map","item","index","messages","filter","result","message","error","msg","templateURL","modalProps","bodyStyle","backgroundColor","onCancel","maskClosable","footer","open","request","XMLHttpRequest","setRequestHeader","onreadystatechange","e","target","readyState","response","fmd","append","files","send","info","resultProps","dataSource","hideVisible","children","dom","display","propTypes","PropTypes","bool","string","object","func","number","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport Modal from 'antd/lib/modal';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport PropTypes from 'prop-types';\nimport useSet from '../_util/useSet';\nimport VtxImportResult from './result';\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\nconst { token } = getUrlParam();\nfunction VtxImport(props) {\n const [state, setState] = useSet({\n fileForm: null, // form表单\n fileInput: null, // 保存上传的文件\n iframe: null, // form表单提交之后跳转的\n useFormData: window.FormData ? true : false, // 是否查看\n uploading: false, // 表单提交的状态\n visible: props.visible || false,\n fileKey: props.fileKey || 'file',\n accept:\n props.accept ||\n 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',\n resultVisible: false, // 导入结果查看弹窗\n resultData: [], // 导入结果查看\n modalWidth: props.modalWidth || 800,\n columns: props.columns || [\n {\n title: '行号',\n dataIndex: 'lineNum',\n key: 'lineNum',\n },\n {\n title: '错误说明',\n dataIndex: 'messages',\n key: 'messages',\n },\n ],\n });\n // 获取上传地址(拼接参数)\n const getPostURL = () => {\n const postUrl = props.uploadURL;\n const postData = props.postData || {};\n const postArray = [];\n for (const k in postData) {\n if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {\n postArray.push(`${k}=${encodeURIComponent(postData[k])}`);\n }\n }\n return postArray.length > 0 ? `${postUrl}?${postArray.join('&')}` : postUrl;\n };\n const closeModal = () => {\n state.fileInput.value = '';\n if (typeof props.close === 'function') {\n props.close();\n } else {\n setState({\n visible: !state.visible,\n });\n }\n };\n // 上传之后的回调 - 展示报错信息\n const uploadSuccess = data => {\n state.fileInput.value = '';\n setState({\n uploading: false,\n });\n if (typeof props.afterUpload === 'function') {\n afterUpload(data);\n }\n const parseData = JSON.parse(data);\n if (Array.isArray(parseData?.data)) {\n setState({\n resultVisible: true,\n resultData: parseData.data\n .map((item, index) => ({\n ...item,\n key: index,\n messages: item.messages.join(','),\n }))\n .filter(item => item.messages.length !== 0),\n });\n } else {\n // 新增其他错误提示\n if (parseData.result !== 0) {\n message.error(parseData?.msg || '服务器异常');\n }\n }\n };\n const { templateURL, uploadURL, afterUpload } = props;\n const modalProps = {\n bodyStyle: {\n backgroundColor: '#f8f8f8',\n },\n visible: state.visible,\n title: '导入',\n onCancel: () => closeModal(),\n maskClosable: false,\n footer: [\n templateURL ? (\n <Button\n key=\"downloadTemple\"\n onClick={() => {\n window.open(templateURL);\n }}\n >\n 下载模板\n </Button>\n ) : null,\n <Button\n key=\"uploadSubmit\"\n type=\"primary\"\n loading={state.uploading}\n onClick={() => {\n const postUrl = getPostURL();\n if (state.fileInput.value) {\n setState({\n uploading: true,\n });\n if (state.useFormData) {\n const request = new XMLHttpRequest();\n request.open('POST', postUrl);\n request.setRequestHeader('Authorization', token ? `Bear ${token}` : '');\n request.setRequestHeader('access_token', token ? `${token}` : '');\n request.onreadystatechange = e => {\n if (e.target.readyState == 4) {\n uploadSuccess(e.target.response);\n }\n };\n const fmd = new FormData();\n fmd.append(state.fileKey, state.fileInput.files[0]);\n request.send(fmd);\n }\n } else {\n message.info('请选择需要上传的文件');\n }\n }}\n >\n 上传\n </Button>,\n <Button\n key=\"closeWindow\"\n onClick={() => {\n closeModal();\n }}\n >\n 关闭\n </Button>,\n ],\n };\n const resultProps = {\n visible: state.resultVisible,\n dataSource: state.resultData,\n columns: state.columns,\n hideVisible: () => {\n setState({\n resultVisible: false,\n });\n },\n modalWidth: state.modalWidth,\n };\n return (\n <Modal {...modalProps}>\n {props.children}\n <form\n encType=\"multipart/form-data\"\n method=\"post\"\n target=\"tmp\"\n action={uploadURL}\n ref={dom => {\n if (dom) state.fileForm = dom;\n }}\n >\n <input\n type=\"file\"\n name={state.fileKey}\n accept={state.accept}\n ref={dom => {\n if (dom) state.fileInput = dom;\n }}\n />\n </form>\n <iframe\n name=\"tmp\"\n style={{ display: 'none' }}\n ref={dom => {\n if (dom) state.iframe = dom;\n }}\n ></iframe>\n {state.resultVisible && <VtxImportResult {...resultProps} />}\n </Modal>\n );\n}\nVtxImport.propTypes = {\n visible: PropTypes.bool,\n templateURL: PropTypes.string,\n uploadURL: PropTypes.string,\n postData: PropTypes.object,\n fileKey: PropTypes.string,\n accept: PropTypes.string,\n close: PropTypes.func,\n afterUpload: PropTypes.func,\n modalWidth: PropTypes.number,\n columns: PropTypes.array,\n children: PropTypes.object,\n};\nexport default VtxImport;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-import/index.jsx"],"names":["token","VtxImport","props","fileForm","fileInput","iframe","useFormData","window","FormData","uploading","visible","fileKey","accept","resultVisible","resultData","modalWidth","columns","title","dataIndex","key","state","setState","getPostURL","postUrl","uploadURL","postData","postArray","k","undefined","push","encodeURIComponent","length","join","closeModal","value","close","uploadSuccess","data","afterUpload","parseData","JSON","parse","Array","isArray","map","item","index","messages","filter","result","message","error","msg","templateURL","modalProps","className","onCancel","maskClosable","footer","open","request","XMLHttpRequest","setRequestHeader","onreadystatechange","e","target","readyState","response","fmd","append","files","send","info","resultProps","dataSource","hideVisible","children","dom","display","propTypes","PropTypes","bool","string","object","func","number","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport Modal from 'antd/lib/modal';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport PropTypes from 'prop-types';\nimport useSet from '../_util/useSet';\nimport VtxImportResult from './result';\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\nconst { token } = getUrlParam();\nfunction VtxImport(props) {\n const [state, setState] = useSet({\n fileForm: null, // form表单\n fileInput: null, // 保存上传的文件\n iframe: null, // form表单提交之后跳转的\n useFormData: window.FormData ? true : false, // 是否查看\n uploading: false, // 表单提交的状态\n visible: props.visible || false,\n fileKey: props.fileKey || 'file',\n accept:\n props.accept ||\n 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',\n resultVisible: false, // 导入结果查看弹窗\n resultData: [], // 导入结果查看\n modalWidth: props.modalWidth || 800,\n columns: props.columns || [\n {\n title: '行号',\n dataIndex: 'lineNum',\n key: 'lineNum',\n },\n {\n title: '错误说明',\n dataIndex: 'messages',\n key: 'messages',\n },\n ],\n });\n // 获取上传地址(拼接参数)\n const getPostURL = () => {\n const postUrl = props.uploadURL;\n const postData = props.postData || {};\n const postArray = [];\n for (const k in postData) {\n if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {\n postArray.push(`${k}=${encodeURIComponent(postData[k])}`);\n }\n }\n return postArray.length > 0 ? `${postUrl}?${postArray.join('&')}` : postUrl;\n };\n const closeModal = () => {\n state.fileInput.value = '';\n if (typeof props.close === 'function') {\n props.close();\n } else {\n setState({\n visible: !state.visible,\n });\n }\n };\n // 上传之后的回调 - 展示报错信息\n const uploadSuccess = data => {\n state.fileInput.value = '';\n setState({\n uploading: false,\n });\n if (typeof props.afterUpload === 'function') {\n afterUpload(data);\n }\n const parseData = JSON.parse(data);\n if (Array.isArray(parseData?.data)) {\n setState({\n resultVisible: true,\n resultData: parseData.data\n .map((item, index) => ({\n ...item,\n key: index,\n messages: item.messages.join(','),\n }))\n .filter(item => item.messages.length !== 0),\n });\n } else {\n // 新增其他错误提示\n if (parseData.result !== 0) {\n message.error(parseData?.msg || '服务器异常');\n }\n }\n };\n const { templateURL, uploadURL, afterUpload } = props;\n const modalProps = {\n className: 'vtx-import-modal',\n visible: state.visible,\n title: '导入',\n onCancel: () => closeModal(),\n maskClosable: false,\n footer: [\n templateURL ? (\n <Button\n key=\"downloadTemple\"\n onClick={() => {\n window.open(templateURL);\n }}\n >\n 下载模板\n </Button>\n ) : null,\n <Button\n key=\"uploadSubmit\"\n type=\"primary\"\n loading={state.uploading}\n onClick={() => {\n const postUrl = getPostURL();\n if (state.fileInput.value) {\n setState({\n uploading: true,\n });\n if (state.useFormData) {\n const request = new XMLHttpRequest();\n request.open('POST', postUrl);\n request.setRequestHeader('Authorization', token ? `Bear ${token}` : '');\n request.setRequestHeader('access_token', token ? `${token}` : '');\n request.onreadystatechange = e => {\n if (e.target.readyState == 4) {\n uploadSuccess(e.target.response);\n }\n };\n const fmd = new FormData();\n fmd.append(state.fileKey, state.fileInput.files[0]);\n request.send(fmd);\n }\n } else {\n message.info('请选择需要上传的文件');\n }\n }}\n >\n 上传\n </Button>,\n <Button\n key=\"closeWindow\"\n onClick={() => {\n closeModal();\n }}\n >\n 关闭\n </Button>,\n ],\n };\n const resultProps = {\n visible: state.resultVisible,\n dataSource: state.resultData,\n columns: state.columns,\n hideVisible: () => {\n setState({\n resultVisible: false,\n });\n },\n modalWidth: state.modalWidth,\n };\n return (\n <Modal {...modalProps}>\n {props.children}\n <form\n encType=\"multipart/form-data\"\n method=\"post\"\n target=\"tmp\"\n action={uploadURL}\n ref={dom => {\n if (dom) state.fileForm = dom;\n }}\n >\n <input\n type=\"file\"\n name={state.fileKey}\n accept={state.accept}\n ref={dom => {\n if (dom) state.fileInput = dom;\n }}\n />\n </form>\n <iframe\n name=\"tmp\"\n style={{ display: 'none' }}\n ref={dom => {\n if (dom) state.iframe = dom;\n }}\n ></iframe>\n {state.resultVisible && <VtxImportResult {...resultProps} />}\n </Modal>\n );\n}\nVtxImport.propTypes = {\n visible: PropTypes.bool,\n templateURL: PropTypes.string,\n uploadURL: PropTypes.string,\n postData: PropTypes.object,\n fileKey: PropTypes.string,\n accept: PropTypes.string,\n close: PropTypes.func,\n afterUpload: PropTypes.func,\n modalWidth: PropTypes.number,\n columns: PropTypes.array,\n children: PropTypes.object,\n};\nexport default VtxImport;\n"],"file":"index.js"}
@@ -5,4 +5,6 @@ require("antd/lib/modal/style/css");
5
5
  require("antd/lib/button/style/css");
6
6
 
7
7
  require("antd/lib/message/style/css");
8
+
9
+ require("./index.css");
8
10
  //# sourceMappingURL=css.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-import/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA","sourcesContent":["import 'antd/lib/modal/style';\nimport 'antd/lib/button/style';\nimport 'antd/lib/message/style';\n"],"file":"css.js"}
1
+ {"version":3,"sources":["vtx-import/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/lib/modal/style';\nimport 'antd/lib/button/style';\nimport 'antd/lib/message/style';\nimport './index.less';\n"],"file":"css.js"}
@@ -0,0 +1,3 @@
1
+ .vtx-datagrid-modal {
2
+ background-color: '#f8f8f8';
3
+ }
@@ -5,4 +5,6 @@ require("antd/lib/modal/style");
5
5
  require("antd/lib/button/style");
6
6
 
7
7
  require("antd/lib/message/style");
8
+
9
+ require("./index.less");
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-import/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA","sourcesContent":["import 'antd/lib/modal/style';\nimport 'antd/lib/button/style';\nimport 'antd/lib/message/style';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-import/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/lib/modal/style';\nimport 'antd/lib/button/style';\nimport 'antd/lib/message/style';\nimport './index.less';\n"],"file":"index.js"}
@@ -0,0 +1,8 @@
1
+ @import (reference) '~antd/lib/style/themes/index.less';
2
+ @prefix-cls: vtx-datagrid;
3
+
4
+ .@{prefix-cls} when(@theme=default) {
5
+ &-modal {
6
+ background-color: '#f8f8f8';
7
+ }
8
+ }
@@ -65,12 +65,16 @@
65
65
  right: 20px;
66
66
  }
67
67
  .vtx-modal-header-title .vtx-modal-header-text {
68
- color: rgba(0, 0, 0, 0.65);
69
68
  font-weight: 400;
70
69
  }
70
+ .vtx-modal-header-title .vtx-modal-header-text {
71
+ color: rgba(0, 0, 0, 0.65);
72
+ }
71
73
  .vtx-modal-header-title .vtx-modal-header-text + .vtx-modal-header-subtitle::before {
72
74
  margin: 0 4px;
73
- color: rgba(0, 0, 0, 0.65);
74
75
  font-weight: 400;
75
76
  content: '>';
76
77
  }
78
+ .vtx-modal-header-title .vtx-modal-header-text + .vtx-modal-header-subtitle::before {
79
+ color: rgba(0, 0, 0, 0.65);
80
+ }
@@ -71,15 +71,25 @@
71
71
 
72
72
  .vtx-modal-header-title {
73
73
  .vtx-modal-header-text {
74
- color: fade(@black, 65%);
75
74
  font-weight: 400;
76
75
  }
76
+ .vtx-modal-header-text when(@theme=dark) {
77
+ color: @text-color;
78
+ }
79
+ .vtx-modal-header-text when(@theme=default) {
80
+ color: fade(@black, 65%);
81
+ }
77
82
  .vtx-modal-header-text + .vtx-modal-header-subtitle {
78
83
  &::before {
79
84
  margin: 0 4px;
80
- color: fade(@black, 65%);
81
85
  font-weight: 400;
82
86
  content: '>';
83
87
  }
88
+ &::before when(@theme=dark) {
89
+ color: @text-color;
90
+ }
91
+ &::before when(@theme=default) {
92
+ color: fade(@black, 65%);
93
+ }
84
94
  }
85
95
  }
@@ -99,7 +99,7 @@
99
99
  @table-page-padding-left;
100
100
  overflow-x: hidden;
101
101
  font-size: 14px;
102
- background-color: #f0f2f5;
102
+ background-color: @layout-body-background;
103
103
  }
104
104
 
105
105
  .vtx-table {
@@ -13,6 +13,8 @@ var _axios = _interopRequireDefault(require("axios"));
13
13
 
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
+ var _getUrlParam = _interopRequireDefault(require("@vtx/utils/lib/getUrlParam"));
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
19
 
18
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -37,8 +39,7 @@ function VtxRpsFrame(props) {
37
39
  }, [props.flag]);
38
40
 
39
41
  var getReportInfoByCode = function getReportInfoByCode() {
40
- var report_code = props.report_code,
41
- report_param = props.report_param,
42
+ var report_param = props.report_param,
42
43
  data_param = props.data_param,
43
44
  paramTypeCode = props.paramTypeCode,
44
45
  tenantId = props.tenantId,
@@ -50,7 +51,9 @@ function VtxRpsFrame(props) {
50
51
  reportInfoUrl = _props$reportInfoUrl === void 0 ? initReportInfoUrl : _props$reportInfoUrl,
51
52
  _props$reportServerUr = props.reportServerUrl,
52
53
  reportServerUrl = _props$reportServerUr === void 0 ? initReportServerUrl : _props$reportServerUr;
53
- var paramCode = paramTypeCode || 'param_report_constant'; // 获取公共参数
54
+ var paramCode = paramTypeCode || 'param_report_constant'; // report_code 可配置,如果地址栏有report_code,则优先,否则根据props的report_code
55
+
56
+ var report_code = (0, _getUrlParam["default"])().report_code ? (0, _getUrlParam["default"])().report_code : props.report_code; // 获取公共参数
54
57
 
55
58
  function commonParam() {
56
59
  return (0, _axios["default"])({
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-rps-frame/index.jsx"],"names":["initReportParamUrl","initReportInfoUrl","initReportServerUrl","VtxRpsFrame","props","iframeName","Math","random","Date","getTime","getReportInfoByCode","flag","report_code","report_param","data_param","paramTypeCode","tenantId","isParamEncode","reportParamUrl","reportInfoUrl","reportServerUrl","paramCode","commonParam","method","url","headers","param","timestamp","valueOf","reqMethod","formData","encodeURI","JSON","stringify","axios","all","then","spread","commonParamResult","reportInfoByCodeResult","data","result","commonParamData","obj","forEach","d","parmCode","parmName","reportInfoByCodeData","data_url","createForm","reportlet","current","err","console","log","propTypes","PropTypes","number","string","object","oneOfType","array","bool","reqURL","formDom","document","createElement","target","action","style","inputArray","k","Object","prototype","hasOwnProperty","call","input1","type","name","value","push","body","appendChild","i","len","length","append","submit","remove"],"mappings":"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","sourcesContent":["/* eslint-disable camelcase */\n/*\n * @Author: chenxinyu\n * @Date: 2021-03-24 21:47:52\n * @LastEditors: your name\n * @LastEditTime: 2022-01-12 18:49:30\n * @Description: 报表容器\n * @FilePath: \\react-components\\components\\vtx-rps-frame\\index.jsx\n */\nimport React, { useEffect, useRef } from 'react';\nimport axios from 'axios';\nimport PropTypes from 'prop-types';\n\nconst initReportParamUrl = '/cloud/management/rest/np/param/getByParamTypeCode';\nconst initReportInfoUrl = '/cloud/rps/api/np/v101/report/getReportInfoByCode.smvc';\nconst initReportServerUrl = '/ReportServer';\n\nfunction VtxRpsFrame(props) {\n const iframeName = useRef(Math.random() + new Date().getTime());\n\n // flag改变,重新渲染报表\n useEffect(() => {\n getReportInfoByCode();\n }, [props.flag]);\n\n const getReportInfoByCode = () => {\n const {\n report_code,\n report_param,\n data_param,\n paramTypeCode,\n tenantId,\n isParamEncode = false,\n reportParamUrl = initReportParamUrl,\n reportInfoUrl = initReportInfoUrl,\n reportServerUrl = initReportServerUrl,\n } = props;\n\n const paramCode = paramTypeCode || 'param_report_constant';\n\n // 获取公共参数\n function commonParam() {\n return axios({\n method: 'get',\n url: `${reportParamUrl}?parameters={\"paramTypeCode\": \"${paramCode}\",\"tenantId\":\"${tenantId}\"}`,\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n },\n });\n }\n\n // 获取报表code\n const param = {\n report_code,\n timestamp: new Date().valueOf(),\n reqMethod: 0,\n };\n const formData = isParamEncode ? encodeURI(JSON.stringify(param)) : JSON.stringify(param);\n function getReportInfoByCode() {\n return axios({\n method: 'get',\n url: `${reportInfoUrl}?parameters=${formData}`,\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n },\n });\n }\n\n axios\n .all([commonParam(), getReportInfoByCode()])\n .then(\n axios.spread(function(commonParamResult, reportInfoByCodeResult) {\n if (!commonParamResult.data.result && !reportInfoByCodeResult.data.result) {\n // 报表公共参数\n const commonParamData = commonParamResult.data.data;\n const obj = {};\n commonParamData.forEach(d => {\n obj[d.parmCode] = d.parmName;\n });\n const reportInfoByCodeData = reportInfoByCodeResult.data.data;\n const param = {\n data_url: reportInfoByCodeData.data_url,\n data_param: JSON.stringify(data_param),\n ...report_param,\n ...obj,\n reqMethod: 0,\n };\n createForm(\n `${reportServerUrl}?report_code=${report_code}&reportlet=${\n reportInfoByCodeData.reportlet\n }&fr_locale=zh_CN&timestamp=${new Date().valueOf()}`,\n param,\n `${iframeName.current}`,\n );\n }\n }),\n )\n // eslint-disable-next-line no-console\n .catch(err => console.log(err));\n };\n\n return (\n <div className=\"vtx-rps-frame\">\n <iframe\n className=\"vtx-rps-frame-wrapper\"\n width=\"100%\"\n height=\"100%\"\n name={`${iframeName.current}`}\n ></iframe>\n </div>\n );\n}\n\nVtxRpsFrame.propTypes = {\n flag: PropTypes.number,\n report_code: PropTypes.string,\n report_param: PropTypes.object,\n data_param: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n paramTypeCode: PropTypes.string,\n tenantId: PropTypes.string,\n reportParamUrl: PropTypes.string,\n reportInfoUrl: PropTypes.string,\n reportServerUrl: PropTypes.string,\n isParamEncode: PropTypes.bool,\n};\nexport default VtxRpsFrame;\n\nconst createForm = function(reqURL, param, iframeName) {\n // 定义一个form表单\n const formDom = document.createElement('form');\n formDom.method = 'post';\n formDom.target = iframeName;\n formDom.action = reqURL;\n formDom.style = 'display:none';\n const inputArray = [];\n for (const k in param) {\n if (Object.prototype.hasOwnProperty.call(param, k)) {\n const input1 = document.createElement('input');\n input1.type = 'hidden';\n input1.name = k;\n input1.value = param[k];\n inputArray.push(input1);\n }\n }\n document.body.appendChild(formDom); // 将表单放置在web中\n for (let i = 0, len = inputArray.length; i < len; i++) {\n formDom.append(inputArray[i]);\n }\n formDom.submit(); // 表单提交\n formDom.remove();\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-rps-frame/index.jsx"],"names":["initReportParamUrl","initReportInfoUrl","initReportServerUrl","VtxRpsFrame","props","iframeName","Math","random","Date","getTime","getReportInfoByCode","flag","report_param","data_param","paramTypeCode","tenantId","isParamEncode","reportParamUrl","reportInfoUrl","reportServerUrl","paramCode","report_code","commonParam","method","url","headers","param","timestamp","valueOf","reqMethod","formData","encodeURI","JSON","stringify","axios","all","then","spread","commonParamResult","reportInfoByCodeResult","data","result","commonParamData","obj","forEach","d","parmCode","parmName","reportInfoByCodeData","data_url","createForm","reportlet","current","err","console","log","propTypes","PropTypes","number","string","object","oneOfType","array","bool","reqURL","formDom","document","createElement","target","action","style","inputArray","k","Object","prototype","hasOwnProperty","call","input1","type","name","value","push","body","appendChild","i","len","length","append","submit","remove"],"mappings":"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","sourcesContent":["/* eslint-disable camelcase */\n/*\n * @Author: chenxinyu\n * @Date: 2021-03-24 21:47:52\n * @LastEditors: your name\n * @LastEditTime: 2022-01-12 18:49:30\n * @Description: 报表容器\n * @FilePath: \\react-components\\components\\vtx-rps-frame\\index.jsx\n */\nimport React, { useEffect, useRef } from 'react';\nimport axios from 'axios';\nimport PropTypes from 'prop-types';\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\n\nconst initReportParamUrl = '/cloud/management/rest/np/param/getByParamTypeCode';\nconst initReportInfoUrl = '/cloud/rps/api/np/v101/report/getReportInfoByCode.smvc';\nconst initReportServerUrl = '/ReportServer';\nfunction VtxRpsFrame(props) {\n const iframeName = useRef(Math.random() + new Date().getTime());\n\n // flag改变,重新渲染报表\n useEffect(() => {\n getReportInfoByCode();\n }, [props.flag]);\n\n const getReportInfoByCode = () => {\n const {\n // report_code,\n report_param,\n data_param,\n paramTypeCode,\n tenantId,\n isParamEncode = false,\n reportParamUrl = initReportParamUrl,\n reportInfoUrl = initReportInfoUrl,\n reportServerUrl = initReportServerUrl,\n } = props;\n\n const paramCode = paramTypeCode || 'param_report_constant';\n // report_code 可配置,如果地址栏有report_code,则优先,否则根据props的report_code\n const report_code = getUrlParam().report_code\n ? getUrlParam().report_code\n : props.report_code;\n\n // 获取公共参数\n function commonParam() {\n return axios({\n method: 'get',\n url: `${reportParamUrl}?parameters={\"paramTypeCode\": \"${paramCode}\",\"tenantId\":\"${tenantId}\"}`,\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n },\n });\n }\n\n // 获取报表code\n const param = {\n report_code,\n timestamp: new Date().valueOf(),\n reqMethod: 0,\n };\n const formData = isParamEncode ? encodeURI(JSON.stringify(param)) : JSON.stringify(param);\n function getReportInfoByCode() {\n return axios({\n method: 'get',\n url: `${reportInfoUrl}?parameters=${formData}`,\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n },\n });\n }\n\n axios\n .all([commonParam(), getReportInfoByCode()])\n .then(\n axios.spread(function(commonParamResult, reportInfoByCodeResult) {\n if (!commonParamResult.data.result && !reportInfoByCodeResult.data.result) {\n // 报表公共参数\n const commonParamData = commonParamResult.data.data;\n const obj = {};\n commonParamData.forEach(d => {\n obj[d.parmCode] = d.parmName;\n });\n const reportInfoByCodeData = reportInfoByCodeResult.data.data;\n const param = {\n data_url: reportInfoByCodeData.data_url,\n data_param: JSON.stringify(data_param),\n ...report_param,\n ...obj,\n reqMethod: 0,\n };\n createForm(\n `${reportServerUrl}?report_code=${report_code}&reportlet=${\n reportInfoByCodeData.reportlet\n }&fr_locale=zh_CN&timestamp=${new Date().valueOf()}`,\n param,\n `${iframeName.current}`,\n );\n }\n }),\n )\n // eslint-disable-next-line no-console\n .catch(err => console.log(err));\n };\n\n return (\n <div className=\"vtx-rps-frame\">\n <iframe\n className=\"vtx-rps-frame-wrapper\"\n width=\"100%\"\n height=\"100%\"\n name={`${iframeName.current}`}\n ></iframe>\n </div>\n );\n}\n\nVtxRpsFrame.propTypes = {\n flag: PropTypes.number,\n report_code: PropTypes.string,\n report_param: PropTypes.object,\n data_param: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n paramTypeCode: PropTypes.string,\n tenantId: PropTypes.string,\n reportParamUrl: PropTypes.string,\n reportInfoUrl: PropTypes.string,\n reportServerUrl: PropTypes.string,\n isParamEncode: PropTypes.bool,\n};\nexport default VtxRpsFrame;\n\nconst createForm = function(reqURL, param, iframeName) {\n // 定义一个form表单\n const formDom = document.createElement('form');\n formDom.method = 'post';\n formDom.target = iframeName;\n formDom.action = reqURL;\n formDom.style = 'display:none';\n const inputArray = [];\n for (const k in param) {\n if (Object.prototype.hasOwnProperty.call(param, k)) {\n const input1 = document.createElement('input');\n input1.type = 'hidden';\n input1.name = k;\n input1.value = param[k];\n inputArray.push(input1);\n }\n }\n document.body.appendChild(formDom); // 将表单放置在web中\n for (let i = 0, len = inputArray.length; i < len; i++) {\n formDom.append(inputArray[i]);\n }\n formDom.submit(); // 表单提交\n formDom.remove();\n};\n"],"file":"index.js"}
@@ -120,7 +120,7 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
120
120
  rest = _objectWithoutProperties(props, _excluded); // 是否使用缩略图
121
121
 
122
122
 
123
- var useThumbnail = props.useThumbnail && (listType == 'picture' || listType == 'picture-card');
123
+ var useThumbnail = (props.useThumbnail === undefined ? true : props.useThumbnail) && (listType == 'picture' || listType == 'picture-card');
124
124
 
125
125
  var _useState = (0, _react.useState)([]),
126
126
  _useState2 = _slicedToArray(_useState, 2),
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-upload/index.jsx"],"names":["debouncedMessage","msg","message","error","initVPrev","type","name","url","downloadUrl","visible","initUrl","action","thumbnailUrl","rejectTypes","Dragger","Upload","VtxUpload","props","ref","isDragger","draggerConfig","accept","mode","viewMode","showUploadList","customizedButton","listType","onSuccess","onError","onRemove","maxFileSize","beforeUpload","maxNum","flag","rest","useThumbnail","fileList","setFileList","imageViewer","setImageViewer","imageList","setImageList","imageCt","setImageCt","vPrev","setVPrev","getSynFileList","Array","isArray","imagelist","map","file","indexOf","push","Viewer","getConfig","token","config","headers","Authorization","onChange","info","response","result","errMsg","flt","pop","status","vtxId","data","length","id","undefined","newFileList","newFile","thumbUrl","filter","item","uid","afterFileList","limit","size","pointIndex","lastIndexOf","fileType","substring","includes","onPreview","fileName","handlePreview","showRemoveIcon","imageIndex","update","view","processedFileList","index","console","img","maxWidth","maxHeight","marginTop","marginBottom","mainText","subText","fontSize","color","display","ins","propTypes","PropTypes","bool","object","string","node","previewUrl","func","number","array"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport useSetState from 'ahooks/es/useSetState';\nimport PropTypes from 'prop-types';\nimport Viewer from 'viewerjs';\nimport Upload from 'antd/lib/upload';\nimport Button from 'antd/lib/button';\nimport InboxOutlined from '@ant-design/icons/InboxOutlined';\nimport PlusOutlined from '@ant-design/icons/PlusOutlined';\nimport UploadOutlined from '@ant-design/icons/UploadOutlined';\nimport message from 'antd/lib/message';\nimport downloadFile from '@vtx/utils/lib/downloadFile';\nimport debounce from 'lodash.debounce';\nimport Prev from './FilePreview';\nimport getUrlParam from '../_util/getUrlParam';\n\nconst debouncedMessage = debounce(msg => {\n message.error(msg);\n}, 500);\n\n//文件预览\nconst initVPrev = {\n type: '', //video or file\n name: '',\n url: '',\n downloadUrl: '',\n visible: false,\n};\n\nconst initUrl = {\n action: '/cloudFile/common/uploadFile',\n downloadUrl: '/cloudFile/common/downloadFile?id=',\n thumbnailUrl:\n '/vortex/rest/cloud/np/file/downloadFileThumbnail?outputQuality=0.5&scale=0.2&id=',\n //previewUrl: '/onlinePreview',\n};\n//禁止上传的文件类型\nconst rejectTypes = ['.asp', '.aspx', '.jsp', '.exe', '.cgi', '.asa', '.cer', '.cdx', '.hta'];\n\nconst Dragger = Upload.Dragger;\nconst VtxUpload = forwardRef((props, ref) => {\n const {\n isDragger = false, //是否拖拽模式\n draggerConfig = {}, //拖动配置\n accept, //接受上传的文件类型\n mode = 'multiple', //单文件模式or多文件模式\n viewMode, //是否查看模式(隐藏上传按钮)\n showUploadList, //是否展示文件列表\n customizedButton, //自定义上传文字描述\n listType = 'text', //上传列表的样式\n onSuccess, //上传成功\n onError, //上传失败\n onRemove, //删除\n maxFileSize = 5 * 1024 * 1024, //文件大小限制,默认最大5M\n beforeUpload, //上传前回调\n maxNum, //最多上传的文件数量\n flag, //同步数据标记\n ...rest\n } = props;\n // 是否使用缩略图\n const useThumbnail =\n props.useThumbnail && (listType == 'picture' || listType == 'picture-card');\n\n const [fileList, setFileList] = useState([]); //初始化文件列表\n const [imageViewer, setImageViewer] = useState(null); //图片预览\n const [imageList, setImageList] = useState([]);\n const [imageCt, setImageCt] = useState(null);\n const [vPrev, setVPrev] = useSetState(initVPrev); //文件预览相关\n\n const url = {\n action: props.action || initUrl.action,\n downloadUrl: props.downloadUrl || initUrl.downloadUrl,\n thumbnailUrl: props.thumbnailUrl || initUrl.thumbnailUrl,\n //previewUrl: props.previewUrl || initUrl.previewUrl,\n };\n const { action, downloadUrl, thumbnailUrl } = url;\n\n useEffect(() => {\n setFileList(getSynFileList(props) || []);\n }, [flag]);\n\n useEffect(() => {\n if (Array.isArray(fileList)) {\n // 只有图片的才可以预览,这边需要判断是否是图片\n const imagelist = [];\n // 只能通过后缀来判断\n fileList.map(file => {\n if (file.type?.indexOf('image') > -1) {\n imagelist.push(file);\n }\n });\n setImageList(imagelist);\n }\n }, [fileList]);\n\n useEffect(() => {\n if (imageCt) {\n setImageViewer(new Viewer(imageCt, {}));\n }\n }, [imageCt]);\n\n const getConfig = () => {\n let token = getUrlParam('token') || '';\n let config = {\n ...rest,\n accept,\n action,\n fileList: fileList,\n listType,\n showUploadList,\n headers: {\n Authorization: token ? `Bearer ${token}` : '',\n ...rest.headers,\n },\n onChange(info) {\n setFileList(info.fileList);\n if (info.file.response && info.file.response.result === 1) {\n message.error(info.file.response.errMsg || '上传失败!');\n let flt = [...fileList];\n flt.pop();\n setFileList(flt);\n return;\n }\n // 此处根据后台返回的数据结构取得文件ID\n if (info.file.status !== 'uploading' && info.file.status !== 'removed') {\n let vtxId =\n info.file.response &&\n Array.isArray(info.file.response.data) &&\n info.file.response.data.length > 0\n ? info.file.response.data[0].id\n : undefined;\n let newFileList = info.fileList;\n let newFile = vtxId\n ? {\n ...info.file,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n }\n : {\n ...info.file,\n };\n newFileList = info.fileList\n .filter(item => {\n // 有vtxId代表上传成功,有item.id代表之前上传成功的\n if (vtxId || item.id) return true;\n return false;\n })\n .map(item => {\n if (item.uid == info.file.uid) {\n return {\n ...item,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n };\n }\n return item;\n });\n\n if (mode == 'single') {\n setFileList([newFile]);\n } else {\n setFileList(newFileList);\n }\n // 更新组件状态\n // if (mode == 'single' && info.file.status === 'done') {\n // setFileList([newFile]);\n // } else {\n // setFileList(newFileList);\n // }\n\n // 触发外部方法\n if (info.file.status === 'done') {\n if (typeof onSuccess == 'function') {\n onSuccess(newFile);\n }\n } else if (info.file.status === 'error') {\n if (typeof onError == 'function') {\n onError(info.file);\n }\n }\n }\n },\n onRemove(file) {\n if (typeof onRemove == 'function') {\n return onRemove(file);\n }\n },\n beforeUpload(file, afterFileList) {\n //限制文件大小\n if (maxFileSize && typeof maxFileSize === 'number') {\n const limit = file.size < maxFileSize;\n if (!limit) {\n message.error(`请上传${maxFileSize / 1024 / 1024}M以内的文件`);\n return false;\n }\n }\n //限制不允许上传的文件类型(通过文件名后缀)\n let pointIndex = file.name ? file.name.lastIndexOf('.') : -1;\n if (pointIndex > -1) {\n let fileType = file.name.substring(pointIndex);\n if (rejectTypes.includes(fileType)) {\n message.error('不支持该文件类型');\n return false;\n }\n }\n // 多选限制文件数量\n if (typeof maxNum === 'number' && afterFileList.length + fileList.length > maxNum) {\n // 减少提示错误次数, 思路,防抖 这边有个问题 就是防抖的这个方法 return fasle 不上传\n debouncedMessage(`最多上传${maxNum}个`);\n return false;\n }\n\n if (typeof beforeUpload === 'function') {\n return beforeUpload(file, afterFileList);\n }\n return true;\n },\n };\n\n if (props.onPreview && typeof props.onPreview === 'function') {\n config.onPreview = props.onPreview;\n } else {\n config.onPreview = file => {\n if (!file.type) {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n } else if (file.type?.indexOf('image') > -1) {\n handlePreview(file);\n } else if (file.type?.indexOf('video') > -1) {\n // 视频\n setVPrev({\n type: 'video',\n name: file.name || '视频预览',\n url: downloadUrl + file.id,\n downloadUrl: downloadUrl + file.id,\n visible: true,\n });\n } else {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n }\n\n // TODO 暂无好的文件预览服务,等后续完善,只提供下载\n // else if (\n // file.type == 'application/PDF' ||\n // file.type == 'application/vnd.ms-excel' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ||\n // file.type == 'application/msword' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n // ) {\n // let url = '';\n // if (props.previewUrl) {\n // url = `${props.previewUrl}?id=${file.id}&fileName=${file.name}`;\n // } else {\n // url = `http://183.215.89.162:8012/onlinePreview?url=http://183.136.177.108:8003/cloudFile/common/downloadFile${encodeURIComponent(\n // '?id=' + file.id + '&fullfilename=' + file.name.replace(/\\s*/g, ''),\n // )}`;\n // }\n\n // setVPrev({\n // type: 'file',\n // name: file.name || '文件预览',\n // url: url,\n // downloadUrl: downloadUrl + file.id,\n // visible: true,\n // });\n // }\n };\n }\n\n // viewMode\n if (viewMode) {\n config.showUploadList = { showRemoveIcon: false };\n }\n\n return config;\n };\n\n const handlePreview = file => {\n const imageIndex = imageList.map(item => item.id).indexOf(file.id);\n if (imageIndex == -1) return;\n imageViewer.update();\n imageViewer.view(imageIndex);\n };\n\n const getSynFileList = props => {\n let processedFileList = props.fileList || [];\n // 单文件模式只取第一个\n if (props.mode == 'single' && processedFileList.length > 1) {\n processedFileList = [processedFileList[0]];\n }\n processedFileList = processedFileList.map((item, index) => {\n // 将外部传入的简易文件数组处理成为组件需要的数组结构\n if (item.name === undefined || item.id === undefined) {\n // eslint-disable-next-line no-console\n console.error('文件列表的name和id属性不能为空');\n }\n return {\n ...item,\n uid: -1 - index,\n status: 'done',\n url: item.url || downloadUrl + item.id,\n thumbUrl: useThumbnail ? item.thumbUrl || thumbnailUrl + item.id : undefined,\n };\n });\n return processedFileList;\n };\n return (\n <>\n {isDragger ? (\n <Dragger {...getConfig()} ref={ref}>\n {draggerConfig?.img ? (\n <img\n src={draggerConfig.img}\n alt=\"\"\n style={{\n maxWidth: 100,\n maxHeight: 100,\n marginTop: '3%',\n marginBottom: '5%',\n }}\n />\n ) : (\n <p className=\"ant-upload-drag-icon\">\n <InboxOutlined />\n </p>\n )}\n <p className=\"ant-upload-text\">{draggerConfig?.mainText || '点击或拖拽上传'}</p>\n <p className=\"ant-upload-hint\">\n {draggerConfig?.subText || '支持上传word,excel,png...'}\n </p>\n </Dragger>\n ) : (\n <Upload {...getConfig()} ref={ref}>\n {viewMode || fileList.length >= maxNum\n ? null\n : customizedButton ||\n (listType == 'picture-card' ? (\n <div>\n <PlusOutlined style={{ fontSize: '28px', color: '#999' }} />\n <div className=\"ant-upload-text\">上传</div>\n </div>\n ) : (\n <Button>\n <UploadOutlined />\n 上传\n </Button>\n ))}\n </Upload>\n )}\n <div style={{ display: 'none' }}>\n <ul\n ref={ins => {\n if (ins) setImageCt(ins);\n }}\n >\n {imageList\n .filter(item => item.type && item.type?.indexOf('image') > -1)\n .map((item, index) => (\n <li key={item.uid}>\n <img\n src={item.url || downloadUrl + item.id}\n alt={item.name || `picture-${index + 1}`}\n />\n </li>\n ))}\n </ul>\n </div>\n {/* 视频预览 */}\n <Prev onCancel={() => setVPrev(initVPrev)} {...vPrev} />\n </>\n );\n});\n\nVtxUpload.propTypes = {\n isDragger: PropTypes.bool,\n draggerConfig: PropTypes.object,\n accept: PropTypes.string,\n mode: PropTypes.string,\n viewMode: PropTypes.bool,\n showUploadList: PropTypes.bool,\n customizedButton: PropTypes.node,\n listType: PropTypes.string,\n action: PropTypes.string,\n downloadUrl: PropTypes.string,\n thumbnailUrl: PropTypes.string,\n previewUrl: PropTypes.string,\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n onRemove: PropTypes.func,\n onPreview: PropTypes.func,\n maxFileSize: PropTypes.number,\n beforeUpload: PropTypes.func,\n maxNum: PropTypes.number,\n fileList: PropTypes.array,\n flag: PropTypes.number,\n useThumbnail: PropTypes.bool,\n};\nexport default VtxUpload;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-upload/index.jsx"],"names":["debouncedMessage","msg","message","error","initVPrev","type","name","url","downloadUrl","visible","initUrl","action","thumbnailUrl","rejectTypes","Dragger","Upload","VtxUpload","props","ref","isDragger","draggerConfig","accept","mode","viewMode","showUploadList","customizedButton","listType","onSuccess","onError","onRemove","maxFileSize","beforeUpload","maxNum","flag","rest","useThumbnail","undefined","fileList","setFileList","imageViewer","setImageViewer","imageList","setImageList","imageCt","setImageCt","vPrev","setVPrev","getSynFileList","Array","isArray","imagelist","map","file","indexOf","push","Viewer","getConfig","token","config","headers","Authorization","onChange","info","response","result","errMsg","flt","pop","status","vtxId","data","length","id","newFileList","newFile","thumbUrl","filter","item","uid","afterFileList","limit","size","pointIndex","lastIndexOf","fileType","substring","includes","onPreview","fileName","handlePreview","showRemoveIcon","imageIndex","update","view","processedFileList","index","console","img","maxWidth","maxHeight","marginTop","marginBottom","mainText","subText","fontSize","color","display","ins","propTypes","PropTypes","bool","object","string","node","previewUrl","func","number","array"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport useSetState from 'ahooks/es/useSetState';\nimport PropTypes from 'prop-types';\nimport Viewer from 'viewerjs';\nimport Upload from 'antd/lib/upload';\nimport Button from 'antd/lib/button';\nimport InboxOutlined from '@ant-design/icons/InboxOutlined';\nimport PlusOutlined from '@ant-design/icons/PlusOutlined';\nimport UploadOutlined from '@ant-design/icons/UploadOutlined';\nimport message from 'antd/lib/message';\nimport downloadFile from '@vtx/utils/lib/downloadFile';\nimport debounce from 'lodash.debounce';\nimport Prev from './FilePreview';\nimport getUrlParam from '../_util/getUrlParam';\n\nconst debouncedMessage = debounce(msg => {\n message.error(msg);\n}, 500);\n\n//文件预览\nconst initVPrev = {\n type: '', //video or file\n name: '',\n url: '',\n downloadUrl: '',\n visible: false,\n};\n\nconst initUrl = {\n action: '/cloudFile/common/uploadFile',\n downloadUrl: '/cloudFile/common/downloadFile?id=',\n thumbnailUrl:\n '/vortex/rest/cloud/np/file/downloadFileThumbnail?outputQuality=0.5&scale=0.2&id=',\n //previewUrl: '/onlinePreview',\n};\n//禁止上传的文件类型\nconst rejectTypes = ['.asp', '.aspx', '.jsp', '.exe', '.cgi', '.asa', '.cer', '.cdx', '.hta'];\n\nconst Dragger = Upload.Dragger;\nconst VtxUpload = forwardRef((props, ref) => {\n const {\n isDragger = false, //是否拖拽模式\n draggerConfig = {}, //拖动配置\n accept, //接受上传的文件类型\n mode = 'multiple', //单文件模式or多文件模式\n viewMode, //是否查看模式(隐藏上传按钮)\n showUploadList, //是否展示文件列表\n customizedButton, //自定义上传文字描述\n listType = 'text', //上传列表的样式\n onSuccess, //上传成功\n onError, //上传失败\n onRemove, //删除\n maxFileSize = 5 * 1024 * 1024, //文件大小限制,默认最大5M\n beforeUpload, //上传前回调\n maxNum, //最多上传的文件数量\n flag, //同步数据标记\n ...rest\n } = props;\n // 是否使用缩略图\n const useThumbnail =\n (props.useThumbnail===undefined?true:props.useThumbnail) && (listType == 'picture' || listType == 'picture-card');\n\n const [fileList, setFileList] = useState([]); //初始化文件列表\n const [imageViewer, setImageViewer] = useState(null); //图片预览\n const [imageList, setImageList] = useState([]);\n const [imageCt, setImageCt] = useState(null);\n const [vPrev, setVPrev] = useSetState(initVPrev); //文件预览相关\n\n const url = {\n action: props.action || initUrl.action,\n downloadUrl: props.downloadUrl || initUrl.downloadUrl,\n thumbnailUrl: props.thumbnailUrl || initUrl.thumbnailUrl,\n //previewUrl: props.previewUrl || initUrl.previewUrl,\n };\n const { action, downloadUrl, thumbnailUrl } = url;\n\n useEffect(() => {\n setFileList(getSynFileList(props) || []);\n }, [flag]);\n\n useEffect(() => {\n if (Array.isArray(fileList)) {\n // 只有图片的才可以预览,这边需要判断是否是图片\n const imagelist = [];\n // 只能通过后缀来判断\n fileList.map(file => {\n if (file.type?.indexOf('image') > -1) {\n imagelist.push(file);\n }\n });\n setImageList(imagelist);\n }\n }, [fileList]);\n\n useEffect(() => {\n if (imageCt) {\n setImageViewer(new Viewer(imageCt, {}));\n }\n }, [imageCt]);\n\n const getConfig = () => {\n let token = getUrlParam('token') || '';\n let config = {\n ...rest,\n accept,\n action,\n fileList: fileList,\n listType,\n showUploadList,\n headers: {\n Authorization: token ? `Bearer ${token}` : '',\n ...rest.headers,\n },\n onChange(info) {\n setFileList(info.fileList);\n if (info.file.response && info.file.response.result === 1) {\n message.error(info.file.response.errMsg || '上传失败!');\n let flt = [...fileList];\n flt.pop();\n setFileList(flt);\n return;\n }\n // 此处根据后台返回的数据结构取得文件ID\n if (info.file.status !== 'uploading' && info.file.status !== 'removed') {\n let vtxId =\n info.file.response &&\n Array.isArray(info.file.response.data) &&\n info.file.response.data.length > 0\n ? info.file.response.data[0].id\n : undefined;\n let newFileList = info.fileList;\n let newFile = vtxId\n ? {\n ...info.file,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n }\n : {\n ...info.file,\n };\n newFileList = info.fileList\n .filter(item => {\n // 有vtxId代表上传成功,有item.id代表之前上传成功的\n if (vtxId || item.id) return true;\n return false;\n })\n .map(item => {\n if (item.uid == info.file.uid) {\n return {\n ...item,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n };\n }\n return item;\n });\n\n if (mode == 'single') {\n setFileList([newFile]);\n } else {\n setFileList(newFileList);\n }\n // 更新组件状态\n // if (mode == 'single' && info.file.status === 'done') {\n // setFileList([newFile]);\n // } else {\n // setFileList(newFileList);\n // }\n\n // 触发外部方法\n if (info.file.status === 'done') {\n if (typeof onSuccess == 'function') {\n onSuccess(newFile);\n }\n } else if (info.file.status === 'error') {\n if (typeof onError == 'function') {\n onError(info.file);\n }\n }\n }\n },\n onRemove(file) {\n if (typeof onRemove == 'function') {\n return onRemove(file);\n }\n },\n beforeUpload(file, afterFileList) {\n //限制文件大小\n if (maxFileSize && typeof maxFileSize === 'number') {\n const limit = file.size < maxFileSize;\n if (!limit) {\n message.error(`请上传${maxFileSize / 1024 / 1024}M以内的文件`);\n return false;\n }\n }\n //限制不允许上传的文件类型(通过文件名后缀)\n let pointIndex = file.name ? file.name.lastIndexOf('.') : -1;\n if (pointIndex > -1) {\n let fileType = file.name.substring(pointIndex);\n if (rejectTypes.includes(fileType)) {\n message.error('不支持该文件类型');\n return false;\n }\n }\n // 多选限制文件数量\n if (typeof maxNum === 'number' && afterFileList.length + fileList.length > maxNum) {\n // 减少提示错误次数, 思路,防抖 这边有个问题 就是防抖的这个方法 return fasle 不上传\n debouncedMessage(`最多上传${maxNum}个`);\n return false;\n }\n\n if (typeof beforeUpload === 'function') {\n return beforeUpload(file, afterFileList);\n }\n return true;\n },\n };\n\n if (props.onPreview && typeof props.onPreview === 'function') {\n config.onPreview = props.onPreview;\n } else {\n config.onPreview = file => {\n if (!file.type) {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n } else if (file.type?.indexOf('image') > -1) {\n handlePreview(file);\n } else if (file.type?.indexOf('video') > -1) {\n // 视频\n setVPrev({\n type: 'video',\n name: file.name || '视频预览',\n url: downloadUrl + file.id,\n downloadUrl: downloadUrl + file.id,\n visible: true,\n });\n } else {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n }\n\n // TODO 暂无好的文件预览服务,等后续完善,只提供下载\n // else if (\n // file.type == 'application/PDF' ||\n // file.type == 'application/vnd.ms-excel' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ||\n // file.type == 'application/msword' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n // ) {\n // let url = '';\n // if (props.previewUrl) {\n // url = `${props.previewUrl}?id=${file.id}&fileName=${file.name}`;\n // } else {\n // url = `http://183.215.89.162:8012/onlinePreview?url=http://183.136.177.108:8003/cloudFile/common/downloadFile${encodeURIComponent(\n // '?id=' + file.id + '&fullfilename=' + file.name.replace(/\\s*/g, ''),\n // )}`;\n // }\n\n // setVPrev({\n // type: 'file',\n // name: file.name || '文件预览',\n // url: url,\n // downloadUrl: downloadUrl + file.id,\n // visible: true,\n // });\n // }\n };\n }\n\n // viewMode\n if (viewMode) {\n config.showUploadList = { showRemoveIcon: false };\n }\n\n return config;\n };\n\n const handlePreview = file => {\n const imageIndex = imageList.map(item => item.id).indexOf(file.id);\n if (imageIndex == -1) return;\n imageViewer.update();\n imageViewer.view(imageIndex);\n };\n\n const getSynFileList = props => {\n let processedFileList = props.fileList || [];\n // 单文件模式只取第一个\n if (props.mode == 'single' && processedFileList.length > 1) {\n processedFileList = [processedFileList[0]];\n }\n processedFileList = processedFileList.map((item, index) => {\n // 将外部传入的简易文件数组处理成为组件需要的数组结构\n if (item.name === undefined || item.id === undefined) {\n // eslint-disable-next-line no-console\n console.error('文件列表的name和id属性不能为空');\n }\n return {\n ...item,\n uid: -1 - index,\n status: 'done',\n url: item.url || downloadUrl + item.id,\n thumbUrl: useThumbnail ? item.thumbUrl || thumbnailUrl + item.id : undefined,\n };\n });\n return processedFileList;\n };\n return (\n <>\n {isDragger ? (\n <Dragger {...getConfig()} ref={ref}>\n {draggerConfig?.img ? (\n <img\n src={draggerConfig.img}\n alt=\"\"\n style={{\n maxWidth: 100,\n maxHeight: 100,\n marginTop: '3%',\n marginBottom: '5%',\n }}\n />\n ) : (\n <p className=\"ant-upload-drag-icon\">\n <InboxOutlined />\n </p>\n )}\n <p className=\"ant-upload-text\">{draggerConfig?.mainText || '点击或拖拽上传'}</p>\n <p className=\"ant-upload-hint\">\n {draggerConfig?.subText || '支持上传word,excel,png...'}\n </p>\n </Dragger>\n ) : (\n <Upload {...getConfig()} ref={ref}>\n {viewMode || fileList.length >= maxNum\n ? null\n : customizedButton ||\n (listType == 'picture-card' ? (\n <div>\n <PlusOutlined style={{ fontSize: '28px', color: '#999' }} />\n <div className=\"ant-upload-text\">上传</div>\n </div>\n ) : (\n <Button>\n <UploadOutlined />\n 上传\n </Button>\n ))}\n </Upload>\n )}\n <div style={{ display: 'none' }}>\n <ul\n ref={ins => {\n if (ins) setImageCt(ins);\n }}\n >\n {imageList\n .filter(item => item.type && item.type?.indexOf('image') > -1)\n .map((item, index) => (\n <li key={item.uid}>\n <img\n src={item.url || downloadUrl + item.id}\n alt={item.name || `picture-${index + 1}`}\n />\n </li>\n ))}\n </ul>\n </div>\n {/* 视频预览 */}\n <Prev onCancel={() => setVPrev(initVPrev)} {...vPrev} />\n </>\n );\n});\n\nVtxUpload.propTypes = {\n isDragger: PropTypes.bool,\n draggerConfig: PropTypes.object,\n accept: PropTypes.string,\n mode: PropTypes.string,\n viewMode: PropTypes.bool,\n showUploadList: PropTypes.bool,\n customizedButton: PropTypes.node,\n listType: PropTypes.string,\n action: PropTypes.string,\n downloadUrl: PropTypes.string,\n thumbnailUrl: PropTypes.string,\n previewUrl: PropTypes.string,\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n onRemove: PropTypes.func,\n onPreview: PropTypes.func,\n maxFileSize: PropTypes.number,\n beforeUpload: PropTypes.func,\n maxNum: PropTypes.number,\n fileList: PropTypes.array,\n flag: PropTypes.number,\n useThumbnail: PropTypes.bool,\n};\nexport default VtxUpload;\n"],"file":"index.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "3.1.1",
3
+ "version": "3.1.5",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",
@@ -52,11 +52,11 @@
52
52
  "authorName": true
53
53
  },
54
54
  "dependencies": {
55
+ "@ant-design/icons": "4.7.0",
55
56
  "@vtx/map": "latest",
56
57
  "@vtx/utils": "latest",
57
58
  "ahooks": "^3.1.5",
58
59
  "antd": "4.20.5",
59
- "@ant-design/icons": "4.7.0",
60
60
  "axios": "^0.21.1",
61
61
  "braft-editor": "^2.3.9",
62
62
  "braft-utils": "^3.0.12",