dm-design/商家端web/2.1 营销工具/2.1.1 会员功能/会员查看/会员详情.html

514 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>会员详情 - 会员管理系统原型</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Microsoft YaHei', sans-serif;
background-color: #f5f5f5;
color: #333;
line-height: 1.6;
}
.container {
max-width: 1200px;
margin: 20px auto;
background: white;
border: 1px dashed #ccc;
border-radius: 4px;
overflow: hidden;
}
/* 头部区域 */
.header {
padding: 20px;
background: #fafafa;
border-bottom: 1px dashed #ccc;
}
.member-info {
display: grid;
grid-template-columns: 1fr auto;
gap: 30px;
align-items: start;
}
.basic-info {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.info-item {
display: flex;
align-items: center;
}
.info-label {
font-weight: bold;
color: #666;
margin-right: 10px;
min-width: 100px;
}
.info-value {
color: #333;
}
.stats-panel {
display: flex;
gap: 20px;
padding: 15px;
background: white;
border: 1px dashed #ccc;
border-radius: 4px;
}
.stat-item {
text-align: center;
min-width: 80px;
}
.stat-value {
font-size: 24px;
font-weight: bold;
color: #333;
display: block;
}
.stat-label {
font-size: 12px;
color: #666;
margin-top: 5px;
}
/* Tab导航 */
.tab-nav {
display: flex;
border-bottom: 1px dashed #ccc;
background: #fafafa;
}
.tab-item {
padding: 15px 30px;
cursor: pointer;
border-right: 1px dashed #ccc;
background: white;
transition: all 0.3s ease;
}
.tab-item:last-child {
border-right: none;
}
.tab-item.active {
background: white;
border-bottom: 2px solid #333;
font-weight: bold;
}
.tab-item:hover {
background: #f0f0f0;
}
/* 内容区域 */
.tab-content {
padding: 20px;
min-height: 400px;
}
.tab-pane {
display: none;
}
.tab-pane.active {
display: block;
}
/* 表格样式 */
.data-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 20px;
}
.data-table th,
.data-table td {
padding: 12px;
text-align: left;
border: 1px dashed #ccc;
}
.data-table th {
background: #f9f9f9;
font-weight: bold;
color: #666;
}
.data-table tbody tr:nth-child(even) {
background: #fafafa;
}
.data-table tbody tr:hover {
background: #f0f0f0;
}
/* 链接样式 */
.link {
color: #666;
text-decoration: underline;
cursor: pointer;
}
.link:hover {
color: #333;
}
/* 分页样式 */
.pagination {
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
margin-top: 20px;
}
.pagination button {
padding: 8px 16px;
background: white;
border: 1px dashed #ccc;
cursor: pointer;
color: #666;
}
.pagination button:hover {
background: #f0f0f0;
}
.pagination button:disabled {
cursor: not-allowed;
opacity: 0.5;
}
.pagination .current-page {
padding: 8px 16px;
background: #f9f9f9;
border: 1px dashed #ccc;
color: #333;
}
/* 状态标签 */
.status-tag {
padding: 2px 8px;
border-radius: 2px;
font-size: 12px;
border: 1px dashed #ccc;
}
.status-available {
background: #f0f9ff;
color: #0066cc;
}
.status-used {
background: #f5f5f5;
color: #666;
}
.status-expired {
background: #fff0f0;
color: #cc0000;
}
/* 响应式设计 */
@media (max-width: 768px) {
.container {
margin: 10px;
}
.member-info {
grid-template-columns: 1fr;
gap: 20px;
}
.basic-info {
grid-template-columns: 1fr;
}
.stats-panel {
justify-content: space-around;
}
.tab-item {
padding: 12px 15px;
font-size: 14px;
}
.data-table {
font-size: 14px;
}
.data-table th,
.data-table td {
padding: 8px;
}
}
</style>
</head>
<body>
<div class="container">
<!-- 头部会员信息 -->
<div class="header">
<div class="member-info">
<div class="basic-info">
<div class="info-item">
<span class="info-label">会员姓名:</span>
<span class="info-value">张三</span>
</div>
<div class="info-item">
<span class="info-label">系统编号:</span>
<span class="info-value">3</span>
</div>
<div class="info-item">
<span class="info-label">手机号:</span>
<span class="info-value">138****1234</span>
</div>
<div class="info-item">
<span class="info-label">生日:</span>
<span class="info-value">1990-05-15</span>
</div>
</div>
<div class="stats-panel">
<div class="stat-item">
<span class="stat-value">1250</span>
<div class="stat-label">会员成长值</div>
</div>
<div class="stat-item">
<span class="stat-value">890</span>
<div class="stat-label">会员积分</div>
</div>
<div class="stat-item">
<span class="stat-value">5</span>
<div class="stat-label">会员优惠券</div>
</div>
</div>
</div>
</div>
<!-- Tab导航 -->
<div class="tab-nav">
<div class="tab-item active" onclick="switchTab('growth')">会员成长值明细</div>
<div class="tab-item" onclick="switchTab('points')">会员积分明细</div>
<div class="tab-item" onclick="switchTab('coupons')">会员优惠券</div>
</div>
<!-- 内容区域 -->
<div class="tab-content">
<!-- 会员成长值明细 -->
<div id="growth" class="tab-pane active">
<table class="data-table">
<thead>
<tr>
<th>变化时间</th>
<th>成长值变动</th>
<th>关联订单</th>
<th>详情</th>
</tr>
</thead>
<tbody>
<tr>
<td>2024-01-15 14:30:25</td>
<td>+50</td>
<td>ORDER2024011501</td>
<td><span class="link">查看详情</span></td>
</tr>
<tr>
<td>2024-01-10 09:15:10</td>
<td>+100</td>
<td>ORDER2024011002</td>
<td><span class="link">查看详情</span></td>
</tr>
<tr>
<td>2024-01-05 16:45:33</td>
<td>+30</td>
<td>ORDER2024010503</td>
<td><span class="link">查看详情</span></td>
</tr>
<tr>
<td>2024-01-02 11:20:15</td>
<td>+20</td>
<td>ORDER2024010204</td>
<td><span class="link">查看详情</span></td>
</tr>
<tr>
<td>2023-12-28 13:55:40</td>
<td>+75</td>
<td>ORDER2023122805</td>
<td><span class="link">查看详情</span></td>
</tr>
</tbody>
</table>
<div class="pagination">
<button disabled>上一页</button>
<span class="current-page">第1页共1页</span>
<button disabled>下一页</button>
</div>
</div>
<!-- 会员积分明细 -->
<div id="points" class="tab-pane">
<table class="data-table">
<thead>
<tr>
<th>变化时间</th>
<th>积分变动</th>
<th>变动类型</th>
<th>关联订单</th>
<th>详情</th>
</tr>
</thead>
<tbody>
<tr>
<td>2024-01-15 14:30:25</td>
<td>+100</td>
<td>购物获得</td>
<td>ORDER2024011501</td>
<td><span class="link">查看详情</span></td>
</tr>
<tr>
<td>2024-01-12 10:20:15</td>
<td>-50</td>
<td>积分抵扣</td>
<td>ORDER2024011202</td>
<td><span class="link">查看详情</span></td>
</tr>
<tr>
<td>2024-01-10 09:15:10</td>
<td>+200</td>
<td>购物获得</td>
<td>ORDER2024011002</td>
<td><span class="link">查看详情</span></td>
</tr>
<tr>
<td>2024-01-08 15:45:30</td>
<td>+10</td>
<td>签到奖励</td>
<td>-</td>
<td><span class="link">查看详情</span></td>
</tr>
<tr>
<td>2024-01-05 16:45:33</td>
<td>+60</td>
<td>购物获得</td>
<td>ORDER2024010503</td>
<td><span class="link">查看详情</span></td>
</tr>
</tbody>
</table>
<div class="pagination">
<button disabled>上一页</button>
<span class="current-page">第1页共1页</span>
<button disabled>下一页</button>
</div>
</div>
<!-- 会员优惠券 -->
<div id="coupons" class="tab-pane">
<table class="data-table">
<thead>
<tr>
<th>优惠券名称</th>
<th>类型</th>
<th>面额</th>
<th>使用条件</th>
<th>获得时间</th>
<th>有效期</th>
<th>使用状态</th>
</tr>
</thead>
<tbody>
<tr>
<td>新用户专享券</td>
<td>满减券</td>
<td>¥20</td>
<td>满100元可用</td>
<td>2024-01-01 10:00:00</td>
<td>2024-02-01</td>
<td><span class="status-tag status-available">可使用</span></td>
</tr>
<tr>
<td>生日特惠券</td>
<td>折扣券</td>
<td>9折</td>
<td>全品类可用</td>
<td>2024-01-05 12:30:15</td>
<td>2024-02-05</td>
<td><span class="status-tag status-available">可使用</span></td>
</tr>
<tr>
<td>积分兑换券</td>
<td>满减券</td>
<td>¥50</td>
<td>满300元可用</td>
<td>2024-01-10 16:20:30</td>
<td>2024-03-10</td>
<td><span class="status-tag status-available">可使用</span></td>
</tr>
<tr>
<td>限时抢购券</td>
<td>满减券</td>
<td>¥10</td>
<td>满50元可用</td>
<td>2023-12-20 14:15:20</td>
<td>2024-01-20</td>
<td><span class="status-tag status-expired">已过期</span></td>
</tr>
<tr>
<td>会员专属券</td>
<td>满减券</td>
<td>¥30</td>
<td>满200元可用</td>
<td>2023-12-15 09:45:10</td>
<td>2024-01-15</td>
<td><span class="status-tag status-used">已使用</span></td>
</tr>
</tbody>
</table>
<div class="pagination">
<button disabled>上一页</button>
<span class="current-page">第1页共1页</span>
<button disabled>下一页</button>
</div>
</div>
</div>
</div>
<script>
function switchTab(tabName) {
// 移除所有active类
document.querySelectorAll('.tab-item').forEach(item => {
item.classList.remove('active');
});
document.querySelectorAll('.tab-pane').forEach(pane => {
pane.classList.remove('active');
});
// 添加active类到当前选中的tab
event.target.classList.add('active');
document.getElementById(tabName).classList.add('active');
}
</script>
</body>
</html>