qm-bus
Version:
千米公有云业务组件库
258 lines (206 loc) • 8.76 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _button = require('antd/lib/button');
var _button2 = _interopRequireDefault(_button);
var _checkbox = require('antd/lib/checkbox');
var _checkbox2 = _interopRequireDefault(_checkbox);
var _QMConst2 = require('qm-ux/lib/QMConst');
var _QMConst3 = _interopRequireDefault(_QMConst2);
var _message2 = require('antd/lib/message');
var _message3 = _interopRequireDefault(_message2);
var _tabs = require('antd/lib/tabs');
var _tabs2 = _interopRequireDefault(_tabs);
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _class, _temp;
require('../index.less');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mediaUpload = require('./media-upload');
var _mediaUpload2 = _interopRequireDefault(_mediaUpload);
var _imageUpload = require('./image-upload');
var _imageUpload2 = _interopRequireDefault(_imageUpload);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var TabPane = _tabs2.default.TabPane;
/**
* 上传面板
*/
var UploadPanel = (_temp = _class = function (_React$Component) {
_inherits(UploadPanel, _React$Component);
function UploadPanel(props) {
_classCallCheck(this, UploadPanel);
var _this = _possibleConstructorReturn(this, (UploadPanel.__proto__ || Object.getPrototypeOf(UploadPanel)).call(this, props));
_this.onConfirmProt = function (e) {
localStorage.setItem('qm.common.gallery.protocol', e.target.checked);
_this.setState({ protCheck: e.target.checked });
};
_this.onCancel = function () {
return _this.props.close();
};
_this.onUpload = function () {
var _this$state = _this.state,
images = _this$state.images,
videos = _this$state.videos,
protCheck = _this$state.protCheck;
_this.setState({
files: images.concat(videos)
});
var files = images.concat(videos);
var arr = _this.state.netImages.concat(files.map(function (i) {
return i.response.data[0];
}));
if (arr.length <= 0) {
_message3.default.error('上传图片或者视频不得为空!');
return;
}
if (!protCheck) {
_message3.default.error('请仔细阅读《媒体素材上传服务协议》并同意!');
return;
}
_this.props.close([].concat(_this.state.netImages).concat(files.map(function (i) {
return i.response.data[0];
})));
};
_this.setVideo = function () {
var files = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
_this.setState({ videos: files });
};
_this.setImg = function () {
var files = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
_this.setState({ images: files });
};
_this.setNetImg = function () {
var files = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
_this.setState({ netImages: _this.state.netImages.concat(files) });
};
var check = !!(localStorage.getItem('qm.common.gallery.protocol') === 'true');
_this.state = {
type: '', // 当前上传类型
files: [], // 文件容器
netImages: [], // 远程图片容器
images: [], // 图片容器
videos: [], // 视频容器
protCheck: check // 是否同意上传协议
};
return _this;
}
// 确认协议
/**
* 取消
*/
/**
* 上传
*/
_createClass(UploadPanel, [{
key: 'render',
value: function render() {
var _ref = _QMConst3.default.get('project') || {},
Platform = _ref.Platform,
SystemId = _ref.SystemId;
var headers = {
Platform: Platform,
systemId: SystemId
};
var formLayout = {
labelCol: { span: 4 },
wrapperCol: { span: 18 }
};
var _props = this.props,
type = _props.type,
switchView = _props.switchView,
limit = _props.limit,
pic_rule = _props.pic_rule,
video_rule = _props.video_rule;
var protCheck = this.state.protCheck;
return _react2.default.createElement(
'div',
{ className: 'upload-picture-library modal-body-main' + (type == 'all' ? 'multiple' : '') },
_react2.default.createElement(
'div',
{ className: 'upload-picture-main upload' },
type == 'all' ? _react2.default.createElement(
_tabs2.default,
{ defaultActiveKey: '1' },
_react2.default.createElement(
TabPane,
{ tab: '\u4E0A\u4F20\u56FE\u7247', key: '1', className: 'pushtt' },
_react2.default.createElement(_imageUpload2.default, {
setImg: this.setImg,
setNetImg: this.setNetImg,
formLayout: formLayout,
headers: headers,
limit: limit,
rule: pic_rule
})
),
_react2.default.createElement(
TabPane,
{ tab: '\u4E0A\u4F20\u89C6\u9891', key: '2', className: 'pushtt' },
_react2.default.createElement(_mediaUpload2.default, {
setVideo: this.setVideo,
formLayout: formLayout,
headers: headers,
limit: limit,
rule: video_rule
})
)
) : type == 'video' ? _react2.default.createElement(_mediaUpload2.default, {
setVideo: this.setVideo,
formLayout: formLayout,
headers: headers,
limit: limit,
rule: video_rule
}) : _react2.default.createElement(_imageUpload2.default, {
setImg: this.setImg,
formLayout: formLayout,
headers: headers,
limit: limit,
rule: pic_rule
})
),
_react2.default.createElement(
'div',
{ className: 'modal-footer-main' },
_react2.default.createElement(
'div',
{ style: { display: '-webkit-inline-box' } },
_react2.default.createElement(_checkbox2.default, { defaultChecked: protCheck, onChange: this.onConfirmProt }),
_react2.default.createElement(
'span',
null,
'\u540C\u610F\u300A',
_react2.default.createElement(
'a',
{ href: 'javascript:void(0)', onClick: function onClick() {
return switchView('prot');
} },
'\u5A92\u4F53\u7D20\u6750\u4E0A\u4F20\u670D\u52A1\u534F\u8BAE'
),
'\u300B'
)
),
_react2.default.createElement(
_button2.default,
{ size: 'large', onClick: this.onCancel },
'\u53D6\u6D88'
),
_react2.default.createElement(
_button2.default,
{ size: 'large', type: 'primary', onClick: this.onUpload },
'\u786E\u5B9A'
)
)
);
}
}]);
return UploadPanel;
}(_react2.default.Component), _class.defaultProps = {
type: 'pic',
close: function close() {},
switchView: function switchView() {}
}, _temp);
exports.default = UploadPanel;