From 5b6b2ccef8834eef64c40fb75786ee9479254b2c Mon Sep 17 00:00:00 2001 From: Zichao Lin Date: Sun, 5 Jul 2026 22:15:40 +0800 Subject: [PATCH] fix: clear arrival_time and disable field when status is sent --- app/routers/web.py | 2 +- app/templates/postcard_form.html | 23 ++++++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/app/routers/web.py b/app/routers/web.py index df5520b..389ff2f 100644 --- a/app/routers/web.py +++ b/app/routers/web.py @@ -354,7 +354,7 @@ def postcard_update( pc.recipient_name = recipient_name or None pc.country = country or None pc.send_time = _parse_dt(send_time) - pc.arrival_time = _parse_dt(arrival_time) + pc.arrival_time = None if status == "sent" else _parse_dt(arrival_time) pc.sender_name = sender_name or None pc.receive_time = _parse_dt(receive_time) db.commit() diff --git a/app/templates/postcard_form.html b/app/templates/postcard_form.html index 94d9cc8..de51a0e 100644 --- a/app/templates/postcard_form.html +++ b/app/templates/postcard_form.html @@ -57,23 +57,32 @@ function toggleFields() { country.required = false; sendTime.required = false; arrival.required = false; + arrival.disabled = false; sender.required = true; receive.required = true; + } else if (s === 'sent') { + sd.style.display = ''; + rc.style.display = 'none'; + recipient.required = true; + country.required = true; + sendTime.required = true; + arrival.required = false; + arrival.disabled = true; + arrival.value = ''; + labelArrival.textContent = '到达时间'; + sender.required = false; + receive.required = false; } else { sd.style.display = ''; rc.style.display = 'none'; recipient.required = true; country.required = true; sendTime.required = true; + arrival.disabled = false; + arrival.required = true; + labelArrival.textContent = '到达时间 *'; sender.required = false; receive.required = false; - if (s === 'delivered') { - arrival.required = true; - labelArrival.textContent = '到达时间 *'; - } else { - arrival.required = false; - labelArrival.textContent = '到达时间'; - } } } toggleFields();