eoss-ui 0.7.75 → 0.7.76

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 (206) hide show
  1. package/lib/button-group.js +68 -36
  2. package/lib/button.js +68 -36
  3. package/lib/calogin.js +301 -269
  4. package/lib/checkbox-group.js +68 -36
  5. package/lib/data-table-form.js +68 -36
  6. package/lib/data-table.js +68 -36
  7. package/lib/date-picker.js +68 -36
  8. package/lib/dialog.js +68 -36
  9. package/lib/eoss-ui.common.js +463 -349
  10. package/lib/flow-group.js +68 -36
  11. package/lib/flow-list.js +68 -36
  12. package/lib/flow.js +68 -36
  13. package/lib/form.js +68 -36
  14. package/lib/handle-user.js +68 -36
  15. package/lib/handler.js +68 -36
  16. package/lib/icon.js +68 -36
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +68 -36
  19. package/lib/input.js +68 -36
  20. package/lib/login.js +68 -36
  21. package/lib/main.js +211 -97
  22. package/lib/nav.js +68 -36
  23. package/lib/page.js +68 -36
  24. package/lib/pagination.js +68 -36
  25. package/lib/player.js +68 -36
  26. package/lib/qr-code.js +81 -49
  27. package/lib/radio-group.js +68 -36
  28. package/lib/retrial-auth.js +68 -36
  29. package/lib/select-ganged.js +68 -36
  30. package/lib/select.js +68 -36
  31. package/lib/selector-panel.js +68 -36
  32. package/lib/selector.js +68 -36
  33. package/lib/sizer.js +68 -36
  34. package/lib/steps.js +68 -36
  35. package/lib/switch.js +68 -36
  36. package/lib/table-form.js +68 -36
  37. package/lib/tabs.js +68 -36
  38. package/lib/theme-chalk/index.css +1 -1
  39. package/lib/theme-chalk/login.css +1 -1
  40. package/lib/theme-chalk/main.css +1 -1
  41. package/lib/theme-chalk/simplicity-top.css +1 -1
  42. package/lib/tips.js +68 -36
  43. package/lib/tree-group.js +68 -36
  44. package/lib/tree.js +68 -36
  45. package/lib/upload.js +68 -36
  46. package/lib/utils/util.js +68 -36
  47. package/lib/wujie.js +68 -36
  48. package/lib/wxlogin.js +68 -36
  49. package/package.json +1 -1
  50. package/packages/button/index.js +5 -5
  51. package/packages/button/src/main.vue +418 -418
  52. package/packages/button-group/index.js +5 -5
  53. package/packages/calendar/index.js +5 -5
  54. package/packages/calogin/index.js +5 -5
  55. package/packages/calogin/src/plugin.js +915 -915
  56. package/packages/card/index.js +5 -5
  57. package/packages/card/src/main.vue +156 -156
  58. package/packages/cascader/index.js +5 -5
  59. package/packages/cascader/src/main.vue +168 -168
  60. package/packages/checkbox-group/index.js +5 -5
  61. package/packages/checkbox-group/src/main.vue +333 -333
  62. package/packages/clients/index.js +5 -5
  63. package/packages/data-table/index.js +5 -5
  64. package/packages/data-table/src/children.vue +39 -39
  65. package/packages/data-table/src/sizer.vue +195 -195
  66. package/packages/data-table-form/index.js +5 -5
  67. package/packages/data-table-form/src/checkbox.vue +101 -101
  68. package/packages/data-table-form/src/colgroup.vue +17 -17
  69. package/packages/data-table-form/src/main.vue +181 -181
  70. package/packages/data-table-form/src/radio.vue +65 -65
  71. package/packages/data-table-form/src/table.vue +233 -233
  72. package/packages/data-table-form/src/tbody.vue +336 -336
  73. package/packages/data-table-form/src/thead.vue +68 -68
  74. package/packages/date-picker/index.js +5 -5
  75. package/packages/date-picker/src/main.vue +236 -236
  76. package/packages/dialog/index.js +5 -5
  77. package/packages/enable-drag/index.js +5 -5
  78. package/packages/enterprise/index.js +5 -5
  79. package/packages/enterprise/src/main.vue +66 -66
  80. package/packages/error-page/index.js +5 -5
  81. package/packages/error-page/src/main.vue +44 -44
  82. package/packages/flow/index.js +5 -5
  83. package/packages/flow/src/component/TimeLimit.vue +190 -190
  84. package/packages/flow/src/table.vue +58 -58
  85. package/packages/flow-group/index.js +5 -5
  86. package/packages/flow-list/index.js +5 -5
  87. package/packages/form/index.js +5 -5
  88. package/packages/handle-user/index.js +5 -5
  89. package/packages/handler/index.js +5 -5
  90. package/packages/icon/index.js +5 -5
  91. package/packages/icons/index.js +5 -5
  92. package/packages/icons/src/main.vue +81 -81
  93. package/packages/input/index.js +5 -5
  94. package/packages/input/src/main.vue +356 -356
  95. package/packages/input-number/index.js +5 -5
  96. package/packages/input-number/src/main.vue +106 -106
  97. package/packages/label/index.js +5 -5
  98. package/packages/label/src/main.vue +457 -457
  99. package/packages/layout/index.js +5 -5
  100. package/packages/layout/src/item.vue +152 -152
  101. package/packages/layout/src/main.vue +31 -31
  102. package/packages/login/index.js +5 -5
  103. package/packages/main/index.js +5 -5
  104. package/packages/main/src/default/message.vue +249 -249
  105. package/packages/main/src/default/notice.vue +157 -157
  106. package/packages/main/src/main.vue +27 -15
  107. package/packages/main/src/simplicity/index.vue +6 -0
  108. package/packages/main/src/simplicity/lists.vue +84 -84
  109. package/packages/main/src/simplicity/router-page.vue +45 -45
  110. package/packages/main/src/simplicityTop/handler.vue +6 -0
  111. package/packages/main/src/simplicityTop/index.vue +62 -9
  112. package/packages/menu/index.js +5 -5
  113. package/packages/nav/index.js +5 -5
  114. package/packages/notify/index.js +5 -5
  115. package/packages/notify/src/main.vue +538 -538
  116. package/packages/page/index.js +5 -5
  117. package/packages/page/src/main.vue +167 -167
  118. package/packages/pagination/index.js +5 -5
  119. package/packages/pagination/src/main.vue +96 -96
  120. package/packages/player/index.js +5 -5
  121. package/packages/player/src/main.vue +194 -194
  122. package/packages/qr-code/index.js +5 -5
  123. package/packages/qr-code/src/main.vue +170 -170
  124. package/packages/radio-group/index.js +6 -6
  125. package/packages/radio-group/src/main.vue +319 -319
  126. package/packages/retrial-auth/index.js +5 -5
  127. package/packages/retrial-auth/src/main.vue +280 -280
  128. package/packages/select/index.js +5 -5
  129. package/packages/select-ganged/index.js +5 -5
  130. package/packages/select-ganged/src/main.vue +724 -724
  131. package/packages/selector/index.js +5 -5
  132. package/packages/selector-panel/index.js +5 -5
  133. package/packages/selector-panel/src/tree.vue +129 -129
  134. package/packages/sizer/index.js +5 -5
  135. package/packages/sizer/src/main.vue +254 -254
  136. package/packages/steps/index.js +5 -5
  137. package/packages/steps/src/main.vue +181 -181
  138. package/packages/switch/index.js +5 -5
  139. package/packages/table-form/index.js +5 -5
  140. package/packages/tabs/index.js +5 -5
  141. package/packages/tabs/src/main.vue +788 -788
  142. package/packages/tabs-panel/index.js +5 -5
  143. package/packages/tabs-panel/src/main.vue +29 -29
  144. package/packages/theme-chalk/lib/index.css +1 -1
  145. package/packages/theme-chalk/lib/login.css +1 -1
  146. package/packages/theme-chalk/lib/main.css +1 -1
  147. package/packages/theme-chalk/lib/simplicity-top.css +1 -1
  148. package/packages/theme-chalk/src/base.scss +261 -261
  149. package/packages/theme-chalk/src/button-group.scss +176 -176
  150. package/packages/theme-chalk/src/button.scss +24 -24
  151. package/packages/theme-chalk/src/calendar.scss +113 -113
  152. package/packages/theme-chalk/src/card.scss +99 -99
  153. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  154. package/packages/theme-chalk/src/clients.scss +87 -87
  155. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  156. package/packages/theme-chalk/src/date-picker.scss +7 -7
  157. package/packages/theme-chalk/src/dialog.scss +77 -77
  158. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  159. package/packages/theme-chalk/src/enterprise.scss +5 -5
  160. package/packages/theme-chalk/src/error-page.scss +18 -18
  161. package/packages/theme-chalk/src/flow-group.scss +110 -110
  162. package/packages/theme-chalk/src/flow-list.scss +39 -39
  163. package/packages/theme-chalk/src/handle-user.scss +40 -40
  164. package/packages/theme-chalk/src/icons.scss +99 -99
  165. package/packages/theme-chalk/src/input.scss +9 -9
  166. package/packages/theme-chalk/src/label.scss +24 -24
  167. package/packages/theme-chalk/src/layout.scss +46 -46
  168. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  169. package/packages/theme-chalk/src/nav.scss +111 -111
  170. package/packages/theme-chalk/src/page.scss +3 -3
  171. package/packages/theme-chalk/src/pagination.scss +29 -29
  172. package/packages/theme-chalk/src/player.scss +9 -9
  173. package/packages/theme-chalk/src/qr-code.scss +17 -17
  174. package/packages/theme-chalk/src/radio-group.scss +9 -9
  175. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  176. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  177. package/packages/theme-chalk/src/select.scss +8 -8
  178. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  179. package/packages/theme-chalk/src/simplicity-top.scss +13 -0
  180. package/packages/theme-chalk/src/sizer.scss +36 -36
  181. package/packages/theme-chalk/src/steps.scss +88 -88
  182. package/packages/theme-chalk/src/switch.scss +3 -3
  183. package/packages/theme-chalk/src/table-form.scss +1 -1
  184. package/packages/theme-chalk/src/tabs.scss +87 -87
  185. package/packages/theme-chalk/src/tips.scss +7 -7
  186. package/packages/theme-chalk/src/toolbar.scss +179 -179
  187. package/packages/theme-chalk/src/tree-group.scss +72 -72
  188. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  189. package/packages/tips/index.js +5 -5
  190. package/packages/toolbar/index.js +5 -5
  191. package/packages/tree/index.js +5 -5
  192. package/packages/tree-group/index.js +5 -5
  193. package/packages/upload/index.js +5 -5
  194. package/packages/upload/src/picture.js +15 -15
  195. package/packages/wujie/index.js +5 -5
  196. package/packages/wujie/src/main.vue +145 -145
  197. package/packages/wxlogin/index.js +5 -5
  198. package/packages/wxlogin/src/main.vue +128 -128
  199. package/src/config/image.js +2 -2
  200. package/src/index.js +1 -1
  201. package/src/utils/bus.js +3 -3
  202. package/src/utils/date-util.js +312 -312
  203. package/src/utils/http.js +50 -50
  204. package/src/utils/store.js +21 -21
  205. package/src/utils/util.js +172 -105
  206. package/src/utils/webSocket.js +107 -107
@@ -1,157 +1,157 @@
1
- <template>
2
- <transition name="el-drawer-fade" @after-enter="handleMouse(false)">
3
- <div
4
- class="es-notice-box"
5
- v-show="data.length"
6
- @mouseover="handleMouse(true)"
7
- @mouseout="handleMouse(false)"
8
- >
9
- <div class="es-msgs-box" :class="{ 'es-in': data.length }">
10
- <div class="es-msg-header">
11
- <span class="es-notice-title">通知消息</span>
12
- </div>
13
- <div class="es-msg-lists-box">
14
- <div class="es-msg-lists">
15
- <el-scrollbar class="es-scrollbar">
16
- <el-card
17
- v-for="(item, index) in data"
18
- :key="item.id"
19
- class="es-msg-item"
20
- >
21
- <div class="es-msg-item-title">{{ item.title }}</div>
22
- <div>
23
- <span class="es-msg-item-time">{{ item.time }}</span>
24
- <span
25
- class="es-overlook"
26
- v-show="item.handlerUrl"
27
- @click="handleMessage(item, index)"
28
- >处理</span
29
- >
30
- </div>
31
- </el-card>
32
- </el-scrollbar>
33
- </div>
34
- </div>
35
- <div
36
- class="es-notice-footer"
37
- style="display: flex; justify-content: space-between"
38
- >
39
- <span @click="handleIgnoreAll">忽略全部</span
40
- ><span @click="afterEnter">我知道了</span>
41
- </div>
42
- </div>
43
- <es-dialog
44
- title="处理"
45
- name="manage"
46
- width="90%"
47
- height="80%"
48
- :visible.sync="dialog.show"
49
- :url="dialog.url"
50
- :param="dialog.params"
51
- @close="handleClose"
52
- ></es-dialog>
53
- </div>
54
- </transition>
55
- </template>
56
- <script>
57
- import { ignoreAllSysMsg } from 'eoss-ui/src/config/api.js';
58
- import util from 'eoss-ui/src/utils/util';
59
- export default {
60
- name: 'notice',
61
- provide() {
62
- return {
63
- deleteNotice: this.handleRemove
64
- };
65
- },
66
- props: {
67
- visible: Boolean,
68
- winopen: Boolean,
69
- data: {
70
- type: Array,
71
- default() {
72
- return [];
73
- }
74
- }
75
- },
76
- computed: {},
77
- data() {
78
- return {
79
- //加载数据
80
- loading: false,
81
- //消息页码
82
- pageNum: 1,
83
- //消息数据,
84
- msgs: [],
85
- //即时消息
86
- sysMsg: '',
87
- dialog: {
88
- params: {},
89
- url: '',
90
- show: false
91
- },
92
- index: null
93
- };
94
- },
95
- methods: {
96
- afterEnter() {
97
- this.$emit('opened');
98
- },
99
- handleMouse(flag) {
100
- this.$emit('opened', flag);
101
- },
102
- //全部忽略
103
- handleIgnoreAll() {
104
- util
105
- .ajax({
106
- url: ignoreAllSysMsg
107
- })
108
- .then((res) => {
109
- this.count = 0;
110
- this.msgs = [];
111
- this.$emit('ignore', { type: 'ignore', value: 'all' });
112
- this.$emit('opened', false);
113
- })
114
- .catch((err) => {
115
- if (err.message && err.message !== 'canceled') {
116
- this.$message.error(err.message);
117
- }
118
- });
119
- },
120
- //处理消息
121
- handleMessage(item, index) {
122
- if (item.urlopenmode === 1 || this.winopen) {
123
- const mywin = util.win.open(item.handlerUrl);
124
- if (mywin) {
125
- let times = setInterval(() => {
126
- if (mywin.closed) {
127
- clearInterval(times);
128
- this.$parent.$emit('bus-emit', 'waitdone');
129
- }
130
- }, 1000);
131
- }
132
- } else {
133
- this.dialog = {
134
- show: true,
135
- url: item.handlerUrl,
136
- params: {
137
- id: item.id,
138
- pendingId: item.pendingId,
139
- userId: item.userId
140
- }
141
- };
142
- this.index = index;
143
- }
144
- },
145
- handleRemove() {
146
- if (this.index === null) {
147
- this.count -= 1;
148
- this.msgs = this.msgs.splice(this.index, 1);
149
- }
150
- this.dialog.show = false;
151
- },
152
- handleClose() {
153
- this.$parent.$emit('bus-emit', 'waitdone');
154
- }
155
- }
156
- };
157
- </script>
1
+ <template>
2
+ <transition name="el-drawer-fade" @after-enter="handleMouse(false)">
3
+ <div
4
+ class="es-notice-box"
5
+ v-show="data.length"
6
+ @mouseover="handleMouse(true)"
7
+ @mouseout="handleMouse(false)"
8
+ >
9
+ <div class="es-msgs-box" :class="{ 'es-in': data.length }">
10
+ <div class="es-msg-header">
11
+ <span class="es-notice-title">通知消息</span>
12
+ </div>
13
+ <div class="es-msg-lists-box">
14
+ <div class="es-msg-lists">
15
+ <el-scrollbar class="es-scrollbar">
16
+ <el-card
17
+ v-for="(item, index) in data"
18
+ :key="item.id"
19
+ class="es-msg-item"
20
+ >
21
+ <div class="es-msg-item-title">{{ item.title }}</div>
22
+ <div>
23
+ <span class="es-msg-item-time">{{ item.time }}</span>
24
+ <span
25
+ class="es-overlook"
26
+ v-show="item.handlerUrl"
27
+ @click="handleMessage(item, index)"
28
+ >处理</span
29
+ >
30
+ </div>
31
+ </el-card>
32
+ </el-scrollbar>
33
+ </div>
34
+ </div>
35
+ <div
36
+ class="es-notice-footer"
37
+ style="display: flex; justify-content: space-between"
38
+ >
39
+ <span @click="handleIgnoreAll">忽略全部</span
40
+ ><span @click="afterEnter">我知道了</span>
41
+ </div>
42
+ </div>
43
+ <es-dialog
44
+ title="处理"
45
+ name="manage"
46
+ width="90%"
47
+ height="80%"
48
+ :visible.sync="dialog.show"
49
+ :url="dialog.url"
50
+ :param="dialog.params"
51
+ @close="handleClose"
52
+ ></es-dialog>
53
+ </div>
54
+ </transition>
55
+ </template>
56
+ <script>
57
+ import { ignoreAllSysMsg } from 'eoss-ui/src/config/api.js';
58
+ import util from 'eoss-ui/src/utils/util';
59
+ export default {
60
+ name: 'notice',
61
+ provide() {
62
+ return {
63
+ deleteNotice: this.handleRemove
64
+ };
65
+ },
66
+ props: {
67
+ visible: Boolean,
68
+ winopen: Boolean,
69
+ data: {
70
+ type: Array,
71
+ default() {
72
+ return [];
73
+ }
74
+ }
75
+ },
76
+ computed: {},
77
+ data() {
78
+ return {
79
+ //加载数据
80
+ loading: false,
81
+ //消息页码
82
+ pageNum: 1,
83
+ //消息数据,
84
+ msgs: [],
85
+ //即时消息
86
+ sysMsg: '',
87
+ dialog: {
88
+ params: {},
89
+ url: '',
90
+ show: false
91
+ },
92
+ index: null
93
+ };
94
+ },
95
+ methods: {
96
+ afterEnter() {
97
+ this.$emit('opened');
98
+ },
99
+ handleMouse(flag) {
100
+ this.$emit('opened', flag);
101
+ },
102
+ //全部忽略
103
+ handleIgnoreAll() {
104
+ util
105
+ .ajax({
106
+ url: ignoreAllSysMsg
107
+ })
108
+ .then((res) => {
109
+ this.count = 0;
110
+ this.msgs = [];
111
+ this.$emit('ignore', { type: 'ignore', value: 'all' });
112
+ this.$emit('opened', false);
113
+ })
114
+ .catch((err) => {
115
+ if (err.message && err.message !== 'canceled') {
116
+ this.$message.error(err.message);
117
+ }
118
+ });
119
+ },
120
+ //处理消息
121
+ handleMessage(item, index) {
122
+ if (item.urlopenmode === 1 || this.winopen) {
123
+ const mywin = util.win.open(item.handlerUrl);
124
+ if (mywin) {
125
+ let times = setInterval(() => {
126
+ if (mywin.closed) {
127
+ clearInterval(times);
128
+ this.$parent.$emit('bus-emit', 'waitdone');
129
+ }
130
+ }, 1000);
131
+ }
132
+ } else {
133
+ this.dialog = {
134
+ show: true,
135
+ url: item.handlerUrl,
136
+ params: {
137
+ id: item.id,
138
+ pendingId: item.pendingId,
139
+ userId: item.userId
140
+ }
141
+ };
142
+ this.index = index;
143
+ }
144
+ },
145
+ handleRemove() {
146
+ if (this.index === null) {
147
+ this.count -= 1;
148
+ this.msgs = this.msgs.splice(this.index, 1);
149
+ }
150
+ this.dialog.show = false;
151
+ },
152
+ handleClose() {
153
+ this.$parent.$emit('bus-emit', 'waitdone');
154
+ }
155
+ }
156
+ };
157
+ </script>
@@ -110,7 +110,11 @@ export default {
110
110
  type: Number,
111
111
  default: 3000
112
112
  },
113
- multiple: Boolean
113
+ multiple: Boolean,
114
+ changeThemeReload: {
115
+ type: Boolean,
116
+ default: false
117
+ }
114
118
  },
115
119
  computed: {
116
120
  _launchImage() {
@@ -134,6 +138,10 @@ export default {
134
138
  };
135
139
  },
136
140
  created() {
141
+ const layoutType = localStorage.getItem('layoutType');
142
+ if (layoutType) {
143
+ this.layoutType = layoutType;
144
+ }
137
145
  this.params = util.getParams() || {};
138
146
  this.sysCode = this.params.sysCode;
139
147
  this.appCode = this.params.appCode || this.params.appcode;
@@ -157,10 +165,6 @@ export default {
157
165
  this.$nextTick(() => {
158
166
  // 当主题变化时,重新绑定一次事件 防止事件丢失 或者绑定错误
159
167
  this.bindEvent();
160
- const layoutType = localStorage.getItem('layoutType');
161
- if (layoutType) {
162
- this.layoutType = layoutType;
163
- }
164
168
  });
165
169
  },
166
170
  methods: {
@@ -268,20 +272,29 @@ export default {
268
272
  if (active) {
269
273
  this.layout = active;
270
274
  }
275
+ // 重新加载页面,刷新布局风格配置信息
276
+ // 如果不刷新,会导致事件绑定出现问题,导致事件丢失
277
+ if (this.changeThemeReload) {
278
+ window.top.location.reload();
279
+ return;
280
+ }
281
+
271
282
  let mainConfig = util.getStorage('mainConfig');
272
- if (mainConfig) {
273
- mainConfig = JSON.parse(mainConfig);
274
- this.$nextTick(() => {
283
+ // 切换布局风格后,重新绑定事件
284
+ this.$nextTick(() => {
285
+ this.bindEvent();
286
+ if (mainConfig) {
287
+ mainConfig = JSON.parse(mainConfig);
275
288
  this.$refs.main.init(mainConfig, true);
276
289
  util.getMainConfig((res) => {
277
290
  this.$refs.main.init(res, false);
278
291
  });
279
- });
280
- } else {
281
- util.getMainConfig((res) => {
282
- this.$refs.main.init(res, true);
283
- });
284
- }
292
+ } else {
293
+ util.getMainConfig((res) => {
294
+ this.$refs.main.init(res, true);
295
+ });
296
+ }
297
+ });
285
298
  },
286
299
  /**
287
300
  * @desc:重新登录
@@ -596,7 +609,6 @@ export default {
596
609
  **/
597
610
  busEmit(event, args) {
598
611
  console.log('busEmit', event, args);
599
-
600
612
  WujieVue.bus.$emit(event, args);
601
613
  const iframes = document.getElementsByTagName('iframe');
602
614
  for (let i = 0; i < iframes.length; i++) {
@@ -629,6 +629,10 @@ export default {
629
629
  type: Number,
630
630
  default: 220
631
631
  },
632
+ showTipNums: {
633
+ type: Boolean,
634
+ default: true
635
+ },
632
636
  //路由方式
633
637
  routeType: String,
634
638
  host: {
@@ -1457,6 +1461,8 @@ export default {
1457
1461
  * @date 2024年9月7日
1458
1462
  **/
1459
1463
  setTips(obj) {
1464
+ // 不显示菜单气泡提醒
1465
+ if (!this.showTipNums) return;
1460
1466
  if (!this.menuTips || !Object.keys(this.menuTips).length) {
1461
1467
  return false;
1462
1468
  }
@@ -1,84 +1,84 @@
1
- <template>
2
- <div v-for="(item, index) in data" :key="item.id" @click="handleClick(item)">
3
- <div
4
- class="es-simplicity-menus-item"
5
- :class="{
6
- 'is-active': active === item.id,
7
- 'is-open': openId === item.id
8
- }"
9
- >
10
- <es-icon
11
- class="es-simplicity_apps-icon"
12
- :style="setStyle(index)"
13
- :contents="item.icons || item.icon || menuIcon"
14
- ></es-icon>
15
- <div class="es-simplicity-menus-tips" v-if="item.tips">
16
- {{ item.tips > 99 ? '99+' : item.tips }}
17
- </div>
18
- <div class="es-simplicity_apps-text">
19
- {{ item.text || item.name }}
20
- </div>
21
- </div>
22
- <lists
23
- v-if="
24
- (item.children && item.children.length) ||
25
- (item.fourthTabs && item.fourthTabs.length)
26
- "
27
- :menuIcon="menuIcon"
28
- :color="color"
29
- :backgroundColor="backgroundColor"
30
- :data="[...(item.children || []), ...(item.fourthTabs || [])]"
31
- ></lists>
32
- </div>
33
- </template>
34
-
35
- <script>
36
- export default {
37
- name: 'Lists',
38
- components: {},
39
- props: {
40
- menuIcon: String,
41
- color: [String, Array],
42
- backgroundColor: [String, Array],
43
- data: Array
44
- },
45
- data() {
46
- return {
47
- active: '',
48
- openId: ''
49
- };
50
- },
51
- computed: {},
52
- watch: {},
53
- created() {},
54
- mounted() {},
55
- methods: {
56
- setStyle(num) {
57
- let obj = {};
58
- if (this.color) {
59
- obj.color = this.color;
60
- if (Array.isArray(this.color)) {
61
- obj.color = this.color[num % this.color.length];
62
- } else {
63
- obj.color = this.color;
64
- }
65
- }
66
- if (this.backgroundColor) {
67
- if (Array.isArray(this.backgroundColor)) {
68
- obj.backgroundColor =
69
- this.backgroundColor[num % this.backgroundColor.length];
70
- } else {
71
- obj.backgroundColor = this.backgroundColor;
72
- }
73
- }
74
- return obj;
75
- },
76
- handleClick(res) {
77
- this.active = res.id;
78
- this.$emit('command', res);
79
- }
80
- }
81
- };
82
- </script>
83
-
84
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <div v-for="(item, index) in data" :key="item.id" @click="handleClick(item)">
3
+ <div
4
+ class="es-simplicity-menus-item"
5
+ :class="{
6
+ 'is-active': active === item.id,
7
+ 'is-open': openId === item.id
8
+ }"
9
+ >
10
+ <es-icon
11
+ class="es-simplicity_apps-icon"
12
+ :style="setStyle(index)"
13
+ :contents="item.icons || item.icon || menuIcon"
14
+ ></es-icon>
15
+ <div class="es-simplicity-menus-tips" v-if="item.tips">
16
+ {{ item.tips > 99 ? '99+' : item.tips }}
17
+ </div>
18
+ <div class="es-simplicity_apps-text">
19
+ {{ item.text || item.name }}
20
+ </div>
21
+ </div>
22
+ <lists
23
+ v-if="
24
+ (item.children && item.children.length) ||
25
+ (item.fourthTabs && item.fourthTabs.length)
26
+ "
27
+ :menuIcon="menuIcon"
28
+ :color="color"
29
+ :backgroundColor="backgroundColor"
30
+ :data="[...(item.children || []), ...(item.fourthTabs || [])]"
31
+ ></lists>
32
+ </div>
33
+ </template>
34
+
35
+ <script>
36
+ export default {
37
+ name: 'Lists',
38
+ components: {},
39
+ props: {
40
+ menuIcon: String,
41
+ color: [String, Array],
42
+ backgroundColor: [String, Array],
43
+ data: Array
44
+ },
45
+ data() {
46
+ return {
47
+ active: '',
48
+ openId: ''
49
+ };
50
+ },
51
+ computed: {},
52
+ watch: {},
53
+ created() {},
54
+ mounted() {},
55
+ methods: {
56
+ setStyle(num) {
57
+ let obj = {};
58
+ if (this.color) {
59
+ obj.color = this.color;
60
+ if (Array.isArray(this.color)) {
61
+ obj.color = this.color[num % this.color.length];
62
+ } else {
63
+ obj.color = this.color;
64
+ }
65
+ }
66
+ if (this.backgroundColor) {
67
+ if (Array.isArray(this.backgroundColor)) {
68
+ obj.backgroundColor =
69
+ this.backgroundColor[num % this.backgroundColor.length];
70
+ } else {
71
+ obj.backgroundColor = this.backgroundColor;
72
+ }
73
+ }
74
+ return obj;
75
+ },
76
+ handleClick(res) {
77
+ this.active = res.id;
78
+ this.$emit('command', res);
79
+ }
80
+ }
81
+ };
82
+ </script>
83
+
84
+ <style lang="scss" scoped></style>
@@ -1,45 +1,45 @@
1
- <template>
2
- <div style="height: 100%">
3
- <router-view :key="keys || appCode" :name="appCode" />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- import util from 'eoss-ui/src/utils/util';
9
- export default {
10
- name: 'RouterPage',
11
- components: {},
12
- props: {
13
- appCode: String,
14
- path: String,
15
- url: String,
16
- query: {
17
- type: Object,
18
- default() {
19
- return {};
20
- }
21
- },
22
- keys: String
23
- },
24
- data() {
25
- return {};
26
- },
27
- computed: {},
28
- watch: {},
29
- created() {},
30
- mounted() {
31
- this.jump();
32
- },
33
- methods: {
34
- jump() {
35
- let params = util.getParams({ url: this.url });
36
- this.$router.push({
37
- path: this.path,
38
- query: { ...this.query, ...params }
39
- });
40
- }
41
- }
42
- };
43
- </script>
44
-
45
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <div style="height: 100%">
3
+ <router-view :key="keys || appCode" :name="appCode" />
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import util from 'eoss-ui/src/utils/util';
9
+ export default {
10
+ name: 'RouterPage',
11
+ components: {},
12
+ props: {
13
+ appCode: String,
14
+ path: String,
15
+ url: String,
16
+ query: {
17
+ type: Object,
18
+ default() {
19
+ return {};
20
+ }
21
+ },
22
+ keys: String
23
+ },
24
+ data() {
25
+ return {};
26
+ },
27
+ computed: {},
28
+ watch: {},
29
+ created() {},
30
+ mounted() {
31
+ this.jump();
32
+ },
33
+ methods: {
34
+ jump() {
35
+ let params = util.getParams({ url: this.url });
36
+ this.$router.push({
37
+ path: this.path,
38
+ query: { ...this.query, ...params }
39
+ });
40
+ }
41
+ }
42
+ };
43
+ </script>
44
+
45
+ <style lang="scss" scoped></style>