@utogether/udp-core 1.0.0

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 (343) hide show
  1. package/build/index.ts +90 -0
  2. package/build/plugins.ts +26 -0
  3. package/dist/403-B1R-4vXw.js +64 -0
  4. package/dist/404-fXPl8csw.js +64 -0
  5. package/dist/500-eI5842YB.js +66 -0
  6. package/dist/AuthorityInfo-CfVH6PaB.js +4 -0
  7. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-DbK-f8jH.js +102 -0
  8. package/dist/AuthorityPanel-BaLMwMgW.js +4 -0
  9. package/dist/AuthorityPanel.vue_vue_type_style_index_0_lang-C_bkqLD9.js +107 -0
  10. package/dist/Company-CYC9Avfz.js +25 -0
  11. package/dist/CompanyPanel-B4MzoqN_.js +206 -0
  12. package/dist/DataSet-DT-rGICv.js +147 -0
  13. package/dist/Department-B4BNSiYx.js +25 -0
  14. package/dist/DepartmentPanel-zJO89L2O.js +224 -0
  15. package/dist/DesignPanel-S8P0J97f.js +4 -0
  16. package/dist/DesignPanel.vue_vue_type_style_index_0_lang-DW-_Vqrr.js +1015 -0
  17. package/dist/DictView-bIS5-rK-.js +95 -0
  18. package/dist/InvOrganization-MuM2jtsG.js +66 -0
  19. package/dist/Org-kXHSjsgJ.js +35 -0
  20. package/dist/Preview-CRyiwUIR.js +48 -0
  21. package/dist/ReportDefine-WZYIx8Sm.js +10 -0
  22. package/dist/ReportDesign-D-7GKgpb.js +165 -0
  23. package/dist/ReportQuery-BIIJny6w.js +75 -0
  24. package/dist/ReportQueryFrom-OoUl7N2O.js +4 -0
  25. package/dist/ReportQueryFrom.vue_vue_type_style_index_0_lang-B878fgj8.js +177 -0
  26. package/dist/ReportTemplate-Cfeq9US-.js +161 -0
  27. package/dist/Role-BwTV2QMH.js +25 -0
  28. package/dist/RoleAssign-De1JjOun.js +26 -0
  29. package/dist/RolePanel-E3RcdByM.js +4 -0
  30. package/dist/RolePanel-pUBXsqCM.js +4 -0
  31. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-B2pQwHb0.js +148 -0
  32. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-CTIad9_Q.js +126 -0
  33. package/dist/ScrollPanel.vue_vue_type_style_index_0_lang-vMR1fBi0.js +100 -0
  34. package/dist/Staff-Czm7A8vI.js +25 -0
  35. package/dist/StaffInfo-DJzvBuxy.js +4 -0
  36. package/dist/StaffInfo.vue_vue_type_style_index_0_lang-DMTL7KCh.js +108 -0
  37. package/dist/StaffPanel-CHk60LEz.js +4 -0
  38. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-iPKLb5wG.js +114 -0
  39. package/dist/SysUser-BGwbttRn.js +15 -0
  40. package/dist/SysUserPanel-BCbKoLKt.js +4 -0
  41. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-0QUjnhjF.js +289 -0
  42. package/dist/SystemMenu-BkqZSDKl.js +151 -0
  43. package/dist/UserInfo-BsyAcT2d.js +4 -0
  44. package/dist/UserInfo.vue_vue_type_style_index_0_lang-D0-KDxAh.js +158 -0
  45. package/dist/await-to-js.es5-BtRbN2QH.js +10 -0
  46. package/dist/childView-CF83nhxb.js +4 -0
  47. package/dist/childView-CyuLTUqC.js +4 -0
  48. package/dist/childView.vue_vue_type_style_index_0_lang-CNSgGda3.js +187 -0
  49. package/dist/childView.vue_vue_type_style_index_0_lang-Cch4lE-i.js +144 -0
  50. package/dist/code-rule-Bz-gnktN.js +147 -0
  51. package/dist/core.es.js +13 -0
  52. package/dist/core.umd.js +173 -0
  53. package/dist/cron-task-CIifSUdW.js +135 -0
  54. package/dist/frameView-_d2mqjjQ.js +43 -0
  55. package/dist/img/l_img.svg +1 -0
  56. package/dist/img/minicolors.png +0 -0
  57. package/dist/img/v_img.svg +1 -0
  58. package/dist/index-BKIw8tSn.js +9195 -0
  59. package/dist/layoutView-DLKVepB8.js +3317 -0
  60. package/dist/log-in-e7D5Ss1P.js +110 -0
  61. package/dist/log-out--RRncZhN.js +120 -0
  62. package/dist/login-LREiDfFU.js +251 -0
  63. package/dist/login-log-CvVnyGi3.js +68 -0
  64. package/dist/lov-view-DDrIVILB.js +97 -0
  65. package/dist/menuInfo-B1FUV-Sk.js +4 -0
  66. package/dist/menuInfo.vue_vue_type_style_index_0_lang-Cnk3vdtD.js +338 -0
  67. package/dist/pda-app-CRhVGijN.js +2209 -0
  68. package/dist/redirect-DiaNDu8F.js +15 -0
  69. package/dist/resource-BCwx9fEv.js +97 -0
  70. package/dist/su-welcome-189A7N4r.js +526 -0
  71. package/dist/sys-config-BZ3sejow.js +277 -0
  72. package/dist/udp-core.css +9 -0
  73. package/dist/utogether-r08LNiIZ.js +182 -0
  74. package/index.ts +36 -0
  75. package/package.json +16 -0
  76. package/public/img/l_img.svg +1 -0
  77. package/public/img/minicolors.png +0 -0
  78. package/public/img/v_img.svg +1 -0
  79. package/src/App.vue +70 -0
  80. package/src/api/http.ts +50 -0
  81. package/src/api/index.ts +31 -0
  82. package/src/api/mock.ts +20 -0
  83. package/src/api/user.ts +43 -0
  84. package/src/assets/images/avatars.jpg +0 -0
  85. package/src/assets/images/empty.png +0 -0
  86. package/src/assets/images/login.png +0 -0
  87. package/src/assets/images/logo.png +0 -0
  88. package/src/assets/images/mask-text.jpg +0 -0
  89. package/src/assets/images/minicolors.png +0 -0
  90. package/src/assets/images/utogether.png +0 -0
  91. package/src/assets/images/welcome.png +0 -0
  92. package/src/assets/status/403.svg +1 -0
  93. package/src/assets/status/404.svg +1 -0
  94. package/src/assets/status/500.svg +1 -0
  95. package/src/assets/svg/back_top.svg +1 -0
  96. package/src/assets/svg/bg.svg +1 -0
  97. package/src/assets/svg/close.svg +1 -0
  98. package/src/assets/svg/close_all.svg +1 -0
  99. package/src/assets/svg/close_left.svg +1 -0
  100. package/src/assets/svg/close_other.svg +1 -0
  101. package/src/assets/svg/close_right.svg +1 -0
  102. package/src/assets/svg/dark.svg +1 -0
  103. package/src/assets/svg/day.svg +1 -0
  104. package/src/assets/svg/enter_outlined.svg +1 -0
  105. package/src/assets/svg/exit_screen.svg +1 -0
  106. package/src/assets/svg/full_screen.svg +1 -0
  107. package/src/assets/svg/globalization.svg +1 -0
  108. package/src/assets/svg/loading.svg +17 -0
  109. package/src/assets/svg/mdi_keyboard_esc.svg +1 -0
  110. package/src/assets/svg/refresh.svg +1 -0
  111. package/src/assets/svg/system.svg +1 -0
  112. package/src/components/ReCountTo/README.md +2 -0
  113. package/src/components/ReCountTo/index.ts +18 -0
  114. package/src/components/ReCountTo/src/normal/index.tsx +165 -0
  115. package/src/components/ReCountTo/src/normal/props.ts +37 -0
  116. package/src/components/ReCountTo/src/rebound/index.tsx +67 -0
  117. package/src/components/ReCountTo/src/rebound/props.ts +14 -0
  118. package/src/components/ReCountTo/src/rebound/rebound.css +77 -0
  119. package/src/components/ReCropper/index.ts +14 -0
  120. package/src/components/ReCropper/src/index.tsx +141 -0
  121. package/src/components/ReFlicker/index.css +39 -0
  122. package/src/components/ReFlicker/index.ts +50 -0
  123. package/src/components/ReFlop/index.ts +14 -0
  124. package/src/components/ReFlop/src/Filpper.tsx +99 -0
  125. package/src/components/ReFlop/src/filpper.css +184 -0
  126. package/src/components/ReFlop/src/index.vue +126 -0
  127. package/src/components/ReFlowChart/index.ts +24 -0
  128. package/src/components/ReFlowChart/src/Control.vue +139 -0
  129. package/src/components/ReFlowChart/src/DataDialog.vue +12 -0
  130. package/src/components/ReFlowChart/src/NodePanel.vue +151 -0
  131. package/src/components/ReFlowChart/src/adpterForTurbo.ts +160 -0
  132. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.css +49 -0
  133. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.eot +0 -0
  134. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.js +61 -0
  135. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.json +58 -0
  136. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.svg +47 -0
  137. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.ttf +0 -0
  138. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.woff +0 -0
  139. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.woff2 +0 -0
  140. package/src/components/ReFlowChart/src/config.ts +62 -0
  141. package/src/components/ReIcon/index.ts +12 -0
  142. package/src/components/ReIcon/src/Icon.vue +81 -0
  143. package/src/components/ReIcon/src/hooks.ts +63 -0
  144. package/src/components/ReIcon/src/iconfont.ts +45 -0
  145. package/src/components/ReIcon/src/iconifyIconOffline.ts +36 -0
  146. package/src/components/ReIcon/src/iconifyIconOnline.ts +28 -0
  147. package/src/components/ReIcon/src/offlineIcon.ts +64 -0
  148. package/src/components/ReIcon/src/types.ts +20 -0
  149. package/src/components/ReSplitPane/index.css +49 -0
  150. package/src/components/ReSplitPane/index.tsx +119 -0
  151. package/src/components/ReSplitPane/resizer.css +45 -0
  152. package/src/components/ReSplitPane/resizer.tsx +30 -0
  153. package/src/components/SuCharts/index.ts +36 -0
  154. package/src/components/SuCharts/src/EchartBar.vue +134 -0
  155. package/src/components/SuCharts/src/UserInfo.vue +78 -0
  156. package/src/components/SuCharts/src/echart-line.vue +85 -0
  157. package/src/components/SuCharts/src/echart-pie.vue +95 -0
  158. package/src/components/SuCommon/card/components/Card.vue +148 -0
  159. package/src/components/SuCommon/card/components/DialogForm.vue +127 -0
  160. package/src/components/SuCommon/card/index.vue +142 -0
  161. package/src/components/SuCommon/icon-select/index.vue +241 -0
  162. package/src/components/SuCommon/table/index.vue +208 -0
  163. package/src/components/SuCommon/utils/index.ts +103 -0
  164. package/src/components/SuCommon/utils/slot.tsx +50 -0
  165. package/src/components/SuFloatButton/index.vue +159 -0
  166. package/src/components/SuQrcode/index.ts +14 -0
  167. package/src/components/SuQrcode/src/index.scss +9 -0
  168. package/src/components/SuQrcode/src/index.tsx +236 -0
  169. package/src/components/SuScrollTree/ScrollPanel.vue +175 -0
  170. package/src/components/SuTable/SuTable.vue +334 -0
  171. package/src/components/SuTypeit/index.ts +51 -0
  172. package/src/config/index.ts +35 -0
  173. package/src/contant/index.ts +20 -0
  174. package/src/directives/elResizeDetector/index.ts +33 -0
  175. package/src/directives/index.ts +11 -0
  176. package/src/directives/permission/index.ts +29 -0
  177. package/src/layout/components/lay-chrome/index.vue +30 -0
  178. package/src/layout/components/lay-content/index.vue +143 -0
  179. package/src/layout/components/lay-navbar/index.vue +237 -0
  180. package/src/layout/components/lay-notice/data.ts +59 -0
  181. package/src/layout/components/lay-notice/index.vue +83 -0
  182. package/src/layout/components/lay-notice/noticeItem.vue +160 -0
  183. package/src/layout/components/lay-notice/noticeList.vue +19 -0
  184. package/src/layout/components/lay-panel/index.vue +150 -0
  185. package/src/layout/components/lay-search/components/SearchFooter.vue +67 -0
  186. package/src/layout/components/lay-search/components/SearchModal.vue +189 -0
  187. package/src/layout/components/lay-search/components/SearchResult.vue +132 -0
  188. package/src/layout/components/lay-search/components/index.ts +10 -0
  189. package/src/layout/components/lay-search/index.vue +25 -0
  190. package/src/layout/components/lay-select-org/index.vue +69 -0
  191. package/src/layout/components/lay-setting/index.vue +510 -0
  192. package/src/layout/components/lay-sidebar/breadCrumb.vue +131 -0
  193. package/src/layout/components/lay-sidebar/extraIcon.vue +25 -0
  194. package/src/layout/components/lay-sidebar/hamBurger.vue +72 -0
  195. package/src/layout/components/lay-sidebar/horizontal.vue +191 -0
  196. package/src/layout/components/lay-sidebar/mixNav.vue +258 -0
  197. package/src/layout/components/lay-sidebar/sidebar-logo.vue +98 -0
  198. package/src/layout/components/lay-sidebar/sidebarItem.vue +205 -0
  199. package/src/layout/components/lay-sidebar/vertical.vue +94 -0
  200. package/src/layout/components/lay-tag/index.scss +375 -0
  201. package/src/layout/components/lay-tag/index.vue +625 -0
  202. package/src/layout/frameView.vue +71 -0
  203. package/src/layout/hooks/useBoolean.ts +33 -0
  204. package/src/layout/hooks/useDataThemeChange.ts +142 -0
  205. package/src/layout/hooks/useLayout.ts +65 -0
  206. package/src/layout/hooks/useNav.ts +173 -0
  207. package/src/layout/hooks/useTag.ts +233 -0
  208. package/src/layout/hooks/useTranslationLang.ts +51 -0
  209. package/src/layout/layoutView.vue +215 -0
  210. package/src/layout/redirect.vue +30 -0
  211. package/src/layout/routerView/parent.vue +23 -0
  212. package/src/layout/types.ts +92 -0
  213. package/src/main.ts +108 -0
  214. package/src/plugins/echarts/index.ts +58 -0
  215. package/src/plugins/echarts/theme.json +394 -0
  216. package/src/plugins/i18n/en.ts +289 -0
  217. package/src/plugins/i18n/index.ts +76 -0
  218. package/src/plugins/i18n/module/u-report.ts +64 -0
  219. package/src/plugins/i18n/module/u-workflow.ts +71 -0
  220. package/src/plugins/i18n/module/umsg.ts +28 -0
  221. package/src/plugins/i18n/zh.ts +337 -0
  222. package/src/plugins/vxe-table/index.ts +46 -0
  223. package/src/plugins/vxe-table/render.tsx +397 -0
  224. package/src/router/createComponent.tsx +25 -0
  225. package/src/router/index.ts +183 -0
  226. package/src/router/modules/error.ts +32 -0
  227. package/src/router/modules/home.ts +32 -0
  228. package/src/router/modules/nested.ts +93 -0
  229. package/src/router/modules/remaining.ts +83 -0
  230. package/src/router/modules/tabs.ts +55 -0
  231. package/src/router/utils.ts +377 -0
  232. package/src/store/index.ts +9 -0
  233. package/src/store/modules/app.ts +69 -0
  234. package/src/store/modules/epTheme.ts +49 -0
  235. package/src/store/modules/multiTags.ts +109 -0
  236. package/src/store/modules/permission.ts +103 -0
  237. package/src/store/modules/settings.ts +40 -0
  238. package/src/store/modules/system.ts +180 -0
  239. package/src/store/modules/types.ts +49 -0
  240. package/src/style/button.scss +78 -0
  241. package/src/style/clear-mixin.scss +28 -0
  242. package/src/style/dark.scss +218 -0
  243. package/src/style/element-plus.scss +206 -0
  244. package/src/style/index.scss +76 -0
  245. package/src/style/login.css +336 -0
  246. package/src/style/login2.css +106 -0
  247. package/src/style/print-lock.css +375 -0
  248. package/src/style/reset.scss +272 -0
  249. package/src/style/sidebar.scss +770 -0
  250. package/src/style/suprint.css +985 -0
  251. package/src/style/tailwind.css +68 -0
  252. package/src/style/theme.scss +143 -0
  253. package/src/style/transition.scss +42 -0
  254. package/src/style/vxetable.scss +256 -0
  255. package/src/utils/authority/index.ts +29 -0
  256. package/src/utils/browers.ts +59 -0
  257. package/src/utils/dataFormat/index.ts +223 -0
  258. package/src/utils/http/index.ts +297 -0
  259. package/src/utils/http/types.d.ts +46 -0
  260. package/src/utils/index.ts +47 -0
  261. package/src/utils/lifecycle.ts +20 -0
  262. package/src/utils/mitt.ts +19 -0
  263. package/src/utils/propTypes.ts +47 -0
  264. package/src/utils/storage/index.ts +51 -0
  265. package/src/views/components/contextmenu/basic.vue +74 -0
  266. package/src/views/components/contextmenu/context-menu.vue +40 -0
  267. package/src/views/components/contextmenu/menuDynamic.vue +99 -0
  268. package/src/views/components/contextmenu/menuGroup.vue +71 -0
  269. package/src/views/components/count-to/index.vue +43 -0
  270. package/src/views/components/cropping/index.vue +59 -0
  271. package/src/views/components/cropping/picture.jpeg +0 -0
  272. package/src/views/components/split-pane/index.vue +82 -0
  273. package/src/views/components/video/index.vue +57 -0
  274. package/src/views/error/403.vue +50 -0
  275. package/src/views/error/404.vue +50 -0
  276. package/src/views/error/500.vue +52 -0
  277. package/src/views/login/login-view.vue +314 -0
  278. package/src/views/login/utils/motion.ts +47 -0
  279. package/src/views/login/utils/rule.ts +70 -0
  280. package/src/views/login/utils/verifyCode.ts +52 -0
  281. package/src/views/organization/company/Company.vue +56 -0
  282. package/src/views/organization/company/CompanyPanel.vue +259 -0
  283. package/src/views/organization/department/Department.vue +58 -0
  284. package/src/views/organization/department/DepartmentPanel.vue +283 -0
  285. package/src/views/organization/inv-org/InvOrganization.vue +53 -0
  286. package/src/views/organization/org/Org.vue +43 -0
  287. package/src/views/organization/staff/Staff.vue +58 -0
  288. package/src/views/organization/staff/StaffInfo.vue +163 -0
  289. package/src/views/organization/staff/StaffPanel.vue +144 -0
  290. package/src/views/system/cron/cron-task.vue +157 -0
  291. package/src/views/system/menu/AuthorityPanel.vue +140 -0
  292. package/src/views/system/menu/SystemMenu.vue +191 -0
  293. package/src/views/system/menu/menuInfo.vue +368 -0
  294. package/src/views/system/role/AuthorityInfo.vue +147 -0
  295. package/src/views/system/role/Role.vue +57 -0
  296. package/src/views/system/role/RolePanel.vue +191 -0
  297. package/src/views/system/role/UserInfo.vue +193 -0
  298. package/src/views/system/role-assign/RoleAssign.vue +57 -0
  299. package/src/views/system/role-assign/RolePanel.vue +136 -0
  300. package/src/views/system/sys/sys-config.vue +291 -0
  301. package/src/views/system/sysUser/SysUser.vue +45 -0
  302. package/src/views/system/sysUser/SysUserPanel.vue +278 -0
  303. package/src/views/uapp/pda/pda-app.vue +176 -0
  304. package/src/views/udev/coderule/code-rule.vue +121 -0
  305. package/src/views/udev/dict/DictView.vue +106 -0
  306. package/src/views/udev/dict/childView.vue +222 -0
  307. package/src/views/udev/lov/childView.vue +180 -0
  308. package/src/views/udev/lov/lov-view.vue +91 -0
  309. package/src/views/ufile/aggregation/File.vue +87 -0
  310. package/src/views/ufile/file/water-mark.vue +103 -0
  311. package/src/views/uhome/components/menu-favorite.vue +331 -0
  312. package/src/views/uhome/su-welcome.vue +339 -0
  313. package/src/views/ulogin/login.vue +316 -0
  314. package/src/views/umsg/monitor/msg-monitor.vue +36 -0
  315. package/src/views/umsg/msg/TemplateContent.vue +103 -0
  316. package/src/views/umsg/msg/msg-template.vue +66 -0
  317. package/src/views/umsg/send/childView.vue +142 -0
  318. package/src/views/umsg/send/msg-send.vue +95 -0
  319. package/src/views/upms/interface/log-in.vue +106 -0
  320. package/src/views/upms/interface/log-out.vue +107 -0
  321. package/src/views/upms/user/login-log.vue +60 -0
  322. package/src/views/urpt/dataSet/DataSet.vue +139 -0
  323. package/src/views/urpt/design/DesignPanel.vue +526 -0
  324. package/src/views/urpt/design/Preview.vue +65 -0
  325. package/src/views/urpt/design/ReportDesign.vue +249 -0
  326. package/src/views/urpt/design/bg.png +0 -0
  327. package/src/views/urpt/design/panel.ts +841 -0
  328. package/src/views/urpt/design/print-data.ts +59 -0
  329. package/src/views/urpt/query/ReportQuery.vue +122 -0
  330. package/src/views/urpt/query/ReportQueryFrom.vue +252 -0
  331. package/src/views/urpt/report-request/ReportDefine.vue +10 -0
  332. package/src/views/urpt/static-resource/resource.vue +116 -0
  333. package/src/views/urpt/template/ReportTemplate.vue +198 -0
  334. package/tsconfig.json +30 -0
  335. package/types/env.d.ts +1 -0
  336. package/types/global-components.d.ts +12 -0
  337. package/types/global.d.ts +236 -0
  338. package/types/image.d.ts +7 -0
  339. package/types/index.d.ts +73 -0
  340. package/types/router.d.ts +107 -0
  341. package/types/shims-tsx.d.ts +22 -0
  342. package/types/shims-vue.d.ts +20 -0
  343. package/vite.config.ts +73 -0
@@ -0,0 +1,770 @@
1
+ @mixin merge-style(/* vertical模式下主体内容距离网页文档左侧的距离 */ $sideBarWidth) {
2
+ @media screen and (width >= 150px) and (width <= 420px) {
3
+ .app-main-nofixed-header {
4
+ overflow-y: hidden;
5
+ }
6
+ }
7
+
8
+ @media screen and (width >= 420px) {
9
+ .app-main-nofixed-header {
10
+ overflow: hidden;
11
+ }
12
+ }
13
+
14
+ /* popper menu 超出内容区可滚动 */
15
+ .udp-scrollbar {
16
+ max-height: calc(100vh - calc(50px * 2.5));
17
+ overflow: hidden auto;
18
+ }
19
+
20
+ .sub-menu-icon {
21
+ display: inline-flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ margin-right: 5px;
25
+ font-size: 18px;
26
+ vertical-align: middle;
27
+ }
28
+
29
+ .main-container {
30
+ position: relative;
31
+ height: 100vh;
32
+ min-height: 100%;
33
+ margin-left: $sideBarWidth;
34
+ background: #f0f2f5;
35
+
36
+ /* main-content属性动画 */
37
+ transition: margin-left var(--udp-transition-duration);
38
+
39
+ .el-scrollbar__wrap {
40
+ height: 100%;
41
+ overflow: auto;
42
+ }
43
+ }
44
+
45
+ .fixed-header {
46
+ position: fixed;
47
+ top: 0;
48
+ right: 0;
49
+ z-index: 998;
50
+ width: calc(100% - 210px);
51
+
52
+ /* fixed-header属性左上角动画 */
53
+ transition: width var(--udp-transition-duration);
54
+ }
55
+
56
+ .main-hidden {
57
+ margin-left: 0 !important;
58
+
59
+ .fixed-header {
60
+ width: 100% !important;
61
+
62
+ + .app-main {
63
+ padding-top: 37px !important;
64
+ }
65
+ }
66
+ }
67
+
68
+ // .el-popper.is-light {
69
+ // border: none !important;
70
+ // }
71
+
72
+ .sidebar-container {
73
+ position: fixed;
74
+ top: 0;
75
+ bottom: 0;
76
+ left: 0;
77
+ z-index: 1001;
78
+ width: $sideBarWidth !important;
79
+ height: 100%;
80
+ overflow: hidden;
81
+ font-size: 0;
82
+ background: var(--udp-theme-menu-text);
83
+ box-shadow: 0 0 1px #888;
84
+
85
+ /* 展开动画 */
86
+ transition: width var(--udp-transition-duration);
87
+
88
+ .scrollbar-wrapper {
89
+ overflow-x: hidden !important;
90
+ }
91
+
92
+ .el-scrollbar__bar.is-vertical {
93
+ right: 0;
94
+ }
95
+
96
+ // .el-scrollbar {
97
+ // height: 100%;
98
+ // }
99
+
100
+ &.has-logo {
101
+ .el-scrollbar.pc {
102
+ height: calc(100% - 50px);
103
+ }
104
+
105
+ .el-scrollbar.mobile {
106
+ height: calc(100% - 48px);
107
+ }
108
+ }
109
+
110
+ &.no-logo {
111
+ .el-scrollbar.pc {
112
+ /* leftCollapse: 40px、leftCollapse-shadow: 4px */
113
+ height: calc(100% - 44px);
114
+ }
115
+
116
+ .el-scrollbar.mobile {
117
+ height: 100%;
118
+ }
119
+ }
120
+
121
+ .is-horizontal {
122
+ display: none;
123
+ }
124
+
125
+ a {
126
+ display: flex;
127
+ flex-wrap: wrap;
128
+ justify-content: center;
129
+ width: 100%;
130
+ }
131
+
132
+ .el-menu {
133
+ height: 100%;
134
+ background-color: var(--udp-theme-sub-menu-bg) !important;
135
+ border: none;
136
+ }
137
+
138
+ .el-menu-item,
139
+ .el-sub-menu__title {
140
+ height: 50px;
141
+ color: var(--udp-theme-menu-text);
142
+ background-color: transparent;
143
+
144
+ &:hover {
145
+ color: var(--udp-theme-menu-title-hover) !important;
146
+ }
147
+
148
+ div,
149
+ span {
150
+ height: 50px;
151
+ line-height: 50px;
152
+ }
153
+ }
154
+
155
+ // .submenu-title-noDropdown,
156
+ // .el-sub-menu__title {
157
+ // // &:hover {
158
+ // // background-color: transparent;
159
+ // // }
160
+ // }
161
+
162
+ .is-active > .el-sub-menu__title,
163
+ .is-active.submenu-title-noDropdown {
164
+ color: var(--udp-theme-sub-menu-active-text) !important;
165
+
166
+ i {
167
+ color: var(--udp-theme-sub-menu-active-text) !important;
168
+ }
169
+ }
170
+
171
+ .is-active {
172
+ color: var(--udp-theme-sub-menu-active-text) !important;
173
+ transition: color 0.3s;
174
+ }
175
+
176
+ .el-menu .el-menu--inline .el-sub-menu__title,
177
+ & .el-sub-menu .el-menu-item {
178
+ min-width: $sideBarWidth !important;
179
+ font-size: 14px;
180
+ background-color: var(--udp-theme-sub-menu-bg) !important;
181
+ }
182
+
183
+ /* 无子集的激活菜单背景 */
184
+ .is-active.submenu-title-noDropdown.outer-most {
185
+ background: var(--udp-theme-sub-menu-active-bg) !important;
186
+ }
187
+
188
+ /* 有子集的激活菜单背景 */
189
+ .is-active.nest-menu {
190
+ background: var(--udp-theme-sub-menu-active-bg) !important;
191
+ }
192
+ }
193
+
194
+ .horizontal-header {
195
+ display: flex;
196
+ align-items: center;
197
+ justify-content: space-around;
198
+ width: 100%;
199
+ height: 48px;
200
+ background: var(--udp-theme-menu-bg) !important;
201
+
202
+ .horizontal-header-left {
203
+ display: flex;
204
+ align-items: center;
205
+ justify-content: space-around;
206
+ width: auto;
207
+ min-width: 200px;
208
+ height: 100%;
209
+
210
+ // padding-left: 10px;
211
+ cursor: pointer;
212
+ background-color: var(--udp-theme-sidebar-logo);
213
+ transition: all 0.125s ease;
214
+
215
+ i {
216
+ margin-right: 4px;
217
+ font-size: 30px;
218
+ color: #1890ff;
219
+ }
220
+
221
+ img {
222
+ height: 100%;
223
+ }
224
+
225
+ .u-project-text {
226
+ padding-left: 5px;
227
+ font-size: 28px;
228
+ font-weight: 700;
229
+ color: var(--udp-theme-project-text);
230
+ transition: all 0.5s;
231
+ }
232
+ }
233
+
234
+ .horizontal-header-menu {
235
+ flex: 1;
236
+ align-items: center;
237
+ min-width: 0;
238
+ height: 100%;
239
+ }
240
+
241
+ .horizontal-header-right {
242
+ display: flex;
243
+ align-items: center;
244
+ justify-content: flex-end;
245
+ min-width: 280px;
246
+ color: var(--udp-theme-sub-menu-active-text);
247
+
248
+ /* 搜索 */
249
+ .search-container,
250
+ /* 告警 */
251
+ .dropdown-badge,
252
+ /* 全屏 */
253
+ .screen-full,
254
+ /* 国际化 */
255
+ .globalization,
256
+ /* 登录名 */
257
+ .el-dropdown-link,
258
+ /* 设置 */
259
+ .el-icon-setting {
260
+ color: #fff;
261
+
262
+ &:hover {
263
+ background: var(--udp-theme-menu-hover);
264
+ }
265
+ }
266
+
267
+ .udp-horizontal {
268
+ .el-select__wrapper {
269
+ background-color: #001529;
270
+
271
+ .el-select__placeholder {
272
+ color: #fff;
273
+ }
274
+ }
275
+ }
276
+
277
+ .dropdown-badge {
278
+ height: 48px;
279
+ color: var(--udp-theme-sub-menu-active-text);
280
+ }
281
+
282
+ .globalization {
283
+ width: 40px;
284
+ height: 48px;
285
+ padding: 11px;
286
+ color: var(--udp-theme-sub-menu-active-text);
287
+ cursor: pointer;
288
+ outline: none;
289
+ }
290
+
291
+ .el-dropdown-link {
292
+ display: flex;
293
+ align-items: center;
294
+ justify-content: space-around;
295
+ width: 100px;
296
+ height: 48px;
297
+ padding: 10px;
298
+ color: var(--udp-theme-sub-menu-active-text);
299
+ cursor: pointer;
300
+
301
+ p {
302
+ font-size: 14px;
303
+ }
304
+
305
+ img {
306
+ width: 22px;
307
+ height: 22px;
308
+ border-radius: 50%;
309
+ }
310
+ }
311
+
312
+ .el-icon-setting {
313
+ display: flex;
314
+ align-items: center;
315
+ width: 40px;
316
+ height: 48px;
317
+ padding: 12px;
318
+ cursor: pointer;
319
+ }
320
+ }
321
+
322
+ .el-menu {
323
+ width: 100% !important;
324
+ height: 100%;
325
+ background-color: var(--udp-theme-sub-menu-bg) !important;
326
+ border: none;
327
+ }
328
+
329
+ .el-menu-item,
330
+ .el-sub-menu__title {
331
+ color: var(--udp-theme-menu-text);
332
+
333
+ &:hover {
334
+ color: var(--udp-theme-menu-title-hover) !important;
335
+ }
336
+ }
337
+
338
+ .submenu-title-noDropdown,
339
+ .el-sub-menu__title {
340
+ height: 48px;
341
+ line-height: 48px;
342
+ background: var(--udp-theme-menu-bg) !important;
343
+
344
+ svg {
345
+ position: static !important;
346
+ }
347
+ }
348
+
349
+ .is-active > .el-sub-menu__title,
350
+ .is-active.submenu-title-noDropdown {
351
+ color: var(--udp-theme-sub-menu-active-text) !important;
352
+
353
+ i {
354
+ color: var(--udp-theme-sub-menu-active-text) !important;
355
+ }
356
+ }
357
+
358
+ .is-active {
359
+ color: var(--udp-theme-sub-menu-active-text) !important;
360
+ transition: color 0.3s;
361
+ }
362
+ }
363
+
364
+ /* vertical菜单折叠 */
365
+ .el-menu--vertical {
366
+ .el-menu--popup {
367
+ background-color: var(--udp-theme-sub-menu-bg) !important;
368
+
369
+ .el-menu-item {
370
+ span {
371
+ font-size: 14px;
372
+ }
373
+ }
374
+ }
375
+
376
+ & > .el-menu {
377
+ i,
378
+ svg {
379
+ margin-right: 20px;
380
+ }
381
+ }
382
+
383
+ .is-active > .el-sub-menu__title,
384
+ .is-active.submenu-title-noDropdown {
385
+ color: var(--udp-theme-sub-menu-active-text) !important;
386
+
387
+ i {
388
+ color: var(--udp-theme-sub-menu-active-text) !important;
389
+ }
390
+ }
391
+
392
+ /* 子菜单中还有子菜单 */
393
+ .el-menu .el-sub-menu__title {
394
+ min-width: $sideBarWidth !important;
395
+ font-size: 12px;
396
+ background-color: var(--udp-theme-sub-menu-bg) !important;
397
+ }
398
+
399
+ .el-menu-item,
400
+ .el-sub-menu__title {
401
+ height: 50px;
402
+ line-height: 50px;
403
+ color: var(--udp-theme-menu-text);
404
+ background-color: var(--udp-theme-sub-menu-bg);
405
+
406
+ &:hover {
407
+ color: var(--udp-theme-menu-title-hover) !important;
408
+ }
409
+ }
410
+
411
+ .is-active {
412
+ color: var(--udp-theme-sub-menu-active-text) !important;
413
+ transition: color 0.3s;
414
+ }
415
+
416
+ .el-menu-item.is-active.nest-menu {
417
+ background: var(--udp-theme-sub-menu-active-bg) !important;
418
+ }
419
+
420
+ .el-menu-item,
421
+ .el-sub-menu {
422
+ .el-menu-tooltip__trigger {
423
+ width: 54px;
424
+ padding: 18px !important;
425
+ }
426
+ }
427
+ }
428
+
429
+ /* horizontal菜单 */
430
+ .el-menu--horizontal {
431
+ & > .el-sub-menu .el-sub-menu__icon-arrow {
432
+ position: static !important;
433
+ margin-top: 0;
434
+ }
435
+
436
+ .el-menu--popup {
437
+ background-color: var(--udp-theme-sub-menu-bg) !important;
438
+
439
+ .el-menu-item {
440
+ color: var(--udp-theme-menu-text);
441
+ background-color: var(--udp-theme-sub-menu-bg);
442
+
443
+ span {
444
+ font-size: 14px;
445
+ }
446
+ }
447
+
448
+ .el-sub-menu__title {
449
+ color: var(--udp-theme-menu-text);
450
+ }
451
+ }
452
+
453
+ /* 无子菜单时激活border-bottom */
454
+ .router-link-exact-active > .submenu-title-noDropdown {
455
+ height: 60px;
456
+ border-bottom: 2px solid var(--el-menu-active-color);
457
+ }
458
+
459
+ /* 子菜单中还有子菜单 */
460
+ .el-menu .el-sub-menu__title {
461
+ min-width: $sideBarWidth !important;
462
+ font-size: 12px;
463
+ background-color: var(--udp-theme-sub-menu-bg) !important;
464
+
465
+ &:hover {
466
+ color: var(--udp-theme-menu-title-hover) !important;
467
+ }
468
+ }
469
+
470
+ .is-active > .el-sub-menu__title,
471
+ .is-active.submenu-title-noDropdown {
472
+ color: var(--udp-theme-sub-menu-active-text) !important;
473
+
474
+ i {
475
+ color: var(--udp-theme-sub-menu-active-text) !important;
476
+ }
477
+ }
478
+
479
+ .nest-menu .el-sub-menu > .el-sub-menu__title,
480
+ .el-menu-item {
481
+ &:hover {
482
+ color: var(--udp-theme-menu-title-hover) !important;
483
+ }
484
+ }
485
+
486
+ /* 有子集的激活菜单背景 */
487
+ .is-active.nest-menu {
488
+ background: var(--udp-theme-sub-menu-active-bg) !important;
489
+ }
490
+
491
+ .el-menu-item.is-active {
492
+ color: var(--udp-theme-sub-menu-active-text) !important;
493
+ transition: color 0.3s;
494
+ }
495
+ }
496
+
497
+ .el-menu--collapse .el-menu .el-sub-menu {
498
+ min-width: $sideBarWidth !important;
499
+ }
500
+
501
+ /* 有子菜单 */
502
+ .el-menu--collapse
503
+ .is-active.outer-most.el-sub-menu
504
+ > .el-sub-menu__title::before,
505
+ /* 无子菜单 */
506
+ .el-menu--collapse .is-active.submenu-title-noDropdown.outer-most::before {
507
+ position: absolute;
508
+ top: 0;
509
+ left: 2px;
510
+ clear: both;
511
+ width: 2px;
512
+ height: 100%;
513
+ content: '';
514
+ background-color: var(--udp-theme-menu-active-before);
515
+ transform: translateY(0);
516
+ transition: all 0.125s ease-in-out;
517
+ }
518
+
519
+ .el-menu--collapse .outer-most.el-sub-menu > .el-sub-menu__title::before,
520
+ .el-menu--collapse .submenu-title-noDropdown.outer-most::before {
521
+ position: absolute;
522
+ top: 50%;
523
+ display: block;
524
+ width: 3px;
525
+ height: 0;
526
+ content: '';
527
+ transform: translateY(-50%);
528
+ }
529
+
530
+ /* 手机端 */
531
+ .mobile {
532
+ .fixed-header {
533
+ width: 100% !important;
534
+ transition: width var(--udp-transition-duration);
535
+ }
536
+
537
+ .main-container {
538
+ margin-left: 0 !important;
539
+ }
540
+
541
+ .sidebar-container {
542
+ width: $sideBarWidth;
543
+ transition: transform var(--udp-transition-duration);
544
+ }
545
+
546
+ &.hideSidebar {
547
+ .sidebar-container {
548
+ pointer-events: none;
549
+ transform: translate3d(-$sideBarWidth, 0, 0);
550
+ transition-duration: 0.3s;
551
+ }
552
+ }
553
+ }
554
+ }
555
+
556
+ /** 将vxe默认主题色和ep默认主题色保持一致 */
557
+ // $vxeColor: #409eff !default;
558
+
559
+ // /* 菜单选中后字体样式 */
560
+ // $subMenuActiveText: #fff !default;
561
+
562
+ // /* 菜单背景 */
563
+ // $menuBg: #001529 !default;
564
+
565
+ // /* 鼠标覆盖到菜单时的背景 */
566
+ // $menuHover: #4091f7 !default;
567
+
568
+ // /* 子菜单背景 */
569
+ // $subMenuBg: #001529 !default;
570
+
571
+ // /* 有无子集的激活菜单背景 */
572
+ // $subMenuActiveBg: #4091f7 !default;
573
+ // $navTextColor: #fff !default;
574
+ // $menuText: rgb(254 254 254 / 65%) !default;
575
+
576
+ // /* logo背景颜色 */
577
+ // $sidebarLogo: #fff !default;
578
+
579
+ // /* 鼠标覆盖到菜单时的字体颜色 */
580
+ // $menuTitleHover: #fff !default;
581
+ // $menuActiveBefore: #4091f7 !default;
582
+
583
+ /*************************************************** */
584
+
585
+ body[layout='vertical'] {
586
+ $sideBarWidth: 210px;
587
+
588
+ @include merge-style($sideBarWidth);
589
+
590
+ .el-menu--collapse {
591
+ width: 54px;
592
+ }
593
+
594
+ .sidebar-logo-container {
595
+ background: var(--udp-theme-sidebar-logo);
596
+ }
597
+
598
+ .hideSidebar {
599
+ .fixed-header {
600
+ width: calc(100% - 54px);
601
+ transition: width var(--udp-transition-duration);
602
+ }
603
+
604
+ .sidebar-container {
605
+ width: 54px !important;
606
+ transition: width 0.125s;
607
+
608
+ .is-active.submenu-title-noDropdown.outer-most {
609
+ background: transparent !important;
610
+ }
611
+ }
612
+
613
+ .main-container {
614
+ margin-left: 54px;
615
+ }
616
+
617
+ /* 菜单折叠 */
618
+ .el-menu--collapse {
619
+ .el-sub-menu {
620
+ & > .el-sub-menu__title {
621
+ & > span {
622
+ display: inline-block;
623
+ visibility: hidden;
624
+ width: 0;
625
+ height: 0;
626
+ overflow: hidden;
627
+ }
628
+ }
629
+ }
630
+
631
+ .submenu-title-noDropdown {
632
+ background: transparent !important;
633
+ }
634
+
635
+ .el-sub-menu__title {
636
+ padding: 0 18px !important;
637
+ }
638
+ }
639
+
640
+ .sub-menu-icon {
641
+ margin-right: 0;
642
+ }
643
+ }
644
+
645
+ /* 搜索 */
646
+ .search-container,
647
+ /* 告警 */
648
+ .dropdown-badge,
649
+ /* 全屏 */
650
+ .screen-full,
651
+ /* 国际化 */
652
+ .globalization,
653
+ /* 登录名 */
654
+ .el-dropdown-link,
655
+ /* 设置 */
656
+ .el-icon-setting {
657
+ &:hover {
658
+ background: #f6f6f6;
659
+ }
660
+ }
661
+ }
662
+
663
+ body[layout='horizontal'] {
664
+ $sideBarWidth: 0;
665
+
666
+ @include merge-style($sideBarWidth);
667
+
668
+ .fixed-header {
669
+ width: 100%;
670
+ transition: none !important;
671
+ }
672
+ }
673
+
674
+ body[layout='mix'] {
675
+ $sideBarWidth: 210px;
676
+
677
+ @include merge-style($sideBarWidth);
678
+
679
+ .el-menu--collapse {
680
+ width: 100px;
681
+ }
682
+
683
+ .el-menu {
684
+ --el-menu-hover-bg-color: transparent !important;
685
+ }
686
+
687
+ .el-menu > .submenu-mix-fold {
688
+ height: 60px !important;
689
+ line-height: 60px !important;
690
+
691
+ .el-menu-tooltip__trigger {
692
+ display: flex;
693
+ flex-direction: column;
694
+ width: 100%;
695
+ padding: 0 !important;
696
+ line-height: 60px;
697
+
698
+ // .fa {
699
+ // padding-top: 15px;
700
+ // font-size: 13px;
701
+ // line-height: 20%;
702
+ // }
703
+
704
+ .ut-mix-title {
705
+ display: flex;
706
+ align-items: center;
707
+ max-width: 80px;
708
+ height: inherit;
709
+ line-height: inherit;
710
+
711
+ span {
712
+ display: flex;
713
+ align-items: center;
714
+ padding-left: 0;
715
+ font-size: 13px;
716
+ line-height: initial;
717
+ text-align: center;
718
+ word-break: normal;
719
+ word-wrap: break-word;
720
+ white-space: normal;
721
+ }
722
+ }
723
+ }
724
+ }
725
+
726
+ .hideSidebar {
727
+ .fixed-header {
728
+ width: calc(100% - 100px);
729
+ transition: width var(--udp-transition-duration);
730
+ }
731
+
732
+ .sidebar-container {
733
+ width: 100px !important;
734
+ transition: width 0.125s;
735
+
736
+ .is-active.submenu-title-noDropdown.outer-most {
737
+ background: transparent !important;
738
+ }
739
+ }
740
+
741
+ .main-container {
742
+ margin-left: 100px;
743
+ }
744
+
745
+ /* 菜单折叠 */
746
+ .el-menu--collapse {
747
+ .el-sub-menu {
748
+ & > .el-sub-menu__title {
749
+ & > span {
750
+ display: inline-block;
751
+ visibility: hidden;
752
+ width: 0;
753
+ height: 0;
754
+ overflow: hidden;
755
+ }
756
+ }
757
+ }
758
+ }
759
+ }
760
+ }
761
+
762
+ body[layoutType='iframe'] {
763
+ $sideBarWidth: 0;
764
+
765
+ @include merge-style($sideBarWidth);
766
+
767
+ ::v-deep(.app-main) {
768
+ padding-top: 0 !important;
769
+ }
770
+ }