fix(mobile): 审批面板自动关闭和交互问题

- 移除审批面板在空列表时自动关闭的逻辑
- 支持手动打开空审批面板
- 恢复点击遮罩层关闭面板功能
This commit is contained in:
JOJO 2026-04-12 13:42:09 +08:00
parent aad958d2d9
commit be9592a2f4
2 changed files with 6 additions and 8 deletions

View File

@ -298,7 +298,7 @@
@update-tool-category="updateToolCategory" @update-tool-category="updateToolCategory"
@realtime-terminal="handleRealtimeTerminalClick" @realtime-terminal="handleRealtimeTerminalClick"
@toggle-focus-panel="handleFocusPanelToggleClick" @toggle-focus-panel="handleFocusPanelToggleClick"
@toggle-token-panel="handleTokenPanelToggleClick" @toggle-token-panel="(val) => handleTokenPanelToggleClick(val)"
@compress-conversation="handleCompressConversationClick" @compress-conversation="handleCompressConversationClick"
@toggle-approval-panel="handleApprovalPanelToggleClick" @toggle-approval-panel="handleApprovalPanelToggleClick"
@file-selected="handleFileSelected" @file-selected="handleFileSelected"
@ -653,8 +653,8 @@
<transition name="mobile-panel-overlay"> <transition name="mobile-panel-overlay">
<div <div
v-if="isMobileViewport && activeMobileOverlay === 'approval'" v-if="isMobileViewport && activeMobileOverlay === 'approval'"
class="mobile-panel-overlay mobile-panel-overlay--right" class="mobile-panel-overlay mobile-panel-overlay--right mobile-approval-overlay"
@click.self="closeMobileOverlay" @click.self="closeMobileOverlay('backdrop-click')"
> >
<div class="mobile-panel-sheet mobile-panel-sheet--approval"> <div class="mobile-panel-sheet mobile-panel-sheet--approval">
<ToolApprovalPanel <ToolApprovalPanel
@ -666,7 +666,7 @@
@switch-unrestricted="handleSwitchPermissionToUnrestricted" @switch-unrestricted="handleSwitchPermissionToUnrestricted"
@approve="approveToolApproval" @approve="approveToolApproval"
@reject="rejectToolApproval" @reject="rejectToolApproval"
@close="closeMobileOverlay" @close="closeMobileOverlay('approval-panel-close-btn')"
/> />
</div> </div>
</div> </div>

View File

@ -838,11 +838,9 @@ export const taskPollingMethods = {
this.pendingToolApprovals = this.pendingToolApprovals.filter( this.pendingToolApprovals = this.pendingToolApprovals.filter(
(item: any) => item && item.approval_id !== approvalId (item: any) => item && item.approval_id !== approvalId
); );
if (!this.pendingToolApprovals.length) { // 电脑端:审批完成后自动折叠面板
if (!this.pendingToolApprovals.length && !this.isMobileViewport) {
this.rightCollapsed = true; this.rightCollapsed = true;
if (this.isMobileViewport && this.activeMobileOverlay === 'approval') {
this.closeMobileOverlay();
}
} }
this.$forceUpdate(); this.$forceUpdate();
}, },