UNPKG

ming-demo3

Version:
245 lines (209 loc) 7.01 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 _baseui = require("@mdf/baseui"); var _basic = require("../basic"); var ProcessGroup = function (_Component) { (0, _inherits2["default"])(ProcessGroup, _Component); function ProcessGroup(props) { var _this; (0, _classCallCheck2["default"])(this, ProcessGroup); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(ProcessGroup).call(this, props)); _this.state = { value: [] }; return _this; } (0, _createClass2["default"])(ProcessGroup, [{ key: "getData", value: function getData() { var _this2 = this; var _this$props$viewModel = this.props.viewModel.getParams(), billNo = _this$props$viewModel.billNo, id = _this$props$viewModel.id; if (!id) return; var proxy = cb.rest.DynamicProxy.create({ getData: { url: '/process/' + billNo + '/' + id, method: 'GET', options: { uniform: false } } }); proxy.getData(function (err, data) { if (err) { cb.utils.alert(err.message, 'error'); return; } if (data && data.nodes && data.nodes.length) _this2.bindcontrol(data.nodes); }); } }, { key: "componentDidMount", value: function componentDidMount() { var _this3 = this; this.props.viewModel.on('afterLoadData', function (data) { _this3.getData(); }); } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps, prevState) { if (prevState.value === this.state.value) return; this.props.viewModel.execute('afterRenderComponent'); } }, { key: "bindcontrol", value: function bindcontrol(nodes) { nodes.map(function (node, index) { if (node.actionStyle == 'button') { var key = node.nodeKey; if (!viewmodel.get(key)) { node.needClear = false; var model = new cb.models.SimpleModel(node); viewmodel.addProperty(key, model); } } }); this.setState({ value: nodes }); } }, { key: "format", value: function format(option) { if (option.statusStyle == 'image') { var suffix = option.value && option.value !== '0' ? '_hover' : ''; var href = '#icon-' + option.status + suffix; return _react["default"].createElement("svg", { className: "icon", "aria-hidden": "true" }, _react["default"].createElement("use", { href: href })); } else { return option.status; } } }, { key: "getCircle", value: function getCircle(option, content) { var _this4 = this; return _react["default"].createElement("div", { className: "process-icon" }, this.format(option)); var circle = _react["default"].createElement(_baseui.Progress, { type: "circle", percent: option.value, format: function format() { return _this4.format(option); }, width: 60, status: "active" }); if (content) { return _react["default"].createElement(_baseui.Popover, { content: content, placement: "right", trigger: "hover" }, circle); } else { return circle; } } }, { key: "getText", value: function getText(option) { var text, self = this; if (option.actionStyle == 'button') { var _viewmodel = this.props.model; var key = option.nodeKey; var model = _viewmodel.get(key); var callback = function callback(params) { var action = _viewmodel.allActions.find(function (x) { return x.cCommand == option.command; }); if (action) { var args = cb.utils.extend(true, {}, action, { key: key }); _viewmodel.biz["do"](action.cAction, _viewmodel, args); } }; text = _react["default"].createElement("div", null, _react["default"].createElement(_basic.Button, { onClick: callback, type: "ghost", size: "small", model: model, className: "manageButton", value: option.actionText })); } else { var actionText = option.actionText ? new Date(option.actionText).format('yyyy-MM-dd hh:mm') : null; text = _react["default"].createElement("div", null, actionText); } return _react["default"].createElement("div", { className: "process-tipContent" }, _react["default"].createElement("div", { className: "title" }, option.title), text); } }, { key: "getIcon", value: function getIcon(index, length) { if (index + 1 < length) { return _react["default"].createElement(_baseui.Icon, { type: "right", className: "process-rightIcon" }); } } }, { key: "getContent", value: function getContent(option) { if (option.summary) { return _react["default"].createElement("div", null, option.summary); } } }, { key: "getControl", value: function getControl() { var _this5 = this; var options = this.state.value; return options.map(function (option, index) { var content = _this5.getContent(option); var circle = _this5.getCircle(option, content); var text = _this5.getText(option); var nextIcon = _this5.getIcon(index, options.length); return _react["default"].createElement("div", { key: option.id, className: "m-t-10" }, circle, text, nextIcon); }); } }, { key: "render", value: function render() { var control = this.getControl(); return _react["default"].createElement(_basic.Row, null, _react["default"].createElement(_basic.Col, { span: 'all', className: "processContent" }, control)); } }]); return ProcessGroup; }(_react.Component); exports["default"] = ProcessGroup; //# sourceMappingURL=ProcessGroup.js.map