feat: 完善参数化关系式与SCDM模型修改验证

This commit is contained in:
2026-08-17 18:53:03 +08:00
parent a633b5a338
commit 722256a41f
7 changed files with 1798 additions and 83 deletions
+17 -1
View File
@@ -8257,6 +8257,10 @@ class WindowActionMixin:
new_model.filename = self.step_path
except Exception:
pass
try:
new_model.mark_external_recognition_stale("isolated-edit-result")
except Exception:
pass
child_message = str(response.get("message") or "隔离子进程编辑完成。")
self._preserve_isolated_face_logical_id(new_model, context, child_message)
started = time.perf_counter()
@@ -9186,8 +9190,11 @@ class WindowActionMixin:
timings["finish_ui"] = time.perf_counter() - finish_started
locator_note = self._locate_operation_record(record)
relation_note = ""
relation_dependency_ids: list[int] = []
relation_replay_active = bool(getattr(self, "relation_formula_replay_active", False))
if hasattr(self, "_refresh_relation_formulas_after_model_edit"):
relation_note = self._refresh_relation_formulas_after_model_edit()
relation_note = self._refresh_relation_formulas_after_model_edit(context=context)
relation_dependency_ids = list(getattr(self, "_last_relation_formula_refresh_affected_ids", []) or [])
if relation_note:
locator_note = f"{locator_note}\n{relation_note}" if locator_note else relation_note
except Exception as exc:
@@ -9220,6 +9227,15 @@ class WindowActionMixin:
self.set_plain_info(f"{record.detail}{timing_detail}\n\n{locator_note}")
if hasattr(self, "_after_property_edit_finished"):
self._after_property_edit_finished(success=True)
if (
relation_dependency_ids
and not relation_replay_active
and hasattr(self, "_queue_relation_formula_dependency_reapply")
and hasattr(self, "_run_pending_relation_formula_dependency_reapply")
):
self._queue_relation_formula_dependency_reapply(relation_dependency_ids)
if not bool(getattr(self, "property_batch_active", False)):
self._run_pending_relation_formula_dependency_reapply()
@Slot(str)
def _fail_edit_action(self, message: str) -> None: