UNPKG

qm-bus

Version:

千米公有云业务组件库

225 lines (198 loc) 8.12 kB
'use strict'; 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;