UNPKG

@aliretail/react-materials-components

Version:
190 lines (162 loc) 7.13 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _pagination = _interopRequireDefault(require("@alifd/next/lib/pagination")); var _table = _interopRequireDefault(require("@alifd/next/lib/table")); var _message = _interopRequireDefault(require("@alifd/next/lib/message")); var _progress = _interopRequireDefault(require("@alifd/next/lib/progress")); var _icon = _interopRequireDefault(require("@alifd/next/lib/icon")); var _button = _interopRequireDefault(require("@alifd/next/lib/button")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _QueryInfo = _interopRequireDefault(require("./QueryInfo")); var _dayjs = _interopRequireDefault(require("dayjs")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var classPrefix = 'data-export-history-panel-'; var renderDownload = function renderDownload(record, doExport) { switch (record.status) { case 'fail': { return /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_button["default"], { onClick: function onClick() { return doExport(record.exportQuery); }, text: true, type: "primary" }, "\u91CD\u65B0\u5BFC\u51FA"), /*#__PURE__*/_react["default"].createElement("span", { className: classPrefix + "status-error" }, /*#__PURE__*/_react["default"].createElement(_icon["default"], { type: "error", size: "small", style: { color: '#FF3333', marginRight: '3px' } }), "\u5BFC\u51FA\u5931\u8D25")); } case 'finish': { return /*#__PURE__*/_react["default"].createElement("a", { href: record.downloadUrl, target: "_blank", rel: "noreferrer" }, "\u4E0B\u8F7D"); } default: { return record.finished < 100 ? /*#__PURE__*/_react["default"].createElement(_progress["default"], { percent: record.finished, size: "small" }) : null; } } }; var History = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) { var onFetchHistory = props.onFetchHistory, doExport = props.doExport, translateQuery = props.translateQuery; var pageSize = 10; var _useState = (0, _react.useState)(1), currentPage = _useState[0], setCurrentPage = _useState[1]; var _useState2 = (0, _react.useState)(0), total = _useState2[0], setTotal = _useState2[1]; var _useState3 = (0, _react.useState)([]), list = _useState3[0], setList = _useState3[1]; var _useState4 = (0, _react.useState)(true), loading = _useState4[0], setLoading = _useState4[1]; var fetchData = (0, _react.useCallback)(function (page) { setLoading(true); onFetchHistory(page, pageSize).then(function (response) { setLoading(false); if (response.success) { setCurrentPage(page); setTotal(response.data.total); setList(response.data.list); } else { _message["default"].show({ type: 'error', title: response.message }); } }, function () { setLoading(false); _message["default"].show({ type: 'error', title: '获取列表数据失败' }); }); }, [onFetchHistory]); var totalRender = function totalRender() { return "\u5171" + (total || 0) + "\u6761"; }; var redoExport = (0, _react.useCallback)(function (query) { doExport(query); fetchData(currentPage); }, [currentPage, doExport, fetchData]); var downloadCell = (0, _react.useCallback)(function (value, index, record) { return renderDownload(record, redoExport); }, [redoExport]); var renderQueryCondition = (0, _react.useCallback)(function (exportQuery) { var conditon = translateQuery(exportQuery); return /*#__PURE__*/_react["default"].createElement(_QueryInfo["default"], { data: conditon }); }, [translateQuery]); var renderCreatedTime = (0, _react.useCallback)(function (time) { return (0, _dayjs["default"])(time).format('YYYY-MM-DD HH:mm:ss'); }, []); var refreshHistory = (0, _react.useCallback)(function () { fetchData(currentPage); }, [currentPage, fetchData]); (0, _react.useImperativeHandle)(ref, function () { return { refreshHistory: refreshHistory }; }); (0, _react.useEffect)(function () { fetchData(1); }, [fetchData]); return /*#__PURE__*/_react["default"].createElement("div", { className: classPrefix + "container" }, /*#__PURE__*/_react["default"].createElement(_table["default"], { dataSource: list || [], hasBorder: false, loading: loading, isZebra: true }, /*#__PURE__*/_react["default"].createElement(_table["default"].Column, { title: "\u5BFC\u51FA\u4EBA", dataIndex: "creator" }), /*#__PURE__*/_react["default"].createElement(_table["default"].Column, { title: "\u5BFC\u51FA\u65F6\u95F4", dataIndex: "createdTime", cell: renderCreatedTime }), /*#__PURE__*/_react["default"].createElement(_table["default"].Column, { title: "\u67E5\u8BE2\u6761\u4EF6", dataIndex: "exportQuery", cell: renderQueryCondition }), /*#__PURE__*/_react["default"].createElement(_table["default"].Column, { title: "\u4E0B\u8F7D", cell: downloadCell })), /*#__PURE__*/_react["default"].createElement(_pagination["default"], { className: classPrefix + "pagination", defaultCurrent: 1, current: currentPage, total: total, pageSize: pageSize, onChange: fetchData, totalRender: totalRender })); }); History.propTypes = { doExport: _propTypes["default"].func.isRequired, onFetchHistory: _propTypes["default"].func.isRequired, translateQuery: _propTypes["default"].func.isRequired }; var _default = History; exports["default"] = _default;