ming-demo3
Version:
mdf metaui web
160 lines (131 loc) • 5.02 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _react = _interopRequireWildcard(require("react"));
var _SvgIcon = _interopRequireDefault(require("@mdf/metaui-web/lib/components/common/SvgIcon"));
var EcsuiteChat = function (_Component) {
(0, _inherits2["default"])(EcsuiteChat, _Component);
function EcsuiteChat(props) {
var _this;
(0, _classCallCheck2["default"])(this, EcsuiteChat);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(EcsuiteChat).call(this, props));
if (props.model) _this.viewModel = props.model.getParent();
var cStyle = props.cStyle;
if (cStyle) {
try {
_this.type = JSON.parse(cStyle).type;
} catch (e) {}
}
_this.preHide = undefined;
_this.tmpId = Math.random();
return _this;
}
(0, _createClass2["default"])(EcsuiteChat, [{
key: "setEcsuiteItems",
value: function setEcsuiteItems(viewModel, keyModel) {
if (!this.type) return;
var ecsuiteItems = viewModel.getCache('ecsuiteItems') || {};
if (!ecsuiteItems[this.type]) ecsuiteItems[this.type] = [];
if (ecsuiteItems[this.type].indexOf(keyModel) === -1) ecsuiteItems[this.type].push(keyModel);
viewModel.setCache('ecsuiteItems', ecsuiteItems);
}
}, {
key: "componentDidMount",
value: function componentDidMount() {
var _this2 = this;
if (this.viewModel) {
var keyMap = this.props.relatedModel && this.props.relatedModel.getState('bill2ReferKeyFieldMap') || {};
var key = '';
for (var attr in keyMap) {
if (key) break;
key = attr;
}
this.keyModel = this.viewModel.get(key);
if (this.keyModel) this.setEcsuiteItems(this.viewModel, this.keyModel);
this.viewModel.on('afterLoadData', function (data) {
_this2.setState({
flag: true
});
});
}
}
}, {
key: "setPreModelCache",
value: function setPreModelCache(fieldName, fieldValue) {
var cacheName = "relatedState";
var cControlType = this.props.cControlType;
var cFieldName = this.props.cFieldName;
if (this.props.relatedModel) {
var cache = this.props.relatedModel.getCache(cacheName) || [];
var obj = _.find(cache, function (o) {
return o.cFieldName == cFieldName;
});
if (!obj) {
obj = {};
obj.cFieldName = cFieldName;
obj.cControlType = cControlType;
obj[fieldName] = fieldValue;
obj.cShowCaption = this.props.cShowCaption;
cache.push(obj);
} else {
obj[fieldName] = fieldValue;
}
this.props.relatedModel.setCache(cacheName, cache);
this.props.relatedModel.setState();
}
}
}, {
key: "render",
value: function render() {
var _this3 = this;
var hide = !this.viewModel || this.viewModel.getParams().mode !== 'browse' || !this.keyModel || !this.keyModel.getValue();
if (hide == true) {
console.log("related控件不显示 EcsuiteChat Render this.keyModel.getValue() = " + (this.keyModel && this.keyModel.getValue()));
}
if (this.preHide !== hide) {
this.preHide = hide;
this.setPreModelCache("visible", !hide);
}
return _react["default"].createElement("div", {
onClick: function onClick() {
return _this3.chatInit();
},
className: "ecsuiteChat",
style: {
display: hide ? 'none' : ''
}
}, _react["default"].createElement(_SvgIcon["default"], {
type: "liaotian",
className: "icon-fabufangan icon-liaotian"
}));
}
}, {
key: "chatInit",
value: function chatInit() {
if (!this.keyModel || !this.keyModel.getValue()) {
cb.utils.alert('没有找着用户id,请确认', 'error');
return;
}
var viewModel = this.keyModel.getParent();
viewModel.biz["do"]('ecsuite', viewModel, {
cParameter: JSON.stringify({
action: 'chat'
}),
type: this.type,
model: this.keyModel
});
}
}]);
return EcsuiteChat;
}(_react.Component);
exports["default"] = EcsuiteChat;
//# sourceMappingURL=ecsuitechat.js.map