eoss 0.1.0-alpha.21 → 0.1.0-alpha.22
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.
- package/lib/account-login.js +129 -129
- package/lib/alert.js +2 -2
- package/lib/aside.js +2 -2
- package/lib/autocomplete.js +216 -216
- package/lib/avatar.js +2 -2
- package/lib/backtop.js +2 -2
- package/lib/badge.js +2 -2
- package/lib/breadcrumb.js +2 -2
- package/lib/ca-login.js +6 -6
- package/lib/calendar.js +2 -2
- package/lib/card.js +2 -2
- package/lib/carousel-item.js +21 -21
- package/lib/carousel.js +16 -16
- package/lib/cascader-panel.js +6 -6
- package/lib/cascader.js +230 -230
- package/lib/checkbox-group.js +138 -138
- package/lib/col.js +2 -2
- package/lib/collapse-item.js +423 -410
- package/lib/collapse.js +426 -412
- package/lib/color-picker.js +23 -23
- package/lib/container.js +2 -2
- package/lib/cron.js +2 -2
- package/lib/data-table.js +123 -123
- package/lib/date-picker.js +233 -233
- package/lib/dialog.js +8 -8
- package/lib/divider.js +2 -2
- package/lib/drawer.js +4 -4
- package/lib/dropdown-item.js +2 -2
- package/lib/dropdown-menu.js +6 -6
- package/lib/dropdown.js +13 -13
- package/lib/email-login.js +124 -124
- package/lib/empty.js +2 -2
- package/lib/eoss.common.js +21948 -21788
- package/lib/flip.js +2 -2
- package/lib/flow-group.js +251 -251
- package/lib/flow.js +15934 -18947
- package/lib/flows.js +9195 -0
- package/lib/footer.js +2 -2
- package/lib/form-item.js +28 -17
- package/lib/form.js +426 -412
- package/lib/header.js +2 -2
- package/lib/icon.js +128 -128
- package/lib/icons.js +2 -2
- package/lib/image-viewer.js +6 -6
- package/lib/image.js +2 -2
- package/lib/index.js +1 -1
- package/lib/infinite-scroll.js +2 -2
- package/lib/input.js +4 -4
- package/lib/link.js +2 -2
- package/lib/loading.js +4 -4
- package/lib/login.js +190 -156
- package/lib/lowcode.js +562 -272
- package/lib/main.js +348 -282
- package/lib/marquee.js +6 -6
- package/lib/menu.js +209 -209
- package/lib/message-box.js +8 -8
- package/lib/message.js +8 -8
- package/lib/notification.js +8 -8
- package/lib/option-group.js +2 -2
- package/lib/option.js +4 -4
- package/lib/page-header.js +2 -2
- package/lib/pagination.js +6 -6
- package/lib/phone-login.js +124 -124
- package/lib/popconfirm.js +2 -2
- package/lib/popover.js +209 -209
- package/lib/progress.js +2 -2
- package/lib/qr-code.js +2 -2
- package/lib/qrcode-login.js +123 -123
- package/lib/radio-group.js +121 -121
- package/lib/rate.js +4 -4
- package/lib/row.js +2 -2
- package/lib/scrollbar.js +6 -6
- package/lib/select.js +470 -457
- package/lib/selector-panel.js +141 -141
- package/lib/selector.js +130 -130
- package/lib/step.js +426 -412
- package/lib/steps.js +6 -6
- package/lib/submenu.js +4 -4
- package/lib/switch.js +4 -4
- package/lib/tab-pane.js +2 -2
- package/lib/table-column.js +6 -6
- package/lib/table.js +460 -460
- package/lib/tabs.js +6 -6
- package/lib/tag.js +2 -2
- package/lib/theme-chalk/autocomplete.css +1 -1
- package/lib/theme-chalk/base.css +1 -1
- package/lib/theme-chalk/cascader-panel.css +1 -1
- package/lib/theme-chalk/cascader.css +1 -1
- package/lib/theme-chalk/checkbox-group.css +1 -1
- package/lib/theme-chalk/date-picker.css +1 -1
- package/lib/theme-chalk/descriptions-item.css +1 -1
- package/lib/theme-chalk/descriptions.css +1 -1
- package/lib/theme-chalk/empty.css +1 -1
- package/lib/theme-chalk/flow.css +1 -1
- package/lib/theme-chalk/flows.css +1 -0
- package/lib/theme-chalk/form.css +1 -1
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/input-number.css +1 -1
- package/lib/theme-chalk/input.css +1 -1
- package/lib/theme-chalk/lowcode.css +1 -1
- package/lib/theme-chalk/main.css +1 -1
- package/lib/theme-chalk/menu.css +1 -1
- package/lib/theme-chalk/message-box.css +1 -1
- package/lib/theme-chalk/message.css +1 -1
- package/lib/theme-chalk/notification.css +1 -1
- package/lib/theme-chalk/pagination.css +1 -1
- package/lib/theme-chalk/scrollbar.css +1 -1
- package/lib/theme-chalk/select.css +1 -1
- package/lib/theme-chalk/selector-panel.css +1 -1
- package/lib/theme-chalk/selector.css +1 -1
- package/lib/theme-chalk/slider.css +1 -1
- package/lib/theme-chalk/table.css +1 -1
- package/lib/theme-chalk/tabs.css +1 -1
- package/lib/theme-chalk/time-picker.css +1 -1
- package/lib/theme-chalk/time-select.css +1 -1
- package/lib/theme-chalk/timeline-item.css +1 -1
- package/lib/theme-chalk/transfer.css +1 -1
- package/lib/theme-chalk/tree.css +1 -1
- package/lib/theme-chalk/upload.css +1 -1
- package/lib/time-picker.js +8 -8
- package/lib/time-select.js +6 -6
- package/lib/timeline-item.js +2 -2
- package/lib/timeline.js +2 -2
- package/lib/tips.js +124 -124
- package/lib/toolbar.js +4 -4
- package/lib/tooltip.js +209 -209
- package/lib/transfer.js +4 -4
- package/lib/tree-group.js +122 -122
- package/lib/tree.js +121 -121
- package/lib/upload.js +131 -131
- package/package.json +1 -1
- package/packages/carousel/src/carousel.vue +2 -2
- package/packages/flow/index.js +4 -4
- package/packages/flow/src/component/FreeCirculation.vue +4 -3
- package/packages/flow/src/component/SendMsg.vue +2 -4
- package/packages/flow/src/component/opinions.vue +203 -226
- package/packages/flow/src/component/taskUnionExamine.vue +2 -4
- package/packages/flow/src/freeStartFlow.vue +2 -2
- package/packages/flow/src/selectUser.vue +36 -1
- package/packages/flow/src/supervise.vue +4 -2
- package/packages/flows/index.js +7 -0
- package/packages/flows/readme.md +600 -0
- package/packages/flows/src/components/basis.vue +108 -0
- package/packages/flows/src/components/distribute.vue +42 -0
- package/packages/flows/src/components/opinions-file.vue +123 -0
- package/packages/{flow-copy/src/component → flows/src/components}/opinions.vue +227 -204
- package/packages/flows/src/components/quick-actions.vue +64 -0
- package/packages/flows/src/components/reject.vue +83 -0
- package/packages/flows/src/components/start-flow.vue +210 -0
- package/packages/flows/src/flow.vue +510 -0
- package/packages/{flow/src/flow.vue → flows/src/flows.vue} +40 -1327
- package/packages/form/src/form-item.vue +9 -2
- package/packages/form/src/label-wrap.vue +4 -1
- package/packages/login/src/login.vue +61 -32
- package/packages/lowcode/src/lowcode.vue +141 -40
- package/packages/lowcode/src/pages.vue +27 -7
- package/packages/lowcode/src/toolbar.vue +3 -18
- package/packages/main/src/components/pages.vue +97 -65
- package/packages/main/src/components/router-page.vue +0 -2
- package/packages/main/src/gzw.vue +3 -2
- package/packages/main/src/minxs.js +71 -51
- package/packages/select/src/select.vue +5 -0
- package/packages/theme-chalk/src/base.scss +6 -0
- package/packages/theme-chalk/src/checkbox-group.scss +1 -0
- package/packages/theme-chalk/src/common/var.scss +1 -1
- package/packages/theme-chalk/src/flow.scss +7 -4
- package/packages/theme-chalk/src/flows.scss +141 -0
- package/packages/theme-chalk/src/form.scss +1 -1
- package/packages/theme-chalk/src/index.scss +1 -0
- package/packages/theme-chalk/src/input.scss +1 -0
- package/packages/theme-chalk/src/select.scss +3 -1
- package/packages/theme-chalk/src/selector.scss +1 -1
- package/src/index.js +4 -1
- package/packages/flow/src/component/quick-actions.vue +0 -1168
- package/packages/flow-copy/index.js +0 -7
- package/packages/flow-copy/src/component/Circulate.vue +0 -452
- package/packages/flow-copy/src/component/CustomPreset.vue +0 -333
- package/packages/flow-copy/src/component/FreeCirculation.vue +0 -275
- package/packages/flow-copy/src/component/Preset.vue +0 -273
- package/packages/flow-copy/src/component/SendMsg.vue +0 -290
- package/packages/flow-copy/src/component/TimeLimit.vue +0 -205
- package/packages/flow-copy/src/component/taskUnionExamine.vue +0 -818
- package/packages/flow-copy/src/freeStartFlow.vue +0 -2912
- package/packages/flow-copy/src/processForm.vue +0 -1411
- package/packages/flow-copy/src/processReject.vue +0 -319
- package/packages/flow-copy/src/reset.vue +0 -944
- package/packages/flow-copy/src/selectUser.vue +0 -513
- package/packages/flow-copy/src/startTaskRead.vue +0 -723
- package/packages/flow-copy/src/supervise.vue +0 -182
- package/packages/flow-copy/src/table.vue +0 -65
- /package/packages/{flow-copy → flow}/src/component/FileList.vue +0 -0
- /package/packages/{flow-copy → flow}/src/main.vue +0 -0
- /package/packages/{flow-copy/src → flows/src/components}/form.vue +0 -0
- /package/packages/{flow/src/component → flows/src/components}/message.vue +0 -0
- /package/packages/{flow/src/component → flows/src/components}/opinions-list.vue +0 -0
|
@@ -11,31 +11,31 @@
|
|
|
11
11
|
<div
|
|
12
12
|
class="es-main-pages__handle--item"
|
|
13
13
|
:class="{ 'is-disabled': refresh }"
|
|
14
|
-
@click="handleRefresh"
|
|
14
|
+
@click.stop="handleRefresh"
|
|
15
15
|
>
|
|
16
16
|
刷新
|
|
17
17
|
</div>
|
|
18
|
-
<div class="es-main-pages__handle--item" @click="handleClose">
|
|
18
|
+
<div class="es-main-pages__handle--item" @click.stop="handleClose">
|
|
19
19
|
关闭标签
|
|
20
20
|
</div>
|
|
21
21
|
<div
|
|
22
22
|
class="es-main-pages__handle--item"
|
|
23
23
|
:class="{ 'is-disabled': other }"
|
|
24
|
-
@click="
|
|
24
|
+
@click.stop="handleCloseOther"
|
|
25
25
|
>
|
|
26
26
|
关闭其他
|
|
27
27
|
</div>
|
|
28
28
|
<div
|
|
29
29
|
class="es-main-pages__handle--item"
|
|
30
30
|
:class="{ 'is-disabled': left }"
|
|
31
|
-
@click="
|
|
31
|
+
@click.stop="handleCloseLeft"
|
|
32
32
|
>
|
|
33
33
|
关闭左侧
|
|
34
34
|
</div>
|
|
35
35
|
<div
|
|
36
36
|
class="es-main-pages__handle--item"
|
|
37
37
|
:class="{ 'is-disabled': right }"
|
|
38
|
-
@click="
|
|
38
|
+
@click.stop="handleCloseRight"
|
|
39
39
|
>
|
|
40
40
|
关闭右侧
|
|
41
41
|
</div>
|
|
@@ -72,12 +72,10 @@
|
|
|
72
72
|
</div>
|
|
73
73
|
<!-- 菜单 end -->
|
|
74
74
|
<es-tab-pane
|
|
75
|
-
v-for="(item, index) in
|
|
75
|
+
v-for="(item, index) in newTabs"
|
|
76
76
|
:class="{
|
|
77
77
|
'is-fourthTabs':
|
|
78
|
-
isFourthTabs &&
|
|
79
|
-
item.fourthTabs &&
|
|
80
|
-
item.fourthTabs.length
|
|
78
|
+
isFourthTabs && item.fourthTabs && item.fourthTabs.length
|
|
81
79
|
}"
|
|
82
80
|
:key="item.id"
|
|
83
81
|
:label="item.text || item.name"
|
|
@@ -85,11 +83,7 @@
|
|
|
85
83
|
>
|
|
86
84
|
<es-menu
|
|
87
85
|
class="es-main-pages__sub-menu-fourthTabs"
|
|
88
|
-
v-if="
|
|
89
|
-
isFourthTabs &&
|
|
90
|
-
item.fourthTabs &&
|
|
91
|
-
item.fourthTabs.length
|
|
92
|
-
"
|
|
86
|
+
v-if="isFourthTabs && item.fourthTabs && item.fourthTabs.length"
|
|
93
87
|
mode="horizontal"
|
|
94
88
|
:default-active="item.defaultActive"
|
|
95
89
|
:contents="item.fourthTabs"
|
|
@@ -103,7 +97,6 @@
|
|
|
103
97
|
<router-page
|
|
104
98
|
v-if="item.method === 'router'"
|
|
105
99
|
v-bind="item"
|
|
106
|
-
:query="$parent.params"
|
|
107
100
|
></router-page>
|
|
108
101
|
<iframe
|
|
109
102
|
v-else
|
|
@@ -142,6 +135,10 @@ export default {
|
|
|
142
135
|
},
|
|
143
136
|
|
|
144
137
|
props: {
|
|
138
|
+
tabs: {
|
|
139
|
+
type: Array,
|
|
140
|
+
default: () => []
|
|
141
|
+
},
|
|
145
142
|
showMenu: {
|
|
146
143
|
type: Boolean,
|
|
147
144
|
default: false
|
|
@@ -169,6 +166,7 @@ export default {
|
|
|
169
166
|
|
|
170
167
|
data() {
|
|
171
168
|
return {
|
|
169
|
+
newTabs: [],
|
|
172
170
|
host: getStorage('host') || '',
|
|
173
171
|
//是否显示操作栏
|
|
174
172
|
operate: false,
|
|
@@ -189,20 +187,6 @@ export default {
|
|
|
189
187
|
mode() {
|
|
190
188
|
return this.mainBox.mode;
|
|
191
189
|
},
|
|
192
|
-
tabs: {
|
|
193
|
-
get() {
|
|
194
|
-
return this.isFourthTabs ? this.$main.tabs.map(item => {
|
|
195
|
-
let defaultActive = ((item.fourthTabs || []).filter(ele => item.url === ele.url)[0] || {}).id || '';
|
|
196
|
-
return defaultActive ? {
|
|
197
|
-
...item,
|
|
198
|
-
defaultActive: defaultActive
|
|
199
|
-
} : item;
|
|
200
|
-
}):this.$main.tabs;
|
|
201
|
-
},
|
|
202
|
-
set(val) {
|
|
203
|
-
this.$main.tabs = val;
|
|
204
|
-
}
|
|
205
|
-
},
|
|
206
190
|
activeName: {
|
|
207
191
|
get() {
|
|
208
192
|
return this.$main.activeName;
|
|
@@ -214,15 +198,37 @@ export default {
|
|
|
214
198
|
},
|
|
215
199
|
|
|
216
200
|
watch: {
|
|
201
|
+
tabs: {
|
|
202
|
+
immediate: true,
|
|
203
|
+
deep: true,
|
|
204
|
+
handler(val) {
|
|
205
|
+
if (this.isFourthTabs) {
|
|
206
|
+
this.newTabs = val.map((item) => {
|
|
207
|
+
let defaultActive =
|
|
208
|
+
(
|
|
209
|
+
(item.fourthTabs || []).filter(
|
|
210
|
+
(ele) => item.url === ele.url
|
|
211
|
+
)[0] || {}
|
|
212
|
+
).id || '';
|
|
213
|
+
return defaultActive
|
|
214
|
+
? {
|
|
215
|
+
...item,
|
|
216
|
+
defaultActive: defaultActive
|
|
217
|
+
}
|
|
218
|
+
: item;
|
|
219
|
+
});
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
this.newTabs = val;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
217
225
|
},
|
|
218
226
|
|
|
219
|
-
created() {
|
|
220
|
-
},
|
|
227
|
+
created() {},
|
|
221
228
|
|
|
222
229
|
mounted() {},
|
|
223
230
|
|
|
224
|
-
beforeDestroy() {
|
|
225
|
-
},
|
|
231
|
+
beforeDestroy() {},
|
|
226
232
|
|
|
227
233
|
methods: {
|
|
228
234
|
/**
|
|
@@ -233,11 +239,11 @@ export default {
|
|
|
233
239
|
renderUrl(url) {
|
|
234
240
|
const userInfo = this.$main.userInfo || this.$main.userModel || {};
|
|
235
241
|
for (let key in userInfo) {
|
|
236
|
-
url = url.replace(new RegExp(`{
|
|
242
|
+
url = url.replace(new RegExp(`{${key}}`, 'g'), userInfo[key]);
|
|
237
243
|
}
|
|
238
244
|
return url;
|
|
239
245
|
},
|
|
240
|
-
|
|
246
|
+
|
|
241
247
|
handleSelect(res, index) {
|
|
242
248
|
const { node } = res;
|
|
243
249
|
if (node.urlopenmode === 1 || node.openModel === 1) {
|
|
@@ -248,7 +254,7 @@ export default {
|
|
|
248
254
|
return;
|
|
249
255
|
}
|
|
250
256
|
|
|
251
|
-
const updatedTabs = [...this.
|
|
257
|
+
const updatedTabs = [...this.newTabs];
|
|
252
258
|
updatedTabs[index].url = node.url;
|
|
253
259
|
this.$main.tabs = updatedTabs;
|
|
254
260
|
},
|
|
@@ -258,7 +264,7 @@ export default {
|
|
|
258
264
|
* @date 2024年9月7日
|
|
259
265
|
**/
|
|
260
266
|
handleTabClick() {
|
|
261
|
-
const activeTab = this.
|
|
267
|
+
const activeTab = this.newTabs.find((item) => item.id == this.activeName);
|
|
262
268
|
this.$emit('tab-click', this.activeName, activeTab);
|
|
263
269
|
},
|
|
264
270
|
/**
|
|
@@ -267,13 +273,13 @@ export default {
|
|
|
267
273
|
* @date 2024年9月7日
|
|
268
274
|
**/
|
|
269
275
|
handleRemove(name) {
|
|
270
|
-
let len = this.
|
|
271
|
-
let i = indexOfObj(this.
|
|
272
|
-
let tab = this.
|
|
276
|
+
let len = this.newTabs.length - 1;
|
|
277
|
+
let i = indexOfObj(this.newTabs, name, 'id,code,appCode');
|
|
278
|
+
let tab = this.newTabs[i];
|
|
273
279
|
let activeTab;
|
|
274
280
|
|
|
275
281
|
if (i > -1) {
|
|
276
|
-
const updatedTabs = this.
|
|
282
|
+
const updatedTabs = this.newTabs.filter((item) => item.id !== name);
|
|
277
283
|
|
|
278
284
|
if (updatedTabs.length == 0) {
|
|
279
285
|
this.activeName = '';
|
|
@@ -286,7 +292,7 @@ export default {
|
|
|
286
292
|
}
|
|
287
293
|
|
|
288
294
|
this.$emit('tab-remove', tab, activeTab);
|
|
289
|
-
this.
|
|
295
|
+
this.newTabs = updatedTabs;
|
|
290
296
|
}
|
|
291
297
|
},
|
|
292
298
|
/**
|
|
@@ -304,13 +310,13 @@ export default {
|
|
|
304
310
|
if (index == 0) {
|
|
305
311
|
this.left = true;
|
|
306
312
|
}
|
|
307
|
-
if (index == this.
|
|
313
|
+
if (index == this.newTabs.length - 1) {
|
|
308
314
|
this.right = true;
|
|
309
315
|
}
|
|
310
|
-
if (this.
|
|
316
|
+
if (this.newTabs.length == 1) {
|
|
311
317
|
this.other = true;
|
|
312
318
|
}
|
|
313
|
-
if (this.
|
|
319
|
+
if (this.newTabs[index].id != this.activeName) {
|
|
314
320
|
this.refresh = true;
|
|
315
321
|
}
|
|
316
322
|
|
|
@@ -347,12 +353,12 @@ export default {
|
|
|
347
353
|
if (this.refresh) {
|
|
348
354
|
return;
|
|
349
355
|
}
|
|
350
|
-
let tab = this.
|
|
356
|
+
let tab = this.newTabs[this.index];
|
|
351
357
|
if (tab.method == 'iframe') {
|
|
352
|
-
this.
|
|
358
|
+
this.newTabs[this.index].url = timestampUrl(tab.url);
|
|
353
359
|
}
|
|
354
360
|
if (tab.method === 'router') {
|
|
355
|
-
this.$set(this.
|
|
361
|
+
this.$set(this.newTabs[this.index], 'keys', uuid());
|
|
356
362
|
}
|
|
357
363
|
this.operate = false;
|
|
358
364
|
window.removeEventListener('click', this.closeTabsEvents);
|
|
@@ -363,19 +369,25 @@ export default {
|
|
|
363
369
|
* @date 2024年9月7日
|
|
364
370
|
**/
|
|
365
371
|
handleClose() {
|
|
366
|
-
let i = indexOfObj(this.
|
|
367
|
-
|
|
372
|
+
let i = indexOfObj(this.newTabs, this.activeName, 'id');
|
|
373
|
+
let activeTab = this.newTabs[i];
|
|
374
|
+
let removeTab = [this.newTabs[this.index]];
|
|
375
|
+
if (this.newTabs.length == 1) {
|
|
368
376
|
this.activeName = '';
|
|
377
|
+
activeTab = '';
|
|
369
378
|
} else if (i == this.index) {
|
|
370
|
-
if (this.index < this.
|
|
371
|
-
|
|
379
|
+
if (this.index < this.newTabs.length - 1) {
|
|
380
|
+
activeTab = this.newTabs[this.index + 1];
|
|
381
|
+
this.activeName = activeTab.id;
|
|
372
382
|
} else {
|
|
373
|
-
|
|
383
|
+
activeTab = this.newTabs[this.index - 1];
|
|
384
|
+
this.activeName = activeTab.id;
|
|
374
385
|
}
|
|
375
386
|
}
|
|
376
|
-
this.
|
|
387
|
+
this.newTabs.splice(i, 1);
|
|
377
388
|
this.operate = false;
|
|
378
389
|
window.removeEventListener('click', this.closeTabsEvents);
|
|
390
|
+
this.$emit('tab-change', this.newTabs, removeTab, activeTab);
|
|
379
391
|
},
|
|
380
392
|
/**
|
|
381
393
|
* @desc:关闭其他标签
|
|
@@ -383,11 +395,16 @@ export default {
|
|
|
383
395
|
* @date 2024年9月7日
|
|
384
396
|
**/
|
|
385
397
|
handleCloseOther() {
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
398
|
+
if (this.other) {
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
401
|
+
const activeTab = this.newTabs[this.index];
|
|
402
|
+
const removeTab = this.newTabs.filter((item) => item.id != activeTab.id);
|
|
403
|
+
this.newTabs = [activeTab];
|
|
404
|
+
this.activeName = activeTab.id;
|
|
389
405
|
this.operate = false;
|
|
390
406
|
window.removeEventListener('click', this.closeTabsEvents);
|
|
407
|
+
this.$emit('tab-change', this.newTabs, removeTab, activeTab);
|
|
391
408
|
},
|
|
392
409
|
/**
|
|
393
410
|
* @desc:关闭左侧标签
|
|
@@ -395,13 +412,19 @@ export default {
|
|
|
395
412
|
* @date 2024年9月7日
|
|
396
413
|
**/
|
|
397
414
|
handleCloseLeft() {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
415
|
+
if (this.left) {
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
let i = indexOfObj(this.newTabs, this.activeName, 'id');
|
|
419
|
+
let activeTab = this.newTabs[i];
|
|
420
|
+
if (i < this.index) {
|
|
421
|
+
activeTab = this.newTabs[this.index];
|
|
401
422
|
}
|
|
402
|
-
this.
|
|
423
|
+
this.activeName = activeTab.id;
|
|
424
|
+
const removeTab = this.newTabs.splice(0, this.index);
|
|
403
425
|
this.operate = false;
|
|
404
426
|
window.removeEventListener('click', this.closeTabsEvents);
|
|
427
|
+
this.$emit('tab-change', this.newTabs, removeTab, activeTab);
|
|
405
428
|
},
|
|
406
429
|
/**
|
|
407
430
|
* @desc:关闭右侧标签
|
|
@@ -409,13 +432,22 @@ export default {
|
|
|
409
432
|
* @date 2024年9月7日
|
|
410
433
|
**/
|
|
411
434
|
handleCloseRight() {
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
435
|
+
if (this.right) {
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
let i = indexOfObj(this.newTabs, this.activeName, 'id');
|
|
439
|
+
let activeTab = this.newTabs[i];
|
|
440
|
+
if (i > this.index) {
|
|
441
|
+
activeTab = this.newTabs[this.index];
|
|
415
442
|
}
|
|
416
|
-
this.
|
|
443
|
+
this.activeName = activeTab.id;
|
|
444
|
+
const removeTab = this.newTabs.splice(
|
|
445
|
+
this.index + 1,
|
|
446
|
+
this.newTabs.length - 1
|
|
447
|
+
);
|
|
417
448
|
this.operate = false;
|
|
418
449
|
window.removeEventListener('click', this.closeTabsEvents);
|
|
450
|
+
this.$emit('tab-change', this.newTabs, removeTab, activeTab);
|
|
419
451
|
}
|
|
420
452
|
}
|
|
421
453
|
};
|
|
@@ -17,12 +17,13 @@
|
|
|
17
17
|
<!-- 路由、iframe -->
|
|
18
18
|
<pages
|
|
19
19
|
:isFourthTabs="isFourthTabs"
|
|
20
|
-
:tabs
|
|
20
|
+
:tabs="tabs"
|
|
21
21
|
:show-menu="showMenu"
|
|
22
22
|
:fold="fold"
|
|
23
23
|
:spread="spread"
|
|
24
24
|
:active="activeName"
|
|
25
25
|
:tabs-type="tabsType"
|
|
26
|
+
@tab-change="handleTabChange"
|
|
26
27
|
@tab-click="handleTabClick"
|
|
27
28
|
@tab-remove="handleRemove"
|
|
28
29
|
@fourthTabs="handleFourthTabs"
|
|
@@ -278,7 +279,7 @@ export default {
|
|
|
278
279
|
handleClickAi() {
|
|
279
280
|
// 只有非拖动状态才执行点击
|
|
280
281
|
if (this.isDragging || this.hasDragged) return;
|
|
281
|
-
this.handlerSetDrawer({type: 'ai', direction: 'rtl', visible: true});
|
|
282
|
+
this.handlerSetDrawer({ type: 'ai', direction: 'rtl', visible: true });
|
|
282
283
|
},
|
|
283
284
|
|
|
284
285
|
startDrag(event) {
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
exclAttribute,
|
|
37
37
|
getParams
|
|
38
38
|
} from 'eoss/src/utils/util';
|
|
39
|
-
import { getStorage, setStorage, removeStorage} from 'eoss/src/utils/storage';
|
|
39
|
+
import { getStorage, setStorage, removeStorage } from 'eoss/src/utils/storage';
|
|
40
40
|
import { timeCycle } from 'eoss/src/utils/date';
|
|
41
41
|
import { socket } from 'eoss/src/utils/websocket';
|
|
42
42
|
import { ajax, getMainConfig } from 'eoss/src/utils/ajax';
|
|
@@ -67,7 +67,7 @@ export default {
|
|
|
67
67
|
},
|
|
68
68
|
inject: {
|
|
69
69
|
mainBox: {
|
|
70
|
-
default: () => {}
|
|
70
|
+
default: () => { }
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
components: {
|
|
@@ -1024,10 +1024,10 @@ export default {
|
|
|
1024
1024
|
type = resType;
|
|
1025
1025
|
}
|
|
1026
1026
|
if (type === 'open') {
|
|
1027
|
-
this.handlerSetDrawer({type: 'ai', direction: 'rtl', ...config, visible: true});
|
|
1027
|
+
this.handlerSetDrawer({ type: 'ai', direction: 'rtl', ...config, visible: true });
|
|
1028
1028
|
this.aiOpen = true;
|
|
1029
1029
|
} else if (type === 'close' || type === 'float') {
|
|
1030
|
-
this.handlerSetDrawer({type: 'ai', direction: 'rtl', ...config, visible: false});
|
|
1030
|
+
this.handlerSetDrawer({ type: 'ai', direction: 'rtl', ...config, visible: false });
|
|
1031
1031
|
// this.aiOpen = false;
|
|
1032
1032
|
}
|
|
1033
1033
|
},
|
|
@@ -1116,21 +1116,9 @@ export default {
|
|
|
1116
1116
|
let appCode;
|
|
1117
1117
|
if (res.path !== '/' && pathname === res.path) {
|
|
1118
1118
|
if (res.components) {
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
res,
|
|
1123
|
-
code
|
|
1124
|
-
);
|
|
1125
|
-
appCode = Object.keys(res.components).filter((item) => {
|
|
1126
|
-
return item !== 'default';
|
|
1127
|
-
})[0];
|
|
1128
|
-
}
|
|
1129
|
-
} else {
|
|
1130
|
-
console.error(
|
|
1131
|
-
'请根据路由“命名视图”规范,正确添加components属性名称',
|
|
1132
|
-
res
|
|
1133
|
-
);
|
|
1119
|
+
appCode = Object.keys(res.components).filter((item) => {
|
|
1120
|
+
return item !== 'default';
|
|
1121
|
+
})[0];
|
|
1134
1122
|
}
|
|
1135
1123
|
return appCode ? { path: pathname, appCode } : pathname;
|
|
1136
1124
|
}
|
|
@@ -1229,7 +1217,7 @@ export default {
|
|
|
1229
1217
|
try {
|
|
1230
1218
|
window.webPageWatermark = res[i];
|
|
1231
1219
|
watermark(res[i]);
|
|
1232
|
-
} catch (error) {}
|
|
1220
|
+
} catch (error) { }
|
|
1233
1221
|
break;
|
|
1234
1222
|
case 'openModel':
|
|
1235
1223
|
setStorage({ key: 'openModel', value: res[i] });
|
|
@@ -1237,12 +1225,12 @@ export default {
|
|
|
1237
1225
|
case 'aiConfig':
|
|
1238
1226
|
if (typeof res[i] === 'string') {
|
|
1239
1227
|
try {
|
|
1240
|
-
this.aiConfig = {width: 56, height: 56, ...JSON.parse(res[i])};
|
|
1228
|
+
this.aiConfig = { width: 56, height: 56, ...JSON.parse(res[i]) };
|
|
1241
1229
|
} catch (error) {
|
|
1242
1230
|
this.aiConfig = { width: 56, height: 56, url: res[i] };
|
|
1243
1231
|
}
|
|
1244
1232
|
} else {
|
|
1245
|
-
this.aiConfig = {width: 56, height: 56, ...res[i]};
|
|
1233
|
+
this.aiConfig = { width: 56, height: 56, ...res[i] };
|
|
1246
1234
|
}
|
|
1247
1235
|
this.aiConfig.float && (this.aiFloat = true);
|
|
1248
1236
|
break;
|
|
@@ -1458,14 +1446,14 @@ export default {
|
|
|
1458
1446
|
let obj = null;
|
|
1459
1447
|
if (appid) {
|
|
1460
1448
|
obj = this.getMenu(this.menuApps, appid, 'id');
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1449
|
+
if (!obj) {
|
|
1450
|
+
obj = this.getMenu(this.menus, appid, 'id');
|
|
1451
|
+
}
|
|
1452
|
+
if (!obj) {
|
|
1453
|
+
console.error('未找到应用菜单', appid);
|
|
1454
|
+
} else {
|
|
1455
|
+
obj = JSON.parse(JSON.stringify(obj));
|
|
1456
|
+
}
|
|
1469
1457
|
}
|
|
1470
1458
|
let homePage = null;
|
|
1471
1459
|
if (this.indexUrl) {
|
|
@@ -1603,23 +1591,30 @@ export default {
|
|
|
1603
1591
|
if (this.urlParseCache[cacheKey]) {
|
|
1604
1592
|
const cached = this.urlParseCache[cacheKey];
|
|
1605
1593
|
res.method = cached.method;
|
|
1606
|
-
if (cached.appCode)
|
|
1607
|
-
|
|
1608
|
-
|
|
1594
|
+
if (cached.appCode) {
|
|
1595
|
+
res.appCode = cached.appCode;
|
|
1596
|
+
};
|
|
1597
|
+
if (cached.path) {
|
|
1598
|
+
res.path = cached.path;
|
|
1599
|
+
};
|
|
1600
|
+
if (cached.keys) {
|
|
1601
|
+
res.keys = cached.keys;
|
|
1602
|
+
};
|
|
1609
1603
|
return res;
|
|
1610
1604
|
}
|
|
1611
1605
|
let urls = url.split('?');
|
|
1612
1606
|
res.method = 'iframe';
|
|
1613
1607
|
const routes = this.$router.options.routes;
|
|
1614
1608
|
if (routes) {
|
|
1615
|
-
let path = this.hasRouter(routes, urls[0], res.appCode);
|
|
1609
|
+
let path = this.hasRouter(routes, urls[0], res.appCode || res.code);
|
|
1616
1610
|
if (path) {
|
|
1617
1611
|
res.method = 'router';
|
|
1618
1612
|
if (typeof path === 'string') {
|
|
1619
1613
|
res.path = path;
|
|
1614
|
+
res.appCode = res.appCode || res.code;
|
|
1620
1615
|
} else {
|
|
1621
1616
|
res.path = path.path;
|
|
1622
|
-
res.appCode = path.appCode;
|
|
1617
|
+
res.appCode = res.appCode || res.code || path.appCode;
|
|
1623
1618
|
}
|
|
1624
1619
|
res.keys = uuid();
|
|
1625
1620
|
}
|
|
@@ -1914,7 +1909,7 @@ export default {
|
|
|
1914
1909
|
if (this.$store) {
|
|
1915
1910
|
try {
|
|
1916
1911
|
this.$store.commit('websocket', data);
|
|
1917
|
-
} catch (error) {}
|
|
1912
|
+
} catch (error) { }
|
|
1918
1913
|
}
|
|
1919
1914
|
const bus = this.bus || this.$eventBus || this.$root.Bus;
|
|
1920
1915
|
if (bus) {
|
|
@@ -2029,16 +2024,16 @@ export default {
|
|
|
2029
2024
|
let tab = this.setIframeType(obj);
|
|
2030
2025
|
this.tabs.push(tab);
|
|
2031
2026
|
this.activeName = obj.id;
|
|
2032
|
-
this.tabMenus[tab.id] = {...menus, parentAppId: res.id};
|
|
2027
|
+
this.tabMenus[tab.id] = { ...menus, parentAppId: res.id };
|
|
2033
2028
|
} else {
|
|
2034
2029
|
this.activeName = obj.id;
|
|
2035
2030
|
}
|
|
2036
2031
|
if (
|
|
2037
2032
|
(menus.children && menus.children.length) ||
|
|
2038
|
-
|
|
2033
|
+
(menus.fourthTabs && menus.fourthTabs.length)
|
|
2039
2034
|
) {
|
|
2040
2035
|
this.subActive = obj.id;
|
|
2041
|
-
this.subMenus = {...menus, parentAppId: res.id};
|
|
2036
|
+
this.subMenus = { ...menus, parentAppId: res.id };
|
|
2042
2037
|
this.showMenu = this.isFourthTabs ? menus.children.length > 0 : true;
|
|
2043
2038
|
this.spread = false;
|
|
2044
2039
|
this.fold = false;
|
|
@@ -2055,7 +2050,7 @@ export default {
|
|
|
2055
2050
|
(menus.children && menus.children.length) ||
|
|
2056
2051
|
(menus.fourthTabs && menus.fourthTabs.length)
|
|
2057
2052
|
) {
|
|
2058
|
-
this.subMenus = {...menus, parentAppId: res.id};
|
|
2053
|
+
this.subMenus = { ...menus, parentAppId: res.id };
|
|
2059
2054
|
this.showMenu = true;
|
|
2060
2055
|
this.spread = false;
|
|
2061
2056
|
this.fold = false;
|
|
@@ -2075,14 +2070,14 @@ export default {
|
|
|
2075
2070
|
this.$alert('没有关联菜单,请联系管理员!', '提示', {
|
|
2076
2071
|
confirmButtonText: '确定',
|
|
2077
2072
|
type: 'warning'
|
|
2078
|
-
}).catch(() => {});
|
|
2073
|
+
}).catch(() => { });
|
|
2079
2074
|
} else {
|
|
2080
2075
|
this.spread = false;
|
|
2081
2076
|
this.fold = false;
|
|
2082
|
-
this.subMenus = subMenus ? {...subMenus, parentAppId: res.id} : null;
|
|
2077
|
+
this.subMenus = subMenus ? { ...subMenus, parentAppId: res.id } : null;
|
|
2083
2078
|
this.showMenu = subMenus
|
|
2084
2079
|
? (subMenus.children && subMenus.children.length > 0) ||
|
|
2085
|
-
|
|
2080
|
+
(subMenus.fourthTabs && subMenus.fourthTabs.length > 0)
|
|
2086
2081
|
: false;
|
|
2087
2082
|
if (subMenus.url) {
|
|
2088
2083
|
// subMenus = JSON.parse(JSON.stringify(subMenus));
|
|
@@ -2104,7 +2099,7 @@ export default {
|
|
|
2104
2099
|
* @author huangbo
|
|
2105
2100
|
* @date 2024年9月7日
|
|
2106
2101
|
**/
|
|
2107
|
-
handlerSetDrawer({type, direction = 'ltr', visible = true, size = '100%'}) {
|
|
2102
|
+
handlerSetDrawer({ type, direction = 'ltr', visible = true, size = '100%' }) {
|
|
2108
2103
|
this.drawer.visible = visible;
|
|
2109
2104
|
this.drawer.active = type;
|
|
2110
2105
|
this.drawer.direction = direction;
|
|
@@ -2144,7 +2139,7 @@ export default {
|
|
|
2144
2139
|
n = index;
|
|
2145
2140
|
return item.id === this.activeName;
|
|
2146
2141
|
});
|
|
2147
|
-
tab = this.setIframeType({...this.tabs[n], url: res.url});
|
|
2142
|
+
tab = this.setIframeType({ ...this.tabs[n], url: res.url });
|
|
2148
2143
|
this.$set(this.tabs, n, tab);
|
|
2149
2144
|
},
|
|
2150
2145
|
/**
|
|
@@ -2161,8 +2156,8 @@ export default {
|
|
|
2161
2156
|
appId: res.id
|
|
2162
2157
|
}
|
|
2163
2158
|
})
|
|
2164
|
-
.then(() => {})
|
|
2165
|
-
.catch(() => {});
|
|
2159
|
+
.then(() => { })
|
|
2160
|
+
.catch(() => { });
|
|
2166
2161
|
this.showMsg = false;
|
|
2167
2162
|
this.showSet = false;
|
|
2168
2163
|
const tabs = [...this.tabs];
|
|
@@ -2250,6 +2245,31 @@ export default {
|
|
|
2250
2245
|
}
|
|
2251
2246
|
}
|
|
2252
2247
|
},
|
|
2248
|
+
/**
|
|
2249
|
+
* @desc:tabs页签删除事件
|
|
2250
|
+
* @author huangbo
|
|
2251
|
+
* @date 2024年9月7日
|
|
2252
|
+
**/
|
|
2253
|
+
handleTabChange(tabs, removeTab, activeTab) {
|
|
2254
|
+
this.tabs = JSON.parse(JSON.stringify(tabs));
|
|
2255
|
+
removeTab.forEach((item) => {
|
|
2256
|
+
delete this.tabMenus[item.id];
|
|
2257
|
+
});
|
|
2258
|
+
if (Object.keys(this.tabMenus).length === 0) {
|
|
2259
|
+
this.subActive = '';
|
|
2260
|
+
}
|
|
2261
|
+
if (activeTab) {
|
|
2262
|
+
if (activeTab.text) {
|
|
2263
|
+
this.subActive = activeTab.id;
|
|
2264
|
+
return;
|
|
2265
|
+
}
|
|
2266
|
+
this.subActive = '';
|
|
2267
|
+
this.activeName = activeTab.id;
|
|
2268
|
+
return;
|
|
2269
|
+
}
|
|
2270
|
+
this.subActive = '';
|
|
2271
|
+
this.activeName = '';
|
|
2272
|
+
},
|
|
2253
2273
|
/**
|
|
2254
2274
|
* @desc:删除iframe
|
|
2255
2275
|
* @author huangbo
|
|
@@ -2347,10 +2367,10 @@ export default {
|
|
|
2347
2367
|
this.showSet = false;
|
|
2348
2368
|
break;
|
|
2349
2369
|
case 'ai':
|
|
2350
|
-
this.handlerSetDrawer({type: 'ai', direction: 'rtl', visible: true});
|
|
2370
|
+
this.handlerSetDrawer({ type: 'ai', direction: 'rtl', visible: true });
|
|
2351
2371
|
break;
|
|
2352
2372
|
case 'im':
|
|
2353
|
-
this.handlerSetDrawer({type: 'im', direction: 'rtl', visible: true});
|
|
2373
|
+
this.handlerSetDrawer({ type: 'im', direction: 'rtl', visible: true });
|
|
2354
2374
|
break;
|
|
2355
2375
|
case 'goView':
|
|
2356
2376
|
window.open(res.path, '_blank');
|
|
@@ -2435,9 +2455,9 @@ export default {
|
|
|
2435
2455
|
}
|
|
2436
2456
|
}
|
|
2437
2457
|
})
|
|
2438
|
-
.catch(() => {});
|
|
2458
|
+
.catch(() => { });
|
|
2439
2459
|
})
|
|
2440
|
-
.catch(() => {});
|
|
2460
|
+
.catch(() => { });
|
|
2441
2461
|
},
|
|
2442
2462
|
/**
|
|
2443
2463
|
* @desc:主题、消息回调
|
|
@@ -137,6 +137,7 @@
|
|
|
137
137
|
v-if="suffix"
|
|
138
138
|
class="es-input__suffix-button"
|
|
139
139
|
v-bind="suffix"
|
|
140
|
+
@click.stop="handleSuffixClick"
|
|
140
141
|
></es-button>
|
|
141
142
|
</template>
|
|
142
143
|
</es-input>
|
|
@@ -1682,6 +1683,10 @@ export default {
|
|
|
1682
1683
|
return processedValue.join(this.decollator);
|
|
1683
1684
|
}
|
|
1684
1685
|
return value;
|
|
1686
|
+
},
|
|
1687
|
+
handleSuffixClick() {
|
|
1688
|
+
this.visible = false;
|
|
1689
|
+
this.$emit('suffix-click');
|
|
1685
1690
|
}
|
|
1686
1691
|
},
|
|
1687
1692
|
|