@utogether/udp-core 1.0.1-beta.9 → 1.0.2

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 (168) hide show
  1. package/build/plugins.ts +37 -39
  2. package/dist/{403-BOzKHdlm.js → 403-B1rIjAAu.js} +6 -6
  3. package/dist/{404-uwgt4Nll.js → 404-mBqc2y4t.js} +4 -4
  4. package/dist/{500-4HBf6V9m.js → 500-BoI45Zdh.js} +2 -2
  5. package/dist/{AuthorityInfo-DvbIh1vT.js → AuthorityInfo-B08NBIIn.js} +1 -1
  6. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-BlCPvwXU.js → AuthorityInfo.vue_vue_type_style_index_0_lang-BLP1SaiH.js} +3 -3
  7. package/dist/{Company-D7Q9BFmr.js → Company-JGGyWEWH.js} +3 -3
  8. package/dist/{CompanyPanel-C0-PJlrt.js → CompanyPanel-BQ_cCmDx.js} +7 -7
  9. package/dist/{Department-h2hlXACv.js → Department-z2iO6hwM.js} +10 -10
  10. package/dist/{DepartmentPanel-B6hDEQpG.js → DepartmentPanel-BtQe7zwU.js} +108 -78
  11. package/dist/{DesignPanel-cS58-1v9.js → DesignPanel-7mhtVWas.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-LdvLC8VU.js → DesignPanel.vue_vue_type_style_index_0_lang-4EsHemj_.js} +6 -6
  13. package/dist/{DictView-T3TmpBa8.js → DictView-CjchV2Yk.js} +15 -16
  14. package/dist/InvOrganization-Pn1O_XP0.js +74 -0
  15. package/dist/{Org-CnCBDGKF.js → Org-BqytV_vi.js} +1 -1
  16. package/dist/{Preview-BaktKXB1.js → Preview-CLpUUMay.js} +2 -2
  17. package/dist/{ReportDefine-5Rb0PO9A.js → ReportDefine-Cz1KtEUF.js} +1 -1
  18. package/dist/{ReportDesign-DYdkVREA.js → ReportDesign-BaORYud4.js} +13 -13
  19. package/dist/{ReportQuery-BwhzIXMt.js → ReportQuery-CPCPXiXz.js} +1 -1
  20. package/dist/{ReportQueryFrom-PHtWwlOe.js → ReportQueryFrom-C_AcrfkJ.js} +1 -1
  21. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-BE5yZNPM.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-Bm67ejay.js} +1 -1
  22. package/dist/{ReportTemplate-DaadVXIi.js → ReportTemplate-CFiNMz79.js} +11 -11
  23. package/dist/{Role-Dtg3nAmG.js → Role-B-XDoJd5.js} +3 -3
  24. package/dist/{RoleAssign-DEGtLssH.js → RoleAssign-BolW8YVs.js} +8 -8
  25. package/dist/{RolePanel-DpUzfE_o.js → RolePanel-2kfs5tw9.js} +1 -1
  26. package/dist/{RolePanel-CT7BTPmy.js → RolePanel-HilSuYns.js} +1 -1
  27. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-Xyo0YEI0.js → RolePanel.vue_vue_type_script_setup_true_lang-CE4gApUY.js} +7 -7
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-Dg2A6DJu.js → RolePanel.vue_vue_type_script_setup_true_lang-DPzgfAyV.js} +13 -13
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-CyutzDZS.js → ScrollPanel.vue_vue_type_style_index_0_lang-CCTH4RkH.js} +4 -4
  30. package/dist/{Staff-_NlAGkrh.js → Staff-BTk3whFC.js} +3 -3
  31. package/dist/{StaffInfo-DVgUvVgd.js → StaffInfo-d3AuSzlA.js} +1 -1
  32. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-C8hmlFgX.js → StaffInfo.vue_vue_type_script_setup_true_lang-eOL4VlfE.js} +5 -5
  33. package/dist/{StaffPanel-DKNZE3IE.js → StaffPanel-DV-D4jjz.js} +1 -1
  34. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-4sFq3CEo.js +135 -0
  35. package/dist/{SysUser-kQUf7XKz.js → SysUser-BnjYytws.js} +2 -2
  36. package/dist/{SysUserPanel-C191uX3U.js → SysUserPanel-CBoyD-Qi.js} +1 -1
  37. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-PrTlTZR-.js +341 -0
  38. package/dist/{SystemMenu-DwuSvHnj.js → SystemMenu-kYB_ZaUt.js} +36 -36
  39. package/dist/{UserInfo-DIsInFld.js → UserInfo-4dx97VBL.js} +1 -1
  40. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-CnvGdbej.js → UserInfo.vue_vue_type_style_index_0_lang-BpbC_ZDm.js} +10 -10
  41. package/dist/{childView-3Bs2UBEw.js → childView-CHPNfTEb.js} +1 -1
  42. package/dist/{childView-BawyULD7.js → childView-CKA_JgVZ.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-YpWF-p2F.js → childView.vue_vue_type_style_index_0_lang-Bym2fQRd.js} +7 -7
  44. package/dist/childView.vue_vue_type_style_index_0_lang-W7bCtXeu.js +177 -0
  45. package/dist/{code-rule-DVaYcn8S.js → code-rule-CbxuZg0-.js} +40 -38
  46. package/dist/core.es.js +18 -12
  47. package/dist/{cron-task-xuzP-BpE.js → cron-task-nTOpqQYf.js} +7 -7
  48. package/dist/flow-task-B07st2aD.js +10 -0
  49. package/dist/{frameView-Cudt06qS.js → frameView-Z1tPUyCh.js} +1 -1
  50. package/dist/index-C3q8HoJM.js +4650 -0
  51. package/dist/{layoutView-BlFTV2jX.js → layoutView--MGA9zUB.js} +1766 -1760
  52. package/dist/{log-in-e7D5Ss1P.js → log-in-CSYJDA6m.js} +36 -29
  53. package/dist/log-out-DiwGCg7p.js +130 -0
  54. package/dist/login-C6Y0ajDp.js +251 -0
  55. package/dist/{login-log-kqKzKTto.js → login-log-C0V-_l3F.js} +5 -3
  56. package/dist/{lov-view-B2HaxyMs.js → lov-view-Cmv7wZZ9.js} +6 -6
  57. package/dist/{menuInfo-BxCTJ1VW.js → menuInfo-UeutJpOa.js} +1 -1
  58. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-CLOPNeUW.js → menuInfo.vue_vue_type_style_index_0_lang-CWX4Mu67.js} +118 -98
  59. package/dist/{pda-app-DPsAFNiw.js → pda-app-B6w99SJo.js} +10 -10
  60. package/dist/{resource-Dibb7t8u.js → resource-BybJvUv0.js} +4 -4
  61. package/dist/{su-welcome-DejR0KkM.js → su-welcome-C1bmxHoY.js} +119 -121
  62. package/dist/sys-config-BnmIDnCj.js +370 -0
  63. package/dist/udp-core.css +1 -9
  64. package/dist/utogether-MlnyYtNS.js +4 -0
  65. package/index.ts +49 -40
  66. package/package.json +18 -18
  67. package/src/App.vue +65 -65
  68. package/src/api/http.ts +1 -4
  69. package/src/api/index.ts +4 -2
  70. package/src/api/user.ts +2 -2
  71. package/src/components/SuCharts/src/UserInfo.vue +78 -78
  72. package/src/components/SuScrollTree/ScrollPanel.vue +1 -6
  73. package/src/components/udp/content/index.vue +88 -0
  74. package/src/components/udp/{form.vue → form/form.vue} +13 -16
  75. package/src/components/udp/{grid.vue → grid/index.vue} +56 -27
  76. package/src/components/udp/index.ts +4 -9
  77. package/src/components/udp/ut-stamp-badge/index.vue +271 -0
  78. package/src/components/udp/utils.ts +66 -105
  79. package/src/layout/components/lay-navbar/index.vue +8 -6
  80. package/src/layout/components/lay-panel/index.vue +150 -150
  81. package/src/layout/components/lay-search/index.vue +25 -25
  82. package/src/layout/components/lay-select-org/index.vue +4 -9
  83. package/src/layout/components/lay-setting/index.vue +503 -510
  84. package/src/layout/components/lay-sidebar/horizontal.vue +8 -6
  85. package/src/layout/components/lay-sidebar/mixNav.vue +260 -258
  86. package/src/layout/components/lay-sidebar/sidebar-logo.vue +101 -98
  87. package/src/layout/components/lay-tag/index.vue +24 -51
  88. package/src/layout/hooks/useDataThemeChange.ts +1 -1
  89. package/src/layout/hooks/useNav.ts +176 -173
  90. package/src/layout/hooks/useTag.ts +227 -233
  91. package/src/layout/types.ts +93 -92
  92. package/src/main.ts +115 -119
  93. package/src/plugins/i18n/en.ts +302 -302
  94. package/src/plugins/i18n/module/u-workflow.ts +1 -1
  95. package/src/plugins/i18n/zh.ts +21 -6
  96. package/src/plugins/vxe-table/index.ts +116 -53
  97. package/src/plugins/vxe-table/render.tsx +945 -956
  98. package/src/router/index.ts +17 -17
  99. package/src/router/modules/flow.ts +35 -0
  100. package/src/router/modules/home.ts +32 -32
  101. package/src/router/modules/remaining.ts +58 -58
  102. package/src/router/utils.ts +420 -377
  103. package/src/store/modules/app.ts +2 -4
  104. package/src/store/modules/epTheme.ts +48 -49
  105. package/src/store/modules/multiTags.ts +15 -14
  106. package/src/store/modules/permission.ts +25 -15
  107. package/src/store/modules/system.ts +1 -3
  108. package/src/style/button.scss +85 -85
  109. package/src/style/login.css +1 -1
  110. package/src/style/vxetable.scss +61 -2
  111. package/src/utils/dataFormat/index.ts +223 -223
  112. package/src/utils/index.ts +3 -1
  113. package/src/utils/lifecycle.ts +39 -20
  114. package/src/utils/propTypes.ts +1 -6
  115. package/src/utils/storage/index.ts +2 -2
  116. package/src/utils/udp/http/index.ts +24 -11
  117. package/src/utils/udp/http/types.d.ts +3 -10
  118. package/src/views/login/login-view.vue +4 -18
  119. package/src/views/organization/company/CompanyPanel.vue +259 -259
  120. package/src/views/organization/department/Department.vue +58 -58
  121. package/src/views/organization/department/DepartmentPanel.vue +303 -283
  122. package/src/views/organization/inv-org/InvOrganization.vue +22 -7
  123. package/src/views/organization/staff/StaffInfo.vue +127 -133
  124. package/src/views/organization/staff/StaffPanel.vue +162 -145
  125. package/src/views/system/cron/cron-task.vue +2 -12
  126. package/src/views/system/menu/SystemMenu.vue +185 -183
  127. package/src/views/system/menu/menuInfo.vue +384 -363
  128. package/src/views/system/role/UserInfo.vue +195 -195
  129. package/src/views/system/role-assign/RoleAssign.vue +57 -57
  130. package/src/views/system/role-assign/RolePanel.vue +139 -139
  131. package/src/views/system/sys/sys-config.vue +69 -20
  132. package/src/views/system/sysUser/SysUserPanel.vue +97 -28
  133. package/src/views/uapp/pda/pda-app.vue +208 -208
  134. package/src/views/udev/coderule/code-rule.vue +132 -121
  135. package/src/views/udev/dict/DictView.vue +2 -2
  136. package/src/views/udev/dict/childView.vue +183 -222
  137. package/src/views/udev/lov/childView.vue +1 -7
  138. package/src/views/udev/lov/lov-view.vue +91 -91
  139. package/src/views/uhome/components/menu-favorite.vue +314 -331
  140. package/src/views/uhome/su-welcome.vue +319 -339
  141. package/src/views/ulogin/login.vue +325 -321
  142. package/src/views/upms/interface/log-in.vue +100 -106
  143. package/src/views/upms/interface/log-out.vue +104 -107
  144. package/src/views/upms/user/login-log.vue +54 -60
  145. package/src/views/urpt/design/DesignPanel.vue +507 -507
  146. package/src/views/urpt/design/Preview.vue +1 -0
  147. package/src/views/urpt/design/ReportDesign.vue +2 -4
  148. package/src/views/utask/flow-task.vue +18 -0
  149. package/types/global.d.ts +231 -236
  150. package/dist/InvOrganization-BVuOhzbt.js +0 -66
  151. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-BOOO6Cek.js +0 -111
  152. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-SwNbAEvW.js +0 -294
  153. package/dist/childView.vue_vue_type_style_index_0_lang-DWIFCX3X.js +0 -187
  154. package/dist/index-CKnq5xIa.js +0 -2623
  155. package/dist/log-out--RRncZhN.js +0 -120
  156. package/dist/login-CpKykfdf.js +0 -253
  157. package/dist/sys-config-DiySRWns.js +0 -277
  158. package/dist/utogether-Dct_14Zk.js +0 -182
  159. package/src/components/udp/count-down.vue +0 -536
  160. package/src/components/udp/flip-down/FlipCard/flip-card.vue +0 -251
  161. package/src/components/udp/flip-down/FlipCard/interfaces.ts +0 -4
  162. package/src/components/udp/flip-down/FlipClock/flip-clock.vue +0 -113
  163. package/src/components/udp/form-upload.vue +0 -482
  164. package/src/components/udp/lov.vue +0 -388
  165. package/src/components/udp/modal-form.vue +0 -189
  166. package/src/components/udp/modal-grid.vue +0 -288
  167. package/src/components/udp/upload.vue +0 -423
  168. package/src/utils/udp/useRender.ts +0 -431
@@ -1,173 +1,176 @@
1
- /*
2
- * @Author: wei.li
3
- * @Date: 2023-04-18 15:44:40
4
- * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-04-16 15:49:31
6
- * @Description: file content
7
- */
8
- import { computed, type CSSProperties } from 'vue';
9
- import { storeToRefs } from 'pinia';
10
- import { useRouter } from 'vue-router';
11
- import { cookies, useGlobal, storageLocal } from '@utogether/utils';
12
- import { router, remainingPaths, resetRouter } from '../../router';
13
- import { emitter } from '../../utils/mitt';
14
- import { getEnv } from '../../config';
15
- import { kTOKEN, kLOGINER, kCKTOKEN, kSYSCONFIG } from '../../contant';
16
- import { routerArrays } from '../types';
17
- // import { transformI18n } from '@/plugins/i18n';
18
- import { useAppStoreHook } from '../../store/modules/app';
19
- import { usePermissionStoreHook } from '../../store/modules/permission';
20
- import { useEpThemeStoreHook } from '../../store/modules/epTheme';
21
- import { useSystemStoreHook } from '../../store/modules/system';
22
- import { useMultiTagsStoreHook } from '../../store/modules/multiTags';
23
-
24
- const errorInfo = '当前路由配置不正确,请检查配置';
25
-
26
- export function useNav() {
27
- const appHook = useAppStoreHook();
28
- const routers = useRouter().options.routes;
29
- const { wholeMenus } = storeToRefs(usePermissionStoreHook());
30
-
31
- const getDivStyle = computed((): CSSProperties => {
32
- return {
33
- width: '100%',
34
- display: 'flex',
35
- alignItems: 'center',
36
- justifyContent: 'space-between',
37
- overflow: 'hidden'
38
- };
39
- });
40
-
41
- /** 设置国际化选中后的样式 */
42
- const getDropdownItemStyle = computed(() => {
43
- return (locale, t) => {
44
- return {
45
- background: locale === t ? useEpThemeStoreHook().epThemeColor : '',
46
- color: locale === t ? '#f4f4f5' : '#000'
47
- };
48
- };
49
- });
50
-
51
- const getDropdownItemClass = computed(() => {
52
- return (locale, t) => {
53
- return locale === t ? '' : 'dark:hover:text-primary!';
54
- };
55
- });
56
-
57
- /** 用户名 */
58
- const userInfo = computed<IRecord>(() => {
59
- return useSystemStoreHook().getUserInfo || {};
60
- });
61
- const avatarsStyle = computed(() => {
62
- return userInfo.value ? { marginRight: '10px' } : '';
63
- });
64
-
65
- const isCollapse = computed(() => {
66
- return !appHook.getSidebarStatus;
67
- });
68
-
69
- const device = computed(() => {
70
- return appHook.getDevice;
71
- });
72
-
73
- const { $storage } = useGlobal();
74
- const layout = computed(() => {
75
- return $storage?.layout?.layout;
76
- });
77
-
78
- const title = computed(() => {
79
- const sysConfig = storageLocal.getItem(kSYSCONFIG) || {};
80
- return sysConfig?.title || 'U-DP';
81
- });
82
-
83
- /** 动态title */
84
- function setDocumentTitle() {
85
- document.title = getEnv().MODE !== 'staging' ? title.value : `${title.value}•测试`;
86
- }
87
-
88
- /** 退出登录 */
89
- function logout() {
90
- useMultiTagsStoreHook().handleTags('equal', [...routerArrays]);
91
- cookies.remove(kCKTOKEN);
92
- cookies.remove(kTOKEN);
93
- cookies.remove(kLOGINER);
94
- usePermissionStoreHook().setWholeMenus([]);
95
- // 关闭全部标签页, 防止缓存了tags,又用另一个账号登录
96
- useMultiTagsStoreHook().handleTags('splice', '', {
97
- startIndex: 1,
98
- length: useMultiTagsStoreHook()?.multiTags?.length
99
- });
100
- usePermissionStoreHook().clearAllCachePage();
101
- resetRouter();
102
- router.push('/login');
103
- }
104
-
105
- function backHome() {
106
- router.push('/welcome');
107
- }
108
-
109
- function onPanel() {
110
- emitter.emit('openPanel');
111
- }
112
-
113
- function toggleSideBar() {
114
- appHook.toggleSideBar();
115
- }
116
-
117
- function handleResize(menuRef) {
118
- menuRef?.handleResize();
119
- }
120
-
121
- function resolvePath(route) {
122
- if (!route.children) return console.error(errorInfo);
123
- const httpReg = /^http(s?):\/\//;
124
- const routeChildPath = route.children[0]?.path;
125
- if (httpReg.test(routeChildPath)) {
126
- return route.path + '/' + routeChildPath;
127
- } else {
128
- return routeChildPath;
129
- }
130
- }
131
- function menuSelect(indexPath: string) {
132
- if (wholeMenus.value.length === 0 || isRemaining(indexPath)) return;
133
- emitter.emit('changLayoutRoute', indexPath);
134
- }
135
-
136
- /** 判断路径是否参与菜单 */
137
- function isRemaining(path: string) {
138
- return remainingPaths.includes(path);
139
- }
140
-
141
- function passwordItems() {
142
- const itemRender = { name: '$input', props: { type: 'password' } };
143
- return [
144
- { field: 'oldUserPwd', title: 'message.udp.oldPwd', required: true, itemRender },
145
- { field: 'userPwd', title: 'message.udp.newPwd', required: true, itemRender },
146
- { field: 'confirmPwd', title: 'message.udp.confirmPwd', required: true, itemRender }
147
- ];
148
- }
149
-
150
- return {
151
- title,
152
- device,
153
- layout,
154
- logout,
155
- routers,
156
- $storage,
157
- backHome,
158
- onPanel,
159
- getDivStyle,
160
- setDocumentTitle,
161
- toggleSideBar,
162
- menuSelect,
163
- handleResize,
164
- resolvePath,
165
- isCollapse,
166
- appHook,
167
- userInfo,
168
- avatarsStyle,
169
- getDropdownItemStyle,
170
- getDropdownItemClass,
171
- passwordItems
172
- };
173
- }
1
+ /*
2
+ * @Author: wei.li
3
+ * @Date: 2023-04-18 15:44:40
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-11-24 15:43:19
6
+ * @Description: file content
7
+ */
8
+ import { computed, type CSSProperties } from 'vue';
9
+ import { storeToRefs } from 'pinia';
10
+ import { useRouter } from 'vue-router';
11
+ import { cookies, useGlobal, storageLocal } from '@utogether/utils';
12
+ import { router, remainingPaths, resetRouter } from '../../router';
13
+ import { emitter } from '../../utils/mitt';
14
+ import { onBeforeLogout, onAfterLogout } from '../../utils/lifecycle';
15
+ import { getEnv } from '../../config';
16
+ import { kTOKEN, kLOGINER, kCKTOKEN, kSYSCONFIG } from '../../contant';
17
+ import { routerArrays } from '../types';
18
+ // import { transformI18n } from '@/plugins/i18n';
19
+ import { useAppStoreHook } from '../../store/modules/app';
20
+ import { usePermissionStoreHook } from '../../store/modules/permission';
21
+ import { useEpThemeStoreHook } from '../../store/modules/epTheme';
22
+ import { useSystemStoreHook } from '../../store/modules/system';
23
+ import { useMultiTagsStoreHook } from '../../store/modules/multiTags';
24
+
25
+ const errorInfo = '当前路由配置不正确,请检查配置';
26
+
27
+ export function useNav() {
28
+ const appHook = useAppStoreHook();
29
+ const routers = useRouter().options.routes;
30
+ const { wholeMenus } = storeToRefs(usePermissionStoreHook());
31
+
32
+ const getDivStyle = computed((): CSSProperties => {
33
+ return {
34
+ width: '100%',
35
+ display: 'flex',
36
+ alignItems: 'center',
37
+ justifyContent: 'space-between',
38
+ overflow: 'hidden'
39
+ };
40
+ });
41
+
42
+ /** 设置国际化选中后的样式 */
43
+ const getDropdownItemStyle = computed(() => {
44
+ return (locale, t) => {
45
+ return {
46
+ background: locale === t ? useEpThemeStoreHook().epThemeColor : '',
47
+ color: locale === t ? '#f4f4f5' : '#000'
48
+ };
49
+ };
50
+ });
51
+
52
+ const getDropdownItemClass = computed(() => {
53
+ return (locale, t) => {
54
+ return locale === t ? '' : 'dark:hover:text-primary!';
55
+ };
56
+ });
57
+
58
+ /** 用户名 */
59
+ const userInfo = computed<IRecord>(() => {
60
+ return useSystemStoreHook().getUserInfo || {};
61
+ });
62
+ const avatarsStyle = computed(() => {
63
+ return userInfo.value ? { marginRight: '10px' } : '';
64
+ });
65
+
66
+ const isCollapse = computed(() => {
67
+ return !appHook.getSidebarStatus;
68
+ });
69
+
70
+ const device = computed(() => {
71
+ return appHook.getDevice;
72
+ });
73
+
74
+ const { $storage } = useGlobal();
75
+ const layout = computed(() => {
76
+ return $storage?.layout?.layout;
77
+ });
78
+
79
+ const title = computed(() => {
80
+ const sysConfig = storageLocal.getItem(kSYSCONFIG) || {};
81
+ return sysConfig?.title || 'U-DP';
82
+ });
83
+
84
+ /** 动态title */
85
+ function setDocumentTitle() {
86
+ document.title = getEnv().MODE !== 'staging' ? title.value : `${title.value}•测试`;
87
+ }
88
+
89
+ /** 退出登录 */
90
+ function logout() {
91
+ onBeforeLogout();
92
+ useMultiTagsStoreHook().handleTags('equal', [...routerArrays]);
93
+ cookies.remove(kCKTOKEN);
94
+ cookies.remove(kTOKEN);
95
+ cookies.remove(kLOGINER);
96
+ usePermissionStoreHook().setWholeMenus([]);
97
+ // 关闭全部标签页, 防止缓存了tags,又用另一个账号登录
98
+ useMultiTagsStoreHook().handleTags('splice', '', {
99
+ startIndex: 1,
100
+ length: useMultiTagsStoreHook()?.multiTags?.length
101
+ });
102
+ usePermissionStoreHook().clearAllCachePage();
103
+ resetRouter();
104
+ onAfterLogout();
105
+ router.push('/login');
106
+ }
107
+
108
+ function backHome() {
109
+ router.push('/welcome');
110
+ }
111
+
112
+ function onPanel() {
113
+ emitter.emit('openPanel');
114
+ }
115
+
116
+ function toggleSideBar() {
117
+ appHook.toggleSideBar();
118
+ }
119
+
120
+ function handleResize(menuRef) {
121
+ menuRef?.handleResize();
122
+ }
123
+
124
+ function resolvePath(route) {
125
+ if (!route.children) return console.error(errorInfo);
126
+ const httpReg = /^http(s?):\/\//;
127
+ const routeChildPath = route.children[0]?.path;
128
+ if (httpReg.test(routeChildPath)) {
129
+ return route.path + '/' + routeChildPath;
130
+ } else {
131
+ return routeChildPath;
132
+ }
133
+ }
134
+ function menuSelect(indexPath: string) {
135
+ if (wholeMenus.value.length === 0 || isRemaining(indexPath)) return;
136
+ emitter.emit('changLayoutRoute', indexPath);
137
+ }
138
+
139
+ /** 判断路径是否参与菜单 */
140
+ function isRemaining(path: string) {
141
+ return remainingPaths.includes(path);
142
+ }
143
+
144
+ function passwordItems() {
145
+ const itemRender = { name: '$input', props: { type: 'password' } };
146
+ return [
147
+ { field: 'oldUserPwd', title: 'message.udp.oldPwd', required: true, itemRender },
148
+ { field: 'userPwd', title: 'message.udp.newPwd', required: true, itemRender },
149
+ { field: 'confirmPwd', title: 'message.udp.confirmPwd', required: true, itemRender }
150
+ ];
151
+ }
152
+
153
+ return {
154
+ title,
155
+ device,
156
+ layout,
157
+ logout,
158
+ routers,
159
+ $storage,
160
+ backHome,
161
+ onPanel,
162
+ getDivStyle,
163
+ setDocumentTitle,
164
+ toggleSideBar,
165
+ menuSelect,
166
+ handleResize,
167
+ resolvePath,
168
+ isCollapse,
169
+ appHook,
170
+ userInfo,
171
+ avatarsStyle,
172
+ getDropdownItemStyle,
173
+ getDropdownItemClass,
174
+ passwordItems
175
+ };
176
+ }