@utogether/udp-core 1.0.1-beta.1 → 1.0.1-beta.11

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 (147) hide show
  1. package/build/plugins.ts +39 -32
  2. package/dist/{403-Dp617CWX.js → 403-Dsgsr2M-.js} +1 -1
  3. package/dist/{404-Cz_Axb6Y.js → 404-DmPHEfqM.js} +1 -1
  4. package/dist/{500-BGCtRNse.js → 500-OYEgHR2a.js} +1 -1
  5. package/dist/{AuthorityInfo-DGGfm7IS.js → AuthorityInfo-B1H1txG-.js} +1 -1
  6. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-BUlmQtjQ.js +100 -0
  7. package/dist/{Company-IV3GTnzY.js → Company-C8ojgx93.js} +3 -3
  8. package/dist/{CompanyPanel-qV-_VtoL.js → CompanyPanel-Dageer1t.js} +16 -16
  9. package/dist/{Department-B3W-OxW8.js → Department-Dr94_85I.js} +3 -3
  10. package/dist/{DepartmentPanel-Cw3OWxE7.js → DepartmentPanel-Bc5r1HpT.js} +1 -1
  11. package/dist/{DesignPanel-BFxR2fHJ.js → DesignPanel-CcWt1Myp.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-DljbeFba.js → DesignPanel.vue_vue_type_style_index_0_lang-CKA6nx1l.js} +24 -26
  13. package/dist/DictView-BHj6wexC.js +110 -0
  14. package/dist/InvOrganization-DP3Le9g-.js +72 -0
  15. package/dist/Org-BRGHTwsw.js +39 -0
  16. package/dist/{Preview-BlDMmpdR.js → Preview-CqMaUD_3.js} +1 -1
  17. package/dist/{ReportDefine-Cub_85LA.js → ReportDefine-PEQdTCOY.js} +1 -1
  18. package/dist/{ReportDesign-hFhq5UVE.js → ReportDesign-CB4bv8ba.js} +43 -43
  19. package/dist/{ReportQuery-ChkWEyxT.js → ReportQuery-B7t4lMK0.js} +1 -1
  20. package/dist/{ReportQueryFrom-KVyD_8Dj.js → ReportQueryFrom-VBxUIMRJ.js} +1 -1
  21. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-CLNODquq.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-HeLA4Qs5.js} +1 -1
  22. package/dist/{ReportTemplate-ag9NDvh2.js → ReportTemplate-DNkv7F5p.js} +28 -28
  23. package/dist/{Role-_q3lQ8CZ.js → Role-BGfTpZK4.js} +6 -6
  24. package/dist/{RoleAssign-DZb9IRsm.js → RoleAssign-DrKFWZzA.js} +8 -8
  25. package/dist/{RolePanel-CsLsz-Ds.js → RolePanel-3lvRh7aS.js} +1 -1
  26. package/dist/{RolePanel-BQb1LlhD.js → RolePanel-BRI5QYe4.js} +1 -1
  27. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-BXKZb7yt.js +132 -0
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-BrnRgHEk.js → RolePanel.vue_vue_type_script_setup_true_lang-Cci_Ysty.js} +44 -38
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-CaFKRwXu.js → ScrollPanel.vue_vue_type_style_index_0_lang-BmId6zzA.js} +21 -21
  30. package/dist/{Staff-BSf9Ypbk.js → Staff-Dr0dq3fW.js} +3 -3
  31. package/dist/{StaffInfo-BNKasyMF.js → StaffInfo-_N9g2hPa.js} +1 -1
  32. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-DDZ7ukd0.js → StaffInfo.vue_vue_type_script_setup_true_lang-DiTJY2ug.js} +11 -11
  33. package/dist/{StaffPanel-Bpq0WVlH.js → StaffPanel-mxJQiW3G.js} +1 -1
  34. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-BhiJ0Q-Q.js → StaffPanel.vue_vue_type_script_setup_true_lang-GRGn-5t6.js} +2 -2
  35. package/dist/{SysUser-FAABuNti.js → SysUser-DgA19hZE.js} +2 -2
  36. package/dist/{SysUserPanel-PxJeOgHm.js → SysUserPanel-Bc85z5_K.js} +1 -1
  37. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-BHDrP1Pk.js +294 -0
  38. package/dist/{SystemMenu-C-7NAGon.js → SystemMenu-Be-gFIie.js} +26 -26
  39. package/dist/{UserInfo-ClXKtyGo.js → UserInfo-BCYuwFmr.js} +1 -1
  40. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-8N7P4Hl7.js → UserInfo.vue_vue_type_style_index_0_lang-B1lgokO6.js} +39 -37
  41. package/dist/{childView-C_HmDQNd.js → childView-DhcBr1UA.js} +1 -1
  42. package/dist/{childView-uUlBcTza.js → childView-Dk4zZoXd.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-Ckjmw6wJ.js → childView.vue_vue_type_style_index_0_lang-CVnLnl03.js} +40 -40
  44. package/dist/{childView.vue_vue_type_style_index_0_lang-y0sDvYx5.js → childView.vue_vue_type_style_index_0_lang-D4GYVhOc.js} +1 -1
  45. package/dist/{code-rule-AgCVDKFy.js → code-rule-BSwPwuAL.js} +9 -10
  46. package/dist/core.es.js +14 -11
  47. package/dist/{cron-task-C6FgQxTi.js → cron-task-T1ztyra7.js} +1 -1
  48. package/dist/{frameView-BDgISK7N.js → frameView-BDgngiBq.js} +1 -1
  49. package/dist/img/l_img.svg +1 -1
  50. package/dist/img/minicolors.png +0 -0
  51. package/dist/img/v_img.svg +1 -1
  52. package/dist/index-BSj2AtVL.js +4468 -0
  53. package/dist/{layoutView-yb3DV2DQ.js → layoutView-i7dLLBzJ.js} +1181 -1176
  54. package/dist/{login-RRpljbkm.js → login-K5Ludp8x.js} +105 -113
  55. package/dist/{login-log-CvVnyGi3.js → login-log-kqKzKTto.js} +1 -1
  56. package/dist/{lov-view-C9-rjzZR.js → lov-view-lAexiucu.js} +2 -2
  57. package/dist/{menuInfo-CzPQyFhp.js → menuInfo-BaN5YZPp.js} +1 -1
  58. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-BumXunCg.js → menuInfo.vue_vue_type_style_index_0_lang-yI4QOYxG.js} +100 -97
  59. package/dist/{pda-app-Dvy3U-b6.js → pda-app-DEtDXFvM.js} +211 -197
  60. package/dist/{resource-Fy0lFkSV.js → resource-Bztmz7pn.js} +15 -15
  61. package/dist/{su-welcome-DYvSCUST.js → su-welcome-Bx8nBPi9.js} +109 -110
  62. package/dist/sys-config-nvrtYGgi.js +290 -0
  63. package/dist/udp-core.css +2 -2
  64. package/dist/{utogether-CjmJiHoE.js → utogether-yPnwDAIH.js} +1 -1
  65. package/index.ts +40 -36
  66. package/package.json +18 -18
  67. package/src/App.vue +65 -70
  68. package/src/api/index.ts +31 -31
  69. package/src/components/SuCharts/src/UserInfo.vue +78 -78
  70. package/src/components/SuScrollTree/ScrollPanel.vue +3 -3
  71. package/src/components/udp/count-down.vue +536 -0
  72. package/src/components/udp/flip-down/FlipCard/flip-card.vue +251 -0
  73. package/src/components/udp/flip-down/FlipCard/interfaces.ts +4 -0
  74. package/src/components/udp/flip-down/FlipClock/flip-clock.vue +113 -0
  75. package/src/components/udp/form-upload.vue +414 -64
  76. package/src/components/udp/form.vue +112 -0
  77. package/src/components/udp/grid.vue +495 -0
  78. package/src/components/udp/index.ts +10 -4
  79. package/src/components/udp/lov.vue +388 -0
  80. package/src/components/udp/modal-form.vue +13 -3
  81. package/src/components/udp/modal-grid.vue +298 -0
  82. package/src/components/udp/upload.vue +423 -0
  83. package/src/components/udp/utils.ts +447 -40
  84. package/src/directives/permission/index.ts +1 -1
  85. package/src/layout/components/lay-navbar/index.vue +239 -237
  86. package/src/layout/components/lay-panel/index.vue +150 -150
  87. package/src/layout/components/lay-search/index.vue +25 -25
  88. package/src/layout/components/lay-select-org/index.vue +64 -69
  89. package/src/layout/components/lay-sidebar/breadCrumb.vue +1 -1
  90. package/src/layout/components/lay-sidebar/horizontal.vue +190 -191
  91. package/src/layout/components/lay-sidebar/mixNav.vue +260 -258
  92. package/src/layout/components/lay-sidebar/sidebar-logo.vue +92 -98
  93. package/src/layout/components/lay-tag/index.vue +625 -625
  94. package/src/layout/hooks/useNav.ts +173 -173
  95. package/src/layout/layoutView.vue +215 -215
  96. package/src/main.ts +119 -109
  97. package/src/plugins/i18n/en.ts +302 -289
  98. package/src/plugins/i18n/zh.ts +349 -337
  99. package/src/plugins/vxe-table/index.ts +53 -46
  100. package/src/plugins/vxe-table/render.tsx +956 -817
  101. package/src/router/index.ts +177 -183
  102. package/src/router/modules/remaining.ts +58 -83
  103. package/src/store/modules/permission.ts +1 -4
  104. package/src/style/button.scss +85 -78
  105. package/src/style/tailwind.css +1 -68
  106. package/src/style/vxetable.scss +44 -11
  107. package/src/utils/authority/index.ts +1 -1
  108. package/src/utils/{http → udp/http}/index.ts +283 -297
  109. package/src/utils/{http → udp/http}/types.d.ts +8 -5
  110. package/src/utils/udp/useRender.ts +17 -6
  111. package/src/views/login/login-view.vue +300 -314
  112. package/src/views/organization/company/CompanyPanel.vue +259 -259
  113. package/src/views/organization/inv-org/InvOrganization.vue +68 -54
  114. package/src/views/organization/org/Org.vue +9 -5
  115. package/src/views/system/menu/SystemMenu.vue +183 -197
  116. package/src/views/system/menu/menuInfo.vue +363 -371
  117. package/src/views/system/role/AuthorityInfo.vue +19 -15
  118. package/src/views/system/role/Role.vue +1 -5
  119. package/src/views/system/role/RolePanel.vue +11 -2
  120. package/src/views/system/role/UserInfo.vue +195 -193
  121. package/src/views/system/role-assign/RoleAssign.vue +57 -57
  122. package/src/views/system/role-assign/RolePanel.vue +139 -136
  123. package/src/views/system/sys/sys-config.vue +287 -291
  124. package/src/views/system/sysUser/SysUserPanel.vue +278 -278
  125. package/src/views/uapp/pda/pda-app.vue +208 -176
  126. package/src/views/udev/dict/DictView.vue +118 -106
  127. package/src/views/udev/dict/childView.vue +7 -7
  128. package/src/views/udev/lov/lov-view.vue +91 -91
  129. package/src/views/ufile/aggregation/File.vue +5 -5
  130. package/src/views/ufile/file/water-mark.vue +14 -14
  131. package/src/views/uhome/su-welcome.vue +3 -3
  132. package/src/views/ulogin/login.vue +12 -8
  133. package/src/views/upms/user/login-log.vue +1 -1
  134. package/src/views/urpt/design/DesignPanel.vue +507 -526
  135. package/src/views/urpt/design/ReportDesign.vue +15 -19
  136. package/src/views/urpt/static-resource/resource.vue +3 -3
  137. package/src/views/urpt/template/ReportTemplate.vue +7 -7
  138. package/types/global.d.ts +2 -1
  139. package/vite.config.ts +6 -2
  140. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-BqccGW7v.js +0 -102
  141. package/dist/DictView-C-i7e4hZ.js +0 -95
  142. package/dist/InvOrganization-cfT6riGU.js +0 -260
  143. package/dist/Org-CA7vTDIF.js +0 -35
  144. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-cmW7zBLu.js +0 -126
  145. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-njefUln5.js +0 -288
  146. package/dist/index-DzOzUkf6.js +0 -3388
  147. package/dist/sys-config-DJ1vNQTy.js +0 -277
@@ -1,237 +1,239 @@
1
- <!--
2
- * @Author: wei.li
3
- * @Date: 2021-11-17 16:02:30
4
- * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-04-16 16:20:09
6
- * @Description: file content
7
- -->
8
- <template>
9
- <div class="system-navbar bg-[#fff] shadow-sm shadow-[rgba(0, 21, 41, 0.08)] dark:shadow-[#0d0d0d]">
10
- <Hamburger
11
- v-if="layout !== 'mix'"
12
- :is-active="appHook.sidebar.opened"
13
- class="hamburger-container"
14
- @toggleClick="toggleSideBar"
15
- />
16
-
17
- <Breadcrumb v-if="layout !== 'mix'" class="breadcrumb-container" />
18
-
19
- <mixNav v-if="layout === 'mix'" />
20
-
21
- <div v-if="layout === 'vertical'" class="vertical-header-right">
22
- <!-- 业务单元选择 -->
23
- <OrgSelect />
24
- <!-- 菜单搜索 -->
25
- <Search />
26
- <!-- 通知 -->
27
- <!-- <Notice id="header-notice" /> -->
28
- <!-- 国际化 -->
29
- <el-dropdown id="header-translation" trigge·r="click">
30
- <globalization
31
- class="navbar-bg-hover w-[40px] h-[48px] p-[11px] cursor-pointer outline-hidden"
32
- />
33
- <template #dropdown>
34
- <el-dropdown-menu class="translation">
35
- <el-dropdown-item
36
- :style="getDropdownItemStyle(locale, 'zh')"
37
- :class="['dark:text-white!', getDropdownItemClass(locale, 'zh')]"
38
- @click="translationCh"
39
- >
40
- <IconifyIconOffline v-show="locale === 'zh'" class="check-zh" icon="ri:check-line" />
41
- 简体中文
42
- </el-dropdown-item>
43
- <el-dropdown-item
44
- :style="getDropdownItemStyle(locale, 'en')"
45
- :class="['dark:text-white!', getDropdownItemClass(locale, 'en')]"
46
- @click="translationEn"
47
- >
48
- <span v-show="locale === 'en'" class="check-en">
49
- <IconifyIconOffline icon="ri:check-line" />
50
- </span>
51
- English
52
- </el-dropdown-item>
53
- </el-dropdown-menu>
54
- </template>
55
- </el-dropdown>
56
- <!-- 退出登陆 -->
57
- <el-dropdown trigger="click">
58
- <span class="select-none el-dropdown-link navbar-bg-hover">
59
- <img v-if="avatars" :src="avatars" :style="avatarsStyle" />
60
- <p class="dark:text-white user-name">
61
- {{ userInfo?.name }}
62
- </p>
63
- </span>
64
- <template #dropdown>
65
- <el-dropdown-menu class="user-dropdown">
66
- <el-dropdown-item @click="handleResetPwd">
67
- <IconifyIconOffline icon="ri:edit-2-fill" />
68
- {{ $t('message.udp.passwordReset') }}</el-dropdown-item
69
- >
70
- <el-divider style="margin: 3px 0 !important" />
71
- <el-dropdown-item @click="logout">
72
- <IconifyIconOffline icon="switch-button" />
73
- {{ $t('message.udp.logout') }}
74
- </el-dropdown-item>
75
- </el-dropdown-menu>
76
- </template>
77
- </el-dropdown>
78
- <span class="el-icon-setting navbar-bg-hover" @click="onPanel">
79
- <IconifyIconOffline icon="ri:settings-5-fill" />
80
- </span>
81
- </div>
82
- <ut-modal-form
83
- v-if="showModal"
84
- :record="record"
85
- :items="passwordItems()"
86
- :width="360"
87
- :height="240"
88
- data-status="update"
89
- :title="$t('message.udp.passwordReset')"
90
- url="/uums/user/updatePwd"
91
- method="put"
92
- @close="showModal = false"
93
- />
94
- </div>
95
- </template>
96
- <script lang="ts">
97
- export default { name: 'NavBar' };
98
- </script>
99
- <script setup lang="ts">
100
- import { ref } from 'vue';
101
- // import { useRouter } from 'vue-router';
102
- import Hamburger from '../lay-sidebar/hamBurger.vue';
103
- import Breadcrumb from '../lay-sidebar/breadCrumb.vue';
104
- // import Notice from './lay-notice/index.vue';
105
- import { useNav } from '../../hooks/useNav';
106
- import Search from '../lay-search/index.vue';
107
- import mixNav from '../lay-sidebar/mixNav.vue';
108
- import OrgSelect from '../lay-select-org/index.vue';
109
- import { useTranslationLang } from '../../hooks/useTranslationLang';
110
- import globalization from '../../../assets/svg/globalization.svg?component';
111
- import avatars from '../../../assets/images/avatars.jpg';
112
-
113
- // const router = useRouter();
114
- // const route = useRoute();
115
- const showModal = ref(false);
116
-
117
- const {
118
- layout,
119
- logout,
120
- onPanel,
121
- toggleSideBar,
122
- appHook,
123
- userInfo,
124
- avatarsStyle,
125
- setDocumentTitle,
126
- getDropdownItemStyle,
127
- getDropdownItemClass,
128
- passwordItems
129
- } = useNav();
130
-
131
- const { locale, translationCh, translationEn } = useTranslationLang();
132
-
133
- const record: IRecord = {};
134
- /**
135
- * @description: 重置密码
136
- */
137
- const handleResetPwd = (): void => {
138
- record.id = userInfo.value.id;
139
- showModal.value = true;
140
- };
141
-
142
- setDocumentTitle();
143
- </script>
144
-
145
- <style lang="scss" scoped>
146
- .system-navbar {
147
- width: 100%;
148
- height: 48px;
149
- overflow: hidden;
150
-
151
- .hamburger-container {
152
- float: left;
153
- height: 100%;
154
- line-height: 48px;
155
- cursor: pointer;
156
- }
157
-
158
- .vertical-header-right {
159
- display: flex;
160
- align-items: center;
161
- justify-content: flex-end;
162
- min-width: 280px;
163
- height: 48px;
164
- color: #000000d9;
165
-
166
- .el-dropdown-link {
167
- display: flex;
168
- align-items: center;
169
- justify-content: space-around;
170
- width: 100px;
171
- height: 48px;
172
- padding: 10px 6px;
173
- color: #000000d9;
174
- cursor: pointer;
175
-
176
- p {
177
- font-size: 14px;
178
- font-weight: 600;
179
- }
180
-
181
- img {
182
- width: 22px;
183
- height: 22px;
184
- border-radius: 50%;
185
- }
186
- }
187
-
188
- .el-icon-setting {
189
- display: flex;
190
- align-items: center;
191
- width: 38px;
192
- height: 48px;
193
- padding: 12px;
194
- cursor: pointer;
195
- }
196
- }
197
-
198
- .breadcrumb-container {
199
- float: left;
200
- }
201
-
202
- /* stylelint-disable */
203
- .user-name {
204
- -webkit-box-orient: vertical;
205
- display: -webkit-box;
206
- overflow: hidden;
207
- -webkit-line-clamp: 2;
208
- }
209
- /* stylelint-enable */
210
- }
211
-
212
- .translation {
213
- ::v-deep(.el-dropdown-menu__item) {
214
- padding: 5px 40px;
215
- }
216
-
217
- .check-zh {
218
- position: absolute;
219
- left: 20px;
220
- }
221
-
222
- .check-en {
223
- position: absolute;
224
- left: 20px;
225
- }
226
- }
227
-
228
- .logout {
229
- max-width: 120px;
230
-
231
- ::v-deep(.el-dropdown-menu__item) {
232
- display: inline-flex;
233
- flex-wrap: wrap;
234
- min-width: 100%;
235
- }
236
- }
237
- </style>
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-11-17 16:02:30
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-08-29 08:57:37
6
+ * @Description: file content
7
+ -->
8
+ <template>
9
+ <div class="system-navbar bg-white shadow-sm shadow-[rgba(0, 21, 41, 0.08)] dark:shadow-[#0d0d0d]">
10
+ <Hamburger
11
+ v-if="layout !== 'mix'"
12
+ :is-active="appHook.sidebar.opened"
13
+ class="hamburger-container"
14
+ @toggleClick="toggleSideBar"
15
+ />
16
+
17
+ <Breadcrumb v-if="layout !== 'mix'" class="breadcrumb-container" />
18
+
19
+ <mixNav v-if="layout === 'mix'" />
20
+
21
+ <div v-if="layout === 'vertical'" class="vertical-header-right">
22
+ <!-- 业务单元选择 -->
23
+ <OrgSelect v-if="sysConfig['orgTaggle'] === 'Y'" />
24
+ <!-- 菜单搜索 -->
25
+ <Search />
26
+ <!-- 通知 -->
27
+ <!-- <Notice id="header-notice" /> -->
28
+ <!-- 国际化 -->
29
+ <el-dropdown id="header-translation" trigge·r="click">
30
+ <globalization class="navbar-bg-hover w-[40px] h-[48px] p-[11px] cursor-pointer outline-hidden" />
31
+ <template #dropdown>
32
+ <el-dropdown-menu class="translation">
33
+ <el-dropdown-item
34
+ :style="getDropdownItemStyle(locale, 'zh')"
35
+ :class="['dark:text-white!', getDropdownItemClass(locale, 'zh')]"
36
+ @click="translationCh"
37
+ >
38
+ <IconifyIconOffline v-show="locale === 'zh'" class="check-zh" icon="ri:check-line" />
39
+ 简体中文
40
+ </el-dropdown-item>
41
+ <el-dropdown-item
42
+ :style="getDropdownItemStyle(locale, 'en')"
43
+ :class="['dark:text-white!', getDropdownItemClass(locale, 'en')]"
44
+ @click="translationEn"
45
+ >
46
+ <span v-show="locale === 'en'" class="check-en">
47
+ <IconifyIconOffline icon="ri:check-line" />
48
+ </span>
49
+ English
50
+ </el-dropdown-item>
51
+ </el-dropdown-menu>
52
+ </template>
53
+ </el-dropdown>
54
+ <!-- 退出登陆 -->
55
+ <el-dropdown trigger="click">
56
+ <span class="select-none el-dropdown-link navbar-bg-hover">
57
+ <img v-if="avatars" :src="avatars" :style="avatarsStyle" />
58
+ <p class="dark:text-white user-name">
59
+ {{ userInfo?.name }}
60
+ </p>
61
+ </span>
62
+ <template #dropdown>
63
+ <el-dropdown-menu class="user-dropdown">
64
+ <el-dropdown-item @click="handleResetPwd">
65
+ <IconifyIconOffline icon="ri:edit-2-fill" />
66
+ {{ $t('message.udp.passwordReset') }}</el-dropdown-item
67
+ >
68
+ <el-divider style="margin: 3px 0 !important" />
69
+ <el-dropdown-item @click="logout">
70
+ <IconifyIconOffline icon="switch-button" />
71
+ {{ $t('message.udp.logout') }}
72
+ </el-dropdown-item>
73
+ </el-dropdown-menu>
74
+ </template>
75
+ </el-dropdown>
76
+ <span class="el-icon-setting navbar-bg-hover" @click="onPanel">
77
+ <IconifyIconOffline icon="ri:settings-5-fill" />
78
+ </span>
79
+ </div>
80
+ <ut-modal-form
81
+ v-if="showModal"
82
+ :record="record"
83
+ :items="passwordItems()"
84
+ :width="360"
85
+ :height="240"
86
+ data-status="update"
87
+ :title="$t('message.udp.passwordReset')"
88
+ url="/uums/user/updatePwd"
89
+ method="put"
90
+ @close="showModal = false"
91
+ />
92
+ </div>
93
+ </template>
94
+ <script lang="ts">
95
+ export default { name: 'NavBar' };
96
+ </script>
97
+ <script setup lang="ts">
98
+ import { ref } from 'vue';
99
+ import { storageLocal } from '@utogether/utils';
100
+ import Hamburger from '../lay-sidebar/hamBurger.vue';
101
+ import Breadcrumb from '../lay-sidebar/breadCrumb.vue';
102
+ // import Notice from './lay-notice/index.vue';
103
+ import { useNav } from '../../hooks/useNav';
104
+ import Search from '../lay-search/index.vue';
105
+ import mixNav from '../lay-sidebar/mixNav.vue';
106
+ import OrgSelect from '../lay-select-org/index.vue';
107
+ import { useTranslationLang } from '../../hooks/useTranslationLang';
108
+ import globalization from '../../../assets/svg/globalization.svg?component';
109
+ import avatars from '../../../assets/images/avatars.jpg';
110
+ import { kSYSCONFIG } from '../../../contant';
111
+
112
+ // const router = useRouter();
113
+ // const route = useRoute();
114
+ const showModal = ref(false);
115
+
116
+ const {
117
+ layout,
118
+ logout,
119
+ onPanel,
120
+ toggleSideBar,
121
+ appHook,
122
+ userInfo,
123
+ avatarsStyle,
124
+ setDocumentTitle,
125
+ getDropdownItemStyle,
126
+ getDropdownItemClass,
127
+ passwordItems
128
+ } = useNav();
129
+
130
+ const { locale, translationCh, translationEn } = useTranslationLang();
131
+
132
+ const record: IRecord = {};
133
+
134
+ const sysConfig = storageLocal.getItem(kSYSCONFIG) || {};
135
+
136
+ /**
137
+ * @description: 重置密码
138
+ */
139
+ const handleResetPwd = (): void => {
140
+ record.id = userInfo.value.id;
141
+ showModal.value = true;
142
+ };
143
+
144
+ setDocumentTitle();
145
+ </script>
146
+
147
+ <style lang="scss" scoped>
148
+ .system-navbar {
149
+ width: 100%;
150
+ height: 48px;
151
+ overflow: hidden;
152
+
153
+ .hamburger-container {
154
+ float: left;
155
+ height: 100%;
156
+ line-height: 48px;
157
+ cursor: pointer;
158
+ }
159
+
160
+ .vertical-header-right {
161
+ display: flex;
162
+ align-items: center;
163
+ justify-content: flex-end;
164
+ min-width: 280px;
165
+ height: 48px;
166
+ color: #000000d9;
167
+
168
+ .el-dropdown-link {
169
+ display: flex;
170
+ align-items: center;
171
+ justify-content: space-around;
172
+ width: 100px;
173
+ height: 48px;
174
+ padding: 10px 6px;
175
+ color: #000000d9;
176
+ cursor: pointer;
177
+
178
+ p {
179
+ font-size: 14px;
180
+ font-weight: 600;
181
+ }
182
+
183
+ img {
184
+ width: 22px;
185
+ height: 22px;
186
+ border-radius: 50%;
187
+ }
188
+ }
189
+
190
+ .el-icon-setting {
191
+ display: flex;
192
+ align-items: center;
193
+ width: 38px;
194
+ height: 48px;
195
+ padding: 12px;
196
+ cursor: pointer;
197
+ }
198
+ }
199
+
200
+ .breadcrumb-container {
201
+ float: left;
202
+ }
203
+
204
+ /* stylelint-disable */
205
+ .user-name {
206
+ -webkit-box-orient: vertical;
207
+ display: -webkit-box;
208
+ overflow: hidden;
209
+ -webkit-line-clamp: 2;
210
+ }
211
+ /* stylelint-enable */
212
+ }
213
+
214
+ .translation {
215
+ ::v-deep(.el-dropdown-menu__item) {
216
+ padding: 5px 40px;
217
+ }
218
+
219
+ .check-zh {
220
+ position: absolute;
221
+ left: 20px;
222
+ }
223
+
224
+ .check-en {
225
+ position: absolute;
226
+ left: 20px;
227
+ }
228
+ }
229
+
230
+ .logout {
231
+ max-width: 120px;
232
+
233
+ ::v-deep(.el-dropdown-menu__item) {
234
+ display: inline-flex;
235
+ flex-wrap: wrap;
236
+ min-width: 100%;
237
+ }
238
+ }
239
+ </style>