UNPKG

ming-demo3

Version:
265 lines (231 loc) 9.59 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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _baseui = require("@mdf/baseui"); var _index = require("./index"); var Avatar = function (_Component) { (0, _inherits2["default"])(Avatar, _Component); function Avatar(props) { var _this; (0, _classCallCheck2["default"])(this, Avatar); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(Avatar).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChange", function (info) { if (info.file.status === 'done') { if (info.file.response.code == 200) { var value = _this.DocumentServerAddress + info.file.response.data; if (_this.props.model) _this.props.model.setValue(value, true); cb.utils.alert("".concat(info.file.name, " \u4E0A\u4F20\u6210\u529F\uFF01"), 'success'); } else { cb.utils.alert("".concat(info.file.name, " \u4E0A\u4F20\u5931\u8D25\uFF01").concat(info.file.response.code, " : ").concat(info.file.response.message), 'error'); } } else if (info.file.status === 'error') { cb.utils.alert("".concat(info.file.name, " \u4E0A\u4F20\u5931\u8D25\uFF01").concat(info.file.response.code, " : ").concat(info.file.response.message), 'error'); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getUploadControl", function (control, className) { var action = '/upload?token=' + cb.rest.AppContext.token; var accept = _this.state.accept; var _accept = '.' + accept.split(',').join(',.'); return _react["default"].createElement(_baseui.Upload, { className: "avatar-uploader " + className, showUploadList: false, action: action, beforeUpload: _this.beforeUpload.bind((0, _assertThisInitialized2["default"])(_this)), onChange: _this.handleChange, accept: _accept }, control); }); var cStyle = props.cStyle; var config = null; if (cStyle) { try { config = JSON.parse(cStyle); } catch (e) { config = {}; } } _this.state = Object.assign({ displaymode: 'default', bIsNull: props.bIsNull, visible: !props.bHidden, caption: props.cShowCaption, err: '', msg: '', accept: 'jpg,png', imgSize: 2048, uploadtext: '上传图片' }, config); _this.DocumentServerAddress = 'https://oivs4lxfc.bkt.clouddn.com'; var proxy = cb.rest.DynamicProxy.create({ getFileServerUrl: { url: '/pub/fileupload/getFileServerUrl.do', method: 'GET' } }); proxy.getFileServerUrl(function (err, result) { if (result) _this.DocumentServerAddress = result; }); return _this; } (0, _createClass2["default"])(Avatar, [{ 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: "beforeUpload", value: function beforeUpload(file) { var _this$state = this.state, accept = _this$state.accept, imgSize = _this$state.imgSize; var _typeArr = file.name.split('.'); var _type = _typeArr[_typeArr.length - 1].toLowerCase(); var _acceptArr = accept.split(','); var _isType = _acceptArr.includes(_type); if (!_isType) cb.utils.alert('图片仅支持' + accept + '格式', 'error'); var isFileSize = file.size / 1024 < imgSize; if (!isFileSize) { cb.utils.alert('文件必须小于' + (imgSize < 1024 ? imgSize + 'K' : imgSize / 1024 + 'M'), 'error'); } return _isType && isFileSize; } }, { key: "validate", value: function validate(val) { this.setState({ err: 'has-' + val.type, msg: val.message }); } }, { key: "relatedControl", value: function relatedControl() { var control = this.baseControl(); var relatedControl = this.props.relatedControl; if (!relatedControl) return control; return _react["default"].createElement("div", { className: "has-related" }, _react["default"].createElement("div", { className: "viewCell" }, control), relatedControl); } }, { key: "handelDelete", value: function handelDelete() { if (this.props.model) this.props.model.setValue(null, true); } }, { key: "baseControl", value: function baseControl() { var cCaption = this.props.cCaption; var _this$state2 = this.state, readOnly = _this$state2.readOnly, value = _this$state2.value, tooltip = _this$state2.tooltip, displaymode = _this$state2.displaymode, afterPopoverKey = _this$state2.afterPopoverKey, after = _this$state2.after, bottom = _this$state2.bottom, accept = _this$state2.accept, uploadtext = _this$state2.uploadtext, disabled = _this$state2.disabled; tooltip = after !== undefined ? after : tooltip !== undefined ? tooltip : '仅支持' + accept.split(',').join('、').toUpperCase() + '格式'; var className = "basic-avatar-".concat(displaymode); if (readOnly || disabled) { return value ? _react["default"].createElement("div", { className: "basic-avatar-browse-img-container" }, _react["default"].createElement("img", { className: className, src: value, alt: "" })) : _react["default"].createElement("div", { className: "no-avatar-man ".concat(className) }); } var _baseControl = _react["default"].createElement(_index.Row, { className: "face-img ".concat(className) }, value ? _react["default"].createElement("p", { className: "basic-avatar-btn-item" }, _react["default"].createElement("img", { src: value }), this.getUploadControl(_react["default"].createElement(_baseui.Icon, { type: "uploadimg" }), 'basic-avator-changeimg'), _react["default"].createElement("strong", { onClick: this.handelDelete.bind(this), className: "basic-avator-deleteimg" }, _react["default"].createElement(_baseui.Icon, { type: "delete" }))) : _react["default"].createElement("p", { className: "basic-avatar-btn-item basic-avatar-bg" }, this.getUploadControl(_react["default"].createElement("strong", null, _react["default"].createElement(_baseui.Icon, { type: "uploadimg" }), uploadtext), 'basic-avator-uploadimg')), _react["default"].createElement("div", { className: "basic-avatar-right" }, tooltip)); if (!bottom) { return _baseControl; } else { return _react["default"].createElement("div", { className: "input-bottom" }, _react["default"].createElement("div", { className: "control-flex" }, _baseControl), _react["default"].createElement("div", { className: "input-bottom-text" }, bottom)); } } }, { key: "getControl", value: function getControl() { var caption = this.state.caption; var title = !this.state.readOnly && this.state.bIsNull === false && caption ? _react["default"].createElement("label", null, _react["default"].createElement(_baseui.Icon, { type: "star" }), caption) : _react["default"].createElement("label", null, caption); var control = caption ? _react["default"].createElement(_index.Label, { control: this.relatedControl(), title: title }) : this.relatedControl(); return control; } }, { key: "render", value: function render() { var control = this.getControl(); var _this$state3 = this.state, classname = _this$state3.classname, visible = _this$state3.visible, err = _this$state3.err, msg = _this$state3.msg; var style = visible ? {} : { display: "none" }; var _className = classname + ' basic-avatar has-feedback ' + err; return _react["default"].createElement("div", { style: style, className: _className }, control, _react["default"].createElement("div", { className: "ant-form-explain" }, msg)); } }]); return Avatar; }(_react.Component); exports["default"] = Avatar; //# sourceMappingURL=avatar.js.map