1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = undefined;
|
7 |
|
8 | var _localeProvider = require('jdcloudui/lib/locale-provider');
|
9 |
|
10 | var _localeProvider2 = _interopRequireDefault(_localeProvider);
|
11 |
|
12 | var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
13 |
|
14 | var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
15 |
|
16 | var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
17 |
|
18 | var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
19 |
|
20 | var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
21 |
|
22 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
23 |
|
24 | var _createClass2 = require('babel-runtime/helpers/createClass');
|
25 |
|
26 | var _createClass3 = _interopRequireDefault(_createClass2);
|
27 |
|
28 | var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
29 |
|
30 | var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
31 |
|
32 | var _inherits2 = require('babel-runtime/helpers/inherits');
|
33 |
|
34 | var _inherits3 = _interopRequireDefault(_inherits2);
|
35 |
|
36 | var _class, _temp;
|
37 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 | require('jdcloudui/lib/locale-provider/style');
|
43 |
|
44 | var _react = require('react');
|
45 |
|
46 | var _react2 = _interopRequireDefault(_react);
|
47 |
|
48 | var _propTypes = require('prop-types');
|
49 |
|
50 | var _propTypes2 = _interopRequireDefault(_propTypes);
|
51 |
|
52 | var _reactRouter = require('react-router');
|
53 |
|
54 | var _Header = require('./Header/Header');
|
55 |
|
56 | var _Header2 = _interopRequireDefault(_Header);
|
57 |
|
58 | var _Sider = require('./Sider/Sider');
|
59 |
|
60 | var _Sider2 = _interopRequireDefault(_Sider);
|
61 |
|
62 | require('./style/buyer.css');
|
63 |
|
64 | var _TopTools = require('../TopTools/TopTools');
|
65 |
|
66 | var _TopTools2 = _interopRequireDefault(_TopTools);
|
67 |
|
68 | var _ApiClient = require('../../apiClient/ApiClient');
|
69 |
|
70 | var _ApiClient2 = _interopRequireDefault(_ApiClient);
|
71 |
|
72 | var _reactHelmet = require('react-helmet');
|
73 |
|
74 | var _reactHelmet2 = _interopRequireDefault(_reactHelmet);
|
75 |
|
76 | var _zh_CN = require('jdcloudui/lib/locale-provider/zh_CN');
|
77 |
|
78 | var _zh_CN2 = _interopRequireDefault(_zh_CN);
|
79 |
|
80 | var _moment = require('moment');
|
81 |
|
82 | var _moment2 = _interopRequireDefault(_moment);
|
83 |
|
84 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
85 |
|
86 | _moment2.default.locale('zh-cn');
|
87 |
|
88 | var ms = [{
|
89 | id: 1,
|
90 | name: "首页",
|
91 | href: "http://buyer.hnc.jcloudec.com/buyer-view/homepage",
|
92 | target: "_self"
|
93 | }, {
|
94 | id: 2,
|
95 | name: "账号管理",
|
96 | children: [{
|
97 | id: 21,
|
98 | name: "账号管理",
|
99 | icon: "cgs",
|
100 | children: [{
|
101 | id: 211,
|
102 | name: "账号信息",
|
103 | href: "http://buyer.hnc.jcloudec.com/user-buyer-view/accountmanage/accountInfo",
|
104 | target: "_self"
|
105 | }, {
|
106 | id: 212,
|
107 | name: "账号安全",
|
108 | href: "http://buyer.hnc.jcloudec.com/user-buyer-view/accountmanage/accountSecurity",
|
109 | target: "_self"
|
110 | }, {
|
111 | id: 213,
|
112 | name: "账号绑定",
|
113 | href: "http://buyer.hnc.jcloudec.com/user-buyer-view/accountmanage/bindingThirdPartyAccount",
|
114 | target: "_self"
|
115 | }, {
|
116 | id: 214,
|
117 | name: "收货地址",
|
118 | href: "http://buyer.hnc.jcloudec.com/user-buyer-view/buyer/address",
|
119 | target: "_self"
|
120 | }, {
|
121 | id: 215,
|
122 | name: "我的级别",
|
123 | href: "http://buyer.hnc.jcloudec.com/member-buyer-view/mylevel",
|
124 | target: "_self"
|
125 | }, {
|
126 | id: 216,
|
127 | name: "我的积分",
|
128 | href: "http://buyer.hnc.jcloudec.com/member-buyer-view/memberintegral",
|
129 | target: "_self"
|
130 | }, {
|
131 | id: 217,
|
132 | name: "子账号管理",
|
133 | href: "http://buyer.hnc.jcloudec.com/subaccount-buyer-view/subaccountmanage",
|
134 | target: "_self"
|
135 | }, {
|
136 | id: 218,
|
137 | name: "角色管理",
|
138 | href: "http://buyer.hnc.jcloudec.com/subaccount-buyer-view/rolemanage",
|
139 | target: "_self"
|
140 | }]
|
141 | }]
|
142 | }, {
|
143 | id: 3,
|
144 | name: "订单管理",
|
145 | children: [{
|
146 | id: 31,
|
147 | name: "订单管理",
|
148 | icon: "xx",
|
149 | children: [{
|
150 | id: 311,
|
151 | name: "订单管理",
|
152 | href: "http://buyer.hnc.jcloudec.com/order-buyer-view/purchaserback/ordermanagement",
|
153 | target: "_self"
|
154 | }, {
|
155 | id: 315,
|
156 | name: "询价单管理",
|
157 | href: "http://buyer.hnc.jcloudec.com/order-buyer-view/inquirysheet-manage/grid",
|
158 | target: "_self"
|
159 | }, {
|
160 | id: 312,
|
161 | name: "报价单管理",
|
162 | href: "http://buyer.hnc.jcloudec.com/order-buyer-view/quotation-manage/quotation-list",
|
163 | target: "_self"
|
164 | }, {
|
165 | id: 313,
|
166 | name: "退款/售后管理",
|
167 | href: "http://buyer.hnc.jcloudec.com/customer-service-buyer-view/refund/grid",
|
168 | target: "_self"
|
169 | }, {
|
170 | id: 314,
|
171 | name: "评价管理",
|
172 | href: "http://buyer.hnc.jcloudec.com/remark-buyer-view/evaluation",
|
173 | target: "_self"
|
174 | }, {
|
175 | id: 316,
|
176 | name: "商品确认管理",
|
177 | href: "http://buyer.hnc.jcloudec.com/order-buyer-view/share-order/list",
|
178 | target: "_self"
|
179 | }, {
|
180 | id: 317,
|
181 | name: "商品确认",
|
182 | href: "http://buyer.hnc.jcloudec.com/order-buyer-view/shared-order/list",
|
183 | target: "_self"
|
184 | }, {
|
185 | id: 318,
|
186 | name: "已购商品列表",
|
187 | href: "http://buyer.hnc.jcloudec.com/order-buyer-view/purchasedlist",
|
188 | target: "_self"
|
189 | }]
|
190 | }]
|
191 | }, {
|
192 | id: 4,
|
193 | name: "财务管理",
|
194 | children: [{
|
195 | id: 41,
|
196 | name: "财务管理",
|
197 | icon: "xx",
|
198 | children: [{
|
199 | id: 411,
|
200 | name: "卡券管理",
|
201 | href: "http://buyer.hnc.jcloudec.com/promotion-buyer-view/coupon/grid",
|
202 | target: "_self"
|
203 | }]
|
204 | }]
|
205 | }, {
|
206 | id: 5,
|
207 | name: "采购管理",
|
208 | children: [{
|
209 | id: 51,
|
210 | name: "采购管理",
|
211 | icon: "xx",
|
212 | children: [{
|
213 | id: 511,
|
214 | name: "商品需求",
|
215 | href: "http://buyer.hnc.jcloudec.com/purchase-buyer-view/management",
|
216 | target: "_self"
|
217 | }, {
|
218 | id: 512,
|
219 | name: "解决方案征询",
|
220 | href: "http://buyer.hnc.jcloudec.com/purchase-buyer-view/solution",
|
221 | target: "_self"
|
222 | }]
|
223 | }]
|
224 | }, {
|
225 | id: 6,
|
226 | name: "发票管理",
|
227 | children: [{
|
228 | id: 61,
|
229 | name: "发票管理",
|
230 | href: "http://buyer.hnc.jcloudec.com/invoice-buyer-view/invoice",
|
231 | target: "_self",
|
232 | icon: "xx"
|
233 | }, {
|
234 | id: 62,
|
235 | name: "资质管理",
|
236 | href: "http://buyer.hnc.jcloudec.com/invoice-buyer-view/qualification",
|
237 | target: "_self",
|
238 | icon: "xx"
|
239 | }]
|
240 |
|
241 | }, {
|
242 | id: 7,
|
243 | name: "账期管理",
|
244 | children: [{
|
245 | id: 71,
|
246 | name: "账期管理",
|
247 | href: "http://buyer.hnc.jcloudec.com/bill-buyer-view/accountapplication",
|
248 | target: "_self"
|
249 | }]
|
250 | }, {
|
251 | id: 8,
|
252 | name: "关注中心",
|
253 | children: [{
|
254 | id: 81,
|
255 | name: "关注中心",
|
256 | icon: "xx",
|
257 | children: [{
|
258 | id: 811,
|
259 | name: "我的收藏",
|
260 | href: "http://buyer.hnc.jcloudec.com/buyer-view/attention-center/collection",
|
261 | target: "_self"
|
262 | }, {
|
263 | id: 812,
|
264 | name: "浏览历史",
|
265 | href: "http://buyer.hnc.jcloudec.com/buyer-view/attention-center/history",
|
266 | target: "_self"
|
267 | }]
|
268 | }]
|
269 | }];
|
270 | var Buyer = (_temp = _class = function (_Component) {
|
271 | (0, _inherits3.default)(Buyer, _Component);
|
272 |
|
273 | function Buyer(props, context) {
|
274 | (0, _classCallCheck3.default)(this, Buyer);
|
275 |
|
276 | var _this = (0, _possibleConstructorReturn3.default)(this, (Buyer.__proto__ || (0, _getPrototypeOf2.default)(Buyer)).call(this, props, context));
|
277 |
|
278 | _this.state = {
|
279 | menus: [],
|
280 | icon: "",
|
281 | logo: ''
|
282 | };
|
283 | return _this;
|
284 | }
|
285 |
|
286 |
|
287 |
|
288 |
|
289 | (0, _createClass3.default)(Buyer, [{
|
290 | key: 'buyerMenuSearch',
|
291 | value: function buyerMenuSearch() {
|
292 | var _this2 = this;
|
293 |
|
294 | var client = new _ApiClient2.default();
|
295 | var form = null;
|
296 | var url = '/authority-service/mall/resource/queryResourceMenuByBuyId';
|
297 | var menuType = this.props.menuType || this.props.children && this.props.children.props && this.props.children.props.route && this.props.children.props.route.menuType;
|
298 | if (menuType && menuType == 'companymanage') {
|
299 | url = '/authority-service/mall/resource/queryResourceMenuByCompanyId';
|
300 | }
|
301 | client.get(url, { params: form }).then(function (res) {
|
302 | if (res.code == 0 && res.data) {
|
303 | var tmp = res.data;
|
304 | var result = _this2.reformData(tmp);
|
305 | _this2.setState({
|
306 | menus: result
|
307 | });
|
308 | }
|
309 | }, function (err) {});
|
310 | }
|
311 | }, {
|
312 | key: 'reformData',
|
313 | value: function reformData(data) {
|
314 | var result = [];
|
315 | if (data && data.length) {
|
316 | for (var ia = 0; ia < data.length; ++ia) {
|
317 | result.push(this.reformUnit(data[ia]));
|
318 | }
|
319 | } else {}
|
320 | return result;
|
321 | }
|
322 | }, {
|
323 | key: 'reformUnit',
|
324 | value: function reformUnit(data) {
|
325 | var unit = { id: '', name: '', href: '', target: '', children: [] };
|
326 | unit.id = data.id + '';
|
327 | unit.name = data.name;
|
328 | unit.href = data.url;
|
329 | unit.target = data.target ? data.target : '_self';
|
330 | unit.icon = data.icon;
|
331 | if (data && data.url && data.url == '/subaccount-buyer-view/subaccountmanage') {
|
332 | if (data && data.children && data.children.length > 0) {
|
333 | unit.href = data.children[0].url;
|
334 | }
|
335 | unit.target = '_blank';
|
336 | delete unit['children'];
|
337 | return unit;
|
338 | }
|
339 | if (data && data.children && data.children.length > 0) {
|
340 | for (var ib = 0; ib < data.children.length; ++ib) {
|
341 | unit.children.push(this.reformUnit(data.children[ib]));
|
342 | }
|
343 | } else {
|
344 | delete unit['children'];
|
345 | }
|
346 | return unit;
|
347 | }
|
348 |
|
349 |
|
350 | }, {
|
351 | key: 'componentWillMount',
|
352 | value: function componentWillMount() {
|
353 | this.buyerMenuSearch();
|
354 | this.getWebsiteConfig();
|
355 | this.minHeight = typeof window !== 'undefined' ? document.body.clientHeight - 64 : 580;
|
356 | this.location = typeof window !== 'undefined' ? window.location.href : "";
|
357 | this.referer = typeof document !== 'undefined' ? document.referrer : "";
|
358 | }
|
359 |
|
360 |
|
361 | }, {
|
362 | key: 'getWebsiteConfig',
|
363 | value: function getWebsiteConfig() {
|
364 | var _this3 = this;
|
365 |
|
366 | var client = new _ApiClient2.default();
|
367 | client.get('/platform-service/mallInfo/getMallInfo').then(function (res) {
|
368 | if (res.code == 0 && res.data) {
|
369 | _this3.setState({ icon: res.data.icon, logo: res.data.userLogo });
|
370 | }
|
371 | }, function (err) {});
|
372 | }
|
373 |
|
374 |
|
375 | }, {
|
376 | key: 'getHref',
|
377 | value: function getHref(o) {
|
378 | if (o && o.length) {
|
379 | for (var i = 0; i < o.length; i++) {
|
380 | var menu = o[i];
|
381 | if (menu.href && menu.href != "") {
|
382 | return menu.href;
|
383 | } else if (menu.children && menu.children.length) {
|
384 | return this.getHref(menu.children);
|
385 | } else {
|
386 | return "";
|
387 | }
|
388 | }
|
389 | } else {}
|
390 | return "";
|
391 | }
|
392 | }, {
|
393 | key: 'horizontalMenu',
|
394 | value: function horizontalMenu(o) {
|
395 | var _this4 = this;
|
396 |
|
397 | var horizontalMenu = [];
|
398 | if (o && o.length && o.length > 0) {
|
399 | o.map(function (menu) {
|
400 | var children = menu.children,
|
401 | rest = (0, _objectWithoutProperties3.default)(menu, ['children']);
|
402 |
|
403 | rest.href = rest.href && rest.href != "" ? rest.href : _this4.getHref(children);
|
404 | horizontalMenu.push(rest);
|
405 | });
|
406 | }
|
407 | return horizontalMenu;
|
408 | }
|
409 | }, {
|
410 | key: 'urlMatch',
|
411 | value: function urlMatch(location, href) {
|
412 |
|
413 |
|
414 |
|
415 | if (location != '' && href && href != '') {
|
416 | if (href.indexOf('//') > 0) {
|
417 | if (location == href.substring(href.replace('//', '~%').indexOf('/'))) {
|
418 | return true;
|
419 | }
|
420 | } else {
|
421 | if (location == href) {
|
422 | return true;
|
423 | }
|
424 | }
|
425 | }
|
426 | var finalLocation = '';
|
427 | if (location) {
|
428 | var result = String(location).split('.com');
|
429 | if (result && result.length && result[1]) {
|
430 | var path = result[1];
|
431 | var tmp = path.split('?');
|
432 | if (tmp && tmp[0]) {
|
433 | finalLocation = tmp[0];
|
434 | if (finalLocation == href) {
|
435 | return true;
|
436 | }
|
437 | }
|
438 | }
|
439 | }
|
440 | return false;
|
441 | }
|
442 | }, {
|
443 | key: 'verticalMenu',
|
444 | value: function verticalMenu(o, location) {
|
445 | var subMenu = [];
|
446 | var hKey = 0;
|
447 | var vKey = 0;
|
448 | var openKey = [];
|
449 | var vName = "";
|
450 | if (o && o.length && o.length > 0) {
|
451 | for (var i = 0; i < o.length; i++) {
|
452 | var menu = o[i];
|
453 | if (menu.href && menu.href != "" && this.urlMatch(location, menu.href)) {
|
454 | subMenu = menu.children;
|
455 | hKey = menu.id;
|
456 | var tmpOpenKey = [];
|
457 | for (var q in menu.children) {
|
458 | tmpOpenKey.push(menu.children[q].id + '');
|
459 | }
|
460 | openKey = tmpOpenKey;
|
461 | } else if (menu.children && menu.children.length) {
|
462 | for (var j = 0; j < menu.children.length; j++) {
|
463 | var vMenu = menu.children[j];
|
464 | if (vMenu.href && vMenu.href != "" && this.urlMatch(location, vMenu.href)) {
|
465 | subMenu = menu.children;
|
466 | hKey = menu.id;
|
467 | vKey = vMenu.id;
|
468 | vName = vMenu.name;
|
469 | } else if (vMenu.children && vMenu.children.length) {
|
470 | for (var n = 0; n < vMenu.children.length; n++) {
|
471 | var sMenu = vMenu.children[n];
|
472 | if (sMenu.href && sMenu.href != "" && this.urlMatch(location, sMenu.href)) {
|
473 | subMenu = menu.children;
|
474 | hKey = menu.id;
|
475 | vKey = sMenu.id;
|
476 | vName = sMenu.name;
|
477 | openKey.push(vMenu.id);
|
478 | }
|
479 | }
|
480 | }
|
481 | }
|
482 | }
|
483 | }
|
484 | }
|
485 | return { subMenu: subMenu, hKey: hKey, openKey: openKey, vKey: vKey, vName: vName };
|
486 | }
|
487 | |
488 |
|
489 |
|
490 |
|
491 |
|
492 |
|
493 |
|
494 |
|
495 |
|
496 |
|
497 |
|
498 |
|
499 |
|
500 |
|
501 |
|
502 |
|
503 |
|
504 |
|
505 |
|
506 |
|
507 |
|
508 |
|
509 |
|
510 |
|
511 |
|
512 |
|
513 |
|
514 |
|
515 |
|
516 |
|
517 |
|
518 |
|
519 |
|
520 | }, {
|
521 | key: 'render',
|
522 | value: function render() {
|
523 | var _props$menus = this.props.menus,
|
524 | menus = _props$menus === undefined ? ms : _props$menus;
|
525 |
|
526 | var horizontalMenu = this.horizontalMenu(this.state.menus);
|
527 |
|
528 | var menuUrl = this.props.menuUrl || this.props.children && this.props.children.props && this.props.children.props.route && this.props.children.props.route.menuUrl;
|
529 |
|
530 | var siderNoRequest = this.props.siderNoRequest || this.props.children && this.props.children.props && this.props.children.props.route && this.props.children.props.route.siderNoRequest;
|
531 |
|
532 | var titleName = this.props.titleName || this.props.children && this.props.children.props && this.props.children.props.route && this.props.children.props.route.titleName;
|
533 |
|
534 | var noFirstLevelMenu = this.props.noFirstLevelMenu || this.props.children && this.props.children.props && this.props.children.props.route && this.props.children.props.route.noFirstLevelMenu;
|
535 | var menuType = this.props.menuType || this.props.children && this.props.children.props && this.props.children.props.route && this.props.children.props.route.menuType;
|
536 | var headerClassName = siderNoRequest ? 'buyer-framework-body-container-right-nosider' : 'buyer-framework-body-container-right';
|
537 | var verticalMenu = { subMenu: [], hKey: '0', openKey: '0', vKey: [] };
|
538 | if (menuUrl) {
|
539 | verticalMenu = this.verticalMenu(this.state.menus, menuUrl);
|
540 | } else {
|
541 | verticalMenu = this.verticalMenu(this.state.menus, this.location);
|
542 | }
|
543 | if (verticalMenu.subMenu && verticalMenu.subMenu.length && verticalMenu.subMenu.length == 0) {
|
544 | verticalMenu = this.verticalMenu(this.state.menus, this.referer || "");
|
545 | }
|
546 | var _verticalMenu = verticalMenu,
|
547 | hKey = _verticalMenu.hKey,
|
548 | vName = _verticalMenu.vName,
|
549 | rest = (0, _objectWithoutProperties3.default)(_verticalMenu, ['hKey', 'vName']);
|
550 |
|
551 | return _react2.default.createElement(
|
552 | _localeProvider2.default,
|
553 | { locale: _zh_CN2.default },
|
554 | _react2.default.createElement(
|
555 | 'div',
|
556 | null,
|
557 | _react2.default.createElement(
|
558 | _reactHelmet2.default,
|
559 | null,
|
560 | _react2.default.createElement(
|
561 | 'title',
|
562 | null,
|
563 | vName
|
564 | ),
|
565 | _react2.default.createElement('link', { rel: 'icon', href: this.state.icon, mce_href: this.state.icon, type: 'image/x-icon' })
|
566 | ),
|
567 | _react2.default.createElement(_TopTools2.default, null),
|
568 | _react2.default.createElement(_Header2.default, { menus: horizontalMenu, selectKey: hKey, logo: this.state.logo, typeKey: this.props.typeKey, titleName: titleName, noFirstLevelMenu: noFirstLevelMenu, menuType: menuType }),
|
569 | _react2.default.createElement(
|
570 | 'div',
|
571 | { className: 'buyer-framework-body-container' },
|
572 | !siderNoRequest && _react2.default.createElement(
|
573 | 'div',
|
574 | { className: 'buyer-framework-body-container-left' },
|
575 | _react2.default.createElement(_Sider2.default, rest)
|
576 | ),
|
577 | _react2.default.createElement(
|
578 | 'div',
|
579 | { className: headerClassName, style: { minHeight: this.minHeight + "px" } },
|
580 | this.props.children
|
581 | )
|
582 | )
|
583 | )
|
584 | );
|
585 | }
|
586 | }]);
|
587 | return Buyer;
|
588 | }(_react.Component), _class.propTypes = {
|
589 | children: _propTypes2.default.object.isRequired
|
590 | }, _temp);
|
591 | exports.default = Buyer;
|
592 | module.exports = exports['default'];
|
593 |
|
\ | No newline at end of file |