tntd
Version:
tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
130 lines (129 loc) • 5.95 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _modal = _interopRequireDefault(require("../../modal"));
var _button = _interopRequireDefault(require("../../button"));
var _alert = _interopRequireDefault(require("../../alert"));
var _message = _interopRequireDefault(require("../../message"));
var _ReferenceInfo = _interopRequireDefault(require("../ReferenceInfo"));
var _prevLocale = require("../../prev-locale");
require("./index.less");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
var _default = exports["default"] = function _default(props) {
var _ref = props || {},
_ref$title = _ref.title,
title = _ref$title === void 0 ? (0, _prevLocale.getText)('viewReference', props === null || props === void 0 ? void 0 : props.lang) : _ref$title,
rq = _ref.rq,
checkReferResponse = _ref.checkReferResponse,
_ref$orgMap = _ref.orgMap,
orgMap = _ref$orgMap === void 0 ? {} : _ref$orgMap,
_ref$appList = _ref.appList,
appList = _ref$appList === void 0 ? [] : _ref$appList,
cancelText = _ref.cancelText,
okText = _ref.okText,
emptyType = _ref.emptyType,
showPagination = _ref.showPagination,
_ref$destroyOnClose = _ref.destroyOnClose,
destroyOnClose = _ref$destroyOnClose === void 0 ? true : _ref$destroyOnClose,
_ref$weakMsg = _ref.weakMsg,
weakMsg = _ref$weakMsg === void 0 ? (0, _prevLocale.getText)('weakMsg', props === null || props === void 0 ? void 0 : props.lang) : _ref$weakMsg,
_ref$strongMsg = _ref.strongMsg,
strongMsg = _ref$strongMsg === void 0 ? (0, _prevLocale.getText)('strongMsg', props === null || props === void 0 ? void 0 : props.lang) : _ref$strongMsg;
var appendModal = function appendModal(resolve, _ref2) {
var type = _ref2.type,
_ref2$result = _ref2.result,
referenceData = _ref2$result === void 0 ? [] : _ref2$result;
var modalWrap = document.createElement('div');
modalWrap.setAttribute('id', 'tddc-reference-check-modal');
var removeModal = function removeModal() {
var _a;
var tddcModal = document.querySelectorAll('#tddc-reference-check-modal');
if (tddcModal) {
tddcModal.forEach(function (ele) {
var _a;
return (_a = ele === null || ele === void 0 ? void 0 : ele.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(ele);
});
}
modalWrap && ((_a = modalWrap === null || modalWrap === void 0 ? void 0 : modalWrap.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(modalWrap));
if (document.body.getAttribute('style')) {
document.body.removeAttribute('style');
}
};
removeModal();
// 能进行下一步操作
var canNextOpera = !!type && !['STRONG'].includes(type);
document.body.appendChild(modalWrap);
_reactDom["default"].render(_react["default"].createElement(_modal["default"], {
title: title,
visible: true,
width: 1000,
destroyOnClose: destroyOnClose,
getContainer: modalWrap,
onCancel: removeModal,
footer: [_react["default"].createElement(_button["default"], {
key: "back",
onClick: removeModal
}, cancelText || (0, _prevLocale.getText)('cancel', props === null || props === void 0 ? void 0 : props.lang)), canNextOpera && _react["default"].createElement(_button["default"], {
key: "submit",
type: "primary",
onClick: function onClick() {
removeModal();
resolve(type);
}
}, okText || (0, _prevLocale.getText)('next', props === null || props === void 0 ? void 0 : props.lang))]
}, _react["default"].createElement("div", {
className: "reference-check-modal"
}, canNextOpera && _react["default"].createElement("div", {
className: "mb16"
}, _react["default"].createElement(_alert["default"], {
type: "warning",
message: weakMsg || (referenceData === null || referenceData === void 0 ? void 0 : referenceData.message) || (0, _prevLocale.getText)('weakMsg', props === null || props === void 0 ? void 0 : props.lang)
})), !canNextOpera && _react["default"].createElement("div", {
className: "mb16"
}, _react["default"].createElement(_alert["default"], {
type: "error",
message: strongMsg || (referenceData === null || referenceData === void 0 ? void 0 : referenceData.message) || (0, _prevLocale.getText)('strongMsg', props === null || props === void 0 ? void 0 : props.lang)
})), _react["default"].createElement("div", {
className: "relation-reference-detail"
}, _react["default"].createElement(_ReferenceInfo["default"], {
showPagination: showPagination,
emptyType: emptyType,
referenceData: referenceData,
orgMap: orgMap,
appList: appList,
unmountHandle: removeModal
})))), modalWrap);
};
if (rq && typeof rq === 'function') {
return new Promise(function (resolve, reject) {
return rq().then(function (res) {
var _ref3 = res || {},
success = _ref3.success,
data = _ref3.data;
if (success) {
var _ref4 = data || {},
type = _ref4.type;
if (type === 'NO_EXIST') {
resolve(type);
} else if (type) {
// if (['WEAK', 'STRONG'].includes(type)) {
appendModal(resolve, data);
}
} else {
// reject('查询关联关系失败');
reject((0, _prevLocale.getText)('relationFail', props === null || props === void 0 ? void 0 : props.lang));
}
});
});
} else {
_message["default"].error((0, _prevLocale.getText)('reliableQuery', props === null || props === void 0 ? void 0 : props.lang)); // '请提供一个可靠的查询请求!!!'
}
};