zhou zhou
23 小时以前 46d872c1a5b77aa8799de4a64888a0a24a1422d6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!-- 设置面板 -->
<template>
  <div class="layout-settings">
    <SettingDrawer v-model="showDrawer" @open="handleOpen" @close="handleClose">
      <!-- 头部关闭按钮 -->
      <SettingHeader @close="closeDrawer" />
      <!-- 主题风格 -->
      <ThemeSettings />
      <!-- 菜单布局 -->
      <MenuLayoutSettings />
      <!-- 菜单风格 -->
      <MenuStyleSettings />
      <!-- 系统主题色 -->
      <ColorSettings />
      <!-- 盒子样式 -->
      <BoxStyleSettings />
      <!-- 容器宽度 -->
      <ContainerSettings />
      <!-- 基础配置 -->
      <BasicSettings />
      <!-- 操作按钮 -->
      <SettingActions />
    </SettingDrawer>
  </div>
</template>
 
<script setup>
  import SettingHeader from './widget/SettingHeader.vue'
 
  import MenuLayoutSettings from './widget/MenuLayoutSettings.vue'
 
  import ColorSettings from './widget/ColorSettings.vue'
 
  import ContainerSettings from './widget/ContainerSettings.vue'
 
  import SettingActions from './widget/SettingActions.vue'
 
  import { useSettingsPanel } from './composables/useSettingsPanel'
  defineOptions({ name: 'ArtSettingsPanel' })
  const props = defineProps({
    open: { required: false }
  })
  const settingsPanel = useSettingsPanel()
  const { showDrawer } = settingsPanel
  const { handleOpen, handleClose, closeDrawer } = settingsPanel.useDrawerControl()
  const { initializeSettings, cleanupSettings } = settingsPanel.useSettingsInitializer()
  settingsPanel.usePropsWatcher(props)
  onMounted(() => {
    initializeSettings()
  })
  onUnmounted(() => {
    cleanupSettings()
  })
</script>
 
<style lang="scss">
  @use './style';
</style>