eoss-ui 0.5.95 → 0.5.96

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.
@@ -140,6 +140,7 @@
140
140
  </template>
141
141
  <template v-else>
142
142
  <es-wujie
143
+ :host="host"
143
144
  :show="true"
144
145
  :props="wjProps"
145
146
  :attrs="wjAttrs"
@@ -233,8 +234,13 @@
233
234
  :label="item.text || item.name"
234
235
  :name="item.id"
235
236
  >
237
+ <router-page
238
+ v-if="item.method === 'router'"
239
+ v-bind="item"
240
+ :query="$parent.params"
241
+ ></router-page>
236
242
  <iframe
237
- v-if="(isIE && item.method !== 'router') || item.method == 'iframe'"
243
+ v-else-if="isIE || item.method == 'iframe'"
238
244
  :id="activeName == item.id ? iframeId : ''"
239
245
  :name="activeName == item.id ? iframeId : ''"
240
246
  frameborder="0"
@@ -243,18 +249,14 @@
243
249
  :src="item.url"
244
250
  ></iframe>
245
251
  <es-wujie
246
- v-else-if="item.method === 'wujie' && item.refresh"
252
+ v-else-if="item.method === 'wujie'"
253
+ :host="host"
247
254
  :show="true"
248
255
  :props="wjProps"
249
256
  :attrs="wjAttrs"
250
257
  :name="item.appCode"
251
258
  :url="item.url"
252
259
  ></es-wujie>
253
- <router-page
254
- v-else-if="item.method === 'router' && item.refresh"
255
- v-bind="item"
256
- :query="$parent.params"
257
- ></router-page>
258
260
  </el-tab-pane>
259
261
  </el-tabs>
260
262
  <!-- 路由、iframe end -->
@@ -346,11 +348,14 @@ let events = [
346
348
 
347
349
  if (tab.method == 'iframe') {
348
350
  tabs[index].url = util.handlerUrl(tab.url);
349
- } else {
350
- tabs[index].refresh = false;
351
- that.$nextTick(() => {
352
- tabs[index].refresh = true;
353
- });
351
+ }
352
+ if (tab.method === 'wujie' && tab.appCode) {
353
+ window.document
354
+ .querySelector(`iframe[name=${tab.appCode}]`)
355
+ .contentWindow.location.reload(true);
356
+ }
357
+ if (tab.method === 'router') {
358
+ that.$set(tabs[index], 'keys', util.uuid());
354
359
  }
355
360
  return tabs;
356
361
  },
@@ -504,7 +509,13 @@ export default {
504
509
  default: 220
505
510
  },
506
511
  //路由方式
507
- routeType: String
512
+ routeType: String,
513
+ host: {
514
+ type: String,
515
+ default() {
516
+ return sessionStorage.getItem('host') || '';
517
+ }
518
+ }
508
519
  },
509
520
  data() {
510
521
  return {
@@ -1056,12 +1067,12 @@ export default {
1056
1067
  **/
1057
1068
  setIframeType(res) {
1058
1069
  let { url } = res;
1059
- if (url) {
1060
- res.refresh = false;
1061
- }
1062
1070
  let urls = url.split('?');
1063
1071
  if (urls[0].indexOf('.js') > 1 && !isIE) {
1064
1072
  res.method = 'wujie';
1073
+ if (!res.appCode) {
1074
+ res.appCode = 'application_' + Date.now();
1075
+ }
1065
1076
  } else if (
1066
1077
  urls[0].indexOf('.dhtml') > 0 ||
1067
1078
  (urls[0].indexOf('.html') > 0 && urls[0].indexOf('.html#') === -1)
@@ -1077,6 +1088,7 @@ export default {
1077
1088
  if (path && this.routeType !== 'wujie') {
1078
1089
  res.method = 'router';
1079
1090
  res.path = path;
1091
+ res.keys = util.uuid();
1080
1092
  } else {
1081
1093
  let urlopenmode = util.getParams({
1082
1094
  url: url,
@@ -1091,6 +1103,9 @@ export default {
1091
1103
  res.method = 'iframe';
1092
1104
  } else {
1093
1105
  res.method = 'wujie';
1106
+ if (!res.appCode) {
1107
+ res.appCode = 'application_' + Date.now();
1108
+ }
1094
1109
  }
1095
1110
  }
1096
1111
  } else if (
@@ -1098,14 +1113,14 @@ export default {
1098
1113
  urls[0].indexOf('/#/') > -1
1099
1114
  ) {
1100
1115
  res.method = 'wujie';
1116
+ if (!res.appCode) {
1117
+ res.appCode = 'application_' + Date.now();
1118
+ }
1101
1119
  } else {
1102
1120
  res.method = 'iframe';
1103
1121
  }
1104
1122
  }
1105
1123
  }
1106
- if (Object.prototype.hasOwnProperty.call(res, 'refresh')) {
1107
- res.refresh = true;
1108
- }
1109
1124
  return res;
1110
1125
  },
1111
1126
  /**
@@ -1463,14 +1478,15 @@ export default {
1463
1478
  this.activeName = res.id;
1464
1479
  this.$set(this.tabs[i], 'url', util.handlerUrl(tab.url));
1465
1480
  } else {
1466
- this.$set(this.tabs[i], 'refresh', false);
1467
- if (tab.method === 'wujie') {
1468
- this.activeName = res.id;
1481
+ if (tab.method === 'wujie' && tab.appCode) {
1482
+ window.document
1483
+ .querySelector(`iframe[name=${tab.appCode}]`)
1484
+ .contentWindow.location.reload(true);
1469
1485
  }
1470
- this.$nextTick(() => {
1471
- this.$set(this.tabs[i], 'refresh', true);
1472
- this.activeName = res.id;
1473
- });
1486
+ if (tab.method === 'router') {
1487
+ this.$set(this.tabs[i], 'keys', util.uuid());
1488
+ }
1489
+ this.activeName = res.id;
1474
1490
  }
1475
1491
  }
1476
1492
  },
@@ -1531,11 +1547,14 @@ export default {
1531
1547
  let tab = this.tabs[i];
1532
1548
  if (tab.method === 'iframe') {
1533
1549
  this.$set(this.tabs[i], 'url', util.handlerUrl(tab.url));
1534
- } else {
1535
- this.$set(this.tabs[i], 'refresh', false);
1536
- this.$nextTick(() => {
1537
- this.$set(this.tabs[i], 'refresh', true);
1538
- });
1550
+ }
1551
+ if (tab.method === 'wujie' && tab.appCode) {
1552
+ window.document
1553
+ .querySelector(`iframe[name=${tab.appCode}]`)
1554
+ .contentWindow.location.reload(true);
1555
+ }
1556
+ if (tab.method === 'router') {
1557
+ this.$set(this.tabs[i], 'keys', util.uuid());
1539
1558
  }
1540
1559
  }
1541
1560
  },
@@ -1653,11 +1672,14 @@ export default {
1653
1672
  let tab = this.tabs[i];
1654
1673
  if (tab.method === 'iframe') {
1655
1674
  this.$set(this.tabs[i], 'url', util.handlerUrl(tab.url));
1656
- } else {
1657
- this.$set(this.tabs[i], 'refresh', false);
1658
- this.$nextTick(() => {
1659
- this.$set(this.tabs[i], 'refresh', true);
1660
- });
1675
+ }
1676
+ if (tab.method === 'wujie' && tab.appCode) {
1677
+ window.document
1678
+ .querySelector(`iframe[name=${tab.appCode}]`)
1679
+ .contentWindow.location.reload(true);
1680
+ }
1681
+ if (tab.method === 'router') {
1682
+ this.$set(this.tabs[i], 'keys', util.uuid());
1661
1683
  }
1662
1684
  }
1663
1685
  this.activeName = this.homePage.id;
@@ -1822,11 +1844,14 @@ export default {
1822
1844
  let tab = this.tabs[i];
1823
1845
  if (tab.method === 'iframe') {
1824
1846
  this.$set(this.tabs[i], 'url', util.handlerUrl(tab.url));
1825
- } else {
1826
- this.$set(this.tabs[i], 'refresh', false);
1827
- this.$nextTick(() => {
1828
- this.$set(this.tabs[i], 'refresh', true);
1829
- });
1847
+ }
1848
+ if (tab.method === 'wujie' && tab.appCode) {
1849
+ window.document
1850
+ .querySelector(`iframe[name=${tab.appCode}]`)
1851
+ .contentWindow.location.reload(true);
1852
+ }
1853
+ if (tab.method === 'router') {
1854
+ this.$set(this.tabs[i], 'keys', util.uuid());
1830
1855
  }
1831
1856
  }
1832
1857
  if (close) {
@@ -1,7 +1,7 @@
1
1
  <template>
2
- <keep-alive>
3
- <router-view :name="appCode" />
4
- </keep-alive>
2
+ <div style="height: 100%">
3
+ <router-view :key="keys || appCode" :name="appCode" />
4
+ </div>
5
5
  </template>
6
6
 
7
7
  <script>
@@ -18,7 +18,8 @@ export default {
18
18
  default() {
19
19
  return {};
20
20
  }
21
- }
21
+ },
22
+ keys: String
22
23
  },
23
24
  data() {
24
25
  return {};
@@ -39,6 +39,10 @@ export default {
39
39
  height: { type: String, default: '100%' },
40
40
  name: { type: String, default: '' },
41
41
  loading: { type: HTMLElement, default: undefined },
42
+ host: {
43
+ type: String,
44
+ default: ''
45
+ },
42
46
  url: { type: String, default: '' },
43
47
  sync: { type: Boolean, default: false },
44
48
  prefix: { type: Object, default: undefined },
@@ -111,8 +115,9 @@ export default {
111
115
  if (val) {
112
116
  let urls = val.split('?');
113
117
  let plugins = this.plugins;
118
+ let defaultUrl = '';
114
119
  if (urls[0].indexOf('.js') > 1) {
115
- this.defaultUrl = this.param
120
+ defaultUrl = this.param
116
121
  ? util.urlJoinParams({
117
122
  url: './primary.html',
118
123
  param: this.param,
@@ -123,8 +128,11 @@ export default {
123
128
  jsBeforeLoaders: [{ src: val }]
124
129
  });
125
130
  } else {
126
- this.defaultUrl = val;
131
+ defaultUrl = val;
127
132
  }
133
+ this.defaultUrl = util.startWith(defaultUrl, 'http')
134
+ ? defaultUrl
135
+ : this.host + defaultUrl;
128
136
  this.defaultPlugins = plugins;
129
137
  }
130
138
  }
package/src/index.js CHANGED
@@ -121,7 +121,7 @@ if (typeof window !== 'undefined' && window.Vue) {
121
121
  }
122
122
 
123
123
  export default {
124
- version: '0.5.95',
124
+ version: '0.5.96',
125
125
  install,
126
126
  Button,
127
127
  ButtonGroup,
package/lib/.DS_Store DELETED
Binary file