556 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			556 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			HTML
		
	
	
	
| <div class="page-content">
 | |
|     <h2>会员列表</h2>
 | |
|     
 | |
|     <!-- 筛选区域 -->
 | |
|     <div class="filter-section">
 | |
|         <div class="filter-row">
 | |
|             <div class="filter-item">
 | |
|                 <label>店铺</label>
 | |
|                 <select id="storeFilter">
 | |
|                     <option value="">全部店铺</option>
 | |
|                     <option value="时尚服装店">时尚服装店</option>
 | |
|                     <option value="数码电子城">数码电子城</option>
 | |
|                     <option value="美食餐厅">美食餐厅</option>
 | |
|                     <option value="家居生活馆">家居生活馆</option>
 | |
|                     <option value="运动健身店">运动健身店</option>
 | |
|                 </select>
 | |
|             </div>
 | |
|             <div class="filter-item">
 | |
|                 <label>用户昵称</label>
 | |
|                 <input type="text" id="nicknameFilter" placeholder="请输入用户昵称">
 | |
|             </div>
 | |
|             <div class="filter-item">
 | |
|                 <label>会员等级</label>
 | |
|                 <select id="levelFilter">
 | |
|                     <option value="">全部等级</option>
 | |
|                     <option value="LV1">LV1</option>
 | |
|                     <option value="LV2">LV2</option>
 | |
|                     <option value="LV3">LV3</option>
 | |
|                     <option value="LV4">LV4</option>
 | |
|                 </select>
 | |
|             </div>
 | |
|             <div class="filter-item">
 | |
|                 <label>注册时间</label>
 | |
|                 <input type="date" id="registrationDate">
 | |
|             </div>
 | |
|         </div>
 | |
|         <div class="filter-actions">
 | |
|             <button class="btn btn-primary" onclick="searchMembers()">筛选查询</button>
 | |
|         </div>
 | |
|     </div>
 | |
| 
 | |
|     <!-- 统计信息 -->
 | |
|     <div class="stats-section">
 | |
|         <div class="stats-item">
 | |
|             <div class="stats-icon member-icon"></div>
 | |
|             <div class="stats-content">
 | |
|                 <div class="stats-label">会员总数</div>
 | |
|                 <div class="stats-value">1,247</div>
 | |
|             </div>
 | |
|         </div>
 | |
|         <div class="stats-item">
 | |
|             <div class="stats-icon new-member-icon"></div>
 | |
|             <div class="stats-content">
 | |
|                 <div class="stats-label">今日新增</div>
 | |
|                 <div class="stats-value">23</div>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
|     
 | |
|     <!-- 会员列表表格 -->
 | |
|     <div class="table-container">
 | |
|         <table class="member-table">
 | |
|             <thead>
 | |
|                 <tr>
 | |
|                     <th><input type="checkbox" id="selectAll"></th>
 | |
|                     <th>所属摊位 <span class="sort-icon">↕</span></th>
 | |
|                     <th>用户ID <span class="sort-icon">↕</span></th>
 | |
|                     <th>用户头像</th>
 | |
|                     <th>用户昵称 <span class="sort-icon">↕</span></th>
 | |
|                     <th>手机号</th>
 | |
|                     <th>会员等级 <span class="sort-icon">↕</span></th>
 | |
|                     <th>生日</th>
 | |
|                     <th>注册时间 <span class="sort-icon">↕</span></th>
 | |
|                     <th>操作</th>
 | |
|                 </tr>
 | |
|             </thead>
 | |
|             <tbody id="memberTableBody">
 | |
|                 <tr>
 | |
|                     <td><input type="checkbox"></td>
 | |
|                     <td>时尚服装店</td>
 | |
|                     <td>M001</td>
 | |
|                     <td><div class="avatar green-avatar">张</div></td>
 | |
|                     <td>张三</td>
 | |
|                     <td>138****1234</td>
 | |
|                     <td><span class="level-badge lv2">LV2</span></td>
 | |
|                     <td>1990-05-15</td>
 | |
|                     <td>2024-01-15 14:30:25</td>
 | |
|                     <td><a href="#" class="detail-link" onclick="viewMemberDetail('M001')">详情</a></td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td><input type="checkbox"></td>
 | |
|                     <td>数码电子城</td>
 | |
|                     <td>M002</td>
 | |
|                     <td><div class="avatar orange-avatar">李</div></td>
 | |
|                     <td>李四</td>
 | |
|                     <td>139****5678</td>
 | |
|                     <td><span class="level-badge lv1">LV1</span></td>
 | |
|                     <td>1985-08-20</td>
 | |
|                     <td>2024-02-20 09:15:30</td>
 | |
|                     <td><a href="#" class="detail-link" onclick="viewMemberDetail('M002')">详情</a></td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td><input type="checkbox"></td>
 | |
|                     <td>美食餐厅</td>
 | |
|                     <td>M003</td>
 | |
|                     <td><div class="avatar red-avatar">王</div></td>
 | |
|                     <td>王五</td>
 | |
|                     <td>136****9012</td>
 | |
|                     <td><span class="level-badge lv3">LV3</span></td>
 | |
|                     <td>1992-12-08</td>
 | |
|                     <td>2024-03-10 16:45:12</td>
 | |
|                     <td><a href="#" class="detail-link" onclick="viewMemberDetail('M003')">详情</a></td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td><input type="checkbox"></td>
 | |
|                     <td>家居生活馆</td>
 | |
|                     <td>M004</td>
 | |
|                     <td><div class="avatar purple-avatar">赵</div></td>
 | |
|                     <td>赵六</td>
 | |
|                     <td>137****3456</td>
 | |
|                     <td><span class="level-badge lv1">LV1</span></td>
 | |
|                     <td>1988-03-25</td>
 | |
|                     <td>2024-04-05 11:20:45</td>
 | |
|                     <td><a href="#" class="detail-link" onclick="viewMemberDetail('M004')">详情</a></td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td><input type="checkbox"></td>
 | |
|                     <td>运动健身店</td>
 | |
|                     <td>M005</td>
 | |
|                     <td><div class="avatar pink-avatar">孙</div></td>
 | |
|                     <td>孙七</td>
 | |
|                     <td>135****7890</td>
 | |
|                     <td><span class="level-badge lv4">LV4</span></td>
 | |
|                     <td>1995-07-12</td>
 | |
|                     <td>2024-05-22 13:55:18</td>
 | |
|                     <td><a href="#" class="detail-link" onclick="viewMemberDetail('M005')">详情</a></td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td><input type="checkbox"></td>
 | |
|                     <td>时尚服装店</td>
 | |
|                     <td>M006</td>
 | |
|                     <td><div class="avatar blue-avatar">周</div></td>
 | |
|                     <td>周八</td>
 | |
|                     <td>134****2468</td>
 | |
|                     <td><span class="level-badge lv2">LV2</span></td>
 | |
|                     <td>1991-11-30</td>
 | |
|                     <td>2024-06-18 08:35:22</td>
 | |
|                     <td><a href="#" class="detail-link" onclick="viewMemberDetail('M006')">详情</a></td>
 | |
|                 </tr>
 | |
|             </tbody>
 | |
|         </table>
 | |
|     </div>
 | |
| 
 | |
|     <!-- 分页 -->
 | |
|     <div class="pagination-section">
 | |
|         <div class="pagination-info">
 | |
|             显示 
 | |
|             <select id="pageSize">
 | |
|                 <option value="20" selected>20</option>
 | |
|                 <option value="50">50</option>
 | |
|                 <option value="100">100</option>
 | |
|             </select>
 | |
|             条记录,共 1,247 条
 | |
|         </div>
 | |
|         <div class="pagination-controls">
 | |
|             <span>首页</span>
 | |
|             <span>上一页</span>
 | |
|             <span>第 <input type="number" value="1" min="1" max="63"> 页,共 63 页</span>
 | |
|             <span>下一页</span>
 | |
|             <span>尾页</span>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| <style>
 | |
| /* 会员查看页面专用样式 */
 | |
| 
 | |
| /* 筛选区域样式 */
 | |
| .filter-section {
 | |
|     background: #fff;
 | |
|     padding: 20px;
 | |
|     margin-bottom: 20px;
 | |
|     border-radius: 8px;
 | |
|     box-shadow: 0 2px 4px rgba(0,0,0,0.1);
 | |
| }
 | |
| 
 | |
| .filter-row {
 | |
|     display: flex;
 | |
|     gap: 20px;
 | |
|     flex-wrap: wrap;
 | |
|     align-items: end;
 | |
| }
 | |
| 
 | |
| .filter-item {
 | |
|     display: flex;
 | |
|     flex-direction: column;
 | |
|     min-width: 150px;
 | |
| }
 | |
| 
 | |
| .filter-item label {
 | |
|     color: #666;
 | |
|     font-size: 14px;
 | |
|     margin-bottom: 5px;
 | |
|     font-weight: normal;
 | |
| }
 | |
| 
 | |
| .filter-item select,
 | |
| .filter-item input {
 | |
|     padding: 8px 12px;
 | |
|     border: 1px solid #ddd;
 | |
|     border-radius: 4px;
 | |
|     font-size: 14px;
 | |
|     min-height: 36px;
 | |
| }
 | |
| 
 | |
| .filter-item input::placeholder {
 | |
|     color: #999;
 | |
| }
 | |
| 
 | |
| .filter-actions {
 | |
|     margin-top: 15px;
 | |
| }
 | |
| 
 | |
| .filter-actions .btn {
 | |
|     background: #10b981;
 | |
|     color: white;
 | |
|     border: none;
 | |
|     padding: 8px 20px;
 | |
|     border-radius: 4px;
 | |
|     cursor: pointer;
 | |
|     font-size: 14px;
 | |
| }
 | |
| 
 | |
| .filter-actions .btn:hover {
 | |
|     background: #059669;
 | |
| }
 | |
| 
 | |
| /* 统计信息样式 */
 | |
| .stats-section {
 | |
|     display: flex;
 | |
|     gap: 20px;
 | |
|     margin-bottom: 20px;
 | |
| }
 | |
| 
 | |
| .stats-item {
 | |
|     background: #fff;
 | |
|     padding: 20px;
 | |
|     border-radius: 8px;
 | |
|     box-shadow: 0 2px 4px rgba(0,0,0,0.1);
 | |
|     display: flex;
 | |
|     align-items: center;
 | |
|     gap: 15px;
 | |
|     min-width: 200px;
 | |
| }
 | |
| 
 | |
| .stats-icon {
 | |
|     width: 40px;
 | |
|     height: 40px;
 | |
|     border-radius: 50%;
 | |
|     display: flex;
 | |
|     align-items: center;
 | |
|     justify-content: center;
 | |
|     position: relative;
 | |
| }
 | |
| 
 | |
| .member-icon {
 | |
|     background: rgba(59, 130, 246, 0.1);
 | |
| }
 | |
| 
 | |
| .member-icon::before {
 | |
|     content: "👥";
 | |
|     font-size: 20px;
 | |
| }
 | |
| 
 | |
| .new-member-icon {
 | |
|     background: rgba(16, 185, 129, 0.1);
 | |
| }
 | |
| 
 | |
| .new-member-icon::before {
 | |
|     content: "✨";
 | |
|     font-size: 18px;
 | |
| }
 | |
| 
 | |
| .stats-content {
 | |
|     flex: 1;
 | |
| }
 | |
| 
 | |
| .stats-label {
 | |
|     color: #666;
 | |
|     font-size: 14px;
 | |
|     margin-bottom: 4px;
 | |
| }
 | |
| 
 | |
| .stats-value {
 | |
|     color: #333;
 | |
|     font-size: 24px;
 | |
|     font-weight: bold;
 | |
| }
 | |
| 
 | |
| /* 表格容器样式 */
 | |
| .table-container {
 | |
|     background: #fff;
 | |
|     border-radius: 8px;
 | |
|     box-shadow: 0 2px 4px rgba(0,0,0,0.1);
 | |
|     overflow: hidden;
 | |
|     margin-bottom: 20px;
 | |
| }
 | |
| 
 | |
| /* 会员表格样式 */
 | |
| .member-table {
 | |
|     width: 100%;
 | |
|     border-collapse: collapse;
 | |
|     font-size: 14px;
 | |
| }
 | |
| 
 | |
| .member-table thead {
 | |
|     background: #f8fafc;
 | |
| }
 | |
| 
 | |
| .member-table th {
 | |
|     padding: 12px 16px;
 | |
|     text-align: left;
 | |
|     font-weight: 500;
 | |
|     color: #374151;
 | |
|     border-bottom: 1px solid #e5e7eb;
 | |
|     position: relative;
 | |
| }
 | |
| 
 | |
| .member-table th:first-child {
 | |
|     width: 40px;
 | |
|     text-align: center;
 | |
| }
 | |
| 
 | |
| .member-table td {
 | |
|     padding: 12px 16px;
 | |
|     border-bottom: 1px solid #f3f4f6;
 | |
|     vertical-align: middle;
 | |
| }
 | |
| 
 | |
| .member-table td:first-child {
 | |
|     text-align: center;
 | |
| }
 | |
| 
 | |
| .member-table tbody tr:hover {
 | |
|     background-color: #f9fafb;
 | |
| }
 | |
| 
 | |
| /* 排序图标样式 */
 | |
| .sort-icon {
 | |
|     color: #9ca3af;
 | |
|     margin-left: 4px;
 | |
|     cursor: pointer;
 | |
|     user-select: none;
 | |
| }
 | |
| 
 | |
| .sort-icon:hover {
 | |
|     color: #374151;
 | |
| }
 | |
| 
 | |
| /* 头像样式 */
 | |
| .avatar {
 | |
|     width: 32px;
 | |
|     height: 32px;
 | |
|     border-radius: 50%;
 | |
|     display: inline-flex;
 | |
|     align-items: center;
 | |
|     justify-content: center;
 | |
|     color: white;
 | |
|     font-weight: 500;
 | |
|     font-size: 14px;
 | |
| }
 | |
| 
 | |
| .green-avatar {
 | |
|     background: #10b981;
 | |
| }
 | |
| 
 | |
| .orange-avatar {
 | |
|     background: #f59e0b;
 | |
| }
 | |
| 
 | |
| .red-avatar {
 | |
|     background: #ef4444;
 | |
| }
 | |
| 
 | |
| .purple-avatar {
 | |
|     background: #8b5cf6;
 | |
| }
 | |
| 
 | |
| .pink-avatar {
 | |
|     background: #ec4899;
 | |
| }
 | |
| 
 | |
| .blue-avatar {
 | |
|     background: #3b82f6;
 | |
| }
 | |
| 
 | |
| /* 等级徽章样式 */
 | |
| .level-badge {
 | |
|     padding: 4px 8px;
 | |
|     border-radius: 12px;
 | |
|     font-size: 12px;
 | |
|     font-weight: 500;
 | |
|     text-align: center;
 | |
|     min-width: 36px;
 | |
|     display: inline-block;
 | |
| }
 | |
| 
 | |
| .level-badge.lv1 {
 | |
|     background: #fef3c7;
 | |
|     color: #92400e;
 | |
| }
 | |
| 
 | |
| .level-badge.lv2 {
 | |
|     background: #ddd6fe;
 | |
|     color: #6b21a8;
 | |
| }
 | |
| 
 | |
| .level-badge.lv3 {
 | |
|     background: #fecaca;
 | |
|     color: #991b1b;
 | |
| }
 | |
| 
 | |
| .level-badge.lv4 {
 | |
|     background: #a7f3d0;
 | |
|     color: #065f46;
 | |
| }
 | |
| 
 | |
| /* 详情链接样式 */
 | |
| .detail-link {
 | |
|     color: #10b981;
 | |
|     text-decoration: none;
 | |
|     font-size: 14px;
 | |
| }
 | |
| 
 | |
| .detail-link:hover {
 | |
|     color: #059669;
 | |
|     text-decoration: underline;
 | |
| }
 | |
| 
 | |
| /* 分页样式 */
 | |
| .pagination-section {
 | |
|     background: #fff;
 | |
|     padding: 15px 20px;
 | |
|     border-radius: 8px;
 | |
|     box-shadow: 0 2px 4px rgba(0,0,0,0.1);
 | |
|     display: flex;
 | |
|     justify-content: space-between;
 | |
|     align-items: center;
 | |
|     flex-wrap: wrap;
 | |
|     gap: 15px;
 | |
| }
 | |
| 
 | |
| .pagination-info {
 | |
|     color: #666;
 | |
|     font-size: 14px;
 | |
|     display: flex;
 | |
|     align-items: center;
 | |
|     gap: 8px;
 | |
| }
 | |
| 
 | |
| .pagination-info select {
 | |
|     padding: 4px 8px;
 | |
|     border: 1px solid #ddd;
 | |
|     border-radius: 4px;
 | |
|     font-size: 14px;
 | |
| }
 | |
| 
 | |
| .pagination-controls {
 | |
|     display: flex;
 | |
|     align-items: center;
 | |
|     gap: 12px;
 | |
|     color: #666;
 | |
|     font-size: 14px;
 | |
| }
 | |
| 
 | |
| .pagination-controls span {
 | |
|     cursor: pointer;
 | |
|     padding: 4px 8px;
 | |
|     border-radius: 4px;
 | |
|     transition: background-color 0.2s;
 | |
| }
 | |
| 
 | |
| .pagination-controls span:hover {
 | |
|     background: #f3f4f6;
 | |
|     color: #374151;
 | |
| }
 | |
| 
 | |
| .pagination-controls input {
 | |
|     width: 50px;
 | |
|     padding: 4px 8px;
 | |
|     border: 1px solid #ddd;
 | |
|     border-radius: 4px;
 | |
|     text-align: center;
 | |
|     font-size: 14px;
 | |
| }
 | |
| 
 | |
| /* 复选框样式优化 */
 | |
| input[type="checkbox"] {
 | |
|     width: 16px;
 | |
|     height: 16px;
 | |
|     cursor: pointer;
 | |
| }
 | |
| 
 | |
| /* 响应式设计 */
 | |
| @media (max-width: 1200px) {
 | |
|     .filter-row {
 | |
|         gap: 15px;
 | |
|     }
 | |
|     
 | |
|     .filter-item {
 | |
|         min-width: 120px;
 | |
|     }
 | |
|     
 | |
|     .stats-section {
 | |
|         flex-wrap: wrap;
 | |
|     }
 | |
|     
 | |
|     .stats-item {
 | |
|         min-width: 180px;
 | |
|     }
 | |
| }
 | |
| 
 | |
| @media (max-width: 768px) {
 | |
|     .filter-row {
 | |
|         flex-direction: column;
 | |
|         gap: 15px;
 | |
|     }
 | |
|     
 | |
|     .filter-item {
 | |
|         min-width: auto;
 | |
|         width: 100%;
 | |
|     }
 | |
|     
 | |
|     .stats-section {
 | |
|         flex-direction: column;
 | |
|     }
 | |
|     
 | |
|     .stats-item {
 | |
|         min-width: auto;
 | |
|     }
 | |
|     
 | |
|     .member-table {
 | |
|         font-size: 12px;
 | |
|     }
 | |
|     
 | |
|     .member-table th,
 | |
|     .member-table td {
 | |
|         padding: 8px 12px;
 | |
|     }
 | |
|     
 | |
|     .pagination-section {
 | |
|         flex-direction: column;
 | |
|         text-align: center;
 | |
|     }
 | |
| }
 | |
| </style> |