UNPKG

ming-demo3

Version:
412 lines (352 loc) 12.5 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 _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); 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 _baseui = require("@mdf/baseui"); var _SvgIcon = _interopRequireDefault(require("@mdf/metaui-web/lib/components/common/SvgIcon")); var _util = require("@mdf/cube/lib/helpers/util"); var Templatebutton = function (_React$Component) { (0, _inherits2["default"])(Templatebutton, _React$Component); function Templatebutton(props) { var _this; (0, _classCallCheck2["default"])(this, Templatebutton); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(Templatebutton).call(this, props)); _this.viewModel = props.model.getParent(); var status = _this.viewModel.getParams().mode; var billNo = _this.viewModel.getParams().billNo; _this.state = { status: status, billNo: billNo, showtemp: false, visible: true, tempList: [], selectedId: null, type: 0, isShow: false }; return _this; } (0, _createClass2["default"])(Templatebutton, [{ key: "componentDidMount", value: function componentDidMount() { if (this.props.model) this.props.model.addListener(this); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { if (this.props.model) this.props.model.removeListener(this); } }, { key: "componentDidUpdate", value: function componentDidUpdate() { if (this.props.model) this.props.model.addListener(this); } }, { key: "setListenerState", value: function setListenerState(params) { this.setState(params); if (this.props.onVisibleChange) { var visible = params.visible; if (visible == null) visible = true; this.props.onVisibleChange(visible); } } }, { key: "setVisible", value: function setVisible(value, propertyName) { if (propertyName === this.props.cItemName) { this.setState({ visible: value }); if (this.props.onVisibleChange) this.props.onVisibleChange(value); } } }, { key: "getListdata", value: function () { var _getListdata = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() { var _this$state, billNo, type, parameter, config, json; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _this$state = this.state, billNo = _this$state.billNo, type = _this$state.type; if (this.viewModel.allActions && this.viewModel.allActions.length > 0) { this.viewModel.allActions.forEach(function (item) { if (item.cAction == "loaddatatemp") { var param = JSON.parse(item.cParameter); type = param.type; } }); } parameter = { "billno": billNo, "type": type }; config = { url: 'billtempdata/list?action=templist', method: 'POST', params: parameter }; _context.next = 6; return (0, _util.proxy)(config); case 6: json = _context.sent; if (json.code !== 200) { cb.utils.alert('获取数据模版列表失败' + json.message, 'error'); } ; json.data && this.setState({ tempList: json.data, type: type, isShow: !this.state.isShow }); case 10: case "end": return _context.stop(); } } }, _callee, this); })); function getListdata() { return _getListdata.apply(this, arguments); } return getListdata; }() }, { key: "getTemplateList", value: function getTemplateList() { var _this2 = this; var _this$state2 = this.state, tempList = _this$state2.tempList, selectedId = _this$state2.selectedId; var listContent = []; var listItem = null; var self = this; if (tempList && tempList.length > 0) { tempList.forEach(function (ele, index) { if (ele.id == selectedId) { listItem = _react["default"].createElement(_baseui.Row, { onClick: function onClick() { return self.enterTemp(ele.id); }, key: ele.id, className: "selectedtemp_item" }, ele.name); listContent.push(listItem); } else { listItem = _react["default"].createElement(_baseui.Row, { onClick: function onClick() { return self.enterTemp(ele.id); }, key: ele.id, className: "temp_item" }, ele.name); listContent.push(listItem); } }); } else { listContent.push(_react["default"].createElement(_baseui.Row, { className: "temp_item" }, "\u6682\u65E0\u6A21\u7248\u6570\u636E\uFF5E")); } return _react["default"].createElement("div", { className: "temp_content" }, _react["default"].createElement("div", { className: "temp_scroll" }, listContent), _react["default"].createElement("div", { onClick: function onClick() { return _this2.getTempManager(); }, className: "temp_manager" }, _react["default"].createElement(_SvgIcon["default"], { type: "plus" }), "\u6A21\u7248\u7BA1\u7406")); } }, { key: "copy", value: function () { var _copy = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(data, enterData) { var config, json, copydata, copyItem; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: config = { url: 'bill/copy', method: 'POST', params: { "billnum": data } }; _context2.next = 3; return (0, _util.proxy)(config); case 3: json = _context2.sent; if (!(json.code != 200)) { _context2.next = 6; break; } return _context2.abrupt("return"); case 6: copydata = json.data; copyItem = this.billCopy(enterData, copydata); this.viewModel.biz["do"]('render', this.viewModel, { data: copyItem, dirty: true }); case 9: case "end": return _context2.stop(); } } }, _callee2, this); })); function copy(_x, _x2) { return _copy.apply(this, arguments); } return copy; }() }, { key: "enterTemp", value: function () { var _enterTemp = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(id) { var config, json, enterData, data, copyParams; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: config = { url: 'billtempdata/detail?id=' + id, method: 'GET' }; _context3.next = 3; return (0, _util.proxy)(config); case 3: json = _context3.sent; if (!(json.code !== 200)) { _context3.next = 6; break; } return _context3.abrupt("return"); case 6: enterData = {}; if (json.data && json.data.templateSnapshots[0]) { data = json.data.templateSnapshots[0].context; enterData = JSON.parse(data); } this.viewModel.setCache('creatorId', { creatorId: json.data.creatorId, masterId: json.data.id, subListId: json.data.templateSnapshots[0].id, selfName: json.data.name }); copyParams = this.viewModel.getParams(); this.copy(copyParams.billNo, enterData); this.setState({ selectedId: id, isShow: !this.state.isShow }); case 12: case "end": return _context3.stop(); } } }, _callee3, this); })); function enterTemp(_x3) { return _enterTemp.apply(this, arguments); } return enterTemp; }() }, { key: "billCopy", value: function billCopy(source, target) { var _this3 = this; for (var key in target) { if (Array.isArray(target[key])) { var emptyRow = target[key][0]; if (Array.isArray(source[key])) { source[key].forEach(function (item) { if (!emptyRow) return; _this3.billCopy(item, emptyRow); }); } } else { source[key] = target[key]; } } return source; } }, { key: "getTempManager", value: function getTempManager() { this.setState({ showtemp: true, isShow: false }); } }, { key: "closeMange", value: function closeMange() { this.setState({ showtemp: !this.state.showtemp }); } }, { key: "handleHoverChange", value: function handleHoverChange() { this.getListdata(); } }, { key: "render", value: function render() { var _this4 = this; var _this$state3 = this.state, status = _this$state3.status, showtemp = _this$state3.showtemp, type = _this$state3.type; var content = this.getTemplateList(); var template = _react["default"].createElement(_baseui.Button, { className: "temp_header" }, _react["default"].createElement(_SvgIcon["default"], { type: "shujumoban" }), "\u6A21\u7248"); var showTemplate = showtemp ? _react["default"].createElement(TempManager, { model: this.viewModel, close: function close() { return _this4.closeMange(); }, type: this.state.type }) : null; var showPopover = _react["default"].createElement(_baseui.Popover, { placement: "bottomRight", content: content, trigger: "hover", onVisibleChange: function onVisibleChange() { return _this4.handleHoverChange(); }, visible: this.state.isShow }, template); if (!this.state.visible) { return null; } else { return _react["default"].createElement("div", null, showPopover, showTemplate); } } }]); return Templatebutton; }(_react["default"].Component); exports["default"] = Templatebutton; //# sourceMappingURL=Templatebutton.js.map