@fmdeui/fmui 1.0.28 → 1.0.29

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