fix: clear arrival_time and disable field when status is sent

This commit is contained in:
2026-07-05 22:15:40 +08:00
parent 84e4e457db
commit 5b6b2ccef8
2 changed files with 17 additions and 8 deletions

View File

@@ -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()

View File

@@ -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;
sender.required = false;
receive.required = false;
if (s === 'delivered') {
arrival.disabled = false;
arrival.required = true;
labelArrival.textContent = '到达时间 *';
} else {
arrival.required = false;
labelArrival.textContent = '到达时间';
}
sender.required = false;
receive.required = false;
}
}
toggleFields();