@utogether/udp-core 1.0.1-beta.3 → 1.0.1-beta.31

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 (165) hide show
  1. package/build/plugins.ts +3 -3
  2. package/dist/{403-BuP9jvH9.js → 403-DdjDWbkf.js} +1 -1
  3. package/dist/{404-DfQk8kKl.js → 404-D9vF2gFz.js} +1 -1
  4. package/dist/{500-OgROWdiZ.js → 500-mVaDmUjL.js} +1 -1
  5. package/dist/{AuthorityInfo-q2ksfkWH.js → AuthorityInfo-DOUJ_Zrj.js} +1 -1
  6. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-B12sAzqt.js +100 -0
  7. package/dist/{Company-DgqowAxc.js → Company-DY__kM9F.js} +3 -3
  8. package/dist/{CompanyPanel-BNb1rUhD.js → CompanyPanel-C5N8QcMA.js} +17 -17
  9. package/dist/{Department-Cl8CROSU.js → Department-DsuDZdy5.js} +3 -3
  10. package/dist/{DepartmentPanel-D5VkqKeP.js → DepartmentPanel-CdwI7Rzu.js} +25 -25
  11. package/dist/{DesignPanel-BGvEusHC.js → DesignPanel-B50-g0TL.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-BQF1uQ7w.js → DesignPanel.vue_vue_type_style_index_0_lang-KV8JOZ6v.js} +28 -30
  13. package/dist/DictView-Be2Z5Obk.js +110 -0
  14. package/dist/InvOrganization-Lui1q3Ou.js +74 -0
  15. package/dist/Org-qO5ExsPN.js +39 -0
  16. package/dist/{Preview-BaGmXH7r.js → Preview-Dq4dfV2D.js} +2 -2
  17. package/dist/{ReportDefine-DkQdBErt.js → ReportDefine-DH3FvbS1.js} +1 -1
  18. package/dist/{ReportDesign-DzB_A_G6.js → ReportDesign-Bou01Jbr.js} +43 -43
  19. package/dist/{ReportQuery-DRcMb6ya.js → ReportQuery-BBkmPPSw.js} +1 -1
  20. package/dist/{ReportQueryFrom-CeA9xhR4.js → ReportQueryFrom-BCY8lTJ7.js} +1 -1
  21. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-CgGtcs5V.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-CpktcM8J.js} +1 -1
  22. package/dist/{ReportTemplate-qaiTMQuT.js → ReportTemplate-C_yJXxQ-.js} +28 -28
  23. package/dist/{Role-DsFulAjq.js → Role-CTatYsrC.js} +6 -6
  24. package/dist/{RoleAssign-DMRdocpa.js → RoleAssign-Cqt3CelK.js} +9 -9
  25. package/dist/{RolePanel-wXVysDHM.js → RolePanel-C3JMpNu8.js} +1 -1
  26. package/dist/{RolePanel-B9POS_pg.js → RolePanel-brKRJIhD.js} +1 -1
  27. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-DD8u9pq8.js +132 -0
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-CleVvkcY.js → RolePanel.vue_vue_type_script_setup_true_lang-i6Gq4r5B.js} +44 -38
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-DlXUs0j9.js → ScrollPanel.vue_vue_type_style_index_0_lang-CiWKyjm3.js} +23 -23
  30. package/dist/{Staff-Cq4V7ruC.js → Staff-Cd3twQ6Y.js} +3 -3
  31. package/dist/{StaffInfo-CJDKMbud.js → StaffInfo-DJp0a0qd.js} +1 -1
  32. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-DQ4DL1KY.js → StaffInfo.vue_vue_type_script_setup_true_lang-Dp2AhJ4I.js} +16 -16
  33. package/dist/{StaffPanel-CG-uggdr.js → StaffPanel-B93hClzs.js} +1 -1
  34. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-DAgN7zN2.js → StaffPanel.vue_vue_type_script_setup_true_lang-CXjUzq7n.js} +2 -2
  35. package/dist/{SysUser-kwnzRNdD.js → SysUser-BvI6vaqI.js} +2 -2
  36. package/dist/{SysUserPanel-DTlZf3vk.js → SysUserPanel-C9V8X-Ek.js} +1 -1
  37. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-bMqTui07.js +343 -0
  38. package/dist/{SystemMenu-BVT0n-L2.js → SystemMenu-D4WME5d0.js} +27 -27
  39. package/dist/{UserInfo-BbTQ9Zat.js → UserInfo-D-AfdfJs.js} +1 -1
  40. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-D_bpYDmI.js → UserInfo.vue_vue_type_style_index_0_lang-C-JQYIxe.js} +41 -39
  41. package/dist/{childView-BJbIhjmf.js → childView--WMSo-wH.js} +1 -1
  42. package/dist/{childView-DCsGFrG-.js → childView-1MTl6Kaj.js} +1 -1
  43. package/dist/childView.vue_vue_type_style_index_0_lang-B8Losc4Y.js +170 -0
  44. package/dist/{childView.vue_vue_type_style_index_0_lang-BCDxpVoD.js → childView.vue_vue_type_style_index_0_lang-BAVKNIXs.js} +1 -1
  45. package/dist/{code-rule-DePU6cdp.js → code-rule-D-RqrQB6.js} +42 -41
  46. package/dist/core.es.js +19 -10
  47. package/dist/{cron-task-DUM1SIGL.js → cron-task-D-X-KFZm.js} +11 -11
  48. package/dist/flow-task-B07st2aD.js +10 -0
  49. package/dist/{frameView-CEUTDtSm.js → frameView-MAW_-GHJ.js} +1 -1
  50. package/dist/index-Bc9vCX7z.js +2904 -0
  51. package/dist/{layoutView-PCjwVwkX.js → layoutView-De2QIEr2.js} +1639 -1629
  52. package/dist/{log-in-e7D5Ss1P.js → log-in-CpGqc33f.js} +5 -4
  53. package/dist/{log-out--RRncZhN.js → log-out-D1b4VRMZ.js} +30 -24
  54. package/dist/{login-log-CvVnyGi3.js → login-log-BNRXLeMi.js} +4 -3
  55. package/dist/login-rdZ0GPYc.js +249 -0
  56. package/dist/{lov-view-D8wwkxFJ.js → lov-view-Ao7LMspL.js} +5 -5
  57. package/dist/{menuInfo-B5JKVwrB.js → menuInfo-DmOcK6An.js} +1 -1
  58. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-CcM9WX4n.js → menuInfo.vue_vue_type_style_index_0_lang-Ln-zFWV7.js} +121 -99
  59. package/dist/{pda-app-DIa1p1Ww.js → pda-app-DY63mQ2T.js} +202 -188
  60. package/dist/{resource-CCQ7Dd-5.js → resource-B21uV58T.js} +18 -18
  61. package/dist/{su-welcome-CLp9YaJa.js → su-welcome-DgjzJeDF.js} +122 -121
  62. package/dist/sys-config-DOtK2I32.js +370 -0
  63. package/dist/udp-core.css +1 -9
  64. package/dist/utogether-MlnyYtNS.js +4 -0
  65. package/index.ts +19 -6
  66. package/package.json +1 -1
  67. package/src/App.vue +65 -70
  68. package/src/api/http.ts +1 -4
  69. package/src/api/index.ts +5 -3
  70. package/src/api/user.ts +2 -2
  71. package/src/components/SuCharts/src/UserInfo.vue +3 -3
  72. package/src/components/SuScrollTree/ScrollPanel.vue +4 -9
  73. package/src/components/udp/content/index.vue +88 -0
  74. package/src/components/udp/form/form.vue +109 -0
  75. package/src/components/udp/{grid.vue → grid/index.vue} +524 -500
  76. package/src/components/udp/index.ts +4 -6
  77. package/src/components/udp/ut-stamp-badge/index.vue +272 -0
  78. package/src/components/udp/utils.ts +408 -379
  79. package/src/directives/permission/index.ts +1 -1
  80. package/src/layout/components/lay-navbar/index.vue +8 -6
  81. package/src/layout/components/lay-panel/index.vue +150 -150
  82. package/src/layout/components/lay-search/index.vue +1 -1
  83. package/src/layout/components/lay-select-org/index.vue +4 -9
  84. package/src/layout/components/lay-sidebar/horizontal.vue +8 -6
  85. package/src/layout/components/lay-sidebar/mixNav.vue +260 -258
  86. package/src/layout/components/lay-sidebar/sidebar-logo.vue +8 -12
  87. package/src/layout/components/lay-tag/index.vue +596 -625
  88. package/src/layout/hooks/useTag.ts +12 -18
  89. package/src/layout/types.ts +3 -2
  90. package/src/main.ts +115 -110
  91. package/src/plugins/i18n/en.ts +302 -291
  92. package/src/plugins/i18n/module/u-workflow.ts +1 -1
  93. package/src/plugins/i18n/zh.ts +362 -338
  94. package/src/plugins/vxe-table/index.ts +116 -53
  95. package/src/plugins/vxe-table/render.tsx +183 -57
  96. package/src/router/index.ts +101 -97
  97. package/src/router/modules/flow.ts +35 -0
  98. package/src/router/modules/remaining.ts +1 -26
  99. package/src/router/utils.ts +50 -7
  100. package/src/store/modules/app.ts +1 -3
  101. package/src/store/modules/multiTags.ts +15 -14
  102. package/src/store/modules/permission.ts +25 -15
  103. package/src/store/modules/system.ts +1 -3
  104. package/src/style/button.scss +85 -85
  105. package/src/style/login.css +1 -1
  106. package/src/style/vxetable.scss +348 -258
  107. package/src/utils/authority/index.ts +1 -1
  108. package/src/utils/index.ts +3 -1
  109. package/src/utils/propTypes.ts +1 -6
  110. package/src/utils/{http → udp/http}/index.ts +27 -30
  111. package/src/utils/{http → udp/http}/types.d.ts +2 -6
  112. package/src/views/login/login-view.vue +6 -20
  113. package/src/views/organization/company/CompanyPanel.vue +259 -259
  114. package/src/views/organization/department/DepartmentPanel.vue +6 -20
  115. package/src/views/organization/inv-org/InvOrganization.vue +22 -7
  116. package/src/views/organization/org/Org.vue +9 -5
  117. package/src/views/system/cron/cron-task.vue +2 -12
  118. package/src/views/system/menu/SystemMenu.vue +185 -197
  119. package/src/views/system/menu/menuInfo.vue +384 -372
  120. package/src/views/system/role/AuthorityInfo.vue +19 -15
  121. package/src/views/system/role/Role.vue +1 -5
  122. package/src/views/system/role/RolePanel.vue +11 -2
  123. package/src/views/system/role/UserInfo.vue +11 -9
  124. package/src/views/system/role-assign/RoleAssign.vue +2 -2
  125. package/src/views/system/role-assign/RolePanel.vue +12 -9
  126. package/src/views/system/sys/sys-config.vue +70 -21
  127. package/src/views/system/sysUser/SysUserPanel.vue +132 -62
  128. package/src/views/uapp/pda/pda-app.vue +48 -16
  129. package/src/views/udev/coderule/code-rule.vue +132 -121
  130. package/src/views/udev/dict/DictView.vue +118 -106
  131. package/src/views/udev/dict/childView.vue +71 -111
  132. package/src/views/udev/lov/childView.vue +1 -7
  133. package/src/views/udev/lov/lov-view.vue +91 -91
  134. package/src/views/ufile/aggregation/File.vue +5 -5
  135. package/src/views/ufile/file/water-mark.vue +14 -14
  136. package/src/views/uhome/components/menu-favorite.vue +314 -331
  137. package/src/views/uhome/su-welcome.vue +3 -3
  138. package/src/views/ulogin/login.vue +19 -12
  139. package/src/views/upms/interface/log-in.vue +2 -8
  140. package/src/views/upms/interface/log-out.vue +2 -8
  141. package/src/views/upms/user/login-log.vue +2 -8
  142. package/src/views/urpt/design/DesignPanel.vue +16 -35
  143. package/src/views/urpt/design/Preview.vue +1 -0
  144. package/src/views/urpt/design/ReportDesign.vue +17 -23
  145. package/src/views/urpt/static-resource/resource.vue +3 -3
  146. package/src/views/urpt/template/ReportTemplate.vue +7 -7
  147. package/src/views/utask/flow-task.vue +18 -0
  148. package/types/global.d.ts +4 -9
  149. package/vite.config.ts +2 -1
  150. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-Bwsf6lMH.js +0 -102
  151. package/dist/DictView-BnxfaOBv.js +0 -96
  152. package/dist/InvOrganization-5y79ZLdY.js +0 -66
  153. package/dist/Org-2oBAXN2r.js +0 -35
  154. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-t6S_0zmJ.js +0 -126
  155. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-BW6PlGjM.js +0 -288
  156. package/dist/childView.vue_vue_type_style_index_0_lang-CDtsalCm.js +0 -187
  157. package/dist/index-ZdgOD7cF.js +0 -3399
  158. package/dist/login-B1CjWVKu.js +0 -252
  159. package/dist/sys-config-BBmf_SqF.js +0 -277
  160. package/dist/utogether-Bkptx2lB.js +0 -182
  161. package/src/components/udp/form-upload.vue +0 -183
  162. package/src/components/udp/lov.vue +0 -410
  163. package/src/components/udp/modal-form.vue +0 -180
  164. package/src/components/udp/modal-grid.vue +0 -297
  165. package/src/utils/udp/useRender.ts +0 -420
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { usePermissionStoreHook } from '../../store/modules/permission';
10
10
  import type { Directive } from 'vue';
11
- import router from '../../router';
11
+ import { router } from '../../router';
12
12
  import type { DirectiveBinding } from 'vue';
13
13
 
14
14
  export const auth: Directive = {
@@ -2,7 +2,7 @@
2
2
  * @Author: wei.li
3
3
  * @Date: 2021-11-17 16:02:30
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-04-16 16:20:09
5
+ * @LastEditTime: 2025-08-29 08:57:37
6
6
  * @Description: file content
7
7
  -->
8
8
  <template>
@@ -20,16 +20,14 @@
20
20
 
21
21
  <div v-if="layout === 'vertical'" class="vertical-header-right">
22
22
  <!-- 业务单元选择 -->
23
- <OrgSelect />
23
+ <OrgSelect v-if="sysConfig['orgTaggle'] === 'Y'" />
24
24
  <!-- 菜单搜索 -->
25
25
  <Search />
26
26
  <!-- 通知 -->
27
27
  <!-- <Notice id="header-notice" /> -->
28
28
  <!-- 国际化 -->
29
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
- />
30
+ <globalization class="navbar-bg-hover w-[40px] h-[48px] p-[11px] cursor-pointer outline-hidden" />
33
31
  <template #dropdown>
34
32
  <el-dropdown-menu class="translation">
35
33
  <el-dropdown-item
@@ -98,7 +96,7 @@ export default { name: 'NavBar' };
98
96
  </script>
99
97
  <script setup lang="ts">
100
98
  import { ref } from 'vue';
101
- // import { useRouter } from 'vue-router';
99
+ import { storageLocal } from '@utogether/utils';
102
100
  import Hamburger from '../lay-sidebar/hamBurger.vue';
103
101
  import Breadcrumb from '../lay-sidebar/breadCrumb.vue';
104
102
  // import Notice from './lay-notice/index.vue';
@@ -109,6 +107,7 @@ import OrgSelect from '../lay-select-org/index.vue';
109
107
  import { useTranslationLang } from '../../hooks/useTranslationLang';
110
108
  import globalization from '../../../assets/svg/globalization.svg?component';
111
109
  import avatars from '../../../assets/images/avatars.jpg';
110
+ import { kSYSCONFIG } from '../../../contant';
112
111
 
113
112
  // const router = useRouter();
114
113
  // const route = useRoute();
@@ -131,6 +130,9 @@ const {
131
130
  const { locale, translationCh, translationEn } = useTranslationLang();
132
131
 
133
132
  const record: IRecord = {};
133
+
134
+ const sysConfig = storageLocal.getItem(kSYSCONFIG) || {};
135
+
134
136
  /**
135
137
  * @description: 重置密码
136
138
  */
@@ -1,150 +1,150 @@
1
- <!--
2
- * @Author: wei.li
3
- * @Date: 2021-12-23 17:33:20
4
- * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-04-16 15:54:13
6
- * @Description: 个性化设置页面
7
- -->
8
- <script setup lang="ts">
9
- import { ref, computed, onMounted, onBeforeUnmount } from 'vue';
10
- import { useDataThemeChange } from '../../hooks/useDataThemeChange';
11
- import { onClickOutside } from '@vueuse/core';
12
- import { emitter } from '../../../utils/mitt';
13
-
14
- const target = ref(null);
15
- const show = ref<Boolean>(false);
16
-
17
- const iconClass = computed(() => {
18
- return [
19
- 'w-[22px]',
20
- 'h-[22px]',
21
- 'flex',
22
- 'justify-center',
23
- 'items-center',
24
- 'outline-hidden',
25
- 'rounded-[4px]',
26
- 'cursor-pointer',
27
- 'transition-colors',
28
- 'hover:bg-[#0000000f]',
29
- 'dark:hover:bg-[#ffffff1f]',
30
- 'dark:hover:text-[#ffffffd9]'
31
- ];
32
- });
33
-
34
- const { onReset } = useDataThemeChange();
35
- onClickOutside(target, (event: any) => {
36
- if (event.clientX > target.value.offsetLeft) return;
37
- show.value = false;
38
- });
39
-
40
- onMounted(() => {
41
- emitter.on('openPanel', () => {
42
- show.value = true;
43
- });
44
- });
45
-
46
- onBeforeUnmount(() => {
47
- // 解绑`openPanel`公共事件,防止多次触发
48
- emitter.off('openPanel');
49
- });
50
- </script>
51
-
52
- <template>
53
- <div :class="{ show }">
54
- <div class="right-panel-background" />
55
- <div ref="target" class="right-panel bg-bg_color">
56
- <div
57
- class="project-configuration border-0 border-b-[1px] border-solid border-[var(--pure-border-color)]"
58
- >
59
- <h4 class="dark:text-white">{{ $t('message.tip.projectConfig') }}</h4>
60
- <span
61
- v-tippy="{
62
- content: $t('message.tip.closeConfig'),
63
- placement: 'bottom-start',
64
- zIndex: 41000
65
- }"
66
- :class="iconClass"
67
- >
68
- <IconifyIconOffline
69
- class="dark:text-white"
70
- width="18px"
71
- height="18px"
72
- icon="ri:close-line"
73
- @click="show = !show"
74
- />
75
- </span>
76
- </div>
77
- <el-scrollbar>
78
- <slot />
79
- </el-scrollbar>
80
-
81
- <div
82
- class="flex justify-end p-3 border-0 border-t-[1px] border-solid border-[var(--pure-border-color)]"
83
- >
84
- <el-button
85
- v-tippy="{
86
- content: $t('message.tip.toLogin'),
87
- placement: 'left-start',
88
- zIndex: 41000
89
- }"
90
- type="danger"
91
- text
92
- bg
93
- @click="onReset"
94
- >
95
- {{ $t('message.tip.clearCache') }}
96
- </el-button>
97
- </div>
98
- </div>
99
- </div>
100
- </template>
101
-
102
- <style lang="scss" scoped>
103
- :deep(.el-scrollbar) {
104
- height: calc(100vh - 110px);
105
- }
106
-
107
- .right-panel-background {
108
- position: fixed;
109
- top: 0;
110
- left: 0;
111
- z-index: -1;
112
- background: rgb(0 0 0 / 20%);
113
- opacity: 0;
114
- transition: opacity 0.3s cubic-bezier(0.7, 0.3, 0.1, 1);
115
- }
116
-
117
- .right-panel {
118
- position: fixed;
119
- top: 0;
120
- right: 0;
121
- z-index: 40000;
122
- width: 100%;
123
- max-width: 300px;
124
- box-shadow: 0 0 15px 0 rgb(0 0 0 / 5%);
125
- transform: translate(100%);
126
- transition: all 0.25s cubic-bezier(0.7, 0.3, 0.1, 1);
127
- }
128
-
129
- .show {
130
- transition: all 0.3s cubic-bezier(0.7, 0.3, 0.1, 1);
131
-
132
- .right-panel-background {
133
- z-index: 20000;
134
- width: 100%;
135
- height: 100%;
136
- opacity: 1;
137
- }
138
-
139
- .right-panel {
140
- transform: translate(0);
141
- }
142
- }
143
-
144
- .project-configuration {
145
- display: flex;
146
- align-items: center;
147
- justify-content: space-between;
148
- padding: 14px 20px;
149
- }
150
- </style>
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-12-23 17:33:20
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-07-31 10:15:40
6
+ * @Description: 个性化设置页面
7
+ -->
8
+ <script setup lang="ts">
9
+ import { ref, computed, onMounted, onBeforeUnmount } from 'vue';
10
+ import { useDataThemeChange } from '../../hooks/useDataThemeChange';
11
+ import { onClickOutside } from '@vueuse/core';
12
+ import { emitter } from '../../../utils/mitt';
13
+
14
+ const target = ref(null);
15
+ const show = ref<Boolean>(false);
16
+
17
+ const iconClass = computed(() => {
18
+ return [
19
+ 'w-[22px]',
20
+ 'h-[22px]',
21
+ 'flex',
22
+ 'justify-center',
23
+ 'items-center',
24
+ 'outline-hidden',
25
+ 'rounded-[4px]',
26
+ 'cursor-pointer',
27
+ 'transition-colors',
28
+ 'hover:bg-[#0000000f]',
29
+ 'dark:hover:bg-[#ffffff1f]',
30
+ 'dark:hover:text-[#ffffffd9]'
31
+ ];
32
+ });
33
+
34
+ const { onReset } = useDataThemeChange();
35
+ onClickOutside(target, (event: any) => {
36
+ if (event.clientX > target.value.offsetLeft) return;
37
+ show.value = false;
38
+ });
39
+
40
+ onMounted(() => {
41
+ emitter.on('openPanel', () => {
42
+ show.value = true;
43
+ });
44
+ });
45
+
46
+ onBeforeUnmount(() => {
47
+ // 解绑`openPanel`公共事件,防止多次触发
48
+ emitter.off('openPanel');
49
+ });
50
+ </script>
51
+
52
+ <template>
53
+ <div :class="{ show }">
54
+ <div class="right-panel-background" />
55
+ <div ref="target" class="right-panel bg-bg_color bg-white">
56
+ <div
57
+ class="project-configuration border-0 border-b-[1px] border-solid border-[var(--pure-border-color)]"
58
+ >
59
+ <h4 class="dark:text-white">{{ $t('message.tip.projectConfig') }}</h4>
60
+ <span
61
+ v-tippy="{
62
+ content: $t('message.tip.closeConfig'),
63
+ placement: 'bottom-start',
64
+ zIndex: 41000
65
+ }"
66
+ :class="iconClass"
67
+ >
68
+ <IconifyIconOffline
69
+ class="dark:text-white"
70
+ width="18px"
71
+ height="18px"
72
+ icon="ri:close-line"
73
+ @click="show = !show"
74
+ />
75
+ </span>
76
+ </div>
77
+ <el-scrollbar>
78
+ <slot />
79
+ </el-scrollbar>
80
+
81
+ <div
82
+ class="flex justify-end p-3 border-0 border-t-[1px] border-solid border-[var(--pure-border-color)]"
83
+ >
84
+ <el-button
85
+ v-tippy="{
86
+ content: $t('message.tip.toLogin'),
87
+ placement: 'left-start',
88
+ zIndex: 41000
89
+ }"
90
+ type="danger"
91
+ text
92
+ bg
93
+ @click="onReset"
94
+ >
95
+ {{ $t('message.tip.clearCache') }}
96
+ </el-button>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ </template>
101
+
102
+ <style lang="scss" scoped>
103
+ :deep(.el-scrollbar) {
104
+ height: calc(100vh - 110px);
105
+ }
106
+
107
+ .right-panel-background {
108
+ position: fixed;
109
+ top: 0;
110
+ left: 0;
111
+ z-index: -1;
112
+ background: rgb(0 0 0 / 20%);
113
+ opacity: 0;
114
+ transition: opacity 0.3s cubic-bezier(0.7, 0.3, 0.1, 1);
115
+ }
116
+
117
+ .right-panel {
118
+ position: fixed;
119
+ top: 0;
120
+ right: 0;
121
+ z-index: 400000;
122
+ width: 100%;
123
+ max-width: 300px;
124
+ box-shadow: 0 0 15px 0 rgb(0 0 0 / 5%);
125
+ transform: translate(100%);
126
+ transition: all 0.25s cubic-bezier(0.7, 0.3, 0.1, 1);
127
+ }
128
+
129
+ .show {
130
+ transition: all 0.3s cubic-bezier(0.7, 0.3, 0.1, 1);
131
+
132
+ .right-panel-background {
133
+ z-index: 20000;
134
+ width: 100%;
135
+ height: 100%;
136
+ opacity: 1;
137
+ }
138
+
139
+ .right-panel {
140
+ transform: translate(0);
141
+ }
142
+ }
143
+
144
+ .project-configuration {
145
+ display: flex;
146
+ align-items: center;
147
+ justify-content: space-between;
148
+ padding: 14px 20px;
149
+ }
150
+ </style>
@@ -16,7 +16,7 @@ function handleSearch() {
16
16
 
17
17
  <template>
18
18
  <div
19
- class="search-container w-[40px] h-[48px] flex-c cursor-pointer navbar-bg-hover"
19
+ class="search-container w-[40px] h-[48px] px-2 flex justify-center items-center cursor-pointer navbar-bg-hover"
20
20
  @click="handleSearch"
21
21
  >
22
22
  <IconifyIconOffline icon="ri:search-line" />
@@ -2,7 +2,7 @@
2
2
  * @Author: wei.li
3
3
  * @Date: 2021-11-27 16:16:11
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-04-16 14:27:14
5
+ * @LastEditTime: 2025-09-22 09:47:39
6
6
  * @Description: file content
7
7
  -->
8
8
 
@@ -10,12 +10,7 @@
10
10
  <template>
11
11
  <div style="width: 240px">
12
12
  <el-select v-model="orgId" size="small" @change="onChange">
13
- <el-option
14
- v-for="element in orgList"
15
- :key="element.id"
16
- :label="element.orgName"
17
- :value="element.id"
18
- />
13
+ <el-option v-for="element in orgList" :key="element.id" :label="element.orgName" :value="element.id" />
19
14
  </el-select>
20
15
  </div>
21
16
  </template>
@@ -47,8 +42,8 @@ const onChange = async orgId => {
47
42
  const [err, data]: [Error, any] = await to(getServiceApi().get('/uums/cusOrganization', query));
48
43
  if (!err && data.list?.length) {
49
44
  useSystemStoreHook().setInvOrgList(data.list || []);
50
- const invOrg = data.list.find(f => f.orgId === orgId);
51
- organizationId = invOrg.id;
45
+ const invOrg = data?.list?.find(f => f.orgId === orgId);
46
+ organizationId = invOrg?.id;
52
47
  useSystemStoreHook().setOrganizationId(organizationId);
53
48
  }
54
49
  const param = { orgId, organizationId };
@@ -21,6 +21,10 @@ const routeStore = usePermissionStoreHook();
21
21
  const sysConfig = storageLocal.getItem(kSYSCONFIG) || {};
22
22
 
23
23
  const logo = ref(sysConfig['logo'] || utogether);
24
+ const showTitle = ref(sysConfig['showTitle']);
25
+
26
+ console.log({ showTitle });
27
+
24
28
  const {
25
29
  title,
26
30
  logout,
@@ -64,7 +68,7 @@ export default { name: 'LayoutHorizontal' };
64
68
  <div v-spinning="usePermissionStoreHook().wholeMenus.length === 0" class="horizontal-header">
65
69
  <div class="flex flex-1 horizontal-header-left" @click="backHome">
66
70
  <img :src="logo" class="h-full" />
67
- <span class="text-xl u-project-text">{{ title }}</span>
71
+ <span v-if="showTitle === 'Y'" class="text-xl u-project-text">{{ title }}</span>
68
72
  </div>
69
73
  <el-scrollbar ref="refScrollbar" class="flex-[3]" @wheel.prevent="handleScroll">
70
74
  <template #default>
@@ -88,16 +92,14 @@ export default { name: 'LayoutHorizontal' };
88
92
  </el-scrollbar>
89
93
  <div class="horizontal-header-right flex-[2]">
90
94
  <!-- 业务单元选择 -->
91
- <OrgSelect class="udp-horizontal" />
95
+ <OrgSelect v-if="sysConfig['orgTaggle'] === 'Y'" class="udp-horizontal" />
92
96
  <!-- 菜单搜索 -->
93
97
  <Search />
94
98
  <!-- 通知 -->
95
99
  <!-- <Notice id="header-notice" /> -->
96
100
  <!-- 国际化 -->
97
- <el-dropdown id="header-translation" trigger="click">
98
- <globalization
99
- class="navbar-bg-hover w-[40px] h-[48px] p-[11px] cursor-pointer outline-hidden"
100
- />
101
+ <el-dropdown id="header-translation" class="px-2" trigger="click">
102
+ <globalization class="navbar-bg-hover w-[40px] h-[48px] p-[11px] cursor-pointer outline-hidden" />
101
103
  <template #dropdown>
102
104
  <el-dropdown-menu class="translation">
103
105
  <el-dropdown-item