qm-bus
Version:
千米公有云业务组件库
225 lines (198 loc) • 8.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _QMIcon2 = require('qm-ui/lib/QMIcon');
var _QMIcon3 = _interopRequireDefault(_QMIcon2);
var _QMFetch2 = require('qm-ux/lib/QMFetch');
var _QMFetch3 = _interopRequireDefault(_QMFetch2);
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 _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouterDom = require('react-router-dom');
var _data = require('./data');
require('./index.less');
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 MarketingToolbars = function (_React$Component) {
_inherits(MarketingToolbars, _React$Component);
function MarketingToolbars(props) {
_classCallCheck(this, MarketingToolbars);
var _this = _possibleConstructorReturn(this, (MarketingToolbars.__proto__ || Object.getPrototypeOf(MarketingToolbars)).call(this, props));
_this.getService = function () {
(0, _QMFetch3.default)({
host: 'v_app_api',
url: 'api/user/function/queryThirdPartyFunctions'
}).then(function (res) {
var data = res.data;
if (data) {
_this.setState({
express: data['FW_GOODS-10001139'],
commodity: data['FW_GOODS-10001136']
});
}
});
};
_this.getExpire = function (expireTime) {
if (expireTime && expireTime != null) {
var time = new Date(expireTime.replace(/-/g, '/'));
return time.getTime() > Date.now();
} else {
return false;
}
};
_this.state = {
smsTotal: 0,
express: {},
commodity: {}
};
return _this;
}
_createClass(MarketingToolbars, [{
key: 'componentDidMount',
value: function componentDidMount() {
var _this2 = this;
(0, _QMFetch3.default)({
host: 'v_app_api',
url: 'api/boss/order/alertInfo',
method: 'POST'
}).then(function (res) {
var data = res.data;
if (data) {
_this2.setState({
smsTotal: data.smsTotal
});
}
});
this.getService();
}
}, {
key: 'render',
value: function render() {
var _this3 = this;
var _state = this.state,
smsTotal = _state.smsTotal,
_state$express = _state.express,
express = _state$express === undefined ? {} : _state$express,
_state$commodity = _state.commodity,
commodity = _state$commodity === undefined ? {} : _state$commodity;
var reactContext = window.getReactContext ? window.getReactContext() || {} : {};
var sceneBname = reactContext.storeInfo ? reactContext.storeInfo.sceneBname : '';
var role = reactContext.role ? reactContext.role.bname : '';
var functions = reactContext.functions ? reactContext.functions : {};
var data = {},
show = false;
// 如果不是商场,分销,小店场景,直接返回
if (sceneBname == 'onlineMall' || sceneBname == 'onlineDistribution' || sceneBname == 'cloudShop') {
show = true;
}
switch (sceneBname) {
case 'onlineMall':
data = _data.mallData;
break;
case 'onlineDistribution':
data = _data.distributionData;
break;
case 'cloudShop':
if (role == 'boss') {
data = _data.cloudBossData;
} else if (role = 'mallOperation') {
data = _data.cloudOperationData;
}
break;
}
var dom = data.map(function (v) {
var url = v.buyUrl;
switch (v.title) {
case '短信推广':
if (smsTotal > 100) {
url = v.useUrl;
}
break;
case express.sysfunName:
if (express.status == 1 && _this3.getExpire(express.expiretime)) {
url = v.useUrl;
}
break;
case commodity.sysfunName:
if (commodity.status == 1 && _this3.getExpire(commodity.expiretime)) {
url = v.useUrl;
}
break;
case functions.e_waybill.sysfunName:
if (functions.e_waybill.status == 1 && _this3.getExpire(functions.e_waybill.expiretime)) {
url = v.useUrl;
}
break;
}
return _react2.default.createElement(
'div',
{ className: 'mt-item' },
url.indexOf('http') > -1 ? _react2.default.createElement(
'a',
{ href: url, 'data-gh-name': '\u8425\u9500\u5DE5\u5177\u6761-' + v.title },
_react2.default.createElement(
'div',
{ className: 'icon' },
_react2.default.createElement(_QMIcon3.default, { type: v.icon })
),
_react2.default.createElement(
'p',
{ className: 'title' },
v.title
)
) : _react2.default.createElement(
_reactRouterDom.Link,
{ to: url, 'data-gh-name': '\u8425\u9500\u5DE5\u5177\u6761-' + v.title },
_react2.default.createElement(
'div',
{ className: 'icon' },
_react2.default.createElement(_QMIcon3.default, { type: v.icon })
),
_react2.default.createElement(
'p',
{ className: 'title' },
v.title
)
)
);
});
return show ? _react2.default.createElement(
'div',
{ className: 'panel-tepl pusht marketing-toolbars' },
_react2.default.createElement(
'div',
{ className: 'boss-home-task-tips' },
_react2.default.createElement(
'div',
{ className: 'penal-tepl-title clearfix' },
_react2.default.createElement(
'h4',
{ className: 'title pull-left lh20' },
'\u8425\u9500\u5DE5\u5177'
),
_react2.default.createElement(
'div',
{ className: 'pull-right' },
_react2.default.createElement(
_reactRouterDom.Link,
{ to: '/system/app/center', 'data-gh-name': '\u8425\u9500\u5DE5\u5177\u6761-\u8FDB\u5165\u5E94\u7528\u4E2D\u5FC3' },
'\u67E5\u770B\u66F4\u591A>>'
)
)
),
_react2.default.createElement(
'div',
{ className: 'mt' },
dom
)
)
) : null;
}
}]);
return MarketingToolbars;
}(_react2.default.Component);
exports.default = MarketingToolbars;