eoss-ui 0.5.68 → 0.5.69

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +929 -0
  2. package/lib/data-table.js +23 -14
  3. package/lib/eoss-ui.common.js +308 -190
  4. package/lib/icon.js +12 -3593
  5. package/lib/icons.js +1 -1
  6. package/lib/index.js +1 -1
  7. package/lib/login.js +79 -61
  8. package/lib/main.js +41 -9
  9. package/lib/menu.js +90 -55
  10. package/lib/nav.js +32 -5
  11. package/lib/player.js +2 -2
  12. package/lib/theme-chalk/base.css +1 -1
  13. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  14. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  15. package/lib/theme-chalk/icon.css +1 -1
  16. package/lib/theme-chalk/index.css +1 -1
  17. package/lib/theme-chalk/login.css +1 -1
  18. package/lib/theme-chalk/main.css +1 -1
  19. package/lib/theme-chalk/menu.css +1 -1
  20. package/lib/theme-chalk/sizer.css +1 -1
  21. package/lib/theme-chalk/upload.css +1 -1
  22. package/package.json +2 -2
  23. package/packages/data-table/src/main.vue +10 -5
  24. package/packages/icon/src/main.vue +10 -3
  25. package/packages/icons/src/icon.json +1 -1
  26. package/packages/login/src/main.vue +21 -13
  27. package/packages/main/src/main.vue +28 -6
  28. package/packages/menu/src/main.vue +75 -65
  29. package/packages/nav/src/main.vue +23 -4
  30. package/packages/theme-chalk/lib/base.css +1 -1
  31. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  32. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  33. package/packages/theme-chalk/lib/icon.css +1 -1
  34. package/packages/theme-chalk/lib/index.css +1 -1
  35. package/packages/theme-chalk/lib/login.css +1 -1
  36. package/packages/theme-chalk/lib/main.css +1 -1
  37. package/packages/theme-chalk/lib/menu.css +1 -1
  38. package/packages/theme-chalk/lib/sizer.css +1 -1
  39. package/packages/theme-chalk/lib/upload.css +1 -1
  40. package/packages/theme-chalk/src/common/var.scss +2 -0
  41. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  42. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  43. package/packages/theme-chalk/src/icon.scss +430 -426
  44. package/packages/theme-chalk/src/login.scss +2 -3
  45. package/packages/theme-chalk/src/main.scss +14 -5
  46. package/packages/theme-chalk/src/menu.scss +1 -1
  47. package/packages/theme-chalk/src/nav.scss +2 -2
  48. package/src/index.js +1 -1
package/lib/login.js CHANGED
@@ -3845,7 +3845,7 @@ var bankCard = { pattern: new RegExp('^([1-9]{1})(\\d{14}|\\d{18})$'), message:
3845
3845
  // ESM COMPAT FLAG
3846
3846
  __webpack_require__.r(__webpack_exports__);
3847
3847
 
3848
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/login/src/main.vue?vue&type=template&id=c5d4acd0&
3848
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/login/src/main.vue?vue&type=template&id=6be50449&
3849
3849
  var render = function () {
3850
3850
  var _vm = this
3851
3851
  var _h = _vm.$createElement
@@ -3962,20 +3962,28 @@ var render = function () {
3962
3962
  },
3963
3963
  [
3964
3964
  !_vm.loginTitleImg
3965
- ? _c(
3966
- "div",
3967
- { staticClass: "es-login-title" },
3968
- [
3969
- _c(
3970
- "span",
3971
- {
3972
- staticClass:
3973
- "es-login-title-content",
3974
- },
3975
- [_vm._v(_vm._s(_vm.title))]
3976
- ),
3977
- ]
3978
- )
3965
+ ? [
3966
+ _vm._t(
3967
+ "login-title",
3968
+ [
3969
+ _c(
3970
+ "div",
3971
+ { staticClass: "es-login-title" },
3972
+ [
3973
+ _c(
3974
+ "span",
3975
+ {
3976
+ staticClass:
3977
+ "es-login-title-content",
3978
+ },
3979
+ [_vm._v(_vm._s(_vm.title))]
3980
+ ),
3981
+ ]
3982
+ ),
3983
+ ],
3984
+ { type: _vm.active }
3985
+ ),
3986
+ ]
3979
3987
  : _vm._e(),
3980
3988
  _c(
3981
3989
  "el-form-item",
@@ -4261,7 +4269,7 @@ var render = function () {
4261
4269
  [_vm._v("登录")]
4262
4270
  ),
4263
4271
  ],
4264
- 1
4272
+ 2
4265
4273
  ),
4266
4274
  ]
4267
4275
  : _vm._e(),
@@ -4273,28 +4281,28 @@ var render = function () {
4273
4281
  { staticClass: "es-login-qrcode" },
4274
4282
  [
4275
4283
  !_vm.loginTitleImg
4276
- ? _c(
4277
- "div",
4278
- { staticClass: "es-login-title" },
4279
- [
4280
- _c(
4281
- "div",
4282
- {
4283
- staticClass:
4284
- "es-login-title-content",
4285
- },
4286
- [
4287
- _vm._v(
4288
- "\n " +
4289
- _vm._s(
4290
- _vm.iconfonts[_vm.active].name
4291
- ) +
4292
- "\n "
4293
- ),
4294
- ]
4295
- ),
4296
- ]
4297
- )
4284
+ ? [
4285
+ _vm._t(
4286
+ "login-title",
4287
+ [
4288
+ _c(
4289
+ "div",
4290
+ { staticClass: "es-login-title" },
4291
+ [
4292
+ _c(
4293
+ "span",
4294
+ {
4295
+ staticClass:
4296
+ "es-login-title-content",
4297
+ },
4298
+ [_vm._v(_vm._s(_vm.title))]
4299
+ ),
4300
+ ]
4301
+ ),
4302
+ ],
4303
+ { type: _vm.active }
4304
+ ),
4305
+ ]
4298
4306
  : _vm._e(),
4299
4307
  _c(
4300
4308
  "div",
@@ -4384,7 +4392,7 @@ var render = function () {
4384
4392
  )
4385
4393
  : _vm._e(),
4386
4394
  ],
4387
- 1
4395
+ 2
4388
4396
  ),
4389
4397
  ]
4390
4398
  : _vm._e(),
@@ -4400,26 +4408,28 @@ var render = function () {
4400
4408
  },
4401
4409
  [
4402
4410
  !_vm.loginTitleImg
4403
- ? _c(
4404
- "div",
4405
- { staticClass: "es-login-title" },
4406
- [
4407
- _c(
4408
- "span",
4409
- {
4410
- staticClass:
4411
- "es-login-title-content",
4412
- },
4413
- [
4414
- _vm._v(
4415
- _vm._s(
4416
- _vm.iconfonts[_vm.active].name
4417
- )
4418
- ),
4419
- ]
4420
- ),
4421
- ]
4422
- )
4411
+ ? [
4412
+ _vm._t(
4413
+ "login-title",
4414
+ [
4415
+ _c(
4416
+ "div",
4417
+ { staticClass: "es-login-title" },
4418
+ [
4419
+ _c(
4420
+ "span",
4421
+ {
4422
+ staticClass:
4423
+ "es-login-title-content",
4424
+ },
4425
+ [_vm._v(_vm._s(_vm.title))]
4426
+ ),
4427
+ ]
4428
+ ),
4429
+ ],
4430
+ { type: _vm.active }
4431
+ ),
4432
+ ]
4423
4433
  : _vm._e(),
4424
4434
  _c(
4425
4435
  "el-form-item",
@@ -4618,7 +4628,7 @@ var render = function () {
4618
4628
  [_vm._v("登录")]
4619
4629
  ),
4620
4630
  ],
4621
- 1
4631
+ 2
4622
4632
  ),
4623
4633
  ]
4624
4634
  : _vm._e(),
@@ -4765,7 +4775,7 @@ var staticRenderFns = []
4765
4775
  render._withStripped = true
4766
4776
 
4767
4777
 
4768
- // CONCATENATED MODULE: ./packages/login/src/main.vue?vue&type=template&id=c5d4acd0&
4778
+ // CONCATENATED MODULE: ./packages/login/src/main.vue?vue&type=template&id=6be50449&
4769
4779
 
4770
4780
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/login/src/resetPassword.vue?vue&type=template&id=28f463b9&
4771
4781
  var resetPasswordvue_type_template_id_28f463b9_render = function () {
@@ -5680,6 +5690,14 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
5680
5690
  //
5681
5691
  //
5682
5692
  //
5693
+ //
5694
+ //
5695
+ //
5696
+ //
5697
+ //
5698
+ //
5699
+ //
5700
+ //
5683
5701
 
5684
5702
 
5685
5703
 
package/lib/main.js CHANGED
@@ -3828,7 +3828,7 @@ module.exports = require("runtime-import");
3828
3828
  // ESM COMPAT FLAG
3829
3829
  __webpack_require__.r(__webpack_exports__);
3830
3830
 
3831
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/main.vue?vue&type=template&id=3910f883&
3831
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/main.vue?vue&type=template&id=098112dd&
3832
3832
  var render = function () {
3833
3833
  var _vm = this
3834
3834
  var _h = _vm.$createElement
@@ -3883,6 +3883,8 @@ var render = function () {
3883
3883
  attrs: {
3884
3884
  mode: "horizontal",
3885
3885
  icons: _vm.icons,
3886
+ "menu-icon": _vm.menuIcon,
3887
+ "sub-icon": _vm.subIcon,
3886
3888
  popperClass: "el-menu--popup-" + _vm.layout,
3887
3889
  data: _vm.navs,
3888
3890
  deep: _vm.layout === "topnav",
@@ -3975,7 +3977,10 @@ var render = function () {
3975
3977
  : _vm._e(),
3976
3978
  ]),
3977
3979
  _c("es-handle-user", {
3978
- attrs: { data: { type: "user" } },
3980
+ attrs: {
3981
+ data: { type: "user" },
3982
+ userModel: _vm.userModel,
3983
+ },
3979
3984
  on: { click: _vm.handleClick },
3980
3985
  }),
3981
3986
  ],
@@ -4021,13 +4026,17 @@ var render = function () {
4021
4026
  "is-top": _vm.layout == "topside",
4022
4027
  data: _vm.menu,
4023
4028
  "default-active": _vm.active,
4024
- width: _vm.navWidth,
4029
+ width: _vm.navsWidth,
4030
+ "nav-width": _vm.navWidth,
4025
4031
  icons: _vm.icons,
4032
+ "menu-icon": _vm.menuIcon,
4033
+ "sub-icon": _vm.subIcon,
4026
4034
  biserial: _vm.biserial,
4027
4035
  title: _vm.showNavTitle ? _vm.title : false,
4028
4036
  showCollapse: _vm.showNavTitle,
4029
4037
  "menu-tips": _vm.menuTips,
4030
4038
  "is-default": _vm.isDefault,
4039
+ paddingLeft: _vm.navPaddingLeft,
4031
4040
  },
4032
4041
  on: {
4033
4042
  open: function (res) {
@@ -4058,6 +4067,7 @@ var render = function () {
4058
4067
  data: _vm.tabs,
4059
4068
  titleIcons: false,
4060
4069
  "default-active": _vm.tabsId,
4070
+ "menu-icon": _vm.menuIcon,
4061
4071
  "menu-tips": _vm.menuTips,
4062
4072
  },
4063
4073
  on: {
@@ -4260,7 +4270,7 @@ var staticRenderFns = []
4260
4270
  render._withStripped = true
4261
4271
 
4262
4272
 
4263
- // CONCATENATED MODULE: ./packages/main/src/main.vue?vue&type=template&id=3910f883&
4273
+ // CONCATENATED MODULE: ./packages/main/src/main.vue?vue&type=template&id=098112dd&
4264
4274
 
4265
4275
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/userinfo.vue?vue&type=template&id=75d533de&
4266
4276
  var userinfovue_type_template_id_75d533de_render = function () {
@@ -6349,6 +6359,14 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
6349
6359
  //
6350
6360
  //
6351
6361
  //
6362
+ //
6363
+ //
6364
+ //
6365
+ //
6366
+ //
6367
+ //
6368
+ //
6369
+ //
6352
6370
 
6353
6371
 
6354
6372
 
@@ -6381,8 +6399,15 @@ var appCode = util["a" /* default */].getParams('appCode') || util["a" /* defaul
6381
6399
  maxHeight: String,
6382
6400
  //菜单导航地址
6383
6401
  menuUrl: String,
6384
- //菜单展开关闭
6402
+ //菜单展开关闭图标
6385
6403
  icons: Object,
6404
+ //菜单前置默认图标
6405
+ menuIcon: String,
6406
+ //子菜单是否显示前置图标
6407
+ subIcon: {
6408
+ type: Boolean,
6409
+ default: true
6410
+ },
6386
6411
  //logo
6387
6412
  logo: String,
6388
6413
  //菜单显示类型
@@ -6506,7 +6531,10 @@ var appCode = util["a" /* default */].getParams('appCode') || util["a" /* defaul
6506
6531
  type: [Boolean, String],
6507
6532
  default: true
6508
6533
  },
6509
- appCode: String
6534
+ appCode: String,
6535
+ //菜单左边距
6536
+ navPaddingLeft: Number,
6537
+ navWidth: String
6510
6538
  },
6511
6539
  computed: {
6512
6540
  showHeader: function showHeader() {
@@ -6533,7 +6561,7 @@ var appCode = util["a" /* default */].getParams('appCode') || util["a" /* defaul
6533
6561
  }
6534
6562
  return true;
6535
6563
  },
6536
- navWidth: function navWidth() {
6564
+ navsWidth: function navsWidth() {
6537
6565
  return this.layout === 'topside' ? '230px' : undefined;
6538
6566
  },
6539
6567
  showNavTitle: function showNavTitle() {
@@ -7853,8 +7881,12 @@ var appCode = util["a" /* default */].getParams('appCode') || util["a" /* defaul
7853
7881
  }
7854
7882
  }
7855
7883
  } else {
7856
- console.error('缺少路由配置');
7857
- return;
7884
+ this.method = 'iframe';
7885
+ this.refresh = false;
7886
+ this.page = util["a" /* default */].handlerUrl(page, param);
7887
+ this.$nextTick(function () {
7888
+ _this10.refresh = true;
7889
+ });
7858
7890
  }
7859
7891
  }
7860
7892
  }
package/lib/menu.js CHANGED
@@ -87,6 +87,13 @@ module.exports =
87
87
  /************************************************************************/
88
88
  /******/ ({
89
89
 
90
+ /***/ 18:
91
+ /***/ (function(module, exports) {
92
+
93
+ module.exports = require("throttle-debounce");
94
+
95
+ /***/ }),
96
+
90
97
  /***/ 3:
91
98
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
99
 
@@ -199,9 +206,13 @@ function normalizeComponent(
199
206
  // ESM COMPAT FLAG
200
207
  __webpack_require__.r(__webpack_exports__);
201
208
 
209
+ // EXTERNAL MODULE: external "throttle-debounce"
210
+ var external_throttle_debounce_ = __webpack_require__(18);
211
+
202
212
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/main.vue?vue&type=script&lang=js&
203
213
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
204
214
 
215
+
205
216
  /* harmony default export */ var mainvue_type_script_lang_js_ = ({
206
217
  name: 'EsMenu',
207
218
  inheritAttrs: false,
@@ -241,6 +252,15 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
241
252
  paddingLeft: {
242
253
  type: Number,
243
254
  default: 14
255
+ },
256
+ menuIcon: {
257
+ type: String,
258
+ default: 'es-icon-application'
259
+ },
260
+ icons: Object,
261
+ subIcon: {
262
+ type: Boolean,
263
+ default: true
244
264
  }
245
265
  },
246
266
  computed: {
@@ -248,37 +268,18 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
248
268
  return this.height === undefined ? this.maxH : this.height;
249
269
  },
250
270
  maxWidth: function maxWidth() {
251
- if (this.mode === 'vertical') {
252
- return this.width;
253
- }
254
271
  return this.maxW;
255
272
  }
256
273
  },
257
274
  watch: {
258
275
  data: {
259
- immediate: true,
260
276
  deep: true,
261
277
  handler: function handler() {
262
- var _this = this;
263
-
264
- if (this.mode === 'vertical') {
265
- this.$nextTick(function () {
266
- _this.maxH = _this.$refs.esMenu.$el.getBoundingClientRect().height + 'px';
267
- });
268
- } else {
269
- this.$nextTick(function () {
270
- var w = 0;
271
- Array.from(_this.$refs.menu.$el.children).forEach(function (item) {
272
- w += item.getBoundingClientRect().width;
273
- });
274
- var styles = window.getComputedStyle(_this.$refs.menu.$el);
275
- w += parseFloat(styles.paddingLeft) + parseFloat(styles.paddingRight);
276
- if (w > _this.$refs.esMenu.$el.getBoundingClientRect().width) {
277
- _this.maxW = w + 'px';
278
- }
279
- });
280
- }
278
+ this.getMaxWidth();
281
279
  }
280
+ },
281
+ width: function width() {
282
+ this.getMaxWidth();
282
283
  }
283
284
  },
284
285
  data: function data() {
@@ -290,19 +291,51 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
290
291
  isChange: false
291
292
  };
292
293
  },
293
- mounted: function mounted() {},
294
+ created: function created() {
295
+ var _this = this;
296
+
297
+ this.getMaxWidth = Object(external_throttle_debounce_["debounce"])(300, function () {
298
+ _this.getWidth();
299
+ });
300
+ },
301
+ mounted: function mounted() {
302
+ this.getMaxWidth();
303
+ },
294
304
 
295
305
  methods: {
296
- handleReady: function handleReady() {
306
+ getWidth: function getWidth() {
297
307
  var _this2 = this;
298
308
 
309
+ if (this.mode === 'vertical') {
310
+ this.$nextTick(function () {
311
+ _this2.maxH = _this2.$refs.esMenu.$el.getBoundingClientRect().height + 'px';
312
+ var styles = window.getComputedStyle(_this2.$refs.menu.$el.parentNode);
313
+ _this2.maxW = _this2.width ? parseInt(_this2.width, 10) - parseInt(styles.marginLeft, 10) - parseInt(styles.marginRight, 10) + 'px' : '';
314
+ });
315
+ } else {
316
+ this.$nextTick(function () {
317
+ var w = 0;
318
+ Array.from(_this2.$refs.menu.$el.children).forEach(function (item) {
319
+ w += item.getBoundingClientRect().width;
320
+ });
321
+ var styles = window.getComputedStyle(_this2.$refs.menu.$el);
322
+ w += parseFloat(styles.paddingLeft) + parseFloat(styles.paddingRight);
323
+ if (w > _this2.$refs.esMenu.$el.getBoundingClientRect().width) {
324
+ _this2.maxW = w + 'px';
325
+ }
326
+ });
327
+ }
328
+ },
329
+ handleReady: function handleReady() {
330
+ var _this3 = this;
331
+
299
332
  if (this.mode === 'horizontal') {
300
333
  this.$refs.esMenu.wrap.onmouseover = function (e) {
301
- _this2.$refs.esMenu.wrap.addEventListener('mousewheel', _this2.handleWheel, { passive: false }) || _this2.$refs.esMenu.wrap.addEventListener('DOMMouseScroll', _this2.handleWheel, false);
334
+ _this3.$refs.esMenu.wrap.addEventListener('mousewheel', _this3.handleWheel, { passive: false }) || _this3.$refs.esMenu.wrap.addEventListener('DOMMouseScroll', _this3.handleWheel, false);
302
335
  e.preventDefault();
303
336
  };
304
337
  this.$refs.esMenu.wrap.onmouseout = function (e) {
305
- _this2.$refs.esMenu.wrap.removeEventListener('mousewheel', _this2.handleWheel, { passive: false }) || _this2.$refs.esMenu.wrap.removeEventListener('DOMMouseScroll', _this2.handleWheel, false);
338
+ _this3.$refs.esMenu.wrap.removeEventListener('mousewheel', _this3.handleWheel, { passive: false }) || _this3.$refs.esMenu.wrap.removeEventListener('DOMMouseScroll', _this3.handleWheel, false);
306
339
  e.preventDefault();
307
340
  };
308
341
  }
@@ -360,7 +393,7 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
360
393
  }
361
394
  },
362
395
  handleSelect: function handleSelect(key, keyPath, item) {
363
- var _this3 = this;
396
+ var _this4 = this;
364
397
 
365
398
  this.isChange = true;
366
399
  if (this.menuId !== null && keyPath.indexOf(this.menuId) == -1) {
@@ -369,7 +402,7 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
369
402
  var openedMenus = item.rootMenu.openedMenus;
370
403
  openedMenus.forEach(function (item) {
371
404
  if (keyPath.indexOf(item) == -1) {
372
- _this3.$refs.menu.close(item);
405
+ _this4.$refs.menu.close(item);
373
406
  }
374
407
  });
375
408
  }
@@ -402,18 +435,24 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
402
435
  mode: this.mode
403
436
  });
404
437
  },
405
- getSub: function getSub(item, h, popper, fourthTabs) {
406
- var _this4 = this;
438
+ getSub: function getSub(item, h, popper, fourthTabs, subIcon) {
439
+ var _this5 = this;
407
440
 
408
441
  if (popper) {
409
442
  popper += this.popperClass !== undefined ? ' ' + this.popperClass : ' es-menu-popper-' + this.mode;
410
443
  } else {
411
444
  popper = this.popperClass !== undefined ? this.popperClass : ' es-menu-popper-' + this.mode;
412
445
  }
413
- var title = [h('i', {
414
- class: [item.icons ? this.unicode(item.icons) ? item.icons : 'es-icon iconfont' : 'es-icon-application', 'es-menu-item-icon'],
415
- domProps: item.icons === '' || this.unicode(item.icons) ? {} : { innerHTML: item.icons }
416
- }), h('div', {
446
+ var title = [];
447
+ if (subIcon) {
448
+ title.push(h('es-icon', {
449
+ props: {
450
+ contents: item.icons || this.menuIcon
451
+ },
452
+ class: ['es-menu-item-icon']
453
+ }));
454
+ }
455
+ title.push(h('div', {
417
456
  class: ['es-menu-title-text es-menu-title-' + this.mode]
418
457
  }, [h('el-badge', {
419
458
  class: ['es-badge', {
@@ -431,14 +470,14 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
431
470
  max: 99,
432
471
  hidden: !item.tips
433
472
  }
434
- }, [item.text])])];
473
+ }, [item.text])]));
435
474
  var doms = [h('template', { slot: 'title' }, this.titleIcons ? title : [title[1]])];
436
475
  if (this.deep && item.children && item.children.length && (!item.extendData || item.extendData.businessStatus != 0)) {
437
476
  doms = doms.concat(item.children.map(function (ele, index) {
438
477
  if (!ele) {
439
478
  console.error('\u5BF9\u8C61\u5B50\u6570\u636E\u4E2D\u7B2C[' + index + ']\u6761\u6570\u636E\u9519\u8BEF', item);
440
479
  } else {
441
- return _this4.getSub(ele, h, popper);
480
+ return _this5.getSub(ele, h, popper, false, _this5.subIcon);
442
481
  }
443
482
  }));
444
483
  return [h('el-submenu', {
@@ -456,7 +495,7 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
456
495
  if (!ele) {
457
496
  console.error('\u5BF9\u8C61\u5B50\u6570\u636E\u4E2D\u7B2C[' + index + ']\u6761\u6570\u636E\u9519\u8BEF', item);
458
497
  } else {
459
- return _this4.getSub(ele, h, popper, true);
498
+ return _this5.getSub(ele, h, popper, true, _this5.subIcon);
460
499
  }
461
500
  }));
462
501
  return [h('el-submenu', {
@@ -484,28 +523,23 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
484
523
  }
485
524
  }, this.titleIcons ? title : [title[1]])];
486
525
  }
487
- },
488
- unicode: function unicode(res) {
489
- if (!res) {
490
- return false;
491
- }
492
- var reg = new RegExp(/^es-\S+/, 'g');
493
- return res.match(reg) ? res.match(reg).length : 0;
494
526
  }
495
527
  },
496
528
  render: function render(h) {
497
- var _this5 = this;
529
+ var _this6 = this;
498
530
 
499
531
  var doms = [];
500
532
  this.data.forEach(function (item) {
501
533
  if (item.children && item.children.length && (!item.extendData || item.extendData.businessStatus != 0)) {
502
- doms = doms.concat(_this5.getSub(item, h, 'es-sub-menu'));
534
+ doms = doms.concat(_this6.getSub(item, h, 'es-sub-menu', false, true));
503
535
  } else {
504
- var title = [h('i', {
505
- class: [item.icons ? _this5.unicode(item.icons) ? item.icons : 'es-icon iconfont' : 'es-icon-application', 'es-menu-item-icon'],
506
- domProps: item.icons === '' || _this5.unicode(item.icons) ? {} : { innerHTML: item.icons }
536
+ var title = [h('es-icon', {
537
+ props: {
538
+ contents: item.icons || _this6.menuIcon
539
+ },
540
+ class: ['es-menu-item-icon']
507
541
  }), h('div', {
508
- class: ['es-menu-title-text es-menu-title-' + _this5.mode]
542
+ class: ['es-menu-title-text es-menu-title-' + _this6.mode]
509
543
  }, [h('el-badge', {
510
544
  class: ['es-badge', {
511
545
  'es-badge-right': item.tips && typeof item.tips !== 'boolean',
@@ -521,9 +555,9 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
521
555
  }
522
556
  }, [item.text])])];
523
557
  doms.push(h('el-menu-item', {
524
- class: ['es-menu-item-' + _this5.mode],
558
+ class: ['es-menu-item-' + _this6.mode],
525
559
  props: {
526
- paddingLeft: _this5.paddingLeft,
560
+ paddingLeft: _this6.paddingLeft,
527
561
  disabled: item.extendData && item.extendData.businessStatus == 0
528
562
  },
529
563
  attrs: {
@@ -531,7 +565,7 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
531
565
  index: item.id,
532
566
  key: item.id
533
567
  }
534
- }, _this5.titleIcons ? title : [title[1]]));
568
+ }, _this6.titleIcons ? title : [title[1]]));
535
569
  }
536
570
  });
537
571
  return h('el-scrollbar', {
@@ -549,7 +583,8 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
549
583
  defaultActive: this.defaultActive,
550
584
  collapse: this.collapse,
551
585
  mode: this.mode,
552
- uniqueOpened: this.uniqueOpened
586
+ uniqueOpened: this.uniqueOpened,
587
+ icons: this.icons
553
588
  },
554
589
  style: { width: this.maxWidth },
555
590
  attrs: _extends({}, this.$attrs),