eoss-ui 0.5.44 → 0.5.46

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 (86) hide show
  1. package/lib/button-group.js +16 -0
  2. package/lib/button.js +157 -144
  3. package/lib/calendar.js +769 -0
  4. package/lib/cascader.js +2 -2
  5. package/lib/checkbox-group.js +20 -2
  6. package/lib/clients.js +2 -2
  7. package/lib/data-table-form.js +52 -13
  8. package/lib/data-table.js +33 -7
  9. package/lib/date-picker.js +18 -2
  10. package/lib/dialog.js +30 -13
  11. package/lib/enterprise.js +2 -2
  12. package/lib/eoss-ui.common.js +1324 -730
  13. package/lib/error-page.js +2 -2
  14. package/lib/flow-group.js +32 -19
  15. package/lib/flow-list.js +18 -2
  16. package/lib/flow.js +16 -0
  17. package/lib/form.js +231 -231
  18. package/lib/handle-user.js +25 -10
  19. package/lib/handler.js +24 -5
  20. package/lib/icons.js +2 -2
  21. package/lib/index.js +1 -1
  22. package/lib/input-number.js +18 -2
  23. package/lib/input.js +18 -2
  24. package/lib/label.js +2 -2
  25. package/lib/login.js +16 -0
  26. package/lib/main.js +27 -4
  27. package/lib/menu.js +2 -2
  28. package/lib/nav.js +21 -5
  29. package/lib/notify.js +2 -2
  30. package/lib/page.js +18 -2
  31. package/lib/pagination.js +2 -2
  32. package/lib/player.js +18 -2
  33. package/lib/qr-code.js +18 -2
  34. package/lib/radio-group.js +18 -2
  35. package/lib/retrial-auth.js +22 -8
  36. package/lib/select-ganged.js +18 -2
  37. package/lib/select.js +18 -2
  38. package/lib/selector-panel.js +16 -0
  39. package/lib/selector.js +18 -2
  40. package/lib/sizer.js +25 -9
  41. package/lib/steps.js +18 -2
  42. package/lib/switch.js +18 -2
  43. package/lib/table-form.js +18 -2
  44. package/lib/tabs-panel.js +2 -2
  45. package/lib/tabs.js +18 -2
  46. package/lib/theme-chalk/calendar.css +0 -0
  47. package/lib/theme-chalk/cascader.css +1 -0
  48. package/lib/theme-chalk/data-table-form.css +1 -1
  49. package/lib/theme-chalk/index.css +1 -1
  50. package/lib/theme-chalk/toolbar.css +1 -1
  51. package/lib/tips.js +18 -2
  52. package/lib/toolbar.js +24 -34
  53. package/lib/tree-group.js +18 -2
  54. package/lib/tree.js +18 -2
  55. package/lib/upload.js +22 -15
  56. package/lib/utils/util.js +16 -0
  57. package/lib/wujie.js +18 -2
  58. package/lib/wxlogin.js +18 -2
  59. package/package.json +2 -2
  60. package/packages/button/src/main.vue +6 -9
  61. package/packages/calendar/index.js +5 -0
  62. package/packages/calendar/src/main.vue +386 -0
  63. package/packages/data-table/src/main.vue +12 -2
  64. package/packages/data-table-form/src/main.vue +30 -23
  65. package/packages/data-table-form/src/table.vue +16 -3
  66. package/packages/dialog/src/main.vue +9 -9
  67. package/packages/flow-group/src/main.vue +12 -15
  68. package/packages/handle-user/src/main.vue +5 -6
  69. package/packages/handler/src/main.vue +4 -1
  70. package/packages/main/src/main.vue +9 -2
  71. package/packages/nav/src/main.vue +1 -1
  72. package/packages/retrial-auth/src/main.vue +2 -4
  73. package/packages/theme-chalk/lib/calendar.css +0 -0
  74. package/packages/theme-chalk/lib/cascader.css +1 -0
  75. package/packages/theme-chalk/lib/data-table-form.css +1 -1
  76. package/packages/theme-chalk/lib/index.css +1 -1
  77. package/packages/theme-chalk/lib/toolbar.css +1 -1
  78. package/packages/theme-chalk/src/calendar.scss +0 -0
  79. package/packages/theme-chalk/src/cascader.scss +93 -0
  80. package/packages/theme-chalk/src/data-table-form.scss +11 -0
  81. package/packages/theme-chalk/src/index.scss +2 -1
  82. package/packages/theme-chalk/src/toolbar.scss +16 -11
  83. package/packages/toolbar/src/main.vue +44 -49
  84. package/packages/upload/src/main.vue +1 -10
  85. package/src/index.js +7 -4
  86. package/src/utils/util.js +16 -0
@@ -0,0 +1,386 @@
1
+ <template>
2
+ <div class="es-calendar">
3
+ <div class="es-calendar-title" v-show="showTitle">
4
+ <i class="es-calendar-prev es-icon-pointer-left" @click="prev"></i>
5
+ <div class="es-title" @click="resetDate">
6
+ <slot name="title" :year="year" :month="month">
7
+ {{ year }}年{{ month }}月
8
+ </slot>
9
+ </div>
10
+ <i class="es-calendar-next es-icon-pointer-right" @click="next"></i>
11
+ </div>
12
+ <ul class="es-calendar-weeks">
13
+ <li v-for="(item, index) in weeks" :key="index" class="es-week">
14
+ {{ item }}
15
+ </li>
16
+ </ul>
17
+ <ul class="es-calendar-days">
18
+ <li
19
+ class="es-day"
20
+ @click="handleClick(item)"
21
+ v-for="(item, index) in lists"
22
+ :key="`${item.year}-${item.month}-${item.date}`"
23
+ >
24
+ <div
25
+ class="es-day-item"
26
+ :class="{
27
+ 'es-disabled-day': item.type == 0,
28
+ 'es-today': isSelect(item, today) && mark,
29
+ 'es-select': isSelect(item, select)
30
+ }"
31
+ >
32
+ {{ item.date }}
33
+ <slot name="mark" :data="item"></slot>
34
+ </div>
35
+ </li>
36
+ </ul>
37
+ <div class="es-calendar-switch" v-show="fold">
38
+ <i
39
+ class="es-icon-pointer-up es-switch-icon"
40
+ name=""
41
+ @click="handleHide"
42
+ v-show="all"
43
+ ></i>
44
+ <i
45
+ class="es-icon-pointer-down es-switch-icon"
46
+ @click="handleShow"
47
+ v-show="!all"
48
+ ></i>
49
+ </div>
50
+ </div>
51
+ </template>
52
+
53
+ <script>
54
+ export default {
55
+ name: 'esCalendar',
56
+ props: {
57
+ //显示title
58
+ showTitle: {
59
+ type: Boolean,
60
+ default: true
61
+ },
62
+ //指定日期
63
+ date: [String, Number],
64
+ //是否只显示本周
65
+ brief: Boolean,
66
+ //是否等指定日期传入后再渲染
67
+ wait: Boolean,
68
+ //是否显示收起展开按钮
69
+ fold: {
70
+ type: Boolean,
71
+ default: true
72
+ },
73
+ mark: Boolean
74
+ },
75
+ watch: {
76
+ date: {
77
+ immediate: true,
78
+ handler(val) {
79
+ if (this.wait) {
80
+ val && this.init();
81
+ } else {
82
+ this.init();
83
+ }
84
+ }
85
+ },
86
+ brief: {
87
+ immediate: true,
88
+ handler(val) {
89
+ this.all = !val;
90
+ }
91
+ }
92
+ },
93
+ computed: {
94
+ lists() {
95
+ if (this.all) {
96
+ return this.daysList;
97
+ }
98
+ return this.daysList.filter((item) => {
99
+ for (let i = 0; i < this.weekDate.length; i++) {
100
+ let ele = this.weekDate[i];
101
+ if (
102
+ item.year == ele.year &&
103
+ item.month == ele.month &&
104
+ item.date == ele.date
105
+ ) {
106
+ return true;
107
+ }
108
+ }
109
+ });
110
+ }
111
+ },
112
+ data() {
113
+ return {
114
+ year: '',
115
+ _month: '',
116
+ weeks: ['日', '一', '二', '三', '四', '五', '六'],
117
+ weekDate: [],
118
+ week7: '',
119
+ today: '',
120
+ select: '',
121
+ selectDate: '',
122
+ daysList: [],
123
+ all: true,
124
+ week: 0,
125
+ prevMonthDays: 0,
126
+ nextMonthDays: 0,
127
+ days: 0
128
+ };
129
+ },
130
+ mounted() {},
131
+ methods: {
132
+ resetDate() {
133
+ this.week = 0;
134
+ this.init();
135
+ },
136
+ init(res) {
137
+ this.daysList = [];
138
+ let dates = this.getDays(res ? res : this.date);
139
+ let {
140
+ year,
141
+ month,
142
+ today,
143
+ daysList,
144
+ weekDate,
145
+ prevMonthDays,
146
+ nextMonthDays,
147
+ days
148
+ } = dates;
149
+ if (!res) {
150
+ this.today = `${year}/${month}/${today}`;
151
+ this.selectDate = today;
152
+ this.select = `${year}/${month}/${today}`;
153
+ this.$emit('select', { year, month, date: today, type: 1 });
154
+ }
155
+ this.prevMonthDays = prevMonthDays;
156
+ this.nextMonthDays = nextMonthDays;
157
+ this.days = days;
158
+ this.daysList = daysList;
159
+ this.year = year;
160
+ this.month = month;
161
+ if (!this.weekDate.length) {
162
+ this.weekDate = weekDate;
163
+ }
164
+ this.$emit('init', dates);
165
+ return dates;
166
+ },
167
+ isShow(res) {
168
+ if (this.all) {
169
+ return true;
170
+ }
171
+ return this.weekDate.filter((item) => {
172
+ return (
173
+ item.year == res.year &&
174
+ item.month == res.month &&
175
+ item.date == res.date
176
+ );
177
+ }).length;
178
+ },
179
+ isSelect(res, target) {
180
+ let { year, month, date } = res;
181
+ return target == `${year}/${month}/${date}`;
182
+ },
183
+ handleClick(res) {
184
+ let { year, month, date } = res;
185
+ this.selectDate = date;
186
+ this.select = `${year}/${month}/${date}`;
187
+ this.$emit('select', res);
188
+ },
189
+ prev() {
190
+ if (this.all) {
191
+ this.weekDate = [];
192
+ this.prevMonth();
193
+ } else {
194
+ this.weekDate = this.getWeekDay(-1);
195
+ this.$emit('prev', this.weekDate, 'week');
196
+ }
197
+ },
198
+ next() {
199
+ if (this.all) {
200
+ this.weekDate = [];
201
+ this.nextMonth();
202
+ } else {
203
+ this.weekDate = this.getWeekDay(1);
204
+ this.$emit('next', this.weekDate, 'week');
205
+ }
206
+ },
207
+ prevMonth() {
208
+ let year = this.year;
209
+ let month = this.month;
210
+ let dates = this.select.split('/');
211
+ if (month == 1) {
212
+ year -= 1;
213
+ month = 12;
214
+ } else {
215
+ month -= 1;
216
+ }
217
+ let date =
218
+ year == dates[0] && month == dates[1] ? dates[2] : this.prevMonthDays;
219
+ date = date.toString().padStart(2, '0');
220
+ month = month.toString().padStart(2, '0');
221
+ let res = this.init(`${year}/${month}/${date}`);
222
+ this.$emit('prev', res, 'month');
223
+ },
224
+ nextMonth() {
225
+ let year = this.year;
226
+ let month = this.month;
227
+ let dates = this.select.split('/');
228
+ if (month == 12) {
229
+ year += 1;
230
+ month = 1;
231
+ } else {
232
+ month += 1;
233
+ }
234
+ let date = year == dates[0] && month == dates[1] ? dates[2] : 1;
235
+ date = date.toString().padStart(2, '0');
236
+ month = month.toString().padStart(2, '0');
237
+ let res = this.init(`${year}/${month}/${date}`);
238
+ this.$emit('next', res, 'month');
239
+ },
240
+ //获取当月或指定日期所在月天数
241
+ getDays(res) {
242
+ const date = res ? new Date(res) : new Date();
243
+ const year = date.getFullYear();
244
+ const month = date.getMonth();
245
+ const today = date.getDate();
246
+ const week = date.getDay();
247
+ //此月天数
248
+ const days = new Date(year, month + 1, 0).getDate();
249
+ //此月第一天周几
250
+ const stratDay = new Date(year, month, 1).getDay();
251
+ //此月最后一天周几
252
+ const endDay = new Date(year, month, days).getDay();
253
+ //上月天数
254
+ const prevMonthDays =
255
+ month == 0
256
+ ? new Date(year - 1, 11, 0).getDate()
257
+ : new Date(year, month, 0).getDate();
258
+ //下月天数
259
+ const nextMonthDays =
260
+ month == 11
261
+ ? new Date(year + 1, 1, 0).getDate()
262
+ : new Date(year, month + 2, 0).getDate();
263
+ //当前日期所在的周
264
+ const weekDate = [{ date: today, year: year, month: month + 1 }];
265
+ for (let i = 0; i < week; i++) {
266
+ let d = i + 1;
267
+ if (today - d > 1) {
268
+ weekDate.unshift({
269
+ date: today - d,
270
+ year: year,
271
+ month: month + 1
272
+ });
273
+ } else {
274
+ weekDate.unshift({
275
+ date: prevMonthDays - i,
276
+ year: month == 0 ? year - 1 : year,
277
+ month: month == 0 ? 12 : month
278
+ });
279
+ }
280
+ }
281
+ for (let i = 0; i < 6 - week; i++) {
282
+ let d = i + 1;
283
+ if (today + d <= days) {
284
+ weekDate.unshift({
285
+ date: today + d,
286
+ year: year,
287
+ month: month + 1
288
+ });
289
+ } else {
290
+ weekDate.push({
291
+ date: today + d - days,
292
+ year: month == 11 ? year + 1 : year,
293
+ month: month == 11 ? 1 : month + 2
294
+ });
295
+ }
296
+ }
297
+
298
+ let daysList = [];
299
+ //本月前加入数组
300
+ if (stratDay > 0) {
301
+ for (let i = prevMonthDays; i > prevMonthDays - stratDay; i--) {
302
+ daysList.unshift({
303
+ date: i,
304
+ type: 0,
305
+ year: month == 0 ? year - 1 : year,
306
+ month: month == 0 ? 12 : month
307
+ });
308
+ }
309
+ }
310
+ //本月加入数组
311
+ for (let i = 1; i <= days; i++) {
312
+ daysList.push({
313
+ date: i,
314
+ type: 1,
315
+ year: year,
316
+ month: month + 1,
317
+ row: week < 6 && today + week > days
318
+ });
319
+ }
320
+ //本月后加入数组
321
+ if (endDay < 6) {
322
+ for (var i = 1; i < 6 - endDay + 1; i++) {
323
+ daysList.push({
324
+ date: i,
325
+ type: 0,
326
+ year: month == 11 ? year + 1 : year,
327
+ month: month == 11 ? 1 : month + 2
328
+ });
329
+ }
330
+ }
331
+ return {
332
+ days: days,
333
+ prevMonthDays: prevMonthDays,
334
+ nextMonthDays: nextMonthDays,
335
+ stratDay: stratDay,
336
+ endDay: endDay,
337
+ weekDate: weekDate,
338
+ year: year,
339
+ month: month + 1,
340
+ today: today,
341
+ week: week,
342
+ daysList: daysList
343
+ };
344
+ },
345
+ getWeekDay(val) {
346
+ let flag = true;
347
+ let weekDate = JSON.parse(JSON.stringify(this.weekDate));
348
+ let days = weekDate.map((item) => {
349
+ let { date, month, year } = item;
350
+ date += val * 7;
351
+ if (date < 1) {
352
+ date += this.prevMonthDays;
353
+ month -= 1;
354
+ if (month == 0) {
355
+ month = 12;
356
+ year -= 1;
357
+ }
358
+ } else if (date > this.days) {
359
+ date -= this.days;
360
+ month += 1;
361
+ if (month > 12) {
362
+ month = 1;
363
+ year += 1;
364
+ }
365
+ }
366
+ if (this.month == month) {
367
+ flag = false;
368
+ }
369
+ return { date, month, year };
370
+ });
371
+ if (flag) {
372
+ val == 1 ? this.nextMonth() : this.prevMonth();
373
+ }
374
+ return days;
375
+ },
376
+ handleShow() {
377
+ this.all = true;
378
+ this.$emit('show', true);
379
+ },
380
+ handleHide() {
381
+ this.all = false;
382
+ this.$emit('show', false);
383
+ }
384
+ }
385
+ };
386
+ </script>
@@ -373,7 +373,11 @@ export default {
373
373
  least: Boolean,
374
374
  //保留搜索参数
375
375
  retainSearh: Boolean,
376
- infiniteScroll: Boolean
376
+ infiniteScroll: Boolean,
377
+ isJoin: {
378
+ type: Boolean,
379
+ default: true
380
+ }
377
381
  },
378
382
  data() {
379
383
  return {
@@ -863,7 +867,6 @@ export default {
863
867
  });
864
868
  },
865
869
  getTableData(res) {
866
- console.log(11212);
867
870
  let where;
868
871
  let first;
869
872
  if (res) {
@@ -893,6 +896,13 @@ export default {
893
896
  if (this.retainSearh) {
894
897
  reqData = util.extend({}, reqData, this.wheres);
895
898
  }
899
+ if (this.isJoin) {
900
+ for (let i in reqData) {
901
+ if (Array.isArray(reqData[i])) {
902
+ reqData[i] = reqData[i].join(',');
903
+ }
904
+ }
905
+ }
896
906
  this.tableLoading = true;
897
907
  util
898
908
  .ajax({
@@ -44,9 +44,9 @@ export default {
44
44
  },
45
45
  cols() {
46
46
  let col = [];
47
- this.theads.forEach(items => {
47
+ this.theads.forEach((items) => {
48
48
  if (Array.isArray(items)) {
49
- items.forEach(item => {
49
+ items.forEach((item) => {
50
50
  if (!item.rowspan || item.rowspan < 2) {
51
51
  col.push(item);
52
52
  }
@@ -64,9 +64,9 @@ export default {
64
64
  },
65
65
  types() {
66
66
  let types = [];
67
- this.theads.forEach(items => {
67
+ this.theads.forEach((items) => {
68
68
  if (Array.isArray(items)) {
69
- items.forEach(item => {
69
+ items.forEach((item) => {
70
70
  if (item.type && item.type !== 'text' && item.type !== 'textarea') {
71
71
  types.push(item);
72
72
  }
@@ -91,9 +91,9 @@ export default {
91
91
  deep: true,
92
92
  handler(val) {
93
93
  if (val) {
94
- val.forEach(items => {
94
+ val.forEach((items) => {
95
95
  if (Array.isArray(items)) {
96
- items.forEach(item => {
96
+ items.forEach((item) => {
97
97
  this.getOptions(item);
98
98
  });
99
99
  } else {
@@ -121,7 +121,7 @@ export default {
121
121
  params: params,
122
122
  data: params
123
123
  })
124
- .then(res => {
124
+ .then((res) => {
125
125
  if (res.rCode === 0) {
126
126
  this.option[item.field || item.prop] = JSON.parse(
127
127
  JSON.stringify(res.results)
@@ -137,7 +137,7 @@ export default {
137
137
  this.$message.error(msg);
138
138
  }
139
139
  })
140
- .catch(err => {
140
+ .catch((err) => {
141
141
  if (err.message && err.message !== 'canceled') {
142
142
  this.$message.error(err.message);
143
143
  }
@@ -147,21 +147,28 @@ export default {
147
147
  },
148
148
  render(h) {
149
149
  let tag = this.elForm ? 'div' : 'form';
150
- return h(tag, {}, [
151
- h('eo-table', {
152
- props: {
153
- cols: this.cols,
154
- thead: this.theads,
155
- numbers: this.numbers,
156
- cols: this.cols,
157
- data: this.models,
158
- types: this.types,
159
- options: this.options,
160
- page: this.page
161
- },
162
- on: this.$listeners
163
- })
164
- ]);
150
+ return h(
151
+ tag,
152
+ {
153
+ class: { 'es-data-form-full': this.full, 'es-data-table-form': 1 }
154
+ },
155
+ [
156
+ h('eo-table', {
157
+ props: {
158
+ cols: this.cols,
159
+ thead: this.theads,
160
+ numbers: this.numbers,
161
+ cols: this.cols,
162
+ data: this.models,
163
+ types: this.types,
164
+ options: this.options,
165
+ page: this.page,
166
+ ...this.$attrs
167
+ },
168
+ on: this.$listeners
169
+ })
170
+ ]
171
+ );
165
172
  }
166
173
  };
167
174
  </script>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="es-data-form">
2
+ <div class="es-data-form" :class="{ 'es-data-form-haspage': page }">
3
3
  <el-scrollbar class="es-scrollbar" :style="{ height: height }">
4
4
  <table
5
5
  class="es-data-table-form"
@@ -49,6 +49,7 @@
49
49
  <es-select
50
50
  v-else-if="item.type === 'select' && selectShow"
51
51
  class="es-data-table-form-handle"
52
+ :suffix="false"
52
53
  v-bind="exclAttribute({ data: item, attrs: 'width' })"
53
54
  v-model="selectValue"
54
55
  ref="tableSelect"
@@ -113,6 +114,11 @@ export default {
113
114
  eoTable: this
114
115
  };
115
116
  },
117
+ inject: {
118
+ esDialog: {
119
+ default: ''
120
+ }
121
+ },
116
122
  props: {
117
123
  height: String,
118
124
  readonly: Boolean,
@@ -186,8 +192,15 @@ export default {
186
192
  }
187
193
  },
188
194
  setStyle(res, data, field) {
189
- this.style.left = res ? res.left + 'px' : '';
190
- this.style.top = res ? res.top + 'px' : '';
195
+ let left = 0;
196
+ let top = 0;
197
+ if (this.esDialog) {
198
+ let style = this.esDialog.getDialog().getBoundingClientRect();
199
+ left = style.left;
200
+ top = style.top;
201
+ }
202
+ this.style.left = res ? res.left - left + 'px' : '';
203
+ this.style.top = res ? res.top - top + 'px' : '';
191
204
  this.style.width = res ? res.width + 'px' : '';
192
205
  this.target = data;
193
206
  this.field = field;
@@ -381,18 +381,15 @@ export default {
381
381
  created() {
382
382
  let availWidth = 0;
383
383
  let availHeight = 0;
384
+ let win;
384
385
  try {
385
- availWidth = util.win.top.document.body.offsetWidth - 260;
386
- availHeight = util.win.top.document.body.offsetHeight - 60;
386
+ util.win.top.document;
387
+ win = util.win.top;
387
388
  } catch (error) {
388
- try {
389
- availWidth = util.win.parent.document.body.offsetWidth - 260;
390
- availHeight = util.win.parent.document.body.offsetHeight - 60;
391
- } catch (error) {
392
- availWidth = util.win.document.body.offsetWidth - 260;
393
- availHeight = util.win.document.body.offsetHeight - 60;
394
- }
389
+ win = util.getMyWinTop();
395
390
  }
391
+ availWidth = win.document.body.offsetWidth - 260;
392
+ availHeight = win.document.body.offsetHeight - 60;
396
393
  this.sizes.max = { width: `${availWidth}px`, height: `${availHeight}px` };
397
394
  if (
398
395
  this.size === 'full' ||
@@ -478,6 +475,9 @@ export default {
478
475
  this.zoom = res;
479
476
  this.$set(this.scales, 'zoom', res);
480
477
  this.$emit('scale', res);
478
+ },
479
+ getDialog() {
480
+ return this.$refs[this.wujieName].$refs['dialog'];
481
481
  }
482
482
  }
483
483
  };
@@ -575,18 +575,15 @@ export default {
575
575
  let name = item.name;
576
576
  let width = 0;
577
577
  let height = 0;
578
+ let win;
578
579
  try {
579
- width = util.win.top.screen.availWidth - 10;
580
- height = util.win.top.screen.availHeight - 60;
580
+ util.win.top.document;
581
+ win = util.win.top;
581
582
  } catch (error) {
582
- try {
583
- width = util.win.parent.screen.availWidth - 10;
584
- height = util.win.parent.screen.availHeight - 60;
585
- } catch (error) {
586
- width = util.win.screen.availWidth - 10;
587
- height = util.win.screen.availHeight - 60;
588
- }
583
+ win = util.getMyWinTop();
589
584
  }
585
+ width = win.screen.availWidth - 10;
586
+ height = win.screen.availHeight - 60;
590
587
  if (item.url) {
591
588
  url = this.handleUrlJoinParams(item);
592
589
  }
@@ -658,15 +655,15 @@ export default {
658
655
  if (this.closeDialog && this.esDialog) {
659
656
  this.esDialog.handleClose();
660
657
  } else if (util.win.opener) {
658
+ let win;
661
659
  try {
662
- util.win.top.close();
660
+ util.win.top.document;
661
+ win = util.win.top;
663
662
  } catch (error) {
664
- try {
665
- util.win.parent.close();
666
- } catch (error) {
667
- util.win.postMessage({ type: 0 }, '*');
668
- }
663
+ win = util.getMyWinTop();
669
664
  }
665
+ win.close();
666
+ win.postMessage({ type: 0 }, '*');
670
667
  }
671
668
  if (this.events && this.events.success) {
672
669
  this.events.success();
@@ -98,15 +98,14 @@ export default {
98
98
  duration: 500,
99
99
  onClose: () => {
100
100
  util.removeStorage(['mainConfig', 'jump']);
101
+ let win;
101
102
  try {
102
- util.win.top.location.reload();
103
+ util.win.top.document;
104
+ win = util.win.top;
103
105
  } catch (error) {
104
- try {
105
- util.win.parent.location.reload();
106
- } catch (error) {
107
- util.win.location.reload();
108
- }
106
+ win = util.getMyWinTop();
109
107
  }
108
+ win.location.reload();
110
109
  }
111
110
  });
112
111
  } else {
@@ -147,7 +147,10 @@ export default {
147
147
  type: Boolean,
148
148
  default: false
149
149
  },
150
- maxHeight: String
150
+ maxHeight: {
151
+ type: String,
152
+ default: '100%'
153
+ }
151
154
  },
152
155
  watch: {
153
156
  subSystem: {