eoss-ui 0.5.81-beta → 0.5.81-beta1

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 (64) hide show
  1. package/lib/button-group.js +50 -50
  2. package/lib/button.js +50 -50
  3. package/lib/checkbox-group.js +50 -50
  4. package/lib/data-table-form.js +50 -50
  5. package/lib/data-table.js +50 -50
  6. package/lib/date-picker.js +50 -50
  7. package/lib/dialog.js +50 -50
  8. package/lib/eoss-ui.common.js +643 -463
  9. package/lib/flow-group.js +50 -50
  10. package/lib/flow-list.js +53 -53
  11. package/lib/flow.js +71 -71
  12. package/lib/form.js +50 -50
  13. package/lib/handle-user.js +51 -51
  14. package/lib/handler.js +50 -50
  15. package/lib/icon.js +70 -57
  16. package/lib/index.js +1 -1
  17. package/lib/input-number.js +50 -50
  18. package/lib/input.js +50 -50
  19. package/lib/login.js +53 -52
  20. package/lib/main.js +572 -403
  21. package/lib/nav.js +50 -50
  22. package/lib/notify.js +55 -55
  23. package/lib/page.js +50 -50
  24. package/lib/player.js +50 -50
  25. package/lib/qr-code.js +50 -50
  26. package/lib/radio-group.js +50 -50
  27. package/lib/retrial-auth.js +51 -51
  28. package/lib/select-ganged.js +50 -50
  29. package/lib/select.js +50 -50
  30. package/lib/selector-panel.js +50 -50
  31. package/lib/selector.js +50 -50
  32. package/lib/sizer.js +50 -50
  33. package/lib/steps.js +50 -50
  34. package/lib/switch.js +50 -50
  35. package/lib/table-form.js +50 -50
  36. package/lib/tabs.js +50 -50
  37. package/lib/theme-chalk/data-table.css +1 -1
  38. package/lib/theme-chalk/index.css +1 -1
  39. package/lib/theme-chalk/main.css +1 -1
  40. package/lib/theme-chalk/simplicity.css +1 -1
  41. package/lib/tips.js +50 -50
  42. package/lib/tree-group.js +50 -50
  43. package/lib/tree.js +50 -50
  44. package/lib/upload.js +57 -57
  45. package/lib/wujie.js +50 -50
  46. package/lib/wxlogin.js +50 -50
  47. package/package.json +1 -1
  48. package/packages/icon/src/main.vue +15 -5
  49. package/packages/login/src/main.vue +1 -0
  50. package/packages/main/src/default/index.vue +28 -106
  51. package/packages/main/src/main.vue +2 -5
  52. package/packages/main/src/simplicity/apps.vue +55 -18
  53. package/packages/main/src/simplicity/handler.vue +77 -37
  54. package/packages/main/src/simplicity/index.vue +134 -41
  55. package/packages/main/src/simplicity/menu-list.vue +3 -0
  56. package/packages/main/src/simplicity/sub-menu.vue +6 -0
  57. package/packages/theme-chalk/lib/data-table.css +1 -1
  58. package/packages/theme-chalk/lib/index.css +1 -1
  59. package/packages/theme-chalk/lib/main.css +1 -1
  60. package/packages/theme-chalk/lib/simplicity.css +1 -1
  61. package/packages/theme-chalk/src/data-table.scss +0 -3
  62. package/packages/theme-chalk/src/main.scss +2 -2
  63. package/packages/theme-chalk/src/simplicity.scss +25 -4
  64. package/src/index.js +1 -1
@@ -8,7 +8,7 @@
8
8
  <img
9
9
  class="es-main-logo"
10
10
  :src="logoUrl"
11
- v-if="layout !== 'topside' && logoUrl && showDefault"
11
+ v-if="layout !== 'topside' && logoUrl"
12
12
  />
13
13
  <div class="es-main-top-nav">
14
14
  <es-menu
@@ -31,7 +31,6 @@
31
31
  ></es-menu>
32
32
  </div>
33
33
  <es-handler
34
- v-if="showDefault"
35
34
  :userModel="userModel"
36
35
  :hide="hide"
37
36
  :subSystem="subsystem"
@@ -50,7 +49,7 @@
50
49
  @click="handleClick"
51
50
  ></es-handler>
52
51
  </div>
53
- <div class="es-main-box" v-if="reset">
52
+ <div class="es-main-default-box" v-if="reset">
54
53
  <div class="es-main-left" v-if="layout !== 'topnav' && showSide">
55
54
  <div
56
55
  class="es-main-side"
@@ -67,7 +66,7 @@
67
66
  ></es-handle-user>
68
67
  </div>
69
68
  <es-nav
70
- v-if="showMenu && showDefault"
69
+ v-if="showMenu"
71
70
  :hide-sub-menu="hideSubMenu"
72
71
  :is-top="layout == 'topside'"
73
72
  :overlap="layout == 'side'"
@@ -459,7 +458,8 @@ export default {
459
458
  },
460
459
  //隐藏操作按键
461
460
  hide() {
462
- let mainConfig = JSON.parse(util.getStorage('mainConfig'));
461
+ let mainConfig = util.getStorage('mainConfig');
462
+ mainConfig = mainConfig ? JSON.parse(mainConfig) : mainConfig;
463
463
  let topRightToolHide = '';
464
464
  if (
465
465
  mainConfig &&
@@ -569,7 +569,6 @@ export default {
569
569
  data() {
570
570
  return {
571
571
  layout: this.scene.toLowerCase(),
572
- showDefault: false,
573
572
  themeJSON: {
574
573
  logo: { comp: '', data: {} },
575
574
  topNav: { comp: '', data: {} },
@@ -668,7 +667,12 @@ export default {
668
667
  this.isHeader = params.header;
669
668
  let sysLogoIco = sessionStorage.getItem('sysLogoIco');
670
669
  sysLogoIco && util.setFavicon(sysLogoIco);
671
- this.getConfig(params);
670
+
671
+ let mainConfig = util.getStorage('mainConfig');
672
+ if (mainConfig) {
673
+ const results = JSON.parse(mainConfig);
674
+ this.init(results);
675
+ }
672
676
  },
673
677
  mounted() {
674
678
  util.win.reLogin = this.handleReLogin;
@@ -694,56 +698,6 @@ export default {
694
698
  this.setMenu(res);
695
699
  }
696
700
  },
697
- //获取主题模板JSON
698
- getMainDetail(id) {
699
- let params = {
700
- url: mainDetail,
701
- params: { id }
702
- };
703
- util
704
- .ajax(params)
705
- .then((res) => {
706
- let _that = this;
707
- if (!res.results) {
708
- _that.showDefault = true;
709
- }
710
- if (res.rCode == 0) {
711
- if (res.results && JSON.parse(res.results.layout)) {
712
- // 初始化布局器
713
- _that.themeJSON = JSON.parse(res.results.layout);
714
- let count = 0;
715
- for (let key in _that.themeJSON) {
716
- if (_that.themeJSON[key].comp) {
717
- count++;
718
- }
719
- }
720
- if (count == 0) {
721
- _that.showDefault = true;
722
- }
723
- let theme = JSON.parse(res.results.theme);
724
-
725
- util.updateTheme(theme.primaryColor);
726
- _that.handleColorToPage(theme.globalThalk);
727
- }
728
- } else {
729
- _that.$message.error('主题加载发生错误');
730
- throw res.msg || '系统错误,请联系管理员!';
731
- }
732
- if (_that.showDefault && _that.data === undefined) {
733
- _that.getMenu();
734
- } else if (_that.showDefault) {
735
- if (_that.data && _that.data.length) {
736
- _that.menus = JSON.parse(JSON.stringify(_that.data));
737
- _that.setMenu(_that.data);
738
- }
739
- }
740
- })
741
- .catch((err) => {
742
- if (err.message && err.message !== 'canceled') {
743
- this.$message.error(err.message);
744
- }
745
- });
746
- },
747
701
  // 将chalk写入到页面中
748
702
  handleColorToPage(globalThalk) {
749
703
  const thalk = document.getElementById('chalk-style');
@@ -858,22 +812,19 @@ export default {
858
812
  handleSet() {
859
813
  this.showSet = !this.showSet;
860
814
  },
861
- setConfig(results, flag) {
815
+ setConfig(results) {
862
816
  if (this.socket) {
863
817
  this.initWebSocket();
864
818
  }
865
- if (flag) {
866
- sessionStorage.setItem('mainConfig', JSON.stringify(results));
867
- util.setStorage({
868
- type: this.storage,
869
- key: {
870
- userId: results.userModel.userId,
871
- userName: results.userModel.username,
872
- useCaseCodes:
873
- results.resourceCodes || results.userModel.resourceCodes
874
- }
875
- });
876
- }
819
+ sessionStorage.setItem('mainConfig', JSON.stringify(results));
820
+ util.setStorage({
821
+ type: this.storage,
822
+ key: {
823
+ userId: results.userModel.userId,
824
+ userName: results.userModel.username,
825
+ useCaseCodes: results.resourceCodes || results.userModel.resourceCodes
826
+ }
827
+ });
877
828
  for (let i in results) {
878
829
  if (i === 'mainLogoUrl' && results[i]) {
879
830
  this.mainLogo = results[i];
@@ -966,44 +917,15 @@ export default {
966
917
  store.set(i, results[i]);
967
918
  }
968
919
  this.userModel = results.userModel;
969
- let mainFrameLayout = results.mainFrameLayout;
970
- if (results.userStyle.layout && this.isCustomMain) {
971
- this.getMainDetail(results.userStyle.layout);
972
- } else if (this.isCustomMain) {
973
- this.getMainDetail(mainFrameLayout);
974
- } else {
975
- this.showDefault = true;
976
- }
977
920
  },
978
- //获取用户配置及信息
979
- getConfig(query) {
980
- const token =
981
- util.getStorage('token') || util.getStorage('Authorization');
982
- if (
983
- !token &&
984
- Object.prototype.hasOwnProperty.call(query, 'serverId') &&
985
- Object.prototype.hasOwnProperty.call(query, 'authType')
986
- ) {
987
- return false;
988
- }
989
- if (util.getStorage('mainConfig')) {
990
- const results = JSON.parse(util.getStorage('mainConfig'));
991
- this.setConfig(results);
992
- if (this.remote) {
993
- this.getMenu();
994
- } else {
995
- this.renderMenu();
996
- }
997
- return true;
921
+ //初始用户配置及信息
922
+ init(results) {
923
+ this.setConfig(results);
924
+ if (this.remote) {
925
+ this.getMenu();
926
+ } else {
927
+ this.renderMenu();
998
928
  }
999
- util.getMainConfig((res) => {
1000
- this.setConfig(res, 1);
1001
- if (this.remote) {
1002
- this.getMenu();
1003
- } else {
1004
- this.renderMenu();
1005
- }
1006
- });
1007
929
  },
1008
930
  reGetConfig() {
1009
931
  util
@@ -31,11 +31,7 @@ export default {
31
31
  EsMainDefault
32
32
  },
33
33
  props: {
34
- type: String,
35
- remote: {
36
- type: Boolean,
37
- default: true
38
- }
34
+ type: String
39
35
  },
40
36
  computed: {},
41
37
  watch: {},
@@ -54,6 +50,7 @@ export default {
54
50
  * @date 2024年9月7日
55
51
  **/
56
52
  getConfig(query) {
53
+ console.log(121212);
57
54
  const token =
58
55
  util.getStorage('token') || util.getStorage('Authorization');
59
56
  if (
@@ -1,7 +1,17 @@
1
1
  <template>
2
2
  <div class="es-simplicity_apps">
3
3
  <div class="es-simplicity_apps-all">
4
- <div class="es-simplicity_apps-title">所有业务系统</div>
4
+ <div class="es-simplicity_apps-title">
5
+ 所有业务系统
6
+ <el-input
7
+ class="es-simplicity_apps-search"
8
+ size="medium"
9
+ placeholder="请输入关键字"
10
+ prefix-icon="el-icon-search"
11
+ v-model="value"
12
+ >
13
+ </el-input>
14
+ </div>
5
15
  <div class="es-simplicity_apps-box">
6
16
  <ul class="es-simplicity_apps-list">
7
17
  <li
@@ -19,10 +29,10 @@
19
29
  class="es-simplicity_apps-icon"
20
30
  :contents="item.icons || item.icon || menuIcon"
21
31
  ></es-icon>
22
- <div class="es-simplicity_apps-text">
23
- {{ item.text || item.name }}
24
- </div>
25
32
  </el-badge>
33
+ <div class="es-simplicity_apps-text">
34
+ {{ item.text || item.name }}
35
+ </div>
26
36
  <div class="es-simplicity_apps-hover">
27
37
  <es-icon
28
38
  class="es-simplicity_apps-icon"
@@ -44,7 +54,7 @@
44
54
  layout="total,prev, pager, next"
45
55
  total-text="共 {total} 个业务系统"
46
56
  :page-size="appSize"
47
- :total="applications.length"
57
+ :total="apps.length"
48
58
  @current-change="
49
59
  (res) => {
50
60
  this.handleChange(res, 0);
@@ -67,12 +77,12 @@
67
77
  :class="{ 'es-simplicity_apps-disabled': !item.permission }"
68
78
  @click="handleClick(item)"
69
79
  >
80
+ <es-icon
81
+ class="es-simplicity_app-icon"
82
+ :style="setStyle(index)"
83
+ :contents="item.icons || item.icon || menuIcon"
84
+ ></es-icon>
70
85
  <el-badge v-bind="getBadge(item)">
71
- <es-icon
72
- class="es-simplicity_app-icon"
73
- :style="setStyle(index)"
74
- :contents="item.icons || item.icon || menuIcon"
75
- ></es-icon>
76
86
  <div class="es-simplicity_apps-text">
77
87
  {{ item.text || item.name }}
78
88
  </div>
@@ -119,12 +129,12 @@
119
129
  :class="{ 'es-simplicity_apps-disabled': !item.permission }"
120
130
  @click="handleClick(item)"
121
131
  >
132
+ <es-icon
133
+ class="es-simplicity_app-icon"
134
+ :style="setStyle(index)"
135
+ :contents="item.icons || item.icon || menuIcon"
136
+ ></es-icon>
122
137
  <el-badge v-bind="getBadge(item)">
123
- <es-icon
124
- class="es-simplicity_app-icon"
125
- :style="setStyle(index)"
126
- :contents="item.icons || item.icon || menuIcon"
127
- ></es-icon>
128
138
  <div class="es-simplicity_apps-text">
129
139
  {{ item.text || item.name }}
130
140
  </div>
@@ -164,6 +174,7 @@
164
174
  </template>
165
175
 
166
176
  <script>
177
+ import { debounce } from 'throttle-debounce';
167
178
  export default {
168
179
  name: 'Apps',
169
180
  components: {},
@@ -211,6 +222,8 @@ export default {
211
222
  },
212
223
  data() {
213
224
  return {
225
+ value: '',
226
+ apps: [],
214
227
  appSize: 20,
215
228
  appNum: 1,
216
229
  bsSize: 8,
@@ -221,7 +234,7 @@ export default {
221
234
  },
222
235
  computed: {
223
236
  _applications() {
224
- return this.applications.filter((item, index) => {
237
+ return this.apps.filter((item, index) => {
225
238
  return (
226
239
  index > (this.appNum - 1) * this.appSize - 1 &&
227
240
  index < this.appNum * this.appSize
@@ -245,10 +258,34 @@ export default {
245
258
  });
246
259
  }
247
260
  },
248
- watch: {},
261
+ watch: {
262
+ applications: {
263
+ deep: true,
264
+ handler() {
265
+ this.getApps();
266
+ }
267
+ },
268
+ value() {
269
+ this.getApps();
270
+ }
271
+ },
272
+ beforeCreate() {
273
+ this.getApps = debounce(500, () => {
274
+ this.getApp();
275
+ });
276
+ },
249
277
  created() {},
250
- mounted() {},
278
+ mounted() {
279
+ this.getApps();
280
+ },
251
281
  methods: {
282
+ getApp() {
283
+ this.apps = this.value
284
+ ? this.applications.filter((item) => {
285
+ return (item.name || item.text).indexOf(this.value) > -1;
286
+ })
287
+ : this.applications;
288
+ },
252
289
  setStyle(num) {
253
290
  let obj = {};
254
291
  if (this.color) {
@@ -17,9 +17,9 @@
17
17
  class="es-simplicity-handler-item"
18
18
  v-if="item.type === 'notice'"
19
19
  :key="item.type"
20
- :value="notice"
20
+ :value="noticeNum"
21
21
  :max="99"
22
- :hidden="notice === 0"
22
+ :hidden="noticeNum === 0"
23
23
  >
24
24
  <div
25
25
  class="es-simplicity-handler-icon"
@@ -43,18 +43,80 @@
43
43
 
44
44
  <script>
45
45
  import util from 'eoss-ui/src/utils/util';
46
+ let doorIndex = sessionStorage.getItem('doorIndex');
46
47
  export default {
47
48
  name: 'Handler',
48
49
  components: {},
49
50
  props: {
51
+ search: {
52
+ type: Object,
53
+ default() {
54
+ return {
55
+ type: 'search',
56
+ icon: 'es-icon-magnifier',
57
+ title: '搜索'
58
+ };
59
+ }
60
+ },
61
+ index: {
62
+ type: Object,
63
+ default() {
64
+ return {
65
+ type: 'index',
66
+ open: doorIndex,
67
+ icon: 'es-icon-home',
68
+ title: '门户'
69
+ };
70
+ }
71
+ },
72
+ home: {
73
+ type: Object,
74
+ default() {
75
+ return {
76
+ type: 'home',
77
+ icon: 'es-icon-zuomian',
78
+ title: '个人工作台'
79
+ };
80
+ }
81
+ },
82
+ notice: {
83
+ type: Object,
84
+ default() {
85
+ return {
86
+ type: 'notice',
87
+ icon: 'es-icon-tongzhi',
88
+ title: '通知消息'
89
+ };
90
+ }
91
+ },
92
+ quit: {
93
+ type: Object,
94
+ default() {
95
+ return {
96
+ type: 'quit',
97
+ icon: 'es-icon-guanji',
98
+ title: '退出'
99
+ };
100
+ }
101
+ },
102
+ set: {
103
+ type: Object,
104
+ default() {
105
+ return {
106
+ type: 'set',
107
+ icon: 'es-icon-xitongguanli',
108
+ title: '设置'
109
+ };
110
+ }
111
+ },
50
112
  data: Array,
51
113
  hide: {
52
- type: [Array, Object],
114
+ type: Object,
53
115
  default() {
54
116
  return {};
55
117
  }
56
118
  },
57
- notice: {
119
+ noticeNum: {
58
120
  type: Number,
59
121
  default: 0
60
122
  },
@@ -67,44 +129,22 @@ export default {
67
129
  return {
68
130
  time: '',
69
131
  date: '',
70
- list: [
71
- {
72
- type: 'search',
73
- icon: 'es-icon-magnifier',
74
- title: '个人工作台'
75
- },
76
- {
77
- type: 'home',
78
- icon: 'es-icon-home',
79
- title: '个人工作台'
80
- },
81
- {
82
- type: 'notice',
83
- icon: 'es-icon-tongzhi',
84
- title: '通知消息'
85
- },
86
- {
87
- type: 'quit',
88
- icon: 'es-icon-guanji',
89
- title: '退出'
90
- },
91
- {
92
- type: 'set',
93
- icon: 'es-icon-xitongguanli',
94
- title: '设置'
95
- }
96
- ],
97
132
  timer: null
98
133
  };
99
134
  },
100
135
  computed: {
101
136
  lists() {
102
- let lists = this.data ? this.data : this.list;
103
-
104
- return lists.filter((item) => {
105
- if (Array.isArray(this.hide)) {
106
- return !this.hide.includes(item.type);
107
- }
137
+ let data = this.data
138
+ ? this.data
139
+ : [
140
+ this.search,
141
+ this.index,
142
+ this.home,
143
+ this.notice,
144
+ this.quit,
145
+ this.set
146
+ ];
147
+ return data.filter((item) => {
108
148
  return !this.hide[item.type];
109
149
  });
110
150
  },