fix: 对话页「查看复检历史」点了没反应 + 再次点击不关闭

- 根因: 复检历史面板挂在 workbenchView 容器内,对话页该容器 display:none
  导致 fixed 面板整棵子树不渲染(用户实测)。面板移出视图容器挂到顶层
- 同时修复: handleAction 里 view-recheck-history 硬编码 toggleRecheckHistory(true),
  点第二次不会关闭;改为无参切换
- 验证: 对话页/改写页两个入口 7/7 通过(打开/关闭/再打开/点外部关闭/无 JS 报错)
This commit is contained in:
LuminousRuoxi
2026-09-10 15:43:23 +08:00
parent 938a9e9b22
commit a2c607c1be
+4 -2
View File
@@ -213,9 +213,11 @@ button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!im
</section> </section>
</div> </div>
<div class="submit-row"><div class="submit-inner"><span id="submitHint" class="submit-hint hidden"></span><button id="recheckHistoryBtn" class="btn small hidden">复检历史 (0)</button><button id="submitRecheck" class="btn primary" disabled>完成全文改写,提交复检 →</button></div></div> <div class="submit-row"><div class="submit-inner"><span id="submitHint" class="submit-hint hidden"></span><button id="recheckHistoryBtn" class="btn small hidden">复检历史 (0)</button><button id="submitRecheck" class="btn primary" disabled>完成全文改写,提交复检 →</button></div></div>
<div id="recheckHistoryPanel" class="recheck-history" aria-label="复检历史记录"></div>
<div class="demo-panel"><details><summary>Demo 工具</summary><div class="demo-body"><button id="mockFillCurrent" class="btn small">填入当前段</button><button id="mockFillAll" class="btn small">填入模拟全文</button><button id="mockFillFail" class="btn small">填入返工案例</button></div></details></div> <div class="demo-panel"><details><summary>Demo 工具</summary><div class="demo-body"><button id="mockFillCurrent" class="btn small">填入当前段</button><button id="mockFillAll" class="btn small">填入模拟全文</button><button id="mockFillFail" class="btn small">填入返工案例</button></div></details></div>
</section> </section>
<!-- 复检历史面板:必须挂在视图容器外 —— 放在 workbenchView 内时,
对话页(workbenchView display:none)点击「查看复检历史」面板不渲染(用户实测) -->
<div id="recheckHistoryPanel" class="recheck-history" aria-label="复检历史记录"></div>
</div> </div>
<script> <script>
@@ -747,7 +749,7 @@ function disableCompletedActions(){
function handleAction(action){ function handleAction(action){
// 复检卡上的「查看复检历史」:两处(通过卡/返工卡)共用,面板 fixed 定位, // 复检卡上的「查看复检历史」:两处(通过卡/返工卡)共用,面板 fixed 定位,
// 对话页与 Workbench 都能显示。 // 对话页与 Workbench 都能显示。
if(action==='view-recheck-history'){ renderRecheckHistory(); toggleRecheckHistory(true); return; } if(action==='view-recheck-history'){ renderRecheckHistory(); toggleRecheckHistory(); return; }
if(action==='confirm-understanding'){ if(action==='confirm-understanding'){
// 防重入:诊断请求进行中忽略连点(用户实测连点——修复前两次并发请求 + // 防重入:诊断请求进行中忽略连点(用户实测连点——修复前两次并发请求 +
// 两个确认气泡 + 两张诊断卡,见 Deviations #23);runDiagnose 内另有同守卫兜底 // 两个确认气泡 + 两张诊断卡,见 Deviations #23);runDiagnose 内另有同守卫兜底