UNPKG

23.7 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = undefined;
7
8var _row = require('jdcloudui/lib/row');
9
10var _row2 = _interopRequireDefault(_row);
11
12var _col = require('jdcloudui/lib/col');
13
14var _col2 = _interopRequireDefault(_col);
15
16var _icon = require('jdcloudui/lib/icon');
17
18var _icon2 = _interopRequireDefault(_icon);
19
20var _modal = require('jdcloudui/lib/modal');
21
22var _modal2 = _interopRequireDefault(_modal);
23
24var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
25
26var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
27
28var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
29
30var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
31
32var _createClass2 = require('babel-runtime/helpers/createClass');
33
34var _createClass3 = _interopRequireDefault(_createClass2);
35
36var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
37
38var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
39
40var _inherits2 = require('babel-runtime/helpers/inherits');
41
42var _inherits3 = _interopRequireDefault(_inherits2);
43
44var _dec, _class; /**************************
45 * @author: FengYan
46 * @update: 20170523
47 * @description:供应商顶部工具栏
48 *************************/
49/************ 基础组件 *************/
50
51
52require('jdcloudui/lib/row/style');
53
54require('jdcloudui/lib/col/style');
55
56require('jdcloudui/lib/icon/style');
57
58require('jdcloudui/lib/modal/style');
59
60var _react = require('react');
61
62var _react2 = _interopRequireDefault(_react);
63
64var _redux = require('redux');
65
66var _reactRedux = require('react-redux');
67
68var _citys_redux = require('./redux/citys_redux');
69
70var _citys_redux2 = _interopRequireDefault(_citys_redux);
71
72var _isLogin_redux = require('./redux/isLogin_redux');
73
74var _isLogin_redux2 = _interopRequireDefault(_isLogin_redux);
75
76var _getUrl_redux = require('./redux/getUrl_redux');
77
78var _getUrl_redux2 = _interopRequireDefault(_getUrl_redux);
79
80var _getCode_redux = require('./redux/getCode_redux');
81
82var _getCode_redux2 = _interopRequireDefault(_getCode_redux);
83
84var _getTel_redux = require('./redux/getTel_redux');
85
86var _getTel_redux2 = _interopRequireDefault(_getTel_redux);
87
88var _onLogout = require('../../sso/onLogout');
89
90var _onLogout2 = _interopRequireDefault(_onLogout);
91
92var _ApiClient = require('../../apiClient/ApiClient');
93
94var _ApiClient2 = _interopRequireDefault(_ApiClient);
95
96var _styles = require('./styles/styles.css');
97
98var _styles2 = _interopRequireDefault(_styles);
99
100var _CompanySelect = require('./CompanySelect/CompanySelect');
101
102var _CompanySelect2 = _interopRequireDefault(_CompanySelect);
103
104var _ShopSelect = require('./ShopSelect/ShopSelect');
105
106var _ShopSelect2 = _interopRequireDefault(_ShopSelect);
107
108var _AccountManagement = require('./AccountManagement/AccountManagement');
109
110var _AccountManagement2 = _interopRequireDefault(_AccountManagement);
111
112var _Cookies = require('../../common/Cookies');
113
114var _Cookies2 = _interopRequireDefault(_Cookies);
115
116var _CompanyLayer = require('./CompanyLayer/CompanyLayer');
117
118var _CompanyLayer2 = _interopRequireDefault(_CompanyLayer);
119
120var _AccountMa = require('./AccountMa/AccountMa');
121
122var _AccountMa2 = _interopRequireDefault(_AccountMa);
123
124function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
125
126var client = new _ApiClient2.default();
127/************ 自定义组件 *************/
128
129var company = new _CompanyLayer2.default();
130var TopTools = (_dec = (0, _reactRedux.connect)(function (state) {
131 return _citys_redux2.default, _isLogin_redux2.default, _getUrl_redux2.default, _getCode_redux2.default, _getTel_redux2.default;
132}, function (dispatch) {
133 return (0, _redux.bindActionCreators)({ getCitysAction: _citys_redux.getCitysAction, getLoginAction: _isLogin_redux.getLoginAction, getUrlAction: _getUrl_redux.getUrlAction, getCodeAction: _getCode_redux.getCodeAction, getTelAction: _getTel_redux.getTelAction }, dispatch);
134}), _dec(_class = function (_Component) {
135 (0, _inherits3.default)(TopTools, _Component);
136
137 function TopTools(props) {
138 (0, _classCallCheck3.default)(this, TopTools);
139
140 var _this = (0, _possibleConstructorReturn3.default)(this, (TopTools.__proto__ || (0, _getPrototypeOf2.default)(TopTools)).call(this, props));
141
142 _this.state = {
143 citys: [],
144 citysVisible: false,
145 cityName: '未选择',
146 cityId: '',
147 username: '',
148 shopDomain: '',
149 buyerDomain: '',
150 paltformDomain: '',
151 domain: '',
152 contactInfo: '',
153 weixinCodeUrl: '',
154 appDownCodeUrl: '',
155 shopNum: 0
156 };
157 return _this;
158 }
159
160 (0, _createClass3.default)(TopTools, [{
161 key: 'setCookie',
162 value: function setCookie(_ref) {
163 var areaId = _ref.areaId,
164 areaName = _ref.areaName;
165
166 // 存储,IE6~7 cookie 其他浏览器HTML5本地存储
167 var cityName = encodeURIComponent(areaName);
168 document.cookie = 'areaName=' + cityName + '; path=/; domain=' + this.state.domain;
169 document.cookie = 'areaId=' + areaId + '; path=/; domain=' + this.state.domain;
170 // if (localStorage) {
171 // localStorage.areaId = areaId;
172 // localStorage.areaName = areaName;
173 this.defaultCookie();
174 // this.setState({
175 // cityName: areaName,
176 // cityId: areaId
177 // });
178 // } else {
179 // document.cookie = `areaId=${areaId};areaName=${areaName}`;
180 // }
181 if (this.state.citysVisible) {
182 this.setState({
183 citysVisible: false
184 });
185 }
186 document.getElementById('citys').style.display = 'none';
187 }
188 }, {
189 key: 'renderCity',
190 value: function renderCity(citys) {
191 var _this2 = this;
192
193 // 一级地市列表渲染
194 var cityArr = [];
195 citys.map(function (_city) {
196 cityArr.push(_react2.default.createElement(
197 'li',
198 { key: _city.code + Math.random() * 100000 },
199 _react2.default.createElement(
200 'a',
201 { href: 'javascript:void(0)',
202 onClick: function onClick() {
203 return _this2.setCookie({ areaId: _city.code, areaName: _city.name });
204 },
205 className: _this2.state.cityName === _city.name ? 'active' : '',
206 key: _city.code },
207 _city.name
208 )
209 ));
210 });
211 return cityArr;
212 }
213 }, {
214 key: 'componentDidMount',
215 value: function componentDidMount() {
216 var _this3 = this;
217
218 // 获取一级地市数据,存入citys
219 this.props.getCitysAction().then(function (rs) {
220 if (rs.code != 0) return;
221 var cityList = [];
222 rs.data.map(function (_item) {
223 cityList.push({
224 name: _item.name,
225 code: _item.code
226 });
227 });
228 _this3.setState({
229 citys: cityList
230 });
231 _this3.defaultCookie();
232 });
233 // 获取用户登录信息
234 this.props.getLoginAction().then(function (rs) {
235 if (rs.code == 0) {
236 _this3.setState({
237 username: rs.data.username
238 });
239 }
240 });
241 // 获取url
242 this.props.getUrlAction().then(function (rs) {
243 if (rs.code == 0) {
244 rs.data.map(function (_item) {
245 if (_item.domainType == 3) _this3.setState({ shopDomain: _item.domain });
246 if (_item.domainType == 2) _this3.setState({ buyerDomain: _item.domain });
247 if (_item.domainType == 5) _this3.setState({ paltformDomain: _item.domain });
248 if (_item.domainType == 1) _this3.setState({ domain: _item.domain });
249 });
250 }
251 });
252 document.getElementById('chooseLocal').onmouseenter = function () {
253 document.getElementById('citys').style.display = 'inline-block';
254 };
255 document.getElementById('chooseLocal').onmouseleave = function () {
256 document.getElementById('citys').style.display = 'none';
257 };
258 // 获取二维码
259 this.props.getCodeAction().then(function (rs) {
260 if (rs.code == 0) {
261 _this3.setState({
262 weixinCodeUrl: rs.data.weixinCodeUrl,
263 appDownCodeUrl: rs.data.appDownCodeUrl
264 });
265 }
266 });
267 // 获取 400电话
268 this.props.getTelAction().then(function (rs) {
269 if (rs.code == 0) {
270 if (rs.data[0] && rs.data[0].contactInfo) {
271 _this3.setState({
272 contactInfo: rs.data[0].contactInfo
273 });
274 } else {
275 _this3.setState({
276 contactInfo: ''
277 });
278 }
279 }
280 });
281 // 获取购物车数量
282 client.get('cart/mall/cart/queryCartItemNum').then(function (rs) {
283 if (rs.code == 0) {
284 _this3.setState({
285 shopNum: rs.data
286 });
287 }
288 });
289
290 // 获取companyId
291 var ck = new _Cookies2.default();
292 this.companyId = ck.get('companyId');
293 }
294 }, {
295 key: 'defaultCookie',
296 value: function defaultCookie() {
297 var _this4 = this;
298
299 var cookie = document.cookie;
300 var cookieArr = cookie.split(';');
301 if (cookie.indexOf('areaId') < 0) {
302 this.setState({
303 citysVisible: true
304 });
305 } else {
306 cookieArr.map(function (_item) {
307 if (_item.indexOf('areaName') >= 0) {
308 _this4.setState({
309 cityName: decodeURIComponent(_item.substr(_item.indexOf('=') + 1, _item.length))
310 });
311 } else {
312 _this4.setState({
313 cityId: _item.substr(_item.indexOf('=') + 1, _item.length)
314 });
315 }
316 });
317 }
318 // }
319 }
320 }, {
321 key: 'logout',
322 value: function logout() {
323 var logouts = {
324 "passport": ["/service-passport-view/logout", false],
325 "shop": ["/shop-view/logout", false],
326 "buyer": ["/buyer-view/logout", false],
327 "main": ["/website-view/logout", false]
328 };
329 (0, _onLogout2.default)(logouts, "login");
330 }
331 }, {
332 key: 'isInfo',
333 value: function isInfo() {
334 if (window) {
335 var href = window.location.href;
336 if (href.indexOf('sellerinfo/') >= 0 || href.indexOf('accountmanage/') >= 0) {
337 return true;
338 }
339 return false;
340 }
341 }
342 }, {
343 key: 'isBuyer',
344 value: function isBuyer() {
345 if (window) {
346 var href = window.location.href;
347 if (href.indexOf('buyer.') >= 0) {
348 return true;
349 }
350 return false;
351 }
352 }
353 }, {
354 key: 'render',
355 value: function render() {
356 var _this5 = this;
357
358 company.isCompanyId();
359 return _react2.default.createElement(
360 _row2.default,
361 { className: 'topTools' },
362 _react2.default.createElement(
363 _modal2.default,
364 {
365 visible: this.state.citysVisible,
366 title: '\u8BF7\u9009\u62E9\u4F60\u7684\u6536\u8D27\u5730\u533A',
367 footer: null,
368 closable: false
369 },
370 _react2.default.createElement(
371 'div',
372 { className: 'unChooseLocal' },
373 _react2.default.createElement(
374 'ul',
375 null,
376 this.renderCity(this.state.citys)
377 )
378 )
379 ),
380 _react2.default.createElement(
381 _row2.default,
382 { className: 'topToolsWidth' },
383 _react2.default.createElement(
384 _col2.default,
385 { span: 2 },
386 _react2.default.createElement(
387 'a',
388 { href: 'http://' + this.state.domain, className: 'company-a' },
389 _react2.default.createElement(_icon2.default, {
390 type: 'new-home',
391 className: 'marginRight5 iconSize'
392 }),
393 '\u5546\u57CE\u9996\u9875'
394 )
395 ),
396 _react2.default.createElement(
397 _col2.default,
398 { span: 22 },
399 _react2.default.createElement(
400 'div',
401 { className: 'toolsMenu' },
402 _react2.default.createElement(
403 'ul',
404 null,
405 this.state.username ? _react2.default.createElement(
406 'li',
407 null,
408 _react2.default.createElement(
409 'span',
410 null,
411 'HI~',
412 _react2.default.createElement(
413 'a',
414 {
415 href: 'http://' + this.state.buyerDomain + '/buyer-view/homepage',
416 className: 'company-a'
417 },
418 this.state.username
419 ),
420 _react2.default.createElement(_AccountManagement2.default, { shopDomain: this.state.shopDomain, buyerDomain: this.state.buyerDomain }),
421 !this.isInfo() && (this.isBuyer() ? _react2.default.createElement(_CompanySelect2.default, {
422 doma: this.state.domain,
423 buyerDomain: this.state.buyerDomain,
424 shopDomain: this.state.shopDomain
425 }) : _react2.default.createElement(_ShopSelect2.default, {
426 doma: this.state.domain,
427 shopDomain: this.state.shopDomain
428 })),
429 this.isInfo() && _react2.default.createElement(_AccountMa2.default, {
430 doma: this.state.domain,
431 buyerDomain: this.state.buyerDomain,
432 shopDomain: this.state.shopDomain
433 }),
434 _react2.default.createElement(
435 'a',
436 { href: 'javascript:void(0)', onClick: function onClick() {
437 return _this5.logout();
438 },
439 className: _styles2.default.textColor777 },
440 '\u3010\u9000\u51FA\u3011'
441 )
442 )
443 ) : _react2.default.createElement('li', null),
444 _react2.default.createElement(
445 'li',
446 null,
447 _react2.default.createElement(
448 'a',
449 { href: 'http://' + this.state.domain + '/website-view/cart', className: 'company-a' },
450 _react2.default.createElement(_icon2.default, { type: 'new-cart', className: 'iconSize' }),
451 _react2.default.createElement(
452 'span',
453 { className: this.state.shopNum < 1 ? 'f-dn' : 'icon-num' },
454 this.state.shopNum > '99' ? '99+' : this.state.shopNum
455 )
456 )
457 ),
458 _react2.default.createElement(
459 'li',
460 null,
461 _react2.default.createElement(
462 'a',
463 { href: 'http://' + this.state.buyerDomain + '/order-buyer-view/purchaserback/ordermanagement',
464 className: 'company-a' },
465 '\u6211\u7684\u8BA2\u5355'
466 )
467 ),
468 _react2.default.createElement(
469 'li',
470 null,
471 _react2.default.createElement(
472 'a',
473 { href: 'http://' + this.state.buyerDomain + '/buyer-view/homepage', className: 'company-a' },
474 '\u91C7\u8D2D\u5546\u4E2D\u5FC3'
475 )
476 ),
477 _react2.default.createElement(
478 'li',
479 null,
480 _react2.default.createElement(
481 'div',
482 { className: 'downMenu shop' },
483 _react2.default.createElement(
484 'a',
485 null,
486 '\u5408\u4F5C\u62DB\u5546',
487 _react2.default.createElement(_icon2.default, { type: 'down ml5', className: 'trans180' })
488 ),
489 _react2.default.createElement(
490 'ul',
491 null,
492 _react2.default.createElement(
493 'dl',
494 null,
495 _react2.default.createElement(
496 'dt',
497 null,
498 _react2.default.createElement(
499 'strong',
500 null,
501 '\u5546\u5BB6'
502 )
503 ),
504 _react2.default.createElement(
505 'dd',
506 null,
507 _react2.default.createElement(
508 'a',
509 {
510 href: 'http://' + this.state.buyerDomain + '/user-buyer-view/store-manage',
511 target: '_blank' },
512 '\u5546\u5BB6\u4E2D\u5FC3'
513 )
514 ),
515 _react2.default.createElement(
516 'dd',
517 null,
518 _react2.default.createElement(
519 'a',
520 { href: 'http://' + this.state.shopDomain + '/user-shop-view/sellerinfo/defaultshophome',
521 target: '_blank' },
522 '\u5546\u5BB6\u5165\u9A7B'
523 )
524 )
525 ),
526 _react2.default.createElement(
527 'dl',
528 null,
529 _react2.default.createElement(
530 'dt',
531 null,
532 _react2.default.createElement(
533 'strong',
534 null,
535 '\u81EA\u8425\u4F9B\u5E94\u5546'
536 )
537 ),
538 _react2.default.createElement(
539 'dd',
540 null,
541 _react2.default.createElement(
542 'a',
543 {
544 href: 'http://' + this.state.buyerDomain + '/user-buyer-view/store-manage',
545 target: '_blank' },
546 '\u4F9B\u5E94\u5546\u4E2D\u5FC3'
547 )
548 ),
549 _react2.default.createElement(
550 'dd',
551 null,
552 _react2.default.createElement(
553 'a',
554 { href: 'http://' + this.state.shopDomain + '/user-shop-view/sellerinfo/defaultsupplyhome',
555 target: '_blank' },
556 '\u4F9B\u5E94\u5546\u5165\u9A7B'
557 )
558 )
559 )
560 )
561 )
562 ),
563 _react2.default.createElement(
564 'li',
565 null,
566 _react2.default.createElement(
567 'div',
568 { className: 'downMenu app' },
569 _react2.default.createElement(
570 'a',
571 null,
572 _react2.default.createElement(_icon2.default, { type: 'new-phone iconSize' })
573 ),
574 _react2.default.createElement(
575 'ul',
576 null,
577 _react2.default.createElement(
578 'li',
579 null,
580 _react2.default.createElement('img', { src: this.state.weixinCodeUrl, alt: '\u5FAE\u4FE1\u5546\u57CE' }),
581 _react2.default.createElement(
582 'p',
583 null,
584 '\u5FAE\u4FE1\u626B\u4E00\u626B'
585 ),
586 _react2.default.createElement(
587 'p',
588 null,
589 '\u5173\u6CE8\u5546\u57CE'
590 ),
591 _react2.default.createElement(
592 'p',
593 null,
594 '\u5FAE\u4FE1\u5546\u57CE'
595 )
596 ),
597 _react2.default.createElement(
598 'li',
599 null,
600 _react2.default.createElement('img', { src: this.state.appDownCodeUrl, alt: '\u7ACB\u5373\u4E0B\u8F7DAPP' }),
601 _react2.default.createElement(
602 'p',
603 null,
604 '\u626B\u63CF\u4E8C\u7EF4\u7801'
605 ),
606 _react2.default.createElement(
607 'p',
608 null,
609 '\u7ACB\u5373\u4E0B\u8F7DAPP'
610 )
611 )
612 )
613 )
614 ),
615 _react2.default.createElement(
616 'li',
617 null,
618 _react2.default.createElement(
619 'a',
620 { href: 'http://' + this.state.shopDomain + '/shop-view/message/message-center',
621 className: 'company-a' },
622 '\u6D88\u606F'
623 )
624 ),
625 _react2.default.createElement(
626 'li',
627 null,
628 _react2.default.createElement(
629 'div',
630 { className: 'downMenu chooseLocal', id: 'chooseLocal' },
631 _react2.default.createElement(
632 'a',
633 { href: 'javascript:void(0)' },
634 _react2.default.createElement(_icon2.default, {
635 type: 'new-gps',
636 className: 'textColorRed marginRight5 iconSize'
637 }),
638 this.state.cityName
639 ),
640 _react2.default.createElement(
641 'ul',
642 { id: 'citys' },
643 this.renderCity(this.state.citys)
644 )
645 )
646 ),
647 _react2.default.createElement(
648 'li',
649 null,
650 _react2.default.createElement(
651 'a',
652 { href: 'javascript:void(0)' },
653 _react2.default.createElement(_icon2.default, {
654 type: 'new-phone2',
655 className: 'textColorRed marginRight5 iconSize'
656 }),
657 _react2.default.createElement(
658 'strong',
659 { className: 'hotLine' },
660 this.state.contactInfo
661 )
662 )
663 )
664 )
665 )
666 )
667 )
668 );
669 }
670 }]);
671 return TopTools;
672}(_react.Component)) || _class);
673exports.default = TopTools;
674module.exports = exports['default'];
675//# sourceMappingURL=TopTools--备份.js.map
\No newline at end of file