470 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			470 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			HTML
		
	
	
	
| <!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: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
 | |
|             background-color: #f5f5f5;
 | |
|             color: #333;
 | |
|             height: 100vh;
 | |
|             overflow: hidden;
 | |
|         }
 | |
| 
 | |
|         /* 顶部导航栏 */
 | |
|         .header {
 | |
|             background-color: #28a745;
 | |
|             color: white;
 | |
|             padding: 8px 15px;
 | |
|             display: flex;
 | |
|             align-items: center;
 | |
|             position: relative;
 | |
|             height: 50px;
 | |
|         }
 | |
| 
 | |
|         .back-arrow {
 | |
|             font-size: 18px;
 | |
|             margin-right: 15px;
 | |
|             cursor: pointer;
 | |
|             user-select: none;
 | |
|         }
 | |
| 
 | |
|         .back-arrow:hover {
 | |
|             opacity: 0.8;
 | |
|         }
 | |
| 
 | |
|         .header-title {
 | |
|             font-size: 16px;
 | |
|             font-weight: 500;
 | |
|         }
 | |
| 
 | |
|         /* 搜索区域 */
 | |
|         .search-section {
 | |
|             background: white;
 | |
|             padding: 12px 15px;
 | |
|             margin: 10px 15px;
 | |
|             border-radius: 6px;
 | |
|             box-shadow: 0 1px 3px rgba(0,0,0,0.1);
 | |
|         }
 | |
| 
 | |
|         .search-row {
 | |
|             display: flex;
 | |
|             align-items: center;
 | |
|             gap: 10px;
 | |
|             flex-wrap: wrap;
 | |
|         }
 | |
| 
 | |
|         .search-label {
 | |
|             font-size: 14px;
 | |
|             color: #666;
 | |
|             white-space: nowrap;
 | |
|         }
 | |
| 
 | |
|         .search-input {
 | |
|             flex: 1;
 | |
|             min-width: 180px;
 | |
|             padding: 8px 12px;
 | |
|             border: 1px solid #ddd;
 | |
|             border-radius: 4px;
 | |
|             background-color: #f8f9fa;
 | |
|             font-size: 14px;
 | |
|         }
 | |
| 
 | |
|         .search-input::placeholder {
 | |
|             color: #999;
 | |
|         }
 | |
| 
 | |
|         .search-input:focus {
 | |
|             outline: none;
 | |
|             border-color: #28a745;
 | |
|             background-color: white;
 | |
|         }
 | |
| 
 | |
|         .btn {
 | |
|             padding: 8px 15px;
 | |
|             border: none;
 | |
|             border-radius: 4px;
 | |
|             font-size: 13px;
 | |
|             cursor: pointer;
 | |
|             transition: all 0.3s ease;
 | |
|             white-space: nowrap;
 | |
|         }
 | |
| 
 | |
|         .btn-primary {
 | |
|             background-color: #28a745;
 | |
|             color: white;
 | |
|         }
 | |
| 
 | |
|         .btn-primary:hover {
 | |
|             background-color: #218838;
 | |
|             transform: translateY(-1px);
 | |
|         }
 | |
| 
 | |
|         .btn-secondary {
 | |
|             background-color: #6c757d;
 | |
|             color: white;
 | |
|         }
 | |
| 
 | |
|         .btn-secondary:hover {
 | |
|             background-color: #5a6268;
 | |
|             transform: translateY(-1px);
 | |
|         }
 | |
| 
 | |
|         /* 表格容器 */
 | |
|         .table-container {
 | |
|             background: white;
 | |
|             margin: 10px 15px;
 | |
|             border-radius: 6px;
 | |
|             box-shadow: 0 1px 3px rgba(0,0,0,0.1);
 | |
|             overflow: hidden;
 | |
|             flex: 1;
 | |
|             display: flex;
 | |
|             flex-direction: column;
 | |
|         }
 | |
| 
 | |
|         .table {
 | |
|             width: 100%;
 | |
|             border-collapse: collapse;
 | |
|             font-size: 14px;
 | |
|         }
 | |
| 
 | |
|         .table th {
 | |
|             background-color: #f8f9fa;
 | |
|             padding: 10px 8px;
 | |
|             text-align: left;
 | |
|             font-weight: 500;
 | |
|             color: #666;
 | |
|             border-bottom: 1px solid #dee2e6;
 | |
|             font-size: 13px;
 | |
|         }
 | |
| 
 | |
|         .table td {
 | |
|             padding: 10px 8px;
 | |
|             border-bottom: 1px solid #dee2e6;
 | |
|             vertical-align: middle;
 | |
|             font-size: 13px;
 | |
|         }
 | |
| 
 | |
|         .table tbody tr:hover {
 | |
|             background-color: #f8f9fa;
 | |
|         }
 | |
| 
 | |
|         /* 开关按钮 */
 | |
|         .switch {
 | |
|             position: relative;
 | |
|             display: inline-block;
 | |
|             width: 42px;
 | |
|             height: 20px;
 | |
|         }
 | |
| 
 | |
|         .switch input {
 | |
|             opacity: 0;
 | |
|             width: 0;
 | |
|             height: 0;
 | |
|         }
 | |
| 
 | |
|         .slider {
 | |
|             position: absolute;
 | |
|             cursor: pointer;
 | |
|             top: 0;
 | |
|             left: 0;
 | |
|             right: 0;
 | |
|             bottom: 0;
 | |
|             background-color: #ccc;
 | |
|             transition: .4s;
 | |
|             border-radius: 20px;
 | |
|         }
 | |
| 
 | |
|         .slider:before {
 | |
|             position: absolute;
 | |
|             content: "";
 | |
|             height: 14px;
 | |
|             width: 14px;
 | |
|             left: 3px;
 | |
|             bottom: 3px;
 | |
|             background-color: white;
 | |
|             transition: .4s;
 | |
|             border-radius: 50%;
 | |
|         }
 | |
| 
 | |
|         input:checked + .slider {
 | |
|             background-color: #28a745;
 | |
|         }
 | |
| 
 | |
|         input:checked + .slider:before {
 | |
|             transform: translateX(22px);
 | |
|         }
 | |
| 
 | |
|         /* 等级标签 */
 | |
|         .level-tags {
 | |
|             display: flex;
 | |
|             gap: 5px;
 | |
|             flex-wrap: wrap;
 | |
|         }
 | |
| 
 | |
|         .level-tag {
 | |
|             background-color: #e9ecef;
 | |
|             color: #495057;
 | |
|             padding: 3px 6px;
 | |
|             border-radius: 10px;
 | |
|             font-size: 11px;
 | |
|             font-weight: 500;
 | |
|         }
 | |
| 
 | |
|         /* 操作按钮 */
 | |
|         .btn-detail {
 | |
|             background-color: #007bff;
 | |
|             color: white;
 | |
|             padding: 5px 10px;
 | |
|             border: none;
 | |
|             border-radius: 4px;
 | |
|             font-size: 11px;
 | |
|             cursor: pointer;
 | |
|             transition: all 0.3s ease;
 | |
|         }
 | |
| 
 | |
|         .btn-detail:hover {
 | |
|             background-color: #0056b3;
 | |
|             transform: translateY(-1px);
 | |
|         }
 | |
| 
 | |
|         /* 容器布局 */
 | |
|         .container {
 | |
|             display: flex;
 | |
|             flex-direction: column;
 | |
|             height: 100vh;
 | |
|         }
 | |
| 
 | |
|         /* 响应式设计 */
 | |
|         @media (max-width: 768px) {
 | |
|             .header {
 | |
|                 padding: 12px 15px;
 | |
|             }
 | |
| 
 | |
|             .search-section, .table-container {
 | |
|                 margin: 15px;
 | |
|             }
 | |
| 
 | |
|             .search-row {
 | |
|                 flex-direction: column;
 | |
|                 align-items: stretch;
 | |
|             }
 | |
| 
 | |
|             .search-input {
 | |
|                 min-width: auto;
 | |
|             }
 | |
| 
 | |
|             .table-container {
 | |
|                 overflow-x: auto;
 | |
|             }
 | |
| 
 | |
|             .table {
 | |
|                 min-width: 600px;
 | |
|             }
 | |
| 
 | |
|             .table th, .table td {
 | |
|                 padding: 10px 8px;
 | |
|                 font-size: 13px;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         @media (max-width: 480px) {
 | |
|             .search-section {
 | |
|                 padding: 15px;
 | |
|             }
 | |
| 
 | |
|             .btn {
 | |
|                 padding: 8px 15px;
 | |
|                 font-size: 13px;
 | |
|             }
 | |
| 
 | |
|             .header-title {
 | |
|                 font-size: 16px;
 | |
|             }
 | |
|         }
 | |
|     </style>
 | |
| </head>
 | |
| <body>
 | |
|     <div class="container">
 | |
|         <!-- 顶部导航栏 -->
 | |
|         <div class="header">
 | |
|             <span class="back-arrow" onclick="history.back()">←</span>
 | |
|             <h1 class="header-title">等级设置</h1>
 | |
|         </div>
 | |
| 
 | |
|         <!-- 搜索区域 -->
 | |
|         <div class="search-section">
 | |
|             <div class="search-row">
 | |
|                 <span class="search-label">摊位名称</span>
 | |
|                 <input type="text" class="search-input" placeholder="请点击摊位名称...">
 | |
|                 <button class="btn btn-primary">查询</button>
 | |
|                 <button class="btn btn-secondary">批量会员等级编辑</button>
 | |
|             </div>
 | |
|         </div>
 | |
| 
 | |
|         <!-- 数据表格 -->
 | |
|         <div class="table-container">
 | |
|         <table class="table">
 | |
|             <thead>
 | |
|                 <tr>
 | |
|                     <th>摊位名称</th>
 | |
|                     <th>是否启用会员</th>
 | |
|                     <th>会员等级</th>
 | |
|                     <th>操作</th>
 | |
|                 </tr>
 | |
|             </thead>
 | |
|             <tbody>
 | |
|                 <tr>
 | |
|                     <td>时尚服装店</td>
 | |
|                     <td>
 | |
|                         <label class="switch">
 | |
|                             <input type="checkbox" checked>
 | |
|                             <span class="slider"></span>
 | |
|                         </label>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <div class="level-tags">
 | |
|                             <span class="level-tag">lv1</span>
 | |
|                             <span class="level-tag">lv2</span>
 | |
|                             <span class="level-tag">lv3</span>
 | |
|                             <span class="level-tag">lv4</span>
 | |
|                         </div>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <button class="btn-detail" onclick="openLevelDetail('时尚服装店')">设置等级明细</button>
 | |
|                     </td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td>数码电子城</td>
 | |
|                     <td>
 | |
|                         <label class="switch">
 | |
|                             <input type="checkbox">
 | |
|                             <span class="slider"></span>
 | |
|                         </label>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <div class="level-tags">
 | |
|                             <span class="level-tag">lv1</span>
 | |
|                             <span class="level-tag">lv2</span>
 | |
|                             <span class="level-tag">lv3</span>
 | |
|                         </div>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <button class="btn-detail" onclick="openLevelDetail('数码电子城')">设置等级明细</button>
 | |
|                     </td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td>美食餐厅</td>
 | |
|                     <td>
 | |
|                         <label class="switch">
 | |
|                             <input type="checkbox" checked>
 | |
|                             <span class="slider"></span>
 | |
|                         </label>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <div class="level-tags">
 | |
|                             <span class="level-tag">lv1</span>
 | |
|                             <span class="level-tag">lv2</span>
 | |
|                             <span class="level-tag">lv3</span>
 | |
|                             <span class="level-tag">lv4</span>
 | |
|                         </div>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <button class="btn-detail" onclick="openLevelDetail('美食餐厅')">设置等级明细</button>
 | |
|                     </td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td>家居生活馆</td>
 | |
|                     <td>
 | |
|                         <label class="switch">
 | |
|                             <input type="checkbox">
 | |
|                             <span class="slider"></span>
 | |
|                         </label>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <div class="level-tags">
 | |
|                             <span class="level-tag">lv1</span>
 | |
|                             <span class="level-tag">lv2</span>
 | |
|                         </div>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <button class="btn-detail" onclick="openLevelDetail('家居生活馆')">设置等级明细</button>
 | |
|                     </td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td>运动健身店</td>
 | |
|                     <td>
 | |
|                         <label class="switch">
 | |
|                             <input type="checkbox" checked>
 | |
|                             <span class="slider"></span>
 | |
|                         </label>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <div class="level-tags">
 | |
|                             <span class="level-tag">lv1</span>
 | |
|                             <span class="level-tag">lv2</span>
 | |
|                             <span class="level-tag">lv3</span>
 | |
|                             <span class="level-tag">lv4</span>
 | |
|                         </div>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <button class="btn-detail" onclick="openLevelDetail('运动健身店')">设置等级明细</button>
 | |
|                     </td>
 | |
|                 </tr>
 | |
|             </tbody>
 | |
|         </table>
 | |
|     </div>
 | |
|     </div>
 | |
| 
 | |
|     <script>
 | |
|         // 设置等级明细功能
 | |
|         function openLevelDetail(storeName) {
 | |
|             alert('打开 ' + storeName + ' 的等级明细设置页面');
 | |
|             // 实际项目中这里会跳转到详细设置页面
 | |
|         }
 | |
| 
 | |
|         // 查询功能
 | |
|         document.querySelector('.btn-primary').addEventListener('click', function() {
 | |
|             const searchValue = document.querySelector('.search-input').value;
 | |
|             if (searchValue.trim()) {
 | |
|                 alert('搜索: ' + searchValue);
 | |
|                 // 实际项目中这里会执行搜索逻辑
 | |
|             } else {
 | |
|                 alert('请输入摊位名称');
 | |
|             }
 | |
|         });
 | |
| 
 | |
|         // 批量编辑功能
 | |
|         document.querySelector('.btn-secondary').addEventListener('click', function() {
 | |
|             alert('打开批量会员等级编辑页面');
 | |
|             // 实际项目中这里会跳转到批量编辑页面
 | |
|         });
 | |
| 
 | |
|         // 开关状态变化监听
 | |
|         document.querySelectorAll('.switch input').forEach(function(switchInput) {
 | |
|             switchInput.addEventListener('change', function() {
 | |
|                 const row = this.closest('tr');
 | |
|                 const storeName = row.querySelector('td:first-child').textContent;
 | |
|                 const isEnabled = this.checked ? '启用' : '关闭';
 | |
|                 console.log(storeName + ' 会员功能已' + isEnabled);
 | |
|                 // 实际项目中这里会发送API请求更新状态
 | |
|             });
 | |
|         });
 | |
| 
 | |
|         // 搜索框回车搜索
 | |
|         document.querySelector('.search-input').addEventListener('keypress', function(e) {
 | |
|             if (e.key === 'Enter') {
 | |
|                 document.querySelector('.btn-primary').click();
 | |
|             }
 | |
|         });
 | |
|     </script>
 | |
| </body>
 | |
| </html> |