20260916172703
This commit is contained in:
1 parent
dce29f250e
commit
de05498552
25 files changed
+1141
-1315
No files matched your search
@@ -822,9 +822,9 @@ loadModuleOptions()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="mm-page">
|
||||
<div class="mm-body">
|
||||
<Splitter class="mm-body-splitter">
|
||||
<div class="fms-page">
|
||||
<div class="fms-page__body">
|
||||
<Splitter class="fms-splitter-clean">
|
||||
<SplitterPanel :default-size="248" :min="180" :max="420">
|
||||
<MenuTreePanel
|
||||
v-model:expanded-keys="menuExpandedKeys"
|
||||
@@ -841,10 +841,10 @@ loadModuleOptions()
|
||||
</SplitterPanel>
|
||||
|
||||
<SplitterPanel>
|
||||
<main class="mm-main">
|
||||
<main class="fms-page__main">
|
||||
<template v-if="selectedMenu">
|
||||
<!-- 顶部操作栏 -->
|
||||
<div class="mm-main-toolbar">
|
||||
<div class="fms-toolbar">
|
||||
<Button
|
||||
type="primary"
|
||||
:loading="configSaving"
|
||||
@@ -860,11 +860,11 @@ loadModuleOptions()
|
||||
|
||||
<!-- 主体:三块 Splitter 分割 -->
|
||||
<div v-if="maindata" class="mm-edit-body">
|
||||
<Splitter class="mm-edit-splitter">
|
||||
<Splitter class="fms-splitter-clean mm-edit-splitter">
|
||||
<SplitterPanel :default-size="360">
|
||||
<div class="mm-form-col__card">
|
||||
<div class="fms-card mm-form-col__card">
|
||||
<div class="mm-form-col__head">
|
||||
<div class="mm-pane__title">菜单配置</div>
|
||||
<div class="fms-pane-title">菜单配置</div>
|
||||
</div>
|
||||
<MenuBasicPanel
|
||||
ref="basicPanelRef"
|
||||
@@ -880,13 +880,13 @@ loadModuleOptions()
|
||||
</SplitterPanel>
|
||||
</Splitter>
|
||||
</div>
|
||||
<div v-else-if="configLoading" class="mm-config-state">
|
||||
<div v-else-if="configLoading" class="fms-state">
|
||||
<Spin />
|
||||
<span>加载中...</span>
|
||||
</div>
|
||||
<div v-else class="mm-config-state">暂无配置数据</div>
|
||||
<div v-else class="fms-state">暂无配置数据</div>
|
||||
</template>
|
||||
<div v-else class="mm-main__empty">
|
||||
<div v-else class="fms-state fms-card">
|
||||
<FolderTree :size="32" />
|
||||
<span>请选择左侧菜单节点</span>
|
||||
</div>
|
||||
@@ -954,87 +954,14 @@ loadModuleOptions()
|
||||
|
||||
<style lang="scss" scoped>
|
||||
/* ============================================================
|
||||
* 菜单管理页面样式(仅页面布局)
|
||||
* 菜单管理页面样式(仅页面专有部分)
|
||||
* 通用骨架(页面三层 / Splitter / 白卡 / 工具条 / 状态占位)见 styles/common.scss
|
||||
* 面板内部样式随各面板组件(MenuTreePanel / MenuBasicPanel)一起维护
|
||||
* ============================================================ */
|
||||
|
||||
/* ---- 页面根 ---- */
|
||||
.mm-page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
/* ---- 主体左右布局 ---- */
|
||||
.mm-body {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
/* ---- Splitter 面板 ----
|
||||
* 面板不再左右留白,两张白卡紧贴;灰缝由分隔条自身的触发区宽度
|
||||
* (--fms-splitter-trigger-size,默认 6px)承担。
|
||||
* 常显线平时透明,hover / 拖拽时显示整条 100% 高度的细线 + 手柄提示 */
|
||||
.mm-body-splitter :deep(> .fms-splitter-panel) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mm-body-splitter :deep(.fms-splitter-bar::before) {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.mm-body-splitter :deep(.fms-splitter-bar:hover::before),
|
||||
.mm-body-splitter :deep(.fms-splitter-bar-active::before),
|
||||
.mm-body-splitter :deep(.fms-splitter-bar:focus-visible::before) {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* ---- 右侧主区 ---- */
|
||||
.mm-main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.mm-main__empty {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
flex: 1;
|
||||
color: var(--fms-text-secondary);
|
||||
font-size: 14px;
|
||||
background: var(--fms-card);
|
||||
border-radius: var(--fms-control-radius);
|
||||
box-shadow: var(--fms-shadow);
|
||||
|
||||
svg {
|
||||
color: var(--fms-text-secondary);
|
||||
opacity: 0.4;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- 顶部操作栏 ---- */
|
||||
.mm-main-toolbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
flex-shrink: 0;
|
||||
padding: 8px 10px;
|
||||
background: var(--fms-card);
|
||||
border-radius: var(--fms-control-radius);
|
||||
}
|
||||
|
||||
/* ---- 主体三块 Splitter ---- */
|
||||
/* ---- 主体三块 Splitter ----
|
||||
* 面板裁切与「常显线平时透明」已由 .fms-splitter-clean 统一处理,
|
||||
* 这里只补面板之间的 3px 灰缝,首尾面板不留边距。 */
|
||||
.mm-edit-body {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
@@ -1043,7 +970,6 @@ loadModuleOptions()
|
||||
}
|
||||
|
||||
.mm-edit-splitter :deep(> .fms-splitter-panel) {
|
||||
overflow: hidden;
|
||||
padding: 0 3px;
|
||||
}
|
||||
|
||||
@@ -1056,13 +982,10 @@ loadModuleOptions()
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
/* 左栏:表单卡片 */
|
||||
/* 左栏:表单卡片(.fms-card 提供白卡三件套,这里只写排布) */
|
||||
.mm-form-col__card {
|
||||
height: 100%;
|
||||
padding: 8px 10px;
|
||||
background: var(--fms-card);
|
||||
border-radius: var(--fms-control-radius);
|
||||
box-shadow: var(--fms-shadow);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16px;
|
||||
@@ -1075,25 +998,5 @@ loadModuleOptions()
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 8px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* 区块标题 */
|
||||
.mm-pane__title {
|
||||
margin-bottom: 0;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
color: var(--fms-text);
|
||||
}
|
||||
|
||||
.mm-config-state {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
flex: 1;
|
||||
color: var(--fms-text-secondary);
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
Reference in new issue
Block a user