eoss-ui 0.5.81-beta8 → 0.5.82

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 (126) hide show
  1. package/lib/button-group.js +82 -55
  2. package/lib/button.js +57 -48
  3. package/lib/checkbox-group.js +55 -47
  4. package/lib/clients.js +4 -3
  5. package/lib/config/api.js +3 -1
  6. package/lib/data-table-form.js +55 -47
  7. package/lib/data-table.js +473 -276
  8. package/lib/date-picker.js +69 -59
  9. package/lib/dialog.js +77 -72
  10. package/lib/eoss-ui.common.js +4299 -3288
  11. package/lib/flow-group.js +102 -65
  12. package/lib/flow-list.js +56 -48
  13. package/lib/flow.js +158 -85
  14. package/lib/form.js +88 -59
  15. package/lib/handle-user.js +66 -51
  16. package/lib/handler.js +69 -50
  17. package/lib/icon.js +55 -47
  18. package/lib/index.js +1 -1
  19. package/lib/input-number.js +55 -47
  20. package/lib/input.js +55 -47
  21. package/lib/login.js +104 -85
  22. package/lib/main.js +1684 -1158
  23. package/lib/menu.js +1 -1
  24. package/lib/nav.js +55 -47
  25. package/lib/notify.js +54 -50
  26. package/lib/page.js +55 -47
  27. package/lib/pagination.js +3723 -3
  28. package/lib/player.js +60 -52
  29. package/lib/qr-code.js +55 -47
  30. package/lib/radio-group.js +55 -47
  31. package/lib/retrial-auth.js +56 -48
  32. package/lib/select-ganged.js +55 -47
  33. package/lib/select.js +55 -47
  34. package/lib/selector-panel.js +69 -60
  35. package/lib/selector.js +495 -424
  36. package/lib/sizer.js +55 -47
  37. package/lib/steps.js +55 -47
  38. package/lib/switch.js +55 -47
  39. package/lib/table-form.js +55 -47
  40. package/lib/tabs.js +1532 -1480
  41. package/lib/theme-chalk/base.css +1 -1
  42. package/lib/theme-chalk/button-group.css +1 -1
  43. package/lib/theme-chalk/data-table.css +1 -1
  44. package/lib/theme-chalk/form.css +1 -1
  45. package/lib/theme-chalk/index.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/pagination.css +1 -1
  49. package/lib/theme-chalk/simplicity.css +1 -1
  50. package/lib/theme-chalk/sizer.css +1 -1
  51. package/lib/theme-chalk/tabs.css +1 -1
  52. package/lib/theme-chalk/toolbar.css +1 -1
  53. package/lib/theme-chalk/tree-group.css +1 -1
  54. package/lib/theme-chalk/tree.css +1 -1
  55. package/lib/theme-chalk/upload.css +1 -1
  56. package/lib/tips.js +55 -47
  57. package/lib/tree-group.js +79 -50
  58. package/lib/tree.js +55 -47
  59. package/lib/upload.js +59 -51
  60. package/lib/utils/util.js +6 -2
  61. package/lib/wujie.js +55 -47
  62. package/lib/wxlogin.js +55 -47
  63. package/package.json +3 -3
  64. package/packages/button/src/main.vue +2 -1
  65. package/packages/button-group/src/main.vue +8 -6
  66. package/packages/clients/src/main.vue +2 -1
  67. package/packages/data-table/src/column.vue +137 -54
  68. package/packages/data-table/src/main.vue +77 -68
  69. package/packages/data-table/src/sizer.vue +2 -0
  70. package/packages/date-picker/src/main.vue +22 -14
  71. package/packages/dialog/src/main.vue +17 -23
  72. package/packages/flow/src/main.vue +32 -17
  73. package/packages/flow-group/src/main.vue +18 -11
  74. package/packages/form/src/main.vue +21 -10
  75. package/packages/handle-user/src/main.vue +5 -1
  76. package/packages/handler/src/main.vue +7 -3
  77. package/packages/login/src/main.vue +22 -15
  78. package/packages/main/src/default/index.vue +111 -179
  79. package/packages/main/src/main.vue +233 -4
  80. package/packages/main/src/public/online.vue +89 -0
  81. package/packages/main/src/simplicity/apps.vue +3 -3
  82. package/packages/main/src/simplicity/avatar.vue +16 -5
  83. package/packages/main/src/simplicity/handler.vue +6 -2
  84. package/packages/main/src/simplicity/index.vue +314 -238
  85. package/packages/main/src/simplicity/menu-list.vue +22 -74
  86. package/packages/main/src/simplicity/router-page.vue +5 -14
  87. package/packages/main/src/simplicity/sub-menu.vue +111 -7
  88. package/packages/main/src/simplicity/user.vue +5 -1
  89. package/packages/menu/src/main.vue +4 -3
  90. package/packages/pagination/src/main.vue +20 -1
  91. package/packages/selector/src/main.vue +147 -135
  92. package/packages/selector-panel/src/main.vue +3 -2
  93. package/packages/selector-panel/src/selection.vue +2 -2
  94. package/packages/tabs/src/main.vue +25 -15
  95. package/packages/theme-chalk/lib/base.css +1 -1
  96. package/packages/theme-chalk/lib/button-group.css +1 -1
  97. package/packages/theme-chalk/lib/data-table.css +1 -1
  98. package/packages/theme-chalk/lib/form.css +1 -1
  99. package/packages/theme-chalk/lib/index.css +1 -1
  100. package/packages/theme-chalk/lib/main.css +1 -1
  101. package/packages/theme-chalk/lib/menu.css +1 -1
  102. package/packages/theme-chalk/lib/pagination.css +1 -1
  103. package/packages/theme-chalk/lib/simplicity.css +1 -1
  104. package/packages/theme-chalk/lib/sizer.css +1 -1
  105. package/packages/theme-chalk/lib/tabs.css +1 -1
  106. package/packages/theme-chalk/lib/toolbar.css +1 -1
  107. package/packages/theme-chalk/lib/tree-group.css +1 -1
  108. package/packages/theme-chalk/lib/tree.css +1 -1
  109. package/packages/theme-chalk/lib/upload.css +1 -1
  110. package/packages/theme-chalk/src/base.scss +39 -0
  111. package/packages/theme-chalk/src/button-group.scss +16 -2
  112. package/packages/theme-chalk/src/common/var.scss +7 -2
  113. package/packages/theme-chalk/src/data-table.scss +60 -23
  114. package/packages/theme-chalk/src/form.scss +42 -40
  115. package/packages/theme-chalk/src/main.scss +11 -0
  116. package/packages/theme-chalk/src/pagination.scss +7 -0
  117. package/packages/theme-chalk/src/simplicity.scss +108 -40
  118. package/packages/theme-chalk/src/tabs.scss +24 -28
  119. package/packages/theme-chalk/src/toolbar.scss +16 -4
  120. package/packages/theme-chalk/src/tree-group.scss +8 -0
  121. package/packages/theme-chalk/src/tree.scss +19 -6
  122. package/packages/tree-group/src/main.vue +16 -7
  123. package/src/config/api.js +3 -1
  124. package/src/index.js +157 -157
  125. package/src/utils/util.js +6 -1
  126. package/CHANGELOG.md +0 -929
@@ -1,70 +1,20 @@
1
1
  <template>
2
- <el-scrollbar :class="{ 'is-fold': fold }">
3
- <template v-for="(item, index) in data">
4
- <el-popover
5
- v-if="
6
- (item.children && item.children.length) ||
7
- (item.fourthTabs, item.fourthTabs.length)
8
- "
9
- placement="right"
10
- trigger="hover"
11
- popper-class="es-simplicity-menus-sub"
12
- :width="width"
13
- @show="handleShow"
14
- @hide="handleHide"
15
- >
16
- <template slot-scope="{ parent }">
17
- <menu-list
18
- ref="menus"
19
- :parent="parent"
20
- :active="active"
21
- :popover="show"
22
- :data="[...(item.children || []), ...(item.fourthTabs || [])]"
23
- :menuIcon="menuIcon"
24
- :color="color"
25
- :backgroundColor="backgroundColor"
26
- :width="width"
27
- @command="handleClick"
28
- ></menu-list>
29
- </template>
30
- <div
31
- slot="reference"
32
- class="es-simplicity-menus-item"
33
- :key="item.id"
34
- :class="{ 'is-active': defaultActive === item.id, 'is-fold': fold }"
35
- :title="fold ? item.text || item.name : ''"
36
- >
37
- <template v-if="fold">
38
- <el-badge is-dot :hidden="!item.tips">
39
- <es-icon
40
- class="es-simplicity_apps-icon"
41
- :style="setStyle(index)"
42
- :contents="item.icons || item.icon || menuIcon"
43
- ></es-icon>
44
- </el-badge>
45
- </template>
46
- <template v-else>
47
- <es-icon
48
- class="es-simplicity_apps-icon"
49
- :style="setStyle(index)"
50
- :contents="item.icons || item.icon || menuIcon"
51
- ></es-icon>
52
- <div class="es-simplicity-menus-tips" v-if="item.tips">
53
- {{ item.tips > 99 ? '99+' : item.tips }}
54
- </div>
55
- </template>
56
- <div class="es-simplicity_apps-text" v-show="!fold">
57
- {{ item.text || item.name }}
58
- </div>
59
- </div>
60
- </el-popover>
2
+ <el-scrollbar class="es-simplicity-menus-scrollbar">
3
+ <div
4
+ class="es-simplicity-menus-lists"
5
+ :class="{ 'is-fold': fold }"
6
+ @mouseleave="handleOut(true)"
7
+ @mouseenter="handleOut(false)"
8
+ >
61
9
  <div
62
- v-else
10
+ v-for="(item, index) in data"
63
11
  class="es-simplicity-menus-item"
64
12
  :key="item.id"
65
- :class="{ 'is-active': defaultActive === item.id, 'is-fold': fold }"
13
+ :class="{ 'is-fold': fold, 'is-active': active == item.id }"
66
14
  :title="fold ? item.text || item.name : ''"
67
15
  @click="handleClick(item)"
16
+ @mouseenter="handleEnter(item)"
17
+ @mouseleave="handleLeave(item)"
68
18
  >
69
19
  <template v-if="fold">
70
20
  <el-badge is-dot :hidden="!item.tips">
@@ -89,11 +39,12 @@
89
39
  {{ item.text || item.name }}
90
40
  </div>
91
41
  </div>
92
- </template>
42
+ </div>
93
43
  </el-scrollbar>
94
44
  </template>
95
45
 
96
46
  <script>
47
+ import util from 'eoss-ui/src/utils/util';
97
48
  export default {
98
49
  name: 'MenuList',
99
50
  components: {},
@@ -155,23 +106,20 @@ export default {
155
106
  util.win.open(res.url);
156
107
  return;
157
108
  } else if (res.urlopenmode == 2) {
158
- util.win.location.href = res.url;
109
+ util.win.open(res.url, '_self');
159
110
  return;
160
111
  }
112
+ this.$emit('command', res);
161
113
  }
162
- this.$emit('command', res);
163
114
  },
164
- handleShow() {
165
- this.show = true;
166
- if (this.parent) {
167
- this.parent.changeContinue(true);
168
- }
115
+ handleEnter(res) {
116
+ this.$emit('menter', res);
169
117
  },
170
- handleHide() {
171
- if (this.parent) {
172
- this.parent.changeContinue(false);
173
- //this.parent.hidePopper();
174
- }
118
+ handleLeave(res) {
119
+ this.$emit('mleave', res);
120
+ },
121
+ handleOut(res) {
122
+ this.$emit('mout', res);
175
123
  }
176
124
  }
177
125
  };
@@ -18,32 +18,23 @@ export default {
18
18
  default() {
19
19
  return {};
20
20
  }
21
- },
22
- show: Boolean
21
+ }
23
22
  },
24
23
  data() {
25
- return {
26
- params: {}
27
- };
24
+ return {};
28
25
  },
29
26
  computed: {},
30
- watch: {
31
- show(val) {
32
- if (val) {
33
- this.jump();
34
- }
35
- }
36
- },
27
+ watch: {},
37
28
  created() {},
38
29
  mounted() {
39
- this.params = util.getParams({ url: this.url });
40
30
  this.jump();
41
31
  },
42
32
  methods: {
43
33
  jump() {
34
+ let params = util.getParams({ url: this.url });
44
35
  this.$router.push({
45
36
  path: this.path,
46
- query: { ...this.query, ...this.params }
37
+ query: { ...this.query, ...params }
47
38
  });
48
39
  }
49
40
  }
@@ -11,7 +11,10 @@
11
11
  :wrapperClosable="false"
12
12
  :visible.sync="show"
13
13
  >
14
- <div class="es-simplicity-menus">
14
+ <div
15
+ class="es-simplicity-menus"
16
+ :class="{ 'es-simplicity-menus-plus': mode == 'plus' }"
17
+ >
15
18
  <div class="es-simplicity-menus-box" :style="{ width: width + 'px' }">
16
19
  <div class="es-simplicity-menus-title">
17
20
  <span class="es-simplicity-menus-title-text" v-if="!fold">{{
@@ -29,17 +32,64 @@
29
32
  ></i>
30
33
  </div>
31
34
  <menu-list
32
- ref="menus"
33
- :active="active"
35
+ :active="actives[0]"
34
36
  :data="menus"
35
37
  :menuIcon="menuIcon"
36
38
  :color="color"
37
39
  :backgroundColor="backgroundColor"
38
40
  :fold="fold"
39
41
  :width="size"
42
+ @menter="
43
+ (res) => {
44
+ this.getData(res, 0, true);
45
+ }
46
+ "
47
+ @mleave="
48
+ (res) => {
49
+ this.getData(res, 0, false);
50
+ }
51
+ "
52
+ @hover="handleHover"
40
53
  @command="handleCommand"
41
54
  ></menu-list>
42
55
  </div>
56
+ <div
57
+ class="es-simplicity-menus-view"
58
+ @mouseleave="handleLeave"
59
+ @mouseenter="handleEnter"
60
+ v-show="subMenus.length"
61
+ >
62
+ <div
63
+ class="es-simplicity-menus-box"
64
+ v-for="(item, index) in subMenus"
65
+ :key="item.id"
66
+ >
67
+ <div class="es-simplicity-menus-title">
68
+ <span class="es-simplicity-menus-title-text">{{
69
+ item.name || item.text || item.title
70
+ }}</span>
71
+ </div>
72
+ <menu-list
73
+ :active="actives[index + 1]"
74
+ :data="[...item.children, ...item.fourthTabs]"
75
+ :menuIcon="menuIcon"
76
+ :color="color"
77
+ :backgroundColor="backgroundColor"
78
+ :width="size"
79
+ @menter="
80
+ (res) => {
81
+ getData(res, index + 1, true);
82
+ }
83
+ "
84
+ @mleave="
85
+ (res) => {
86
+ getData(res, index + 1, false);
87
+ }
88
+ "
89
+ @command="handleCommand"
90
+ ></menu-list>
91
+ </div>
92
+ </div>
43
93
  </div>
44
94
  </el-drawer>
45
95
  </template>
@@ -50,8 +100,10 @@ export default {
50
100
  name: 'SubMenu',
51
101
  components: { MenuList },
52
102
  props: {
103
+ mode: String,
53
104
  title: String,
54
105
  active: String,
106
+ closed: Boolean,
55
107
  color: {
56
108
  type: [String, Array],
57
109
  default: '#fff'
@@ -91,9 +143,12 @@ export default {
91
143
  },
92
144
  data() {
93
145
  return {
94
- fold: false,
146
+ fold: this.closed,
95
147
  width: this.size,
96
- subMenus: []
148
+ subMenus: [],
149
+ isEnter: false,
150
+ timer: null,
151
+ actives: []
97
152
  };
98
153
  },
99
154
  computed: {
@@ -110,7 +165,16 @@ export default {
110
165
  }
111
166
  }
112
167
  },
113
- watch: {},
168
+ watch: {
169
+ closed(val) {
170
+ this.fold = val;
171
+ if (val) {
172
+ this.width = 48;
173
+ } else {
174
+ this.width = this.size;
175
+ }
176
+ }
177
+ },
114
178
  created() {},
115
179
  mounted() {},
116
180
  methods: {
@@ -121,14 +185,54 @@ export default {
121
185
  } else {
122
186
  this.width = this.size;
123
187
  }
124
- this.$emit('update:fold', res);
188
+ this.$emit('update:closed', res);
125
189
  },
126
190
  handleCommand(res) {
127
191
  this.$emit('command', res);
128
192
  },
193
+ getData(res, n, is) {
194
+ this.isEnter = is;
195
+ if (is) {
196
+ this.actives.splice(n);
197
+ if (this.actives[n]) {
198
+ this.actives[n] = res.id;
199
+ } else {
200
+ this.actives.push(res.id);
201
+ }
202
+ this.subMenus.splice(n);
203
+ let { children, fourthTabs } = res;
204
+ if (
205
+ (children && children.length) ||
206
+ (fourthTabs && fourthTabs.length)
207
+ ) {
208
+ this.subMenus = this.subMenus.concat(res);
209
+ }
210
+ } else {
211
+ if (n == 0) {
212
+ clearTimeout(this.timer);
213
+ this.timer = setTimeout(() => {
214
+ if (res && !this.isEnter) {
215
+ this.subMenus = [];
216
+ this.actives = [];
217
+ }
218
+ }, 300);
219
+ }
220
+ }
221
+ },
222
+ handleHover(res) {
223
+ this.isEnter = res;
224
+ //if(this)
225
+ },
129
226
  clearSubmenu() {
130
227
  this.$refs.menus.clearActive();
131
228
  this.subMenus = [];
229
+ },
230
+ handleLeave() {
231
+ this.subMenus = [];
232
+ this.actives = [];
233
+ },
234
+ handleEnter() {
235
+ this.isEnter = true;
132
236
  }
133
237
  }
134
238
  };
@@ -42,7 +42,11 @@
42
42
  </div>
43
43
  <div class="es-simplicity-notice-type" v-if="userScanBindImgUrl">
44
44
  <div class="es-simplicity-notice-title">微信公众号:</div>
45
- <img class="es-simplicity-qrcode" @click="getQrcode" :src="qrcode" />
45
+ <el-image
46
+ class="es-simplicity-qrcode"
47
+ @click="getQrcode"
48
+ :src="qrcode"
49
+ ></el-image>
46
50
  </div>
47
51
  <div class="es-simplicity-notice-type">
48
52
  <div class="es-simplicity-notice-title">接收消息类型:</div>
@@ -109,9 +109,10 @@ export default {
109
109
  } else {
110
110
  this.$nextTick(() => {
111
111
  let w = 0;
112
- Array.from(this.$refs.menu.$el.children).forEach((item) => {
113
- w += item.getBoundingClientRect().width;
114
- });
112
+ this.$refs.menu &&
113
+ Array.from(this.$refs.menu.$el.children).forEach((item) => {
114
+ w += item.getBoundingClientRect().width;
115
+ });
115
116
  const styles = window.getComputedStyle(this.$refs.menu.$el);
116
117
  w += parseFloat(styles.paddingLeft) + parseFloat(styles.paddingRight);
117
118
  if (w > this.$refs.esMenu.$el.getBoundingClientRect().width) {
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <el-pagination
3
3
  class="es-pagination"
4
+ :class="{ 'es-pagination-complete': isComplete && position != 'center' }"
4
5
  v-bind="$attrs"
5
6
  :current-page="pageNum"
6
7
  :page-size="pageSize"
@@ -18,10 +19,28 @@
18
19
  </el-pagination>
19
20
  </template>
20
21
  <script>
22
+ import util from 'eoss-ui/src/utils/util';
23
+ const paginationLayout =
24
+ util.win.top.tableLayout ||
25
+ util.win.tableLayout ||
26
+ 'prev, pager, next, sizes, total';
21
27
  export default {
22
28
  name: 'EsPagination',
23
29
  inheritAttrs: false,
30
+ computed: {
31
+ isComplete() {
32
+ return (
33
+ this.layout.indexOf('total') > -1 &&
34
+ this.layout.indexOf('sizes') > -1 &&
35
+ this.layout.indexOf('prev') > -1 &&
36
+ this.layout.indexOf('pager') > -1 &&
37
+ this.layout.indexOf('next') > -1 &&
38
+ this.layout.indexOf('jumper') > -1
39
+ );
40
+ }
41
+ },
24
42
  props: {
43
+ position: String,
25
44
  // 当前页码
26
45
  pageNum: {
27
46
  type: Number,
@@ -46,7 +65,7 @@ export default {
46
65
  // 自定义排版
47
66
  layout: {
48
67
  type: String,
49
- default: 'prev, pager, next, sizes, total'
68
+ default: paginationLayout
50
69
  },
51
70
  // 只有一页时是否隐藏
52
71
  hideOnSinglePage: {