Fix cutover compare tab switching and order detail columns Key/Compare/Display.

Remount BizComparePage per route so templates↔jobs no longer stuck; align column order.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-09-20 16:52:37 +08:00
parent 3d2489041a
commit 34a98fefcf
5 changed files with 57 additions and 34 deletions

View file

@ -1560,14 +1560,14 @@ def _csv_cell(v: Any) -> str:
def _sheet_csv(sheet: dict[str, Any]) -> str:
keys = list(sheet.get("key_fields") or [])
key_set = set(keys)
compare = list(sheet.get("compare_fields") or [])
compare = [f for f in list(sheet.get("compare_fields") or []) if f not in key_set]
compare_set = set(compare)
display = effective_display_fields(
key_fields=keys,
compare_fields=compare,
display_fields=list(sheet.get("display_fields") or []) or None,
)
# Non-key display columns: compare fields get pre/post; display-only get single value col
# Non-key columns already ordered Key→Compare→Display by effective_display_fields
extra = [f for f in display if f not in key_set]
headers = ["kind", *keys]
for f in extra: