fastlion-amis
Version:
一种MIS页面生成工具
134 lines (133 loc) • 8.45 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LionImportExcelRenderer = void 0;
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var spin_1 = tslib_1.__importDefault(require("antd/lib/spin"));
var FileUpload_1 = require("./FileUpload");
var factory_1 = require("../../../../../factory");
var index_1 = require("../../../../../index");
var style_1 = require("./style");
var Scoped_1 = require("../../../../../Scoped");
var Button_1 = tslib_1.__importDefault(require("../../../../../components/Button"));
require("./style.scss");
var tpl_1 = require("../../../../../utils/tpl");
var LionCopyItem_1 = tslib_1.__importDefault(require("../../../components/LionCopyItem"));
var helper_1 = require("../../../../../utils/helper");
var LionImportExcel = /** @class */ (function (_super) {
tslib_1.__extends(LionImportExcel, _super);
function LionImportExcel(props, context) {
var _this = _super.call(this, props) || this;
_this.index = 0;
_this.reloadTarget = function (target, data) {
var scoped = _this.context;
scoped.reload(target, data);
};
_this.setLoading = function (loading) {
var that = _this;
that.setState({
loading: loading ? loading : !that.state.loading
});
};
_this.handleCancel = function (e) {
_this.setState({
visible: !_this.state.visible
});
};
_this.handleUpload = function () {
var _a, _b;
((_a = _this._uploadRef) === null || _a === void 0 ? void 0 : _a.uploadClick) && ((_b = _this._uploadRef) === null || _b === void 0 ? void 0 : _b.uploadClick());
};
_this.onRef = function (ref) {
_this._uploadRef = ref;
};
_this.state = {
visible: false,
loading: false
};
var scoped = context;
scoped.registerComponent(_this);
return _this;
}
LionImportExcel.prototype.componentDidMount = function () {
// 初始化的时候才进行inde计算 不然每次渲染都会变得比原来高
this.index = (0, helper_1.getLagerThanMaxZindex)();
};
LionImportExcel.prototype.componentWillUnmount = function () {
var scoped = this.context;
scoped.unRegisterComponent(this);
};
LionImportExcel.prototype.render = function () {
var _this = this;
var _a, _b;
var _c = this.props, env = _c.env, label = _c.label, rules = _c.rules, size = _c.size, disabled = _c.disabled, data = _c.data, disabledOn = _c.disabledOn, level = _c.level, active = _c.active, activeLevel = _c.activeLevel, primary = _c.primary, name = _c.name, __ = _c.translate;
return (react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement(LionCopyItem_1.default, { showItems: [{ value: name !== null && name !== void 0 ? name : "", label: __('Alert.copyName'), icon: "fa fa-sticky-note-o" }], env: (_a = this.props) === null || _a === void 0 ? void 0 : _a.env },
react_1.default.createElement(Button_1.default, { size: size, level: activeLevel && active
? activeLevel
: level || (primary ? 'primary' : undefined), disabled: disabled || (0, tpl_1.evalExpression)(disabledOn, data), onClick: function (e) { _this.handleCancel(e); } }, label)),
react_1.default.createElement(style_1.WrapperModal, { title: label, closable: true, onCancel: this.handleCancel, wrapClassName: 'modal-export-body', visible: this.state.visible, getContainer: (_b = this.props.env) === null || _b === void 0 ? void 0 : _b.getModalContainer, footer: null, bodyStyle: {
flex: 1,
overflow: 'auto',
padding: '10px',
color: '#606266',
fontSize: '14px',
wordBreak: 'break-all'
}, destroyOnClose: true },
react_1.default.createElement("div", { style: { width: '100%', position: 'relative' }, className: "import-body" },
react_1.default.createElement("div", { className: "import-Upload" },
react_1.default.createElement("div", { style: {
display: 'inline-block'
} },
(0, index_1.render)({
type: 'submit',
className: 'import-reload-btn',
reload: this.props.reload
}),
react_1.default.createElement("button", { className: 'import-btn', onClick: function () { _this.handleUpload(); } }, "\u70B9\u51FB\u4E0A\u4F20"),
react_1.default.createElement("button", { className: "download-model", onClick: function () { _this._uploadRef.openDownloadDialog && _this._uploadRef.openDownloadDialog(_this.props.downLoadTempUrl); } }, "\u4E0B\u8F7D\u6A21\u677F")),
react_1.default.createElement(FileUpload_1.FileUpload, { reload: this.props.reload, data: data, reloadTarget: this.reloadTarget, url: this.props.upLoadFileUrl, env: this.props.env, loading: this.state.loading, setLoading: function (loading) { _this.setLoading(loading); }, onRef: this.onRef }),
react_1.default.createElement("div", { style: {
fontSize: '12px',
color: '#606266',
marginTop: '5px'
} },
react_1.default.createElement("span", null, "\u53EA\u80FD\u4E0A\u4F20xls/xlsx\u6587\u4EF6"))),
rules && (rules === null || rules === void 0 ? void 0 : rules.length) > 0 ? react_1.default.createElement("div", { className: "import-Tip" },
react_1.default.createElement("div", { className: 'import-cell' },
react_1.default.createElement("div", { style: {
color: 'rgba(0,0,0,.65)',
margin: 0
} },
react_1.default.createElement("div", { style: {
marginBottom: "10px"
} },
react_1.default.createElement("div", { className: "import-rules" }, "\u5BFC\u5165\u89C4\u5219"),
react_1.default.createElement("ol", null, rules.split(',').map(function (_rule, index) {
return react_1.default.createElement("li", { key: index }, _rule);
})))))) : null),
this.state.loading ? react_1.default.createElement(style_1.WrapperLoading, { className: "import-loading" },
react_1.default.createElement(spin_1.default, { indicator: react_1.default.createElement("span", { className: "fa fa-spin fa-circle-o-notch", style: { fontSize: 24 } }), size: "small", spinning: true, tip: '\u6587\u4EF6\u5BFC\u5165\u4E2D....' })) : null)));
};
LionImportExcel.contextType = Scoped_1.ScopedContext;
LionImportExcel.defaultProps = {
label: '导入',
rules: "重复导入同个物流商数据将覆盖原有数据, 同一个物流商名称或同一个供应商编码存在多条记录,以第一条记录为准"
};
return LionImportExcel;
}(react_1.default.Component));
exports.default = LionImportExcel;
var LionImportExcelRenderer = /** @class */ (function (_super) {
tslib_1.__extends(LionImportExcelRenderer, _super);
function LionImportExcelRenderer() {
return _super !== null && _super.apply(this, arguments) || this;
}
LionImportExcelRenderer = tslib_1.__decorate([
(0, factory_1.Renderer)({
type: 'lion-cell-import'
})
], LionImportExcelRenderer);
return LionImportExcelRenderer;
}(LionImportExcel));
exports.LionImportExcelRenderer = LionImportExcelRenderer;
//# sourceMappingURL=./renderers/Lion/Table/components/import/LionCellImport.js.map