ming-demo3
Version:
mdf metaui web
245 lines (209 loc) • 7.01 kB
JavaScript
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
;