UNPKG

ming-demo3

Version:
174 lines (148 loc) 5.43 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _react = _interopRequireWildcard(require("react")); var _metaRunner = _interopRequireDefault(require("../meta-runner")); var _Toolbar = _interopRequireDefault(require("./Toolbar")); var PullSelect = function (_Component) { (0, _inherits2["default"])(PullSelect, _Component); function PullSelect(props) { var _this; (0, _classCallCheck2["default"])(this, PullSelect); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(PullSelect).call(this, props)); var container = props.meta.containers[0]; var toolbar = container && container.containers && container.containers[0] && container.containers[0].controls || []; toolbar.push({ cControlType: 'button', cItemName: 'btnCancel', cShowCaption: '取消', iStyle: 0 }); props.viewModel.addProperty('btnCancel', new cb.models.SimpleModel({ "cItemName": "btnCancel", "cShowCaption": "取消", "cControlType": "button", "iStyle": 0, "needClear": false })); _this.state = { toolbar: toolbar }; var billNo; try { billNo = JSON.parse(container.cStyle).billnumber; } catch (e) { console.error('pull select error: ' + e.message); } if (!billNo) return (0, _possibleConstructorReturn2["default"])(_this); var data = { billtype: 'voucherlist', billno: billNo }; var _props$viewModel$getP = props.viewModel.getParams(), query = _props$viewModel$getP.query; query.source = 'pull'; data.params = { query: query }; cb.loader.runCommandLine('bill', data, props.viewModel, function (vm, viewmeta) { _this.processListViewMeta(viewmeta.view); _this.setState({ viewModel: vm, metaData: viewmeta }); }); toolbar.forEach(function (item) { var cItemName = item.cItemName; var buttonModel = props.viewModel.get(cItemName); buttonModel.un('click'); buttonModel.on('click', function (params) { if (cItemName === 'btnCancel') { props.viewModel.communication({ type: 'return' }); return; } var actionParams = props.viewModel.allActions.find(function (action) { return action.cAction.trim().toLocaleLowerCase() === 'batchpush'; }); var args = Object.assign({}, actionParams, { key: cItemName, domain: false }, { params: params }); args.disabledCallback = function () { buttonModel.setDisabled(true); }; args.enabledCallback = function () { buttonModel.setDisabled(false); }; _this.state.viewModel.biz["do"](actionParams.cAction, _this.state.viewModel, args); }); }); return _this; } (0, _createClass2["default"])(PullSelect, [{ key: "processListViewMeta", value: function processListViewMeta(container) { delete container.templateType; this.recursiveContainer(container); } }, { key: "recursiveContainer", value: function recursiveContainer(container) { var _this2 = this; if (!container.containers) return; var toolbarIndex = container.containers.findIndex(function (item) { var ctrlType = item.cControlType && item.cControlType.trim().toLocaleLowerCase(); return ctrlType === 'toolbar'; }); if (toolbarIndex > -1) container.containers.splice(toolbarIndex, 1); container.containers.forEach(function (item) { _this2.recursiveContainer(item); }); } }, { key: "render", value: function render() { var _this$state = this.state, viewModel = _this$state.viewModel, metaData = _this$state.metaData, toolbar = _this$state.toolbar; if (!viewModel) return null; var _this$props = this.props, index = _this$props.index, width = _this$props.width; return _react["default"].createElement("div", { className: "pullSelect-Content", style: { paddingBottom: 60 } }, _react["default"].createElement(_metaRunner["default"], { index: index, width: width, viewModel: viewModel, metaData: metaData }), toolbar && _react["default"].createElement(_Toolbar["default"], { controls: toolbar, model: this.props.viewModel, config: JSON.stringify({ classname: "bottom-toolbar" }) })); } }]); return PullSelect; }(_react.Component); exports["default"] = PullSelect; //# sourceMappingURL=PullSelect.js.map