From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/components/ConfigGlobal/src/ConfigGlobal.vue | 62 +++++++++++++++++++++++++++++++
1 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/src/components/ConfigGlobal/src/ConfigGlobal.vue b/src/components/ConfigGlobal/src/ConfigGlobal.vue
new file mode 100644
index 0000000..af543df
--- /dev/null
+++ b/src/components/ConfigGlobal/src/ConfigGlobal.vue
@@ -0,0 +1,62 @@
+<script setup lang="ts">
+import { provide, computed, watch, onMounted } from 'vue'
+import { propTypes } from '@/utils/propTypes'
+import { ComponentSize, ElConfigProvider } from 'element-plus'
+import { useLocaleStore } from '@/store/modules/locale'
+import { useWindowSize } from '@vueuse/core'
+import { useAppStore } from '@/store/modules/app'
+import { setCssVar } from '@/utils'
+import { useDesign } from '@/hooks/web/useDesign'
+
+const { variables } = useDesign()
+
+const appStore = useAppStore()
+
+const props = defineProps({
+ size: propTypes.oneOf<ComponentSize>(['default', 'small', 'large']).def('default')
+})
+
+provide('configGlobal', props)
+
+// 鍒濆鍖栨墍鏈変富棰樿壊
+onMounted(() => {
+ appStore.setCssVarTheme()
+})
+
+const { width } = useWindowSize()
+
+// 鐩戝惉绐楀彛鍙樺寲
+watch(
+ () => width.value,
+ (width: number) => {
+ if (width < 768) {
+ !appStore.getMobile ? appStore.setMobile(true) : undefined
+ setCssVar('--left-menu-min-width', '0')
+ appStore.setCollapse(true)
+ appStore.getLayout !== 'classic' ? appStore.setLayout('classic') : undefined
+ } else {
+ appStore.getMobile ? appStore.setMobile(false) : undefined
+ setCssVar('--left-menu-min-width', '64px')
+ }
+ },
+ {
+ immediate: true
+ }
+)
+
+// 澶氳瑷�鐩稿叧
+const localeStore = useLocaleStore()
+
+const currentLocale = computed(() => localeStore.currentLocale)
+</script>
+
+<template>
+ <ElConfigProvider
+ :namespace="variables.elNamespace"
+ :locale="currentLocale.elLocale"
+ :message="{ max: 5 }"
+ :size="size"
+ >
+ <slot></slot>
+ </ElConfigProvider>
+</template>
--
Gitblit v1.8.0