UNPKG

ming-demo3

Version:
206 lines (172 loc) 6.6 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); 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 _basic = require("../basic"); var _env = _interopRequireDefault(require("../../helpers/env")); var Print = function (_Component) { (0, _inherits2["default"])(Print, _Component); function Print(props) { var _this; (0, _classCallCheck2["default"])(this, Print); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(Print).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onVisibleChange", function (visible) { _this.setState({ hide: !visible }); if (_this.props.onVisibleChange) _this.props.onVisibleChange(visible); }); _this.state = { hide: false }; var cParameter = props.cParameter; var config = {}; if (cParameter) { try { Object.assign(config, JSON.parse(cParameter)); } catch (e) {} } var viewModel = null, billType, mode; if (props.model && props.model.getParent) { viewModel = props.model.getParent(); billType = viewModel && viewModel.billType ? viewModel.billType : null; mode = viewModel && viewModel.mode ? viewModel.mode : null; } var valueField = 'templatecode', vouchPrintKey = props.cItemName, localPrintKey = 'btnLocalPrint'; _this.attachedMeta = [{ cControlType: 'Select', modelType: 'ListModel', cItemName: 'templates', valueField: valueField, textField: 'templatename', dataSourceMode: 'remote', bNotModify: false, needClear: false }]; if (config.vouchPrint !== false) { _this.attachedMeta.push({ cControlType: 'Button', value: '单据打印', icon: props.icon, cItemName: vouchPrintKey, onVisibleChange: _this.onVisibleChange }); } if (billType !== 'Report' && cb.rest.toolbarHotfix) { _this.attachedMeta.push({ cControlType: 'Button', modelType: 'SimpleModel', value: config.localPrintCaption || '小票打印', icon: props.icon, cItemName: localPrintKey, cAction: 'localPrint', needClear: false }); } if (process.env.NODE_ENV === 'development') { _this.attachedMeta.splice(0, 0, { cControlType: 'Button', modelType: 'SimpleModel', value: '保存业务对象', cItemName: 'btnSaveBo', cAction: 'saveBo', needClear: false }); } if (mode && mode !== _env["default"].VOUCHER_STATE_BROWSE) { if (props.onVisibleChange) props.onVisibleChange(false); } if (!viewModel) return (0, _possibleConstructorReturn2["default"])(_this); _this.attachedMeta.forEach(function (item) { var key = item.cItemName; if (!viewModel.get(key)) viewModel.addProperty(key, new cb.models[item.modelType](item)); if (item.cControlType === 'Button') { if (key === vouchPrintKey) return; viewModel.get(key).on('click', function () { if (key === localPrintKey) { viewModel.get(vouchPrintKey).execute('click', { cAction: item.cAction }); } else { viewModel.biz["do"](item.cAction, viewModel, { key: key }); } }); } else { viewModel.get(key).setDataSource({ url: 'print/getTemplateByBo', method: 'GET', options: { mask: false } }, { billno: props.model.getState('billNo') || viewModel && viewModel.getParams().billNo }); viewModel.get(key).on('afterSetDataSource', function (data) { var defaultValue = data.length === 1 ? data[0] : data.find(function (item) { return item.isdefault; }); if (!defaultValue) return; this.setValue(defaultValue[valueField]); }); } }); return _this; } (0, _createClass2["default"])(Print, [{ key: "render", value: function render() { var viewModel = null; if (this.props.model && this.props.model.getParent) { viewModel = this.props.model.getParent(); } var attachedControls = []; this.attachedMeta.forEach(function (control) { var controlType = control.cControlType && control.cControlType.trim().toLocaleLowerCase(); var key = control.cItemName; var model = viewModel ? viewModel.get(key) : null; if (controlType === 'button') attachedControls.push(_react["default"].createElement(_basic.Col, { key: key, span: 8 }, _react["default"].createElement(_basic.Button, (0, _extends2["default"])({ className: control.className ? control.className : "", value: control.value, model: model }, control)))); if (controlType === 'select') attachedControls.push(_react["default"].createElement(_basic.Col, { key: key, span: 8 }, _react["default"].createElement(_basic.Select, (0, _extends2["default"])({ model: model }, control)))); }); return _react["default"].createElement("div", { className: "meta-print-button", style: { "float": 'left', display: this.state.hide ? 'none' : '' } }, attachedControls); } }]); return Print; }(_react.Component); exports["default"] = Print; //# sourceMappingURL=Print.js.map