@fmdeui/fmui 1.0.28 → 1.0.30

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 (187) hide show
  1. package/es/component.mjs +3 -1
  2. package/es/components/fm-layout/index.d.ts +32 -0
  3. package/es/components/fm-layout/src/component/aside.vue.d.ts +5 -0
  4. package/es/components/fm-layout/src/component/columnsAside.vue.d.ts +5 -0
  5. package/es/components/fm-layout/src/component/header.vue.d.ts +16 -0
  6. package/es/components/fm-layout/src/component/main.vue.d.ts +7 -0
  7. package/es/components/fm-layout/src/footer/index.vue.d.ts +3 -0
  8. package/es/components/fm-layout/src/index.vue.d.ts +22 -0
  9. package/es/components/fm-layout/src/logo/index.vue.d.ts +3 -0
  10. package/es/components/fm-layout/src/main/classic.vue.d.ts +18 -0
  11. package/es/components/fm-layout/src/main/columns.vue.d.ts +19 -0
  12. package/es/components/fm-layout/src/main/defaults.vue.d.ts +48 -0
  13. package/es/components/fm-layout/src/main/transverse.vue.d.ts +18 -0
  14. package/es/components/fm-layout/src/navBars/index.vue.d.ts +16 -0
  15. package/es/components/fm-layout/src/navBars/tagsView/contextmenu.vue.d.ts +28 -0
  16. package/es/components/fm-layout/src/navBars/tagsView/tagsView.vue.d.ts +45 -0
  17. package/es/components/fm-layout/src/navBars/topBar/breadcrumb.vue.d.ts +3 -0
  18. package/es/components/fm-layout/src/navBars/topBar/index.vue.d.ts +16 -0
  19. package/es/components/fm-layout/src/navBars/topBar/search.vue.d.ts +7 -0
  20. package/es/components/fm-layout/src/navBars/topBar/upgradeInfo.vue.d.ts +5 -0
  21. package/es/components/fm-layout/src/navBars/topBar/user.vue.d.ts +75 -0
  22. package/es/components/fm-layout/src/navBars/topBar/userNews.vue.d.ts +9 -0
  23. package/es/components/fm-layout/src/navMenu/horizontal.vue.d.ts +42 -0
  24. package/es/components/fm-layout/src/navMenu/subItem.vue.d.ts +42 -0
  25. package/es/components/fm-layout/src/navMenu/vertical.vue.d.ts +42 -0
  26. package/es/components/fm-layout/src/routerView/iframes.vue.d.ts +35 -0
  27. package/es/components/fm-layout/src/routerView/parent.vue.d.ts +3 -0
  28. package/es/components/fm-layout/src/type.d.ts +2 -0
  29. package/es/components/fm-layout/style/css.d.ts +0 -0
  30. package/es/components/fm-layout/style/index.d.ts +0 -0
  31. package/es/components/index.d.ts +1 -0
  32. package/es/packages/components/fm-layout/index.mjs +7 -0
  33. package/es/packages/components/fm-layout/src/component/aside.vue.mjs +5 -0
  34. package/es/packages/components/fm-layout/src/component/aside.vue2.mjs +175 -0
  35. package/es/packages/components/fm-layout/src/component/columnsAside.vue.mjs +5 -0
  36. package/es/packages/components/fm-layout/src/component/columnsAside.vue2.mjs +273 -0
  37. package/es/packages/components/fm-layout/src/component/header.vue.mjs +5 -0
  38. package/es/packages/components/fm-layout/src/component/header.vue2.mjs +50 -0
  39. package/es/packages/components/fm-layout/src/component/main.vue.mjs +5 -0
  40. package/es/packages/components/fm-layout/src/component/main.vue2.mjs +81 -0
  41. package/es/packages/components/fm-layout/src/footer/index.vue.mjs +5 -0
  42. package/es/packages/components/fm-layout/src/footer/index.vue2.mjs +29 -0
  43. package/es/packages/components/fm-layout/src/index.vue.mjs +5 -0
  44. package/es/packages/components/fm-layout/src/index.vue2.mjs +91 -0
  45. package/es/packages/components/fm-layout/src/logo/index.vue.mjs +5 -0
  46. package/es/packages/components/fm-layout/src/logo/index.vue2.mjs +57 -0
  47. package/es/packages/components/fm-layout/src/main/classic.vue.mjs +5 -0
  48. package/es/packages/components/fm-layout/src/main/classic.vue2.mjs +87 -0
  49. package/es/packages/components/fm-layout/src/main/columns.vue.mjs +5 -0
  50. package/es/packages/components/fm-layout/src/main/columns.vue2.mjs +100 -0
  51. package/es/packages/components/fm-layout/src/main/defaults.vue.mjs +5 -0
  52. package/es/packages/components/fm-layout/src/main/defaults.vue2.mjs +153 -0
  53. package/es/packages/components/fm-layout/src/main/transverse.vue.mjs +5 -0
  54. package/es/packages/components/fm-layout/src/main/transverse.vue2.mjs +70 -0
  55. package/es/packages/components/fm-layout/src/navBars/index.vue.mjs +5 -0
  56. package/es/packages/components/fm-layout/src/navBars/index.vue2.mjs +44 -0
  57. package/es/packages/components/fm-layout/src/navBars/tagsView/contextmenu.vue.mjs +5 -0
  58. package/es/packages/components/fm-layout/src/navBars/tagsView/contextmenu.vue2.mjs +156 -0
  59. package/es/packages/components/fm-layout/src/navBars/tagsView/tagsView.vue.mjs +5 -0
  60. package/es/packages/components/fm-layout/src/navBars/tagsView/tagsView.vue2.mjs +576 -0
  61. package/es/packages/components/fm-layout/src/navBars/topBar/breadcrumb.vue.mjs +5 -0
  62. package/es/packages/components/fm-layout/src/navBars/topBar/breadcrumb.vue2.mjs +169 -0
  63. package/es/packages/components/fm-layout/src/navBars/topBar/index.vue.mjs +5 -0
  64. package/es/packages/components/fm-layout/src/navBars/topBar/index.vue2.mjs +113 -0
  65. package/es/packages/components/fm-layout/src/navBars/topBar/search.vue.mjs +5 -0
  66. package/es/packages/components/fm-layout/src/navBars/topBar/search.vue2.mjs +120 -0
  67. package/es/packages/components/fm-layout/src/navBars/topBar/upgradeInfo.vue.mjs +5 -0
  68. package/es/packages/components/fm-layout/src/navBars/topBar/upgradeInfo.vue2.mjs +72 -0
  69. package/es/packages/components/fm-layout/src/navBars/topBar/user.vue.mjs +5 -0
  70. package/es/packages/components/fm-layout/src/navBars/topBar/user.vue2.mjs +699 -0
  71. package/es/packages/components/fm-layout/src/navBars/topBar/userNews.vue.mjs +5 -0
  72. package/es/packages/components/fm-layout/src/navBars/topBar/userNews.vue2.mjs +255 -0
  73. package/es/packages/components/fm-layout/src/navMenu/horizontal.vue.mjs +5 -0
  74. package/es/packages/components/fm-layout/src/navMenu/horizontal.vue2.mjs +182 -0
  75. package/es/packages/components/fm-layout/src/navMenu/subItem.vue.mjs +5 -0
  76. package/es/packages/components/fm-layout/src/navMenu/subItem.vue2.mjs +113 -0
  77. package/es/packages/components/fm-layout/src/navMenu/vertical.vue.mjs +5 -0
  78. package/es/packages/components/fm-layout/src/navMenu/vertical.vue2.mjs +159 -0
  79. package/es/packages/components/fm-layout/src/routerView/iframes.vue.mjs +5 -0
  80. package/es/packages/components/fm-layout/src/routerView/iframes.vue2.mjs +128 -0
  81. package/es/packages/components/fm-layout/src/routerView/parent.vue.mjs +5 -0
  82. package/es/packages/components/fm-layout/src/routerView/parent.vue2.mjs +141 -0
  83. package/es/packages/components/fm-layout/src/type.mjs +1 -0
  84. package/es/packages/components/index.mjs +1 -0
  85. package/index.js +4071 -73
  86. package/index.min.js +5 -5
  87. package/index.min.mjs +5 -5
  88. package/index.mjs +4082 -81
  89. package/lib/{index.css → component.css} +2 -2
  90. package/lib/component.js +3 -1
  91. package/lib/components/fm-layout/index.d.ts +32 -0
  92. package/lib/components/fm-layout/src/component/aside.vue.d.ts +5 -0
  93. package/lib/components/fm-layout/src/component/columnsAside.vue.d.ts +5 -0
  94. package/lib/components/fm-layout/src/component/header.vue.d.ts +16 -0
  95. package/lib/components/fm-layout/src/component/main.vue.d.ts +7 -0
  96. package/lib/components/fm-layout/src/footer/index.vue.d.ts +3 -0
  97. package/lib/components/fm-layout/src/index.vue.d.ts +22 -0
  98. package/lib/components/fm-layout/src/logo/index.vue.d.ts +3 -0
  99. package/lib/components/fm-layout/src/main/classic.vue.d.ts +18 -0
  100. package/lib/components/fm-layout/src/main/columns.vue.d.ts +19 -0
  101. package/lib/components/fm-layout/src/main/defaults.vue.d.ts +48 -0
  102. package/lib/components/fm-layout/src/main/transverse.vue.d.ts +18 -0
  103. package/lib/components/fm-layout/src/navBars/index.vue.d.ts +16 -0
  104. package/lib/components/fm-layout/src/navBars/tagsView/contextmenu.vue.d.ts +28 -0
  105. package/lib/components/fm-layout/src/navBars/tagsView/tagsView.vue.d.ts +45 -0
  106. package/lib/components/fm-layout/src/navBars/topBar/breadcrumb.vue.d.ts +3 -0
  107. package/lib/components/fm-layout/src/navBars/topBar/index.vue.d.ts +16 -0
  108. package/lib/components/fm-layout/src/navBars/topBar/search.vue.d.ts +7 -0
  109. package/lib/components/fm-layout/src/navBars/topBar/upgradeInfo.vue.d.ts +5 -0
  110. package/lib/components/fm-layout/src/navBars/topBar/user.vue.d.ts +75 -0
  111. package/lib/components/fm-layout/src/navBars/topBar/userNews.vue.d.ts +9 -0
  112. package/lib/components/fm-layout/src/navMenu/horizontal.vue.d.ts +42 -0
  113. package/lib/components/fm-layout/src/navMenu/subItem.vue.d.ts +42 -0
  114. package/lib/components/fm-layout/src/navMenu/vertical.vue.d.ts +42 -0
  115. package/lib/components/fm-layout/src/routerView/iframes.vue.d.ts +35 -0
  116. package/lib/components/fm-layout/src/routerView/parent.vue.d.ts +3 -0
  117. package/lib/components/fm-layout/src/type.d.ts +2 -0
  118. package/lib/components/fm-layout/style/css.d.ts +0 -0
  119. package/lib/components/fm-layout/style/index.d.ts +0 -0
  120. package/lib/components/index.d.ts +1 -0
  121. package/lib/packages/components/fm-layout/index.js +9 -0
  122. package/lib/packages/components/fm-layout/src/component/aside.vue.js +9 -0
  123. package/lib/packages/components/fm-layout/src/component/aside.vue2.js +179 -0
  124. package/lib/packages/components/fm-layout/src/component/columnsAside.vue.js +9 -0
  125. package/lib/packages/components/fm-layout/src/component/columnsAside.vue2.js +277 -0
  126. package/lib/packages/components/fm-layout/src/component/header.vue.js +9 -0
  127. package/lib/packages/components/fm-layout/src/component/header.vue2.js +54 -0
  128. package/lib/packages/components/fm-layout/src/component/main.vue.js +9 -0
  129. package/lib/packages/components/fm-layout/src/component/main.vue2.js +85 -0
  130. package/lib/packages/components/fm-layout/src/footer/index.vue.js +9 -0
  131. package/lib/packages/components/fm-layout/src/footer/index.vue2.js +33 -0
  132. package/lib/packages/components/fm-layout/src/index.vue.js +9 -0
  133. package/lib/packages/components/fm-layout/src/index.vue2.js +95 -0
  134. package/lib/packages/components/fm-layout/src/logo/index.vue.js +9 -0
  135. package/lib/packages/components/fm-layout/src/logo/index.vue2.js +61 -0
  136. package/lib/packages/components/fm-layout/src/main/classic.vue.js +9 -0
  137. package/lib/packages/components/fm-layout/src/main/classic.vue2.js +91 -0
  138. package/lib/packages/components/fm-layout/src/main/columns.vue.js +9 -0
  139. package/lib/packages/components/fm-layout/src/main/columns.vue2.js +104 -0
  140. package/lib/packages/components/fm-layout/src/main/defaults.vue.js +9 -0
  141. package/lib/packages/components/fm-layout/src/main/defaults.vue2.js +157 -0
  142. package/lib/packages/components/fm-layout/src/main/transverse.vue.js +9 -0
  143. package/lib/packages/components/fm-layout/src/main/transverse.vue2.js +74 -0
  144. package/lib/packages/components/fm-layout/src/navBars/index.vue.js +9 -0
  145. package/lib/packages/components/fm-layout/src/navBars/index.vue2.js +48 -0
  146. package/lib/packages/components/fm-layout/src/navBars/tagsView/contextmenu.vue.js +9 -0
  147. package/lib/packages/components/fm-layout/src/navBars/tagsView/contextmenu.vue2.js +160 -0
  148. package/lib/packages/components/fm-layout/src/navBars/tagsView/tagsView.vue.js +9 -0
  149. package/lib/packages/components/fm-layout/src/navBars/tagsView/tagsView.vue2.js +580 -0
  150. package/lib/packages/components/fm-layout/src/navBars/topBar/breadcrumb.vue.js +9 -0
  151. package/lib/packages/components/fm-layout/src/navBars/topBar/breadcrumb.vue2.js +173 -0
  152. package/lib/packages/components/fm-layout/src/navBars/topBar/index.vue.js +9 -0
  153. package/lib/packages/components/fm-layout/src/navBars/topBar/index.vue2.js +117 -0
  154. package/lib/packages/components/fm-layout/src/navBars/topBar/search.vue.js +9 -0
  155. package/lib/packages/components/fm-layout/src/navBars/topBar/search.vue2.js +124 -0
  156. package/lib/packages/components/fm-layout/src/navBars/topBar/upgradeInfo.vue.js +9 -0
  157. package/lib/packages/components/fm-layout/src/navBars/topBar/upgradeInfo.vue2.js +76 -0
  158. package/lib/packages/components/fm-layout/src/navBars/topBar/user.vue.js +9 -0
  159. package/lib/packages/components/fm-layout/src/navBars/topBar/user.vue2.js +703 -0
  160. package/lib/packages/components/fm-layout/src/navBars/topBar/userNews.vue.js +9 -0
  161. package/lib/packages/components/fm-layout/src/navBars/topBar/userNews.vue2.js +259 -0
  162. package/lib/packages/components/fm-layout/src/navMenu/horizontal.vue.js +9 -0
  163. package/lib/packages/components/fm-layout/src/navMenu/horizontal.vue2.js +186 -0
  164. package/lib/packages/components/fm-layout/src/navMenu/subItem.vue.js +9 -0
  165. package/lib/packages/components/fm-layout/src/navMenu/subItem.vue2.js +117 -0
  166. package/lib/packages/components/fm-layout/src/navMenu/vertical.vue.js +9 -0
  167. package/lib/packages/components/fm-layout/src/navMenu/vertical.vue2.js +163 -0
  168. package/lib/packages/components/fm-layout/src/routerView/iframes.vue.js +9 -0
  169. package/lib/packages/components/fm-layout/src/routerView/iframes.vue2.js +132 -0
  170. package/lib/packages/components/fm-layout/src/routerView/parent.vue.js +9 -0
  171. package/lib/packages/components/fm-layout/src/routerView/parent.vue2.js +145 -0
  172. package/lib/packages/components/fm-layout/src/type.js +2 -0
  173. package/lib/packages/components/index.js +14 -12
  174. package/locale/en.js +1 -1
  175. package/locale/en.min.js +1 -1
  176. package/locale/en.min.mjs +1 -1
  177. package/locale/en.mjs +1 -1
  178. package/locale/zh-cn.js +1 -1
  179. package/locale/zh-cn.min.js +1 -1
  180. package/locale/zh-cn.min.mjs +1 -1
  181. package/locale/zh-cn.mjs +1 -1
  182. package/package.json +1 -1
  183. package/theme-chalk/f-layout.css +1 -0
  184. package/theme-chalk/index.css +1 -1
  185. package/theme-chalk/src/index.scss +1 -0
  186. package/theme-chalk/src/layout.scss +657 -0
  187. /package/es/{version.css → defaults.css} +0 -0
@@ -0,0 +1,699 @@
1
+ import { defineComponent, defineAsyncComponent, ref, reactive, computed, onMounted, resolveComponent, openBlock, createElementBlock, normalizeStyle, renderSlot, createVNode, withCtx, createElementVNode, createTextVNode, toDisplayString, unref, createBlock, normalizeClass, Fragment, renderList, createCommentVNode } from 'vue';
2
+ import { ElNotification, ElMessage, ElMessageBox } from 'element-plus';
3
+ import { Avatar, Loading, Lock, CircleCloseFilled } from '@element-plus/icons-vue';
4
+ import { useRouter } from 'vue-router';
5
+ import screenfull from 'screenfull';
6
+ import { useI18n } from 'vue-i18n';
7
+ import { storeToRefs } from 'pinia';
8
+ import '../../../../../stores/index.mjs';
9
+ import '../../../../../utils/index.mjs';
10
+ import '../../../../../api/index.mjs';
11
+ import { getCountryCode, languageList } from '../../../../../locale/index.mjs';
12
+ import '../../../../../hooks/index.mjs';
13
+ import emitter from '../../../../../utils/mitt.mjs';
14
+ import other from '../../../../../hooks/other.mjs';
15
+ import Push from 'push.js';
16
+ import { useRoutesList } from '../../../../../stores/routesList.mjs';
17
+ import { useUserInfo } from '../../../../../stores/userInfo.mjs';
18
+ import { useThemeConfig } from '../../../../../stores/themeConfig.mjs';
19
+ import { useFormEvents } from '../../../../../hooks/composables/useDialogEvents.mjs';
20
+ import { Local, Session } from '../../../../../utils/storage.mjs';
21
+ import { useBaseApi } from '../../../../../api/base/index.mjs';
22
+ import { signalR } from '../../../../../utils/signalR.mjs';
23
+ import { clearAccessTokens } from '../../../../../utils/request.mjs';
24
+
25
+ const _hoisted_1 = { class: "layout-navbars-breadcrumb-user-icon" };
26
+ const _hoisted_2 = ["title"];
27
+ const _hoisted_3 = { class: "layout-navbars-breadcrumb-user-icon" };
28
+ const _hoisted_4 = { class: "flex items-center" };
29
+ const _hoisted_5 = { class: "mr-2" };
30
+ const _hoisted_6 = { style: { "margin-left": "10px" } };
31
+ const _hoisted_7 = ["title"];
32
+ const _hoisted_8 = { class: "layout-navbars-breadcrumb-user-icon" };
33
+ const _hoisted_9 = ["title"];
34
+ const _hoisted_10 = { class: "layout-navbars-breadcrumb-user-link" };
35
+ const _hoisted_11 = ["src"];
36
+ var _sfc_main = /* @__PURE__ */ defineComponent({
37
+ __name: "user",
38
+ setup(__props) {
39
+ const UserNews = defineAsyncComponent(() => import('./userNews.vue.mjs'));
40
+ const Search = defineAsyncComponent(() => import('./search.vue.mjs'));
41
+ const UpgradeInfo = defineAsyncComponent(() => import('./upgradeInfo.vue.mjs'));
42
+ const routeStores = useRoutesList();
43
+ const { locale, t } = useI18n();
44
+ const router = useRouter();
45
+ const stores = useUserInfo();
46
+ const storesThemeConfig = useThemeConfig();
47
+ const { userInfos } = storeToRefs(stores);
48
+ const { themeConfig } = storeToRefs(storesThemeConfig);
49
+ const searchRef = ref();
50
+ const upgradeInfoRef = ref();
51
+ const currentCountryCode = ref(getCountryCode(themeConfig.value.globalI18n));
52
+ const state = reactive({
53
+ isScreenfull: false,
54
+ disabledI18n: "zh-cn",
55
+ disabledSize: "large",
56
+ noticeList: [],
57
+ // 站内信列表
58
+ tagsRefsIndex: 0,
59
+ tagsViewList: [],
60
+ tagsViewRoutesList: []
61
+ });
62
+ const events = useFormEvents();
63
+ const layoutUserFlexNum = computed(() => {
64
+ let num = "";
65
+ const { layout, isClassicSplitMenu } = themeConfig.value;
66
+ const layoutArr = ["defaults", "columns"];
67
+ if (layoutArr.includes(layout) || layout === "classic" && !isClassicSplitMenu) num = "1";
68
+ else num = "";
69
+ return num;
70
+ });
71
+ const hasUnreadNotice = computed(() => {
72
+ return state.noticeList.some((r) => r.readStatus == void 0 || r.readStatus == 0);
73
+ });
74
+ const onScreenfullClick = () => {
75
+ if (!screenfull.isEnabled) {
76
+ ElMessage.warning("\u6682\u4E0D\u4E0D\u652F\u6301\u5168\u5C4F");
77
+ return false;
78
+ }
79
+ screenfull.toggle();
80
+ screenfull.on("change", () => {
81
+ if (screenfull.isFullscreen) state.isScreenfull = true;
82
+ else state.isScreenfull = false;
83
+ });
84
+ };
85
+ const onLayoutSetingClick = () => {
86
+ emitter.emit("openSettingsDrawer");
87
+ };
88
+ const onHandleCommandClick = (path) => {
89
+ if (path === "clearCache") {
90
+ Session.clear();
91
+ Local.clear();
92
+ window.location.reload();
93
+ } else if (path === "lockScreen") {
94
+ Local.remove("themeConfig");
95
+ themeConfig.value.isLockScreen = true;
96
+ themeConfig.value.lockScreenTime = 1;
97
+ Local.set("themeConfig", themeConfig.value);
98
+ } else if (path === "logOut") {
99
+ ElMessageBox({
100
+ closeOnClickModal: false,
101
+ closeOnPressEscape: false,
102
+ title: t("message.user.logOutTitle"),
103
+ message: t("message.user.logOutMessage"),
104
+ type: "warning",
105
+ showCancelButton: true,
106
+ confirmButtonText: t("message.user.logOutConfirm"),
107
+ cancelButtonText: t("message.user.logOutCancel"),
108
+ // buttonSize: 'default',
109
+ beforeClose: async (action, instance, done) => {
110
+ if (action === "confirm") {
111
+ instance.confirmButtonLoading = true;
112
+ instance.confirmButtonText = t("message.user.logOutExit");
113
+ try {
114
+ await useBaseApi("sysAuth").post(null, "logout");
115
+ } catch (error) {
116
+ console.error(error);
117
+ }
118
+ instance.confirmButtonLoading = false;
119
+ done();
120
+ } else {
121
+ done();
122
+ }
123
+ }
124
+ }).then(async () => {
125
+ await signalR.stop();
126
+ clearAccessTokens();
127
+ }).catch(() => {
128
+ });
129
+ } else {
130
+ router.push(path);
131
+ }
132
+ };
133
+ const onSearchClick = () => {
134
+ searchRef.value.openSearch();
135
+ };
136
+ const onOnlineUserClick = () => {
137
+ events.onFormDialogOpen({
138
+ name: "onlineUsers"
139
+ });
140
+ };
141
+ const onComponentSizeChange = (size) => {
142
+ Local.remove("themeConfig");
143
+ themeConfig.value.globalComponentSize = size;
144
+ Local.set("themeConfig", themeConfig.value);
145
+ initI18nOrSize("globalComponentSize", "disabledSize");
146
+ };
147
+ const onLanguageChange = async (lang) => {
148
+ Local.remove("themeConfig");
149
+ themeConfig.value.globalI18n = lang;
150
+ Local.set("themeConfig", themeConfig.value);
151
+ currentCountryCode.value = getCountryCode(lang);
152
+ locale.value = lang;
153
+ other.useTitle();
154
+ initI18nOrSize("globalI18n", "disabledI18n");
155
+ refreshCurrentTabpage();
156
+ if (lang == "en") window.$changeLang("en");
157
+ else window.$changeLang("zhcn");
158
+ await useBaseApi("sysCommon").post(lang, "setCulture");
159
+ };
160
+ const onChatClick = () => {
161
+ router.push({
162
+ path: "/llm/aiChat"
163
+ });
164
+ };
165
+ const refreshCurrentTabpage = () => {
166
+ emitter.emit("onCurrentContextmenuClick", { ...routeStores.currentRoute, contextMenuClickId: 0 });
167
+ };
168
+ const initI18nOrSize = (value, attr) => {
169
+ state[attr] = Local.get("themeConfig")[value];
170
+ };
171
+ onMounted(async () => {
172
+ var _a, _b;
173
+ if (Local.get("themeConfig")) {
174
+ initI18nOrSize("globalComponentSize", "disabledSize");
175
+ initI18nOrSize("globalI18n", "disabledI18n");
176
+ }
177
+ if (Push.Permission.GRANTED) {
178
+ Push.Permission.request(void 0, void 0);
179
+ }
180
+ document.addEventListener("visibilitychange", () => {
181
+ if (!document.hidden) {
182
+ Push.clear();
183
+ }
184
+ });
185
+ var res = await useBaseApi("sysNotice").get(null, "unReadList");
186
+ state.noticeList = (_a = res.data.result) != null ? _a : [];
187
+ signalR.on("PublicNotice", receiveNotice);
188
+ var res1 = await useBaseApi("sysUpgrade").get(null, "lastUnRead");
189
+ if (res1.data.result != null) {
190
+ (_b = upgradeInfoRef.value) == null ? void 0 : _b.openDialog(res1.data.result);
191
+ }
192
+ await changePassword();
193
+ });
194
+ const receiveNotice = (msg) => {
195
+ state.noticeList.unshift(msg);
196
+ ElNotification({
197
+ title: "\u63D0\u793A",
198
+ message: "\u60A8\u6709\u4E00\u6761\u65B0\u6D88\u606F...",
199
+ type: "info",
200
+ position: "bottom-right"
201
+ });
202
+ Push.create("\u63D0\u793A", {
203
+ body: "\u4F60\u6709\u4E00\u6761\u65B0\u7684\u6D88\u606F",
204
+ icon: "logo.png",
205
+ // public目录下的
206
+ timeout: 4500
207
+ // 通知显示时间,单位为毫秒
208
+ });
209
+ };
210
+ const changePassword = async () => {
211
+ var _a, _b;
212
+ if (userInfos.value.accountType == 999) return;
213
+ if (themeConfig.value.forceChangePassword == void 0) {
214
+ while (themeConfig.value.forceChangePassword != void 0) {
215
+ await new Promise((resolve) => setTimeout(resolve, 100));
216
+ }
217
+ }
218
+ const enabledForceChangePassword = (_a = themeConfig.value.forceChangePassword) != null ? _a : false;
219
+ if (enabledForceChangePassword && !userInfos.value.lastChangePasswordTime) {
220
+ events.onFormDialogOpen({
221
+ name: "changePassword"
222
+ });
223
+ return;
224
+ }
225
+ const passwordExpirationTime = (_b = themeConfig.value.passwordExpirationTime) != null ? _b : 0;
226
+ if (passwordExpirationTime > 0) {
227
+ const res = await useBaseApi("sysUser").post(null, "verifyPwdExpirationTime");
228
+ if (!res.data.result) {
229
+ events.onFormDialogOpen({
230
+ name: "changePassword"
231
+ });
232
+ }
233
+ }
234
+ };
235
+ return (_ctx, _cache) => {
236
+ const _component_el_dropdown_item = resolveComponent("el-dropdown-item");
237
+ const _component_el_dropdown_menu = resolveComponent("el-dropdown-menu");
238
+ const _component_el_dropdown = resolveComponent("el-dropdown");
239
+ const _component_ele_ChatDotRound = resolveComponent("ele-ChatDotRound");
240
+ const _component_el_icon = resolveComponent("el-icon");
241
+ const _component_ele_Search = resolveComponent("ele-Search");
242
+ const _component_ele_Bell = resolveComponent("ele-Bell");
243
+ const _component_el_badge = resolveComponent("el-badge");
244
+ const _component_el_popover = resolveComponent("el-popover");
245
+ const _component_ele_User = resolveComponent("ele-User");
246
+ const _component_el_tooltip = resolveComponent("el-tooltip");
247
+ const _component_ele_ArrowDown = resolveComponent("ele-ArrowDown");
248
+ return openBlock(), createElementBlock(
249
+ "div",
250
+ {
251
+ class: "layout-navbars-breadcrumb-user pr15",
252
+ style: normalizeStyle({ flex: layoutUserFlexNum.value })
253
+ },
254
+ [
255
+ renderSlot(_ctx.$slots, "user-before"),
256
+ createVNode(_component_el_dropdown, {
257
+ "show-timeout": 70,
258
+ "hide-timeout": 50,
259
+ trigger: "click",
260
+ onCommand: onComponentSizeChange
261
+ }, {
262
+ dropdown: withCtx(() => [
263
+ createVNode(_component_el_dropdown_menu, null, {
264
+ default: withCtx(() => [
265
+ createVNode(_component_el_dropdown_item, {
266
+ command: "large",
267
+ disabled: state.disabledSize === "large"
268
+ }, {
269
+ default: withCtx(() => [
270
+ createTextVNode(
271
+ toDisplayString(_ctx.$t("message.user.dropdownLarge")),
272
+ 1
273
+ /* TEXT */
274
+ )
275
+ ]),
276
+ _: 1
277
+ /* STABLE */
278
+ }, 8, ["disabled"]),
279
+ createVNode(_component_el_dropdown_item, {
280
+ command: "default",
281
+ disabled: state.disabledSize === "default"
282
+ }, {
283
+ default: withCtx(() => [
284
+ createTextVNode(
285
+ toDisplayString(_ctx.$t("message.user.dropdownDefault")),
286
+ 1
287
+ /* TEXT */
288
+ )
289
+ ]),
290
+ _: 1
291
+ /* STABLE */
292
+ }, 8, ["disabled"]),
293
+ createVNode(_component_el_dropdown_item, {
294
+ command: "small",
295
+ disabled: state.disabledSize === "small"
296
+ }, {
297
+ default: withCtx(() => [
298
+ createTextVNode(
299
+ toDisplayString(_ctx.$t("message.user.dropdownSmall")),
300
+ 1
301
+ /* TEXT */
302
+ )
303
+ ]),
304
+ _: 1
305
+ /* STABLE */
306
+ }, 8, ["disabled"])
307
+ ]),
308
+ _: 1
309
+ /* STABLE */
310
+ })
311
+ ]),
312
+ default: withCtx(() => [
313
+ createElementVNode("div", _hoisted_1, [
314
+ createElementVNode("i", {
315
+ class: "iconfont icon-ziti",
316
+ title: _ctx.$t("message.user.title0")
317
+ }, null, 8, _hoisted_2)
318
+ ])
319
+ ]),
320
+ _: 1
321
+ /* STABLE */
322
+ }),
323
+ unref(themeConfig).i18NSwitch ? (openBlock(), createBlock(_component_el_dropdown, {
324
+ key: 0,
325
+ "show-timeout": 70,
326
+ "hide-timeout": 50,
327
+ trigger: "click",
328
+ onCommand: onLanguageChange
329
+ }, {
330
+ dropdown: withCtx(() => [
331
+ createVNode(_component_el_dropdown_menu, null, {
332
+ default: withCtx(() => [
333
+ (openBlock(true), createElementBlock(
334
+ Fragment,
335
+ null,
336
+ renderList(unref(languageList), (value, key) => {
337
+ return openBlock(), createBlock(_component_el_dropdown_item, {
338
+ key,
339
+ command: key,
340
+ disabled: state.disabledI18n === key
341
+ }, {
342
+ default: withCtx(() => [
343
+ createElementVNode("div", _hoisted_4, [
344
+ createElementVNode("div", _hoisted_5, [
345
+ createElementVNode(
346
+ "span",
347
+ {
348
+ class: normalizeClass(`fi fi-${unref(getCountryCode)(key)}`)
349
+ },
350
+ null,
351
+ 2
352
+ /* CLASS */
353
+ )
354
+ ]),
355
+ createElementVNode(
356
+ "div",
357
+ _hoisted_6,
358
+ toDisplayString(value),
359
+ 1
360
+ /* TEXT */
361
+ )
362
+ ])
363
+ ]),
364
+ _: 2
365
+ /* DYNAMIC */
366
+ }, 1032, ["command", "disabled"]);
367
+ }),
368
+ 128
369
+ /* KEYED_FRAGMENT */
370
+ ))
371
+ ]),
372
+ _: 1
373
+ /* STABLE */
374
+ })
375
+ ]),
376
+ default: withCtx(() => [
377
+ createElementVNode("div", _hoisted_3, [
378
+ createElementVNode(
379
+ "span",
380
+ {
381
+ class: normalizeClass(`fi fi-${currentCountryCode.value}`)
382
+ },
383
+ null,
384
+ 2
385
+ /* CLASS */
386
+ )
387
+ ])
388
+ ]),
389
+ _: 1
390
+ /* STABLE */
391
+ })) : createCommentVNode("v-if", true),
392
+ createElementVNode("div", {
393
+ class: "layout-navbars-breadcrumb-user-icon",
394
+ onClick: onChatClick
395
+ }, [
396
+ createVNode(_component_el_icon, {
397
+ title: _ctx.$t("message.user.chat")
398
+ }, {
399
+ default: withCtx(() => [
400
+ createVNode(_component_ele_ChatDotRound)
401
+ ]),
402
+ _: 1
403
+ /* STABLE */
404
+ }, 8, ["title"])
405
+ ]),
406
+ createElementVNode("div", {
407
+ class: "layout-navbars-breadcrumb-user-icon",
408
+ onClick: onSearchClick
409
+ }, [
410
+ createVNode(_component_el_icon, {
411
+ title: _ctx.$t("message.user.title2")
412
+ }, {
413
+ default: withCtx(() => [
414
+ createVNode(_component_ele_Search)
415
+ ]),
416
+ _: 1
417
+ /* STABLE */
418
+ }, 8, ["title"])
419
+ ]),
420
+ createElementVNode("div", {
421
+ class: "layout-navbars-breadcrumb-user-icon",
422
+ onClick: onLayoutSetingClick
423
+ }, [
424
+ createElementVNode("i", {
425
+ class: "icon-skin iconfont",
426
+ title: _ctx.$t("message.user.title3")
427
+ }, null, 8, _hoisted_7)
428
+ ]),
429
+ createElementVNode("div", _hoisted_8, [
430
+ createVNode(_component_el_popover, {
431
+ placement: "bottom",
432
+ trigger: "hover",
433
+ transition: "el-zoom-in-top",
434
+ width: 400,
435
+ persistent: false
436
+ }, {
437
+ reference: withCtx(() => [
438
+ createVNode(_component_el_badge, { "is-dot": hasUnreadNotice.value }, {
439
+ default: withCtx(() => [
440
+ createVNode(_component_el_icon, {
441
+ title: _ctx.$t("message.user.title4")
442
+ }, {
443
+ default: withCtx(() => [
444
+ createVNode(_component_ele_Bell)
445
+ ]),
446
+ _: 1
447
+ /* STABLE */
448
+ }, 8, ["title"])
449
+ ]),
450
+ _: 1
451
+ /* STABLE */
452
+ }, 8, ["is-dot"])
453
+ ]),
454
+ default: withCtx(() => [
455
+ createVNode(unref(UserNews), {
456
+ noticeList: state.noticeList
457
+ }, null, 8, ["noticeList"])
458
+ ]),
459
+ _: 1
460
+ /* STABLE */
461
+ })
462
+ ]),
463
+ createElementVNode("div", {
464
+ class: "layout-navbars-breadcrumb-user-icon",
465
+ onClick: onScreenfullClick
466
+ }, [
467
+ createElementVNode("i", {
468
+ class: normalizeClass(["iconfont", !state.isScreenfull ? "icon-fullscreen" : "icon-tuichuquanping"]),
469
+ title: state.isScreenfull ? _ctx.$t("message.user.title6") : _ctx.$t("message.user.title5")
470
+ }, null, 10, _hoisted_9)
471
+ ]),
472
+ createElementVNode("div", {
473
+ class: "layout-navbars-breadcrumb-user-icon mr10",
474
+ onClick: onOnlineUserClick
475
+ }, [
476
+ createVNode(_component_el_icon, {
477
+ title: _ctx.$t("message.list.onlineUser")
478
+ }, {
479
+ default: withCtx(() => [
480
+ createVNode(_component_ele_User)
481
+ ]),
482
+ _: 1
483
+ /* STABLE */
484
+ }, 8, ["title"])
485
+ ]),
486
+ _ctx.$slots["user-dropdown"] ? renderSlot(_ctx.$slots, "user-dropdown", { key: 1 }, () => [
487
+ renderSlot(_ctx.$slots, "user-dropdown")
488
+ ]) : (openBlock(), createBlock(_component_el_dropdown, {
489
+ key: 2,
490
+ "show-timeout": 70,
491
+ "hide-timeout": 50,
492
+ size: "large",
493
+ onCommand: onHandleCommandClick
494
+ }, {
495
+ dropdown: withCtx(() => [
496
+ createVNode(_component_el_dropdown_menu, null, {
497
+ default: withCtx(() => [
498
+ createCommentVNode(` <el-dropdown-item command="/dashboard/home">{{ $t('message.user.dropdown1') }}</el-dropdown-item> `),
499
+ createVNode(_component_el_dropdown_item, {
500
+ icon: unref(Avatar),
501
+ command: "/system/userCenter"
502
+ }, {
503
+ default: withCtx(() => [
504
+ createTextVNode(
505
+ toDisplayString(_ctx.$t("message.user.dropdown2")),
506
+ 1
507
+ /* TEXT */
508
+ )
509
+ ]),
510
+ _: 1
511
+ /* STABLE */
512
+ }, 8, ["icon"]),
513
+ createVNode(_component_el_dropdown_item, {
514
+ icon: unref(Loading),
515
+ command: "clearCache"
516
+ }, {
517
+ default: withCtx(() => [
518
+ createTextVNode(
519
+ toDisplayString(_ctx.$t("message.user.dropdown3")),
520
+ 1
521
+ /* TEXT */
522
+ )
523
+ ]),
524
+ _: 1
525
+ /* STABLE */
526
+ }, 8, ["icon"]),
527
+ createVNode(_component_el_dropdown_item, {
528
+ icon: unref(Lock),
529
+ divided: "",
530
+ command: "lockScreen"
531
+ }, {
532
+ default: withCtx(() => [
533
+ createTextVNode(
534
+ toDisplayString(_ctx.$t("message.layout.threeIsLockScreen")),
535
+ 1
536
+ /* TEXT */
537
+ )
538
+ ]),
539
+ _: 1
540
+ /* STABLE */
541
+ }, 8, ["icon"]),
542
+ createVNode(_component_el_dropdown_item, {
543
+ icon: unref(CircleCloseFilled),
544
+ divided: "",
545
+ command: "logOut"
546
+ }, {
547
+ default: withCtx(() => [
548
+ createTextVNode(
549
+ toDisplayString(_ctx.$t("message.user.dropdown5")),
550
+ 1
551
+ /* TEXT */
552
+ )
553
+ ]),
554
+ _: 1
555
+ /* STABLE */
556
+ }, 8, ["icon"])
557
+ ]),
558
+ _: 1
559
+ /* STABLE */
560
+ })
561
+ ]),
562
+ default: withCtx(() => [
563
+ createElementVNode("span", _hoisted_10, [
564
+ createVNode(_component_el_tooltip, {
565
+ effect: "dark",
566
+ placement: "left"
567
+ }, {
568
+ content: withCtx(() => [
569
+ createTextVNode(
570
+ toDisplayString(_ctx.$t("message.list.account")) + "\uFF1A" + toDisplayString(unref(userInfos).account),
571
+ 1
572
+ /* TEXT */
573
+ ),
574
+ _cache[0] || (_cache[0] = createElementVNode(
575
+ "br",
576
+ null,
577
+ null,
578
+ -1
579
+ /* CACHED */
580
+ )),
581
+ createTextVNode(
582
+ " " + toDisplayString(_ctx.$t("message.list.realName")) + "\uFF1A" + toDisplayString(unref(userInfos).realName),
583
+ 1
584
+ /* TEXT */
585
+ ),
586
+ _cache[1] || (_cache[1] = createElementVNode(
587
+ "br",
588
+ null,
589
+ null,
590
+ -1
591
+ /* CACHED */
592
+ )),
593
+ createTextVNode(
594
+ " " + toDisplayString(_ctx.$t("message.list.phone")) + "\uFF1A" + toDisplayString(unref(userInfos).phone),
595
+ 1
596
+ /* TEXT */
597
+ ),
598
+ _cache[2] || (_cache[2] = createElementVNode(
599
+ "br",
600
+ null,
601
+ null,
602
+ -1
603
+ /* CACHED */
604
+ )),
605
+ createTextVNode(
606
+ " " + toDisplayString(_ctx.$t("message.list.email")) + "\uFF1A" + toDisplayString(unref(userInfos).email),
607
+ 1
608
+ /* TEXT */
609
+ ),
610
+ _cache[3] || (_cache[3] = createElementVNode(
611
+ "br",
612
+ null,
613
+ null,
614
+ -1
615
+ /* CACHED */
616
+ )),
617
+ createTextVNode(
618
+ " " + toDisplayString(_ctx.$t("message.list.orgName")) + "\uFF1A" + toDisplayString(unref(userInfos).orgName),
619
+ 1
620
+ /* TEXT */
621
+ ),
622
+ _cache[4] || (_cache[4] = createElementVNode(
623
+ "br",
624
+ null,
625
+ null,
626
+ -1
627
+ /* CACHED */
628
+ )),
629
+ createTextVNode(
630
+ " " + toDisplayString(_ctx.$t("message.list.positionText")) + "\uFF1A" + toDisplayString(unref(userInfos).posName),
631
+ 1
632
+ /* TEXT */
633
+ ),
634
+ _cache[5] || (_cache[5] = createElementVNode(
635
+ "br",
636
+ null,
637
+ null,
638
+ -1
639
+ /* CACHED */
640
+ ))
641
+ ]),
642
+ default: withCtx(() => [
643
+ createElementVNode("img", {
644
+ src: unref(userInfos).avatar,
645
+ class: "layout-navbars-breadcrumb-user-link-photo mr5"
646
+ }, null, 8, _hoisted_11)
647
+ ]),
648
+ _: 1
649
+ /* STABLE */
650
+ }),
651
+ createTextVNode(
652
+ " " + toDisplayString(unref(userInfos).realName == "" ? unref(userInfos).account : unref(userInfos).realName) + " ",
653
+ 1
654
+ /* TEXT */
655
+ ),
656
+ createVNode(_component_el_icon, { class: "el-icon--right" }, {
657
+ default: withCtx(() => [
658
+ createVNode(_component_ele_ArrowDown)
659
+ ]),
660
+ _: 1
661
+ /* STABLE */
662
+ })
663
+ ])
664
+ ]),
665
+ _: 1
666
+ /* STABLE */
667
+ })),
668
+ createVNode(
669
+ unref(Search),
670
+ {
671
+ ref_key: "searchRef",
672
+ ref: searchRef
673
+ },
674
+ null,
675
+ 512
676
+ /* NEED_PATCH */
677
+ ),
678
+ createCommentVNode(' <OnlineUser ref="onlineUserRef" /> '),
679
+ createCommentVNode(' <ChangePassword ref="changePasswordRef" /> '),
680
+ createVNode(
681
+ unref(UpgradeInfo),
682
+ {
683
+ ref_key: "upgradeInfoRef",
684
+ ref: upgradeInfoRef
685
+ },
686
+ null,
687
+ 512
688
+ /* NEED_PATCH */
689
+ ),
690
+ renderSlot(_ctx.$slots, "user-after")
691
+ ],
692
+ 4
693
+ /* STYLE */
694
+ );
695
+ };
696
+ }
697
+ });
698
+
699
+ export { _sfc_main as default };