diff --git a/package.json b/package.json index b08be5dff..af1a594ac 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "stylus-loader": "^7.1.0", "tinymce": "^5.10.3", "tui-calendar-hi": "^2.1.3-3", - "view-design-hi": "^4.7.0-75", + "view-design-hi": "^4.7.0-76", "vite": "^2.9.15", "vite-plugin-file-copy": "^1.0.0", "vite-plugin-require": "^1.1.10", diff --git a/resources/assets/js/components/Mobile/Back.vue b/resources/assets/js/components/Mobile/Back.vue index 21c34f646..f45f736da 100644 --- a/resources/assets/js/components/Mobile/Back.vue +++ b/resources/assets/js/components/Mobile/Back.vue @@ -111,7 +111,7 @@ export default { if (!this.mobileTabbar) { return true; } - if (this.$Modal.visibles().length > 0) { + if (this.$Modal.visibleList().length > 0) { return true; } if (this.fileFolderId > 0) { diff --git a/resources/assets/js/components/SearchBox.vue b/resources/assets/js/components/SearchBox.vue index efb2b170f..22846dd7d 100755 --- a/resources/assets/js/components/SearchBox.vue +++ b/resources/assets/js/components/SearchBox.vue @@ -136,7 +136,7 @@ export default { }, showModal(v) { - $A.eeuiAppSetScrollEnabled(!v) + $A.eeuiAppSetScrollDisabled(v) } }, diff --git a/resources/assets/js/components/UserSelect.vue b/resources/assets/js/components/UserSelect.vue index 8f633a86f..bc69e7b01 100755 --- a/resources/assets/js/components/UserSelect.vue +++ b/resources/assets/js/components/UserSelect.vue @@ -334,7 +334,7 @@ export default { this.searchKey = "" } this.$emit("on-show-change", v) - $A.eeuiAppSetScrollEnabled(!v) + $A.eeuiAppSetScrollDisabled(v) }, searchKey() { diff --git a/resources/assets/js/functions/eeui.js b/resources/assets/js/functions/eeui.js index b777bacd2..b2dd0b103 100755 --- a/resources/assets/js/functions/eeui.js +++ b/resources/assets/js/functions/eeui.js @@ -191,10 +191,16 @@ this.eeuiModule()?.copyText(text) }, - // 设置是否允许滚动 - eeuiAppSetScrollEnabled(enabled) { - this.eeuiModule("webview")?.setScrollEnabled(enabled); + // 设置是否禁止滚动 + eeuiAppSetScrollDisabled(disabled) { + if (disabled) { + this.__setScrollDisabledNum++ + } else { + this.__setScrollDisabledNum-- + } + this.eeuiModule("webview")?.setScrollEnabled(this.__setScrollDisabledNum <= 0); }, + __setScrollDisabledNum: 0, // 设置应用程序级别的摇动撤销(仅支持iOS、android无效) eeuiAppShakeToEditEnabled(enabled) { diff --git a/resources/assets/js/pages/manage/components/DialogModal.vue b/resources/assets/js/pages/manage/components/DialogModal.vue index adb03512a..87f0dc664 100644 --- a/resources/assets/js/pages/manage/components/DialogModal.vue +++ b/resources/assets/js/pages/manage/components/DialogModal.vue @@ -38,11 +38,11 @@ export default { }, mounted() { - emitter.on('dialogModalMoveTop', this.handleMoveTop); + emitter.on('handleMoveTop', this.handleMoveTop); }, beforeDestroy() { - emitter.off('dialogModalMoveTop', this.handleMoveTop); + emitter.off('handleMoveTop', this.handleMoveTop); }, computed: { @@ -89,7 +89,7 @@ export default { }, show(v) { - $A.eeuiAppSetScrollEnabled(!v) + $A.eeuiAppSetScrollDisabled(v) } }, @@ -105,8 +105,8 @@ export default { this.closIng-- }) }, - handleMoveTop() { - this.$refs.modal?.handleMoveTop(); + handleMoveTop(type) { + type === 'dialogModal' && this.$refs.modal?.handleMoveTop(); } } } diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 13920053a..412950499 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -1419,13 +1419,16 @@ export default { if (this.location !== 'modal' || !this.$isEEUiApp) { return } - this.tempRepeat && this.tempRepeat() - this.tempRepeat = $A.repeatWithCount(() => { + if (this.viewportTimer) { + this.viewportTimer() + this.viewportTimer = null + } + this.viewportTimer = $A.repeatWithCount(() => { this.$refs.footer?.scrollIntoView({ block: 'end', behavior: 'smooth' }) - }, 500, 500, 3) + }, 500, 500, 2) } }, diff --git a/resources/assets/js/pages/manage/components/TaskModal.vue b/resources/assets/js/pages/manage/components/TaskModal.vue index dd21e86eb..ae0b1070a 100644 --- a/resources/assets/js/pages/manage/components/TaskModal.vue +++ b/resources/assets/js/pages/manage/components/TaskModal.vue @@ -50,11 +50,11 @@ export default { }, mounted() { - emitter.on('taskModalMoveTop', this.handleMoveTop); + emitter.on('handleMoveTop', this.handleMoveTop); }, beforeDestroy() { - emitter.off('taskModalMoveTop', this.handleMoveTop); + emitter.off('handleMoveTop', this.handleMoveTop); }, methods: { @@ -69,8 +69,8 @@ export default { return true; } }, - handleMoveTop() { - this.$refs.modal?.handleMoveTop(); + handleMoveTop(type) { + type === 'taskModal' && this.$refs.modal?.handleMoveTop(); } } } diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 9dce4abf8..49bbbfeea 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -61,7 +61,7 @@ export default { }); window.visualViewport?.addEventListener('resize', () => { - state.viewportHeight = window.visualViewport?.height || 0; + state.viewportHeight = window.visualViewport.height || 0; }); }, @@ -2312,7 +2312,7 @@ export default { return } if (state.taskId > 0) { - emitter.emit('taskModalMoveTop'); // 已打开任务时将任务窗口置顶 + emitter.emit('handleMoveTop', 'taskModal'); // 已打开任务时将任务窗口置顶 } state.taskArchiveView = task_id; state.taskId = task_id; @@ -3084,7 +3084,7 @@ export default { } // if (state.dialogId) { - emitter.emit('dialogModalMoveTop'); // 已打开对话时将对话窗口置顶 + emitter.emit('handleMoveTop', 'dialogModal'); // 已打开对话时将对话窗口置顶 } // requestAnimationFrame(_ => {