eoss-ui 0.5.68 → 0.5.70

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 (96) hide show
  1. package/CHANGELOG.md +929 -0
  2. package/lib/button-group.js +34 -36
  3. package/lib/button.js +34 -36
  4. package/lib/checkbox-group.js +70 -56
  5. package/lib/data-table-form.js +37 -39
  6. package/lib/data-table.js +73 -64
  7. package/lib/date-picker.js +34 -36
  8. package/lib/dialog.js +49 -51
  9. package/lib/eoss-ui.common.js +944 -728
  10. package/lib/flow-group.js +34 -36
  11. package/lib/flow-list.js +36 -38
  12. package/lib/flow.js +40 -42
  13. package/lib/form.js +410 -376
  14. package/lib/handle-user.js +36 -38
  15. package/lib/handler.js +34 -36
  16. package/lib/icon.js +12 -3593
  17. package/lib/icons.js +1 -1
  18. package/lib/index.js +1 -1
  19. package/lib/input-number.js +34 -36
  20. package/lib/input.js +65 -48
  21. package/lib/layout.js +2 -2
  22. package/lib/login.js +131 -114
  23. package/lib/main.js +80 -50
  24. package/lib/menu.js +91 -55
  25. package/lib/nav.js +66 -41
  26. package/lib/page.js +34 -36
  27. package/lib/player.js +36 -38
  28. package/lib/qr-code.js +34 -36
  29. package/lib/radio-group.js +69 -53
  30. package/lib/retrial-auth.js +34 -36
  31. package/lib/select-ganged.js +122 -106
  32. package/lib/select.js +112 -96
  33. package/lib/selector-panel.js +90 -76
  34. package/lib/selector.js +34 -36
  35. package/lib/sizer.js +36 -38
  36. package/lib/steps.js +60 -44
  37. package/lib/switch.js +34 -36
  38. package/lib/table-form.js +36 -38
  39. package/lib/tabs.js +34 -36
  40. package/lib/theme-chalk/base.css +1 -1
  41. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  42. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  43. package/lib/theme-chalk/icon.css +1 -1
  44. package/lib/theme-chalk/index.css +1 -1
  45. package/lib/theme-chalk/login.css +1 -1
  46. package/lib/theme-chalk/main.css +1 -1
  47. package/lib/theme-chalk/menu.css +1 -1
  48. package/lib/theme-chalk/sizer.css +1 -1
  49. package/lib/theme-chalk/upload.css +1 -1
  50. package/lib/tips.js +59 -42
  51. package/lib/tree-group.js +34 -36
  52. package/lib/tree.js +93 -77
  53. package/lib/upload.js +111 -94
  54. package/lib/utils/util.js +34 -36
  55. package/lib/wujie.js +34 -36
  56. package/lib/wxlogin.js +34 -36
  57. package/package.json +2 -2
  58. package/packages/checkbox-group/src/main.vue +7 -1
  59. package/packages/data-table/src/main.vue +13 -6
  60. package/packages/dialog/src/main.vue +2 -3
  61. package/packages/form/src/main.vue +11 -2
  62. package/packages/icon/src/main.vue +10 -3
  63. package/packages/icons/src/icon.json +1 -1
  64. package/packages/input/src/main.vue +8 -1
  65. package/packages/login/src/main.vue +36 -24
  66. package/packages/main/src/main.vue +28 -6
  67. package/packages/menu/src/main.vue +76 -65
  68. package/packages/nav/src/main.vue +23 -4
  69. package/packages/radio-group/src/main.vue +7 -1
  70. package/packages/select/src/main.vue +7 -1
  71. package/packages/select-ganged/src/main.vue +7 -1
  72. package/packages/selector-panel/src/main.vue +7 -1
  73. package/packages/steps/src/main.vue +9 -3
  74. package/packages/theme-chalk/lib/base.css +1 -1
  75. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  76. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  77. package/packages/theme-chalk/lib/icon.css +1 -1
  78. package/packages/theme-chalk/lib/index.css +1 -1
  79. package/packages/theme-chalk/lib/login.css +1 -1
  80. package/packages/theme-chalk/lib/main.css +1 -1
  81. package/packages/theme-chalk/lib/menu.css +1 -1
  82. package/packages/theme-chalk/lib/sizer.css +1 -1
  83. package/packages/theme-chalk/lib/upload.css +1 -1
  84. package/packages/theme-chalk/src/common/var.scss +2 -0
  85. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  86. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  87. package/packages/theme-chalk/src/icon.scss +430 -426
  88. package/packages/theme-chalk/src/login.scss +2 -3
  89. package/packages/theme-chalk/src/main.scss +14 -5
  90. package/packages/theme-chalk/src/menu.scss +1 -1
  91. package/packages/theme-chalk/src/nav.scss +2 -2
  92. package/packages/tips/src/main.vue +8 -1
  93. package/packages/tree/src/main.vue +8 -2
  94. package/packages/upload/src/main.vue +11 -2
  95. package/src/index.js +1 -1
  96. package/src/utils/util.js +34 -34
@@ -1,4 +1,5 @@
1
1
  <script>
2
+ import { debounce } from 'throttle-debounce';
2
3
  export default {
3
4
  name: 'EsMenu',
4
5
  inheritAttrs: false,
@@ -38,6 +39,15 @@ export default {
38
39
  paddingLeft: {
39
40
  type: Number,
40
41
  default: 14
42
+ },
43
+ menuIcon: {
44
+ type: String,
45
+ default: 'es-icon-application'
46
+ },
47
+ icons: Object,
48
+ subIcon: {
49
+ type: Boolean,
50
+ default: true
41
51
  }
42
52
  },
43
53
  computed: {
@@ -45,37 +55,18 @@ export default {
45
55
  return this.height === undefined ? this.maxH : this.height;
46
56
  },
47
57
  maxWidth() {
48
- if (this.mode === 'vertical') {
49
- return this.width;
50
- }
51
58
  return this.maxW;
52
59
  }
53
60
  },
54
61
  watch: {
55
62
  data: {
56
- immediate: true,
57
63
  deep: true,
58
64
  handler() {
59
- if (this.mode === 'vertical') {
60
- this.$nextTick(() => {
61
- this.maxH =
62
- this.$refs.esMenu.$el.getBoundingClientRect().height + 'px';
63
- });
64
- } else {
65
- this.$nextTick(() => {
66
- let w = 0;
67
- Array.from(this.$refs.menu.$el.children).forEach((item) => {
68
- w += item.getBoundingClientRect().width;
69
- });
70
- const styles = window.getComputedStyle(this.$refs.menu.$el);
71
- w +=
72
- parseFloat(styles.paddingLeft) + parseFloat(styles.paddingRight);
73
- if (w > this.$refs.esMenu.$el.getBoundingClientRect().width) {
74
- this.maxW = w + 'px';
75
- }
76
- });
77
- }
65
+ this.getMaxWidth();
78
66
  }
67
+ },
68
+ width() {
69
+ this.getMaxWidth();
79
70
  }
80
71
  },
81
72
  data() {
@@ -87,8 +78,45 @@ export default {
87
78
  isChange: false
88
79
  };
89
80
  },
90
- mounted() {},
81
+ beforeCreate() {
82
+ this.getMaxWidth = debounce(300, () => {
83
+ this.getWidth();
84
+ });
85
+ },
86
+ created() {},
87
+ mounted() {
88
+ this.getMaxWidth();
89
+ },
91
90
  methods: {
91
+ getWidth() {
92
+ if (this.mode === 'vertical') {
93
+ this.$nextTick(() => {
94
+ this.maxH =
95
+ this.$refs.esMenu.$el.getBoundingClientRect().height + 'px';
96
+ const styles = window.getComputedStyle(
97
+ this.$refs.menu.$el.parentNode
98
+ );
99
+ this.maxW = this.width
100
+ ? parseInt(this.width, 10) -
101
+ parseInt(styles.marginLeft, 10) -
102
+ parseInt(styles.marginRight, 10) +
103
+ 'px'
104
+ : '';
105
+ });
106
+ } else {
107
+ this.$nextTick(() => {
108
+ let w = 0;
109
+ Array.from(this.$refs.menu.$el.children).forEach((item) => {
110
+ w += item.getBoundingClientRect().width;
111
+ });
112
+ const styles = window.getComputedStyle(this.$refs.menu.$el);
113
+ w += parseFloat(styles.paddingLeft) + parseFloat(styles.paddingRight);
114
+ if (w > this.$refs.esMenu.$el.getBoundingClientRect().width) {
115
+ this.maxW = w + 'px';
116
+ }
117
+ });
118
+ }
119
+ },
92
120
  handleReady() {
93
121
  if (this.mode === 'horizontal') {
94
122
  this.$refs.esMenu.wrap.onmouseover = (e) => {
@@ -221,7 +249,7 @@ export default {
221
249
  mode: this.mode
222
250
  });
223
251
  },
224
- getSub(item, h, popper, fourthTabs) {
252
+ getSub(item, h, popper, fourthTabs, subIcon) {
225
253
  if (popper) {
226
254
  popper +=
227
255
  this.popperClass !== undefined
@@ -233,21 +261,18 @@ export default {
233
261
  ? this.popperClass
234
262
  : ` es-menu-popper-${this.mode}`;
235
263
  }
236
- const title = [
237
- h('i', {
238
- class: [
239
- item.icons
240
- ? this.unicode(item.icons)
241
- ? item.icons
242
- : 'es-icon iconfont'
243
- : 'es-icon-application',
244
- 'es-menu-item-icon'
245
- ],
246
- domProps:
247
- item.icons === '' || this.unicode(item.icons)
248
- ? {}
249
- : { innerHTML: item.icons }
250
- }),
264
+ let title = [];
265
+ if (subIcon) {
266
+ title.push(
267
+ h('es-icon', {
268
+ props: {
269
+ contents: item.icons || this.menuIcon
270
+ },
271
+ class: ['es-menu-item-icon']
272
+ })
273
+ );
274
+ }
275
+ title.push(
251
276
  h(
252
277
  'div',
253
278
  {
@@ -284,7 +309,7 @@ export default {
284
309
  )
285
310
  ]
286
311
  )
287
- ];
312
+ );
288
313
  let doms = [
289
314
  h('template', { slot: 'title' }, this.titleIcons ? title : [title[1]])
290
315
  ];
@@ -299,7 +324,7 @@ export default {
299
324
  if (!ele) {
300
325
  console.error(`对象子数据中第[${index}]条数据错误`, item);
301
326
  } else {
302
- return this.getSub(ele, h, popper);
327
+ return this.getSub(ele, h, popper, false, this.subIcon);
303
328
  }
304
329
  })
305
330
  );
@@ -337,7 +362,7 @@ export default {
337
362
  if (!ele) {
338
363
  console.error(`对象子数据中第[${index}]条数据错误`, item);
339
364
  } else {
340
- return this.getSub(ele, h, popper, true);
365
+ return this.getSub(ele, h, popper, true, this.subIcon);
341
366
  }
342
367
  })
343
368
  );
@@ -386,13 +411,6 @@ export default {
386
411
  )
387
412
  ];
388
413
  }
389
- },
390
- unicode(res) {
391
- if (!res) {
392
- return false;
393
- }
394
- var reg = new RegExp(/^es-\S+/, 'g');
395
- return res.match(reg) ? res.match(reg).length : 0;
396
414
  }
397
415
  },
398
416
  render(h) {
@@ -403,22 +421,14 @@ export default {
403
421
  item.children.length &&
404
422
  (!item.extendData || item.extendData.businessStatus != 0)
405
423
  ) {
406
- doms = doms.concat(this.getSub(item, h, 'es-sub-menu'));
424
+ doms = doms.concat(this.getSub(item, h, 'es-sub-menu', false, true));
407
425
  } else {
408
426
  const title = [
409
- h('i', {
410
- class: [
411
- item.icons
412
- ? this.unicode(item.icons)
413
- ? item.icons
414
- : 'es-icon iconfont'
415
- : 'es-icon-application',
416
- 'es-menu-item-icon'
417
- ],
418
- domProps:
419
- item.icons === '' || this.unicode(item.icons)
420
- ? {}
421
- : { innerHTML: item.icons }
427
+ h('es-icon', {
428
+ props: {
429
+ contents: item.icons || this.menuIcon
430
+ },
431
+ class: ['es-menu-item-icon']
422
432
  }),
423
433
  h(
424
434
  'div',
@@ -501,7 +511,8 @@ export default {
501
511
  defaultActive: this.defaultActive,
502
512
  collapse: this.collapse,
503
513
  mode: this.mode,
504
- uniqueOpened: this.uniqueOpened
514
+ uniqueOpened: this.uniqueOpened,
515
+ icons: this.icons
505
516
  },
506
517
  style: { width: this.maxWidth },
507
518
  attrs: { ...this.$attrs },
@@ -14,11 +14,15 @@
14
14
  :deep="false"
15
15
  :default-active="subActive"
16
16
  :biserial="biserial"
17
+ :menu-icons="menuIcon"
18
+ :icons="icons"
19
+ :sub-icon="subIcon"
17
20
  @select="handleTrigger"
18
21
  ></es-menu>
19
22
  </div>
20
23
  <div
21
24
  class="es-nav-main"
25
+ :biserial="biserial"
22
26
  :style="{ width: biserial ? width : boxWidth }"
23
27
  v-show="biserial ? subMenu.length : menu.length"
24
28
  >
@@ -47,6 +51,10 @@
47
51
  :style="{ height: menuHeight }"
48
52
  :is-default="isDefault"
49
53
  :biserial="biserial"
54
+ :paddingLeft="paddingLeft"
55
+ :menu-icon="menuIcon"
56
+ :icons="icons"
57
+ :sub-icon="subIcon"
50
58
  @select="handleSelect"
51
59
  @open="handleOpen"
52
60
  @close="handleClose"
@@ -73,6 +81,10 @@ export default {
73
81
  type: String,
74
82
  default: '200px'
75
83
  },
84
+ navWidth: {
85
+ type: String,
86
+ default: '70px'
87
+ },
76
88
  showCollapse: {
77
89
  type: Boolean,
78
90
  default: true
@@ -84,7 +96,14 @@ export default {
84
96
  //是否双列导航
85
97
  biserial: Boolean,
86
98
  defaultActive: [String, Array],
87
- isDefault: Boolean
99
+ isDefault: Boolean,
100
+ paddingLeft: Number,
101
+ menuIcon: String,
102
+ icons: Object,
103
+ subIcon: {
104
+ type: Boolean,
105
+ default: true
106
+ }
88
107
  },
89
108
  computed: {
90
109
  menu() {
@@ -119,12 +138,12 @@ export default {
119
138
  if (this.isShow) {
120
139
  return this.width;
121
140
  } else {
122
- return '70px';
141
+ return this.navWidth;
123
142
  }
124
143
  }
125
144
  return this.subMenu && this.subMenu.length && this.isShow
126
- ? parseInt(this.width, 10) + 70 + 'px'
127
- : '70px';
145
+ ? parseInt(this.width, 10) + parseInt(this.navWidth, 10) + 'px'
146
+ : this.navWidth;
128
147
  }
129
148
  },
130
149
  watch: {
@@ -56,6 +56,7 @@
56
56
 
57
57
  <script>
58
58
  import { findSysCode, getDictList } from 'eoss-ui/src/config/api.js';
59
+ import { debounce } from 'throttle-debounce';
59
60
  import store from 'eoss-ui/src/utils/store';
60
61
  import util from 'eoss-ui/src/utils/util';
61
62
  import bus from 'eoss-ui/src/utils/bus';
@@ -228,12 +229,17 @@ export default {
228
229
  }
229
230
  }
230
231
  },
232
+ beforeCreate() {
233
+ this.getData = debounce(300, (url, sysCode) => {
234
+ this.getDatas(url, sysCode);
235
+ });
236
+ },
231
237
  created() {
232
238
  this.bindEventBus();
233
239
  },
234
240
  mounted() {},
235
241
  methods: {
236
- getData(url, sysCode) {
242
+ getDatas(url, sysCode) {
237
243
  let params = {};
238
244
  if (this.results.length === 0) {
239
245
  params = util.extend(
@@ -1,5 +1,6 @@
1
1
  <script>
2
2
  import { findSysCode, getDictList } from 'eoss-ui/src/config/api.js';
3
+ import { debounce } from 'throttle-debounce';
3
4
  import store from 'eoss-ui/src/utils/store';
4
5
  import util from 'eoss-ui/src/utils/util';
5
6
  import bus from 'eoss-ui/src/utils/bus';
@@ -231,6 +232,11 @@ export default {
231
232
  }
232
233
  }
233
234
  },
235
+ beforeCreate() {
236
+ this.getData = debounce(300, (sysCode, param, reload) => {
237
+ this.getDatas(sysCode, param, reload);
238
+ });
239
+ },
234
240
  created() {
235
241
  this.bindEventBus();
236
242
  },
@@ -327,7 +333,7 @@ export default {
327
333
  });
328
334
  return eles;
329
335
  },
330
- getData(sysCode, param, reload) {
336
+ getDatas(sysCode, param, reload) {
331
337
  if (
332
338
  !reload &&
333
339
  (!this.ajax ||
@@ -1,5 +1,6 @@
1
1
  <script>
2
2
  import { findSysCode, getDictList } from 'eoss-ui/src/config/api.js';
3
+ import { debounce } from 'throttle-debounce';
3
4
  import util from 'eoss-ui/src/utils/util';
4
5
  export default {
5
6
  name: 'EsSelectGanged',
@@ -233,12 +234,17 @@ export default {
233
234
  }
234
235
  }
235
236
  },
237
+ beforeCreate() {
238
+ this.getData = debounce(300, () => {
239
+ this.getDatas();
240
+ });
241
+ },
236
242
  created() {
237
243
  this.getData();
238
244
  },
239
245
  mounted() {},
240
246
  methods: {
241
- getData() {
247
+ getDatas() {
242
248
  if (!this.integrality || !this.url) {
243
249
  return false;
244
250
  }
@@ -109,6 +109,7 @@ import {
109
109
  getSelectorOrgTree,
110
110
  getSelectorOrgDetail
111
111
  } from 'eoss-ui/src/config/api.js';
112
+ import { debounce } from 'throttle-debounce';
112
113
  import util from 'eoss-ui/src/utils/util.js';
113
114
  export default {
114
115
  name: 'EsSelectorPanel',
@@ -601,12 +602,17 @@ export default {
601
602
  this.trees[this.activeName].value = val;
602
603
  }
603
604
  },
605
+ beforeCreate() {
606
+ this.ajaxActive = debounce(300, (active) => {
607
+ this.getAjaxActive(active);
608
+ });
609
+ },
604
610
  created() {},
605
611
  mounted() {
606
612
  this.ajaxActive(this.activeName);
607
613
  },
608
614
  methods: {
609
- ajaxActive(active) {
615
+ getAjaxActive(active) {
610
616
  if (this.isShowTree) {
611
617
  if (
612
618
  (!this.trees[active].data ||
@@ -66,6 +66,7 @@
66
66
  </template>
67
67
  <script>
68
68
  import util from 'eoss-ui/src/utils/util.js';
69
+ import { debounce } from 'throttle-debounce';
69
70
  export default {
70
71
  name: 'EsSteps',
71
72
  inheritAttrs: false,
@@ -128,12 +129,17 @@ export default {
128
129
  }
129
130
  }
130
131
  },
132
+ beforeCreate() {
133
+ this.getData = debounce(300, () => {
134
+ this.getDatas();
135
+ });
136
+ },
131
137
  created() {
132
138
  this.getData();
133
139
  },
134
140
  mounted() {},
135
141
  methods: {
136
- getData() {
142
+ getDatas() {
137
143
  if (this.url) {
138
144
  let param = this.param ? this.param : {};
139
145
  util
@@ -143,7 +149,7 @@ export default {
143
149
  data: param,
144
150
  params: param
145
151
  })
146
- .then(res => {
152
+ .then((res) => {
147
153
  if (res.rCode === 0) {
148
154
  if (this.esForm) {
149
155
  this.esForm.stepContent = JSON.parse(
@@ -154,7 +160,7 @@ export default {
154
160
  }
155
161
  }
156
162
  })
157
- .catch(err => {
163
+ .catch((err) => {
158
164
  if (err.message && err.message !== 'canceled') {
159
165
  this.$message.error(err.message);
160
166
  }