feat: initial postcard manager - FastAPI + Jinja2 + SQLite
This commit is contained in:
49
app/templates/postcard_form.html
Normal file
49
app/templates/postcard_form.html
Normal file
@@ -0,0 +1,49 @@
|
||||
{% extends "base.html" %}
|
||||
{% block title %}{{ '编辑' if postcard else '新建' }}明信片 - Postcard Manager{% endblock %}
|
||||
{% block content %}
|
||||
<div class="section-header">
|
||||
<h1>{{ '编辑' if postcard else '新建' }}明信片</h1>
|
||||
</div>
|
||||
<form method="post" action="{{ '/postcards/%d/edit' % postcard.id if postcard else '/profiles/%d/postcards' % profile.id }}" class="form-card">
|
||||
<label>编号 *</label>
|
||||
<input type="text" name="card_number" value="{{ postcard.card_number if postcard else '' }}" required>
|
||||
|
||||
<label>状态 *</label>
|
||||
<select name="status" id="status-select" onchange="toggleFields()">
|
||||
<option value="sent" {% if postcard and postcard.status=='sent' %}selected{% endif %}>已寄出</option>
|
||||
<option value="delivered" {% if postcard and postcard.status=='delivered' %}selected{% endif %}>已送达</option>
|
||||
<option value="received" {% if postcard and postcard.status=='received' %}selected{% endif %}>已收到</option>
|
||||
</select>
|
||||
|
||||
<div id="fields-sent-delivered">
|
||||
<label>收件人</label>
|
||||
<input type="text" name="recipient_name" value="{{ postcard.recipient_name if postcard else '' }}">
|
||||
<label>国家/地区</label>
|
||||
<input type="text" name="country" value="{{ postcard.country if postcard else '' }}">
|
||||
<label>寄出时间</label>
|
||||
<input type="datetime-local" name="send_time" value="{{ postcard.send_time.strftime('%Y-%m-%dT%H:%M') if postcard and postcard.send_time else '' }}">
|
||||
<label>到达时间</label>
|
||||
<input type="datetime-local" name="arrival_time" value="{{ postcard.arrival_time.strftime('%Y-%m-%dT%H:%M') if postcard and postcard.arrival_time else '' }}">
|
||||
</div>
|
||||
|
||||
<div id="fields-received" style="display:none">
|
||||
<label>发件人</label>
|
||||
<input type="text" name="sender_name" value="{{ postcard.sender_name if postcard else '' }}">
|
||||
<label>收到时间</label>
|
||||
<input type="datetime-local" name="receive_time" value="{{ postcard.receive_time.strftime('%Y-%m-%dT%H:%M') if postcard and postcard.receive_time else '' }}">
|
||||
</div>
|
||||
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary">保存</button>
|
||||
<a href="/profiles/{{ profile.id }}/postcards" class="btn">取消</a>
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
function toggleFields() {
|
||||
var s = document.getElementById('status-select').value;
|
||||
document.getElementById('fields-sent-delivered').style.display = (s === 'received') ? 'none' : '';
|
||||
document.getElementById('fields-received').style.display = (s === 'received') ? '' : 'none';
|
||||
}
|
||||
toggleFields();
|
||||
</script>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user