@vtx/components 3.1.119 → 3.1.121

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.
@@ -97,7 +97,12 @@ function ColumnSetting(props) {
97
97
  TextEnum = props.TextEnum;
98
98
  (0, _react.useImperativeHandle)(settingRef, function () {
99
99
  return {
100
- showColumns: state.showColumns ? state.showColumns.split(',') : null
100
+ showColumns: state.showColumns ? state.showColumns.split(',') : null,
101
+ updateShowColumns: function updateShowColumns(value) {
102
+ setState({
103
+ showColumns: value
104
+ });
105
+ }
101
106
  };
102
107
  });
103
108
  (0, _react.useEffect)(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnSetting.js","names":["ColumnSetting","props","getUrlParam","userId","tenantId","token","getToken","useSet","indeterminate","checkAll","columnSettingId","showColumns","state","setState","prefixCls","checkedColumnKeys","columnSettingOptions","onChange","onReset","disabledColumnKeys","onColumnsSave","uniqueKey","settingRef","prefixUrl","TextEnum","useImperativeHandle","split","useEffect","chkLen","length","optionLen","onCheckChange","e","key","newCheckedColumnKeys","target","checked","filter","item","onCheckAllChange","map","onSaveChange","getUmsColumns","params","tableCode","axios","method","url","headers","Authorization","getSignature","then","data","result","total","record","rows","id","saveColumns","message","warn","messageWarningOneText","JSON","stringify","join","name","success","messageSuccessText","columnSettingTitleText","columnSettingResetText","opt","dataIndex","includes","title","margin","columnSettingSaveText","children","propTypes","PropTypes","string","array","node","func","object"],"sources":["vtx-datagrid/ColumnSetting.jsx"],"sourcesContent":["import React, { useEffect, useImperativeHandle } from 'react';\r\nimport Popover from 'antd/lib/popover';\r\nimport Divider from 'antd/lib/divider';\r\nimport Button from 'antd/lib/button';\r\nimport Checkbox from 'antd/lib/checkbox';\r\nimport message from 'antd/lib/message';\r\nimport PropTypes from 'prop-types';\r\nimport useSet from '../_util/useSet';\r\nimport axios from 'axios';\r\nimport getUrlParam from '../_util/getUrlParam';\r\nimport getToken from '../_util/getToken';\r\nimport getSignature from '@vtx/utils/lib/getSignature';\r\n\r\nexport default function ColumnSetting(props) {\r\n const { userId = '', tenantId = '' } = getUrlParam();\r\n let token = getToken();\r\n const [state, setState] = useSet({\r\n indeterminate: false,\r\n checkAll: false,\r\n columnSettingId: '',\r\n showColumns: '',\r\n });\r\n const {\r\n prefixCls,\r\n checkedColumnKeys,\r\n columnSettingOptions,\r\n onChange,\r\n onReset,\r\n disabledColumnKeys = [],\r\n onColumnsSave,\r\n uniqueKey,\r\n settingRef,\r\n prefixUrl='',\r\n TextEnum\r\n } = props;\r\n\r\n useImperativeHandle(settingRef, () => {\r\n return {\r\n showColumns: state.showColumns ? state.showColumns.split(',') : null,\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n const chkLen = checkedColumnKeys?.length;\r\n const optionLen = columnSettingOptions?.length;\r\n setState({\r\n checkAll: chkLen == optionLen,\r\n indeterminate: chkLen && chkLen < optionLen,\r\n });\r\n }, [checkedColumnKeys?.length, columnSettingOptions?.length]);\r\n\r\n const { indeterminate, checkAll } = state;\r\n\r\n // 单选\r\n const onCheckChange = (e, key) => {\r\n if (onChange) {\r\n const newCheckedColumnKeys = e.target.checked\r\n ? [...checkedColumnKeys, key]\r\n : checkedColumnKeys?.filter(item => item != key);\r\n onChange(newCheckedColumnKeys);\r\n }\r\n };\r\n\r\n // 全选\r\n const onCheckAllChange = e => {\r\n if (onChange) {\r\n const newCheckedColumnKeys = e.target.checked\r\n ? columnSettingOptions?.map(item => item.key)\r\n : [];\r\n onChange(newCheckedColumnKeys);\r\n }\r\n };\r\n // 保存按钮\r\n const onSaveChange = () => {\r\n if (onChange) {\r\n onColumnsSave(checkedColumnKeys);\r\n }\r\n };\r\n function getUmsColumns() {\r\n if (!onColumnsSave && !!uniqueKey) {\r\n let params = {\r\n tableCode: uniqueKey,\r\n };\r\n axios({\r\n method: 'GET',\r\n url: `${prefixUrl}/cloud/management/api/v101/user/config/table/page`,\r\n headers: {\r\n Authorization: token ? `Bearer ${token}` : '',\r\n ...getSignature(params)\r\n },\r\n params: params,\r\n }).then(({ data }) => {\r\n if (data?.result == 0 && data?.data.total > 0) {\r\n let record = data.data.rows[0];\r\n record?.id &&\r\n setState({\r\n columnSettingId: record.id,\r\n showColumns: record.showColumns,\r\n });\r\n } else {\r\n setState({\r\n columnSettingId: '',\r\n showColumns: '',\r\n });\r\n }\r\n });\r\n }\r\n }\r\n //\r\n const saveColumns = () => {\r\n if ((checkedColumnKeys || []).length == 0) {\r\n message.warn(TextEnum.messageWarningOneText);\r\n return false;\r\n }\r\n axios({\r\n method: 'POST',\r\n url: `${prefixUrl}/cloud/management/api/v101/user/config/table/save`,\r\n headers: {\r\n Authorization: token ? `Bearer ${token}` : '',\r\n 'Content-Type': 'application/json',\r\n },\r\n data: JSON.stringify({\r\n showColumns: (checkedColumnKeys || []).join(','),\r\n tableCode: uniqueKey,\r\n name: uniqueKey,\r\n userId,\r\n tenantId,\r\n id: state.columnSettingId,\r\n }),\r\n }).then(({ data }) => {\r\n if (data?.result == 0) {\r\n message.success(TextEnum.messageSuccessText);\r\n getUmsColumns();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (uniqueKey) {\r\n getUmsColumns();\r\n }\r\n }, [uniqueKey]);\r\n\r\n useEffect(() => {\r\n onChange && onChange(state.showColumns ? state.showColumns.split(',') : '');\r\n }, [JSON.stringify(state.showColumns)]);\r\n\r\n return (\r\n <Popover\r\n trigger=\"click\"\r\n placement=\"bottomRight\"\r\n arrowPointAtCenter\r\n title={\r\n <div className={`${prefixCls}-column-setting-title`} slot=\"title\">\r\n <Checkbox\r\n className={`${prefixCls}-column-setting-checkbox-wrapper`}\r\n indeterminate={indeterminate}\r\n checked={checkAll}\r\n onChange={onCheckAllChange}\r\n >\r\n {TextEnum.columnSettingTitleText}\r\n </Checkbox>\r\n <a onClick={onReset}>{TextEnum.columnSettingResetText}</a>\r\n </div>\r\n }\r\n content={\r\n <div className={`${prefixCls}-column-setting-list`}>\r\n {columnSettingOptions?.map(opt => {\r\n const key = opt.key || opt.dataIndex;\r\n return (\r\n <div key={key}>\r\n <Checkbox\r\n checked={checkedColumnKeys?.includes(key)}\r\n onChange={e => onCheckChange(e, key)}\r\n disabled={disabledColumnKeys.includes(key)}\r\n >\r\n {opt.title}\r\n </Checkbox>\r\n </div>\r\n );\r\n })}\r\n {typeof onColumnsSave === 'function' ? (\r\n <>\r\n <Divider style={{ margin: '5px 0 10px 0' }} />\r\n <Button block={true} onClick={() => onSaveChange()}>\r\n {TextEnum.columnSettingSaveText}\r\n </Button>\r\n </>\r\n ) : null}\r\n {!onColumnsSave && uniqueKey ? (\r\n <>\r\n <Divider style={{ margin: '5px 0 10px 0' }} />\r\n <Button block={true} onClick={() => saveColumns()}>\r\n {TextEnum.columnSettingSaveText}\r\n </Button>\r\n </>\r\n ) : null}\r\n </div>\r\n }\r\n >\r\n {props.children}\r\n </Popover>\r\n );\r\n}\r\n\r\nColumnSetting.propTypes = {\r\n prefixCls: PropTypes.string,\r\n checkedColumnKeys: PropTypes.array,\r\n columnSettingOptions: PropTypes.array,\r\n children: PropTypes.node,\r\n onChange: PropTypes.func,\r\n onReset: PropTypes.func,\r\n disabledColumnKeys: PropTypes.array,\r\n onColumnsSave: PropTypes.func,\r\n uniqueKey: PropTypes.string,\r\n prefixUrl: PropTypes.string,\r\n settingRef: PropTypes.object,\r\n TextEnum: PropTypes.object\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"ColumnSetting.js","names":["ColumnSetting","props","getUrlParam","userId","tenantId","token","getToken","useSet","indeterminate","checkAll","columnSettingId","showColumns","state","setState","prefixCls","checkedColumnKeys","columnSettingOptions","onChange","onReset","disabledColumnKeys","onColumnsSave","uniqueKey","settingRef","prefixUrl","TextEnum","useImperativeHandle","split","updateShowColumns","value","useEffect","chkLen","length","optionLen","onCheckChange","e","key","newCheckedColumnKeys","target","checked","filter","item","onCheckAllChange","map","onSaveChange","getUmsColumns","params","tableCode","axios","method","url","headers","Authorization","getSignature","then","data","result","total","record","rows","id","saveColumns","message","warn","messageWarningOneText","JSON","stringify","join","name","success","messageSuccessText","columnSettingTitleText","columnSettingResetText","opt","dataIndex","includes","title","margin","columnSettingSaveText","children","propTypes","PropTypes","string","array","node","func","object"],"sources":["vtx-datagrid/ColumnSetting.jsx"],"sourcesContent":["import React, { useEffect, useImperativeHandle } from 'react';\r\nimport Popover from 'antd/lib/popover';\r\nimport Divider from 'antd/lib/divider';\r\nimport Button from 'antd/lib/button';\r\nimport Checkbox from 'antd/lib/checkbox';\r\nimport message from 'antd/lib/message';\r\nimport PropTypes from 'prop-types';\r\nimport useSet from '../_util/useSet';\r\nimport axios from 'axios';\r\nimport getUrlParam from '../_util/getUrlParam';\r\nimport getToken from '../_util/getToken';\r\nimport getSignature from '@vtx/utils/lib/getSignature';\r\n\r\nexport default function ColumnSetting(props) {\r\n const { userId = '', tenantId = '' } = getUrlParam();\r\n let token = getToken();\r\n const [state, setState] = useSet({\r\n indeterminate: false,\r\n checkAll: false,\r\n columnSettingId: '',\r\n showColumns: '',\r\n });\r\n const {\r\n prefixCls,\r\n checkedColumnKeys,\r\n columnSettingOptions,\r\n onChange,\r\n onReset,\r\n disabledColumnKeys = [],\r\n onColumnsSave,\r\n uniqueKey,\r\n settingRef,\r\n prefixUrl='',\r\n TextEnum\r\n } = props;\r\n\r\n useImperativeHandle(settingRef, () => {\r\n return {\r\n showColumns: state.showColumns ? state.showColumns.split(',') : null,\r\n updateShowColumns: value=>{\r\n setState({showColumns: value})\r\n }\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n const chkLen = checkedColumnKeys?.length;\r\n const optionLen = columnSettingOptions?.length;\r\n setState({\r\n checkAll: chkLen == optionLen,\r\n indeterminate: chkLen && chkLen < optionLen,\r\n });\r\n }, [checkedColumnKeys?.length, columnSettingOptions?.length]);\r\n\r\n const { indeterminate, checkAll } = state;\r\n\r\n // 单选\r\n const onCheckChange = (e, key) => {\r\n if (onChange) {\r\n const newCheckedColumnKeys = e.target.checked\r\n ? [...checkedColumnKeys, key]\r\n : checkedColumnKeys?.filter(item => item != key);\r\n onChange(newCheckedColumnKeys);\r\n }\r\n };\r\n\r\n // 全选\r\n const onCheckAllChange = e => {\r\n if (onChange) {\r\n const newCheckedColumnKeys = e.target.checked\r\n ? columnSettingOptions?.map(item => item.key)\r\n : [];\r\n onChange(newCheckedColumnKeys);\r\n }\r\n };\r\n // 保存按钮\r\n const onSaveChange = () => {\r\n if (onChange) {\r\n onColumnsSave(checkedColumnKeys);\r\n }\r\n };\r\n function getUmsColumns() {\r\n if (!onColumnsSave && !!uniqueKey) {\r\n let params = {\r\n tableCode: uniqueKey,\r\n };\r\n axios({\r\n method: 'GET',\r\n url: `${prefixUrl}/cloud/management/api/v101/user/config/table/page`,\r\n headers: {\r\n Authorization: token ? `Bearer ${token}` : '',\r\n ...getSignature(params)\r\n },\r\n params: params,\r\n }).then(({ data }) => {\r\n if (data?.result == 0 && data?.data.total > 0) {\r\n let record = data.data.rows[0];\r\n record?.id &&\r\n setState({\r\n columnSettingId: record.id,\r\n showColumns: record.showColumns,\r\n });\r\n } else {\r\n setState({\r\n columnSettingId: '',\r\n showColumns: '',\r\n });\r\n }\r\n });\r\n }\r\n }\r\n //\r\n const saveColumns = () => {\r\n if ((checkedColumnKeys || []).length == 0) {\r\n message.warn(TextEnum.messageWarningOneText);\r\n return false;\r\n }\r\n axios({\r\n method: 'POST',\r\n url: `${prefixUrl}/cloud/management/api/v101/user/config/table/save`,\r\n headers: {\r\n Authorization: token ? `Bearer ${token}` : '',\r\n 'Content-Type': 'application/json',\r\n },\r\n data: JSON.stringify({\r\n showColumns: (checkedColumnKeys || []).join(','),\r\n tableCode: uniqueKey,\r\n name: uniqueKey,\r\n userId,\r\n tenantId,\r\n id: state.columnSettingId,\r\n }),\r\n }).then(({ data }) => {\r\n if (data?.result == 0) {\r\n message.success(TextEnum.messageSuccessText);\r\n getUmsColumns();\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (uniqueKey) {\r\n getUmsColumns();\r\n }\r\n }, [uniqueKey]);\r\n\r\n useEffect(() => {\r\n onChange && onChange(state.showColumns ? state.showColumns.split(',') : '');\r\n }, [JSON.stringify(state.showColumns)]);\r\n\r\n return (\r\n <Popover\r\n trigger=\"click\"\r\n placement=\"bottomRight\"\r\n arrowPointAtCenter\r\n title={\r\n <div className={`${prefixCls}-column-setting-title`} slot=\"title\">\r\n <Checkbox\r\n className={`${prefixCls}-column-setting-checkbox-wrapper`}\r\n indeterminate={indeterminate}\r\n checked={checkAll}\r\n onChange={onCheckAllChange}\r\n >\r\n {TextEnum.columnSettingTitleText}\r\n </Checkbox>\r\n <a onClick={onReset}>{TextEnum.columnSettingResetText}</a>\r\n </div>\r\n }\r\n content={\r\n <div className={`${prefixCls}-column-setting-list`}>\r\n {columnSettingOptions?.map(opt => {\r\n const key = opt.key || opt.dataIndex;\r\n return (\r\n <div key={key}>\r\n <Checkbox\r\n checked={checkedColumnKeys?.includes(key)}\r\n onChange={e => onCheckChange(e, key)}\r\n disabled={disabledColumnKeys.includes(key)}\r\n >\r\n {opt.title}\r\n </Checkbox>\r\n </div>\r\n );\r\n })}\r\n {typeof onColumnsSave === 'function' ? (\r\n <>\r\n <Divider style={{ margin: '5px 0 10px 0' }} />\r\n <Button block={true} onClick={() => onSaveChange()}>\r\n {TextEnum.columnSettingSaveText}\r\n </Button>\r\n </>\r\n ) : null}\r\n {!onColumnsSave && uniqueKey ? (\r\n <>\r\n <Divider style={{ margin: '5px 0 10px 0' }} />\r\n <Button block={true} onClick={() => saveColumns()}>\r\n {TextEnum.columnSettingSaveText}\r\n </Button>\r\n </>\r\n ) : null}\r\n </div>\r\n }\r\n >\r\n {props.children}\r\n </Popover>\r\n );\r\n}\r\n\r\nColumnSetting.propTypes = {\r\n prefixCls: PropTypes.string,\r\n checkedColumnKeys: PropTypes.array,\r\n columnSettingOptions: PropTypes.array,\r\n children: PropTypes.node,\r\n onChange: PropTypes.func,\r\n onReset: PropTypes.func,\r\n disabledColumnKeys: PropTypes.array,\r\n onColumnsSave: PropTypes.func,\r\n uniqueKey: PropTypes.string,\r\n prefixUrl: PropTypes.string,\r\n settingRef: PropTypes.object,\r\n TextEnum: PropTypes.object\r\n};\r\n"],"mappings":"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"}
@@ -278,6 +278,11 @@ function VtxDatagrid(props) {
278
278
  keysInColumns: keys
279
279
  });
280
280
  }, [rest.columns]);
281
+ (0, _react.useEffect)(function () {
282
+ var _settingRef$current;
283
+
284
+ (_settingRef$current = settingRef.current) === null || _settingRef$current === void 0 ? void 0 : _settingRef$current.updateShowColumns(visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.join(","));
285
+ }, [visibleColumnKeys]);
281
286
  (0, _react.useEffect)(function () {
282
287
  handleChangeColumns(state.keysInColumns);
283
288
  }, [JSON.stringify(state.keysInColumns)]);
@@ -285,12 +290,12 @@ function VtxDatagrid(props) {
285
290
  var parseColumns = function parseColumns(type) {
286
291
  // 显示工具栏的同时并显示列设置
287
292
  if (toolbar && !hideColumnSetting) {
288
- var _settingRef$current;
293
+ var _settingRef$current2;
289
294
 
290
- if (defaultVisibleColumnKeys || visibleColumnKeys || (_settingRef$current = settingRef.current) !== null && _settingRef$current !== void 0 && _settingRef$current.showColumns) {
291
- var _settingRef$current2, _rest$columns2;
295
+ if (defaultVisibleColumnKeys || visibleColumnKeys || (_settingRef$current2 = settingRef.current) !== null && _settingRef$current2 !== void 0 && _settingRef$current2.showColumns) {
296
+ var _settingRef$current3, _rest$columns2;
292
297
 
293
- var columnKeys = type === 'reset' ? defaultVisibleColumnKeys : ((_settingRef$current2 = settingRef.current) === null || _settingRef$current2 === void 0 ? void 0 : _settingRef$current2.showColumns) || visibleColumnKeys || defaultVisibleColumnKeys;
298
+ var columnKeys = type === 'reset' ? defaultVisibleColumnKeys : ((_settingRef$current3 = settingRef.current) === null || _settingRef$current3 === void 0 ? void 0 : _settingRef$current3.showColumns) || visibleColumnKeys || defaultVisibleColumnKeys;
294
299
  setState({
295
300
  checkedColumnKeys: columnKeys,
296
301
  visibleColumns: (_rest$columns2 = rest.columns) === null || _rest$columns2 === void 0 ? void 0 : _rest$columns2.filter(function (item) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isMac","navigator","userAgent","indexOf","VtxDatagrid","props","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","projectKey","keysInColumns","state","setState","datagridRef","useRef","alertHeight","toolbarHeight","settingRef","prefixCls","toolbar","toolbarClassName","toolbarTilte","buttonGroup","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","indexColumn","indexFixed","bordered","indexTitle","startIndex","autoFit","headFootHeight","columnResizable","components","className","style","emptyText","onRowSelectionClear","disabledColumnKeys","onColumnsSave","uniqueKey","prefixUrl","customEnumText","hideSelectionClear","rest","TextEnum","refreshText","densityDefaultText","densityMiddleText","densitySmallText","columnDensityText","columnSettingText","actionMoreText","columnSettingTitleText","columnSettingResetText","columnSettingSaveText","alartEmptyBtnText","alartAlreadyChooseText","alartAlreadyChooseUnitText","messageSuccessText","messageWarningOneText","paginationTotalText","paginationItemText","getUniqueKey","route","location","href","match","axios","method","url","pathname","headers","getSignature","then","res","status","data","key","useThrottleFn","current","bodyHeight","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","filter","call","dom","includes","minHeight","wait","calculateHeight","run","useEffect","resizeObserver","ResizeObserver","observe","box","disconnect","useLayoutEffect","dataSource","length","rowSelection","selectedRowKeys","join","parseColumns","keys","options","columns","map","col","push","dataIndex","handleChangeColumns","JSON","stringify","type","showColumns","columnKeys","item","hasAlert","toolbarRender","classnames","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","isFunction","text","record","index","renderColumnButtons","undefined","onHeaderCell","width","onResize","handleResize","e","nextColumns","title","fixed","i","_serialNum","scroll","y","height","locale","header","cell","ResizeableTitle","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","searchCollapseEvent$","object"],"sources":["vtx-datagrid/index.jsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport Table from 'antd/lib/table';\r\nimport Tooltip from 'antd/lib/tooltip';\r\nimport Dropdown from 'antd/lib/dropdown';\r\nimport Menu from 'antd/lib/menu';\r\nimport Empty from 'antd/lib/empty';\r\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\r\nimport ColumnHeightOutlined from '@ant-design/icons/ColumnHeightOutlined';\r\nimport SettingOutlined from '@ant-design/icons/SettingOutlined';\r\nimport Alert from './Alert';\r\nimport ColumnSetting from './ColumnSetting';\r\nimport ResizeableTitle from './ResizeableTitle';\r\nimport renderColumnButtons from './renderColumnButtons';\r\nimport useSet from '../_util/useSet';\r\nimport isFunction from '../_util/isFunction';\r\nimport axios from 'axios';\r\nimport { useThrottleFn } from 'ahooks';\r\nimport getSignature from '@vtx/utils/lib/getSignature';\r\n\r\nconst isMac = navigator.userAgent.indexOf('Mac OS') !== -1;\r\n\r\nexport default function VtxDatagrid(props) {\r\n const [state, setState] = useSet({\r\n // 显示列\r\n visibleColumns: [],\r\n // 列设置选中的列\r\n checkedColumnKeys: [],\r\n // 列设置选项\r\n columnSettingOptions: [],\r\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\r\n scrollY: 0,\r\n size: 'middle',\r\n projectKey: '',\r\n // keys in rest.columns\r\n keysInColumns: [],\r\n });\r\n const {\r\n visibleColumns,\r\n checkedColumnKeys,\r\n columnSettingOptions,\r\n datagridId,\r\n scrollY,\r\n size,\r\n } = state;\r\n const datagridRef = useRef(null);\r\n // 列设置提示高度\r\n const alertHeight = useRef(0);\r\n // 工具栏高度\r\n const toolbarHeight = useRef(0);\r\n // 列接口显示字段\r\n const settingRef = useRef();\r\n\r\n const {\r\n prefixCls = 'vtx-datagrid',\r\n toolbar = true,\r\n toolbarClassName,\r\n toolbarTilte = '查询结果',\r\n buttonGroup,\r\n refreshIconVisible = true,\r\n hideColumnSetting,\r\n hideColumnHeight,\r\n visibleColumnKeys,\r\n defaultVisibleColumnKeys,\r\n onVisibleColumnsChange,\r\n onRefresh,\r\n indexColumn = true,\r\n indexFixed = false,\r\n bordered = true,\r\n indexTitle = '序号',\r\n startIndex = 1,\r\n autoFit = true,\r\n headFootHeight = 115,\r\n columnResizable,\r\n components,\r\n className,\r\n style,\r\n emptyText = '暂无数据',\r\n onRowSelectionClear,\r\n disabledColumnKeys,\r\n onColumnsSave,\r\n uniqueKey,\r\n prefixUrl,\r\n customEnumText = {},\r\n hideSelectionClear = false,\r\n ...rest\r\n } = props;\r\n\r\n const TextEnum = {\r\n refreshText: '刷新',\r\n densityDefaultText: '默认',\r\n densityMiddleText: '中等',\r\n densitySmallText: '紧凑',\r\n columnDensityText: '列密度',\r\n columnSettingText: '列设置',\r\n\r\n actionMoreText: '更多',\r\n\r\n columnSettingTitleText: '列展示',\r\n columnSettingResetText: '重置',\r\n columnSettingSaveText: '保存',\r\n\r\n alartEmptyBtnText: '清空选择',\r\n alartAlreadyChooseText: '已选择',\r\n alartAlreadyChooseUnitText: '项',\r\n\r\n messageSuccessText: '操作成功',\r\n messageWarningOneText: '至少勾选一列保存',\r\n\r\n paginationTotalText: '共',\r\n paginationItemText: '条',\r\n\r\n ...customEnumText,\r\n };\r\n\r\n // 规则,菜单根目录_页面路由\r\n function getUniqueKey() {\r\n let route = location.href.match(/#\\/(\\S*)\\?/);\r\n if (route) {\r\n axios({\r\n method: 'GET',\r\n url: `${location.pathname}resources/json/menu.json`,\r\n headers: {\r\n ...getSignature({})\r\n },\r\n }).then(res => {\r\n if (res?.status == 200 && res.data?.key) {\r\n setState({\r\n projectKey: `${res.data.key}_${route ? route[1] : 'test'}`,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n // 高度计算\r\n const { run: calculateHeight } = useThrottleFn(\r\n () => {\r\n if (!datagridRef.current) {\r\n return null;\r\n }\r\n const bodyHeight =\r\n datagridRef.current?.clientHeight -\r\n headFootHeight -\r\n toolbarHeight.current -\r\n alertHeight.current;\r\n const divs = datagridRef.current.getElementsByTagName('div');\r\n const bodyDiv = Array.prototype.filter.call(\r\n divs,\r\n dom =>\r\n dom.className.includes('ant-table-body') ||\r\n dom.className.includes('ant-table-content'),\r\n )[0];\r\n bodyDiv.style.minHeight = `${bodyHeight - (rest.scrollY || 0)}px`;\r\n setState({\r\n scrollY: bodyHeight,\r\n });\r\n },\r\n {\r\n wait: 350,\r\n },\r\n );\r\n\r\n useEffect(() => {\r\n // 当没有传入唯一值而且没有自定义列保存的时候且根据规则自动生成唯一值\r\n if (!uniqueKey && !onColumnsSave && (toolbar && !hideColumnSetting)) {\r\n getUniqueKey();\r\n }\r\n const resizeObserver = new ResizeObserver(() => {\r\n calculateHeight();\r\n });\r\n // componentDidMount\r\n if (autoFit && datagridRef.current) {\r\n resizeObserver.observe(datagridRef.current, {\r\n box: 'border-box',\r\n });\r\n }\r\n\r\n return () => {\r\n // componentWillUnmount\r\n if (autoFit) {\r\n resizeObserver.disconnect();\r\n }\r\n };\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n if (autoFit) {\r\n calculateHeight();\r\n }\r\n }, [rest.dataSource?.length, (rest.rowSelection?.selectedRowKeys || []).join(',')]);\r\n\r\n useEffect(() => {\r\n parseColumns();\r\n let keys = [];\r\n let options = rest.columns?.map(col => {\r\n keys.push(col.dataIndex || col.key);\r\n return {\r\n ...col,\r\n key: col.dataIndex || col.key,\r\n }\r\n })\r\n setState({\r\n columnSettingOptions: options,\r\n keysInColumns: keys\r\n });\r\n }, [rest.columns]);\r\n\r\n useEffect(()=>{\r\n handleChangeColumns(state.keysInColumns);\r\n },[JSON.stringify(state.keysInColumns)])\r\n\r\n const parseColumns = type => {\r\n // 显示工具栏的同时并显示列设置\r\n if (toolbar && !hideColumnSetting) {\r\n if (defaultVisibleColumnKeys || visibleColumnKeys || settingRef.current?.showColumns) {\r\n const columnKeys =\r\n type === 'reset'\r\n ? defaultVisibleColumnKeys\r\n : settingRef.current?.showColumns ||\r\n visibleColumnKeys ||\r\n defaultVisibleColumnKeys;\r\n setState({\r\n checkedColumnKeys: columnKeys,\r\n visibleColumns: rest.columns?.filter(item =>\r\n columnKeys.includes(item.dataIndex || item.key),\r\n ),\r\n });\r\n } else {\r\n setState({\r\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n } else {\r\n setState({\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n };\r\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\r\n alertHeight.current = !hideSelectionClear && hasAlert ? 49 : 0;\r\n toolbarHeight.current = toolbar ? 56 : 0;\r\n\r\n // 列设置回调\r\n const handleChangeColumns = keys => {\r\n const columnKeys = keys || rest.columns?.map(item => item.dataIndex || item.key);\r\n setState({\r\n checkedColumnKeys: columnKeys,\r\n visibleColumns: columnSettingOptions?.filter(item => columnKeys.includes(item.key)),\r\n });\r\n onVisibleColumnsChange && onVisibleColumnsChange(columnKeys);\r\n };\r\n\r\n // 工具栏\r\n let toolbarRender;\r\n if (toolbar) {\r\n toolbarRender = (\r\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\r\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\r\n <div className={`${prefixCls}-toolbar-right`}>\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-actions`,\r\n )}\r\n >\r\n {buttonGroup}\r\n </div>\r\n {buttonGroup && <div className={`${prefixCls}-toolbar-line`} />}\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-setting`,\r\n )}\r\n >\r\n {refreshIconVisible && (\r\n <div\r\n className={`${prefixCls}-toolbar-setting-item`}\r\n onClick={() => {\r\n onRefresh && onRefresh();\r\n }}\r\n >\r\n <Tooltip title={TextEnum.refreshText}>\r\n <RedoOutlined />\r\n </Tooltip>\r\n </div>\r\n )}\r\n {!hideColumnHeight && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <Dropdown\r\n overlay={\r\n <Menu\r\n onClick={({ key }) =>\r\n setState({\r\n size: key,\r\n })\r\n }\r\n selectedKeys={[size]}\r\n >\r\n <Menu.Item key=\"default\">\r\n {TextEnum.densityDefaultText}\r\n </Menu.Item>\r\n <Menu.Item key=\"middle\">\r\n {TextEnum.densityMiddleText}\r\n </Menu.Item>\r\n <Menu.Item key=\"small\">\r\n {TextEnum.densitySmallText}\r\n </Menu.Item>\r\n </Menu>\r\n }\r\n trigger={['click']}\r\n >\r\n <Tooltip title={TextEnum.columnDensityText}>\r\n <ColumnHeightOutlined />\r\n </Tooltip>\r\n </Dropdown>\r\n </div>\r\n )}\r\n {!hideColumnSetting && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <ColumnSetting\r\n prefixCls={prefixCls}\r\n checkedColumnKeys={checkedColumnKeys}\r\n columnSettingOptions={columnSettingOptions}\r\n onChange={handleChangeColumns}\r\n onReset={() => parseColumns('reset')}\r\n disabledColumnKeys={disabledColumnKeys}\r\n onColumnsSave={onColumnsSave}\r\n uniqueKey={uniqueKey || state.projectKey}\r\n prefixUrl={prefixUrl}\r\n columns={rest.columns}\r\n settingRef={settingRef}\r\n TextEnum={TextEnum}\r\n >\r\n <Tooltip title={TextEnum.columnSettingText}>\r\n <SettingOutlined />\r\n </Tooltip>\r\n </ColumnSetting>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // 分页\r\n const getPagination = pagination => {\r\n if (typeof pagination === 'boolean' && !pagination) {\r\n return pagination;\r\n }\r\n return {\r\n pageSizeOptions: ['10', '20', '30', '40', '50'],\r\n showSizeChanger: true,\r\n showQuickJumper: true,\r\n showTotal(total) {\r\n return `${TextEnum.paginationTotalText} ${total} ${TextEnum.paginationItemText}`;\r\n },\r\n ...pagination,\r\n };\r\n };\r\n\r\n // 处理操作按钮\r\n let columns = (visibleColumns || []).map(column => {\r\n const newColumn = { ...column };\r\n if (newColumn.renderButtons) {\r\n delete newColumn.renderButtons;\r\n }\r\n if (newColumn.renderButtonsVisibleNum) {\r\n delete newColumn.renderButtonsVisibleNum;\r\n }\r\n return {\r\n ...newColumn,\r\n render: isFunction(column.renderButtons)\r\n ? function(text, record, index) {\r\n return renderColumnButtons(\r\n column.renderButtons,\r\n column.renderButtonsVisibleNum,\r\n text,\r\n record,\r\n index,\r\n TextEnum,\r\n );\r\n }\r\n : 'render' in column\r\n ? column.render\r\n : function(text) {\r\n return ['', null, undefined].includes(text) ? '-' : text;\r\n },\r\n };\r\n });\r\n // 配置了列可伸缩\r\n if (columnResizable) {\r\n columns = columns.map((col, index) => ({\r\n ...col,\r\n onHeaderCell: column => ({\r\n width: column.width,\r\n onResize: handleResize(index),\r\n }),\r\n }));\r\n const handleResize = index => (e, { size }) => {\r\n setState(({ visibleColumns }) => {\r\n const nextColumns = [...visibleColumns];\r\n nextColumns[index] = {\r\n ...nextColumns[index],\r\n width: size.width,\r\n };\r\n return { visibleColumns: nextColumns };\r\n });\r\n };\r\n }\r\n\r\n // 序号添加\r\n let dataSource = rest.dataSource;\r\n if (indexColumn) {\r\n columns = [\r\n {\r\n title: indexTitle,\r\n dataIndex: '_serialNum',\r\n key: '_serialNum',\r\n width: 70,\r\n fixed: indexFixed,\r\n },\r\n ...columns,\r\n ];\r\n dataSource = dataSource?.map((item, i) => {\r\n return {\r\n ...item,\r\n _serialNum: i + startIndex,\r\n };\r\n });\r\n }\r\n\r\n let scroll = rest.scroll || {};\r\n if (autoFit) {\r\n scroll = {\r\n ...scroll,\r\n y: scrollY - (rest.scrollY || 0),\r\n };\r\n }\r\n\r\n return (\r\n <div\r\n id={datagridId}\r\n className={classnames(prefixCls, className, {\r\n [`${prefixCls}-fit`]: autoFit,\r\n [`${prefixCls}-noFit`]: !autoFit,\r\n [`${prefixCls}-nodata`]: !dataSource?.length,\r\n [`${prefixCls}-userAgent-mac`]: isMac,\r\n })}\r\n style={style}\r\n ref={datagridRef}\r\n >\r\n {toolbarRender}\r\n {!hideSelectionClear && hasAlert ? (\r\n <div className={`${prefixCls}-alert`}>\r\n <Alert\r\n prefixCls={prefixCls}\r\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\r\n onRowSelectionClear={onRowSelectionClear}\r\n TextEnum={TextEnum}\r\n />\r\n </div>\r\n ):null}\r\n <Table\r\n size={size}\r\n bordered={dataSource?.length > 0 ? bordered : false}\r\n {...rest}\r\n columns={columns}\r\n dataSource={dataSource}\r\n scroll={scroll}\r\n pagination={getPagination(rest.pagination)}\r\n style={{\r\n height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)`,\r\n }}\r\n locale={{\r\n emptyText: <Empty description={emptyText} />,\r\n ...rest.locale,\r\n }}\r\n components={\r\n columnResizable\r\n ? {\r\n ...(components || {}),\r\n header: {\r\n cell: ResizeableTitle,\r\n },\r\n }\r\n : components\r\n }\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nVtxDatagrid.propTypes = {\r\n prefixCls: PropTypes.string,\r\n refreshIconVisible: PropTypes.bool,\r\n hideColumnSetting: PropTypes.bool,\r\n hideSelectionClear: PropTypes.bool,\r\n hideColumnHeight: PropTypes.bool,\r\n bordered: PropTypes.bool,\r\n visibleColumnKeys: PropTypes.array,\r\n defaultVisibleColumnKeys: PropTypes.array,\r\n onVisibleColumnsChange: PropTypes.func,\r\n toolbarClassName: PropTypes.string,\r\n toolbar: PropTypes.bool,\r\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRefresh: PropTypes.func,\r\n indexColumn: PropTypes.bool,\r\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\r\n indexTitle: PropTypes.string,\r\n startIndex: PropTypes.number,\r\n buttonGroup: PropTypes.node,\r\n autoFit: PropTypes.bool,\r\n headFootHeight: PropTypes.number,\r\n columnResizable: PropTypes.bool,\r\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRowSelectionClear: PropTypes.func,\r\n searchCollapseEvent$: PropTypes.object,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n disabledColumnKeys: PropTypes.array,\r\n onColumnsSave: PropTypes.func,\r\n components: PropTypes.object,\r\n customEnumText: PropTypes.object,\r\n uniqueKey: PropTypes.string,\r\n prefixUrl: PropTypes.string,\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["isMac","navigator","userAgent","indexOf","VtxDatagrid","props","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","projectKey","keysInColumns","state","setState","datagridRef","useRef","alertHeight","toolbarHeight","settingRef","prefixCls","toolbar","toolbarClassName","toolbarTilte","buttonGroup","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","indexColumn","indexFixed","bordered","indexTitle","startIndex","autoFit","headFootHeight","columnResizable","components","className","style","emptyText","onRowSelectionClear","disabledColumnKeys","onColumnsSave","uniqueKey","prefixUrl","customEnumText","hideSelectionClear","rest","TextEnum","refreshText","densityDefaultText","densityMiddleText","densitySmallText","columnDensityText","columnSettingText","actionMoreText","columnSettingTitleText","columnSettingResetText","columnSettingSaveText","alartEmptyBtnText","alartAlreadyChooseText","alartAlreadyChooseUnitText","messageSuccessText","messageWarningOneText","paginationTotalText","paginationItemText","getUniqueKey","route","location","href","match","axios","method","url","pathname","headers","getSignature","then","res","status","data","key","useThrottleFn","current","bodyHeight","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","filter","call","dom","includes","minHeight","wait","calculateHeight","run","useEffect","resizeObserver","ResizeObserver","observe","box","disconnect","useLayoutEffect","dataSource","length","rowSelection","selectedRowKeys","join","parseColumns","keys","options","columns","map","col","push","dataIndex","updateShowColumns","handleChangeColumns","JSON","stringify","type","showColumns","columnKeys","item","hasAlert","toolbarRender","classnames","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","isFunction","text","record","index","renderColumnButtons","undefined","onHeaderCell","width","onResize","handleResize","e","nextColumns","title","fixed","i","_serialNum","scroll","y","height","locale","header","cell","ResizeableTitle","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","searchCollapseEvent$","object"],"sources":["vtx-datagrid/index.jsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport Table from 'antd/lib/table';\r\nimport Tooltip from 'antd/lib/tooltip';\r\nimport Dropdown from 'antd/lib/dropdown';\r\nimport Menu from 'antd/lib/menu';\r\nimport Empty from 'antd/lib/empty';\r\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\r\nimport ColumnHeightOutlined from '@ant-design/icons/ColumnHeightOutlined';\r\nimport SettingOutlined from '@ant-design/icons/SettingOutlined';\r\nimport Alert from './Alert';\r\nimport ColumnSetting from './ColumnSetting';\r\nimport ResizeableTitle from './ResizeableTitle';\r\nimport renderColumnButtons from './renderColumnButtons';\r\nimport useSet from '../_util/useSet';\r\nimport isFunction from '../_util/isFunction';\r\nimport axios from 'axios';\r\nimport { useThrottleFn } from 'ahooks';\r\nimport getSignature from '@vtx/utils/lib/getSignature';\r\n\r\nconst isMac = navigator.userAgent.indexOf('Mac OS') !== -1;\r\n\r\nexport default function VtxDatagrid(props) {\r\n const [state, setState] = useSet({\r\n // 显示列\r\n visibleColumns: [],\r\n // 列设置选中的列\r\n checkedColumnKeys: [],\r\n // 列设置选项\r\n columnSettingOptions: [],\r\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\r\n scrollY: 0,\r\n size: 'middle',\r\n projectKey: '',\r\n // keys in rest.columns\r\n keysInColumns: [],\r\n });\r\n const {\r\n visibleColumns,\r\n checkedColumnKeys,\r\n columnSettingOptions,\r\n datagridId,\r\n scrollY,\r\n size,\r\n } = state;\r\n const datagridRef = useRef(null);\r\n // 列设置提示高度\r\n const alertHeight = useRef(0);\r\n // 工具栏高度\r\n const toolbarHeight = useRef(0);\r\n // 列接口显示字段\r\n const settingRef = useRef();\r\n\r\n const {\r\n prefixCls = 'vtx-datagrid',\r\n toolbar = true,\r\n toolbarClassName,\r\n toolbarTilte = '查询结果',\r\n buttonGroup,\r\n refreshIconVisible = true,\r\n hideColumnSetting,\r\n hideColumnHeight,\r\n visibleColumnKeys,\r\n defaultVisibleColumnKeys,\r\n onVisibleColumnsChange,\r\n onRefresh,\r\n indexColumn = true,\r\n indexFixed = false,\r\n bordered = true,\r\n indexTitle = '序号',\r\n startIndex = 1,\r\n autoFit = true,\r\n headFootHeight = 115,\r\n columnResizable,\r\n components,\r\n className,\r\n style,\r\n emptyText = '暂无数据',\r\n onRowSelectionClear,\r\n disabledColumnKeys,\r\n onColumnsSave,\r\n uniqueKey,\r\n prefixUrl,\r\n customEnumText = {},\r\n hideSelectionClear = false,\r\n ...rest\r\n } = props;\r\n\r\n const TextEnum = {\r\n refreshText: '刷新',\r\n densityDefaultText: '默认',\r\n densityMiddleText: '中等',\r\n densitySmallText: '紧凑',\r\n columnDensityText: '列密度',\r\n columnSettingText: '列设置',\r\n\r\n actionMoreText: '更多',\r\n\r\n columnSettingTitleText: '列展示',\r\n columnSettingResetText: '重置',\r\n columnSettingSaveText: '保存',\r\n\r\n alartEmptyBtnText: '清空选择',\r\n alartAlreadyChooseText: '已选择',\r\n alartAlreadyChooseUnitText: '项',\r\n\r\n messageSuccessText: '操作成功',\r\n messageWarningOneText: '至少勾选一列保存',\r\n\r\n paginationTotalText: '共',\r\n paginationItemText: '条',\r\n\r\n ...customEnumText,\r\n };\r\n\r\n // 规则,菜单根目录_页面路由\r\n function getUniqueKey() {\r\n let route = location.href.match(/#\\/(\\S*)\\?/);\r\n if (route) {\r\n axios({\r\n method: 'GET',\r\n url: `${location.pathname}resources/json/menu.json`,\r\n headers: {\r\n ...getSignature({})\r\n },\r\n }).then(res => {\r\n if (res?.status == 200 && res.data?.key) {\r\n setState({\r\n projectKey: `${res.data.key}_${route ? route[1] : 'test'}`,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n // 高度计算\r\n const { run: calculateHeight } = useThrottleFn(\r\n () => {\r\n if (!datagridRef.current) {\r\n return null;\r\n }\r\n const bodyHeight =\r\n datagridRef.current?.clientHeight -\r\n headFootHeight -\r\n toolbarHeight.current -\r\n alertHeight.current;\r\n const divs = datagridRef.current.getElementsByTagName('div');\r\n const bodyDiv = Array.prototype.filter.call(\r\n divs,\r\n dom =>\r\n dom.className.includes('ant-table-body') ||\r\n dom.className.includes('ant-table-content'),\r\n )[0];\r\n bodyDiv.style.minHeight = `${bodyHeight - (rest.scrollY || 0)}px`;\r\n setState({\r\n scrollY: bodyHeight,\r\n });\r\n },\r\n {\r\n wait: 350,\r\n },\r\n );\r\n\r\n useEffect(() => {\r\n // 当没有传入唯一值而且没有自定义列保存的时候且根据规则自动生成唯一值\r\n if (!uniqueKey && !onColumnsSave && (toolbar && !hideColumnSetting)) {\r\n getUniqueKey();\r\n }\r\n const resizeObserver = new ResizeObserver(() => {\r\n calculateHeight();\r\n });\r\n // componentDidMount\r\n if (autoFit && datagridRef.current) {\r\n resizeObserver.observe(datagridRef.current, {\r\n box: 'border-box',\r\n });\r\n }\r\n\r\n return () => {\r\n // componentWillUnmount\r\n if (autoFit) {\r\n resizeObserver.disconnect();\r\n }\r\n };\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n if (autoFit) {\r\n calculateHeight();\r\n }\r\n }, [rest.dataSource?.length, (rest.rowSelection?.selectedRowKeys || []).join(',')]);\r\n\r\n useEffect(() => {\r\n parseColumns();\r\n let keys = [];\r\n let options = rest.columns?.map(col => {\r\n keys.push(col.dataIndex || col.key);\r\n return {\r\n ...col,\r\n key: col.dataIndex || col.key,\r\n }\r\n })\r\n setState({\r\n columnSettingOptions: options,\r\n keysInColumns: keys\r\n });\r\n }, [rest.columns]);\r\n\r\n useEffect(()=>{\r\n settingRef.current?.updateShowColumns(visibleColumnKeys?.join(\",\"))\r\n },[visibleColumnKeys])\r\n\r\n useEffect(()=>{\r\n handleChangeColumns(state.keysInColumns);\r\n },[JSON.stringify(state.keysInColumns)])\r\n\r\n const parseColumns = type => {\r\n // 显示工具栏的同时并显示列设置\r\n if (toolbar && !hideColumnSetting) {\r\n if (defaultVisibleColumnKeys || visibleColumnKeys || settingRef.current?.showColumns) {\r\n const columnKeys =\r\n type === 'reset'\r\n ? defaultVisibleColumnKeys\r\n : settingRef.current?.showColumns ||\r\n visibleColumnKeys ||\r\n defaultVisibleColumnKeys;\r\n setState({\r\n checkedColumnKeys: columnKeys,\r\n visibleColumns: rest.columns?.filter(item =>\r\n columnKeys.includes(item.dataIndex || item.key),\r\n ),\r\n });\r\n } else {\r\n setState({\r\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n } else {\r\n setState({\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n };\r\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\r\n alertHeight.current = !hideSelectionClear && hasAlert ? 49 : 0;\r\n toolbarHeight.current = toolbar ? 56 : 0;\r\n\r\n // 列设置回调\r\n const handleChangeColumns = keys => {\r\n const columnKeys = keys || rest.columns?.map(item => item.dataIndex || item.key);\r\n setState({\r\n checkedColumnKeys: columnKeys,\r\n visibleColumns: columnSettingOptions?.filter(item => columnKeys.includes(item.key)),\r\n });\r\n onVisibleColumnsChange && onVisibleColumnsChange(columnKeys);\r\n };\r\n\r\n // 工具栏\r\n let toolbarRender;\r\n if (toolbar) {\r\n toolbarRender = (\r\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\r\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\r\n <div className={`${prefixCls}-toolbar-right`}>\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-actions`,\r\n )}\r\n >\r\n {buttonGroup}\r\n </div>\r\n {buttonGroup && <div className={`${prefixCls}-toolbar-line`} />}\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-setting`,\r\n )}\r\n >\r\n {refreshIconVisible && (\r\n <div\r\n className={`${prefixCls}-toolbar-setting-item`}\r\n onClick={() => {\r\n onRefresh && onRefresh();\r\n }}\r\n >\r\n <Tooltip title={TextEnum.refreshText}>\r\n <RedoOutlined />\r\n </Tooltip>\r\n </div>\r\n )}\r\n {!hideColumnHeight && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <Dropdown\r\n overlay={\r\n <Menu\r\n onClick={({ key }) =>\r\n setState({\r\n size: key,\r\n })\r\n }\r\n selectedKeys={[size]}\r\n >\r\n <Menu.Item key=\"default\">\r\n {TextEnum.densityDefaultText}\r\n </Menu.Item>\r\n <Menu.Item key=\"middle\">\r\n {TextEnum.densityMiddleText}\r\n </Menu.Item>\r\n <Menu.Item key=\"small\">\r\n {TextEnum.densitySmallText}\r\n </Menu.Item>\r\n </Menu>\r\n }\r\n trigger={['click']}\r\n >\r\n <Tooltip title={TextEnum.columnDensityText}>\r\n <ColumnHeightOutlined />\r\n </Tooltip>\r\n </Dropdown>\r\n </div>\r\n )}\r\n {!hideColumnSetting && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <ColumnSetting\r\n prefixCls={prefixCls}\r\n checkedColumnKeys={checkedColumnKeys}\r\n columnSettingOptions={columnSettingOptions}\r\n onChange={handleChangeColumns}\r\n onReset={() => parseColumns('reset')}\r\n disabledColumnKeys={disabledColumnKeys}\r\n onColumnsSave={onColumnsSave}\r\n uniqueKey={uniqueKey || state.projectKey}\r\n prefixUrl={prefixUrl}\r\n columns={rest.columns}\r\n settingRef={settingRef}\r\n TextEnum={TextEnum}\r\n >\r\n <Tooltip title={TextEnum.columnSettingText}>\r\n <SettingOutlined />\r\n </Tooltip>\r\n </ColumnSetting>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // 分页\r\n const getPagination = pagination => {\r\n if (typeof pagination === 'boolean' && !pagination) {\r\n return pagination;\r\n }\r\n return {\r\n pageSizeOptions: ['10', '20', '30', '40', '50'],\r\n showSizeChanger: true,\r\n showQuickJumper: true,\r\n showTotal(total) {\r\n return `${TextEnum.paginationTotalText} ${total} ${TextEnum.paginationItemText}`;\r\n },\r\n ...pagination,\r\n };\r\n };\r\n\r\n // 处理操作按钮\r\n let columns = (visibleColumns || []).map(column => {\r\n const newColumn = { ...column };\r\n if (newColumn.renderButtons) {\r\n delete newColumn.renderButtons;\r\n }\r\n if (newColumn.renderButtonsVisibleNum) {\r\n delete newColumn.renderButtonsVisibleNum;\r\n }\r\n return {\r\n ...newColumn,\r\n render: isFunction(column.renderButtons)\r\n ? function(text, record, index) {\r\n return renderColumnButtons(\r\n column.renderButtons,\r\n column.renderButtonsVisibleNum,\r\n text,\r\n record,\r\n index,\r\n TextEnum,\r\n );\r\n }\r\n : 'render' in column\r\n ? column.render\r\n : function(text) {\r\n return ['', null, undefined].includes(text) ? '-' : text;\r\n },\r\n };\r\n });\r\n // 配置了列可伸缩\r\n if (columnResizable) {\r\n columns = columns.map((col, index) => ({\r\n ...col,\r\n onHeaderCell: column => ({\r\n width: column.width,\r\n onResize: handleResize(index),\r\n }),\r\n }));\r\n const handleResize = index => (e, { size }) => {\r\n setState(({ visibleColumns }) => {\r\n const nextColumns = [...visibleColumns];\r\n nextColumns[index] = {\r\n ...nextColumns[index],\r\n width: size.width,\r\n };\r\n return { visibleColumns: nextColumns };\r\n });\r\n };\r\n }\r\n\r\n // 序号添加\r\n let dataSource = rest.dataSource;\r\n if (indexColumn) {\r\n columns = [\r\n {\r\n title: indexTitle,\r\n dataIndex: '_serialNum',\r\n key: '_serialNum',\r\n width: 70,\r\n fixed: indexFixed,\r\n },\r\n ...columns,\r\n ];\r\n dataSource = dataSource?.map((item, i) => {\r\n return {\r\n ...item,\r\n _serialNum: i + startIndex,\r\n };\r\n });\r\n }\r\n\r\n let scroll = rest.scroll || {};\r\n if (autoFit) {\r\n scroll = {\r\n ...scroll,\r\n y: scrollY - (rest.scrollY || 0),\r\n };\r\n }\r\n\r\n return (\r\n <div\r\n id={datagridId}\r\n className={classnames(prefixCls, className, {\r\n [`${prefixCls}-fit`]: autoFit,\r\n [`${prefixCls}-noFit`]: !autoFit,\r\n [`${prefixCls}-nodata`]: !dataSource?.length,\r\n [`${prefixCls}-userAgent-mac`]: isMac,\r\n })}\r\n style={style}\r\n ref={datagridRef}\r\n >\r\n {toolbarRender}\r\n {!hideSelectionClear && hasAlert ? (\r\n <div className={`${prefixCls}-alert`}>\r\n <Alert\r\n prefixCls={prefixCls}\r\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\r\n onRowSelectionClear={onRowSelectionClear}\r\n TextEnum={TextEnum}\r\n />\r\n </div>\r\n ):null}\r\n <Table\r\n size={size}\r\n bordered={dataSource?.length > 0 ? bordered : false}\r\n {...rest}\r\n columns={columns}\r\n dataSource={dataSource}\r\n scroll={scroll}\r\n pagination={getPagination(rest.pagination)}\r\n style={{\r\n height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)`,\r\n }}\r\n locale={{\r\n emptyText: <Empty description={emptyText} />,\r\n ...rest.locale,\r\n }}\r\n components={\r\n columnResizable\r\n ? {\r\n ...(components || {}),\r\n header: {\r\n cell: ResizeableTitle,\r\n },\r\n }\r\n : components\r\n }\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nVtxDatagrid.propTypes = {\r\n prefixCls: PropTypes.string,\r\n refreshIconVisible: PropTypes.bool,\r\n hideColumnSetting: PropTypes.bool,\r\n hideSelectionClear: PropTypes.bool,\r\n hideColumnHeight: PropTypes.bool,\r\n bordered: PropTypes.bool,\r\n visibleColumnKeys: PropTypes.array,\r\n defaultVisibleColumnKeys: PropTypes.array,\r\n onVisibleColumnsChange: PropTypes.func,\r\n toolbarClassName: PropTypes.string,\r\n toolbar: PropTypes.bool,\r\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRefresh: PropTypes.func,\r\n indexColumn: PropTypes.bool,\r\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\r\n indexTitle: PropTypes.string,\r\n startIndex: PropTypes.number,\r\n buttonGroup: PropTypes.node,\r\n autoFit: PropTypes.bool,\r\n headFootHeight: PropTypes.number,\r\n columnResizable: PropTypes.bool,\r\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRowSelectionClear: PropTypes.func,\r\n searchCollapseEvent$: PropTypes.object,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n disabledColumnKeys: PropTypes.array,\r\n onColumnsSave: PropTypes.func,\r\n components: PropTypes.object,\r\n customEnumText: PropTypes.object,\r\n uniqueKey: PropTypes.string,\r\n prefixUrl: PropTypes.string,\r\n};\r\n"],"mappings":"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"}
@@ -59,13 +59,16 @@ function History(props) {
59
59
  _onCancel = props.onCancel,
60
60
  _props$historyPageUrl = props.historyPageUrl,
61
61
  historyPageUrl = _props$historyPageUrl === void 0 ? '' : _props$historyPageUrl,
62
+ _props$deleteRecordUr = props.deleteRecordUrl,
63
+ deleteRecordUrl = _props$deleteRecordUr === void 0 ? '' : _props$deleteRecordUr,
62
64
  _props$downFileUrl = props.downFileUrl,
63
65
  downFileUrl = _props$downFileUrl === void 0 ? '' : _props$downFileUrl,
64
66
  _props$TextEnum = props.TextEnum,
65
67
  TextEnum = _props$TextEnum === void 0 ? {} : _props$TextEnum,
66
68
  _props$customTablePro = props.customTableProps,
67
69
  customTableProps = _props$customTablePro === void 0 ? {} : _props$customTablePro,
68
- refreshTime = props.refreshTime;
70
+ refreshTime = props.refreshTime,
71
+ downloadInNewTab = props.downloadInNewTab;
69
72
 
70
73
  var _Form$useForm = _antd.Form.useForm(),
71
74
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
@@ -179,13 +182,38 @@ function History(props) {
179
182
  return [{
180
183
  name: TextEnum.downloadBtnText,
181
184
  onClick: function onClick() {
182
- (0, _utils.downloadFile)(downFileUrl, {
183
- data: {
184
- id: record.id
185
- }
186
- }, 'blob');
185
+ if (downloadInNewTab) {
186
+ window.open("".concat(downFileUrl, "?id=").concat(record.id), '_blank');
187
+ } else {
188
+ (0, _utils.downloadFile)(downFileUrl, {
189
+ data: {
190
+ id: record.id
191
+ }
192
+ }, 'blob');
193
+ }
187
194
  },
188
195
  visible: record.finish
196
+ }, {
197
+ name: TextEnum.deleteBtnText,
198
+ onClick: function onClick() {
199
+ _antd.Modal.confirm({
200
+ content: TextEnum.deleteConfirmText,
201
+ onOk: function onOk() {
202
+ _utils.request.get(deleteRecordUrl, {
203
+ data: {
204
+ id: record.id
205
+ }
206
+ }).then(function (res) {
207
+ if ((res === null || res === void 0 ? void 0 : res.result) === 0) {
208
+ _antd.message.success(TextEnum.deleteSuccessText);
209
+
210
+ submit();
211
+ }
212
+ });
213
+ }
214
+ });
215
+ },
216
+ visible: !!deleteRecordUrl
189
217
  }];
190
218
  }
191
219
  }];
@@ -245,10 +273,12 @@ History.propTypes = {
245
273
  params: _propTypes["default"].object,
246
274
  onCancel: _propTypes["default"].func,
247
275
  historyPageUrl: _propTypes["default"].string,
276
+ deleteRecordUrl: _propTypes["default"].string,
248
277
  downFileUrl: _propTypes["default"].string,
249
278
  TextEnum: _propTypes["default"].object,
250
279
  customTableProps: _propTypes["default"].object,
251
- refreshTime: _propTypes["default"].number
280
+ refreshTime: _propTypes["default"].number,
281
+ downloadInNewTab: _propTypes["default"].bool
252
282
  };
253
283
  var _default = History;
254
284
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"History.js","names":["History","props","params","onCancel","historyPageUrl","downFileUrl","TextEnum","customTableProps","refreshTime","Form","useForm","form","timer","useRef","getTable","formData","current","pageSize","getData","page","size","res","list","total","result","Array","isArray","data","rows","map","item","key","id","useAntdTable","defaultPageSize","tableProps","refresh","search","loading","pagination","useEffect","dataSource","ifAllFinish","every","finish","clearInterval","setInterval","JSON","stringify","submit","reset","columns","title","historyFieldFileNameText","dataIndex","historyFieldFinishText","width","render","text","color","statusDoneText","statusPendingText","historyFieldStartTimeText","historyFieldActionText","renderButtons","_","record","name","downloadBtnText","onClick","downloadFile","visible","historyTitleText","VtxModal","middle","display","justifyContent","marginBottom","searchFieldFileNameText","searchInputPlaceholderText","marginRight","searchBtnConfirmText","searchBtnClearText","height","propTypes","PropTypes","object","func","string","number"],"sources":["vtx-export-async/History.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\r\nimport { VtxDatagrid, VtxInput, VtxModal } from '@vtx/components';\r\nimport { downloadFile } from '@vtx/utils';\r\nimport { useAntdTable } from 'ahooks';\r\nimport { Button, Form } from 'antd';\r\nimport { getData } from './util';\r\nimport PropTypes from 'prop-types';\r\n\r\nfunction History(props) {\r\n const { params = {}, onCancel, historyPageUrl = '', downFileUrl = '', TextEnum = {}, customTableProps = {}, refreshTime } = props;\r\n const [form] = Form.useForm();\r\n const timer = useRef(null);\r\n const getTable = async ({ current, pageSize }, formData) => {\r\n const res = await getData(historyPageUrl, {\r\n ...(params || {}),\r\n ...formData,\r\n page: current - 1,\r\n size: pageSize,\r\n });\r\n let list = [],\r\n total = 0;\r\n if (res?.result === 0 && Array.isArray(res.data?.rows)) {\r\n list = res.data?.rows.map(item => ({ ...item, key: item.id }));\r\n total = res.data?.total || 0;\r\n }\r\n return { list, total };\r\n };\r\n\r\n const { tableProps, refresh, search, loading, pagination } = useAntdTable(getTable, {\r\n defaultPageSize: 10,\r\n form,\r\n // manual: true\r\n });\r\n\r\n // 如果查询数据中有还未导出成功的数据,则3秒刷新一次列表\r\n useEffect(() => {\r\n const { dataSource } = tableProps;\r\n const ifAllFinish = dataSource.every(item => item.finish);\r\n if (ifAllFinish) {\r\n timer.current && clearInterval(timer.current);\r\n timer.current = null;\r\n return;\r\n }\r\n timer.current = setInterval(() => {\r\n refresh();\r\n }, refreshTime * 1000);\r\n }, [JSON.stringify(tableProps.dataSource)]);\r\n\r\n const { pageSize, current } = pagination;\r\n const { submit, reset } = search;\r\n const columns = [\r\n {\r\n title: TextEnum.historyFieldFileNameText,\r\n dataIndex: 'fileName',\r\n },\r\n {\r\n title: TextEnum.historyFieldFinishText,\r\n dataIndex: 'finish',\r\n width: 80,\r\n render: text => {\r\n return (\r\n <span style={{ color: text ? '#70b603' : '#f59a23' }}>\r\n {text ? TextEnum.statusDoneText : TextEnum.statusPendingText}\r\n </span>\r\n );\r\n },\r\n },\r\n {\r\n title: TextEnum.historyFieldStartTimeText,\r\n dataIndex: 'startTime',\r\n width: 170,\r\n },\r\n {\r\n title: TextEnum.historyFieldActionText,\r\n dataIndex: 'action',\r\n width: 70,\r\n renderButtons: (_, record) => {\r\n return [\r\n {\r\n name: TextEnum.downloadBtnText,\r\n onClick() {\r\n downloadFile(\r\n downFileUrl,\r\n {\r\n data: {\r\n id: record.id,\r\n },\r\n },\r\n 'blob',\r\n );\r\n },\r\n visible: record.finish,\r\n },\r\n ];\r\n },\r\n },\r\n ];\r\n return (\r\n <VtxModal\r\n title={TextEnum.historyTitleText}\r\n visible\r\n onCancel={() => {\r\n if (timer.current) {\r\n clearInterval(timer.current);\r\n timer.current = null;\r\n }\r\n onCancel && onCancel();\r\n }}\r\n width={VtxModal.size.middle}\r\n footer={null}\r\n >\r\n <div style={{ display: 'flex', justifyContent: 'space-between', marginBottom: 8 }}>\r\n <Form form={form} layout=\"inline\">\r\n <Form.Item name=\"fileName\" label={TextEnum.searchFieldFileNameText}>\r\n <VtxInput style={{ width: 150 }} placeholder={TextEnum.searchInputPlaceholderText} />\r\n </Form.Item>\r\n </Form>\r\n <div>\r\n <Button type=\"primary\" onClick={submit} style={{ marginRight: 8 }}>\r\n {TextEnum.searchBtnConfirmText}\r\n </Button>\r\n <Button onClick={reset}>{TextEnum.searchBtnClearText}</Button>\r\n </div>\r\n </div>\r\n <div style={{ height: '400px' }}>\r\n <VtxDatagrid\r\n {...tableProps}\r\n columns={columns}\r\n {...customTableProps}\r\n startIndex={(current - 1) * pageSize + 1}\r\n loading={loading}\r\n toolbar={false}\r\n size=\"small\"\r\n />\r\n </div>\r\n </VtxModal>\r\n );\r\n}\r\n\r\nHistory.propTypes = {\r\n params: PropTypes.object,\r\n onCancel: PropTypes.func,\r\n historyPageUrl: PropTypes.string,\r\n downFileUrl: PropTypes.string,\r\n TextEnum: PropTypes.object,\r\n customTableProps: PropTypes.object,\r\n refreshTime: PropTypes.number,\r\n}\r\n\r\nexport default History;"],"mappings":"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"}
1
+ {"version":3,"file":"History.js","names":["History","props","params","onCancel","historyPageUrl","deleteRecordUrl","downFileUrl","TextEnum","customTableProps","refreshTime","downloadInNewTab","Form","useForm","form","timer","useRef","getTable","formData","current","pageSize","getData","page","size","res","list","total","result","Array","isArray","data","rows","map","item","key","id","useAntdTable","defaultPageSize","tableProps","refresh","search","loading","pagination","useEffect","dataSource","ifAllFinish","every","finish","clearInterval","setInterval","JSON","stringify","submit","reset","columns","title","historyFieldFileNameText","dataIndex","historyFieldFinishText","width","render","text","color","statusDoneText","statusPendingText","historyFieldStartTimeText","historyFieldActionText","renderButtons","_","record","name","downloadBtnText","onClick","window","open","downloadFile","visible","deleteBtnText","Modal","confirm","content","deleteConfirmText","onOk","request","get","then","message","success","deleteSuccessText","historyTitleText","VtxModal","middle","display","justifyContent","marginBottom","searchFieldFileNameText","searchInputPlaceholderText","marginRight","searchBtnConfirmText","searchBtnClearText","height","propTypes","PropTypes","object","func","string","number","bool"],"sources":["vtx-export-async/History.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\r\nimport { VtxDatagrid, VtxInput, VtxModal } from '@vtx/components';\r\nimport { downloadFile, request } from '@vtx/utils';\r\nimport { useAntdTable } from 'ahooks';\r\nimport { Button, Form, Modal, message } from 'antd';\r\nimport { getData } from './util';\r\nimport PropTypes from 'prop-types';\r\n\r\nfunction History(props) {\r\n const {\r\n params = {},\r\n onCancel,\r\n historyPageUrl = '',\r\n deleteRecordUrl = '',\r\n downFileUrl = '',\r\n TextEnum = {},\r\n customTableProps = {},\r\n refreshTime,\r\n downloadInNewTab,\r\n } = props;\r\n const [form] = Form.useForm();\r\n const timer = useRef(null);\r\n const getTable = async ({ current, pageSize }, formData) => {\r\n const res = await getData(historyPageUrl, {\r\n ...(params || {}),\r\n ...formData,\r\n page: current - 1,\r\n size: pageSize,\r\n });\r\n let list = [],\r\n total = 0;\r\n if (res?.result === 0 && Array.isArray(res.data?.rows)) {\r\n list = res.data?.rows.map(item => ({ ...item, key: item.id }));\r\n total = res.data?.total || 0;\r\n }\r\n return { list, total };\r\n };\r\n\r\n const { tableProps, refresh, search, loading, pagination } = useAntdTable(getTable, {\r\n defaultPageSize: 10,\r\n form,\r\n // manual: true\r\n });\r\n\r\n // 如果查询数据中有还未导出成功的数据,则3秒刷新一次列表\r\n useEffect(() => {\r\n const { dataSource } = tableProps;\r\n const ifAllFinish = dataSource.every(item => item.finish);\r\n if (ifAllFinish) {\r\n timer.current && clearInterval(timer.current);\r\n timer.current = null;\r\n return;\r\n }\r\n timer.current = setInterval(() => {\r\n refresh();\r\n }, refreshTime * 1000);\r\n }, [JSON.stringify(tableProps.dataSource)]);\r\n\r\n const { pageSize, current } = pagination;\r\n const { submit, reset } = search;\r\n const columns = [\r\n {\r\n title: TextEnum.historyFieldFileNameText,\r\n dataIndex: 'fileName',\r\n },\r\n {\r\n title: TextEnum.historyFieldFinishText,\r\n dataIndex: 'finish',\r\n width: 80,\r\n render: text => {\r\n return (\r\n <span style={{ color: text ? '#70b603' : '#f59a23' }}>\r\n {text ? TextEnum.statusDoneText : TextEnum.statusPendingText}\r\n </span>\r\n );\r\n },\r\n },\r\n {\r\n title: TextEnum.historyFieldStartTimeText,\r\n dataIndex: 'startTime',\r\n width: 170,\r\n },\r\n {\r\n title: TextEnum.historyFieldActionText,\r\n dataIndex: 'action',\r\n width: 70,\r\n renderButtons: (_, record) => {\r\n return [\r\n {\r\n name: TextEnum.downloadBtnText,\r\n onClick() {\r\n if (downloadInNewTab) {\r\n window.open(`${downFileUrl}?id=${record.id}`, '_blank')\r\n } else {\r\n downloadFile(\r\n downFileUrl,\r\n {\r\n data: {\r\n id: record.id,\r\n },\r\n },\r\n 'blob',\r\n );\r\n }\r\n },\r\n visible: record.finish,\r\n },\r\n {\r\n name: TextEnum.deleteBtnText,\r\n onClick() {\r\n Modal.confirm({\r\n content: TextEnum.deleteConfirmText,\r\n onOk: () => {\r\n request.get(deleteRecordUrl, { data: { id: record.id } }).then(res => {\r\n if (res?.result === 0) {\r\n message.success(TextEnum.deleteSuccessText);\r\n submit();\r\n }\r\n })\r\n }\r\n })\r\n },\r\n visible: !!deleteRecordUrl,\r\n },\r\n ];\r\n },\r\n },\r\n ];\r\n return (\r\n <VtxModal\r\n title={TextEnum.historyTitleText}\r\n visible\r\n onCancel={() => {\r\n if (timer.current) {\r\n clearInterval(timer.current);\r\n timer.current = null;\r\n }\r\n onCancel && onCancel();\r\n }}\r\n width={VtxModal.size.middle}\r\n footer={null}\r\n >\r\n <div style={{ display: 'flex', justifyContent: 'space-between', marginBottom: 8 }}>\r\n <Form form={form} layout=\"inline\">\r\n <Form.Item name=\"fileName\" label={TextEnum.searchFieldFileNameText}>\r\n <VtxInput style={{ width: 150 }} placeholder={TextEnum.searchInputPlaceholderText} />\r\n </Form.Item>\r\n </Form>\r\n <div>\r\n <Button type=\"primary\" onClick={submit} style={{ marginRight: 8 }}>\r\n {TextEnum.searchBtnConfirmText}\r\n </Button>\r\n <Button onClick={reset}>{TextEnum.searchBtnClearText}</Button>\r\n </div>\r\n </div>\r\n <div style={{ height: '400px' }}>\r\n <VtxDatagrid\r\n {...tableProps}\r\n columns={columns}\r\n {...customTableProps}\r\n startIndex={(current - 1) * pageSize + 1}\r\n loading={loading}\r\n toolbar={false}\r\n size=\"small\"\r\n />\r\n </div>\r\n </VtxModal>\r\n );\r\n}\r\n\r\nHistory.propTypes = {\r\n params: PropTypes.object,\r\n onCancel: PropTypes.func,\r\n historyPageUrl: PropTypes.string,\r\n deleteRecordUrl: PropTypes.string,\r\n downFileUrl: PropTypes.string,\r\n TextEnum: PropTypes.object,\r\n customTableProps: PropTypes.object,\r\n refreshTime: PropTypes.number,\r\n downloadInNewTab: PropTypes.bool,\r\n}\r\n\r\nexport default History;"],"mappings":"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"}
@@ -70,6 +70,7 @@ var VtxExportAsync = function VtxExportAsync(props) {
70
70
  requestExportUrl = props.requestExportUrl,
71
71
  downFileUrl = props.downFileUrl,
72
72
  historyPageUrl = props.historyPageUrl,
73
+ deleteRecordUrl = props.deleteRecordUrl,
73
74
  _props$customEnumText = props.customEnumText,
74
75
  customEnumText = _props$customEnumText === void 0 ? {} : _props$customEnumText,
75
76
  _props$allContentButt = props.allContentButton,
@@ -87,7 +88,9 @@ var VtxExportAsync = function VtxExportAsync(props) {
87
88
  _props$historyParams = props.historyParams,
88
89
  historyParams = _props$historyParams === void 0 ? {} : _props$historyParams,
89
90
  _props$refreshTime = props.refreshTime,
90
- refreshTime = _props$refreshTime === void 0 ? 3 : _props$refreshTime;
91
+ refreshTime = _props$refreshTime === void 0 ? 3 : _props$refreshTime,
92
+ _props$downloadInNewT = props.downloadInNewTab,
93
+ downloadInNewTab = _props$downloadInNewT === void 0 ? false : _props$downloadInNewT;
91
94
 
92
95
  var _Form$useForm = _antd.Form.useForm(),
93
96
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
@@ -133,6 +136,9 @@ var VtxExportAsync = function VtxExportAsync(props) {
133
136
  statusDoneText: '导出完成',
134
137
  statusPendingText: '导出中',
135
138
  downloadBtnText: '下载',
139
+ deleteBtnText: '删除',
140
+ deleteConfirmText: '确认删除吗?',
141
+ deleteSuccessText: '操作成功',
136
142
  searchFieldFileNameText: '名称',
137
143
  searchBtnConfirmText: '查询',
138
144
  searchBtnClearText: '重置',
@@ -365,10 +371,12 @@ var VtxExportAsync = function VtxExportAsync(props) {
365
371
  uniqueKey: uniqueKey
366
372
  }, historyParams),
367
373
  historyPageUrl: historyPageUrl,
374
+ deleteRecordUrl: deleteRecordUrl,
368
375
  downFileUrl: downFileUrl,
369
376
  TextEnum: TextEnum,
370
377
  customTableProps: customTableProps,
371
- refreshTime: refreshTime
378
+ refreshTime: refreshTime,
379
+ downloadInNewTab: downloadInNewTab
372
380
  }));
373
381
  };
374
382
 
@@ -385,6 +393,7 @@ VtxExportAsync.propTypes = {
385
393
  checkResultUrl: _propTypes["default"].string,
386
394
  downFileUrl: _propTypes["default"].string,
387
395
  historyPageUrl: _propTypes["default"].string,
396
+ deleteRecordUrl: _propTypes["default"].string,
388
397
  customEnumText: _propTypes["default"].object,
389
398
  allContentButton: _propTypes["default"].bool,
390
399
  rowButton: _propTypes["default"].bool,
@@ -394,7 +403,8 @@ VtxExportAsync.propTypes = {
394
403
  customTableProps: _propTypes["default"].object,
395
404
  timestamp: _propTypes["default"].string,
396
405
  historyParams: _propTypes["default"].object,
397
- refreshTime: _propTypes["default"].number
406
+ refreshTime: _propTypes["default"].number,
407
+ downloadInNewTab: _propTypes["default"].bool
398
408
  };
399
409
  var _default = VtxExportAsync;
400
410
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["timer","VtxExportAsync","props","prefixCls","uniqueKey","title","style","selectedRowKeys","tableData","columns","allColumns","params","getExportParams","requestExportUrl","downFileUrl","historyPageUrl","customEnumText","allContentButton","rowButton","pageButton","allButton","customTableProps","timestamp","historyParams","refreshTime","Form","useForm","form","useSetState","visible","loading","isRequest","isDone","fileId","state","setState","TextEnum","btnText","modalTitleText","btnOperaCancelText","btnOperaHistoryText","btnOperaConfirmText","optionAllText","optionRowsText","optionPageText","contentTableText","contentAllText","messageNoDataText","messageRowsNoDataText","messagePageNoDataText","fieldContentText","fieldTypeText","fieldFileNameText","placeholderFileName","fileMiddleText","requireFieldMsgText","historyTitleText","historyFieldFileNameText","historyFieldFinishText","historyFieldStartTimeText","historyFieldActionText","statusDoneText","statusPendingText","downloadBtnText","searchFieldFileNameText","searchBtnConfirmText","searchBtnClearText","searchInputPlaceholderText","Options","key","show","Contents","useEffect","dayjs","format","close","clearInterval","resetFields","showHistory","showHistoryModal","submit","validateFields","then","values","ids","downloadAll","flag","columnJson","JSON","stringify","content","filter","item","map","field","type","length","message","warn","id","postData","join","fileName","res","result","data","error","msg","children","required","propTypes","PropTypes","string","object","array","checkResultUrl","bool","func","number"],"sources":["vtx-export-async/index.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\r\nimport ExportOutlined from '@ant-design/icons/ExportOutlined';\r\nimport PropTypes from 'prop-types';\r\nimport { useSetState } from 'ahooks';\r\nimport { Button, Form, Input, message, Modal, Radio } from 'antd';\r\nimport dayjs from 'dayjs';\r\nimport { postData } from './util';\r\nimport History from './History';\r\n\r\nlet timer = null;\r\nconst VtxExportAsync = props => {\r\n const prefixCls = 'vtx-export-async';\r\n const {\r\n uniqueKey,\r\n title = '',\r\n style = {},\r\n selectedRowKeys = [],\r\n tableData = [],\r\n columns = [],\r\n allColumns = [],\r\n params = {},\r\n getExportParams,\r\n requestExportUrl,\r\n // checkResultUrl,\r\n downFileUrl,\r\n historyPageUrl,\r\n customEnumText = {},\r\n allContentButton = true,\r\n rowButton = true,\r\n pageButton = true,\r\n allButton = true,\r\n customTableProps = {},\r\n timestamp = '', // 导出文件名的日期,可自定义\r\n historyParams = {}, // 历史列表请求额外参数\r\n refreshTime = 3, // 列表定时起刷新时间\r\n } = props;\r\n const [form] = Form.useForm();\r\n const [state, setState] = useSetState({\r\n visible: false,\r\n loading: false,\r\n isRequest: false,\r\n isDone: false,\r\n fileId: '',\r\n timestamp: '',\r\n });\r\n\r\n const TextEnum = {\r\n btnText: '导出',\r\n modalTitleText: '导出',\r\n btnOperaCancelText: '取消',\r\n btnOperaHistoryText: '导出任务',\r\n btnOperaConfirmText: '导出',\r\n\r\n optionAllText: '全部',\r\n optionRowsText: '选中行',\r\n optionPageText: '当前页',\r\n\r\n contentTableText: '列表字段',\r\n contentAllText: '全部字段',\r\n\r\n messageNoDataText: '当前无数据',\r\n messageRowsNoDataText: '当前无选中数据',\r\n messagePageNoDataText: '当前页无数据',\r\n\r\n fieldContentText: '导出内容',\r\n fieldTypeText: '导出范围',\r\n fieldFileNameText: '文件名',\r\n\r\n placeholderFileName: '请输入',\r\n\r\n fileMiddleText: '导出文件',\r\n requireFieldMsgText: '不能为空',\r\n\r\n historyTitleText: '导出任务',\r\n\r\n historyFieldFileNameText: '名称',\r\n historyFieldFinishText: '状态',\r\n historyFieldStartTimeText: '导出时间',\r\n historyFieldActionText: '操作',\r\n\r\n statusDoneText: '导出完成',\r\n statusPendingText: '导出中',\r\n\r\n downloadBtnText: '下载',\r\n\r\n searchFieldFileNameText: '名称',\r\n searchBtnConfirmText: '查询',\r\n searchBtnClearText: '重置',\r\n searchInputPlaceholderText: '请输入',\r\n\r\n ...customEnumText,\r\n };\r\n\r\n const Options = [\r\n { title: TextEnum.optionAllText, key: 'all', show: allButton },\r\n { title: TextEnum.optionRowsText, key: 'rows', show: rowButton },\r\n { title: TextEnum.optionPageText, key: 'page', show: pageButton },\r\n ];\r\n const Contents = [\r\n { title: TextEnum.contentTableText, key: 'table', show: true },\r\n { title: TextEnum.contentAllText, key: 'all', show: allContentButton },\r\n ];\r\n\r\n useEffect(() => {\r\n setState({ timestamp: dayjs().format('YYYYMMDDHHmmss') });\r\n }, [state.visible]);\r\n\r\n function close() {\r\n if (timer) {\r\n clearInterval(timer);\r\n timer = null;\r\n }\r\n form.resetFields();\r\n setState({ visible: false, isRequest: false, isDone: false, timer: null });\r\n }\r\n function showHistory() {\r\n setState({ showHistoryModal: true });\r\n }\r\n function submit() {\r\n if (form) {\r\n form.validateFields().then(values => {\r\n let ids = [],\r\n downloadAll = false,\r\n flag = true,\r\n columnJson = JSON.stringify(\r\n (values.content == 'all' ? allColumns : columns)\r\n .filter(item => item.key !== 'action')\r\n .map(item => {\r\n return {\r\n ...item,\r\n title: item.title,\r\n field: item.key,\r\n };\r\n }),\r\n );\r\n switch (values.type) {\r\n case 'all':\r\n if (tableData.length == 0) {\r\n flag = false;\r\n message.warn(TextEnum.messageNoDataText);\r\n } else {\r\n downloadAll = true;\r\n }\r\n break;\r\n case 'rows':\r\n if (selectedRowKeys.length == 0) {\r\n flag = false;\r\n message.warn(TextEnum.messageRowsNoDataText);\r\n } else {\r\n ids = selectedRowKeys;\r\n }\r\n break;\r\n case 'page':\r\n if (tableData.length == 0) {\r\n flag = false;\r\n message.warn(TextEnum.messagePageNoDataText);\r\n } else {\r\n ids = tableData.map(item => item.id);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n if (flag && requestExportUrl) {\r\n postData(requestExportUrl, {\r\n downloadAll,\r\n columnJson,\r\n ids: ids.join(','),\r\n fileName: values.fileName,\r\n uniqueKey,\r\n ...(typeof getExportParams == 'function' ? getExportParams() : params),\r\n }).then(res => {\r\n if (res?.result == 0) {\r\n setState({ showHistoryModal: true, fileId: res.data });\r\n } else {\r\n message.error(res?.msg || '导出失败');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n // 监听单文件状态\r\n // useEffect(() => {\r\n // if (state.fileId) {\r\n // timer = setInterval(() => {\r\n // getData(checkResultUrl, { id: state.fileId }).then(data => {\r\n // if (data.finish) {\r\n // clearInterval(timer);\r\n // timer = null;\r\n // setState({\r\n // isDone: true,\r\n // });\r\n // }\r\n // });\r\n // }, 2000);\r\n // }\r\n // }, [state.fileId]);\r\n return (\r\n <div className={prefixCls} style={style}>\r\n {props.children ? (\r\n <div\r\n onClick={() => {\r\n setState({ visible: true });\r\n }}\r\n >\r\n {props.children}\r\n </div>\r\n ) : (\r\n <Button\r\n icon={<ExportOutlined />}\r\n onClick={() => {\r\n setState({ visible: true });\r\n }}\r\n >\r\n {TextEnum.btnText}\r\n </Button>\r\n )}\r\n {state.visible && (\r\n <Modal\r\n title={\r\n title ? `${title} > ${TextEnum.modalTitleText}` : TextEnum.modalTitleText\r\n }\r\n visible={state.visible}\r\n maskClosable={false}\r\n onCancel={close}\r\n footer={[\r\n <Button onClick={close} key=\"cancel\">\r\n {TextEnum.btnOperaCancelText}\r\n </Button>,\r\n <Button onClick={showHistory} key=\"history\">\r\n {TextEnum.btnOperaHistoryText}\r\n </Button>,\r\n <Button\r\n key=\"confirm\"\r\n type=\"primary\"\r\n loading={state.loading}\r\n onClick={submit}\r\n >\r\n {TextEnum.btnOperaConfirmText}\r\n </Button>,\r\n ]}\r\n >\r\n <Form\r\n form={form}\r\n layout=\"vertical\"\r\n initialValues={{\r\n content: 'table',\r\n type: 'all',\r\n fileName: `${title}${TextEnum.fileMiddleText}${timestamp ??\r\n state.timestamp}`,\r\n }}\r\n >\r\n <Form.Item\r\n label={TextEnum.fieldContentText}\r\n name=\"content\"\r\n rules={[{ required: true, message: TextEnum.requireFieldMsgText }]}\r\n >\r\n <Radio.Group>\r\n {Contents.map(item => {\r\n return (\r\n item.show && (\r\n <Radio key={item.key} value={item.key}>\r\n {item.title}\r\n </Radio>\r\n )\r\n );\r\n })}\r\n </Radio.Group>\r\n </Form.Item>\r\n <Form.Item\r\n label={TextEnum.fieldTypeText}\r\n name=\"type\"\r\n rules={[{ required: true, message: TextEnum.requireFieldMsgText }]}\r\n >\r\n <Radio.Group>\r\n {Options.map(item => {\r\n return (\r\n item.show && (\r\n <Radio key={item.key} value={item.key}>\r\n {item.title}\r\n </Radio>\r\n )\r\n );\r\n })}\r\n </Radio.Group>\r\n </Form.Item>\r\n <Form.Item\r\n label={TextEnum.fieldFileNameText}\r\n name=\"fileName\"\r\n rules={[{ required: true, message: TextEnum.requireFieldMsgText }]}\r\n >\r\n <Input placeholder={TextEnum.placeholderFileName} />\r\n </Form.Item>\r\n </Form>\r\n </Modal>\r\n )}\r\n {state.showHistoryModal && (\r\n <History\r\n onCancel={() => {\r\n setState({ showHistoryModal: false });\r\n }}\r\n params={{\r\n uniqueKey,\r\n ...historyParams,\r\n }}\r\n historyPageUrl={historyPageUrl}\r\n downFileUrl={downFileUrl}\r\n TextEnum={TextEnum}\r\n customTableProps={customTableProps}\r\n refreshTime={refreshTime}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nVtxExportAsync.propTypes = {\r\n uniqueKey: PropTypes.string,\r\n title: PropTypes.string,\r\n style: PropTypes.object,\r\n selectedRowKeys: PropTypes.array,\r\n tableData: PropTypes.array,\r\n columns: PropTypes.array,\r\n allColumns: PropTypes.array,\r\n params: PropTypes.object,\r\n requestExportUrl: PropTypes.string,\r\n checkResultUrl: PropTypes.string,\r\n downFileUrl: PropTypes.string,\r\n historyPageUrl: PropTypes.string,\r\n customEnumText: PropTypes.object,\r\n allContentButton: PropTypes.bool,\r\n rowButton: PropTypes.bool,\r\n pageButton: PropTypes.bool,\r\n allButton: PropTypes.bool,\r\n getExportParams: PropTypes.func,\r\n customTableProps: PropTypes.object,\r\n timestamp: PropTypes.string,\r\n historyParams: PropTypes.object,\r\n refreshTime: PropTypes.number,\r\n};\r\n\r\nexport default VtxExportAsync;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["timer","VtxExportAsync","props","prefixCls","uniqueKey","title","style","selectedRowKeys","tableData","columns","allColumns","params","getExportParams","requestExportUrl","downFileUrl","historyPageUrl","deleteRecordUrl","customEnumText","allContentButton","rowButton","pageButton","allButton","customTableProps","timestamp","historyParams","refreshTime","downloadInNewTab","Form","useForm","form","useSetState","visible","loading","isRequest","isDone","fileId","state","setState","TextEnum","btnText","modalTitleText","btnOperaCancelText","btnOperaHistoryText","btnOperaConfirmText","optionAllText","optionRowsText","optionPageText","contentTableText","contentAllText","messageNoDataText","messageRowsNoDataText","messagePageNoDataText","fieldContentText","fieldTypeText","fieldFileNameText","placeholderFileName","fileMiddleText","requireFieldMsgText","historyTitleText","historyFieldFileNameText","historyFieldFinishText","historyFieldStartTimeText","historyFieldActionText","statusDoneText","statusPendingText","downloadBtnText","deleteBtnText","deleteConfirmText","deleteSuccessText","searchFieldFileNameText","searchBtnConfirmText","searchBtnClearText","searchInputPlaceholderText","Options","key","show","Contents","useEffect","dayjs","format","close","clearInterval","resetFields","showHistory","showHistoryModal","submit","validateFields","then","values","ids","downloadAll","flag","columnJson","JSON","stringify","content","filter","item","map","field","type","length","message","warn","id","postData","join","fileName","res","result","data","error","msg","children","required","propTypes","PropTypes","string","object","array","checkResultUrl","bool","func","number"],"sources":["vtx-export-async/index.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\r\nimport ExportOutlined from '@ant-design/icons/ExportOutlined';\r\nimport PropTypes from 'prop-types';\r\nimport { useSetState } from 'ahooks';\r\nimport { Button, Form, Input, message, Modal, Radio } from 'antd';\r\nimport dayjs from 'dayjs';\r\nimport { postData } from './util';\r\nimport History from './History';\r\n\r\nlet timer = null;\r\nconst VtxExportAsync = props => {\r\n const prefixCls = 'vtx-export-async';\r\n const {\r\n uniqueKey,\r\n title = '',\r\n style = {},\r\n selectedRowKeys = [],\r\n tableData = [],\r\n columns = [],\r\n allColumns = [],\r\n params = {},\r\n getExportParams,\r\n requestExportUrl,\r\n // checkResultUrl,\r\n downFileUrl,\r\n historyPageUrl,\r\n deleteRecordUrl,\r\n customEnumText = {},\r\n allContentButton = true,\r\n rowButton = true,\r\n pageButton = true,\r\n allButton = true,\r\n customTableProps = {},\r\n timestamp = '', // 导出文件名的日期,可自定义\r\n historyParams = {}, // 历史列表请求额外参数\r\n refreshTime = 3, // 列表定时起刷新时间\r\n downloadInNewTab = false, // 新窗口打开下载文件 \r\n } = props;\r\n const [form] = Form.useForm();\r\n const [state, setState] = useSetState({\r\n visible: false,\r\n loading: false,\r\n isRequest: false,\r\n isDone: false,\r\n fileId: '',\r\n timestamp: '',\r\n });\r\n\r\n const TextEnum = {\r\n btnText: '导出',\r\n modalTitleText: '导出',\r\n btnOperaCancelText: '取消',\r\n btnOperaHistoryText: '导出任务',\r\n btnOperaConfirmText: '导出',\r\n\r\n optionAllText: '全部',\r\n optionRowsText: '选中行',\r\n optionPageText: '当前页',\r\n\r\n contentTableText: '列表字段',\r\n contentAllText: '全部字段',\r\n\r\n messageNoDataText: '当前无数据',\r\n messageRowsNoDataText: '当前无选中数据',\r\n messagePageNoDataText: '当前页无数据',\r\n\r\n fieldContentText: '导出内容',\r\n fieldTypeText: '导出范围',\r\n fieldFileNameText: '文件名',\r\n\r\n placeholderFileName: '请输入',\r\n\r\n fileMiddleText: '导出文件',\r\n requireFieldMsgText: '不能为空',\r\n\r\n historyTitleText: '导出任务',\r\n\r\n historyFieldFileNameText: '名称',\r\n historyFieldFinishText: '状态',\r\n historyFieldStartTimeText: '导出时间',\r\n historyFieldActionText: '操作',\r\n\r\n statusDoneText: '导出完成',\r\n statusPendingText: '导出中',\r\n\r\n downloadBtnText: '下载',\r\n deleteBtnText: '删除',\r\n deleteConfirmText: '确认删除吗?',\r\n deleteSuccessText: '操作成功',\r\n\r\n searchFieldFileNameText: '名称',\r\n searchBtnConfirmText: '查询',\r\n searchBtnClearText: '重置',\r\n searchInputPlaceholderText: '请输入',\r\n\r\n ...customEnumText,\r\n };\r\n\r\n const Options = [\r\n { title: TextEnum.optionAllText, key: 'all', show: allButton },\r\n { title: TextEnum.optionRowsText, key: 'rows', show: rowButton },\r\n { title: TextEnum.optionPageText, key: 'page', show: pageButton },\r\n ];\r\n const Contents = [\r\n { title: TextEnum.contentTableText, key: 'table', show: true },\r\n { title: TextEnum.contentAllText, key: 'all', show: allContentButton },\r\n ];\r\n\r\n useEffect(() => {\r\n setState({ timestamp: dayjs().format('YYYYMMDDHHmmss') });\r\n }, [state.visible]);\r\n\r\n function close() {\r\n if (timer) {\r\n clearInterval(timer);\r\n timer = null;\r\n }\r\n form.resetFields();\r\n setState({ visible: false, isRequest: false, isDone: false, timer: null });\r\n }\r\n function showHistory() {\r\n setState({ showHistoryModal: true });\r\n }\r\n function submit() {\r\n if (form) {\r\n form.validateFields().then(values => {\r\n let ids = [],\r\n downloadAll = false,\r\n flag = true,\r\n columnJson = JSON.stringify(\r\n (values.content == 'all' ? allColumns : columns)\r\n .filter(item => item.key !== 'action')\r\n .map(item => {\r\n return {\r\n ...item,\r\n title: item.title,\r\n field: item.key,\r\n };\r\n }),\r\n );\r\n switch (values.type) {\r\n case 'all':\r\n if (tableData.length == 0) {\r\n flag = false;\r\n message.warn(TextEnum.messageNoDataText);\r\n } else {\r\n downloadAll = true;\r\n }\r\n break;\r\n case 'rows':\r\n if (selectedRowKeys.length == 0) {\r\n flag = false;\r\n message.warn(TextEnum.messageRowsNoDataText);\r\n } else {\r\n ids = selectedRowKeys;\r\n }\r\n break;\r\n case 'page':\r\n if (tableData.length == 0) {\r\n flag = false;\r\n message.warn(TextEnum.messagePageNoDataText);\r\n } else {\r\n ids = tableData.map(item => item.id);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n if (flag && requestExportUrl) {\r\n postData(requestExportUrl, {\r\n downloadAll,\r\n columnJson,\r\n ids: ids.join(','),\r\n fileName: values.fileName,\r\n uniqueKey,\r\n ...(typeof getExportParams == 'function' ? getExportParams() : params),\r\n }).then(res => {\r\n if (res?.result == 0) {\r\n setState({ showHistoryModal: true, fileId: res.data });\r\n } else {\r\n message.error(res?.msg || '导出失败');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n // 监听单文件状态\r\n // useEffect(() => {\r\n // if (state.fileId) {\r\n // timer = setInterval(() => {\r\n // getData(checkResultUrl, { id: state.fileId }).then(data => {\r\n // if (data.finish) {\r\n // clearInterval(timer);\r\n // timer = null;\r\n // setState({\r\n // isDone: true,\r\n // });\r\n // }\r\n // });\r\n // }, 2000);\r\n // }\r\n // }, [state.fileId]);\r\n return (\r\n <div className={prefixCls} style={style}>\r\n {props.children ? (\r\n <div\r\n onClick={() => {\r\n setState({ visible: true });\r\n }}\r\n >\r\n {props.children}\r\n </div>\r\n ) : (\r\n <Button\r\n icon={<ExportOutlined />}\r\n onClick={() => {\r\n setState({ visible: true });\r\n }}\r\n >\r\n {TextEnum.btnText}\r\n </Button>\r\n )}\r\n {state.visible && (\r\n <Modal\r\n title={\r\n title ? `${title} > ${TextEnum.modalTitleText}` : TextEnum.modalTitleText\r\n }\r\n visible={state.visible}\r\n maskClosable={false}\r\n onCancel={close}\r\n footer={[\r\n <Button onClick={close} key=\"cancel\">\r\n {TextEnum.btnOperaCancelText}\r\n </Button>,\r\n <Button onClick={showHistory} key=\"history\">\r\n {TextEnum.btnOperaHistoryText}\r\n </Button>,\r\n <Button\r\n key=\"confirm\"\r\n type=\"primary\"\r\n loading={state.loading}\r\n onClick={submit}\r\n >\r\n {TextEnum.btnOperaConfirmText}\r\n </Button>,\r\n ]}\r\n >\r\n <Form\r\n form={form}\r\n layout=\"vertical\"\r\n initialValues={{\r\n content: 'table',\r\n type: 'all',\r\n fileName: `${title}${TextEnum.fileMiddleText}${timestamp ??\r\n state.timestamp}`,\r\n }}\r\n >\r\n <Form.Item\r\n label={TextEnum.fieldContentText}\r\n name=\"content\"\r\n rules={[{ required: true, message: TextEnum.requireFieldMsgText }]}\r\n >\r\n <Radio.Group>\r\n {Contents.map(item => {\r\n return (\r\n item.show && (\r\n <Radio key={item.key} value={item.key}>\r\n {item.title}\r\n </Radio>\r\n )\r\n );\r\n })}\r\n </Radio.Group>\r\n </Form.Item>\r\n <Form.Item\r\n label={TextEnum.fieldTypeText}\r\n name=\"type\"\r\n rules={[{ required: true, message: TextEnum.requireFieldMsgText }]}\r\n >\r\n <Radio.Group>\r\n {Options.map(item => {\r\n return (\r\n item.show && (\r\n <Radio key={item.key} value={item.key}>\r\n {item.title}\r\n </Radio>\r\n )\r\n );\r\n })}\r\n </Radio.Group>\r\n </Form.Item>\r\n <Form.Item\r\n label={TextEnum.fieldFileNameText}\r\n name=\"fileName\"\r\n rules={[{ required: true, message: TextEnum.requireFieldMsgText }]}\r\n >\r\n <Input placeholder={TextEnum.placeholderFileName} />\r\n </Form.Item>\r\n </Form>\r\n </Modal>\r\n )}\r\n {state.showHistoryModal && (\r\n <History\r\n onCancel={() => {\r\n setState({ showHistoryModal: false });\r\n }}\r\n params={{\r\n uniqueKey,\r\n ...historyParams,\r\n }}\r\n historyPageUrl={historyPageUrl}\r\n deleteRecordUrl={deleteRecordUrl}\r\n downFileUrl={downFileUrl}\r\n TextEnum={TextEnum}\r\n customTableProps={customTableProps}\r\n refreshTime={refreshTime}\r\n downloadInNewTab={downloadInNewTab}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nVtxExportAsync.propTypes = {\r\n uniqueKey: PropTypes.string,\r\n title: PropTypes.string,\r\n style: PropTypes.object,\r\n selectedRowKeys: PropTypes.array,\r\n tableData: PropTypes.array,\r\n columns: PropTypes.array,\r\n allColumns: PropTypes.array,\r\n params: PropTypes.object,\r\n requestExportUrl: PropTypes.string,\r\n checkResultUrl: PropTypes.string,\r\n downFileUrl: PropTypes.string,\r\n historyPageUrl: PropTypes.string,\r\n deleteRecordUrl: PropTypes.string,\r\n customEnumText: PropTypes.object,\r\n allContentButton: PropTypes.bool,\r\n rowButton: PropTypes.bool,\r\n pageButton: PropTypes.bool,\r\n allButton: PropTypes.bool,\r\n getExportParams: PropTypes.func,\r\n customTableProps: PropTypes.object,\r\n timestamp: PropTypes.string,\r\n historyParams: PropTypes.object,\r\n refreshTime: PropTypes.number,\r\n downloadInNewTab: PropTypes.bool,\r\n};\r\n\r\nexport default VtxExportAsync;\r\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "3.1.119",
3
+ "version": "3.1.121",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",