@vtx/components 2.5.4 → 2.5.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## [2.5.5](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.5.4...2.5.5) (2021-12-28)
2
+
3
+
4
+ ### ✨ Features
5
+
6
+ * 数据表格下拉框VtxCombogrid查询参数支持自定义getFieldDecorator.options ([f583594](https://git.cloudhw.cn:3443/front-end/react-components/commit/f583594)) by: **gongjinhua**
7
+ * 表单布局VtxFormLayout内置骨架屏 ([6b4a1eb](https://git.cloudhw.cn:3443/front-end/react-components/commit/6b4a1eb)) by: **gongjinhua**
8
+
9
+
10
+ ### 🐛 Bug Fixes
11
+
12
+ * 修复VtxUpload上传组件当fileList内值无type类型时报错问题 ([02b975e](https://git.cloudhw.cn:3443/front-end/react-components/commit/02b975e)) by: **gongjinhua**
13
+
14
+
15
+ ### 📝 Documentation
16
+
17
+ * 报表容器VtxRpsFrame添加使用注意提醒 ([4690dd0](https://git.cloudhw.cn:3443/front-end/react-components/commit/4690dd0)) by: **gongjinhua**
18
+ * 文档版本号修改 ([f67e0eb](https://git.cloudhw.cn:3443/front-end/react-components/commit/f67e0eb)) by: **gongjinhua**
19
+ * 树选择VtxZtreeSelect添加父子节点选中状态不再关联示例 ([33082f4](https://git.cloudhw.cn:3443/front-end/react-components/commit/33082f4)) by: **gongjinhua**
20
+
21
+
22
+
1
23
  ## [2.5.4](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.5.3...2.5.4) (2021-12-20)
2
24
 
3
25
 
@@ -7,6 +29,11 @@
7
29
  * 查询布局展开设置悬浮pointer样式 ([0d9fb91](https://git.cloudhw.cn:3443/front-end/react-components/commit/0d9fb91)) by: **gongjinhua**
8
30
 
9
31
 
32
+ ### 🎫 Chores
33
+
34
+ * release v2.5.4 ([548c39d](https://git.cloudhw.cn:3443/front-end/react-components/commit/548c39d)) by: **gongjinhua**
35
+
36
+
10
37
  ### 🐛 Bug Fixes
11
38
 
12
39
  * 修复多选,上传文件多余限制数量问题,预览图片仅限图片类型 ([766d537](https://git.cloudhw.cn:3443/front-end/react-components/commit/766d537)) by: **xuzhengyun**
@@ -99,6 +99,7 @@ function VtxCombogrid(props, ref) {
99
99
  startIndex: (current - 1) * pageSize + 1,
100
100
  size: 'small',
101
101
  headFootHeight: 95,
102
+ claerRowSelection: clearSelectedRow,
102
103
  pagination: _objectSpread(_objectSpread({}, pagination), {}, {
103
104
  showSizeChanger: false,
104
105
  onChange: function onChange() {
@@ -168,7 +169,9 @@ function VtxCombogrid(props, ref) {
168
169
  var renderFormItem = function renderFormItem(field) {
169
170
  var name = field.name,
170
171
  label = field.label,
171
- render = field.render;
172
+ render = field.render,
173
+ _field$fieldDecorator = field.fieldDecoratorOptions,
174
+ fieldDecoratorOptions = _field$fieldDecorator === void 0 ? {} : _field$fieldDecorator;
172
175
  return /*#__PURE__*/_react["default"].createElement(_col["default"], {
173
176
  span: 12,
174
177
  key: name
@@ -180,7 +183,7 @@ function VtxCombogrid(props, ref) {
180
183
  wrapperCol: {
181
184
  span: 16
182
185
  }
183
- }, getFieldDecorator(name)(render && render(form))));
186
+ }, getFieldDecorator(name, fieldDecoratorOptions)(render && render(form))));
184
187
  };
185
188
 
186
189
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-combogrid/Combogrid.jsx"],"names":["VtxCombogrid","props","ref","more","setMore","prefixCls","setPopoverVisible","multiple","onChange","getTableData","columns","searchForms","form","selectedRowKeys","setSelectedRowKeys","spread","rest","getFieldDecorator","defaultPageSize","tableProps","search","submit","reset","pagination","current","pageSize","clearSelectedRow","newTableProps","startIndex","size","headFootHeight","showSizeChanger","onRow","record","onClick","rowSelection","selectedRows","query","length","clear","formLen","isMore","moreSearchForm","slice","renderFormItem","field","name","label","render","span","map","item","idx","Form","create","React","forwardRef","propTypes","PropTypes","string","func","isRequired","array","object","bool","defaultSelectedRowKeys"],"mappings":"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","sourcesContent":["import React, { useState, useImperativeHandle } from 'react';\nimport Form from 'antd/es/form';\nimport Row from 'antd/es/row';\nimport Col from 'antd/es/col';\nimport Button from 'antd/es/button';\nimport useAntdTable from 'ahooks/es/useAntdTable';\nimport PropTypes from 'prop-types';\nimport VtxDatagrid from '../vtx-datagrid';\n\nfunction VtxCombogrid(props, ref) {\n const [more, setMore] = useState(false);\n const {\n prefixCls,\n setPopoverVisible,\n multiple,\n onChange,\n getTableData,\n columns,\n searchForms = [],\n form,\n selectedRowKeys,\n setSelectedRowKeys,\n spread,\n ...rest\n } = props;\n const { getFieldDecorator } = form;\n\n const { tableProps, search } = useAntdTable(getTableData, {\n defaultPageSize: 10,\n form,\n });\n const { submit, reset } = search;\n\n // 表格\n const { pagination } = tableProps;\n const { current, pageSize } = pagination;\n\n const clearSelectedRow = () => {\n onChange && onChange([]);\n setSelectedRowKeys([]);\n };\n\n let newTableProps = {\n ...tableProps,\n columns,\n startIndex: (current - 1) * pageSize + 1,\n size: 'small',\n headFootHeight: 95,\n pagination: {\n ...pagination,\n showSizeChanger: false,\n onChange() {\n if (!spread) {\n clearSelectedRow();\n }\n },\n },\n onRow: record => {\n if (multiple) {\n return {};\n }\n return {\n onClick: () => {\n onChange && onChange([record]);\n setPopoverVisible(false);\n },\n };\n },\n };\n\n if (multiple) {\n newTableProps = {\n ...newTableProps,\n rowSelection: {\n selectedRowKeys,\n onChange(selectedRowKeys, selectedRows) {\n setSelectedRowKeys(selectedRowKeys);\n onChange && onChange(selectedRows);\n },\n },\n };\n }\n\n // 查询和清空会重置selectedRowKeys,因此也需清空文本中的value值\n const query = () => {\n submit();\n if (multiple && selectedRowKeys.length) {\n clearSelectedRow();\n }\n };\n const clear = () => {\n reset();\n if (multiple && selectedRowKeys.length) {\n clearSelectedRow();\n }\n };\n\n // 暴露给父组件使用\n useImperativeHandle(ref, () => ({\n clear,\n }));\n\n // 查询条件是否超过2个,超过2个默认隐藏\n const formLen = searchForms.length;\n const isMore = formLen > 2;\n let moreSearchForm = [];\n if (isMore) {\n moreSearchForm = searchForms.slice(2);\n }\n\n const renderFormItem = field => {\n const { name, label, render } = field;\n return (\n <Col span={12} key={name}>\n <Form.Item label={label} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>\n {getFieldDecorator(name)(render && render(form))}\n </Form.Item>\n </Col>\n );\n };\n\n return (\n <div className={`${prefixCls}-popover`} ref={ref}>\n {formLen > 0 && (\n <Row gutter={8}>\n <Col span={18}>\n <Row>\n {searchForms.map((item, idx) => {\n if (idx < 2) {\n return renderFormItem(item);\n }\n })}\n </Row>\n {more && (\n <Row>\n {moreSearchForm.map(item => {\n return renderFormItem(item);\n })}\n </Row>\n )}\n </Col>\n <Col span={6} className={`${prefixCls}-btns`}>\n <Button onClick={query} type=\"primary\" size=\"small\">\n 查询\n </Button>\n <Button onClick={clear} size=\"small\">\n 清空\n </Button>\n {isMore && (\n <Button\n icon=\"more\"\n size=\"small\"\n title=\"更多\"\n onClick={() => setMore(!more)}\n />\n )}\n </Col>\n </Row>\n )}\n <div className={`${prefixCls}-main`}>\n <VtxDatagrid toolbar={false} {...newTableProps} {...rest} />\n </div>\n </div>\n );\n}\n\nexport default Form.create()(React.forwardRef(VtxCombogrid));\n\nVtxCombogrid.propTypes = {\n prefixCls: PropTypes.string,\n getTableData: PropTypes.func.isRequired,\n columns: PropTypes.array,\n searchForms: PropTypes.array,\n form: PropTypes.object,\n multiple: PropTypes.bool,\n onChange: PropTypes.func,\n setPopoverVisible: PropTypes.func,\n selectedRowKeys: PropTypes.array,\n setSelectedRowKeys: PropTypes.func,\n spread: PropTypes.bool,\n defaultSelectedRowKeys: PropTypes.array,\n};\n"],"file":"Combogrid.js"}
1
+ {"version":3,"sources":["vtx-combogrid/Combogrid.jsx"],"names":["VtxCombogrid","props","ref","more","setMore","prefixCls","setPopoverVisible","multiple","onChange","getTableData","columns","searchForms","form","selectedRowKeys","setSelectedRowKeys","spread","rest","getFieldDecorator","defaultPageSize","tableProps","search","submit","reset","pagination","current","pageSize","clearSelectedRow","newTableProps","startIndex","size","headFootHeight","claerRowSelection","showSizeChanger","onRow","record","onClick","rowSelection","selectedRows","query","length","clear","formLen","isMore","moreSearchForm","slice","renderFormItem","field","name","label","render","fieldDecoratorOptions","span","map","item","idx","Form","create","React","forwardRef","propTypes","PropTypes","string","func","isRequired","array","object","bool","defaultSelectedRowKeys"],"mappings":"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","sourcesContent":["import React, { useState, useImperativeHandle } from 'react';\nimport Form from 'antd/es/form';\nimport Row from 'antd/es/row';\nimport Col from 'antd/es/col';\nimport Button from 'antd/es/button';\nimport useAntdTable from 'ahooks/es/useAntdTable';\nimport PropTypes from 'prop-types';\nimport VtxDatagrid from '../vtx-datagrid';\n\nfunction VtxCombogrid(props, ref) {\n const [more, setMore] = useState(false);\n const {\n prefixCls,\n setPopoverVisible,\n multiple,\n onChange,\n getTableData,\n columns,\n searchForms = [],\n form,\n selectedRowKeys,\n setSelectedRowKeys,\n spread,\n ...rest\n } = props;\n const { getFieldDecorator } = form;\n\n const { tableProps, search } = useAntdTable(getTableData, {\n defaultPageSize: 10,\n form,\n });\n const { submit, reset } = search;\n\n // 表格\n const { pagination } = tableProps;\n const { current, pageSize } = pagination;\n\n const clearSelectedRow = () => {\n onChange && onChange([]);\n setSelectedRowKeys([]);\n };\n\n let newTableProps = {\n ...tableProps,\n columns,\n startIndex: (current - 1) * pageSize + 1,\n size: 'small',\n headFootHeight: 95,\n claerRowSelection: clearSelectedRow,\n pagination: {\n ...pagination,\n showSizeChanger: false,\n onChange() {\n if (!spread) {\n clearSelectedRow();\n }\n },\n },\n onRow: record => {\n if (multiple) {\n return {};\n }\n return {\n onClick: () => {\n onChange && onChange([record]);\n setPopoverVisible(false);\n },\n };\n },\n };\n\n if (multiple) {\n newTableProps = {\n ...newTableProps,\n rowSelection: {\n selectedRowKeys,\n onChange(selectedRowKeys, selectedRows) {\n setSelectedRowKeys(selectedRowKeys);\n onChange && onChange(selectedRows);\n },\n },\n };\n }\n\n // 查询和清空会重置selectedRowKeys,因此也需清空文本中的value值\n const query = () => {\n submit();\n if (multiple && selectedRowKeys.length) {\n clearSelectedRow();\n }\n };\n const clear = () => {\n reset();\n if (multiple && selectedRowKeys.length) {\n clearSelectedRow();\n }\n };\n\n // 暴露给父组件使用\n useImperativeHandle(ref, () => ({\n clear,\n }));\n\n // 查询条件是否超过2个,超过2个默认隐藏\n const formLen = searchForms.length;\n const isMore = formLen > 2;\n let moreSearchForm = [];\n if (isMore) {\n moreSearchForm = searchForms.slice(2);\n }\n\n const renderFormItem = field => {\n const { name, label, render, fieldDecoratorOptions = {} } = field;\n return (\n <Col span={12} key={name}>\n <Form.Item label={label} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>\n {getFieldDecorator(name, fieldDecoratorOptions)(render && render(form))}\n </Form.Item>\n </Col>\n );\n };\n\n return (\n <div className={`${prefixCls}-popover`} ref={ref}>\n {formLen > 0 && (\n <Row gutter={8}>\n <Col span={18}>\n <Row>\n {searchForms.map((item, idx) => {\n if (idx < 2) {\n return renderFormItem(item);\n }\n })}\n </Row>\n {more && (\n <Row>\n {moreSearchForm.map(item => {\n return renderFormItem(item);\n })}\n </Row>\n )}\n </Col>\n <Col span={6} className={`${prefixCls}-btns`}>\n <Button onClick={query} type=\"primary\" size=\"small\">\n 查询\n </Button>\n <Button onClick={clear} size=\"small\">\n 清空\n </Button>\n {isMore && (\n <Button\n icon=\"more\"\n size=\"small\"\n title=\"更多\"\n onClick={() => setMore(!more)}\n />\n )}\n </Col>\n </Row>\n )}\n <div className={`${prefixCls}-main`}>\n <VtxDatagrid toolbar={false} {...newTableProps} {...rest} />\n </div>\n </div>\n );\n}\n\nexport default Form.create()(React.forwardRef(VtxCombogrid));\n\nVtxCombogrid.propTypes = {\n prefixCls: PropTypes.string,\n getTableData: PropTypes.func.isRequired,\n columns: PropTypes.array,\n searchForms: PropTypes.array,\n form: PropTypes.object,\n multiple: PropTypes.bool,\n onChange: PropTypes.func,\n setPopoverVisible: PropTypes.func,\n selectedRowKeys: PropTypes.array,\n setSelectedRowKeys: PropTypes.func,\n spread: PropTypes.bool,\n defaultSelectedRowKeys: PropTypes.array,\n};\n"],"file":"Combogrid.js"}
@@ -11,6 +11,10 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
+ var _lodash = _interopRequireDefault(require("lodash.merge"));
15
+
16
+ var _skeleton = _interopRequireDefault(require("antd/es/skeleton"));
17
+
14
18
  var _Row = _interopRequireDefault(require("./Row"));
15
19
 
16
20
  var _FormItem = _interopRequireDefault(require("./FormItem"));
@@ -33,13 +37,22 @@ function VtxFormLayout(props) {
33
37
  mode = props.mode,
34
38
  _props$layout = props.layout,
35
39
  layout = _props$layout === void 0 ? 'vertical' : _props$layout,
36
- card = props.card;
40
+ card = props.card,
41
+ skeleton = props.skeleton;
37
42
  var store = {
38
43
  cols: cols,
39
44
  labelColSpan: labelColSpan,
40
45
  mode: mode,
41
46
  layout: layout
42
47
  };
48
+ var defaultSkeleton = {
49
+ loading: false,
50
+ title: false,
51
+ paragraph: {
52
+ width: '100%',
53
+ rows: 4
54
+ }
55
+ };
43
56
  return /*#__PURE__*/_react["default"].createElement(_context.StoreCtx.Provider, {
44
57
  value: store
45
58
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -48,7 +61,7 @@ function VtxFormLayout(props) {
48
61
  'vtx-form-layout-view': mode === 'view',
49
62
  'vtx-form-layout-has-card': card
50
63
  })
51
- }, props.children));
64
+ }, /*#__PURE__*/_react["default"].createElement(_skeleton["default"], (0, _lodash["default"])(defaultSkeleton, skeleton), props.children)));
52
65
  }
53
66
 
54
67
  VtxFormLayout.propTypes = {
@@ -57,7 +70,8 @@ VtxFormLayout.propTypes = {
57
70
  mode: _propTypes["default"].oneOf(['view']),
58
71
  layout: _propTypes["default"].oneOf(['horizontal', 'vertical']),
59
72
  children: _propTypes["default"].node,
60
- card: _propTypes["default"].bool
73
+ card: _propTypes["default"].bool,
74
+ skeleton: _propTypes["default"].object
61
75
  };
62
76
  VtxFormLayout.Row = _Row["default"];
63
77
  VtxFormLayout.FormItem = _FormItem["default"];
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-form-layout/index.jsx"],"names":["VtxFormLayout","props","cols","labelColSpan","mode","layout","card","store","children","propTypes","PropTypes","number","oneOf","node","bool","Row","FormItem","Card","Pane","Divider"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,aAAT,CAAuBC,KAAvB,EAA8B;AAAA,oBAC8CA,KAD9C,CAClBC,IADkB;AAAA,MAClBA,IADkB,4BACX,CADW;AAAA,4BAC8CD,KAD9C,CACRE,YADQ;AAAA,MACRA,YADQ,oCACO,CADP;AAAA,MACUC,IADV,GAC8CH,KAD9C,CACUG,IADV;AAAA,sBAC8CH,KAD9C,CACgBI,MADhB;AAAA,MACgBA,MADhB,8BACyB,UADzB;AAAA,MACqCC,IADrC,GAC8CL,KAD9C,CACqCK,IADrC;AAE1B,MAAMC,KAAK,GAAG;AACVL,IAAAA,IAAI,EAAJA,IADU;AAEVC,IAAAA,YAAY,EAAZA,YAFU;AAGVC,IAAAA,IAAI,EAAJA,IAHU;AAIVC,IAAAA,MAAM,EAANA;AAJU,GAAd;AAMA,sBACI,gCAAC,iBAAD,CAAU,QAAV;AAAmB,IAAA,KAAK,EAAEE;AAA1B,kBACI;AACI,IAAA,SAAS,EAAE,4BAAW,iBAAX,EAA8B;AACrC,kCAA4BF,MAAM,KAAK,UAAX,IAAyBD,IAAI,KAAK,MADzB;AAErC,8BAAwBA,IAAI,KAAK,MAFI;AAGrC,kCAA4BE;AAHS,KAA9B;AADf,KAOKL,KAAK,CAACO,QAPX,CADJ,CADJ;AAaH;;AAEDR,aAAa,CAACS,SAAd,GAA0B;AACtBP,EAAAA,IAAI,EAAEQ,sBAAUC,MADM;AAEtBR,EAAAA,YAAY,EAAEO,sBAAUC,MAFF;AAGtBP,EAAAA,IAAI,EAAEM,sBAAUE,KAAV,CAAgB,CAAC,MAAD,CAAhB,CAHgB;AAItBP,EAAAA,MAAM,EAAEK,sBAAUE,KAAV,CAAgB,CAAC,YAAD,EAAe,UAAf,CAAhB,CAJc;AAKtBJ,EAAAA,QAAQ,EAAEE,sBAAUG,IALE;AAMtBP,EAAAA,IAAI,EAAEI,sBAAUI;AANM,CAA1B;AASAd,aAAa,CAACe,GAAd,GAAoBA,eAApB;AACAf,aAAa,CAACgB,QAAd,GAAyBA,oBAAzB;AACAhB,aAAa,CAACiB,IAAd,GAAqBA,gBAArB;AACAjB,aAAa,CAACkB,IAAd,GAAqBA,gBAArB;AACAlB,aAAa,CAACmB,OAAd,GAAwBA,mBAAxB;eAEenB,a","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Row from './Row';\nimport FormItem from './FormItem';\nimport Card from './Card';\nimport Pane from './Pane';\nimport Divider from './Divider';\nimport { StoreCtx } from './context';\n\nfunction VtxFormLayout(props) {\n const { cols = 2, labelColSpan = 8, mode, layout = 'vertical', card } = props;\n const store = {\n cols,\n labelColSpan,\n mode,\n layout,\n };\n return (\n <StoreCtx.Provider value={store}>\n <div\n className={classnames('vtx-form-layout', {\n 'vtx-form-layout-vertical': layout === 'vertical' && mode !== 'view',\n 'vtx-form-layout-view': mode === 'view',\n 'vtx-form-layout-has-card': card,\n })}\n >\n {props.children}\n </div>\n </StoreCtx.Provider>\n );\n}\n\nVtxFormLayout.propTypes = {\n cols: PropTypes.number,\n labelColSpan: PropTypes.number,\n mode: PropTypes.oneOf(['view']),\n layout: PropTypes.oneOf(['horizontal', 'vertical']),\n children: PropTypes.node,\n card: PropTypes.bool,\n};\n\nVtxFormLayout.Row = Row;\nVtxFormLayout.FormItem = FormItem;\nVtxFormLayout.Card = Card;\nVtxFormLayout.Pane = Pane;\nVtxFormLayout.Divider = Divider;\n\nexport default VtxFormLayout;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-form-layout/index.jsx"],"names":["VtxFormLayout","props","cols","labelColSpan","mode","layout","card","skeleton","store","defaultSkeleton","loading","title","paragraph","width","rows","children","propTypes","PropTypes","number","oneOf","node","bool","object","Row","FormItem","Card","Pane","Divider"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,aAAT,CAAuBC,KAAvB,EAA8B;AAAA,oBACwDA,KADxD,CAClBC,IADkB;AAAA,MAClBA,IADkB,4BACX,CADW;AAAA,4BACwDD,KADxD,CACRE,YADQ;AAAA,MACRA,YADQ,oCACO,CADP;AAAA,MACUC,IADV,GACwDH,KADxD,CACUG,IADV;AAAA,sBACwDH,KADxD,CACgBI,MADhB;AAAA,MACgBA,MADhB,8BACyB,UADzB;AAAA,MACqCC,IADrC,GACwDL,KADxD,CACqCK,IADrC;AAAA,MAC2CC,QAD3C,GACwDN,KADxD,CAC2CM,QAD3C;AAE1B,MAAMC,KAAK,GAAG;AACVN,IAAAA,IAAI,EAAJA,IADU;AAEVC,IAAAA,YAAY,EAAZA,YAFU;AAGVC,IAAAA,IAAI,EAAJA,IAHU;AAIVC,IAAAA,MAAM,EAANA;AAJU,GAAd;AAMA,MAAMI,eAAe,GAAG;AACpBC,IAAAA,OAAO,EAAE,KADW;AAEpBC,IAAAA,KAAK,EAAE,KAFa;AAGpBC,IAAAA,SAAS,EAAE;AACPC,MAAAA,KAAK,EAAE,MADA;AAEPC,MAAAA,IAAI,EAAE;AAFC;AAHS,GAAxB;AAQA,sBACI,gCAAC,iBAAD,CAAU,QAAV;AAAmB,IAAA,KAAK,EAAEN;AAA1B,kBACI;AACI,IAAA,SAAS,EAAE,4BAAW,iBAAX,EAA8B;AACrC,kCAA4BH,MAAM,KAAK,UAAX,IAAyBD,IAAI,KAAK,MADzB;AAErC,8BAAwBA,IAAI,KAAK,MAFI;AAGrC,kCAA4BE;AAHS,KAA9B;AADf,kBAOI,gCAAC,oBAAD,EAAc,wBAAMG,eAAN,EAAuBF,QAAvB,CAAd,EAAiDN,KAAK,CAACc,QAAvD,CAPJ,CADJ,CADJ;AAaH;;AAEDf,aAAa,CAACgB,SAAd,GAA0B;AACtBd,EAAAA,IAAI,EAAEe,sBAAUC,MADM;AAEtBf,EAAAA,YAAY,EAAEc,sBAAUC,MAFF;AAGtBd,EAAAA,IAAI,EAAEa,sBAAUE,KAAV,CAAgB,CAAC,MAAD,CAAhB,CAHgB;AAItBd,EAAAA,MAAM,EAAEY,sBAAUE,KAAV,CAAgB,CAAC,YAAD,EAAe,UAAf,CAAhB,CAJc;AAKtBJ,EAAAA,QAAQ,EAAEE,sBAAUG,IALE;AAMtBd,EAAAA,IAAI,EAAEW,sBAAUI,IANM;AAOtBd,EAAAA,QAAQ,EAAEU,sBAAUK;AAPE,CAA1B;AAUAtB,aAAa,CAACuB,GAAd,GAAoBA,eAApB;AACAvB,aAAa,CAACwB,QAAd,GAAyBA,oBAAzB;AACAxB,aAAa,CAACyB,IAAd,GAAqBA,gBAArB;AACAzB,aAAa,CAAC0B,IAAd,GAAqBA,gBAArB;AACA1B,aAAa,CAAC2B,OAAd,GAAwBA,mBAAxB;eAEe3B,a","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport merge from 'lodash.merge';\nimport Skeleton from 'antd/es/skeleton';\nimport Row from './Row';\nimport FormItem from './FormItem';\nimport Card from './Card';\nimport Pane from './Pane';\nimport Divider from './Divider';\nimport { StoreCtx } from './context';\n\nfunction VtxFormLayout(props) {\n const { cols = 2, labelColSpan = 8, mode, layout = 'vertical', card, skeleton } = props;\n const store = {\n cols,\n labelColSpan,\n mode,\n layout,\n };\n const defaultSkeleton = {\n loading: false,\n title: false,\n paragraph: {\n width: '100%',\n rows: 4,\n },\n };\n return (\n <StoreCtx.Provider value={store}>\n <div\n className={classnames('vtx-form-layout', {\n 'vtx-form-layout-vertical': layout === 'vertical' && mode !== 'view',\n 'vtx-form-layout-view': mode === 'view',\n 'vtx-form-layout-has-card': card,\n })}\n >\n <Skeleton {...merge(defaultSkeleton, skeleton)}>{props.children}</Skeleton>\n </div>\n </StoreCtx.Provider>\n );\n}\n\nVtxFormLayout.propTypes = {\n cols: PropTypes.number,\n labelColSpan: PropTypes.number,\n mode: PropTypes.oneOf(['view']),\n layout: PropTypes.oneOf(['horizontal', 'vertical']),\n children: PropTypes.node,\n card: PropTypes.bool,\n skeleton: PropTypes.object,\n};\n\nVtxFormLayout.Row = Row;\nVtxFormLayout.FormItem = FormItem;\nVtxFormLayout.Card = Card;\nVtxFormLayout.Pane = Pane;\nVtxFormLayout.Divider = Divider;\n\nexport default VtxFormLayout;\n"],"file":"index.js"}
@@ -14,5 +14,7 @@ require("antd/es/card/style/css");
14
14
 
15
15
  require("antd/es/divider/style/css");
16
16
 
17
+ require("antd/es/skeleton/style/css");
18
+
17
19
  require("./index.css");
18
20
  //# sourceMappingURL=css.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-form-layout/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/es/row/style/css';\nimport 'antd/es/col/style/css';\nimport 'antd/es/form/style/css';\nimport 'antd/es/icon/style/css';\nimport 'antd/es/tooltip/style/css';\nimport 'antd/es/card/style/css';\nimport 'antd/es/divider/style/css';\nimport './index.less';\n"],"file":"css.js"}
1
+ {"version":3,"sources":["vtx-form-layout/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/es/row/style/css';\nimport 'antd/es/col/style/css';\nimport 'antd/es/form/style/css';\nimport 'antd/es/icon/style/css';\nimport 'antd/es/tooltip/style/css';\nimport 'antd/es/card/style/css';\nimport 'antd/es/divider/style/css';\nimport 'antd/es/skeleton/style/css';\nimport './index.less';\n"],"file":"css.js"}
@@ -14,5 +14,7 @@ require("antd/es/card/style/css");
14
14
 
15
15
  require("antd/es/divider/style/css");
16
16
 
17
+ require("antd/es/skeleton/style/css");
18
+
17
19
  require("./index.less");
18
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-form-layout/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/es/row/style/css';\nimport 'antd/es/col/style/css';\nimport 'antd/es/form/style/css';\nimport 'antd/es/icon/style/css';\nimport 'antd/es/tooltip/style/css';\nimport 'antd/es/card/style/css';\nimport 'antd/es/divider/style/css';\nimport './index.less';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-form-layout/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/es/row/style/css';\nimport 'antd/es/col/style/css';\nimport 'antd/es/form/style/css';\nimport 'antd/es/icon/style/css';\nimport 'antd/es/tooltip/style/css';\nimport 'antd/es/card/style/css';\nimport 'antd/es/divider/style/css';\nimport 'antd/es/skeleton/style/css';\nimport './index.less';\n"],"file":"index.js"}
@@ -162,7 +162,9 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
162
162
  var imagelist = []; // 只能通过后缀来判断
163
163
 
164
164
  fileList.map(function (file) {
165
- if (file.type.indexOf('image') > -1) {
165
+ var _file$type;
166
+
167
+ if (((_file$type = file.type) === null || _file$type === void 0 ? void 0 : _file$type.indexOf('image')) > -1) {
166
168
  imagelist.push(file);
167
169
  }
168
170
  });
@@ -298,13 +300,15 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
298
300
  config.onPreview = props.onPreview;
299
301
  } else {
300
302
  config.onPreview = function (file) {
303
+ var _file$type2, _file$type3;
304
+
301
305
  if (!file.type) {
302
306
  (0, _downloadFile["default"])(downloadUrl + file.id, {
303
307
  fileName: file.name
304
308
  }, 'blob');
305
- } else if (file.type.indexOf('image') > -1) {
309
+ } else if (((_file$type2 = file.type) === null || _file$type2 === void 0 ? void 0 : _file$type2.indexOf('image')) > -1) {
306
310
  handlePreview(file);
307
- } else if (file.type.indexOf('video') > -1) {
311
+ } else if (((_file$type3 = file.type) === null || _file$type3 === void 0 ? void 0 : _file$type3.indexOf('video')) > -1) {
308
312
  // 视频
309
313
  setVPrev({
310
314
  type: 'video',
@@ -430,7 +434,9 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
430
434
  if (ins) setImageCt(ins);
431
435
  }
432
436
  }, imageList.filter(function (item) {
433
- return item.type && item.type.indexOf('image') > -1;
437
+ var _item$type;
438
+
439
+ return item.type && ((_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.indexOf('image')) > -1;
434
440
  }).map(function (item, index) {
435
441
  return /*#__PURE__*/_react["default"].createElement("li", {
436
442
  key: item.uid
@@ -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/es/upload';\nimport Button from 'antd/es/button';\nimport Icon from 'antd/es/icon';\nimport message from 'antd/es/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') {\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 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 <Icon type=\"inbox\" />\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 <Icon type=\"plus\" style={{ fontSize: '28px', color: '#999' }} />\n <div className=\"ant-upload-text\">上传</div>\n </div>\n ) : (\n <Button>\n <Icon type=\"upload\" />\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","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/es/upload';\nimport Button from 'antd/es/button';\nimport Icon from 'antd/es/icon';\nimport message from 'antd/es/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') {\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 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 <Icon type=\"inbox\" />\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 <Icon type=\"plus\" style={{ fontSize: '28px', color: '#999' }} />\n <div className=\"ant-upload-text\">上传</div>\n </div>\n ) : (\n <Button>\n <Icon type=\"upload\" />\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": "2.5.4",
3
+ "version": "2.5.5",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",