eoss-ui 0.7.27 → 0.7.29

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 (283) hide show
  1. package/lib/button-group.js +35 -16
  2. package/lib/button.js +35 -16
  3. package/lib/calogin.js +268 -249
  4. package/lib/checkbox-group.js +35 -16
  5. package/lib/data-table-form.js +35 -16
  6. package/lib/data-table.js +47 -24
  7. package/lib/date-picker.js +35 -16
  8. package/lib/dialog.js +35 -16
  9. package/lib/eoss-ui.common.js +1777 -1427
  10. package/lib/flow-group.js +38 -19
  11. package/lib/flow-list.js +116 -97
  12. package/lib/flow.js +478 -411
  13. package/lib/form.js +35 -16
  14. package/lib/handle-user.js +35 -16
  15. package/lib/handler.js +35 -16
  16. package/lib/icon.js +35 -16
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +35 -16
  19. package/lib/input.js +35 -16
  20. package/lib/login.js +256 -126
  21. package/lib/main.js +742 -554
  22. package/lib/menu.js +0 -1
  23. package/lib/nav.js +35 -16
  24. package/lib/page.js +35 -16
  25. package/lib/pagination.js +35 -16
  26. package/lib/player.js +35 -16
  27. package/lib/qr-code.js +48 -29
  28. package/lib/radio-group.js +35 -16
  29. package/lib/retrial-auth.js +35 -16
  30. package/lib/select-ganged.js +35 -16
  31. package/lib/select.js +35 -16
  32. package/lib/selector-panel.js +35 -16
  33. package/lib/selector.js +35 -16
  34. package/lib/sizer.js +35 -16
  35. package/lib/steps.js +35 -16
  36. package/lib/switch.js +35 -16
  37. package/lib/table-form.js +35 -16
  38. package/lib/tabs.js +35 -16
  39. package/lib/tips.js +35 -16
  40. package/lib/tree-group.js +35 -16
  41. package/lib/tree.js +35 -16
  42. package/lib/upload.js +35 -16
  43. package/lib/utils/util.js +31 -12
  44. package/lib/wujie.js +35 -16
  45. package/lib/wxlogin.js +35 -16
  46. package/package.json +160 -160
  47. package/packages/.DS_Store +0 -0
  48. package/packages/button/index.js +5 -5
  49. package/packages/button/src/main.vue +418 -418
  50. package/packages/button-group/index.js +5 -5
  51. package/packages/button-group/src/main.vue +346 -346
  52. package/packages/calendar/index.js +5 -5
  53. package/packages/calogin/.DS_Store +0 -0
  54. package/packages/calogin/index.js +5 -5
  55. package/packages/calogin/src/main.vue +412 -412
  56. package/packages/calogin/src/plugin.js +915 -915
  57. package/packages/card/index.js +5 -5
  58. package/packages/card/src/main.vue +156 -156
  59. package/packages/cascader/index.js +5 -5
  60. package/packages/cascader/src/main.vue +168 -168
  61. package/packages/checkbox-group/index.js +5 -5
  62. package/packages/checkbox-group/src/main.vue +333 -333
  63. package/packages/clients/index.js +5 -5
  64. package/packages/clients/src/main.vue +151 -151
  65. package/packages/data-table/index.js +5 -5
  66. package/packages/data-table/src/children.vue +39 -39
  67. package/packages/data-table/src/column.vue +992 -988
  68. package/packages/data-table/src/main.vue +1831 -1831
  69. package/packages/data-table/src/sizer.vue +195 -195
  70. package/packages/data-table-form/index.js +5 -5
  71. package/packages/data-table-form/src/checkbox.vue +101 -101
  72. package/packages/data-table-form/src/colgroup.vue +17 -17
  73. package/packages/data-table-form/src/main.vue +181 -181
  74. package/packages/data-table-form/src/radio.vue +65 -65
  75. package/packages/data-table-form/src/table.vue +233 -233
  76. package/packages/data-table-form/src/tbody.vue +336 -336
  77. package/packages/data-table-form/src/thead.vue +68 -68
  78. package/packages/date-picker/.DS_Store +0 -0
  79. package/packages/date-picker/index.js +5 -5
  80. package/packages/date-picker/src/.DS_Store +0 -0
  81. package/packages/date-picker/src/main.vue +236 -236
  82. package/packages/dialog/index.js +5 -5
  83. package/packages/enable-drag/index.js +5 -5
  84. package/packages/enterprise/index.js +5 -5
  85. package/packages/enterprise/src/main.vue +66 -66
  86. package/packages/error-page/index.js +5 -5
  87. package/packages/error-page/src/main.vue +44 -44
  88. package/packages/flow/.DS_Store +0 -0
  89. package/packages/flow/index.js +5 -5
  90. package/packages/flow/src/.DS_Store +0 -0
  91. package/packages/flow/src/component/Circulate.vue +413 -413
  92. package/packages/flow/src/component/CommonOpinions.vue +373 -373
  93. package/packages/flow/src/component/CustomPreset.vue +322 -322
  94. package/packages/flow/src/component/FileList.vue +97 -97
  95. package/packages/flow/src/component/FreeCirculation.vue +240 -240
  96. package/packages/flow/src/component/Preset.vue +255 -255
  97. package/packages/flow/src/component/SendMsg.vue +242 -242
  98. package/packages/flow/src/component/TimeLimit.vue +190 -190
  99. package/packages/flow/src/component/taskUnionExamine.vue +755 -755
  100. package/packages/flow/src/form.vue +121 -121
  101. package/packages/flow/src/freeStartFlow.vue +2847 -2847
  102. package/packages/flow/src/main.vue +3855 -3854
  103. package/packages/flow/src/processForm.vue +1365 -1363
  104. package/packages/flow/src/processReject.vue +309 -309
  105. package/packages/flow/src/reset.vue +941 -941
  106. package/packages/flow/src/startTaskRead.vue +691 -691
  107. package/packages/flow/src/supervise.vue +159 -159
  108. package/packages/flow/src/table.vue +58 -58
  109. package/packages/flow-group/index.js +5 -5
  110. package/packages/flow-group/src/main.vue +717 -717
  111. package/packages/flow-list/.DS_Store +0 -0
  112. package/packages/flow-list/index.js +5 -5
  113. package/packages/flow-list/src/main.vue +1787 -1787
  114. package/packages/form/.DS_Store +0 -0
  115. package/packages/form/index.js +5 -5
  116. package/packages/form/src/main.vue +3901 -3901
  117. package/packages/form/src/table.vue +1512 -1512
  118. package/packages/handle-user/index.js +5 -5
  119. package/packages/handle-user/src/main.vue +137 -137
  120. package/packages/handler/index.js +5 -5
  121. package/packages/handler/src/main.vue +496 -496
  122. package/packages/icon/index.js +5 -5
  123. package/packages/icon/src/main.vue +104 -104
  124. package/packages/icons/index.js +5 -5
  125. package/packages/icons/src/main.vue +81 -81
  126. package/packages/input/index.js +5 -5
  127. package/packages/input/src/main.vue +356 -356
  128. package/packages/input-number/index.js +5 -5
  129. package/packages/input-number/src/main.vue +106 -106
  130. package/packages/label/index.js +5 -5
  131. package/packages/label/src/main.vue +457 -457
  132. package/packages/layout/index.js +5 -5
  133. package/packages/layout/src/item.vue +152 -152
  134. package/packages/layout/src/main.vue +31 -31
  135. package/packages/login/.DS_Store +0 -0
  136. package/packages/login/index.js +5 -5
  137. package/packages/login/src/main.vue +2068 -2020
  138. package/packages/login/src/resetPassword.vue +557 -557
  139. package/packages/main/.DS_Store +0 -0
  140. package/packages/main/index.js +5 -5
  141. package/packages/main/src/.DS_Store +0 -0
  142. package/packages/main/src/default/index.vue +2 -2
  143. package/packages/main/src/default/message.vue +249 -249
  144. package/packages/main/src/default/notice.vue +157 -157
  145. package/packages/main/src/default/userinfo.vue +502 -502
  146. package/packages/main/src/main.vue +165 -69
  147. package/packages/main/src/public/online.vue +89 -89
  148. package/packages/main/src/public/search.vue +464 -464
  149. package/packages/main/src/public/settings.vue +221 -221
  150. package/packages/main/src/simplicity/apps.vue +388 -388
  151. package/packages/main/src/simplicity/avatar.vue +82 -82
  152. package/packages/main/src/simplicity/handler.vue +144 -263
  153. package/packages/main/src/simplicity/index.vue +2253 -2135
  154. package/packages/main/src/simplicity/lists.vue +84 -84
  155. package/packages/main/src/simplicity/menu-list.vue +135 -135
  156. package/packages/main/src/simplicity/message.vue +259 -259
  157. package/packages/main/src/simplicity/notice.vue +190 -190
  158. package/packages/main/src/simplicity/router-page.vue +45 -45
  159. package/packages/main/src/simplicity/sub-menu.vue +266 -264
  160. package/packages/main/src/simplicity/user.vue +259 -259
  161. package/packages/main/src/simplicity/userinfo.vue +398 -398
  162. package/packages/menu/.DS_Store +0 -0
  163. package/packages/menu/index.js +5 -5
  164. package/packages/menu/src/main.vue +595 -596
  165. package/packages/nav/index.js +5 -5
  166. package/packages/nav/src/main.vue +351 -351
  167. package/packages/notify/index.js +5 -5
  168. package/packages/notify/src/main.vue +538 -538
  169. package/packages/page/index.js +5 -5
  170. package/packages/page/src/main.vue +167 -167
  171. package/packages/pagination/index.js +5 -5
  172. package/packages/pagination/src/main.vue +96 -96
  173. package/packages/player/index.js +5 -5
  174. package/packages/player/src/main.vue +194 -194
  175. package/packages/qr-code/index.js +5 -5
  176. package/packages/qr-code/src/main.vue +170 -170
  177. package/packages/radio-group/index.js +6 -6
  178. package/packages/radio-group/src/main.vue +319 -319
  179. package/packages/retrial-auth/index.js +5 -5
  180. package/packages/retrial-auth/src/main.vue +280 -280
  181. package/packages/select/.DS_Store +0 -0
  182. package/packages/select/index.js +5 -5
  183. package/packages/select/src/main.vue +782 -782
  184. package/packages/select-ganged/index.js +5 -5
  185. package/packages/select-ganged/src/main.vue +724 -724
  186. package/packages/selector/.DS_Store +0 -0
  187. package/packages/selector/index.js +5 -5
  188. package/packages/selector/src/main.vue +761 -761
  189. package/packages/selector-panel/.DS_Store +0 -0
  190. package/packages/selector-panel/index.js +5 -5
  191. package/packages/selector-panel/src/main.vue +1027 -1027
  192. package/packages/selector-panel/src/selection.vue +170 -170
  193. package/packages/selector-panel/src/tree.vue +129 -129
  194. package/packages/sizer/index.js +5 -5
  195. package/packages/sizer/src/main.vue +254 -254
  196. package/packages/steps/index.js +5 -5
  197. package/packages/steps/src/main.vue +181 -181
  198. package/packages/switch/index.js +5 -5
  199. package/packages/switch/src/main.vue +170 -170
  200. package/packages/table-form/index.js +5 -5
  201. package/packages/tabs/index.js +5 -5
  202. package/packages/tabs/src/main.vue +788 -788
  203. package/packages/tabs-panel/index.js +5 -5
  204. package/packages/tabs-panel/src/main.vue +29 -29
  205. package/packages/theme-chalk/src/.DS_Store +0 -0
  206. package/packages/theme-chalk/src/base.scss +261 -261
  207. package/packages/theme-chalk/src/button-group.scss +176 -176
  208. package/packages/theme-chalk/src/button.scss +24 -24
  209. package/packages/theme-chalk/src/calendar.scss +113 -113
  210. package/packages/theme-chalk/src/card.scss +99 -99
  211. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  212. package/packages/theme-chalk/src/clients.scss +87 -87
  213. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  214. package/packages/theme-chalk/src/data-table.scss +293 -293
  215. package/packages/theme-chalk/src/date-picker.scss +7 -7
  216. package/packages/theme-chalk/src/dialog.scss +77 -77
  217. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  218. package/packages/theme-chalk/src/enterprise.scss +5 -5
  219. package/packages/theme-chalk/src/error-page.scss +18 -18
  220. package/packages/theme-chalk/src/flow-group.scss +110 -110
  221. package/packages/theme-chalk/src/flow-list.scss +39 -39
  222. package/packages/theme-chalk/src/flow.scss +351 -351
  223. package/packages/theme-chalk/src/form.scss +501 -501
  224. package/packages/theme-chalk/src/handle-user.scss +40 -40
  225. package/packages/theme-chalk/src/handler.scss +148 -148
  226. package/packages/theme-chalk/src/icon.scss +1817 -1817
  227. package/packages/theme-chalk/src/icons.scss +99 -99
  228. package/packages/theme-chalk/src/input.scss +9 -9
  229. package/packages/theme-chalk/src/label.scss +24 -24
  230. package/packages/theme-chalk/src/layout.scss +46 -46
  231. package/packages/theme-chalk/src/login.scss +987 -987
  232. package/packages/theme-chalk/src/main.scss +663 -663
  233. package/packages/theme-chalk/src/menu.scss +224 -224
  234. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  235. package/packages/theme-chalk/src/nav.scss +111 -111
  236. package/packages/theme-chalk/src/page.scss +3 -3
  237. package/packages/theme-chalk/src/pagination.scss +29 -29
  238. package/packages/theme-chalk/src/player.scss +9 -9
  239. package/packages/theme-chalk/src/qr-code.scss +17 -17
  240. package/packages/theme-chalk/src/radio-group.scss +9 -9
  241. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  242. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  243. package/packages/theme-chalk/src/select.scss +8 -8
  244. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  245. package/packages/theme-chalk/src/selector.scss +92 -92
  246. package/packages/theme-chalk/src/simplicity.scss +1370 -1370
  247. package/packages/theme-chalk/src/sizer.scss +36 -36
  248. package/packages/theme-chalk/src/steps.scss +88 -88
  249. package/packages/theme-chalk/src/switch.scss +3 -3
  250. package/packages/theme-chalk/src/table-form.scss +1 -1
  251. package/packages/theme-chalk/src/tabs.scss +87 -87
  252. package/packages/theme-chalk/src/tips.scss +7 -7
  253. package/packages/theme-chalk/src/toolbar.scss +179 -179
  254. package/packages/theme-chalk/src/tree-group.scss +72 -72
  255. package/packages/theme-chalk/src/tree.scss +165 -165
  256. package/packages/theme-chalk/src/upload.scss +172 -172
  257. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  258. package/packages/tips/index.js +5 -5
  259. package/packages/tips/src/main.vue +141 -141
  260. package/packages/toolbar/index.js +5 -5
  261. package/packages/toolbar/src/main.vue +430 -430
  262. package/packages/tree/index.js +5 -5
  263. package/packages/tree-group/index.js +5 -5
  264. package/packages/upload/.DS_Store +0 -0
  265. package/packages/upload/index.js +5 -5
  266. package/packages/upload/src/main.vue +1343 -1343
  267. package/packages/upload/src/picture.js +15 -15
  268. package/packages/wujie/index.js +5 -5
  269. package/packages/wujie/src/main.vue +145 -145
  270. package/packages/wxlogin/index.js +5 -5
  271. package/packages/wxlogin/src/main.vue +128 -128
  272. package/src/.DS_Store +0 -0
  273. package/src/config/api.js +315 -315
  274. package/src/config/image.js +2 -2
  275. package/src/index.js +163 -163
  276. package/src/utils/.DS_Store +0 -0
  277. package/src/utils/bus.js +3 -3
  278. package/src/utils/date-util.js +312 -312
  279. package/src/utils/http.js +50 -50
  280. package/src/utils/rules.js +18 -18
  281. package/src/utils/store.js +21 -21
  282. package/src/utils/util.js +31 -12
  283. package/src/utils/webSocket.js +107 -107
@@ -25,24 +25,33 @@
25
25
  <!-- 公用弹窗 -->
26
26
  <es-dialog
27
27
  v-for="(item, index) in dialogs"
28
- :visible.sync="visibles[index]"
29
- :key="item.id || item.name || index"
30
- size="md"
31
- v-bind="
32
- exclAttribute({
33
- data: item,
34
- attrs: ['visible', 'url']
35
- })
36
- "
28
+ :visible.sync="item.visible"
29
+ :key="item.appCode || item.id || item.name || index"
30
+ :title="item.name"
31
+ :width="item.width"
32
+ :height="item.height"
33
+ :size="item.size"
37
34
  @close="handleClosed(item, index)"
38
35
  >
39
- <iframe
40
- v-if="visibles[index]"
41
- width="100%"
42
- height="100%"
43
- frameborder="0"
44
- :src="item.url"
45
- ></iframe>
36
+ <template v-if="item.visible">
37
+ <es-wujie
38
+ v-if="item.openModel === 'wujie' && !isIE"
39
+ :host="host"
40
+ :show="true"
41
+ :name="item.appCode"
42
+ :url="item.url"
43
+ :props="item"
44
+ ></es-wujie>
45
+ <iframe
46
+ v-else
47
+ width="100%"
48
+ height="100%"
49
+ frameborder="0"
50
+ :id="item.appCode || item.id"
51
+ :src="item.url"
52
+ @load="(event) => handleIframeLoad(event.target, item)"
53
+ ></iframe>
54
+ </template>
46
55
  </es-dialog>
47
56
  <!-- 公用弹窗 end -->
48
57
  </div>
@@ -53,6 +62,7 @@ import Simplicity from './simplicity/index.vue';
53
62
  import MainDefault from './default/index.vue';
54
63
  import util from 'eoss-ui/src/utils/util';
55
64
  import WujieVue from 'wujie-vue2';
65
+ import { size } from 'lodash';
56
66
  export default {
57
67
  name: 'EsMain',
58
68
  inheritAttrs: false,
@@ -102,7 +112,8 @@ export default {
102
112
  visibles: [],
103
113
  isLogin: false,
104
114
  layoutType: this.type,
105
- layout: this.scene
115
+ layout: this.scene,
116
+ isIE: /MSIE|Trident/.test(navigator.userAgent)
106
117
  };
107
118
  },
108
119
  created() {
@@ -142,6 +153,8 @@ export default {
142
153
  if (bus) {
143
154
  bus.$on('reLogin', this.handleReLogin);
144
155
  bus.$on('refresh', this.$refs.main.handleRefresh);
156
+ bus.$on('windowOpen', this.winOpen);
157
+ bus.$on('windowClose', this.winClose);
145
158
  bus.$on('jumpMenu', this.$refs.main.jumpMenu);
146
159
  bus.$on('emit', (method, args) => {
147
160
  // 主应用发送事件
@@ -149,65 +162,21 @@ export default {
149
162
  });
150
163
  }
151
164
  util.win.reLogin = this.handleReLogin;
152
- util.win.windowOpen = this.openPage;
165
+ util.win.windowOpen = this.winOpen;
166
+ util.win.windowClose = this.winClose;
153
167
  util.win.refresh = this.$refs.main.handleRefresh;
154
168
  util.win.jumpMenu = this.$refs.main.jumpMenu;
155
169
  WujieVue.bus.$on('reLogin', this.handleReLogin);
156
170
  WujieVue.bus.$on('refresh', this.$refs.main.handleRefresh);
157
171
  WujieVue.bus.$on('jumpMenu', this.$refs.main.jumpMenu);
172
+ WujieVue.bus.$on('windowOpen', this.$refs.main.winOpen);
173
+ WujieVue.bus.$on('windowClose', this.$refs.main.winClose);
158
174
  WujieVue.bus.$on('emit', (method, args) => {
159
175
  // 主应用发送事件
160
176
  WujieVue.bus.$emit(method, args);
161
177
  });
162
178
 
163
- window.addEventListener('message', (e) => {
164
- const { method, args } = e.data;
165
- switch (method) {
166
- case 'reLogin':
167
- this.handleReLogin(args);
168
- break;
169
- case 'refresh':
170
- this.$refs.main.handleRefresh(args);
171
- break;
172
- case 'jumpMenu':
173
- Array.isArray(args)
174
- ? this.$refs.main.jumpMenu(...args)
175
- : this.$refs.main.jumpMenu(args);
176
- break;
177
- case 'emit':
178
- const { origin, ...data } = args;
179
- let iframes = document.getElementsByTagName('iframe');
180
- iframes = iframes.filter((item) => {
181
- return origin
182
- ? item.src.indexOf(origin) > -1
183
- : item.src.indexOf(e.origin) == -1;
184
- });
185
- for (let i = 0; i < iframes.length; i++) {
186
- iframes[i] &&
187
- iframes[i].contentWindow.postMessage(
188
- data,
189
- origin ? origin : '*'
190
- );
191
- }
192
- break;
193
- case 'openDialog':
194
- this.dialogs.push(args);
195
- let index = this.visibles.length;
196
- this.visibles.push(false);
197
- this.$nextTick(() => {
198
- this.$set(this.visibles, index, true);
199
- });
200
- break;
201
- case 'closeDialog':
202
- for (let i = 0; i < this.dialogs.length; i++) {
203
- let item = this.dialogs[i];
204
- if (item.url == args.url) {
205
- this.$set(this.visibles, i, false);
206
- }
207
- }
208
- break;
209
- }
210
- });
179
+ window.addEventListener('message', this.handleMessage);
211
180
  });
212
181
  } else {
213
182
  const loginPage =
@@ -373,11 +342,16 @@ export default {
373
342
  }
374
343
  },
375
344
  /**
376
- * @desc:打开页面
345
+ * @desc:打开dialog页面
377
346
  * @author huangbo
378
347
  * @date 2024年9月7日
379
348
  **/
380
- openPage(url, name, width, height) {
349
+ winOpen({ url, name, width, height, appCode, id, size }) {
350
+ if (!appCode && !id) {
351
+ console.error('参数错误,缺少appCode或者id');
352
+ return;
353
+ }
354
+ const openModel = util.getStorage('openModel');
381
355
  let src = url;
382
356
  if (!util.startWith(url, ['http', '/'], true)) {
383
357
  let pathname = window.location.pathname;
@@ -388,6 +362,25 @@ export default {
388
362
  }
389
363
  src = pathname + url.replace('./', '/');
390
364
  }
365
+ if (openModel && openModel == 'dialog') {
366
+ let dialog = {
367
+ id,
368
+ url: src,
369
+ name,
370
+ width,
371
+ height,
372
+ appCode,
373
+ visible: false,
374
+ size
375
+ };
376
+ let n = this.dialogs.push(dialog);
377
+ this.$nextTick(() => {
378
+ this.$set(dialog, 'index', n - 1);
379
+ this.$set(dialog, 'visible', true);
380
+ });
381
+ return dialog;
382
+ }
383
+
391
384
  if (name) {
392
385
  let w = 0;
393
386
  let h = 0;
@@ -407,6 +400,109 @@ export default {
407
400
  return util.win.open(src);
408
401
  }
409
402
  },
403
+
404
+ /**
405
+ * @desc:关闭dialog页面
406
+ * @author huangbo
407
+ * @date 2024年9月7日
408
+ **/
409
+ winClose({ url, appCode, id }) {
410
+ if (!appCode && !id) {
411
+ console.error('参数错误,缺少appCode或者id');
412
+ return;
413
+ }
414
+ let dialog = this.dialogs.find(
415
+ (item) => item.url == url || item.appCode == appCode || item.id == id
416
+ );
417
+ if (dialog) {
418
+ this.$set(dialog, 'visible', false);
419
+ this.dialogs.splice(dialog.index, 1);
420
+ }
421
+ },
422
+
423
+ /**
424
+ * @desc:postMessage消息处理
425
+ * @author huangbo
426
+ * @date 2024年9月7日
427
+ **/
428
+ handleMessage(e) {
429
+ const { method, args } = e.data;
430
+ const { index, refresh, jumpMenu } = args;
431
+ switch (method) {
432
+ case 'reLogin':
433
+ this.handleReLogin(args);
434
+ break;
435
+ case 'refresh':
436
+ this.$refs.main.handleRefresh(args);
437
+ break;
438
+ case 'jumpMenu':
439
+ Array.isArray(args)
440
+ ? this.$refs.main.jumpMenu(...args)
441
+ : this.$refs.main.jumpMenu(args);
442
+ break;
443
+ case 'emit':
444
+ const { origin, appCode, id, ...data } = args;
445
+ let iframe = document.getElementById(appCode || id);
446
+ iframe.contentWindow.postMessage(data, origin ? origin : '*');
447
+ break;
448
+ case 'openDialog': //打开弹窗
449
+ if (!args.appCode && !args.id) {
450
+ console.error('参数错误,缺少appCode或者id');
451
+ return;
452
+ }
453
+ args.index = this.dialogs.length;
454
+ args.visible = false;
455
+ this.dialogs.push(args);
456
+ this.$nextTick(() => {
457
+ this.$set(args, 'visible', true);
458
+ });
459
+ break;
460
+ case 'closeDialog': //关闭弹窗
461
+ this.$set(this.dialogs[index], 'visible', false);
462
+ this.dialogs.splice(index, 1);
463
+ refresh && this.$refs.main.handleRefresh(refresh);
464
+ jumpMenu &&
465
+ (Array.isArray(jumpMenu)
466
+ ? this.$refs.main.jumpMenu(...jumpMenu)
467
+ : this.$refs.main.jumpMenu(jumpMenu));
468
+ break;
469
+ case 'windowOpen': //打开弹窗
470
+ if (!args.appCode && !args.id) {
471
+ console.error('参数错误,缺少appCode或者id');
472
+ return;
473
+ }
474
+ args.index = this.dialogs.length;
475
+ args.visible = false;
476
+ this.dialogs.push(args);
477
+ this.$nextTick(() => {
478
+ this.$set(args, 'visible', true);
479
+ });
480
+ break;
481
+ case 'windowClose': //关闭弹窗
482
+ this.$set(this.dialogs[index], 'visible', false);
483
+ this.dialogs.splice(index, 1);
484
+ refresh && this.$refs.main.handleRefresh(refresh);
485
+ jumpMenu &&
486
+ (Array.isArray(jumpMenu)
487
+ ? this.$refs.main.jumpMenu(...jumpMenu)
488
+ : this.$refs.main.jumpMenu(jumpMenu));
489
+ break;
490
+ }
491
+ },
492
+
493
+ /**
494
+ * @desc:dialog页面加载完成后通讯
495
+ * @author huangbo
496
+ * @date 2024年9月7日
497
+ **/
498
+ handleIframeLoad(iframe, data) {
499
+ iframe = iframe
500
+ ? iframe
501
+ : document.getElementById(data.appCode || data.id);
502
+ const origin = new URL(iframe.src).origin;
503
+ iframe.contentWindow.postMessage(data, origin);
504
+ },
505
+
410
506
  /**
411
507
  * @desc:排除属性
412
508
  * @author huangbo
@@ -422,7 +518,6 @@ export default {
422
518
  **/
423
519
  handleClosed(res, index) {
424
520
  this.dialogs.splice(index, 1);
425
- this.visibles.splice(index, 1);
426
521
  },
427
522
  /**
428
523
  * @desc:主应用向子应用发送事件
@@ -449,6 +544,7 @@ export default {
449
544
  }
450
545
  },
451
546
  beforeDestroy() {
547
+ window.removeEventListener('message', this.handleMessage);
452
548
  WujieVue.bus.$off('reLogin');
453
549
  WujieVue.bus.$off('refresh');
454
550
  WujieVue.bus.$off('jumpMenu');
@@ -1,89 +1,89 @@
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
- minWidth: 120
28
- },
29
- {
30
- title: '部门',
31
- field: 'depName',
32
- align: 'center',
33
- minWidth: 120
34
- },
35
- {
36
- title: '姓名',
37
- field: 'userName',
38
- align: 'center',
39
- width: 120
40
- },
41
- {
42
- title: '职务',
43
- field: 'position',
44
- align: 'center',
45
- width: 120
46
- },
47
- {
48
- title: '账号',
49
- field: 'loginName',
50
- align: 'center',
51
- width: 120
52
- },
53
- {
54
- title: '登录时间',
55
- field: 'loginDate',
56
- align: 'center',
57
- width: 156
58
- },
59
- {
60
- title: '登录次数',
61
- field: 'freQuency',
62
- align: 'center',
63
- width: 100
64
- },
65
- {
66
- title: '登录方式',
67
- field: 'loginModel',
68
- align: 'center',
69
- width: 100,
70
- render: (h, params) => {
71
- let {
72
- row: { loginModel }
73
- } = params;
74
- let types = ['普通登录', 'CA登录', '手机登录'];
75
- return h('span', {}, [types[loginModel] || types[0]]);
76
- }
77
- }
78
- ]
79
- };
80
- },
81
- computed: {},
82
- watch: {},
83
- created() {},
84
- mounted() {},
85
- methods: {}
86
- };
87
- </script>
88
-
89
- <style lang="scss" scoped></style>
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
+ minWidth: 120
28
+ },
29
+ {
30
+ title: '部门',
31
+ field: 'depName',
32
+ align: 'center',
33
+ minWidth: 120
34
+ },
35
+ {
36
+ title: '姓名',
37
+ field: 'userName',
38
+ align: 'center',
39
+ width: 120
40
+ },
41
+ {
42
+ title: '职务',
43
+ field: 'position',
44
+ align: 'center',
45
+ width: 120
46
+ },
47
+ {
48
+ title: '账号',
49
+ field: 'loginName',
50
+ align: 'center',
51
+ width: 120
52
+ },
53
+ {
54
+ title: '登录时间',
55
+ field: 'loginDate',
56
+ align: 'center',
57
+ width: 156
58
+ },
59
+ {
60
+ title: '登录次数',
61
+ field: 'freQuency',
62
+ align: 'center',
63
+ width: 100
64
+ },
65
+ {
66
+ title: '登录方式',
67
+ field: 'loginModel',
68
+ align: 'center',
69
+ width: 100,
70
+ render: (h, params) => {
71
+ let {
72
+ row: { loginModel }
73
+ } = params;
74
+ let types = ['普通登录', 'CA登录', '手机登录'];
75
+ return h('span', {}, [types[loginModel] || types[0]]);
76
+ }
77
+ }
78
+ ]
79
+ };
80
+ },
81
+ computed: {},
82
+ watch: {},
83
+ created() {},
84
+ mounted() {},
85
+ methods: {}
86
+ };
87
+ </script>
88
+
89
+ <style lang="scss" scoped></style>