mirror of
				https://github.com/YunaiV/ruoyi-vue-pro.git
				synced 2025-10-31 18:49:06 +08:00 
			
		
		
		
	feat: add vue3(element-plus)
This commit is contained in:
		
							
								
								
									
										83
									
								
								yudao-ui-admin-vue3/src/layout/components/ToolHeader.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								yudao-ui-admin-vue3/src/layout/components/ToolHeader.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,83 @@ | ||||
| <script lang="tsx"> | ||||
| import { defineComponent, computed } from 'vue' | ||||
| import { Collapse } from '@/components/Collapse' | ||||
| import { LocaleDropdown } from '@/components/LocaleDropdown' | ||||
| import { SizeDropdown } from '@/components/SizeDropdown' | ||||
| import { UserInfo } from '@/components/UserInfo' | ||||
| import { Screenfull } from '@/components/Screenfull' | ||||
| import { Breadcrumb } from '@/components/Breadcrumb' | ||||
| import { useAppStore } from '@/store/modules/app' | ||||
| import { useDesign } from '@/hooks/web/useDesign' | ||||
|  | ||||
| const { getPrefixCls, variables } = useDesign() | ||||
|  | ||||
| const prefixCls = getPrefixCls('tool-header') | ||||
|  | ||||
| const appStore = useAppStore() | ||||
|  | ||||
| // 面包屑 | ||||
| const breadcrumb = computed(() => appStore.getBreadcrumb) | ||||
|  | ||||
| // 折叠图标 | ||||
| const hamburger = computed(() => appStore.getHamburger) | ||||
|  | ||||
| // 全屏图标 | ||||
| const screenfull = computed(() => appStore.getScreenfull) | ||||
|  | ||||
| // 尺寸图标 | ||||
| const size = computed(() => appStore.getSize) | ||||
|  | ||||
| // 布局 | ||||
| const layout = computed(() => appStore.getLayout) | ||||
|  | ||||
| // 多语言图标 | ||||
| const locale = computed(() => appStore.getLocale) | ||||
|  | ||||
| export default defineComponent({ | ||||
|   name: 'ToolHeader', | ||||
|   setup() { | ||||
|     return () => ( | ||||
|       <div | ||||
|         id={`${variables.namespace}-tool-header`} | ||||
|         class={[ | ||||
|           prefixCls, | ||||
|           'h-[var(--top-tool-height)] relative px-[var(--top-tool-p-x)] flex items-center justify-between', | ||||
|           'dark:bg-[var(--el-bg-color)]' | ||||
|         ]} | ||||
|       > | ||||
|         {layout.value !== 'top' ? ( | ||||
|           <div class="h-full flex items-center"> | ||||
|             {hamburger.value && layout.value !== 'cutMenu' ? ( | ||||
|               <Collapse class="hover-tigger" color="var(--top-header-text-color)"></Collapse> | ||||
|             ) : undefined} | ||||
|             {breadcrumb.value ? <Breadcrumb class="<md:hidden"></Breadcrumb> : undefined} | ||||
|           </div> | ||||
|         ) : undefined} | ||||
|         <div class="h-full flex items-center"> | ||||
|           {screenfull.value ? ( | ||||
|             <Screenfull class="hover-tigger" color="var(--top-header-text-color)"></Screenfull> | ||||
|           ) : undefined} | ||||
|           {size.value ? ( | ||||
|             <SizeDropdown class="hover-tigger" color="var(--top-header-text-color)"></SizeDropdown> | ||||
|           ) : undefined} | ||||
|           {locale.value ? ( | ||||
|             <LocaleDropdown | ||||
|               class="hover-tigger" | ||||
|               color="var(--top-header-text-color)" | ||||
|             ></LocaleDropdown> | ||||
|           ) : undefined} | ||||
|           <UserInfo class="hover-tigger"></UserInfo> | ||||
|         </div> | ||||
|       </div> | ||||
|     ) | ||||
|   } | ||||
| }) | ||||
| </script> | ||||
|  | ||||
| <style lang="less" scoped> | ||||
| @prefix-cls: ~'@{namespace}-tool-header'; | ||||
|  | ||||
| .@{prefix-cls} { | ||||
|   transition: left var(--transition-time-02); | ||||
| } | ||||
| </style> | ||||
		Reference in New Issue
	
	Block a user
	 xingyu
					xingyu