落地空运单聊询价字段与线路选择。

必填核对后再建单;多条线路走 H5 点选;费用只展示该线路 TMS 回包,不套用整单空运费。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-22 15:02:32 +08:00
co-authored by Cursor
parent 8afe909230
commit cfbce2fd69
53 changed files with 3470 additions and 372 deletions
+18
View File
@@ -217,6 +217,24 @@ class HttpLedger:
out["ok"] = True
return out if out.get("ok") else {"ok": False, "error": out.get("error") or "transition_failed"}
def update_facts(self, *, work_order_no: str, facts: dict[str, str]) -> dict[str, Any]:
"""选定线路后写回起运港等询价事实。不改六态。"""
out = self._post(
"/inquiry/agent/ticket/updateFacts",
{"workOrderNo": work_order_no, "facts": facts},
idem=f"update-facts:{work_order_no}:{sorted((facts or {}).items())}",
)
return out if out.get("ok") else {"ok": False, "error": out.get("error") or "update_facts_failed"}
def void_quote_files(self, *, work_order_no: str) -> dict[str, Any]:
"""采用后改选:作废旧报价单。不改六态。"""
out = self._post(
"/inquiry/agent/ticket/voidQuoteFiles",
{"workOrderNo": work_order_no},
idem=f"void-quote:{work_order_no}",
)
return out if out.get("ok") else {"ok": False, "error": out.get("error") or "void_quote_failed"}
def patch_lost_reason(self, *, work_order_no: str, lost_reason: str) -> dict[str, Any]:
"""未成交后记下原因。不改六态。"""
out = self._post(