"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

var _typeof = require("@babel/runtime/helpers/typeof");

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

require("maycur-antd/lib/icon/style/css");

var _icon = _interopRequireDefault(require("maycur-antd/lib/icon"));

require("maycur-antd/lib/tooltip/style/css");

var _tooltip = _interopRequireDefault(require("maycur-antd/lib/tooltip"));

var _react = _interopRequireWildcard(require("react"));

var _MkSearch = _interopRequireDefault(require("../MkSearch"));

var _Empty = _interopRequireDefault(require("../Empty"));

var _lodash = _interopRequireDefault(require("lodash"));

var _utils = _interopRequireDefault(require("../utils/utils"));

var _moment = _interopRequireDefault(require("moment"));

var _TranslateHook = _interopRequireDefault(require("../hooks/TranslateHook"));

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 prefix = _utils.default.prefixCls;

function DownloadList(props) {
  var t = (0, _TranslateHook.default)('MK_Download');
  var dataList = props.dataList,
      searchData = props.searchData,
      api = props.api,
      getDownloadCenterHistorty = props.getDownloadCenterHistorty,
      typeList = props.typeList;

  var searchDebounce = function searchDebounce(key) {
    if (typeof searchData === 'function') {
      searchData(key);
    }
  };

  var switchExportStatus = function switchExportStatus(item) {
    switch (item.exportStatus) {
      case 'COMPLETED':
        return /*#__PURE__*/_react.default.createElement(_tooltip.default, {
          title: item.fileSuffix === 'pdf' ? "打印" : "下载"
        }, /*#__PURE__*/_react.default.createElement("span", {
          onClick: function onClick(e) {
            downloadItem(item);
          },
          className: item.fileSuffix === 'pdf' ? "fm fm-maycur-icon_D-" : "fm fm-download"
        }));

      case 'ERROR':
        return /*#__PURE__*/_react.default.createElement("span", null);

      default:
        return /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_icon.default, {
          type: "loading",
          style: {
            fontSize: 14
          },
          spin: true
        }));
    }
  };

  var switchExportResult = function switchExportResult(item) {
    switch (item.exportStatus) {
      case 'ERROR':
        return null;

      case 'PROCESSING':
        return /*#__PURE__*/_react.default.createElement("span", null, "\u5904\u7406\u4E2D");

      case 'SUBMITTED':
        return /*#__PURE__*/_react.default.createElement("span", null, "\u63D0\u4EA4\u4E2D");

      default:
        return /*#__PURE__*/_react.default.createElement("span", null, item.exportResult);
    }
  };

  var switchExcelType = function switchExcelType(item) {
    var aaa = _lodash.default.find(typeList, ['code', item.excelType]);

    return aaa.name || '';
  }; // 删除


  var deleteExport = function deleteExport(code) {
    api.downloadCenterDel(code).then(function (res) {
      if (res && res.code === 'ACK') {
        if (typeof getDownloadCenterHistorty === 'function') {
          getDownloadCenterHistorty();
        }
      }
    }).catch(function (err) {
      console.log("删除失败");
    });
  }; // 下载


  var downloadItem = function downloadItem(item) {
    api.downloadCenterDownloadFile(item.code, item.exportResult, item.fileSuffix);
  }; // 前往个人中心的下载中心


  var goDownload = function goDownload() {
    window.location.href = "/formrender/".concat(window.location.search, "#/profile/download-center");
  };

  (0, _react.useEffect)(function () {}, []);
  return /*#__PURE__*/_react.default.createElement("div", {
    className: "".concat(prefix, "-download-list")
  }, /*#__PURE__*/_react.default.createElement("div", {
    className: "download-header"
  }, /*#__PURE__*/_react.default.createElement("span", {
    className: "download-header-text"
  }, t('downloadCenter')), /*#__PURE__*/_react.default.createElement("span", {
    onClick: goDownload,
    className: "more-list"
  }, t('more') + '>>')), /*#__PURE__*/_react.default.createElement("div", {
    className: "search-box"
  }, /*#__PURE__*/_react.default.createElement(_MkSearch.default, {
    type: "gray",
    placeholder: t('pleaseEnter'),
    style: {
      width: 332
    },
    onSearch: function onSearch(value) {
      searchDebounce(value);
    }
  })), dataList && dataList.length > 0 ? _lodash.default.map(dataList, function (item, index) {
    return /*#__PURE__*/_react.default.createElement("div", {
      key: index,
      className: "download-list-item"
    }, /*#__PURE__*/_react.default.createElement("div", {
      className: "list-item-introduce"
    }, /*#__PURE__*/_react.default.createElement("span", {
      className: "list-item-name"
    }, /*#__PURE__*/_react.default.createElement("span", {
      className: "list-item-max-name"
    }, switchExportResult(item)), item.exportStatus === 'COMPLETED' ? "".concat(item.fileSuffix ? "." + item.fileSuffix : '') : null), /*#__PURE__*/_react.default.createElement("span", {
      className: "list-item-time"
    }, item.exportStatus === 'ERROR' ? /*#__PURE__*/_react.default.createElement("span", {
      style: {
        color: 'red'
      }
    }, "".concat(switchExcelType(item), "\u5BFC\u51FA\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5")) : (0, _moment.default)(item.createdAt).format('YYYY-MM-DD HH:mm:ss'))), /*#__PURE__*/_react.default.createElement("div", {
      className: "list-item-status"
    }, switchExportStatus(item), /*#__PURE__*/_react.default.createElement(_tooltip.default, {
      title: "删除"
    }, /*#__PURE__*/_react.default.createElement("span", {
      onClick: function onClick(e) {
        deleteExport(item.code);
      },
      className: "fm fm-huaban1"
    }))));
  }) : /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Empty.default, {
    className: "download-list-empty"
  })));
}

var _default = DownloadList;
exports.default = _default;