diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b44526885306dd7b7ff59e413b003ecdba27006..b264adb8ec6ff97b0092af08dbf1c13c9484fa22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ - 修改列表分组未展示 - 修复模态关闭后续界面行为未执行 - 修复工具栏items子项未识别权限状态 +- 修复移动端数据选择(下拉视图)编辑器无法打开视图问题 ## [0.0.26] - 2024-10-13 diff --git a/src/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.tsx b/src/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.tsx index 0eec22ba5f71066e26fe3901eaaa596548901e2f..c8ccf1c9670a689bd4d85e16572455d1cc168331 100644 --- a/src/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.tsx +++ b/src/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.tsx @@ -1,4 +1,4 @@ -import { defineComponent, ref, Ref, watch, h, resolveComponent } from 'vue'; +import { defineComponent, ref, Ref, watch } from 'vue'; import { getDataPickerProps, getEditorEmits, @@ -7,7 +7,6 @@ import { } from '@ibiz-template/vue3-util'; import './ibiz-picker-select-view.scss'; import { clone } from 'ramda'; -import { EventBase } from '@ibiz-template/runtime'; import { PickerEditorController } from '../picker-editor.controller'; export const IBizPickerSelectView = defineComponent({ @@ -149,38 +148,14 @@ export const IBizPickerSelectView = defineComponent({ } }; - const onSelectionChange = (event: EventBase) => { - onViewDataChange(event.data); - }; - const height = ref(100); - const anchors = ref([ - 0, - 10, - 100, - window.innerHeight * 0.2, - window.innerHeight * 0.3, - window.innerHeight * 0.4, - window.innerHeight * 0.5, - window.innerHeight * 0.6, - window.innerHeight * 0.7, - ]); - const isOpen = ref(false); - - const openPicker = async () => { - if (height.value < 100) { - height.value = 100; + const openPicker = async (e: MouseEvent) => { + e.stopPropagation(); + const res = await c.openPickUpView(props.data); + if (res) { + onViewDataChange(res); } - isOpen.value = true; }; - const heightChange = ({ height: _height }: { height: number }) => { - if (_height < 15) { - height.value = 0; - } - }; - - const visible = ref(true); - return { ns, c, @@ -188,18 +163,11 @@ export const IBizPickerSelectView = defineComponent({ context, params, editorRef, - height, - isOpen, - anchors, - visible, onClear, - onSelectionChange, - heightChange, openPicker, }; }, render() { - const viewShell = resolveComponent('IBizViewShell'); return (
)} - {this.c.pickupView && this.isOpen ? ( - -
- {h(viewShell, { - context: this.context, - params: this.params, - viewId: this.c.pickupView?.id, - onSelectionChange: this.onSelectionChange, - })} -
-
- ) : null}
); }, diff --git a/src/editor/data-picker/picker-editor.controller.ts b/src/editor/data-picker/picker-editor.controller.ts index d81d30f209393647a52e5242496a9f74a319a59e..a29343bb67eab1042aa1468119fe085ddc49ad9d 100644 --- a/src/editor/data-picker/picker-editor.controller.ts +++ b/src/editor/data-picker/picker-editor.controller.ts @@ -258,7 +258,7 @@ export class PickerEditorController extends EditorController { this.pickupView.id, context, params, - openMode, + { openMode }, ); if (res && res.ok && res.data) { return res.data; diff --git a/src/view-engine/mob-tab-exp-view.engine.ts b/src/view-engine/mob-tab-exp-view.engine.ts index 48523065c0350deea8ab1cba5bdf452bd05d4d6d..8f59467d9b56ac392dafd0bfa14c9a1599316850 100644 --- a/src/view-engine/mob-tab-exp-view.engine.ts +++ b/src/view-engine/mob-tab-exp-view.engine.ts @@ -4,6 +4,7 @@ import { ITabExpViewEvent, ITabExpViewState, ViewEngineBase, + calcDeCodeNameById, } from '@ibiz-template/runtime'; import { IAppDETabExplorerView } from '@ibiz/model-core'; @@ -61,4 +62,13 @@ export class MobTabExpViewEngine extends ViewEngineBase { await super.onMounted(); await this.loadEntityData(); } + + async loadEntityData(): Promise { + // 分页导航没有主键不加载 + const deName = calcDeCodeNameById(this.view.model.appDataEntityId!); + if (!this.view.context[deName]) { + return; + } + return super.loadEntityData(); + } }