修改DockLayout.vue,调整主区域和浮动区域的定位样式实现层叠显示
This commit is contained in:
@@ -5,60 +5,67 @@
|
|||||||
:WindowState="windowState"
|
:WindowState="windowState"
|
||||||
:showTitleBar="false"
|
:showTitleBar="false"
|
||||||
title="主区域"
|
title="主区域"
|
||||||
:style="{ position: 'relative', zIndex: 1 }"
|
:style="{ position: 'absolute', top: 0, left: 0, width: '100%', height: '100%', zIndex: 1 }"
|
||||||
>
|
>
|
||||||
<!-- 浮动区域列表 -->
|
</Area>
|
||||||
<Area
|
<!-- 浮动区域列表 -->
|
||||||
v-for="area in floatingAreas"
|
<Area
|
||||||
:key="area.id"
|
v-for="area in floatingAreas"
|
||||||
:id="area.id"
|
:key="area.id"
|
||||||
:title="area.title"
|
:id="area.id"
|
||||||
v-model:WindowState="area.WindowState"
|
:title="area.title"
|
||||||
:showTitleBar="true"
|
v-model:WindowState="area.WindowState"
|
||||||
:width="area.width"
|
:showTitleBar="true"
|
||||||
:height="area.height"
|
:width="area.width"
|
||||||
:left="area.WindowState !== '最大化' ? area.x : undefined"
|
:height="area.height"
|
||||||
:top="area.WindowState !== '最大化' ? area.y : undefined"
|
:left="area.WindowState !== '最大化' ? area.x : undefined"
|
||||||
:style="area.WindowState !== '最大化' ? {
|
:top="area.WindowState !== '最大化' ? area.y : undefined"
|
||||||
position: 'absolute',
|
:style="area.WindowState !== '最大化' ? {
|
||||||
zIndex: 10
|
position: 'absolute',
|
||||||
} : {
|
zIndex: 10,
|
||||||
zIndex: 100
|
background: 'rgba(255, 255, 255, 1)',
|
||||||
}"
|
border: '1px solid #4f72b3'
|
||||||
@close="onCloseFloatingArea(area.id)"
|
} : {
|
||||||
@update:position="onUpdatePosition(area.id, $event)"
|
position: 'absolute',
|
||||||
@panelMaximizeSync="onPanelMaximizeSync"
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
width: '100%',
|
||||||
|
height: '100%',
|
||||||
|
zIndex: 100
|
||||||
|
}"
|
||||||
|
@close="onCloseFloatingArea(area.id)"
|
||||||
|
@update:position="onUpdatePosition(area.id, $event)"
|
||||||
|
@panelMaximizeSync="onPanelMaximizeSync"
|
||||||
|
>
|
||||||
|
<!-- 每个Area内渲染其包含的TabPages -->
|
||||||
|
<TabPage
|
||||||
|
v-for="tabPage in area.tabPages"
|
||||||
|
:key="tabPage.id"
|
||||||
|
:id="tabPage.id"
|
||||||
|
:title="tabPage.title"
|
||||||
|
:panels="tabPage.panels"
|
||||||
|
@tabDragStart="onTabDragStart(area.id, $event)"
|
||||||
|
@tabDragMove="onTabDragMove(area.id, $event)"
|
||||||
|
@tabDragEnd="onTabDragEnd"
|
||||||
>
|
>
|
||||||
<!-- 每个Area内渲染其包含的TabPages -->
|
<!-- 在TabPage内渲染其包含的Panels -->
|
||||||
<TabPage
|
<Panel
|
||||||
v-for="tabPage in area.tabPages"
|
v-for="panel in tabPage.panels"
|
||||||
:key="tabPage.id"
|
:key="panel.id"
|
||||||
:id="tabPage.id"
|
:id="panel.id"
|
||||||
:title="tabPage.title"
|
:title="panel.title"
|
||||||
:panels="tabPage.panels"
|
:collapsed="panel.collapsed"
|
||||||
@tabDragStart="onTabDragStart(area.id, $event)"
|
:toolbarExpanded="panel.toolbarExpanded"
|
||||||
@tabDragMove="onTabDragMove(area.id, $event)"
|
:maximized="panel.maximized"
|
||||||
@tabDragEnd="onTabDragEnd"
|
@toggleCollapse="onToggleCollapse"
|
||||||
>
|
@maximize="onMaximize"
|
||||||
<!-- 在TabPage内渲染其包含的Panels -->
|
@close="onClosePanel(area.id, panel.id)"
|
||||||
<Panel
|
@toggleToolbar="onToggleToolbar"
|
||||||
v-for="panel in tabPage.panels"
|
@dragStart="onPanelDragStart(area.id, $event)"
|
||||||
:key="panel.id"
|
@dragMove="onPanelDragMove(area.id, $event)"
|
||||||
:id="panel.id"
|
@dragEnd="onPanelDragEnd"
|
||||||
:title="panel.title"
|
/>
|
||||||
:collapsed="panel.collapsed"
|
</TabPage>
|
||||||
:toolbarExpanded="panel.toolbarExpanded"
|
|
||||||
:maximized="panel.maximized"
|
|
||||||
@toggleCollapse="onToggleCollapse"
|
|
||||||
@maximize="onMaximize"
|
|
||||||
@close="onClosePanel(area.id, panel.id)"
|
|
||||||
@toggleToolbar="onToggleToolbar"
|
|
||||||
@dragStart="onPanelDragStart(area.id, $event)"
|
|
||||||
@dragMove="onPanelDragMove(area.id, $event)"
|
|
||||||
@dragEnd="onPanelDragEnd"
|
|
||||||
/>
|
|
||||||
</TabPage>
|
|
||||||
</Area>
|
|
||||||
</Area>
|
</Area>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user