UNPKG

ming-demo3

Version:
160 lines (131 loc) 5.02 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 _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