diff --git a/CHANGELOG.md b/CHANGELOG.md index 117c87b2b6011f02cc91a81d9ff7989bba316821..ba84832d0b1239011724f1ee35aefeabfce0974b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ ### Changed +- 更新数据下拉popover的zIndex层级跟随视图 - 更新视图消息,识别消息内容的 HTML 格式 ### Added diff --git a/src/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.scss b/src/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.scss index e4c435860fa7e2f4e739099271fb9b7fda1f3fb0..c8c5a60d44011aa8bb8cecf044d9f05da1e3ce09 100644 --- a/src/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.scss +++ b/src/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.scss @@ -45,6 +45,10 @@ $picker-dropdown: ( @include e(transfer) { @include set-component-css-var('picker-dropdown', $picker-dropdown); + + --transfer-zindex: 1; + + z-index: var(--transfer-zindex)!important; @include when(empty) { .el-select-dropdown__item { height: auto; diff --git a/src/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.tsx b/src/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.tsx index 8553110be9132913850dcc23e8e4ebb8f0ea433f..37b75b2494193a4fda04247457f61f4b0112fa55 100644 --- a/src/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.tsx +++ b/src/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.tsx @@ -13,11 +13,13 @@ import { getEditorEmits, renderString, useNamespace, + useUIStore, } from '@ibiz-template/vue3-util'; import { isNil, clone } from 'ramda'; import { IAppDEUIActionGroupDetail } from '@ibiz/model-core'; import './ibiz-picker-dropdown.scss'; import { showTitle } from '@ibiz-template/core'; +import { createUUID } from 'qx-util'; import { PickerEditorController } from '../picker-editor.controller'; export const IBizPickerDropDown = defineComponent({ @@ -53,6 +55,9 @@ export const IBizPickerDropDown = defineComponent({ // 在搜索中时,再次触发搜索记录搜索值,等待上次搜索触发完成后再次搜索 let waitQuery: string | null = null; + // 给popover的,用来确定属于当前编辑器的popover + const uuid = createUUID(); + // 是否已加载过 const isLoaded = ref(false); @@ -303,6 +308,16 @@ export const IBizPickerDropDown = defineComponent({ }, { immediate: true, deep: true }, ); + const { zIndex } = useUIStore(); + const transfer = document.getElementsByClassName(ns.e(uuid)); + const modalZIndex = zIndex.increment(); + if (transfer && transfer.length > 0) { + const target = transfer[0]; + (target as HTMLElement).style.setProperty( + '--transfer-zindex', + `${modalZIndex}`, + ); + } }); const renderActionItem = (detail: IAppDEUIActionGroupDetail) => { @@ -374,6 +389,7 @@ export const IBizPickerDropDown = defineComponent({ showFormDefaultContent, renderGroupAction, renderEmpty, + uuid, }; }, render() { @@ -395,6 +411,7 @@ export const IBizPickerDropDown = defineComponent({ clearable popper-class={[ this.ns.e('transfer'), + this.ns.e(this.uuid), this.ns.is('empty', !this.items.length), ]} loading={this.loading} diff --git a/src/util/open-view-util/open-view-util.ts b/src/util/open-view-util/open-view-util.ts index 36f15137a7ac4606a23160bad909b6c8d3f6b75f..4e07cad793158cadd412676a7a87addea28c3e48 100644 --- a/src/util/open-view-util/open-view-util.ts +++ b/src/util/open-view-util/open-view-util.ts @@ -139,6 +139,7 @@ export class OpenViewUtil implements IOpenViewUtil { appViewId: string, context: IContext, params?: IParams, + options: IPopoverOptions = {}, ): Promise { const appView = await ibiz.hub.config.view.get(appViewId!); // 设置默认的modal参数 @@ -148,6 +149,7 @@ export class OpenViewUtil implements IOpenViewUtil { height: appView.height || '80%', footerHide: true, ...modalOption, + ...options, ...appView.modalOption, }; return openViewModal(