eoss-ui 0.5.81-beta10 → 0.5.81-beta12

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 (73) hide show
  1. package/lib/button-group.js +3 -1
  2. package/lib/button.js +3 -1
  3. package/lib/checkbox-group.js +3 -1
  4. package/lib/config/api.js +1 -0
  5. package/lib/data-table-form.js +3 -1
  6. package/lib/data-table.js +57 -30
  7. package/lib/date-picker.js +3 -1
  8. package/lib/dialog.js +9 -6
  9. package/lib/eoss-ui.common.js +491 -275
  10. package/lib/flow-group.js +6 -4
  11. package/lib/flow-list.js +3 -1
  12. package/lib/flow.js +3 -1
  13. package/lib/form.js +12 -5
  14. package/lib/handle-user.js +3 -1
  15. package/lib/handler.js +8 -3
  16. package/lib/icon.js +3 -1
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +3 -1
  19. package/lib/input.js +3 -1
  20. package/lib/login.js +3 -1
  21. package/lib/main.js +371 -201
  22. package/lib/nav.js +3 -1
  23. package/lib/notify.js +3 -1
  24. package/lib/page.js +3 -1
  25. package/lib/pagination.js +3717 -3
  26. package/lib/player.js +3 -1
  27. package/lib/qr-code.js +3 -1
  28. package/lib/radio-group.js +3 -1
  29. package/lib/retrial-auth.js +3 -1
  30. package/lib/select-ganged.js +3 -1
  31. package/lib/select.js +3 -1
  32. package/lib/selector-panel.js +3 -1
  33. package/lib/selector.js +3 -1
  34. package/lib/sizer.js +3 -1
  35. package/lib/steps.js +3 -1
  36. package/lib/switch.js +3 -1
  37. package/lib/table-form.js +3 -1
  38. package/lib/tabs.js +3 -1
  39. package/lib/theme-chalk/data-table.css +1 -1
  40. package/lib/theme-chalk/index.css +1 -1
  41. package/lib/theme-chalk/main.css +1 -1
  42. package/lib/theme-chalk/pagination.css +1 -1
  43. package/lib/theme-chalk/simplicity.css +1 -1
  44. package/lib/tips.js +3 -1
  45. package/lib/tree-group.js +3 -1
  46. package/lib/tree.js +3 -1
  47. package/lib/upload.js +3 -1
  48. package/lib/wujie.js +3 -1
  49. package/lib/wxlogin.js +3 -1
  50. package/package.json +2 -2
  51. package/packages/data-table/src/main.vue +31 -14
  52. package/packages/data-table/src/sizer.vue +3 -0
  53. package/packages/dialog/src/main.vue +4 -3
  54. package/packages/flow-group/src/main.vue +1 -1
  55. package/packages/form/src/main.vue +7 -2
  56. package/packages/handler/src/main.vue +3 -3
  57. package/packages/main/src/default/index.vue +13 -12
  58. package/packages/main/src/public/online.vue +90 -0
  59. package/packages/main/src/simplicity/apps.vue +3 -3
  60. package/packages/main/src/simplicity/handler.vue +6 -2
  61. package/packages/main/src/simplicity/index.vue +47 -28
  62. package/packages/main/src/simplicity/sub-menu.vue +5 -1
  63. package/packages/pagination/src/main.vue +20 -1
  64. package/packages/theme-chalk/lib/data-table.css +1 -1
  65. package/packages/theme-chalk/lib/index.css +1 -1
  66. package/packages/theme-chalk/lib/main.css +1 -1
  67. package/packages/theme-chalk/lib/pagination.css +1 -1
  68. package/packages/theme-chalk/lib/simplicity.css +1 -1
  69. package/packages/theme-chalk/src/data-table.scss +61 -23
  70. package/packages/theme-chalk/src/pagination.scss +7 -0
  71. package/packages/theme-chalk/src/simplicity.scss +10 -0
  72. package/src/config/api.js +1 -0
  73. package/src/index.js +1 -1
@@ -12,6 +12,9 @@
12
12
  <es-toolbar
13
13
  v-if="showToolbar"
14
14
  ref="toolbar"
15
+ :class="{
16
+ 'es-table-toolbar-plus': mode == 'plus'
17
+ }"
15
18
  v-bind="{
16
19
  contents: toolbars,
17
20
  showLabel: showLabel,
@@ -35,7 +38,10 @@
35
38
  <div
36
39
  style="styles"
37
40
  class="es-data-table-content"
38
- :class="border == 'none' ? 'es-table-border-none' : ''"
41
+ :class="{
42
+ 'es-table-border-none': border == 'none',
43
+ 'es-table-plus': mode == 'plus'
44
+ }"
39
45
  ref="esTableContent"
40
46
  v-if="show"
41
47
  >
@@ -153,9 +159,11 @@
153
159
  </div>
154
160
  <es-pagination
155
161
  v-else-if="page"
162
+ ref="pagination"
156
163
  v-bind="config"
157
164
  class="es-table-page"
158
- :style="{ 'text-align': page.position || 'center' }"
165
+ :position="page.position"
166
+ :style="{ 'text-align': page.position }"
159
167
  v-on="{
160
168
  change: sizeChange,
161
169
  current: currentChange,
@@ -166,7 +174,7 @@
166
174
  <slot name="dialog"></slot>
167
175
  <slot name="other"></slot>
168
176
  </div>
169
- <sizer ref="sizer" :data="theads"></sizer>
177
+ <sizer ref="sizer" :data="theads" :mode="mode"></sizer>
170
178
  </component>
171
179
  </template>
172
180
  <script>
@@ -177,6 +185,8 @@ import sizer from './sizer.vue';
177
185
  import util from 'eoss-ui/src/utils/util';
178
186
  import bus from 'eoss-ui/src/utils/bus';
179
187
  import qs from 'qs';
188
+ const dataTableMode =
189
+ util.win.top.dataTableMode || util.win.dataTableMode || 'default';
180
190
  export default {
181
191
  name: 'EsDataTable',
182
192
  inheritAttrs: false,
@@ -202,6 +212,10 @@ export default {
202
212
  }
203
213
  },
204
214
  props: {
215
+ mode: {
216
+ type: String,
217
+ default: dataTableMode
218
+ },
205
219
  service: String,
206
220
  loading: {
207
221
  type: Boolean,
@@ -449,7 +463,11 @@ export default {
449
463
  config: {
450
464
  pageNum: 1,
451
465
  pageSize: 20,
452
- totalCount: 0
466
+ totalCount: 0,
467
+ layout:
468
+ this.mode == 'plus'
469
+ ? 'total, sizes, prev, pager, next, jumper'
470
+ : undefined
453
471
  },
454
472
  searchWhere: {},
455
473
  advanceWhere: {},
@@ -675,7 +693,7 @@ export default {
675
693
  }
676
694
  },
677
695
  zoom: {
678
- handler(val) {
696
+ handler() {
679
697
  if (
680
698
  this.tableHeight != 'auto' &&
681
699
  this.tableHeight !== false &&
@@ -707,7 +725,7 @@ export default {
707
725
  },
708
726
  param: {
709
727
  deep: true,
710
- handler(val) {
728
+ handler() {
711
729
  this.getTableData();
712
730
  }
713
731
  },
@@ -717,12 +735,6 @@ export default {
717
735
  handler(val) {
718
736
  if (typeof val === 'object') {
719
737
  this.config = util.extend({}, this.config, val);
720
- } else {
721
- this.config = {
722
- pageNum: 1,
723
- pageSize: 20,
724
- totalCount: 0
725
- };
726
738
  }
727
739
  }
728
740
  },
@@ -1008,6 +1020,7 @@ export default {
1008
1020
  this.list = results.data || results.records || [];
1009
1021
  this.config.totalCount =
1010
1022
  results.count || results.total || results.totalCount;
1023
+ this.config.pageCount = results.pageCount;
1011
1024
  this.getOptions(this.theadData);
1012
1025
  }
1013
1026
  } else {
@@ -1096,6 +1109,7 @@ export default {
1096
1109
  }
1097
1110
  this.config.totalCount =
1098
1111
  results.count || results.total || results.totalCount;
1112
+ this.config.pageCount = results.pageCount;
1099
1113
  this.checked &&
1100
1114
  this.$nextTick(() => {
1101
1115
  this.checkSelect(this.checked);
@@ -1539,8 +1553,11 @@ export default {
1539
1553
  parseInt(util.getStyle(ele, 'margin-bottom'), 10);
1540
1554
  }
1541
1555
  }
1542
- height -= this.showToolbar ? 45 : 0;
1543
- height -= this.page === false ? 0 : 46;
1556
+ height -= this.showToolbar
1557
+ ? this.$refs.toolbar.$el.offsetHeight
1558
+ : 0;
1559
+ height -=
1560
+ this.page === false ? 0 : this.$refs.pagination.$el.offsetHeight;
1544
1561
  height -= this.title ? this.$refs.title.offsetHeight : 0;
1545
1562
  height -= parseInt(
1546
1563
  util.getStyle(this.$refs.esTableContent, 'padding-top'),
@@ -7,6 +7,7 @@
7
7
  row-key="id"
8
8
  default-expand-all
9
9
  height="500px"
10
+ :mode="mode"
10
11
  :data="theads"
11
12
  :thead="thead"
12
13
  :tree-props="{ children: 'childHead' }"
@@ -26,6 +27,7 @@ import util from 'eoss-ui/src/utils/util';
26
27
  export default {
27
28
  name: 'Sizer',
28
29
  props: {
30
+ mode: String,
29
31
  data: Array
30
32
  },
31
33
  computed: {
@@ -89,6 +91,7 @@ export default {
89
91
  },
90
92
  mounted() {
91
93
  this.newThead = util.extend(true, [], this.data);
94
+ console.log(this.mode, 90909);
92
95
  },
93
96
  methods: {
94
97
  show() {
@@ -363,9 +363,10 @@ export default {
363
363
  full: false,
364
364
  method: 'router',
365
365
  sizes: {
366
- sm: { width: '900px', height: '400px' },
367
- md: { width: '900px', height: '600px' },
368
- lg: { width: '900px', height: '800px' },
366
+ mini: { width: '800px', height: '400px' },
367
+ sm: { width: '960px', height: '500px' },
368
+ md: { width: '1060px', height: '600px' },
369
+ lg: { width: '1200px', height: '800px' },
369
370
  full: { width: '100%', height: '100%' }
370
371
  },
371
372
  show: this.visible,
@@ -11,7 +11,7 @@
11
11
  <template v-for="(items, indexs) in tabs">
12
12
  <el-tab-pane
13
13
  v-if="handleHide(items.hide)"
14
- :key="indexs"
14
+ :key="items.id || indexs"
15
15
  :immediate="items.label === '流程图' ? false : items.immediate"
16
16
  :name="String(indexs)"
17
17
  :class="{ 'es-flex-vertical': items.average }"
@@ -4223,7 +4223,8 @@ export default {
4223
4223
  return {};
4224
4224
  }
4225
4225
  },
4226
- active: Array
4226
+ active: Array,
4227
+ resetActive: Boolean
4227
4228
  },
4228
4229
  data() {
4229
4230
  return {
@@ -4448,7 +4449,11 @@ export default {
4448
4449
  }
4449
4450
  });
4450
4451
  if (!this.active || (this.active && !this.active.length)) {
4451
- this.activeNames = names;
4452
+ if (this.resetActive) {
4453
+ this.activeNames = names;
4454
+ } else if (this.activeNames.length == 0) {
4455
+ this.activeNames = names;
4456
+ }
4452
4457
  }
4453
4458
  this.content = contents;
4454
4459
  if (this.content.length === 1) {
@@ -22,7 +22,7 @@
22
22
  >当前<span
23
23
  class="es-online-num"
24
24
  :class="{ 'es-pointer': onlineList }"
25
- @click="onlineList ? handleClick({ type: 'online' }) : ''"
25
+ @click.stop="onlineList ? handleClick({ type: 'online' }) : ''"
26
26
  >{{ online }}</span
27
27
  >人在线</span
28
28
  >
@@ -92,7 +92,7 @@
92
92
  class="es-handler-icon"
93
93
  :title="item.title"
94
94
  :class="item.icon"
95
- @click="handleClick(item)"
95
+ @click.stop="handleClick(item)"
96
96
  ></div>
97
97
  </el-badge>
98
98
  <div
@@ -100,7 +100,7 @@
100
100
  class="es-handler-icon"
101
101
  :title="item.title"
102
102
  :class="item.icon"
103
- @click="handleClick(item)"
103
+ @click.stop="handleClick(item)"
104
104
  ></div>
105
105
  </li>
106
106
  </ul>
@@ -192,8 +192,11 @@
192
192
  </es-dialog>
193
193
  <notice :data="sysMsg" :winopen="winopen" @opened="handleOpened"></notice>
194
194
  <es-dialog :title="dialog.title" :visible.sync="dialog.show" size="md">
195
+ <template v-if="dialog.title == '查看在线人员' && !dialog.src">
196
+ <online></online>
197
+ </template>
195
198
  <iframe
196
- v-if="dialog.show"
199
+ v-else-if="dialog.show"
197
200
  width="100%"
198
201
  height="100%"
199
202
  frameborder="0"
@@ -207,6 +210,7 @@ import userinfo from './userinfo.vue';
207
210
  import settings from './settings.vue';
208
211
  import message from './message.vue';
209
212
  import notice from './notice.vue';
213
+ import online from '../public/online.vue';
210
214
  import {
211
215
  //authCenter,
212
216
  wss,
@@ -233,7 +237,8 @@ export default {
233
237
  userinfo,
234
238
  settings,
235
239
  message,
236
- notice
240
+ notice,
241
+ online
237
242
  },
238
243
  props: {
239
244
  jobScrollbar: Boolean,
@@ -534,9 +539,7 @@ export default {
534
539
  },
535
540
  onlineUrl() {
536
541
  if (this.onlineView) {
537
- return typeof this.onlineView == 'string'
538
- ? this.onlineView
539
- : '/main/sysuseronline/list.dhtml';
542
+ return typeof this.onlineView == 'string' ? this.onlineView : '';
540
543
  }
541
544
  return false;
542
545
  }
@@ -1659,13 +1662,11 @@ export default {
1659
1662
  this.showUserInfo = true;
1660
1663
  break;
1661
1664
  case 'online':
1662
- if (this.onlineUrl) {
1663
- this.dialog = {
1664
- title: '查看在线人员',
1665
- show: true,
1666
- src: this.onlineUrl
1667
- };
1668
- }
1665
+ this.dialog = {
1666
+ title: '查看在线人员',
1667
+ show: true,
1668
+ src: this.onlineUrl
1669
+ };
1669
1670
  break;
1670
1671
  case 'notice':
1671
1672
  this.showMsg = !this.showMsg;
@@ -0,0 +1,90 @@
1
+ <template>
2
+ <es-data-table
3
+ numbers
4
+ :url="sysuseronline"
5
+ :thead="thead"
6
+ page
7
+ ></es-data-table>
8
+ </template>
9
+
10
+ <script>
11
+ import { userOnline } from 'eoss-ui/src/config/api.js';
12
+ export default {
13
+ name: 'Online',
14
+ components: {},
15
+ props: {
16
+ sysuseronline: {
17
+ type: String,
18
+ default: userOnline
19
+ }
20
+ },
21
+ data() {
22
+ return {
23
+ thead: [
24
+ {
25
+ title: '单位',
26
+ field: 'orgName',
27
+ align: 'center',
28
+ minWidth: 120
29
+ },
30
+ {
31
+ title: '部门',
32
+ field: 'depName',
33
+ align: 'center',
34
+ minWidth: 120
35
+ },
36
+ {
37
+ title: '姓名',
38
+ field: 'userName',
39
+ align: 'center',
40
+ width: 120
41
+ },
42
+ {
43
+ title: '职务',
44
+ field: 'position',
45
+ align: 'center',
46
+ width: 120
47
+ },
48
+ {
49
+ title: '账号',
50
+ field: 'loginName',
51
+ align: 'center',
52
+ width: 120
53
+ },
54
+ {
55
+ title: '登录时间',
56
+ field: 'loginDate',
57
+ align: 'center',
58
+ width: 150
59
+ },
60
+ {
61
+ title: '登录次数',
62
+ field: 'freQuency',
63
+ align: 'center',
64
+ width: 110
65
+ },
66
+ {
67
+ title: '登录方式',
68
+ field: 'loginModel',
69
+ align: 'center',
70
+ width: 100,
71
+ render: (h, params) => {
72
+ let {
73
+ row: { loginModel }
74
+ } = params;
75
+ let types = ['普通登录', 'CA登录', '手机登录'];
76
+ return h('span', {}, [types[loginModel] || types[0]]);
77
+ }
78
+ }
79
+ ]
80
+ };
81
+ },
82
+ computed: {},
83
+ watch: {},
84
+ created() {},
85
+ mounted() {},
86
+ methods: {}
87
+ };
88
+ </script>
89
+
90
+ <style lang="scss" scoped></style>
@@ -116,7 +116,7 @@
116
116
  background
117
117
  layout="total,prev, pager, next"
118
118
  total-text="共 {total} 专项业务系统"
119
- :page-size="appSize"
119
+ :page-size="bsSize"
120
120
  :total="business.length"
121
121
  @current-change="
122
122
  (res) => {
@@ -169,8 +169,8 @@
169
169
  layout="total,prev, pager, next"
170
170
  total-text="共 {total} 系统设置"
171
171
  hide-on-single-page
172
- :page-size="appSize"
173
- :total="business.length"
172
+ :page-size="sysSize"
173
+ :total="systems.length"
174
174
  @current-change="
175
175
  (res) => {
176
176
  this.handleChange(res, 2);
@@ -6,7 +6,11 @@
6
6
  </div>
7
7
  <div class="es-simplicity-online">
8
8
  当前
9
- <span class="es-simplicity-online-num" :class="{ 'es-pointer': isClick }">
9
+ <span
10
+ class="es-simplicity-online-num"
11
+ @click="isClick ? handleClick({ type: 'online' }) : ''"
12
+ :class="{ 'es-pointer': isClick }"
13
+ >
10
14
  {{ online }}
11
15
  </span>
12
16
  人在线
@@ -63,7 +67,7 @@ export default {
63
67
  default() {
64
68
  return {
65
69
  type: 'index',
66
- open: doorIndex,
70
+ link: doorIndex,
67
71
  icon: 'es-icon-home',
68
72
  title: '门户'
69
73
  };
@@ -102,6 +102,7 @@
102
102
  <div class="es-simplicity-main">
103
103
  <!-- 菜单 -->
104
104
  <sub-menu
105
+ :mode="mode"
105
106
  :visible.sync="showMenu"
106
107
  :closed.sync="fold"
107
108
  :size="menuWidth"
@@ -291,8 +292,11 @@
291
292
 
292
293
  <!-- 公用弹窗 -->
293
294
  <es-dialog :title="dialog.title" :visible.sync="dialog.show" size="md">
295
+ <template v-if="dialog.title == '查看在线人员' && !dialog.src">
296
+ <online></online>
297
+ </template>
294
298
  <iframe
295
- v-if="dialog.show"
299
+ v-else-if="dialog.show"
296
300
  width="100%"
297
301
  height="100%"
298
302
  frameborder="0"
@@ -305,6 +309,7 @@
305
309
  </template>
306
310
 
307
311
  <script>
312
+ const dataTableMode = util.win.dataTableMode || 'default';
308
313
  import avatar from './avatar.vue';
309
314
  import handler from './handler.vue';
310
315
  import subMenu from './sub-menu.vue';
@@ -314,6 +319,7 @@ import message from './message.vue';
314
319
  import notice from './notice.vue';
315
320
  import settings from './settings.vue';
316
321
  import routerPage from './router-page.vue';
322
+ import online from '../public/online.vue';
317
323
  import {
318
324
  wss,
319
325
  logout,
@@ -386,9 +392,15 @@ export default {
386
392
  message,
387
393
  notice,
388
394
  settings,
389
- routerPage
395
+ routerPage,
396
+ online
390
397
  },
391
398
  props: {
399
+ //模式
400
+ mode: {
401
+ type: String,
402
+ default: dataTableMode
403
+ },
392
404
  appCode: String,
393
405
  //logo
394
406
  logo: String,
@@ -600,9 +612,7 @@ export default {
600
612
  //在线人数列表地址
601
613
  onlineUrl() {
602
614
  if (this.onlineView) {
603
- return typeof this.onlineView == 'string'
604
- ? this.onlineView
605
- : '/main/sysuseronline/list.dhtml';
615
+ return typeof this.onlineView == 'string' ? this.onlineView : '';
606
616
  }
607
617
  return false;
608
618
  }
@@ -921,13 +931,6 @@ export default {
921
931
  if (!this.appCode) {
922
932
  this.tabs = [this.homePage];
923
933
  this.activeName = '0';
924
- // if (this.homePage.method == 'router') {
925
- // let params = util.getParams({ url: this.homePage.url });
926
- // this.$router.push({
927
- // path: this.homePage.path,
928
- // query: { ...this.$parent.params, ...params }
929
- // });
930
- // }
931
934
  }
932
935
  }
933
936
  } else if (
@@ -943,13 +946,6 @@ export default {
943
946
  let tab = this.setIframeType(obj);
944
947
  this.tabs.push(tab);
945
948
  this.activeName = tab.id;
946
- // if (tab.method == 'router') {
947
- // let params = util.getParams({ url: tab.url });
948
- // this.$router.push({
949
- // path: tab.path,
950
- // query: { ...this.$parent.params, ...params }
951
- // });
952
- // }
953
949
  }
954
950
  }
955
951
  }
@@ -975,6 +971,9 @@ export default {
975
971
  **/
976
972
  setIframeType(res) {
977
973
  let { url } = res;
974
+ if (url) {
975
+ res.refresh = false;
976
+ }
978
977
  let urls = url.split('?');
979
978
  if (urls[0].indexOf('.js') > 1 && !isIE) {
980
979
  res.method = 'wujie';
@@ -1019,7 +1018,9 @@ export default {
1019
1018
  }
1020
1019
  }
1021
1020
  }
1022
- res.refresh = true;
1021
+ if (Object.prototype.hasOwnProperty.call(res, 'refresh')) {
1022
+ res.refresh = true;
1023
+ }
1023
1024
  return res;
1024
1025
  },
1025
1026
  /**
@@ -1217,6 +1218,9 @@ export default {
1217
1218
  * @date 2024年9月7日
1218
1219
  **/
1219
1220
  handlerClickApps(res) {
1221
+ if (res.permission === false) {
1222
+ return false;
1223
+ }
1220
1224
  let i = util.indexOfObj(this.newApps, res, 'id');
1221
1225
  if (i == -1) {
1222
1226
  this.newApps.push(res);
@@ -1263,12 +1267,20 @@ export default {
1263
1267
  let tab = this.setIframeType(obj);
1264
1268
  this.tabs.push(tab);
1265
1269
  this.activeName = tab.id;
1270
+ } else {
1271
+ if (obj.method == 'iframe') {
1272
+ obj.url = util.handlerUrl(obj.url);
1273
+ }
1266
1274
  }
1267
1275
  } else {
1268
1276
  let tab = this.setIframeType(res);
1269
1277
  this.tabs.push(tab);
1270
1278
  this.activeName = tab.id;
1271
1279
  }
1280
+ } else {
1281
+ if (res.method == 'iframe') {
1282
+ res.url = util.handlerUrl(res.url);
1283
+ }
1272
1284
  }
1273
1285
  }
1274
1286
  }
@@ -1284,6 +1296,10 @@ export default {
1284
1296
  if (i == -1) {
1285
1297
  let tab = this.setIframeType(subMenus);
1286
1298
  this.tabs.push(tab);
1299
+ } else {
1300
+ if (subMenus.method == 'iframe') {
1301
+ subMenus.url = util.handlerUrl(subMenus.url);
1302
+ }
1287
1303
  }
1288
1304
  }
1289
1305
  }
@@ -1326,6 +1342,10 @@ export default {
1326
1342
  if (i == -1) {
1327
1343
  let tab = this.setIframeType(res);
1328
1344
  this.tabs.push(tab);
1345
+ } else {
1346
+ if (res.method == 'iframe') {
1347
+ res.url = util.handlerUrl(res.url);
1348
+ }
1329
1349
  }
1330
1350
  },
1331
1351
 
@@ -1377,7 +1397,8 @@ export default {
1377
1397
  * @date 2024年9月7日
1378
1398
  **/
1379
1399
  handleRefresh() {
1380
- let tab = this.tabs[this.activeName];
1400
+ let i = util.indexOfObj(this.tabs, this.activeName, 'id');
1401
+ let tab = this.tabs[i];
1381
1402
  if (tab.method === 'iframe') {
1382
1403
  tab.url = util.handlerUrl(tab.url);
1383
1404
  }
@@ -1475,13 +1496,11 @@ export default {
1475
1496
  case 'online':
1476
1497
  this.showMsg = false;
1477
1498
  this.showSet = false;
1478
- if (this.onlineUrl) {
1479
- this.dialog = {
1480
- title: '查看在线人员',
1481
- show: true,
1482
- src: this.onlineUrl
1483
- };
1484
- }
1499
+ this.dialog = {
1500
+ title: '查看在线人员',
1501
+ show: true,
1502
+ src: this.onlineUrl
1503
+ };
1485
1504
  break;
1486
1505
  case 'notice':
1487
1506
  this.showMsg = !this.showMsg;
@@ -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">{{
@@ -97,6 +100,7 @@ export default {
97
100
  name: 'SubMenu',
98
101
  components: { MenuList },
99
102
  props: {
103
+ mode: String,
100
104
  title: String,
101
105
  active: String,
102
106
  closed: Boolean,
@@ -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: {