ming-demo3
Version:
mdf metaui web
353 lines (306 loc) • 12.3 kB
JavaScript
"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