243 lines
6.8 KiB
HTML
243 lines
6.8 KiB
HTML
{include file="public/head" /}
|
|
<style>
|
|
body.user-page {
|
|
min-height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: #f5f7fb;
|
|
}
|
|
|
|
.user-main {
|
|
flex: 1;
|
|
padding: 32px 0 52px;
|
|
}
|
|
|
|
.account-layout {
|
|
display: grid;
|
|
grid-template-columns: 240px minmax(0, 1fr);
|
|
gap: 18px;
|
|
align-items: start;
|
|
}
|
|
|
|
.account-nav,
|
|
.account-panel {
|
|
background: #fff;
|
|
border: 1px solid rgba(15, 23, 42, .08);
|
|
border-radius: 8px;
|
|
box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.account-nav__title,
|
|
.account-panel__title {
|
|
background: var(--main-color);
|
|
color: #fff;
|
|
font-size: 17px;
|
|
font-weight: 800;
|
|
line-height: 50px;
|
|
padding: 0 20px;
|
|
}
|
|
|
|
.account-nav__link {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 9px;
|
|
height: 50px;
|
|
padding: 0 18px;
|
|
color: #263241;
|
|
border-bottom: 1px solid #eef1f5;
|
|
text-decoration: none;
|
|
font-size: 15px;
|
|
}
|
|
|
|
.account-nav__link:hover,
|
|
.account-nav__link.is-active {
|
|
color: var(--main-color);
|
|
background: rgba(21, 56, 84, .06);
|
|
text-decoration: none;
|
|
}
|
|
|
|
.account-panel__body {
|
|
padding: 18px;
|
|
}
|
|
|
|
.order-list {
|
|
display: grid;
|
|
gap: 14px;
|
|
}
|
|
|
|
.order-card {
|
|
border: 1px solid #dfe5ee;
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
background: #fff;
|
|
}
|
|
|
|
.order-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.order-item {
|
|
display: grid;
|
|
grid-template-columns: 96px minmax(0, 1fr);
|
|
gap: 8px;
|
|
padding: 12px 14px;
|
|
border-bottom: 1px solid #edf1f5;
|
|
color: #334155;
|
|
line-height: 1.55;
|
|
min-width: 0;
|
|
}
|
|
|
|
.order-item:nth-child(odd) {
|
|
border-right: 1px solid #edf1f5;
|
|
}
|
|
|
|
.order-item strong {
|
|
color: #0f172a;
|
|
font-weight: 700;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.order-item span {
|
|
word-break: break-word;
|
|
}
|
|
|
|
.order-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
padding: 12px 14px;
|
|
background: #f8fafc;
|
|
}
|
|
|
|
.account-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-width: 92px;
|
|
height: 36px;
|
|
padding: 0 16px;
|
|
border-radius: 4px;
|
|
background: var(--main-color);
|
|
color: #fff;
|
|
text-decoration: none;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.account-btn:hover {
|
|
color: #fff;
|
|
background: #0f2b42;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.empty-state {
|
|
padding: 52px 20px;
|
|
text-align: center;
|
|
color: #64748b;
|
|
}
|
|
|
|
.empty-state .account-btn {
|
|
margin-top: 16px;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.user-main {
|
|
padding: 20px 12px 36px;
|
|
}
|
|
|
|
.account-layout {
|
|
grid-template-columns: 1fr;
|
|
gap: 12px;
|
|
}
|
|
|
|
.account-nav {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.account-nav__title {
|
|
display: none;
|
|
}
|
|
|
|
.account-nav__link {
|
|
justify-content: center;
|
|
padding: 0 8px;
|
|
font-size: 14px;
|
|
border-right: 1px solid #eef1f5;
|
|
}
|
|
|
|
.order-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.order-item {
|
|
grid-template-columns: 88px minmax(0, 1fr);
|
|
}
|
|
|
|
.order-item:nth-child(odd) {
|
|
border-right: 0;
|
|
}
|
|
}
|
|
</style>
|
|
<body class="user-page">
|
|
{include file="public/newnav" /}
|
|
|
|
<main class="user-main">
|
|
<div class="layui-container">
|
|
<div class="account-layout">
|
|
<aside class="account-nav">
|
|
<div class="account-nav__title">个人中心</div>
|
|
<a href="{:url('user/index')}" class="account-nav__link is-active">
|
|
<i class="bi bi-receipt"></i><span>我的订单</span>
|
|
</a>
|
|
<a href="{:url('user/invoice')}" class="account-nav__link">
|
|
<i class="bi bi-file-earmark-text"></i><span>自助开票</span>
|
|
</a>
|
|
<a href="{:url('visa/index')}" class="account-nav__link">
|
|
<i class="bi bi-send"></i><span>签证申请</span>
|
|
</a>
|
|
</aside>
|
|
|
|
<section class="account-panel">
|
|
<div class="account-panel__title">我的订单</div>
|
|
<div class="account-panel__body">
|
|
<div class="order-list">
|
|
{volist name="order_list" id="vo"}
|
|
<article class="order-card">
|
|
<div class="order-grid">
|
|
<div class="order-item"><strong>订单号</strong><span>{$vo.order_sn}</span></div>
|
|
<div class="order-item"><strong>姓名</strong><span>{$vo.last_name} {$vo.first_name}</span></div>
|
|
<div class="order-item"><strong>出生日期</strong><span>{$vo.birth_date}</span></div>
|
|
<div class="order-item"><strong>护照号</strong><span>{$vo.passport_number}</span></div>
|
|
<div class="order-item"><strong>手机号</strong><span>{$vo.phone}</span></div>
|
|
<div class="order-item"><strong>下单时间</strong><span>{$vo.reg_time}</span></div>
|
|
<div class="order-item"><strong>状态</strong><span>{$vo.order_text}</span></div>
|
|
</div>
|
|
<div class="order-actions">
|
|
{eq name="$vo.pay_status" value="1"}
|
|
{eq name="$vo.invoice" value="0"}
|
|
<a class="account-btn" href="{:url('invoice/index',array('order_sn'=>$vo['order_sn']))}">开发票</a>
|
|
{/eq}
|
|
{/eq}
|
|
</div>
|
|
</article>
|
|
{/volist}
|
|
</div>
|
|
|
|
{empty name="order_list"}
|
|
<div class="empty-state">
|
|
<div>暂无订单记录</div>
|
|
<a class="account-btn" href="{:url('visa/index')}">去登记</a>
|
|
</div>
|
|
{/empty}
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
{include file="public/newfooter" /}
|
|
</body>
|
|
</html>
|