@utogether/udp-core 1.0.1-beta.14 → 1.0.1-beta.16

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 (82) hide show
  1. package/dist/{403-pRpb9luy.js → 403-RBzulrcG.js} +1 -1
  2. package/dist/{404-Bsowhpja.js → 404-DX-dU_6C.js} +1 -1
  3. package/dist/{500-DZuJN9lQ.js → 500-BCTk0__d.js} +1 -1
  4. package/dist/{AuthorityInfo-DsSMdxQ1.js → AuthorityInfo-BADTOenq.js} +1 -1
  5. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-DCRZ7hKU.js → AuthorityInfo.vue_vue_type_style_index_0_lang-Cv46yAx_.js} +3 -3
  6. package/dist/{Company-JFHxazkc.js → Company-B-61KrWd.js} +3 -3
  7. package/dist/{CompanyPanel-Bt-5OX8x.js → CompanyPanel-CawSrEff.js} +10 -10
  8. package/dist/{Department-B1bTl93X.js → Department-CrzJPtvP.js} +3 -3
  9. package/dist/{DepartmentPanel-CVIvI8sf.js → DepartmentPanel-DYuL8H-j.js} +23 -23
  10. package/dist/{DesignPanel-snVLq3Gi.js → DesignPanel-DEAv6V68.js} +1 -1
  11. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-Cvb54DDl.js → DesignPanel.vue_vue_type_style_index_0_lang-BsnXZ2td.js} +6 -6
  12. package/dist/{DictView-OoNA8vMb.js → DictView-BuO-2b-c.js} +15 -16
  13. package/dist/{InvOrganization-CINznAuo.js → InvOrganization-CBgKBJAn.js} +1 -1
  14. package/dist/{Org-BA3ZHIpa.js → Org-BaQw2r-o.js} +3 -3
  15. package/dist/{Preview-C9rFs95x.js → Preview-DvCrmKNk.js} +2 -2
  16. package/dist/{ReportDefine-D2CXXxZp.js → ReportDefine-DyhWz0as.js} +1 -1
  17. package/dist/{ReportDesign-DWmFLxO_.js → ReportDesign-DgZ2f2zv.js} +10 -10
  18. package/dist/{ReportQuery-BBMEls-l.js → ReportQuery-DTZYbCDi.js} +1 -1
  19. package/dist/{ReportQueryFrom-CIeGY6UD.js → ReportQueryFrom-B-vtJegP.js} +1 -1
  20. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-qtLKZPIW.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-D6izgxph.js} +1 -1
  21. package/dist/{ReportTemplate-CWxGNxLg.js → ReportTemplate-DA1ZqKGf.js} +11 -11
  22. package/dist/{Role-CF93718B.js → Role-mbqoav5t.js} +3 -3
  23. package/dist/{RoleAssign-BjoNSr6O.js → RoleAssign-ltEJIEcr.js} +3 -3
  24. package/dist/{RolePanel-qBGK6Ilt.js → RolePanel-1g1a-G8D.js} +1 -1
  25. package/dist/{RolePanel-DmQaKkm5.js → RolePanel-u90v9eS0.js} +1 -1
  26. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-BeNdAkYp.js → RolePanel.vue_vue_type_script_setup_true_lang-D9YxpGnt.js} +1 -1
  27. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-DdK59XHp.js → RolePanel.vue_vue_type_script_setup_true_lang-LC4Egk-Q.js} +9 -9
  28. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-LU6W_QVY.js → ScrollPanel.vue_vue_type_style_index_0_lang-DZ3W1epK.js} +8 -8
  29. package/dist/{Staff-BrjfdZU2.js → Staff-CJ2GgCL3.js} +3 -3
  30. package/dist/{StaffInfo-DYmftNDC.js → StaffInfo-3KkodDCK.js} +1 -1
  31. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-DVLhL8tz.js → StaffInfo.vue_vue_type_script_setup_true_lang-CW-isIxJ.js} +7 -7
  32. package/dist/{StaffPanel-DJERIwT_.js → StaffPanel-DoXPSoY5.js} +1 -1
  33. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-D_leV5A8.js → StaffPanel.vue_vue_type_script_setup_true_lang-DvhGnOMZ.js} +2 -2
  34. package/dist/{SysUser-WO0whf-F.js → SysUser-BuIZhMPh.js} +2 -2
  35. package/dist/{SysUserPanel-C64mSt4O.js → SysUserPanel-t1GJcJGM.js} +1 -1
  36. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-B19FuxOZ.js → SysUserPanel.vue_vue_type_script_setup_true_lang-CDDkFLlN.js} +6 -6
  37. package/dist/{SystemMenu-CY1EDfzl.js → SystemMenu-DuLEL6_l.js} +10 -10
  38. package/dist/{UserInfo-DWXmMOD1.js → UserInfo-WWby4lts.js} +1 -1
  39. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-pjHVXRtK.js → UserInfo.vue_vue_type_style_index_0_lang-B06ZSrJV.js} +10 -10
  40. package/dist/{childView-CMBPpTyj.js → childView-B0-EAoAi.js} +1 -1
  41. package/dist/{childView-Czd4yk_A.js → childView-IYY4L8VK.js} +1 -1
  42. package/dist/{childView.vue_vue_type_style_index_0_lang-C9wXL52o.js → childView.vue_vue_type_style_index_0_lang-B56v6yK7.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-CaMQbFZm.js → childView.vue_vue_type_style_index_0_lang-CjF8nZuj.js} +6 -6
  44. package/dist/{code-rule-kHfdPgGA.js → code-rule-DDLdi3pP.js} +6 -6
  45. package/dist/core.es.js +17 -12
  46. package/dist/{cron-task-D1bbdvVP.js → cron-task-p3-AFN1w.js} +11 -11
  47. package/dist/{frameView-B5JStsSt.js → frameView-B_WAZErD.js} +1 -1
  48. package/dist/{index-Ce51XQgg.js → index-24fnvUBy.js} +748 -544
  49. package/dist/{layoutView-DR39l27s.js → layoutView-CoEp2afn.js} +25 -27
  50. package/dist/{log-out--RRncZhN.js → log-out-D1b4VRMZ.js} +30 -24
  51. package/dist/login-DP0oP70W.js +249 -0
  52. package/dist/{lov-view-wdnYE7wy.js → lov-view-BDoZRK-v.js} +5 -5
  53. package/dist/{menuInfo-D0746839.js → menuInfo-5Xls76qB.js} +1 -1
  54. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-p_yYtGl2.js → menuInfo.vue_vue_type_style_index_0_lang-BfZczW9a.js} +7 -7
  55. package/dist/{pda-app-zzzZfBj5.js → pda-app-DxGYn4G7.js} +20 -20
  56. package/dist/{resource-B7wnjBVW.js → resource-BnYWe_-Q.js} +7 -7
  57. package/dist/{su-welcome-CeajjyWS.js → su-welcome-B2rNhhDH.js} +88 -88
  58. package/dist/sys-config-Bb4WkxZK.js +355 -0
  59. package/dist/udp-core.css +2 -2
  60. package/dist/utogether-MlnyYtNS.js +4 -0
  61. package/index.ts +12 -4
  62. package/package.json +18 -18
  63. package/src/components/udp/form.vue +2 -2
  64. package/src/components/udp/utils.ts +11 -7
  65. package/src/layout/hooks/useTag.ts +221 -233
  66. package/src/main.ts +114 -113
  67. package/src/plugins/i18n/zh.ts +6 -1
  68. package/src/store/modules/system.ts +1 -3
  69. package/src/style/login.css +336 -336
  70. package/src/style/vxetable.scss +32 -0
  71. package/src/utils/index.ts +3 -1
  72. package/src/views/system/sys/sys-config.vue +50 -1
  73. package/src/views/uapp/pda/pda-app.vue +1 -1
  74. package/src/views/udev/dict/DictView.vue +2 -2
  75. package/src/views/ulogin/login.vue +323 -321
  76. package/src/views/upms/interface/log-out.vue +101 -107
  77. package/src/views/urpt/design/Preview.vue +1 -0
  78. package/src/views/urpt/design/ReportDesign.vue +2 -4
  79. package/types/global.d.ts +230 -236
  80. package/dist/login-d5LMP32l.js +0 -253
  81. package/dist/sys-config-CpfSg66g.js +0 -290
  82. package/dist/utogether-B_dUqXea.js +0 -182
@@ -1,233 +1,221 @@
1
- import {
2
- ref,
3
- unref,
4
- watch,
5
- computed,
6
- reactive,
7
- onMounted,
8
- type CSSProperties,
9
- getCurrentInstance
10
- } from 'vue';
11
- import type { tagsViewsType } from '../types';
12
- import { isEqual, isBoolean } from 'xe-utils';
13
- import { useEventListener } from '@vueuse/core';
14
- import { useRoute, useRouter } from 'vue-router';
15
- import { storageLocal, toggleClass, hasClass } from '@utogether/utils';
16
- import { transformI18n } from '../../plugins/i18n';
17
- import { useSettingStoreHook } from '../../store/modules/settings';
18
- import { responsiveStorageNameSpace } from '../../config';
19
- import { useMultiTagsStoreHook } from '../../store/modules/multiTags';
20
-
21
- export function useTags() {
22
- const route = useRoute();
23
- const router = useRouter();
24
- const instance = getCurrentInstance();
25
- const SuSetting = useSettingStoreHook();
26
-
27
- const buttonTop = ref(0);
28
- const buttonLeft = ref(0);
29
- const translateX = ref(0);
30
- const visible = ref(false);
31
- const activeIndex = ref(-1);
32
- // 当前右键选中的路由信息
33
- const currentSelect = ref({});
34
-
35
- /** 显示模式,默认灵动模式 */
36
- const showModel = ref(
37
- storageLocal.getItem(`${responsiveStorageNameSpace()}configure`)?.showModel || 'smart'
38
- );
39
- /** 是否隐藏标签页,默认显示 */
40
- const showTags =
41
- ref(storageLocal.getItem(`${responsiveStorageNameSpace()}configure`)?.hideTabs) ?? ref('false');
42
- const multiTags: any = computed(() => {
43
- return useMultiTagsStoreHook().multiTags;
44
- });
45
-
46
- const tagsViews = reactive<Array<tagsViewsType>>([
47
- {
48
- icon: 'refresh-right',
49
- text: 'message.udp.reload',
50
- divided: false,
51
- disabled: false,
52
- show: true
53
- },
54
- {
55
- icon: 'close',
56
- text: 'message.udp.closeCurrentTab',
57
- divided: false,
58
- disabled: multiTags.value.length > 1 ? false : true,
59
- show: true
60
- },
61
- {
62
- icon: 'ri:text-direction-r',
63
- text: 'message.udp.closeLeftTabs',
64
- divided: true,
65
- disabled: multiTags.value.length > 1 ? false : true,
66
- show: true
67
- },
68
- {
69
- icon: 'ri:text-direction-l',
70
- text: 'message.udp.closeRightTabs',
71
- divided: false,
72
- disabled: multiTags.value.length > 1 ? false : true,
73
- show: true
74
- },
75
- {
76
- icon: 'ri:text-spacing',
77
- text: 'message.udp.closeOtherTabs',
78
- divided: true,
79
- disabled: multiTags.value.length > 2 ? false : true,
80
- show: true
81
- },
82
- {
83
- icon: 'ri:subtract-line',
84
- text: 'message.udp.closeAllTabs',
85
- divided: false,
86
- disabled: multiTags.value.length > 1 ? false : true,
87
- show: true
88
- },
89
- {
90
- icon: 'ri:fullscreen-fill',
91
- text: 'message.udp.wholeFullScreen',
92
- divided: true,
93
- disabled: false,
94
- show: true
95
- },
96
- {
97
- icon: 'ri:fullscreen-fill',
98
- text: 'message.udp.contentFullScreen',
99
- divided: false,
100
- disabled: false,
101
- show: true
102
- }
103
- ]);
104
-
105
- function conditionHandle(item, previous, next) {
106
- if (isBoolean(route?.meta?.showLink) && route?.meta?.showLink === false) {
107
- if (Object.keys(route.query).length > 0) {
108
- return isEqual(route.query, item.query) ? previous : next;
109
- } else {
110
- return isEqual(route.params, item.params) ? previous : next;
111
- }
112
- } else {
113
- return route.path === item.path ? previous : next;
114
- }
115
- }
116
-
117
- const isFixedTag = computed(() => {
118
- return item => {
119
- return isBoolean(item?.meta?.fixedTag) && item?.meta?.fixedTag === true;
120
- };
121
- });
122
-
123
- const iconIsActive = computed(() => {
124
- return (item, index) => {
125
- if (index === 0) return;
126
- return conditionHandle(item, true, false);
127
- };
128
- });
129
-
130
- const linkIsActive = computed(() => {
131
- return item => {
132
- return conditionHandle(item, 'is-active', '');
133
- };
134
- });
135
-
136
- const scheduleIsActive = computed(() => {
137
- return item => {
138
- return conditionHandle(item, 'schedule-active', '');
139
- };
140
- });
141
-
142
- const getTabStyle = computed((): CSSProperties => {
143
- return {
144
- transform: `translateX(${translateX.value}px)`
145
- };
146
- });
147
-
148
- const getContextMenuStyle = computed((): CSSProperties => {
149
- return { left: buttonLeft.value + 'px', top: buttonTop.value + 'px' };
150
- });
151
-
152
- const closeMenu = () => {
153
- visible.value = false;
154
- };
155
-
156
- /** 鼠标移入添加激活样式 */
157
- function onMouseenter(index) {
158
- if (index) activeIndex.value = index;
159
- if (unref(showModel) === 'smart') {
160
- if (hasClass(instance.refs['schedule' + index][0], 'schedule-active')) return;
161
- toggleClass(true, 'schedule-in', instance.refs['schedule' + index][0]);
162
- toggleClass(false, 'schedule-out', instance.refs['schedule' + index][0]);
163
- } else {
164
- if (hasClass(instance.refs['dynamic' + index][0], 'is-active')) return;
165
- toggleClass(true, 'card-in', instance.refs['dynamic' + index][0]);
166
- toggleClass(false, 'card-out', instance.refs['dynamic' + index][0]);
167
- }
168
- }
169
-
170
- /** 鼠标移出恢复默认样式 */
171
- function onMouseleave(index) {
172
- activeIndex.value = -1;
173
- if (unref(showModel) === 'smart') {
174
- if (hasClass(instance.refs['schedule' + index][0], 'schedule-active')) return;
175
- toggleClass(false, 'schedule-in', instance.refs['schedule' + index][0]);
176
- toggleClass(true, 'schedule-out', instance.refs['schedule' + index][0]);
177
- } else {
178
- if (hasClass(instance.refs['dynamic' + index][0], 'is-active')) return;
179
- toggleClass(false, 'card-in', instance.refs['dynamic' + index][0]);
180
- toggleClass(true, 'card-out', instance.refs['dynamic' + index][0]);
181
- }
182
- }
183
-
184
- function onContentFullScreen() {
185
- SuSetting.hiddenSideBar
186
- ? SuSetting.changeSetting({ key: 'hiddenSideBar', value: false })
187
- : SuSetting.changeSetting({ key: 'hiddenSideBar', value: true });
188
- }
189
-
190
- onMounted(() => {
191
- if (!showModel.value) {
192
- const configure = storageLocal.getItem(`${responsiveStorageNameSpace()}configure`);
193
- configure.showModel = 'card';
194
- storageLocal.setItem(`${responsiveStorageNameSpace()}configure`, configure);
195
- }
196
- });
197
-
198
- watch(
199
- () => visible.value,
200
- () => {
201
- useEventListener(document, 'click', closeMenu);
202
- }
203
- );
204
-
205
- return {
206
- route,
207
- router,
208
- visible,
209
- showTags,
210
- instance,
211
- multiTags,
212
- showModel,
213
- tagsViews,
214
- buttonTop,
215
- buttonLeft,
216
- translateX,
217
- isFixedTag,
218
- SuSetting,
219
- activeIndex,
220
- getTabStyle,
221
- iconIsActive,
222
- linkIsActive,
223
- currentSelect,
224
- scheduleIsActive,
225
- getContextMenuStyle,
226
- closeMenu,
227
- onMounted,
228
- onMouseenter,
229
- onMouseleave,
230
- transformI18n,
231
- onContentFullScreen
232
- };
233
- }
1
+ import { ref, unref, watch, computed, reactive, onMounted, type CSSProperties, getCurrentInstance } from 'vue';
2
+ import type { tagsViewsType } from '../types';
3
+ import { isEqual, isBoolean } from 'xe-utils';
4
+ import { useEventListener } from '@vueuse/core';
5
+ import { useRoute, useRouter } from 'vue-router';
6
+ import { storageLocal, toggleClass, hasClass } from '@utogether/utils';
7
+ import { transformI18n } from '../../plugins/i18n';
8
+ import { useSettingStoreHook } from '../../store/modules/settings';
9
+ import { responsiveStorageNameSpace } from '../../config';
10
+ import { useMultiTagsStoreHook } from '../../store/modules/multiTags';
11
+
12
+ export function useTags() {
13
+ const route = useRoute();
14
+ const router = useRouter();
15
+ const instance = getCurrentInstance();
16
+ const SuSetting = useSettingStoreHook();
17
+
18
+ const buttonTop = ref(0);
19
+ const buttonLeft = ref(0);
20
+ const translateX = ref(0);
21
+ const visible = ref(false);
22
+ const activeIndex = ref(-1);
23
+ // 当前右键选中的路由信息
24
+ const currentSelect = ref({});
25
+
26
+ /** 显示模式,默认灵动模式 */
27
+ const showModel = ref(storageLocal.getItem(`${responsiveStorageNameSpace()}configure`)?.showModel || 'smart');
28
+ /** 是否隐藏标签页,默认显示 */
29
+ const showTags = ref(storageLocal.getItem(`${responsiveStorageNameSpace()}configure`)?.hideTabs) ?? ref('false');
30
+ const multiTags: any = computed(() => {
31
+ return useMultiTagsStoreHook().multiTags;
32
+ });
33
+
34
+ const tagsViews = reactive<Array<tagsViewsType>>([
35
+ {
36
+ icon: 'refresh-right',
37
+ text: 'message.udp.reload',
38
+ divided: false,
39
+ disabled: false,
40
+ show: true
41
+ },
42
+ {
43
+ icon: 'close',
44
+ text: 'message.udp.closeCurrentTab',
45
+ divided: false,
46
+ disabled: multiTags.value.length > 1 ? false : true,
47
+ show: true
48
+ },
49
+ {
50
+ icon: 'ri:text-direction-r',
51
+ text: 'message.udp.closeLeftTabs',
52
+ divided: true,
53
+ disabled: multiTags.value.length > 1 ? false : true,
54
+ show: true
55
+ },
56
+ {
57
+ icon: 'ri:text-direction-l',
58
+ text: 'message.udp.closeRightTabs',
59
+ divided: false,
60
+ disabled: multiTags.value.length > 1 ? false : true,
61
+ show: true
62
+ },
63
+ {
64
+ icon: 'ri:text-spacing',
65
+ text: 'message.udp.closeOtherTabs',
66
+ divided: true,
67
+ disabled: multiTags.value.length > 2 ? false : true,
68
+ show: true
69
+ },
70
+ {
71
+ icon: 'ri:subtract-line',
72
+ text: 'message.udp.closeAllTabs',
73
+ divided: false,
74
+ disabled: multiTags.value.length > 1 ? false : true,
75
+ show: true
76
+ },
77
+ {
78
+ icon: 'ri:fullscreen-fill',
79
+ text: 'message.udp.wholeFullScreen',
80
+ divided: true,
81
+ disabled: false,
82
+ show: true
83
+ },
84
+ {
85
+ icon: 'ri:fullscreen-fill',
86
+ text: 'message.udp.contentFullScreen',
87
+ divided: false,
88
+ disabled: false,
89
+ show: true
90
+ }
91
+ ]);
92
+
93
+ function conditionHandle(item, previous, next) {
94
+ if (isBoolean(route?.meta?.showLink) && route?.meta?.showLink === false) {
95
+ if (Object.keys(route.query).length > 0) {
96
+ return isEqual(route.query, item.query) ? previous : next;
97
+ } else {
98
+ return isEqual(route.params, item.params) ? previous : next;
99
+ }
100
+ } else {
101
+ return route.path === item.path ? previous : next;
102
+ }
103
+ }
104
+
105
+ const isFixedTag = computed(() => {
106
+ return item => {
107
+ return isBoolean(item?.meta?.fixedTag) && item?.meta?.fixedTag === true;
108
+ };
109
+ });
110
+
111
+ const iconIsActive = computed(() => {
112
+ return (item, index) => {
113
+ if (index === 0) return;
114
+ return conditionHandle(item, true, false);
115
+ };
116
+ });
117
+
118
+ const linkIsActive = computed(() => {
119
+ return item => {
120
+ return conditionHandle(item, 'is-active', '');
121
+ };
122
+ });
123
+
124
+ const scheduleIsActive = computed(() => {
125
+ return item => {
126
+ return conditionHandle(item, 'schedule-active', '');
127
+ };
128
+ });
129
+
130
+ const getTabStyle = computed((): CSSProperties => {
131
+ return {
132
+ transform: `translateX(${translateX.value}px)`
133
+ };
134
+ });
135
+
136
+ const getContextMenuStyle = computed((): CSSProperties => {
137
+ return { left: buttonLeft.value + 'px', top: buttonTop.value + 'px' };
138
+ });
139
+
140
+ const closeMenu = () => {
141
+ visible.value = false;
142
+ };
143
+
144
+ /** 鼠标移入添加激活样式 */
145
+ function onMouseenter(index) {
146
+ if (index) activeIndex.value = index;
147
+ if (unref(showModel) === 'smart') {
148
+ if (hasClass(instance.refs['schedule' + index][0], 'schedule-active')) return;
149
+ toggleClass(true, 'schedule-in', instance.refs['schedule' + index][0]);
150
+ toggleClass(false, 'schedule-out', instance.refs['schedule' + index][0]);
151
+ } else {
152
+ if (hasClass(instance.refs['dynamic' + index][0], 'is-active')) return;
153
+ toggleClass(true, 'card-in', instance.refs['dynamic' + index][0]);
154
+ toggleClass(false, 'card-out', instance.refs['dynamic' + index][0]);
155
+ }
156
+ }
157
+
158
+ /** 鼠标移出恢复默认样式 */
159
+ function onMouseleave(index) {
160
+ activeIndex.value = -1;
161
+ if (unref(showModel) === 'smart') {
162
+ if (hasClass(instance.refs['schedule' + index][0], 'schedule-active')) return;
163
+ toggleClass(false, 'schedule-in', instance.refs['schedule' + index][0]);
164
+ toggleClass(true, 'schedule-out', instance.refs['schedule' + index][0]);
165
+ } else {
166
+ if (hasClass(instance.refs['dynamic' + index][0], 'is-active')) return;
167
+ toggleClass(false, 'card-in', instance.refs['dynamic' + index][0]);
168
+ toggleClass(true, 'card-out', instance.refs['dynamic' + index][0]);
169
+ }
170
+ }
171
+
172
+ function onContentFullScreen() {
173
+ SuSetting.hiddenSideBar
174
+ ? SuSetting.changeSetting({ key: 'hiddenSideBar', value: false })
175
+ : SuSetting.changeSetting({ key: 'hiddenSideBar', value: true });
176
+ }
177
+
178
+ onMounted(() => {
179
+ if (!showModel.value) {
180
+ const configure = storageLocal.getItem(`${responsiveStorageNameSpace()}configure`);
181
+ configure.showModel = 'card';
182
+ storageLocal.setItem(`${responsiveStorageNameSpace()}configure`, configure);
183
+ }
184
+ });
185
+
186
+ watch(
187
+ () => visible.value,
188
+ () => {
189
+ useEventListener(document, 'click', closeMenu);
190
+ }
191
+ );
192
+
193
+ return {
194
+ route,
195
+ router,
196
+ visible,
197
+ showTags,
198
+ instance,
199
+ multiTags,
200
+ showModel,
201
+ tagsViews,
202
+ buttonTop,
203
+ buttonLeft,
204
+ translateX,
205
+ isFixedTag,
206
+ SuSetting,
207
+ activeIndex,
208
+ getTabStyle,
209
+ iconIsActive,
210
+ linkIsActive,
211
+ currentSelect,
212
+ scheduleIsActive,
213
+ getContextMenuStyle,
214
+ closeMenu,
215
+ onMounted,
216
+ onMouseenter,
217
+ onMouseleave,
218
+ transformI18n,
219
+ onContentFullScreen
220
+ };
221
+ }