151 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends "base.html" %}
 | 
						||
{% block title %}{% if action == 'add' %}添加地址{% else %}编辑地址{% endif %} - 太白购物商城{% endblock %}
 | 
						||
 | 
						||
{% block head %}
 | 
						||
<link rel="stylesheet" href="{{ url_for('static', filename='css/address_form.css') }}">
 | 
						||
{% endblock %}
 | 
						||
 | 
						||
{% block content %}
 | 
						||
<div class="row">
 | 
						||
    <!-- 侧边栏 -->
 | 
						||
    <div class="col-md-3">
 | 
						||
        <div class="card">
 | 
						||
            <div class="card-header">
 | 
						||
                <h5><i class="bi bi-person-circle"></i> 个人中心</h5>
 | 
						||
            </div>
 | 
						||
            <div class="list-group list-group-flush">
 | 
						||
                <a href="{{ url_for('user.profile') }}" class="list-group-item list-group-item-action">
 | 
						||
                    <i class="bi bi-person"></i> 基本信息
 | 
						||
                </a>
 | 
						||
                <a href="{{ url_for('user.orders') }}" class="list-group-item list-group-item-action">
 | 
						||
                    <i class="bi bi-bag"></i> 我的订单
 | 
						||
                </a>
 | 
						||
                <a href="{{ url_for('address.index') }}" class="list-group-item list-group-item-action active">
 | 
						||
                    <i class="bi bi-geo-alt"></i> 收货地址
 | 
						||
                </a>
 | 
						||
                <a href="#" class="list-group-item list-group-item-action">
 | 
						||
                    <i class="bi bi-heart"></i> 我的收藏
 | 
						||
                </a>
 | 
						||
                <a href="#" class="list-group-item list-group-item-action">
 | 
						||
                    <i class="bi bi-clock-history"></i> 浏览历史
 | 
						||
                </a>
 | 
						||
            </div>
 | 
						||
        </div>
 | 
						||
    </div>
 | 
						||
 | 
						||
    <!-- 主要内容 -->
 | 
						||
    <div class="col-md-9">
 | 
						||
        <div class="card">
 | 
						||
            <div class="card-header">
 | 
						||
                <h5>
 | 
						||
                    <i class="bi bi-geo-alt"></i>
 | 
						||
                    {% if action == 'add' %}添加地址{% else %}编辑地址{% endif %}
 | 
						||
                </h5>
 | 
						||
            </div>
 | 
						||
            <div class="card-body">
 | 
						||
                <!-- 调试信息 -->
 | 
						||
                <div class="alert alert-info" id="debugAlert" style="display: none;">
 | 
						||
                    <strong>调试信息:</strong>
 | 
						||
                    <div id="debugInfo">加载中...</div>
 | 
						||
                </div>
 | 
						||
 | 
						||
                <form method="POST" id="addressForm">
 | 
						||
                    {{ form.hidden_tag() }}
 | 
						||
 | 
						||
                    <div class="row">
 | 
						||
                        <div class="col-md-6 mb-3">
 | 
						||
                            <label class="form-label">{{ form.receiver_name.label.text }} <span class="text-danger">*</span></label>
 | 
						||
                            {{ form.receiver_name(class="form-control") }}
 | 
						||
                            {% if form.receiver_name.errors %}
 | 
						||
                                <div class="text-danger">{{ form.receiver_name.errors[0] }}</div>
 | 
						||
                            {% endif %}
 | 
						||
                        </div>
 | 
						||
 | 
						||
                        <div class="col-md-6 mb-3">
 | 
						||
                            <label class="form-label">{{ form.receiver_phone.label.text }} <span class="text-danger">*</span></label>
 | 
						||
                            {{ form.receiver_phone(class="form-control") }}
 | 
						||
                            {% if form.receiver_phone.errors %}
 | 
						||
                                <div class="text-danger">{{ form.receiver_phone.errors[0] }}</div>
 | 
						||
                            {% endif %}
 | 
						||
                        </div>
 | 
						||
                    </div>
 | 
						||
 | 
						||
                    <div class="row">
 | 
						||
                        <div class="col-md-4 mb-3">
 | 
						||
                            <label class="form-label">省份 <span class="text-danger">*</span></label>
 | 
						||
                            <select class="form-select" id="province" name="province" required>
 | 
						||
                                <option value="">加载中...</option>
 | 
						||
                            </select>
 | 
						||
                            <input type="hidden" id="provinceValue" value="{% if address %}{{ address.province }}{% endif %}">
 | 
						||
                            {% if form.province.errors %}
 | 
						||
                                <div class="text-danger">{{ form.province.errors[0] }}</div>
 | 
						||
                            {% endif %}
 | 
						||
                        </div>
 | 
						||
 | 
						||
                        <div class="col-md-4 mb-3">
 | 
						||
                            <label class="form-label">城市 <span class="text-danger">*</span></label>
 | 
						||
                            <select class="form-select" id="city" name="city" required>
 | 
						||
                                <option value="">请选择城市</option>
 | 
						||
                            </select>
 | 
						||
                            <input type="hidden" id="cityValue" value="{% if address %}{{ address.city }}{% endif %}">
 | 
						||
                            {% if form.city.errors %}
 | 
						||
                                <div class="text-danger">{{ form.city.errors[0] }}</div>
 | 
						||
                            {% endif %}
 | 
						||
                        </div>
 | 
						||
 | 
						||
                        <div class="col-md-4 mb-3">
 | 
						||
                            <label class="form-label">区县 <span class="text-danger">*</span></label>
 | 
						||
                            <select class="form-select" id="district" name="district" required>
 | 
						||
                                <option value="">请选择区县</option>
 | 
						||
                            </select>
 | 
						||
                            <input type="hidden" id="districtValue" value="{% if address %}{{ address.district }}{% endif %}">
 | 
						||
                            {% if form.district.errors %}
 | 
						||
                                <div class="text-danger">{{ form.district.errors[0] }}</div>
 | 
						||
                            {% endif %}
 | 
						||
                        </div>
 | 
						||
                    </div>
 | 
						||
 | 
						||
                    <div class="row">
 | 
						||
                        <div class="col-md-8 mb-3">
 | 
						||
                            <label class="form-label">{{ form.detail_address.label.text }} <span class="text-danger">*</span></label>
 | 
						||
                            {{ form.detail_address(class="form-control", placeholder="街道、门牌号等详细信息") }}
 | 
						||
                            {% if form.detail_address.errors %}
 | 
						||
                                <div class="text-danger">{{ form.detail_address.errors[0] }}</div>
 | 
						||
                            {% endif %}
 | 
						||
                        </div>
 | 
						||
 | 
						||
                        <div class="col-md-4 mb-3">
 | 
						||
                            <label class="form-label">{{ form.postal_code.label.text }}</label>
 | 
						||
                            {{ form.postal_code(class="form-control", placeholder="选填") }}
 | 
						||
                            {% if form.postal_code.errors %}
 | 
						||
                                <div class="text-danger">{{ form.postal_code.errors[0] }}</div>
 | 
						||
                            {% endif %}
 | 
						||
                        </div>
 | 
						||
                    </div>
 | 
						||
 | 
						||
                    <div class="mb-3">
 | 
						||
                        <div class="form-check">
 | 
						||
                            {{ form.is_default(class="form-check-input") }}
 | 
						||
                            <label class="form-check-label" for="{{ form.is_default.id }}">
 | 
						||
                                {{ form.is_default.label.text }}
 | 
						||
                            </label>
 | 
						||
                        </div>
 | 
						||
                    </div>
 | 
						||
 | 
						||
                    <div class="d-flex gap-2">
 | 
						||
                        {{ form.submit(class="btn btn-primary") }}
 | 
						||
                        <a href="{{ url_for('address.index') }}" class="btn btn-outline-secondary">取消</a>
 | 
						||
                    </div>
 | 
						||
                </form>
 | 
						||
            </div>
 | 
						||
        </div>
 | 
						||
    </div>
 | 
						||
</div>
 | 
						||
{% endblock %}
 | 
						||
 | 
						||
{% block scripts %}
 | 
						||
<!-- 在scripts块中引入城市数据,确保在base.html的脚本之后加载 -->
 | 
						||
<script src="{{ url_for('static', filename='js/city_data.js') }}"></script>
 | 
						||
<script src="{{ url_for('static', filename='js/address_form.js') }}"></script>
 | 
						||
{% endblock %}
 |