@aliretail/react-materials-components
Version:
190 lines (162 loc) • 7.13 kB
JavaScript
"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;