791 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			HTML
		
	
	
	
		
		
			
		
	
	
			791 lines
		
	
	
		
			29 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', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif; | ||
|  |             background-color: #f5f5f5; | ||
|  |             color: #333; | ||
|  |         } | ||
|  | 
 | ||
|  |         .container { | ||
|  |             max-width: 1600px; | ||
|  |             margin: 0 auto; | ||
|  |             padding: 20px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-header { | ||
|  |             background: white; | ||
|  |             padding: 16px 24px; | ||
|  |             margin-bottom: 16px; | ||
|  |             border-radius: 8px; | ||
|  |             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-title { | ||
|  |             font-size: 24px; | ||
|  |             font-weight: 600; | ||
|  |             color: #262626; | ||
|  |         } | ||
|  | 
 | ||
|  |         .search-section { | ||
|  |             background: white; | ||
|  |             padding: 24px; | ||
|  |             margin-bottom: 16px; | ||
|  |             border-radius: 8px; | ||
|  |             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||
|  |         } | ||
|  | 
 | ||
|  |         .search-form { | ||
|  |             display: grid; | ||
|  |             grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | ||
|  |             gap: 16px; | ||
|  |             margin-bottom: 16px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .form-item { | ||
|  |             display: flex; | ||
|  |             flex-direction: column; | ||
|  |             gap: 8px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .form-label { | ||
|  |             font-size: 14px; | ||
|  |             color: #666; | ||
|  |             font-weight: 500; | ||
|  |         } | ||
|  | 
 | ||
|  |         .form-input { | ||
|  |             height: 40px; | ||
|  |             padding: 0 12px; | ||
|  |             border: 1px solid #ddd; | ||
|  |             border-radius: 6px; | ||
|  |             font-size: 14px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .form-input:focus { | ||
|  |             outline: none; | ||
|  |             border-color: #1890ff; | ||
|  |             box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); | ||
|  |         } | ||
|  | 
 | ||
|  |         .filter-row { | ||
|  |             display: flex; | ||
|  |             align-items: center; | ||
|  |             gap: 20px; | ||
|  |             flex-wrap: wrap; | ||
|  |         } | ||
|  | 
 | ||
|  |         .filter-item { | ||
|  |             display: flex; | ||
|  |             align-items: center; | ||
|  |             gap: 10px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .filter-item label { | ||
|  |             font-weight: 500; | ||
|  |             color: #333; | ||
|  |             min-width: 70px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .filter-item select, | ||
|  |         .filter-item input { | ||
|  |             padding: 8px 12px; | ||
|  |             border: 1px solid #d9d9d9; | ||
|  |             border-radius: 4px; | ||
|  |             min-width: 120px; | ||
|  |             font-size: 14px; | ||
|  |             transition: all 0.3s ease; | ||
|  |         } | ||
|  | 
 | ||
|  |         .filter-item select:focus, | ||
|  |         .filter-item input:focus { | ||
|  |             border-color: #1890ff; | ||
|  |             box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); | ||
|  |             outline: none; | ||
|  |         } | ||
|  | 
 | ||
|  |         .button-group { | ||
|  |             display: flex; | ||
|  |             gap: 12px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .btn { | ||
|  |             height: 40px; | ||
|  |             padding: 0 16px; | ||
|  |             border: none; | ||
|  |             border-radius: 6px; | ||
|  |             font-size: 14px; | ||
|  |             cursor: pointer; | ||
|  |             display: inline-flex; | ||
|  |             align-items: center; | ||
|  |             justify-content: center; | ||
|  |             transition: all 0.3s; | ||
|  |         } | ||
|  | 
 | ||
|  |         .btn-primary { | ||
|  |             background: #1890ff; | ||
|  |             color: white; | ||
|  |         } | ||
|  | 
 | ||
|  |         .btn-primary:hover { | ||
|  |             background: #40a9ff; | ||
|  |         } | ||
|  | 
 | ||
|  |         .btn-default { | ||
|  |             background: white; | ||
|  |             color: #666; | ||
|  |             border: 1px solid #ddd; | ||
|  |         } | ||
|  | 
 | ||
|  |         .btn-default:hover { | ||
|  |             border-color: #1890ff; | ||
|  |             color: #1890ff; | ||
|  |         } | ||
|  | 
 | ||
|  |         .stats-section { | ||
|  |             background: white; | ||
|  |             padding: 24px; | ||
|  |             margin-bottom: 16px; | ||
|  |             border-radius: 8px; | ||
|  |             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||
|  |         } | ||
|  | 
 | ||
|  |         .stats-grid { | ||
|  |             display: grid; | ||
|  |             grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); | ||
|  |             gap: 20px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .stat-item { | ||
|  |             text-align: center; | ||
|  |             padding: 20px; | ||
|  |             border: 1px solid #f0f0f0; | ||
|  |             border-radius: 8px; | ||
|  |             background: #fafafa; | ||
|  |         } | ||
|  | 
 | ||
|  |         .stat-label { | ||
|  |             font-size: 14px; | ||
|  |             color: #666; | ||
|  |             margin-bottom: 8px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .stat-value { | ||
|  |             font-size: 24px; | ||
|  |             font-weight: 600; | ||
|  |             color: #1890ff; | ||
|  |         } | ||
|  | 
 | ||
|  |         .table-section { | ||
|  |             background: white; | ||
|  |             border-radius: 8px; | ||
|  |             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||
|  |             overflow: hidden; | ||
|  |         } | ||
|  | 
 | ||
|  |         .table-wrapper { | ||
|  |             overflow-x: auto; | ||
|  |         } | ||
|  | 
 | ||
|  |         .order-table { | ||
|  |             width: 100%; | ||
|  |             border-collapse: collapse; | ||
|  |             font-size: 14px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .order-table th { | ||
|  |             background: #fafafa; | ||
|  |             padding: 12px 16px; | ||
|  |             text-align: left; | ||
|  |             font-weight: 600; | ||
|  |             color: #666; | ||
|  |             border-bottom: 1px solid #f0f0f0; | ||
|  |             white-space: nowrap; | ||
|  |         } | ||
|  | 
 | ||
|  |         .order-table td { | ||
|  |             padding: 12px 16px; | ||
|  |             border-bottom: 1px solid #f9f9f9; | ||
|  |             vertical-align: top; | ||
|  |         } | ||
|  | 
 | ||
|  |         .order-table tbody tr:hover { | ||
|  |             background: #f8f9fa; | ||
|  |         } | ||
|  | 
 | ||
|  |         .status-tag { | ||
|  |             padding: 4px 8px; | ||
|  |             border-radius: 4px; | ||
|  |             font-size: 12px; | ||
|  |             font-weight: 500; | ||
|  |         } | ||
|  | 
 | ||
|  |         .status-paid { | ||
|  |             background: #f6ffed; | ||
|  |             color: #52c41a; | ||
|  |             border: 1px solid #b7eb8f; | ||
|  |         } | ||
|  | 
 | ||
|  |         .status-pending { | ||
|  |             background: #fff7e6; | ||
|  |             color: #fa8c16; | ||
|  |             border: 1px solid #ffd591; | ||
|  |         } | ||
|  | 
 | ||
|  |         .status-cancelled { | ||
|  |             background: #fff2f0; | ||
|  |             color: #ff4d4f; | ||
|  |             border: 1px solid #ffb3b3; | ||
|  |         } | ||
|  | 
 | ||
|  |         .status-completed { | ||
|  |             background: #f6ffed; | ||
|  |             color: #52c41a; | ||
|  |             border: 1px solid #b7eb8f; | ||
|  |         } | ||
|  | 
 | ||
|  |         .pagination { | ||
|  |             padding: 20px 24px; | ||
|  |             display: flex; | ||
|  |             justify-content: space-between; | ||
|  |             align-items: center; | ||
|  |             background: white; | ||
|  |             border-top: 1px solid #f0f0f0; | ||
|  |         } | ||
|  | 
 | ||
|  |         .pagination-info { | ||
|  |             color: #666; | ||
|  |             font-size: 14px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .pagination-controls { | ||
|  |             display: flex; | ||
|  |             align-items: center; | ||
|  |             gap: 16px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-size-selector { | ||
|  |             display: flex; | ||
|  |             align-items: center; | ||
|  |             gap: 8px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-size-select { | ||
|  |             height: 32px; | ||
|  |             padding: 0 8px; | ||
|  |             border: 1px solid #ddd; | ||
|  |             border-radius: 4px; | ||
|  |             font-size: 14px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-list { | ||
|  |             display: flex; | ||
|  |             gap: 4px; | ||
|  |             list-style: none; | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-item { | ||
|  |             width: 32px; | ||
|  |             height: 32px; | ||
|  |             display: flex; | ||
|  |             align-items: center; | ||
|  |             justify-content: center; | ||
|  |             border: 1px solid #ddd; | ||
|  |             border-radius: 4px; | ||
|  |             cursor: pointer; | ||
|  |             font-size: 14px; | ||
|  |             transition: all 0.3s; | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-item:hover { | ||
|  |             border-color: #1890ff; | ||
|  |             color: #1890ff; | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-item.active { | ||
|  |             background: #1890ff; | ||
|  |             color: white; | ||
|  |             border-color: #1890ff; | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-item.disabled { | ||
|  |             opacity: 0.5; | ||
|  |             cursor: not-allowed; | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-jump { | ||
|  |             display: flex; | ||
|  |             align-items: center; | ||
|  |             gap: 8px; | ||
|  |             font-size: 14px; | ||
|  |             color: #666; | ||
|  |         } | ||
|  | 
 | ||
|  |         .page-jump input { | ||
|  |             width: 60px; | ||
|  |             height: 32px; | ||
|  |             padding: 0 8px; | ||
|  |             border: 1px solid #ddd; | ||
|  |             border-radius: 4px; | ||
|  |             text-align: center; | ||
|  |             font-size: 14px; | ||
|  |         } | ||
|  | 
 | ||
|  |         .expandable-row { | ||
|  |             background: #f8f9fa; | ||
|  |         } | ||
|  | 
 | ||
|  |         .expand-btn { | ||
|  |             background: none; | ||
|  |             border: none; | ||
|  |             cursor: pointer; | ||
|  |             padding: 4px; | ||
|  |             border-radius: 4px; | ||
|  |             font-size: 12px; | ||
|  |             transition: all 0.3s; | ||
|  |         } | ||
|  | 
 | ||
|  |         .expand-btn:hover { | ||
|  |             background: #e6f7ff; | ||
|  |         } | ||
|  | 
 | ||
|  |         .sub-table { | ||
|  |             width: 100%; | ||
|  |             margin: 8px 0; | ||
|  |             border: 1px solid #f0f0f0; | ||
|  |             border-radius: 4px; | ||
|  |             background: white; | ||
|  |         } | ||
|  | 
 | ||
|  |         .sub-table th, | ||
|  |         .sub-table td { | ||
|  |             padding: 8px; | ||
|  |             font-size: 12px; | ||
|  |             border-bottom: 1px solid #f9f9f9; | ||
|  |             text-align: left; | ||
|  |         } | ||
|  | 
 | ||
|  |         .sub-table th { | ||
|  |             background: #f5f5f5; | ||
|  |             font-weight: 600; | ||
|  |             color: #666; | ||
|  |         } | ||
|  | 
 | ||
|  |         .nested-table-wrapper { | ||
|  |             padding: 16px; | ||
|  |             background: #f8f9fa; | ||
|  |         } | ||
|  | 
 | ||
|  |         .product-image { | ||
|  |             width: 40px; | ||
|  |             height: 40px; | ||
|  |             object-fit: cover; | ||
|  |             border-radius: 4px; | ||
|  |             cursor: pointer; | ||
|  |         } | ||
|  |     </style> | ||
|  | </head> | ||
|  | <body> | ||
|  |     <div class="container"> | ||
|  |         <!-- 页面标题 --> | ||
|  |         <div class="page-header"> | ||
|  |             <h1 class="page-title">独立店铺订单管理</h1> | ||
|  |         </div> | ||
|  | 
 | ||
|  |         <!-- 搜索区域 --> | ||
|  |         <div class="search-section"> | ||
|  |             <div class="filter-row"> | ||
|  |                 <div class="filter-item"> | ||
|  |                     <label>收货人姓名:</label> | ||
|  |                     <input type="text" placeholder="收货人姓名搜索"> | ||
|  |                 </div> | ||
|  |                 <div class="filter-item"> | ||
|  |                     <label>订单编号:</label> | ||
|  |                     <input type="text" placeholder="订单编号"> | ||
|  |                 </div> | ||
|  |                 <div class="filter-item"> | ||
|  |                     <label>订单状态:</label> | ||
|  |                     <select> | ||
|  |                         <option value="">全部</option> | ||
|  |                         <option value="pending_payment">待支付</option> | ||
|  |                         <option value="pending_accept">待接单</option> | ||
|  |                         <option value="pending_prepare">待备货</option> | ||
|  |                         <option value="pending_pickup">待取货</option> | ||
|  |                         <option value="pickup_pending_delivery">已取货(待配送)</option> | ||
|  |                         <option value="delivery_in_progress">配送中(待送达)</option> | ||
|  |                         <option value="delivered_pending_receipt">已配送(待收货或已送达自提点)</option> | ||
|  |                         <option value="completed_pending_review">完成(待评价或自动完成)</option> | ||
|  |                         <option value="unpaid_cancelled">未支付订单取消</option> | ||
|  |                         <option value="user_refund_processing">用户申请退款中</option> | ||
|  |                         <option value="user_refund_completed">用户申请已退款</option> | ||
|  |                         <option value="merchant_cancelled">商家取消订单</option> | ||
|  |                         <option value="platform_cancelled">平台取消订单</option> | ||
|  |                     </select> | ||
|  |                 </div> | ||
|  |             </div> | ||
|  |             <div class="filter-row"> | ||
|  |                 <div class="filter-item"> | ||
|  |                     <label for="dateRange">日期范围:</label> | ||
|  |                     <select id="dateRange"> | ||
|  |                         <option value="today">近1天</option> | ||
|  |                         <option value="week" selected>近7天</option> | ||
|  |                         <option value="month">近30天</option> | ||
|  |                         <option value="custom">自定义</option> | ||
|  |                     </select> | ||
|  |                 </div> | ||
|  |                 <div class="filter-item" id="customDateRange" style="display: none;"> | ||
|  |                     <label for="startDate">开始日期:</label> | ||
|  |                     <input type="date" id="startDate"> | ||
|  |                     <label for="endDate">结束日期:</label> | ||
|  |                     <input type="date" id="endDate"> | ||
|  |                 </div> | ||
|  |             </div> | ||
|  |             <div class="button-group"> | ||
|  |                 <button class="btn btn-primary">查询</button> | ||
|  |                 <button class="btn btn-default">重置</button> | ||
|  |             </div> | ||
|  |         </div> | ||
|  | 
 | ||
|  |         <!-- 统计数据区域 --> | ||
|  |         <div class="stats-section"> | ||
|  |             <div class="stats-grid"> | ||
|  |                 <div class="stat-item"> | ||
|  |                     <div class="stat-label">订单数量(笔)</div> | ||
|  |                     <div class="stat-value">86</div> | ||
|  |                 </div> | ||
|  |                 <div class="stat-item"> | ||
|  |                     <div class="stat-label">订单金额(元)</div> | ||
|  |                     <div class="stat-value">2456.8</div> | ||
|  |                 </div> | ||
|  |                 <div class="stat-item"> | ||
|  |                     <div class="stat-label">退款金额</div> | ||
|  |                     <div class="stat-value">325.5</div> | ||
|  |                 </div> | ||
|  |                 <div class="stat-item"> | ||
|  |                     <div class="stat-label">订单完成率</div> | ||
|  |                     <div class="stat-value">78.5%</div> | ||
|  |                 </div> | ||
|  |             </div> | ||
|  |         </div> | ||
|  | 
 | ||
|  |         <!-- 表格区域 --> | ||
|  |         <div class="table-section"> | ||
|  |             <div class="table-wrapper"> | ||
|  |                 <table class="order-table"> | ||
|  |                     <thead> | ||
|  |                         <tr> | ||
|  |                             <th></th> | ||
|  |                             <th>序号</th> | ||
|  |                             <th>订单编号</th> | ||
|  |                             <th>下单时间</th> | ||
|  |                             <th>收货人姓名</th> | ||
|  |                             <th>收货人电话</th> | ||
|  |                             <th>收货人地址</th> | ||
|  |                             <th>订单金额</th> | ||
|  |                             <th>商品金额</th> | ||
|  |                             <th>配送费</th> | ||
|  |                             <th>包装费</th> | ||
|  |                             <th>调度费</th> | ||
|  |                             <th>订单状态</th> | ||
|  |                             <th>店铺名称</th> | ||
|  |                             <th>备注</th> | ||
|  |                         </tr> | ||
|  |                     </thead> | ||
|  |                     <tbody> | ||
|  |                         <tr> | ||
|  |                             <td><button class="expand-btn" onclick="toggleShopExpand(this)">▼</button></td> | ||
|  |                             <td>1</td> | ||
|  |                             <td>IND202407190001</td> | ||
|  |                             <td>2025-07-19 16:45:22</td> | ||
|  |                             <td>李明</td> | ||
|  |                             <td>13912345678</td> | ||
|  |                             <td>独立店铺A 201室</td> | ||
|  |                             <td>45.8</td> | ||
|  |                             <td>42.8</td> | ||
|  |                             <td>2</td> | ||
|  |                             <td>0.5</td> | ||
|  |                             <td>0.5</td> | ||
|  |                             <td><span class="status-tag status-paid">已支付</span></td> | ||
|  |                             <td>独立店铺A</td> | ||
|  |                             <td>无特殊要求</td> | ||
|  |                         </tr> | ||
|  |                         <tr class="expandable-row" style="display: none;"> | ||
|  |                             <td colspan="15"> | ||
|  |                                 <div class="nested-table-wrapper"> | ||
|  |                                     <table class="sub-table"> | ||
|  |                                         <thead> | ||
|  |                                             <tr> | ||
|  |                                                 <th>序号</th> | ||
|  |                                                 <th>商品名称</th> | ||
|  |                                                 <th>商品数量</th> | ||
|  |                                                 <th>商品原价</th> | ||
|  |                                                 <th>商品终价</th> | ||
|  |                                                 <th>商品订单金额</th> | ||
|  |                                                 <th>商品图片</th> | ||
|  |                                             </tr> | ||
|  |                                         </thead> | ||
|  |                                         <tbody> | ||
|  |                                             <tr> | ||
|  |                                                 <td>1</td> | ||
|  |                                                 <td>新鲜蔬菜组合</td> | ||
|  |                                                 <td>2</td> | ||
|  |                                                 <td>25.00</td> | ||
|  |                                                 <td>22.00</td> | ||
|  |                                                 <td>44.00</td> | ||
|  |                                                 <td><img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiBmaWxsPSIjRjBGMEYwIi8+CjxwYXRoIGQ9Ik0xNiAxNkgyNFYyNEgxNlYxNloiIGZpbGw9IiNEOUQ5RDkiLz4KPC9zdmc+" class="product-image" alt="商品图片"></td> | ||
|  |                                             </tr> | ||
|  |                                         </tbody> | ||
|  |                                     </table> | ||
|  |                                 </div> | ||
|  |                             </td> | ||
|  |                         </tr> | ||
|  |                         <tr> | ||
|  |                             <td><button class="expand-btn" onclick="toggleShopExpand(this)">▼</button></td> | ||
|  |                             <td>2</td> | ||
|  |                             <td>IND202407190002</td> | ||
|  |                             <td>2025-07-19 15:20:15</td> | ||
|  |                             <td>王芳</td> | ||
|  |                             <td>13887654321</td> | ||
|  |                             <td>独立店铺B 102室</td> | ||
|  |                             <td>32.5</td> | ||
|  |                             <td>30.0</td> | ||
|  |                             <td>2</td> | ||
|  |                             <td>0.25</td> | ||
|  |                             <td>0.25</td> | ||
|  |                             <td><span class="status-tag status-completed">已完成</span></td> | ||
|  |                             <td>独立店铺B</td> | ||
|  |                             <td>尽快配送</td> | ||
|  |                         </tr> | ||
|  |                         <tr class="expandable-row" style="display: none;"> | ||
|  |                             <td colspan="15"> | ||
|  |                                 <div class="nested-table-wrapper"> | ||
|  |                                     <table class="sub-table"> | ||
|  |                                         <thead> | ||
|  |                                             <tr> | ||
|  |                                                 <th>序号</th> | ||
|  |                                                 <th>商品名称</th> | ||
|  |                                                 <th>商品数量</th> | ||
|  |                                                 <th>商品原价</th> | ||
|  |                                                 <th>商品终价</th> | ||
|  |                                                 <th>商品订单金额</th> | ||
|  |                                                 <th>商品图片</th> | ||
|  |                                             </tr> | ||
|  |                                         </thead> | ||
|  |                                         <tbody> | ||
|  |                                             <tr> | ||
|  |                                                 <td>1</td> | ||
|  |                                                 <td>有机水果礼盒</td> | ||
|  |                                                 <td>1</td> | ||
|  |                                                 <td>35.00</td> | ||
|  |                                                 <td>30.00</td> | ||
|  |                                                 <td>30.00</td> | ||
|  |                                                 <td><img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiBmaWxsPSIjRjBGMEYwIi8+CjxwYXRoIGQ9Ik0xNiAxNkgyNFYyNEgxNlYxNloiIGZpbGw9IiNEOUQ5RDkiLz4KPC9zdmc+" class="product-image" alt="商品图片"></td> | ||
|  |                                             </tr> | ||
|  |                                         </tbody> | ||
|  |                                     </table> | ||
|  |                                 </div> | ||
|  |                             </td> | ||
|  |                         </tr> | ||
|  |                         <tr> | ||
|  |                             <td><button class="expand-btn" onclick="toggleShopExpand(this)">▼</button></td> | ||
|  |                             <td>3</td> | ||
|  |                             <td>IND202407180001</td> | ||
|  |                             <td>2025-07-18 19:30:45</td> | ||
|  |                             <td>张伟</td> | ||
|  |                             <td>13656789012</td> | ||
|  |                             <td>独立店铺A 305室</td> | ||
|  |                             <td>28.9</td> | ||
|  |                             <td>26.9</td> | ||
|  |                             <td>1.5</td> | ||
|  |                             <td>0.25</td> | ||
|  |                             <td>0.25</td> | ||
|  |                             <td><span class="status-tag status-pending">待取货</span></td> | ||
|  |                             <td>独立店铺A</td> | ||
|  |                             <td></td> | ||
|  |                         </tr> | ||
|  |                         <tr class="expandable-row" style="display: none;"> | ||
|  |                             <td colspan="15"> | ||
|  |                                 <div class="nested-table-wrapper"> | ||
|  |                                     <table class="sub-table"> | ||
|  |                                         <thead> | ||
|  |                                             <tr> | ||
|  |                                                 <th>序号</th> | ||
|  |                                                 <th>商品名称</th> | ||
|  |                                                 <th>商品数量</th> | ||
|  |                                                 <th>商品原价</th> | ||
|  |                                                 <th>商品终价</th> | ||
|  |                                                 <th>商品订单金额</th> | ||
|  |                                                 <th>商品图片</th> | ||
|  |                                             </tr> | ||
|  |                                         </thead> | ||
|  |                                         <tbody> | ||
|  |                                             <tr> | ||
|  |                                                 <td>1</td> | ||
|  |                                                 <td>精选肉类套餐</td> | ||
|  |                                                 <td>1</td> | ||
|  |                                                 <td>30.00</td> | ||
|  |                                                 <td>26.90</td> | ||
|  |                                                 <td>26.90</td> | ||
|  |                                                 <td><img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiBmaWxsPSIjRjBGMEYwIi8+CjxwYXRoIGQ9Ik0xNiAxNkgyNFYyNEgxNlYxNloiIGZpbGw9IiNEOUQ5RDkiLz4KPC9zdmc+" class="product-image" alt="商品图片"></td> | ||
|  |                                             </tr> | ||
|  |                                         </tbody> | ||
|  |                                     </table> | ||
|  |                                 </div> | ||
|  |                             </td> | ||
|  |                         </tr> | ||
|  |                         <tr> | ||
|  |                             <td><button class="expand-btn" onclick="toggleShopExpand(this)">▼</button></td> | ||
|  |                             <td>4</td> | ||
|  |                             <td>IND202407180002</td> | ||
|  |                             <td>2025-07-18 14:15:33</td> | ||
|  |                             <td>刘静</td> | ||
|  |                             <td>13723456789</td> | ||
|  |                             <td>独立店铺C 208室</td> | ||
|  |                             <td>67.2</td> | ||
|  |                             <td>62.2</td> | ||
|  |                             <td>3</td> | ||
|  |                             <td>1</td> | ||
|  |                             <td>1</td> | ||
|  |                             <td><span class="status-tag status-cancelled">已取消</span></td> | ||
|  |                             <td>独立店铺C</td> | ||
|  |                             <td>用户取消</td> | ||
|  |                         </tr> | ||
|  |                         <tr class="expandable-row" style="display: none;"> | ||
|  |                             <td colspan="15"> | ||
|  |                                 <div class="nested-table-wrapper"> | ||
|  |                                     <table class="sub-table"> | ||
|  |                                         <thead> | ||
|  |                                             <tr> | ||
|  |                                                 <th>序号</th> | ||
|  |                                                 <th>商品名称</th> | ||
|  |                                                 <th>商品数量</th> | ||
|  |                                                 <th>商品原价</th> | ||
|  |                                                 <th>商品终价</th> | ||
|  |                                                 <th>商品订单金额</th> | ||
|  |                                                 <th>商品图片</th> | ||
|  |                                             </tr> | ||
|  |                                         </thead> | ||
|  |                                         <tbody> | ||
|  |                                             <tr> | ||
|  |                                                 <td>1</td> | ||
|  |                                                 <td>海鲜大礼包</td> | ||
|  |                                                 <td>2</td> | ||
|  |                                                 <td>35.00</td> | ||
|  |                                                 <td>31.10</td> | ||
|  |                                                 <td>62.20</td> | ||
|  |                                                 <td><img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiBmaWxsPSIjRjBGMEYwIi8+CjxwYXRoIGQ9Ik0xNiAxNkgyNFYyNEgxNlYxNloiIGZpbGw9IiNEOUQ5RDkiLz4KPC9zdmc+" class="product-image" alt="商品图片"></td> | ||
|  |                                             </tr> | ||
|  |                                         </tbody> | ||
|  |                                     </table> | ||
|  |                                 </div> | ||
|  |                             </td> | ||
|  |                         </tr> | ||
|  |                     </tbody> | ||
|  |                 </table> | ||
|  |             </div> | ||
|  | 
 | ||
|  |             <!-- 分页区域 --> | ||
|  |             <div class="pagination"> | ||
|  |                 <div class="pagination-info">共 86 条</div> | ||
|  |                 <div class="pagination-controls"> | ||
|  |                     <div class="page-size-selector"> | ||
|  |                         <select class="page-size-select"> | ||
|  |                             <option value="10">10条/页</option> | ||
|  |                             <option value="20">20条/页</option> | ||
|  |                             <option value="50">50条/页</option> | ||
|  |                             <option value="100">100条/页</option> | ||
|  |                         </select> | ||
|  |                     </div> | ||
|  |                     <div class="page-item disabled">«</div> | ||
|  |                     <ul class="page-list"> | ||
|  |                         <li class="page-item active">1</li> | ||
|  |                         <li class="page-item">2</li> | ||
|  |                         <li class="page-item">3</li> | ||
|  |                         <li class="page-item">4</li> | ||
|  |                         <li class="page-item">5</li> | ||
|  |                         <li class="page-item">6</li> | ||
|  |                         <li class="page-item">...</li> | ||
|  |                         <li class="page-item">9</li> | ||
|  |                     </ul> | ||
|  |                     <div class="page-item">»</div> | ||
|  |                     <div class="page-jump"> | ||
|  |                         前往 <input type="number" value="1" min="1" max="9"> 页 | ||
|  |                     </div> | ||
|  |                 </div> | ||
|  |             </div> | ||
|  |         </div> | ||
|  |     </div> | ||
|  | 
 | ||
|  |     <script> | ||
|  |         // 日期范围选择 | ||
|  |         document.getElementById('dateRange').addEventListener('change', function() { | ||
|  |             const customDateRange = document.getElementById('customDateRange'); | ||
|  |             if (this.value === 'custom') { | ||
|  |                 customDateRange.style.display = 'flex'; | ||
|  |             } else { | ||
|  |                 customDateRange.style.display = 'none'; | ||
|  |             } | ||
|  |         }); | ||
|  | 
 | ||
|  |         // 店铺订单展开功能 | ||
|  |         function toggleShopExpand(btn) { | ||
|  |             const currentRow = btn.closest('tr'); | ||
|  |             const nextRow = currentRow.nextElementSibling; | ||
|  | 
 | ||
|  |             if (nextRow && nextRow.classList.contains('expandable-row')) { | ||
|  |                 const isVisible = nextRow.style.display !== 'none'; | ||
|  | 
 | ||
|  |                 if (isVisible) { | ||
|  |                     nextRow.style.display = 'none'; | ||
|  |                     btn.innerHTML = '▼'; | ||
|  |                 } else { | ||
|  |                     nextRow.style.display = 'table-row'; | ||
|  |                     btn.innerHTML = '▲'; | ||
|  |                 } | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         // 搜索功能 | ||
|  |         document.querySelector('.btn-primary').addEventListener('click', function() { | ||
|  |             alert('执行查询操作'); | ||
|  |         }); | ||
|  | 
 | ||
|  |         document.querySelector('.btn-default').addEventListener('click', function() { | ||
|  |             document.querySelectorAll('.filter-item input, .filter-item select').forEach(input => { | ||
|  |                 input.value = ''; | ||
|  |             }); | ||
|  |         }); | ||
|  | 
 | ||
|  |         // 分页功能 | ||
|  |         document.querySelectorAll('.page-item:not(.disabled):not(.active)').forEach(item => { | ||
|  |             item.addEventListener('click', function() { | ||
|  |                 if (!this.classList.contains('disabled') && this.textContent !== '...') { | ||
|  |                     document.querySelectorAll('.page-item').forEach(p => p.classList.remove('active')); | ||
|  |                     this.classList.add('active'); | ||
|  |                 } | ||
|  |             }); | ||
|  |         }); | ||
|  | 
 | ||
|  |         // 页面跳转功能 | ||
|  |         document.querySelector('.page-jump input').addEventListener('keypress', function(e) { | ||
|  |             if (e.key === 'Enter') { | ||
|  |                 const page = parseInt(this.value); | ||
|  |                 if (page >= 1 && page <= 9) { | ||
|  |                     document.querySelectorAll('.page-item').forEach(p => p.classList.remove('active')); | ||
|  |                     alert('跳转到第 ' + page + ' 页'); | ||
|  |                 } | ||
|  |             } | ||
|  |         }); | ||
|  |     </script> | ||
|  | </body> | ||
|  | </html> |