UNPKG

ming-demo3

Version:
307 lines (267 loc) 10.4 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _reactDom = require("react-dom"); var _baseui = require("@mdf/baseui"); var _ReferToolbar = _interopRequireDefault(require("./ReferToolbar")); var _basic = require("../basic"); var _SearchTree = _interopRequireDefault(require("../meta/SearchTree")); var _ReferTable = _interopRequireDefault(require("./ReferTable")); var _ReferPagination = _interopRequireDefault(require("./ReferPagination")); var _env = _interopRequireDefault(require("../../helpers/env")); var ConvenientQuery = null; var ReferModal = function (_React$Component) { (0, _inherits2["default"])(ReferModal, _React$Component); function ReferModal(props) { var _this2; (0, _classCallCheck2["default"])(this, ReferModal); _this2 = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(ReferModal).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "afterClose", function () { _this2.hasClickOk = false; }); ConvenientQuery = require('../filter')["default"]; _this2.state = { className: _env["default"].INTERACTIVE_MODE === 'touch' ? ' refer-modal-touch' : '', title: (_this2.props.title || '') + '参照', visible: _this2.props.visible, referType: _this2.props.referType, bodyHeight: 0, tableHeight: 0, modalWidth: 0 }; _this2.__isElectronic = false; _this2._clientHeight = 0; return _this2; } (0, _createClass2["default"])(ReferModal, [{ key: "componentDidMount", value: function componentDidMount() { if (window.__isElectronic) { this.__isElectronic = true; } this.clientHeight = document.documentElement.clientHeight; } }, { key: "getModel", value: function getModel() { return this.props.model || this.model; } }, { key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { var _this3 = this; this.setState({ visible: nextProps.visible }); var model = nextProps.model; if (model) { var referType = nextProps.referType; var modalHeight = this.clientHeight - this.clientHeight * 0.16; if (modalHeight < 340) modalHeight = 340; var bodyHeight = modalHeight - 110; var tHeight; var modalWidth = modalHeight * (this.__isElectronic ? 1.4 : 1.6); if (modalWidth < 900) modalWidth = 900; switch (referType) { case 'Table': tHeight = bodyHeight - 44; break; case 'TreeTable': tHeight = bodyHeight - 56; break; } this.setState({ referType: referType, bodyHeight: bodyHeight, tableHeight: tHeight, modalWidth: modalWidth }); if (!this.props.model) { model.un('filterHeightUpdate'); model.on('filterHeightUpdate', function () { var toolbarHeight = (0, _reactDom.findDOMNode)(_this3.refs.ReferToolbar).clientHeight; var tableHeight = _this3.state.bodyHeight - toolbarHeight; _this3.props.model.get('table').execute('toolbarHeightUpdate', tableHeight); }); if (typeof this.props.afterOkClick === 'function') model.on('afterOkClick', this.props.afterOkClick); } } else { if (this.props.cRefType) { model = this.getModel(); if (!model) { var self = this; this.model = cb.loader.initRefer(this.props.cRefType, this.props.multiple || false, null, function (data) { self.setState({ referType: data.cTplType }); }, this.props.afterOkClick); } } } } }, { key: "handleCancel", value: function handleCancel() { this.setState({ visible: false }); if (this.props.close) this.props.close(); } }, { key: "handleOk", value: function handleOk() { if (this.hasClickOk) return; this.hasClickOk = true; this.handleCancel(); var model = this.getModel(); if (model) model.okClick(); } }, { key: "getFilterContainer", value: function getFilterContainer() { var container = document.getElementById('yxyweb-support-mount-model') || document.body; var _div = document.createElement("div"); container.appendChild(_div); return _div; } }, { key: "render", value: function render() { var _this4 = this; var _this = this; var _this$state = this.state, referType = _this$state.referType, bodyHeight = _this$state.bodyHeight, tableHeight = _this$state.tableHeight, modalWidth = _this$state.modalWidth, title = _this$state.title, visible = _this$state.visible; var model = this.getModel(); var key = model && model.getParams().refCode; var treeContent = ''; var cardContent = ''; var className = 'referModal ' + referType + this.state.className; className += ' modalkey_' + key; if (referType == 'Tree') { treeContent = _react["default"].createElement(_basic.Col, { span: 24, className: "leftPanel" }, _react["default"].createElement(_basic.Row, { colCount: 2 }, _react["default"].createElement(_basic.Col, { span: 1 }, _react["default"].createElement(_SearchTree["default"], { model: model.get('tree'), height: bodyHeight })))); } else if (referType == 'TreeTable') { treeContent = _react["default"].createElement("div", { className: "leftPanel" }, _react["default"].createElement(_SearchTree["default"], { text: "".concat(this.props.title, "\u5206\u7C7B"), parentType: "TreeTable", height: bodyHeight, model: model.get('tree') })); var filterId = model.getParams().filterId; cardContent = _react["default"].createElement("div", { className: "rightPanel" }, _react["default"].createElement(_basic.Row, { ref: "ReferToolbar" }, filterId ? _react["default"].createElement(ConvenientQuery, { model: model, cols: 2 }) : null, _react["default"].createElement(_ReferToolbar["default"], { model: model, filterId: filterId })), _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_ReferTable["default"], { model: model.get('table'), width: modalWidth - 201, maxRowCount: 20, height: tableHeight }))); } else if (referType == 'Table') { var _filterId = model.getParams().filterId; cardContent = _react["default"].createElement(_basic.Col, { span: 24, className: "rightPanel" }, _react["default"].createElement(_basic.Row, { ref: "ReferToolbar" }, _filterId ? _react["default"].createElement(ConvenientQuery, { model: model, cols: 2 }) : null, _react["default"].createElement(_ReferToolbar["default"], { model: model, filterId: _filterId })), _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_ReferTable["default"], { model: model.get('table'), width: modalWidth, maxRowCount: 20, height: tableHeight }))); } else if (referType === 'TreeList') { var _filterId2 = model.getParams().filterId; cardContent = _react["default"].createElement(_basic.Col, { span: 24, className: "rightPanel" }, _react["default"].createElement(_basic.Row, { ref: "ReferToolbar" }, _filterId2 ? _react["default"].createElement(ConvenientQuery, { model: model, cols: 2 }) : null, _react["default"].createElement(_ReferToolbar["default"], { model: model, filterId: _filterId2 })), _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_basic.TreeTable, { model: model.get('tree'), width: modalWidth, maxRowCount: 20, height: tableHeight, actionMeta: { controls: [] } }))); } var modalContent = null; modalContent = _react["default"].createElement(_baseui.Modal, { key: key, maskClosable: false, width: modalWidth, getContainer: function getContainer() { return _this.getFilterContainer(); }, title: title, visible: visible, onOk: function onOk(e) { return _this4.handleOk(); }, onCancel: function onCancel(e) { return _this4.handleCancel(); }, okText: "\u786E\u5B9A", cancelText: "\u53D6\u6D88", className: className, afterClose: this.afterClose }, _react["default"].createElement(_basic.Row, { colCount: 24, id: key }, treeContent, cardContent)); return modalContent; } }]); return ReferModal; }(_react["default"].Component); exports["default"] = ReferModal; //# sourceMappingURL=ReferModal.js.map