diff --git a/CHANGELOG.md b/CHANGELOG.md index ffca45077b00a1bcd49b5c94bfede537061aad7f..8bc9b6c8ee103c09d3e5aa6ef9b7be0b5ae521d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,11 +10,13 @@ ### Added - 新增日期选择编辑器以支持日期弹框面板的选中事件,并在控制器中维护选中值 +- 分页搜索视图支持把下级视图的部件会知道它的视图布局面板里 ### Fixed - 修复表格新建行点击异常 - 修复下载数据导入错误文件异常 +- 修复表格行编辑有错误信息时点击会触发行点击事件 ## [0.6.13] - 2024-03-26 diff --git a/src/control/form/form/form.tsx b/src/control/form/form/form.tsx index e5222bec54972c9735429206a30d21105a68ad6c..7b9d9b9e3d61de248ae4264ea2a6986c1689cfbd 100644 --- a/src/control/form/form/form.tsx +++ b/src/control/form/form/form.tsx @@ -1,4 +1,5 @@ import { + ControlType, findChildFormDetails, FormController, ScriptFactory, @@ -151,7 +152,10 @@ export const FormControl = defineComponent({ }); }; } else { - const key = controlPanel ? model.name! : 'default'; + // 部件布局的默认占位标识 + const formSlotKey = + model.controlType === ControlType.SEARCHFORM ? 'searchform' : 'form'; + const key = controlPanel ? formSlotKey : 'default'; // 树自己绘制,要传递额外的参数 slots[key] = (): VNode => { return ( diff --git a/src/control/grid/grid-column/grid-field-edit-column/cell-edit.ts b/src/control/grid/grid-column/grid-field-edit-column/cell-edit.ts index ad271a2fe13d980e581ade3de2f78124f91ee242..693eb07105fde242c9b5cad36837408b83d89b99 100644 --- a/src/control/grid/grid-column/grid-field-edit-column/cell-edit.ts +++ b/src/control/grid/grid-column/grid-field-edit-column/cell-edit.ts @@ -65,8 +65,9 @@ export function useCellEdit( /** 是否阻止内部点击冒泡 */ const stopPropagation = computed(() => { - // 可编辑的时候不管是遮罩还是编辑态的编辑器都不能触发行点击事件。 - return cellEditable.value; + // 可编辑的时候不管是遮罩还是编辑态的编辑器都不能触发行点击事件 + // 补充报错等情况导致显示编辑态的时候也要阻止冒泡 + return cellEditable.value || editorShowEdit.value; }); // 点击遮罩后,开启编辑,然后监听外部点击,外部点击之后关闭编辑 diff --git a/src/panel-component/index.ts b/src/panel-component/index.ts index 1c0404d5ad80a4009ac71e6186f317358c95b56e..ca8cbeef2058884a1553db82e5c3591f232a310d 100644 --- a/src/panel-component/index.ts +++ b/src/panel-component/index.ts @@ -13,6 +13,8 @@ import { IBizPanelTabPage, IBizPanelContainerGroup, IBizPanelItemRender, + IBizTeleportPlaceholder, + IBizPanelContainerTabs, } from '@ibiz-template/vue3-util'; import IBizAuthUserinfo from './auth-userinfo'; import IBizNavPosIndex from './nav-pos-index'; @@ -77,6 +79,8 @@ export const IBizPanelComponents = { v.use(IBizPanelItemRender); v.use(IBizViewMessage); v.use(IBizPanelStaticCarousel); + v.use(IBizTeleportPlaceholder); + v.use(IBizPanelContainerTabs); }, }; diff --git a/src/view-engine/tab-search-view.engine.ts b/src/view-engine/tab-search-view.engine.ts index f49bda256a734fba801aa9f1ab3adc8fb49472cc..fe3a4e8ef3d971c484d20c17c02cb6742dab83b3 100644 --- a/src/view-engine/tab-search-view.engine.ts +++ b/src/view-engine/tab-search-view.engine.ts @@ -65,6 +65,10 @@ export class TabSearchViewEngine extends TabExpViewEngine { return this.view.getController('tabexppanel') as ITabExpPanelController; } + protected preprocessTabExpModelLayout(): void { + // 不进行模型处理 + } + async onCreated(): Promise { await super.onCreated(); const { childNames } = this.view;