UNPKG

ming-demo3

Version:
353 lines (306 loc) 12.3 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 _redux = require("redux"); var _reactRedux = require("react-redux"); var _reactDom = require("react-dom"); var _baseui = require("@mdf/baseui"); var _basic = require("../basic"); var printactions = _interopRequireWildcard(require("../../redux/print")); var PrintBody = function (_Component) { (0, _inherits2["default"])(PrintBody, _Component); function PrintBody(props) { var _this; (0, _classCallCheck2["default"])(this, PrintBody); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(PrintBody).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "closeWindow", function () { if (_this.winObj.closed && _this.timer != null) { _this.actions.loadTemplate(); window.clearInterval(_this.timer); window.clearInterval(_this.winObj); _this.timer = null; } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setDefault", function (template, bo) { var params = { "templateCode": template.templatecode, "pkBo": bo.pk_bo }; _this.actions.setDefaultTemplate(params, template.pk_print_template); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getBillName", function (billno) { var templateData = _this.props.print.templateData; var name = ''; templateData.forEach(function (element) { if (element.bo_code == billno) { name = element.bo_name; } }); return name; }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (e, type, data, billno) { switch (type) { case 'modify': _this.actions.modifyTemplate(data.templatecode); break; case 'copy': _this.pk_print_template = data.pk_print_template; _this.billno = _this.getBillName(billno); _this.actions.setData({ showCopyModal: true }); break; case 'delete': if (data.isdefault == true) { cb.utils.alert('默认模板不允许删除!', 'error'); return; } cb.utils.confirm("\u786E\u5B9A\u8981\u5220\u9664".concat(data.templatename, "\uFF1F"), function () { _this.actions.deleteTemplate(data.pk_print_template); }); break; } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onOk", function (e) { var _this$props$print = _this.props.print, selectType = _this$props$print.selectType, templatecode = _this$props$print.templatecode, templatename = _this$props$print.templatename; var renderData = { templatecode: templatecode, templatename: templatename, pk_template: _this.pk_print_template }; if (!templatecode || templatecode == '' || templatename == '' || !templatename) { cb.utils.alert('模板编码/模板名称必输!', 'error'); return; } var bSbccase = false; bSbccase = _this.isSbccase(templatecode); if (!bSbccase) bSbccase = _this.isSbccase(templatename); if (bSbccase) { cb.utils.alert('模板编码/模板名称不支持全角!', 'error'); return; } if (escape(templatecode).indexOf("%u") >= 0) { cb.utils.alert('编码不允许存在中文!', 'error'); return; } _this.actions.copyTemplate(renderData); _this.actions.setData({ showCopyModal: false, templatecode: '', templatename: '' }); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "isSbccase", function (str) { var sbccase = str.match(/[\uff00-\uffff]/g); if (sbccase && sbccase.length > 0) return true;else return false; }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onCancel", function (e) { _this.actions.setData({ showCopyModal: false }); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (val, type) { if (type == 'code') { _this.actions.setData({ templatecode: val.target.value }); } else { _this.actions.setData({ templatename: val.target.value }); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getTemplates", function (bo) { var data = bo.templates, billno = bo.billno; var templates = []; data.forEach(function (ele) { var _this2 = this; var defaultControl = this.getDefault(ele, bo); var precutControl = ele.isPrecut ? _react["default"].createElement("div", { className: "print-card-btn-precut" }) : _react["default"].createElement("div", null); templates.push(_react["default"].createElement(_basic.Col, { span: 1 }, _react["default"].createElement("div", { className: "print-card" }, _react["default"].createElement("div", { className: "print-card-header" }, precutControl, defaultControl), _react["default"].createElement("div", { className: "print-card-title" }, ele.templatename), _react["default"].createElement("div", { className: "print-card-operation" }, _react["default"].createElement("a", { onClick: function onClick(e) { return _this2.onClick(e, 'modify', ele); } }, "\u8BBE\u8BA1"), "|", _react["default"].createElement("a", { onClick: function onClick(e) { return _this2.onClick(e, 'copy', ele, billno); } }, "\u590D\u5236"), "|", _react["default"].createElement("a", { onClick: function onClick(e) { return _this2.onClick(e, 'delete', ele); } }, "\u5220\u9664"))))); }, (0, _assertThisInitialized2["default"])(_this)); return _react["default"].createElement(_basic.Row, { colCount: 4 }, templates); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getControl", function (data) { if (!data) return ''; var controls = []; data.forEach(function (element) { var templates = this.getTemplates(element); controls.push(_react["default"].createElement("div", { className: 'uretail-print-list ' + element.bo_code }, _react["default"].createElement("h3", null, element.bo_name), templates)); }, (0, _assertThisInitialized2["default"])(_this)); return controls; }); _this.actions = props.printactions; return _this; } (0, _createClass2["default"])(PrintBody, [{ key: "componentDidMount", value: function componentDidMount() { this.actions.loadTemplate(); } }, { key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { var oldProps = this.props.print; var newProps = nextProps.print; if (newProps.openNewWindow && oldProps.openNewWindow != newProps.openNewWindow) { this.winObj = window.open(newProps.url); this.timer = window.setInterval(this.closeWindow, 500); this.actions.setData({ openNewWindow: false }); } if (oldProps.selectType != newProps.selectType) { var printBody = cb.dom((0, _reactDom.findDOMNode)(this.refs.printBody)); if (printBody && printBody[0]) { var offsetTop = 200; var selectDom = window.document.getElementsByClassName(newProps.selectType); if (selectDom && selectDom[0]) { offsetTop = selectDom[0].offsetTop - 150; } printBody[0].scrollTo(0, offsetTop); } } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { window.clearInterval(this.winObj); this.actions.setData({ selectType: '', templateData: [], url: null, showModal: false, showCopyModal: false, templatecode: '', templatename: '', openNewWindwo: false }); } }, { key: "getDefault", value: function getDefault(ele, bo) { var _this3 = this; if (ele.isdefault) { return _react["default"].createElement("div", { className: "print-card-btn-default" }, _react["default"].createElement(_baseui.Button, { size: "small" }, "\u9ED8\u8BA4\u6A21\u677F")); } else { return _react["default"].createElement("div", { className: "print-card-btn-setDefault" }, _react["default"].createElement(_baseui.Button, { size: "small", onClick: function onClick() { return _this3.setDefault(ele, bo); } }, "\u8BBE\u4E3A\u9ED8\u8BA4")); } } }, { key: "render", value: function render() { var _this4 = this; var _this$props$print2 = this.props.print, templateData = _this$props$print2.templateData, showCopyModal = _this$props$print2.showCopyModal, templatecode = _this$props$print2.templatecode, templatename = _this$props$print2.templatename; var control = this.getControl(templateData); var style = { "height": this.props.height }; return _react["default"].createElement("div", { ref: "printBody", className: "uretail-print-body", style: style }, control, _react["default"].createElement(_baseui.Modal, { title: "\u590D\u5236\u6A21\u677F", width: 846, visible: showCopyModal, onOk: this.onOk, onCancel: this.onCancel, okText: "\u786E\u8BA4", cancelText: "\u53D6\u6D88", maskClosable: false }, _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_basic.Label, { title: "*\u6A21\u677F\u7F16\u7801:", control: _react["default"].createElement(_baseui.Input, { value: templatecode, onChange: function onChange(val) { return _this4.onChange(val, 'code'); }, placeholder: "\u8BF7\u8F93\u5165\u6A21\u677F\u7F16\u7801" }) }), _react["default"].createElement(_basic.Label, { title: "*\u6A21\u677F\u540D\u79F0:", control: _react["default"].createElement(_baseui.Input, { value: templatename, onChange: function onChange(val) { return _this4.onChange(val, 'name'); }, placeholder: "\u8BF7\u8F93\u5165\u6A21\u677F\u540D\u79F0" }) })))); } }]); return PrintBody; }(_react.Component); function mapStateToProps(state) { return { print: state.print.toJS() }; } function mapDispatchToProps(dispatch) { return { printactions: (0, _redux.bindActionCreators)(printactions, dispatch) }; } var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(PrintBody); exports["default"] = _default; //# sourceMappingURL=PrintBody.js.map