采用嵌套呈现方式处理

This commit is contained in:
zqm
2025-11-19 13:57:51 +08:00
parent 7acf65356f
commit 0e7207adce
5 changed files with 398 additions and 186 deletions

View File

@@ -135,6 +135,7 @@
import { defineProps, computed, defineEmits, ref, onMounted, watch, defineExpose } from 'vue'
import TabPage from './TabPage.vue'
import Panel from './Panel.vue'
import { zIndexManager, Z_INDEX_LAYERS } from './dockLayers.js'
const props = defineProps({
id: { type: String, required: true },
@@ -222,14 +223,14 @@ watch(() => props.WindowState, (newState) => {
// 根据状态计算尺寸和位置样式
const areaStyle = computed(() => {
if (isMaximized.value) {
// 最大化时填充满父容器
// 最大化时填充满父容器使用更高的z-index确保在最顶层
return {
width: '100%',
height: '100%',
position: 'absolute',
top: 0,
left: 0,
zIndex: 100,
zIndex: Z_INDEX_LAYERS.CONTENT_ACTIVE, // 使用统一的z-index层级
margin: 0,
padding: 0
}
@@ -238,7 +239,8 @@ const areaStyle = computed(() => {
// 非最大化状态:使用原始位置或默认居中
const style = {
width: `${originalPosition.value.width}px`,
height: `${originalPosition.value.height}px`
height: `${originalPosition.value.height}px`,
zIndex: Z_INDEX_LAYERS.CONTENT // 使用统一的z-index层级
}
// 如果有明确的位置,则使用指定位置