dlt-for-react 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
- value: true
4
+ value: true
5
5
  });
6
6
  exports.default = undefined;
7
7
 
@@ -107,414 +107,458 @@ var Sider = _layout2.default.Sider,
107
107
  // 默认配置
108
108
 
109
109
  var defaultSetting = {
110
- title: "学工UI风格",
111
- navTheme: "dark", // theme for nav menu 主题 dark or light
112
- layout: "sidemenu", // nav menu position: sidemenu or topmenu or mixmenu 菜单位置 侧边菜单 顶部菜单 混合模式(侧边菜单+顶部logo)
113
- contentWidth: "Fluid", // layout of content: Fluid or Fixed, only works when layout is topmenu 页面内容宽度
114
- fixedHeader: false, // sticky header 是否固定header
115
- autoHideHeader: false, // auto hide header 是否自动隐藏header
116
- fixSiderbar: false, // sticky siderbar 是否固定侧边栏
117
- primaryColor: '#1890ff', //primary-Color 全局主题色 --新版设计规范默认主色联奕蓝#397ef0
118
- fontSize: 'default' //字号 default/big (默认字号+5)/huge(默认字号+15)
110
+ title: '学工UI风格',
111
+ navTheme: 'dark', // theme for nav menu 主题 dark or light
112
+ layout: 'sidemenu', // nav menu position: sidemenu or topmenu or mixmenu 菜单位置 侧边菜单 顶部菜单 混合模式(侧边菜单+顶部logo)
113
+ contentWidth: 'Fluid', // layout of content: Fluid or Fixed, only works when layout is topmenu 页面内容宽度
114
+ fixedHeader: false, // sticky header 是否固定header
115
+ autoHideHeader: false, // auto hide header 是否自动隐藏header
116
+ fixSiderbar: false, // sticky siderbar 是否固定侧边栏
117
+ primaryColor: '#1890ff', //primary-Color 全局主题色 --新版设计规范默认主色联奕蓝#397ef0
118
+ fontSize: 'default' //字号 default/big (默认字号+5)/huge(默认字号+15)
119
119
  };
120
120
 
121
121
  var NHLayout = function (_React$Component) {
122
- (0, _inherits3.default)(NHLayout, _React$Component);
123
-
124
- function NHLayout(props) {
125
- (0, _classCallCheck3.default)(this, NHLayout);
126
-
127
- var _this = (0, _possibleConstructorReturn3.default)(this, (NHLayout.__proto__ || (0, _getPrototypeOf2.default)(NHLayout)).call(this, props));
128
-
129
- _this.getLayoutSetting = function () {
130
- _this.setState({ layoutShow: false });
131
- (0, _NHFetch3.default)('api/zhxg-xtgl/openapi/getCsszByCsbz', 'GET', { csbz: 'XTGL_LAYOUT_SETTING' }).then(function (res) {
132
- if (res && res.code === 200 && res.data) {
133
- var initSetting = res.data.csz ? JSON.parse(res.data.csz) : defaultSetting;
134
- sessionStorage.setItem('setting', (0, _stringify2.default)(initSetting));
135
- _this.setState({
136
- setting: initSetting,
137
- csszxid: res.data.pkid ? res.data.pkid : '',
138
- prevSetting: (0, _stringify2.default)(initSetting)
139
- }, function () {
140
- _this.changeBaseFontSize(initSetting.fontSize);
141
- if (window.less && window.less.modifyVars) {
142
- window.less.modifyVars({
143
- '@primary-color': initSetting.primaryColor
144
- }).then(function () {
145
- var styleDom = document.createElement('style');
146
- styleDom.innerHTML = '\n .xgui-nhTableNew .ant-table-tbody>tr:nth-of-type(2n){\n background: ' + initSetting.primaryColor + '0D;\n }';
147
- document.getElementsByTagName('body')[0].appendChild(styleDom);
148
- _this.setState({ layoutShow: true });
149
- }).catch(function () {
150
- _this.setState({ layoutShow: true });
151
- });
152
- } else {
153
- _this.setState({ layoutShow: true });
154
- }
155
- });
156
- } else {
157
- sessionStorage.setItem('setting', (0, _stringify2.default)(defaultSetting));
158
- _this.changeBaseFontSize(defaultSetting.fontSize);
159
- if (window.less && window.less.modifyVars) {
160
- window.less.modifyVars({
161
- '@primary-color': defaultSetting.primaryColor
162
- }).then(function () {
163
- var styleDom = document.createElement('style');
164
- styleDom.innerHTML = '\n .xgui-nhTableNew .ant-table-tbody>tr:nth-of-type(2n){\n background: ' + defaultSetting.primaryColor + '0D;\n }';
165
- document.getElementsByTagName('body')[0].appendChild(styleDom);
166
- _this.setState({
167
- setting: defaultSetting,
168
- prevSetting: (0, _stringify2.default)(defaultSetting),
169
- layoutShow: true
170
- });
171
- });
172
- } else {
173
- _this.setState({
174
- layoutShow: true
175
- });
176
- }
177
- }
178
- }).catch(function () {
179
- sessionStorage.setItem('setting', (0, _stringify2.default)(defaultSetting));
180
- _this.changeBaseFontSize(defaultSetting.fontSize);
181
- if (window.less && window.less.modifyVars) {
182
- window.less.modifyVars({
183
- '@primary-color': defaultSetting.primaryColor
184
- }).then(function () {
185
- var styleDom = document.createElement('style');
186
- styleDom.innerHTML = '\n .xgui-nhTableNew .ant-table-tbody>tr:nth-of-type(2n){\n background: ' + defaultSetting.primaryColor + '0D;\n }';
187
- document.getElementsByTagName('body')[0].appendChild(styleDom);
188
- _this.setState({
189
- setting: defaultSetting,
190
- prevSetting: (0, _stringify2.default)(defaultSetting),
191
- layoutShow: true
192
- });
193
- });
194
- } else {
195
- _this.setState({
196
- layoutShow: true
197
- });
198
- }
199
- });
200
- };
201
-
202
- _this.changeBaseFontSize = function (size) {
203
- var Dom = document.getElementsByTagName('html')[0];
204
- var baseNumberFontSize = 54;
205
- var _fontSize = undefined;
206
- switch (size) {
207
- case 'default':
208
- _fontSize = baseNumberFontSize + 'Px';
209
- break;
210
- case 'big':
211
- _fontSize = +baseNumberFontSize + 5 + 'Px';
212
- break;
213
- case 'huge':
214
- _fontSize = +baseNumberFontSize + 15 + 'Px';
215
- break;
122
+ (0, _inherits3.default)(NHLayout, _React$Component);
123
+
124
+ function NHLayout(props) {
125
+ (0, _classCallCheck3.default)(this, NHLayout);
126
+
127
+ var _this = (0, _possibleConstructorReturn3.default)(this, (NHLayout.__proto__ || (0, _getPrototypeOf2.default)(NHLayout)).call(this, props));
128
+
129
+ _this.getLayoutSetting = function () {
130
+ _this.setState({ layoutShow: false });
131
+ var baseUrl = window.xtglUrl || 'api/hq-xtgl';
132
+ (0, _NHFetch3.default)(baseUrl + '/openapi/getCsszByCsbz', 'GET', {
133
+ csbz: 'XTGL_LAYOUT_SETTING'
134
+ }).then(function (res) {
135
+ if (res && res.code === 200 && res.data) {
136
+ var initSetting = res.data.csz ? JSON.parse(res.data.csz) : defaultSetting;
137
+ sessionStorage.setItem('setting', (0, _stringify2.default)(initSetting));
138
+ _this.setState({
139
+ setting: initSetting,
140
+ csszxid: res.data.pkid ? res.data.pkid : '',
141
+ prevSetting: (0, _stringify2.default)(initSetting)
142
+ }, function () {
143
+ _this.changeBaseFontSize(initSetting.fontSize);
144
+ if (window.less && window.less.modifyVars) {
145
+ window.less.modifyVars({
146
+ '@primary-color': initSetting.primaryColor
147
+ }).then(function () {
148
+ var styleDom = document.createElement('style');
149
+ styleDom.innerHTML = '\n .xgui-nhTableNew .ant-table-tbody>tr:nth-of-type(2n){\n background: ' + initSetting.primaryColor + '0D;\n }';
150
+ document.getElementsByTagName('body')[0].appendChild(styleDom);
151
+ _this.setState({ layoutShow: true });
152
+ }).catch(function () {
153
+ _this.setState({ layoutShow: true });
154
+ });
155
+ } else {
156
+ _this.setState({ layoutShow: true });
216
157
  }
217
- Dom.style.fontSize = _fontSize;
218
- };
219
-
220
- _this.toggle = function () {
221
- _this.setState({
222
- collapsed: !_this.state.collapsed
158
+ });
159
+ } else {
160
+ sessionStorage.setItem('setting', (0, _stringify2.default)(defaultSetting));
161
+ _this.changeBaseFontSize(defaultSetting.fontSize);
162
+ if (window.less && window.less.modifyVars) {
163
+ window.less.modifyVars({
164
+ '@primary-color': defaultSetting.primaryColor
165
+ }).then(function () {
166
+ var styleDom = document.createElement('style');
167
+ styleDom.innerHTML = '\n .xgui-nhTableNew .ant-table-tbody>tr:nth-of-type(2n){\n background: ' + defaultSetting.primaryColor + '0D;\n }';
168
+ document.getElementsByTagName('body')[0].appendChild(styleDom);
169
+ _this.setState({
170
+ setting: defaultSetting,
171
+ prevSetting: (0, _stringify2.default)(defaultSetting),
172
+ layoutShow: true
173
+ });
223
174
  });
224
- };
225
-
226
- _this.changeSetting = function (key, value) {
227
- var setting = _this.state.setting;
228
-
229
- var nextState = (0, _extends3.default)({}, setting);
230
- nextState[key] = value;
231
- if (key === "layout") {
232
- // nextState.contentWidth = value === "topmenu" ? "Fluid" : "Fixed";
233
- nextState.contentWidth = 'Fluid';
234
- } else if (key === "fixedHeader" && !value) {
235
- nextState.autoHideHeader = false;
236
- }
237
-
238
- _this.setState({ setting: nextState });
239
- _this.setSettingToSession(nextState);
240
- };
241
-
242
- _this.setSetting = function (setting) {
243
- _this.setState({ setting: setting });
244
- _this.setSettingToSession(setting);
245
- };
246
-
247
- _this.setSettingToSession = function (setting) {
248
- sessionStorage.setItem('setting', (0, _stringify2.default)(setting));
249
- };
250
-
251
- _this.saveSettingToDataBase = function () {
252
- var _this$state = _this.state,
253
- csszxid = _this$state.csszxid,
254
- setting = _this$state.setting;
255
-
256
- if (!csszxid) {
257
- _message3.default.error('参数设置中未配置XTGL_LAYOUT_SETTING,请联系管理员处理!');
258
- return;
259
- }
260
- var prams = [{ csszxid: csszxid, csz: (0, _stringify2.default)(setting) }];
261
- (0, _NHFetch3.default)('api/zhxg-xtgl/parameterSetting/updateMulti', 'POST', prams).then(function (res) {
262
- if (res && res.code === 200) {
263
- _message3.default.success('Layout配置项保存成功!');
264
- }
175
+ } else {
176
+ _this.setState({
177
+ layoutShow: true
265
178
  });
266
- };
267
-
268
- _this.handScroll = function () {
269
- var autoHideHeader = _this.state.setting.autoHideHeader;
270
- var visible = _this.state.visible;
271
-
272
- if (!autoHideHeader) {
273
- return;
274
- }
275
- var scrollTop = document.body.scrollTop + document.documentElement.scrollTop;
276
- if (!_this.ticking) {
277
- _this.ticking = true;
278
- requestAnimationFrame(function () {
279
- if (_this.oldScrollTop > scrollTop) {
280
- _this.setState({
281
- visible: true
282
- });
283
- } else if (scrollTop > 300 && visible) {
284
- _this.setState({
285
- visible: false
286
- });
287
- } else if (scrollTop < 300 && !visible) {
288
- _this.setState({
289
- visible: true
290
- });
291
- }
292
- _this.oldScrollTop = scrollTop;
293
- _this.ticking = false;
294
- });
295
- }
296
- };
297
-
298
- _this.state = {
299
- collapsed: false, //是否关闭菜单
300
- fwmc: _this.props.config.fwmc, //服务名称
301
- visible: true, //是否显示header
302
- setting: sessionStorage.getItem('setting') ? JSON.parse(sessionStorage.getItem('setting')) : defaultSetting, // 配置
303
- layoutShow: false, //展示layout
304
- prevSetting: '', //数据库存储的配置可用于重置
305
- csszxid: '', //layout设置项的pkid
306
- hover: false //鼠标hover
307
- };
308
- return _this;
309
- }
310
-
311
- (0, _createClass3.default)(NHLayout, [{
312
- key: 'UNSAFE_componentWillMount',
313
- value: function UNSAFE_componentWillMount() {
314
- var _this2 = this;
315
-
316
- var config = this.props.config;
317
-
318
- var fwmcUrl = config.fwmcUrl,
319
- fwmc = config.fwmc;
320
- //动态获取服务名称(优选使用fwmcUrl,如果未指定fwmcUrl则以fwmc为准)
321
- if (fwmcUrl && fwmcUrl.startsWith("api/")) {
322
- (0, _NHFetch3.default)(fwmcUrl, "GET").then(function (res) {
323
- if (res && res.data) {
324
- _this2.setState({
325
- fwmc: res.data
326
- });
327
- } else {
328
- _this2.setState({
329
- fwmc: fwmc
330
- });
331
- }
332
- });
333
- } else if (fwmc) {
334
- this.setState({
335
- fwmc: fwmc
336
- });
337
- }
179
+ }
338
180
  }
339
- }, {
340
- key: 'componentDidMount',
341
- value: function componentDidMount() {
342
- document.addEventListener("scroll", this.handScroll, { passive: true });
343
- this.getLayoutSetting();
181
+ }).catch(function () {
182
+ sessionStorage.setItem('setting', (0, _stringify2.default)(defaultSetting));
183
+ _this.changeBaseFontSize(defaultSetting.fontSize);
184
+ if (window.less && window.less.modifyVars) {
185
+ window.less.modifyVars({
186
+ '@primary-color': defaultSetting.primaryColor
187
+ }).then(function () {
188
+ var styleDom = document.createElement('style');
189
+ styleDom.innerHTML = '\n .xgui-nhTableNew .ant-table-tbody>tr:nth-of-type(2n){\n background: ' + defaultSetting.primaryColor + '0D;\n }';
190
+ document.getElementsByTagName('body')[0].appendChild(styleDom);
191
+ _this.setState({
192
+ setting: defaultSetting,
193
+ prevSetting: (0, _stringify2.default)(defaultSetting),
194
+ layoutShow: true
195
+ });
196
+ });
197
+ } else {
198
+ _this.setState({
199
+ layoutShow: true
200
+ });
344
201
  }
345
- }, {
346
- key: 'componentWillUnmount',
347
- value: function componentWillUnmount() {
348
- document.removeEventListener("scroll", this.handScroll);
202
+ });
203
+ };
204
+
205
+ _this.changeBaseFontSize = function (size) {
206
+ var Dom = document.getElementsByTagName('html')[0];
207
+ var baseNumberFontSize = 75;
208
+ var _fontSize = undefined;
209
+ switch (size) {
210
+ case 'default':
211
+ _fontSize = baseNumberFontSize + 'Px';
212
+ break;
213
+ case 'big':
214
+ _fontSize = +baseNumberFontSize + 5 + 'Px';
215
+ break;
216
+ case 'huge':
217
+ _fontSize = +baseNumberFontSize + 15 + 'Px';
218
+ break;
219
+ }
220
+ Dom.style.fontSize = _fontSize;
221
+ };
222
+
223
+ _this.toggle = function () {
224
+ _this.setState({
225
+ collapsed: !_this.state.collapsed
226
+ });
227
+ };
228
+
229
+ _this.changeSetting = function (key, value) {
230
+ var setting = _this.state.setting;
231
+
232
+ var nextState = (0, _extends3.default)({}, setting);
233
+ nextState[key] = value;
234
+ if (key === 'layout') {
235
+ // nextState.contentWidth = value === "topmenu" ? "Fluid" : "Fixed";
236
+ nextState.contentWidth = 'Fluid';
237
+ } else if (key === 'fixedHeader' && !value) {
238
+ nextState.autoHideHeader = false;
239
+ }
240
+
241
+ _this.setState({ setting: nextState });
242
+ _this.setSettingToSession(nextState);
243
+ };
244
+
245
+ _this.setSetting = function (setting) {
246
+ _this.setState({ setting: setting });
247
+ _this.setSettingToSession(setting);
248
+ };
249
+
250
+ _this.setSettingToSession = function (setting) {
251
+ sessionStorage.setItem('setting', (0, _stringify2.default)(setting));
252
+ };
253
+
254
+ _this.saveSettingToDataBase = function () {
255
+ var _this$state = _this.state,
256
+ csszxid = _this$state.csszxid,
257
+ setting = _this$state.setting;
258
+
259
+ if (!csszxid) {
260
+ _message3.default.error('参数设置中未配置XTGL_LAYOUT_SETTING,请联系管理员处理!');
261
+ return;
262
+ }
263
+ var prams = [{ csszxid: csszxid, csz: (0, _stringify2.default)(setting) }];
264
+ var baseUrl = window.xtglUrl || 'api/hq-xtgl';
265
+ (0, _NHFetch3.default)(baseUrl + '/parameterSetting/updateMulti', 'POST', prams).then(function (res) {
266
+ if (res && res.code === 200) {
267
+ _message3.default.success('Layout配置项保存成功!');
349
268
  }
269
+ });
270
+ };
271
+
272
+ _this.handScroll = function () {
273
+ var autoHideHeader = _this.state.setting.autoHideHeader;
274
+ var visible = _this.state.visible;
275
+
276
+ if (!autoHideHeader) {
277
+ return;
278
+ }
279
+ var scrollTop = document.body.scrollTop + document.documentElement.scrollTop;
280
+ if (!_this.ticking) {
281
+ _this.ticking = true;
282
+ requestAnimationFrame(function () {
283
+ if (_this.oldScrollTop > scrollTop) {
284
+ _this.setState({
285
+ visible: true
286
+ });
287
+ } else if (scrollTop > 300 && visible) {
288
+ _this.setState({
289
+ visible: false
290
+ });
291
+ } else if (scrollTop < 300 && !visible) {
292
+ _this.setState({
293
+ visible: true
294
+ });
295
+ }
296
+ _this.oldScrollTop = scrollTop;
297
+ _this.ticking = false;
298
+ });
299
+ }
300
+ };
301
+
302
+ _this.state = {
303
+ collapsed: false, //是否关闭菜单
304
+ fwmc: _this.props.config.fwmc, //服务名称
305
+ visible: true, //是否显示header
306
+ setting: sessionStorage.getItem('setting') ? JSON.parse(sessionStorage.getItem('setting')) : defaultSetting, // 配置
307
+ layoutShow: false, //展示layout
308
+ prevSetting: '', //数据库存储的配置可用于重置
309
+ csszxid: '', //layout设置项的pkid
310
+ hover: false //鼠标hover
311
+ };
312
+ return _this;
313
+ }
314
+
315
+ (0, _createClass3.default)(NHLayout, [{
316
+ key: 'UNSAFE_componentWillMount',
317
+ value: function UNSAFE_componentWillMount() {
318
+ var _this2 = this;
319
+
320
+ var config = this.props.config;
321
+
322
+ var fwmcUrl = config.fwmcUrl,
323
+ fwmc = config.fwmc;
324
+ //动态获取服务名称(优选使用fwmcUrl,如果未指定fwmcUrl则以fwmc为准)
325
+ if (fwmcUrl && fwmcUrl.startsWith('api/')) {
326
+ (0, _NHFetch3.default)(fwmcUrl, 'GET').then(function (res) {
327
+ if (res && res.data) {
328
+ _this2.setState({
329
+ fwmc: res.data
330
+ });
331
+ } else {
332
+ _this2.setState({
333
+ fwmc: fwmc
334
+ });
335
+ }
336
+ });
337
+ } else if (fwmc) {
338
+ this.setState({
339
+ fwmc: fwmc
340
+ });
341
+ }
342
+ }
343
+ }, {
344
+ key: 'componentDidMount',
345
+ value: function componentDidMount() {
346
+ document.addEventListener('scroll', this.handScroll, { passive: true });
347
+ this.getLayoutSetting();
348
+ }
349
+ }, {
350
+ key: 'componentWillUnmount',
351
+ value: function componentWillUnmount() {
352
+ document.removeEventListener('scroll', this.handScroll);
353
+ }
350
354
 
351
- /**
352
- * 获取系统管理 配置项中的XTGL_LAYOUT_SETTING配置参数,如果为空的话就取默认的defaultSetting
353
- */
354
-
355
-
356
- /** 改变全局的fontsize */
357
-
358
- /** 更改学工UI风格配置 */
359
-
360
- /** 将setting缓存到session中 */
361
-
362
- /** 将setting保存到数据库中 */
363
-
364
- }, {
365
- key: 'render',
366
- value: function render() {
367
- var _this3 = this;
368
-
369
- var curUrl = window.location.href.split('#')[1];
370
- var menuIcons = this.props.menuIcons;
371
- var _state = this.state,
372
- setting = _state.setting,
373
- visible = _state.visible,
374
- layoutShow = _state.layoutShow,
375
- hover = _state.hover;
376
- var title = setting.title,
377
- navTheme = setting.navTheme,
378
- layout = setting.layout,
379
- contentWidth = setting.contentWidth,
380
- fixedHeader = setting.fixedHeader,
381
- fixSiderbar = setting.fixSiderbar,
382
- autoHideHeader = setting.autoHideHeader;
383
- // const layout === 'topmenu' = layout === 'topmenu'; //显示顶部菜单
384
- // 若内容区域宽度为定宽 则设置为1200px 左右居中
385
-
386
- var contentProps = contentWidth === 'Fixed' ? { margin: '0 auto', width: '1200px' } : {};
387
- var siderCom = _react2.default.createElement(
388
- Sider,
389
- {
390
- trigger: null,
391
- collapsible: true,
392
- collapsed: this.state.collapsed,
393
- width: leftMenuWidth,
394
- theme: navTheme,
395
- className: layout === 'mixmenu' && fixedHeader ? 'xgui-layout-fixHeader-content xgui-layout-sider' : 'xgui-layout-sider',
396
- onMouseEnter: function onMouseEnter() {
397
- _this3.setState({ hover: true });
398
- },
399
- onMouseLeave: function onMouseLeave() {
400
- _this3.setState({ hover: false });
401
- }
402
- },
403
- layout === 'sidemenu' && _react2.default.createElement(
404
- 'div',
405
- { className: 'xgui-layout-logo' },
406
- _react2.default.createElement('img', { alt: '', style: { maxWidth: 40, maxHeight: 40 }, src: this.props.config.logoUrl,
407
- onError: function onError(e) {
408
- e.target.src = _this3.props.config.logo;
409
- } }),
410
- !this.state.collapsed && _react2.default.createElement(
411
- 'span',
412
- { className: (0, _classnames2.default)('xgui-layout-logoSpan', { 'light': navTheme === 'light' }) },
413
- _react2.default.createElement(
414
- 'b',
415
- null,
416
- this.state.fwmc
417
- )
418
- )
419
- ),
420
- _react2.default.createElement(_LeftMenu2.default, { curUrl: curUrl, menuIcons: menuIcons, collapsed: this.state.collapsed, config: this.props.config, allMenu: this.props.allMenu, setting: setting }),
421
- _react2.default.createElement(
422
- 'div',
423
- { onClick: this.toggle, style: hover ? {} : { visibility: 'hidden' }, className: 'xgui-sider-btn-fixed' },
424
- _react2.default.createElement(_icon2.default, { type: 'left', rotate: this.state.collapsed ? 180 : 0 })
425
- ),
426
- !this.state.collapsed && this.props.config.sysVersion ? _react2.default.createElement(
427
- 'div',
428
- { className: 'xgui-layout-menu-version' },
429
- '\u7248\u672C\u53F7\uFF1A',
430
- this.props.config.sysVersion ? this.props.config.sysVersion : ''
431
- ) : null
432
- );
433
- var conTentCom = _react2.default.createElement(
434
- _layout2.default,
435
- { hasSider: false },
436
- layout !== 'mixmenu' && visible ? _react2.default.createElement(_Top2.default, { collapsed: this.state.collapsed, toggle: this.toggle, config: this.props.config, menuIcons: menuIcons,
437
- updataPassBtnAuth: this.props.config.updataPassBtnAuth, setting: setting }) : null,
438
- _react2.default.createElement(
439
- Content,
440
- { style: (0, _extends3.default)({ height: layout !== 'mixmenu' ? (0, _getSize3.default)().contentH : (0, _getSize3.default)().contentH + 40 }, contentProps), className: fixedHeader ? 'xgui-layout-fixHeader-content' : '' },
441
- layout === 'mixmenu' && _react2.default.createElement(_index2.default, { layout: layout }),
442
- this.props.children
443
- )
444
- );
445
- if (!layoutShow) {
446
- // return null;
447
- return _react2.default.createElement(
448
- _spin2.default,
449
- { spinning: true, size: 'large' },
450
- _react2.default.createElement('div', { style: { width: (0, _getSize3.default)().windowW, height: (0, _getSize3.default)().windowH } })
451
- );
355
+ /**
356
+ * 获取系统管理 配置项中的XTGL_LAYOUT_SETTING配置参数,如果为空的话就取默认的defaultSetting
357
+ */
358
+
359
+
360
+ /** 改变全局的fontsize */
361
+
362
+ /** 更改学工UI风格配置 */
363
+
364
+ /** 将setting缓存到session中 */
365
+
366
+ /** 将setting保存到数据库中 */
367
+
368
+ }, {
369
+ key: 'render',
370
+ value: function render() {
371
+ var _this3 = this;
372
+
373
+ var curUrl = window.location.href.split('#')[1];
374
+ var menuIcons = this.props.menuIcons;
375
+ var _state = this.state,
376
+ setting = _state.setting,
377
+ visible = _state.visible,
378
+ layoutShow = _state.layoutShow,
379
+ hover = _state.hover;
380
+ var title = setting.title,
381
+ navTheme = setting.navTheme,
382
+ layout = setting.layout,
383
+ contentWidth = setting.contentWidth,
384
+ fixedHeader = setting.fixedHeader,
385
+ fixSiderbar = setting.fixSiderbar,
386
+ autoHideHeader = setting.autoHideHeader;
387
+ // const layout === 'topmenu' = layout === 'topmenu'; //显示顶部菜单
388
+ // 若内容区域宽度为定宽 则设置为1200px 左右居中
389
+
390
+ var contentProps = contentWidth === 'Fixed' ? { margin: '0 auto', width: '1200px' } : {};
391
+ var siderCom = _react2.default.createElement(
392
+ Sider,
393
+ {
394
+ trigger: null,
395
+ collapsible: true,
396
+ collapsed: this.state.collapsed,
397
+ width: leftMenuWidth,
398
+ theme: navTheme,
399
+ className: layout === 'mixmenu' && fixedHeader ? 'xgui-layout-fixHeader-content xgui-layout-sider' : 'xgui-layout-sider',
400
+ onMouseEnter: function onMouseEnter() {
401
+ _this3.setState({ hover: true });
402
+ },
403
+ onMouseLeave: function onMouseLeave() {
404
+ _this3.setState({ hover: false });
405
+ }
406
+ },
407
+ layout === 'sidemenu' && _react2.default.createElement(
408
+ 'div',
409
+ { className: 'xgui-layout-logo' },
410
+ _react2.default.createElement('img', {
411
+ alt: '',
412
+ style: { maxWidth: 40, maxHeight: 40 },
413
+ src: this.props.config.logoUrl,
414
+ onError: function onError(e) {
415
+ e.target.src = _this3.props.config.logo;
452
416
  }
453
- return _react2.default.createElement(
454
- 'div',
455
- { style: { width: '100%', height: '100%' } },
456
- _react2.default.createElement(
457
- _layout2.default,
458
- { style: { height: '100%' } },
459
- layout === 'mixmenu' && visible && _react2.default.createElement(_mixTop2.default, { collapsed: this.state.collapsed, toggle: this.toggle, config: this.props.config,
460
- updataPassBtnAuth: this.props.config.updataPassBtnAuth, setting: setting }),
461
-
462
- // layout !== 'topmenu'&&
463
- // <Sider
464
- // trigger={null}
465
- // collapsible
466
- // collapsed={this.state.collapsed}
467
- // width={200}
468
- // theme={navTheme}
469
- // >
470
- // <div className={'xgui-layout-logo'}>
471
- // <img alt='' style={{maxWidth: 40, maxHeight: 40}} src={this.props.config.logoUrl}
472
- // onError={(e) => {
473
- // e.target.src = this.props.config.logo;
474
- // }}/>
475
- // {!this.state.collapsed &&
476
- // <span className={classNames('xgui-layout-logoSpan',{'light':navTheme==='light'})}><b>{this.state.fwmc}</b></span>}
477
- // </div>
478
- // <LeftMenu curUrl={curUrl} menuIcons={this.props.menuIcons} collapsed={ this.state.collapsed } config={this.props.config} allMenu={this.props.allMenu} setting={setting}/>
479
- // {/* 显示在左侧菜单底部的版本号 */}
480
- // {
481
- // !this.state.collapsed && this.props.config.sysVersion?
482
- // <div className={'xgui-layout-menu-version'}>
483
- // 版本号:{this.props.config.sysVersion?this.props.config.sysVersion:''}
484
- // </div>
485
- // : null
486
- // }
487
- // </Sider>
488
-
489
- layout === 'mixmenu' ?
490
- // 混合菜单布局
491
- _react2.default.createElement(
492
- _layout2.default,
493
- { hasSider: true },
494
- siderCom,
495
- conTentCom
496
- ) :
497
- // 顶部菜单布局
498
- layout === 'topmenu' ? _react2.default.createElement(
499
- _react2.default.Fragment,
500
- null,
501
- conTentCom
502
- ) :
503
- // 侧边菜单布局
504
- _react2.default.createElement(
505
- _layout2.default,
506
- { hasSider: true },
507
- siderCom,
508
- conTentCom
509
- )
510
- ),
511
-
512
- // 只有系统管理服务内容可开启主题设置
513
- this.props.config.baseUrl === 'api/zhxg-xtgl' && _react2.default.createElement(_settingDrawer2.default, { setting: setting, changeSetting: this.changeSetting, onSaveTheme: this.saveSettingToDataBase })
514
- );
515
- }
516
- }]);
517
- return NHLayout;
417
+ }),
418
+ !this.state.collapsed && _react2.default.createElement(
419
+ 'span',
420
+ {
421
+ className: (0, _classnames2.default)('xgui-layout-logoSpan', {
422
+ light: navTheme === 'light'
423
+ })
424
+ },
425
+ _react2.default.createElement(
426
+ 'b',
427
+ null,
428
+ this.state.fwmc
429
+ )
430
+ )
431
+ ),
432
+ _react2.default.createElement(_LeftMenu2.default, {
433
+ curUrl: curUrl,
434
+ menuIcons: menuIcons,
435
+ collapsed: this.state.collapsed,
436
+ config: this.props.config,
437
+ allMenu: this.props.allMenu,
438
+ setting: setting
439
+ }),
440
+ _react2.default.createElement(
441
+ 'div',
442
+ {
443
+ onClick: this.toggle,
444
+ style: hover ? {} : { visibility: 'hidden' },
445
+ className: 'xgui-sider-btn-fixed'
446
+ },
447
+ _react2.default.createElement(_icon2.default, { type: 'left', rotate: this.state.collapsed ? 180 : 0 })
448
+ ),
449
+ !this.state.collapsed && this.props.config.sysVersion ? _react2.default.createElement(
450
+ 'div',
451
+ { className: 'xgui-layout-menu-version' },
452
+ '\u7248\u672C\u53F7\uFF1A',
453
+ this.props.config.sysVersion ? this.props.config.sysVersion : ''
454
+ ) : null
455
+ );
456
+ var conTentCom = _react2.default.createElement(
457
+ _layout2.default,
458
+ { hasSider: false },
459
+ layout !== 'mixmenu' && visible ? _react2.default.createElement(_Top2.default, {
460
+ collapsed: this.state.collapsed,
461
+ toggle: this.toggle,
462
+ config: this.props.config,
463
+ menuIcons: menuIcons,
464
+ updataPassBtnAuth: this.props.config.updataPassBtnAuth,
465
+ setting: setting
466
+ }) : null,
467
+ _react2.default.createElement(
468
+ Content,
469
+ {
470
+ style: (0, _extends3.default)({
471
+ height: layout !== 'mixmenu' ? (0, _getSize3.default)().contentH : (0, _getSize3.default)().contentH + 40
472
+ }, contentProps),
473
+ className: fixedHeader ? 'xgui-layout-fixHeader-content' : ''
474
+ },
475
+ layout === 'mixmenu' && _react2.default.createElement(_index2.default, { layout: layout }),
476
+ this.props.children
477
+ )
478
+ );
479
+ if (!layoutShow) {
480
+ // return null;
481
+ return _react2.default.createElement(
482
+ _spin2.default,
483
+ { spinning: true, size: 'large' },
484
+ _react2.default.createElement('div', {
485
+ style: { width: (0, _getSize3.default)().windowW, height: (0, _getSize3.default)().windowH }
486
+ })
487
+ );
488
+ }
489
+ return _react2.default.createElement(
490
+ 'div',
491
+ { style: { width: '100%', height: '100%' } },
492
+ _react2.default.createElement(
493
+ _layout2.default,
494
+ { style: { height: '100%' } },
495
+ layout === 'mixmenu' && visible && _react2.default.createElement(_mixTop2.default, {
496
+ collapsed: this.state.collapsed,
497
+ toggle: this.toggle,
498
+ config: this.props.config,
499
+ updataPassBtnAuth: this.props.config.updataPassBtnAuth,
500
+ setting: setting
501
+ }),
502
+
503
+ // layout !== 'topmenu'&&
504
+ // <Sider
505
+ // trigger={null}
506
+ // collapsible
507
+ // collapsed={this.state.collapsed}
508
+ // width={200}
509
+ // theme={navTheme}
510
+ // >
511
+ // <div className={'xgui-layout-logo'}>
512
+ // <img alt='' style={{maxWidth: 40, maxHeight: 40}} src={this.props.config.logoUrl}
513
+ // onError={(e) => {
514
+ // e.target.src = this.props.config.logo;
515
+ // }}/>
516
+ // {!this.state.collapsed &&
517
+ // <span className={classNames('xgui-layout-logoSpan',{'light':navTheme==='light'})}><b>{this.state.fwmc}</b></span>}
518
+ // </div>
519
+ // <LeftMenu curUrl={curUrl} menuIcons={this.props.menuIcons} collapsed={ this.state.collapsed } config={this.props.config} allMenu={this.props.allMenu} setting={setting}/>
520
+ // {/* 显示在左侧菜单底部的版本号 */}
521
+ // {
522
+ // !this.state.collapsed && this.props.config.sysVersion?
523
+ // <div className={'xgui-layout-menu-version'}>
524
+ // 版本号:{this.props.config.sysVersion?this.props.config.sysVersion:''}
525
+ // </div>
526
+ // : null
527
+ // }
528
+ // </Sider>
529
+
530
+ layout === 'mixmenu' ?
531
+ // 混合菜单布局
532
+ _react2.default.createElement(
533
+ _layout2.default,
534
+ { hasSider: true },
535
+ siderCom,
536
+ conTentCom
537
+ ) : // 顶部菜单布局
538
+ layout === 'topmenu' ? _react2.default.createElement(
539
+ _react2.default.Fragment,
540
+ null,
541
+ conTentCom
542
+ ) :
543
+ // 侧边菜单布局
544
+ _react2.default.createElement(
545
+ _layout2.default,
546
+ { hasSider: true },
547
+ siderCom,
548
+ conTentCom
549
+ )
550
+ ),
551
+
552
+ // 只有系统管理服务内容可开启主题设置
553
+ this.props.config.baseUrl === 'api/hq-xtgl' && _react2.default.createElement(_settingDrawer2.default, {
554
+ setting: setting,
555
+ changeSetting: this.changeSetting,
556
+ onSaveTheme: this.saveSettingToDataBase
557
+ })
558
+ );
559
+ }
560
+ }]);
561
+ return NHLayout;
518
562
  }(_react2.default.Component);
519
563
 
520
564
  exports.default = NHLayout;