综述: 新增摊位管理模块和菜市场审核功能
- 在商家端web中新增摊位管理模块,包含摊位列表页面和摊位创建页面 - 在平台端web中新增菜市场管理模块的待审核菜市场页面 - 更新平台端web菜市场管理模块的菜市场列表页面
This commit is contained in:
		
							parent
							
								
									2a93391c5f
								
							
						
					
					
						commit
						f6125ad566
					
				|  | @ -0,0 +1,444 @@ | |||
| <!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: #f5f7fa; | ||||
|             padding: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .container { | ||||
|             max-width: 1600px; | ||||
|             margin: 0 auto; | ||||
|             background: white; | ||||
|             padding: 20px; | ||||
|             border-radius: 8px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|         } | ||||
| 
 | ||||
|         .page-title { | ||||
|             font-size: 24px; | ||||
|             color: #303133; | ||||
|             font-weight: 500; | ||||
|             margin-bottom: 20px; | ||||
|             padding-bottom: 15px; | ||||
|             border-bottom: 2px solid #409eff; | ||||
|         } | ||||
| 
 | ||||
|         /* 搜索栏样式 */ | ||||
|         .search-bar { | ||||
|             display: flex; | ||||
|             gap: 15px; | ||||
|             margin-bottom: 20px; | ||||
|             align-items: center; | ||||
|             flex-wrap: wrap; | ||||
|         } | ||||
| 
 | ||||
|         .search-bar input, | ||||
|         .search-bar select { | ||||
|             padding: 8px 12px; | ||||
|             border: 1px solid #dcdfe6; | ||||
|             border-radius: 4px; | ||||
|             font-size: 14px; | ||||
|             outline: none; | ||||
|             min-width: 180px; | ||||
|         } | ||||
| 
 | ||||
|         .search-bar input:focus, | ||||
|         .search-bar select:focus { | ||||
|             border-color: #409eff; | ||||
|         } | ||||
| 
 | ||||
|         .search-bar input::placeholder { | ||||
|             color: #c0c4cc; | ||||
|         } | ||||
| 
 | ||||
|         .btn { | ||||
|             padding: 8px 20px; | ||||
|             border: none; | ||||
|             border-radius: 4px; | ||||
|             font-size: 14px; | ||||
|             cursor: pointer; | ||||
|             transition: all 0.3s; | ||||
|         } | ||||
| 
 | ||||
|         .btn-primary { | ||||
|             background-color: #409eff; | ||||
|             color: white; | ||||
|         } | ||||
| 
 | ||||
|         .btn-primary:hover { | ||||
|             background-color: #66b1ff; | ||||
|         } | ||||
| 
 | ||||
|         .btn-success { | ||||
|             background-color: #67c23a; | ||||
|             color: white; | ||||
|         } | ||||
| 
 | ||||
|         .btn-success:hover { | ||||
|             background-color: #85ce61; | ||||
|         } | ||||
| 
 | ||||
|         .btn-small { | ||||
|             padding: 5px 12px; | ||||
|             font-size: 12px; | ||||
|         } | ||||
| 
 | ||||
|         .btn-danger { | ||||
|             background-color: #f56c6c; | ||||
|             color: white; | ||||
|         } | ||||
| 
 | ||||
|         .btn-danger:hover { | ||||
|             background-color: #f78989; | ||||
|         } | ||||
| 
 | ||||
|         .btn-warning { | ||||
|             background-color: #e6a23c; | ||||
|             color: white; | ||||
|         } | ||||
| 
 | ||||
|         .btn-warning:hover { | ||||
|             background-color: #ebb563; | ||||
|         } | ||||
| 
 | ||||
|         /* 新增按钮 */ | ||||
|         .add-section { | ||||
|             margin-bottom: 15px; | ||||
|         } | ||||
| 
 | ||||
|         /* 表格样式 */ | ||||
|         .table-wrapper { | ||||
|             overflow-x: auto; | ||||
|         } | ||||
| 
 | ||||
|         table { | ||||
|             width: 100%; | ||||
|             border-collapse: collapse; | ||||
|             font-size: 14px; | ||||
|         } | ||||
| 
 | ||||
|         thead { | ||||
|             background-color: #f5f7fa; | ||||
|         } | ||||
| 
 | ||||
|         th { | ||||
|             padding: 12px 8px; | ||||
|             text-align: center; | ||||
|             font-weight: 500; | ||||
|             color: #606266; | ||||
|             border-bottom: 1px solid #ebeef5; | ||||
|             white-space: nowrap; | ||||
|         } | ||||
| 
 | ||||
|         td { | ||||
|             padding: 12px 8px; | ||||
|             text-align: center; | ||||
|             border-bottom: 1px solid #ebeef5; | ||||
|             color: #606266; | ||||
|         } | ||||
| 
 | ||||
|         tbody tr:hover { | ||||
|             background-color: #f5f7fa; | ||||
|         } | ||||
| 
 | ||||
|         /* 操作按钮组 */ | ||||
|         .action-buttons { | ||||
|             display: flex; | ||||
|             gap: 5px; | ||||
|             justify-content: center; | ||||
|             flex-wrap: wrap; | ||||
|         } | ||||
| 
 | ||||
|         /* 状态标签 */ | ||||
|         .status-open { | ||||
|             color: #67c23a; | ||||
|             font-weight: 500; | ||||
|         } | ||||
| 
 | ||||
|         .status-closed { | ||||
|             color: #909399; | ||||
|             font-weight: 500; | ||||
|         } | ||||
| 
 | ||||
|         /* 分页样式 */ | ||||
|         .pagination { | ||||
|             display: flex; | ||||
|             justify-content: center; | ||||
|             align-items: center; | ||||
|             gap: 10px; | ||||
|             margin-top: 20px; | ||||
|             padding-top: 20px; | ||||
|             border-top: 1px solid #ebeef5; | ||||
|         } | ||||
| 
 | ||||
|         .pagination button { | ||||
|             padding: 6px 12px; | ||||
|             border: 1px solid #dcdfe6; | ||||
|             background-color: white; | ||||
|             color: #606266; | ||||
|             border-radius: 4px; | ||||
|             cursor: pointer; | ||||
|             font-size: 14px; | ||||
|             transition: all 0.3s; | ||||
|         } | ||||
| 
 | ||||
|         .pagination button:hover:not(:disabled) { | ||||
|             background-color: #409eff; | ||||
|             color: white; | ||||
|             border-color: #409eff; | ||||
|         } | ||||
| 
 | ||||
|         .pagination button:disabled { | ||||
|             cursor: not-allowed; | ||||
|             opacity: 0.5; | ||||
|         } | ||||
| 
 | ||||
|         .pagination button.active { | ||||
|             background-color: #409eff; | ||||
|             color: white; | ||||
|             border-color: #409eff; | ||||
|         } | ||||
| 
 | ||||
|         .pagination .page-info { | ||||
|             color: #606266; | ||||
|             font-size: 14px; | ||||
|         } | ||||
|     </style> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="container"> | ||||
|         <h1 class="page-title">摊位列表</h1> | ||||
| 
 | ||||
|         <!-- 搜索栏 --> | ||||
|         <div class="search-bar"> | ||||
|             <input type="text" placeholder="摊位名称" id="searchBoothName"> | ||||
|             <select id="searchStatus"> | ||||
|                 <option value="">营业状态</option> | ||||
|                 <option value="open">营业中</option> | ||||
|                 <option value="closed">休息中</option> | ||||
|             </select> | ||||
|             <button class="btn btn-primary" onclick="searchBooths()">搜索</button> | ||||
|         </div> | ||||
| 
 | ||||
|         <!-- 新增按钮 --> | ||||
|         <div class="add-section"> | ||||
|             <button class="btn btn-success" onclick="goToCreateBooth()">新增摊位</button> | ||||
|         </div> | ||||
| 
 | ||||
|         <!-- 表格 --> | ||||
|         <div class="table-wrapper"> | ||||
|             <table> | ||||
|                 <thead> | ||||
|                     <tr> | ||||
|                         <th>摊位名称</th> | ||||
|                         <th>主营类目</th> | ||||
|                         <th>收益人账号名称</th> | ||||
|                         <th>收益人手机号</th> | ||||
|                         <th>营业状态</th> | ||||
|                         <th>操作</th> | ||||
|                     </tr> | ||||
|                 </thead> | ||||
|                 <tbody id="boothTableBody"> | ||||
|                     <!-- 示例数据 --> | ||||
|                     <tr> | ||||
|                         <td>张记海鲜</td> | ||||
|                         <td>海鲜水产</td> | ||||
|                         <td>张三</td> | ||||
|                         <td>13800138000</td> | ||||
|                         <td class="status-open">营业中</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <button class="btn btn-primary btn-small" onclick="viewBoothDetail(this)">详情</button> | ||||
|                                 <button class="btn btn-warning btn-small" onclick="editBooth(this)">编辑</button> | ||||
|                                 <button class="btn btn-danger btn-small" onclick="deleteBooth(this)">删除</button> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>李氏鲜肉</td> | ||||
|                         <td>肉禽蛋</td> | ||||
|                         <td>李四</td> | ||||
|                         <td>13900139000</td> | ||||
|                         <td class="status-open">营业中</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <button class="btn btn-primary btn-small" onclick="viewBoothDetail(this)">详情</button> | ||||
|                                 <button class="btn btn-warning btn-small" onclick="editBooth(this)">编辑</button> | ||||
|                                 <button class="btn btn-danger btn-small" onclick="deleteBooth(this)">删除</button> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>王家蔬菜</td> | ||||
|                         <td>蔬菜</td> | ||||
|                         <td>王五</td> | ||||
|                         <td>13700137000</td> | ||||
|                         <td class="status-closed">休息中</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <button class="btn btn-primary btn-small" onclick="viewBoothDetail(this)">详情</button> | ||||
|                                 <button class="btn btn-warning btn-small" onclick="editBooth(this)">编辑</button> | ||||
|                                 <button class="btn btn-danger btn-small" onclick="deleteBooth(this)">删除</button> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>赵姐水果摊</td> | ||||
|                         <td>水果</td> | ||||
|                         <td>赵六</td> | ||||
|                         <td>13600136000</td> | ||||
|                         <td class="status-open">营业中</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <button class="btn btn-primary btn-small" onclick="viewBoothDetail(this)">详情</button> | ||||
|                                 <button class="btn btn-warning btn-small" onclick="editBooth(this)">编辑</button> | ||||
|                                 <button class="btn btn-danger btn-small" onclick="deleteBooth(this)">删除</button> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>孙氏粮油</td> | ||||
|                         <td>粮油调味</td> | ||||
|                         <td>孙七</td> | ||||
|                         <td>13500135000</td> | ||||
|                         <td class="status-closed">休息中</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <button class="btn btn-primary btn-small" onclick="viewBoothDetail(this)">详情</button> | ||||
|                                 <button class="btn btn-warning btn-small" onclick="editBooth(this)">编辑</button> | ||||
|                                 <button class="btn btn-danger btn-small" onclick="deleteBooth(this)">删除</button> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                 </tbody> | ||||
|             </table> | ||||
|         </div> | ||||
| 
 | ||||
|         <!-- 分页 --> | ||||
|         <div class="pagination"> | ||||
|             <button onclick="goToPage('first')" id="firstPageBtn">首页</button> | ||||
|             <button onclick="goToPage('prev')" id="prevPageBtn">上一页</button> | ||||
|             <button class="active">1</button> | ||||
|             <button onclick="goToPage(2)">2</button> | ||||
|             <button onclick="goToPage(3)">3</button> | ||||
|             <button onclick="goToPage(4)">4</button> | ||||
|             <button onclick="goToPage(5)">5</button> | ||||
|             <button onclick="goToPage('next')" id="nextPageBtn">下一页</button> | ||||
|             <button onclick="goToPage('last')" id="lastPageBtn">尾页</button> | ||||
|             <span class="page-info">共 50 条</span> | ||||
|         </div> | ||||
|     </div> | ||||
| 
 | ||||
|     <script> | ||||
|         // 搜索功能 | ||||
|         function searchBooths() { | ||||
|             const boothName = document.getElementById('searchBoothName').value; | ||||
|             const status = document.getElementById('searchStatus').value; | ||||
| 
 | ||||
|             console.log('搜索条件:', { | ||||
|                 boothName, | ||||
|                 status | ||||
|             }); | ||||
| 
 | ||||
|             // 这里应该调用后端API进行搜索 | ||||
|             alert('搜索功能待实现\n摊位名称: ' + boothName + '\n营业状态: ' + status); | ||||
|         } | ||||
| 
 | ||||
|         // 跳转到创建摊位页面 | ||||
|         function goToCreateBooth() { | ||||
|             window.location.href = '摊位创建.html'; | ||||
|         } | ||||
| 
 | ||||
|         // 查看摊位详情 | ||||
|         function viewBoothDetail(button) { | ||||
|             const row = button.closest('tr'); | ||||
|             const cells = row.querySelectorAll('td'); | ||||
|             const boothData = { | ||||
|                 name: cells[0].textContent, | ||||
|                 category: cells[1].textContent, | ||||
|                 beneficiaryName: cells[2].textContent, | ||||
|                 beneficiaryPhone: cells[3].textContent, | ||||
|                 status: cells[4].textContent | ||||
|             }; | ||||
| 
 | ||||
|             console.log('查看摊位详情:', boothData); | ||||
|             alert('查看摊位详情: ' + boothData.name); | ||||
|             // 实际应该跳转到详情页面或打开模态框 | ||||
|         } | ||||
| 
 | ||||
|         // 编辑摊位 | ||||
|         function editBooth(button) { | ||||
|             const row = button.closest('tr'); | ||||
|             const cells = row.querySelectorAll('td'); | ||||
|             const boothName = cells[0].textContent; | ||||
| 
 | ||||
|             console.log('编辑摊位:', boothName); | ||||
|             // 跳转到摊位创建页面,传递编辑标识 | ||||
|             window.location.href = '摊位创建.html?mode=edit&id=xxx'; | ||||
|         } | ||||
| 
 | ||||
|         // 删除摊位 | ||||
|         function deleteBooth(button) { | ||||
|             const row = button.closest('tr'); | ||||
|             const cells = row.querySelectorAll('td'); | ||||
|             const boothName = cells[0].textContent; | ||||
| 
 | ||||
|             if (confirm('确定要删除摊位"' + boothName + '"吗?')) { | ||||
|                 console.log('删除摊位:', boothName); | ||||
|                 // 这里应该调用后端API删除摊位 | ||||
|                 alert('删除成功'); | ||||
|                 // 删除表格行 | ||||
|                 row.remove(); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         // 分页功能 | ||||
|         function goToPage(page) { | ||||
|             console.log('跳转到页面:', page); | ||||
| 
 | ||||
|             // 这里应该调用后端API获取对应页面的数据 | ||||
|             alert('跳转到页面: ' + page); | ||||
| 
 | ||||
|             // 更新分页按钮状态 | ||||
|             updatePaginationButtons(page); | ||||
|         } | ||||
| 
 | ||||
|         // 更新分页按钮状态 | ||||
|         function updatePaginationButtons(currentPage) { | ||||
|             // 移除所有active类 | ||||
|             document.querySelectorAll('.pagination button').forEach(btn => { | ||||
|                 btn.classList.remove('active'); | ||||
|             }); | ||||
| 
 | ||||
|             // 添加active类到当前页 | ||||
|             if (typeof currentPage === 'number') { | ||||
|                 const buttons = document.querySelectorAll('.pagination button'); | ||||
|                 buttons.forEach(btn => { | ||||
|                     if (btn.textContent == currentPage) { | ||||
|                         btn.classList.add('active'); | ||||
|                     } | ||||
|                 }); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         // 回车搜索 | ||||
|         document.getElementById('searchBoothName').addEventListener('keypress', function(e) { | ||||
|             if (e.key === 'Enter') { | ||||
|                 searchBooths(); | ||||
|             } | ||||
|         }); | ||||
|     </script> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -0,0 +1,873 @@ | |||
| <!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: #f5f7fa; | ||||
|             padding: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .container { | ||||
|             max-width: 800px; | ||||
|             margin: 0 auto; | ||||
|             background: white; | ||||
|             padding: 30px; | ||||
|             border-radius: 8px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|         } | ||||
| 
 | ||||
|         .page-title { | ||||
|             font-size: 24px; | ||||
|             color: #303133; | ||||
|             font-weight: 500; | ||||
|             margin-bottom: 30px; | ||||
|             padding-bottom: 15px; | ||||
|             border-bottom: 2px solid #409eff; | ||||
|         } | ||||
| 
 | ||||
|         /* 表单样式 */ | ||||
|         .form-section { | ||||
|             margin-bottom: 30px; | ||||
|         } | ||||
| 
 | ||||
|         .form-section-title { | ||||
|             font-size: 16px; | ||||
|             color: #303133; | ||||
|             font-weight: 500; | ||||
|             margin-bottom: 20px; | ||||
|             padding-bottom: 10px; | ||||
|             border-bottom: 1px solid #ebeef5; | ||||
|         } | ||||
| 
 | ||||
|         .form-group { | ||||
|             margin-bottom: 20px; | ||||
|             display: flex; | ||||
|             align-items: flex-start; | ||||
|         } | ||||
| 
 | ||||
|         .form-label { | ||||
|             width: 150px; | ||||
|             padding-top: 8px; | ||||
|             color: #606266; | ||||
|             font-size: 14px; | ||||
|             text-align: right; | ||||
|             padding-right: 12px; | ||||
|             flex-shrink: 0; | ||||
|         } | ||||
| 
 | ||||
|         .form-label.required::before { | ||||
|             content: "*"; | ||||
|             color: #f56c6c; | ||||
|             margin-right: 4px; | ||||
|         } | ||||
| 
 | ||||
|         .form-input-wrapper { | ||||
|             flex: 1; | ||||
|         } | ||||
| 
 | ||||
|         .form-input, | ||||
|         .form-select, | ||||
|         .form-textarea { | ||||
|             width: 100%; | ||||
|             padding: 8px 12px; | ||||
|             border: 1px solid #dcdfe6; | ||||
|             border-radius: 4px; | ||||
|             font-size: 14px; | ||||
|             outline: none; | ||||
|             transition: border-color 0.3s; | ||||
|         } | ||||
| 
 | ||||
|         .form-input:focus, | ||||
|         .form-select:focus, | ||||
|         .form-textarea:focus { | ||||
|             border-color: #409eff; | ||||
|         } | ||||
| 
 | ||||
|         .form-input::placeholder, | ||||
|         .form-textarea::placeholder { | ||||
|             color: #c0c4cc; | ||||
|         } | ||||
| 
 | ||||
|         .form-textarea { | ||||
|             resize: vertical; | ||||
|             min-height: 80px; | ||||
|         } | ||||
| 
 | ||||
|         /* 图片上传样式 */ | ||||
|         .upload-box { | ||||
|             width: 140px; | ||||
|             height: 140px; | ||||
|             border: 1px dashed #dcdfe6; | ||||
|             border-radius: 4px; | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             justify-content: center; | ||||
|             cursor: pointer; | ||||
|             background-color: #fafafa; | ||||
|             transition: border-color 0.3s; | ||||
|             font-size: 40px; | ||||
|             color: #909399; | ||||
|         } | ||||
| 
 | ||||
|         .upload-box:hover { | ||||
|             border-color: #409eff; | ||||
|         } | ||||
| 
 | ||||
|         .upload-icon { | ||||
|             display: flex; | ||||
|             flex-direction: column; | ||||
|             align-items: center; | ||||
|             gap: 8px; | ||||
|         } | ||||
| 
 | ||||
|         .upload-icon-plus { | ||||
|             font-size: 40px; | ||||
|             font-weight: 300; | ||||
|         } | ||||
| 
 | ||||
|         .upload-icon-text { | ||||
|             font-size: 14px; | ||||
|         } | ||||
| 
 | ||||
|         .upload-list { | ||||
|             display: flex; | ||||
|             flex-wrap: wrap; | ||||
|             gap: 10px; | ||||
|         } | ||||
| 
 | ||||
|         /* 开关样式 */ | ||||
|         .switch-group { | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             gap: 15px; | ||||
|         } | ||||
| 
 | ||||
|         .switch { | ||||
|             position: relative; | ||||
|             display: inline-block; | ||||
|             width: 44px; | ||||
|             height: 22px; | ||||
|         } | ||||
| 
 | ||||
|         .switch input { | ||||
|             opacity: 0; | ||||
|             width: 0; | ||||
|             height: 0; | ||||
|         } | ||||
| 
 | ||||
|         .switch-slider { | ||||
|             position: absolute; | ||||
|             cursor: pointer; | ||||
|             top: 0; | ||||
|             left: 0; | ||||
|             right: 0; | ||||
|             bottom: 0; | ||||
|             background-color: #dcdfe6; | ||||
|             transition: 0.3s; | ||||
|             border-radius: 22px; | ||||
|         } | ||||
| 
 | ||||
|         .switch-slider:before { | ||||
|             position: absolute; | ||||
|             content: ""; | ||||
|             height: 18px; | ||||
|             width: 18px; | ||||
|             left: 2px; | ||||
|             bottom: 2px; | ||||
|             background-color: white; | ||||
|             transition: 0.3s; | ||||
|             border-radius: 50%; | ||||
|         } | ||||
| 
 | ||||
|         .switch input:checked + .switch-slider { | ||||
|             background-color: #409eff; | ||||
|         } | ||||
| 
 | ||||
|         .switch input:checked + .switch-slider:before { | ||||
|             transform: translateX(22px); | ||||
|         } | ||||
| 
 | ||||
|         .switch-label { | ||||
|             color: #606266; | ||||
|             font-size: 14px; | ||||
|         } | ||||
| 
 | ||||
|         .switch-label.active { | ||||
|             color: #409eff; | ||||
|         } | ||||
| 
 | ||||
|         /* 单选框组样式 */ | ||||
|         .radio-group { | ||||
|             display: flex; | ||||
|             gap: 20px; | ||||
|             align-items: center; | ||||
|         } | ||||
| 
 | ||||
|         .radio-option { | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             gap: 5px; | ||||
|         } | ||||
| 
 | ||||
|         .radio-option input[type="radio"] { | ||||
|             margin: 0; | ||||
|             width: 16px; | ||||
|             height: 16px; | ||||
|             cursor: pointer; | ||||
|         } | ||||
| 
 | ||||
|         .radio-option label { | ||||
|             color: #606266; | ||||
|             font-size: 14px; | ||||
|             cursor: pointer; | ||||
|         } | ||||
| 
 | ||||
|         /* 复选框组样式 */ | ||||
|         .checkbox-group { | ||||
|             display: flex; | ||||
|             gap: 15px; | ||||
|             align-items: center; | ||||
|             flex-wrap: wrap; | ||||
|         } | ||||
| 
 | ||||
|         .checkbox-option { | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             gap: 5px; | ||||
|         } | ||||
| 
 | ||||
|         .checkbox-option input[type="checkbox"] { | ||||
|             margin: 0; | ||||
|             width: 16px; | ||||
|             height: 16px; | ||||
|             cursor: pointer; | ||||
|         } | ||||
| 
 | ||||
|         .checkbox-option label { | ||||
|             color: #606266; | ||||
|             font-size: 14px; | ||||
|             cursor: pointer; | ||||
|         } | ||||
| 
 | ||||
|         /* 时间输入样式 */ | ||||
|         .time-group { | ||||
|             display: flex; | ||||
|             gap: 10px; | ||||
|             align-items: center; | ||||
|         } | ||||
| 
 | ||||
|         .time-input { | ||||
|             width: 180px; | ||||
|         } | ||||
| 
 | ||||
|         .time-separator { | ||||
|             color: #606266; | ||||
|             font-size: 14px; | ||||
|         } | ||||
| 
 | ||||
|         /* 说明文字样式 */ | ||||
|         .form-hint { | ||||
|             color: #909399; | ||||
|             font-size: 12px; | ||||
|             margin-top: 5px; | ||||
|             line-height: 1.5; | ||||
|         } | ||||
| 
 | ||||
|         /* 地图位置选择 */ | ||||
|         .location-input { | ||||
|             position: relative; | ||||
|         } | ||||
| 
 | ||||
|         .location-icon { | ||||
|             position: absolute; | ||||
|             right: 10px; | ||||
|             top: 50%; | ||||
|             transform: translateY(-50%); | ||||
|             color: #409eff; | ||||
|             cursor: pointer; | ||||
|             font-size: 18px; | ||||
|         } | ||||
| 
 | ||||
|         /* 按钮样式 */ | ||||
|         .btn { | ||||
|             padding: 10px 24px; | ||||
|             border: none; | ||||
|             border-radius: 4px; | ||||
|             font-size: 14px; | ||||
|             cursor: pointer; | ||||
|             transition: all 0.3s; | ||||
|         } | ||||
| 
 | ||||
|         .btn-primary { | ||||
|             background-color: #409eff; | ||||
|             color: white; | ||||
|         } | ||||
| 
 | ||||
|         .btn-primary:hover { | ||||
|             background-color: #66b1ff; | ||||
|         } | ||||
| 
 | ||||
|         .btn-success { | ||||
|             background-color: #67c23a; | ||||
|             color: white; | ||||
|         } | ||||
| 
 | ||||
|         .btn-success:hover { | ||||
|             background-color: #85ce61; | ||||
|         } | ||||
| 
 | ||||
|         .btn-cancel { | ||||
|             background-color: white; | ||||
|             color: #606266; | ||||
|             border: 1px solid #dcdfe6; | ||||
|         } | ||||
| 
 | ||||
|         .btn-cancel:hover { | ||||
|             background-color: #f5f7fa; | ||||
|             border-color: #c0c4cc; | ||||
|         } | ||||
| 
 | ||||
|         .form-footer { | ||||
|             margin-top: 40px; | ||||
|             padding-top: 20px; | ||||
|             border-top: 1px solid #ebeef5; | ||||
|             display: flex; | ||||
|             justify-content: center; | ||||
|             gap: 15px; | ||||
|         } | ||||
| 
 | ||||
|         /* 权限配置样式 */ | ||||
|         .permission-section { | ||||
|             background-color: #f9fafc; | ||||
|             padding: 15px; | ||||
|             border-radius: 4px; | ||||
|             border: 1px solid #ebeef5; | ||||
|         } | ||||
| 
 | ||||
|         .permission-item { | ||||
|             margin-bottom: 15px; | ||||
|         } | ||||
| 
 | ||||
|         .permission-item:last-child { | ||||
|             margin-bottom: 0; | ||||
|         } | ||||
| 
 | ||||
|         .permission-label { | ||||
|             color: #606266; | ||||
|             font-size: 14px; | ||||
|             margin-bottom: 10px; | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             gap: 5px; | ||||
|         } | ||||
| 
 | ||||
|         .permission-label.required::before { | ||||
|             content: "*"; | ||||
|             color: #f56c6c; | ||||
|         } | ||||
| 
 | ||||
|         .permission-sub-items { | ||||
|             display: flex; | ||||
|             flex-direction: column; | ||||
|             gap: 8px; | ||||
|             margin-left: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .permission-hint-text { | ||||
|             color: #909399; | ||||
|             font-size: 12px; | ||||
|             margin-left: 5px; | ||||
|         } | ||||
|     </style> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="container"> | ||||
|         <h1 class="page-title" id="pageTitle">创建摊位</h1> | ||||
| 
 | ||||
|         <form id="createBoothForm"> | ||||
|             <!-- 绑定收益人账号 --> | ||||
|             <div class="form-section" id="beneficiarySection"> | ||||
|                 <div class="form-section-title">绑定收益人账号</div> | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label required">操作类型</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <select class="form-select" id="operationType" onchange="handleOperationTypeChange()"> | ||||
|                             <option value="">请选择操作类型</option> | ||||
|                             <option value="bind_market_manager">绑定收益人是市场经营者</option> | ||||
|                             <option value="create_supplier">创建新收益人(供货商)</option> | ||||
|                         </select> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group" id="supplierAccountGroup" style="display: none;"> | ||||
|                     <div class="form-label required">供货商账号</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <input type="text" class="form-input" id="supplierAccount" placeholder="请输入供货商账号" maxlength="11"> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group" id="supplierPasswordGroup" style="display: none;"> | ||||
|                     <div class="form-label required">密码</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <input type="password" class="form-input" id="password" placeholder="请输入密码"> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
| 
 | ||||
|             <!-- 店铺基础信息 --> | ||||
|             <div class="form-section"> | ||||
|                 <div class="form-section-title">店铺基础信息</div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label required">摊位名称</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <input type="text" class="form-input" id="boothName" placeholder="请输入摊位名称"> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label required">主营类目</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <select class="form-select" id="mainCategory"> | ||||
|                             <option value="">请选择主营类目</option> | ||||
|                             <option value="seafood">海鲜水产</option> | ||||
|                             <option value="meat">肉禽蛋</option> | ||||
|                             <option value="vegetable">蔬菜</option> | ||||
|                             <option value="fruit">水果</option> | ||||
|                             <option value="grain">粮油调味</option> | ||||
|                             <option value="other">其他</option> | ||||
|                         </select> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label required">摊位背景图</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <div class="upload-list"> | ||||
|                             <div class="upload-box"> | ||||
|                                 <div class="upload-icon"> | ||||
|                                     <div class="upload-icon-plus">+</div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label">摊位联系电话</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <input type="text" class="form-input" id="boothPhone" placeholder="请输入联系电话/手机号"> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label">摊位照片</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <div class="upload-list"> | ||||
|                             <div class="upload-box"> | ||||
|                                 <div class="upload-icon"> | ||||
|                                     <div class="upload-icon-plus">+</div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label required">摊位位置</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <input type="text" class="form-input" id="boothLocation" placeholder="请输入摊位位置"> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label required">摊位详细地址</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <input type="text" class="form-input" id="boothDetailAddress" placeholder="请输入摊位详细地址"> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label">许可证</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <div class="upload-list"> | ||||
|                             <div class="upload-box"> | ||||
|                                 <div class="upload-icon"> | ||||
|                                     <div class="upload-icon-plus">+</div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                             <div class="upload-box"> | ||||
|                                 <div class="upload-icon"> | ||||
|                                     <div class="upload-icon-plus">+</div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
| 
 | ||||
|             <!-- 店铺配置 --> | ||||
|             <div class="form-section"> | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label">是否自动开放</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <div class="switch-group"> | ||||
|                             <span class="switch-label">手动营业</span> | ||||
|                             <label class="switch"> | ||||
|                                 <input type="checkbox" id="autoOpen" checked> | ||||
|                                 <span class="switch-slider"></span> | ||||
|                             </label> | ||||
|                             <span class="switch-label active">自动营业</span> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="time-group" style="margin-top: 15px;"> | ||||
|                             <div class="radio-group"> | ||||
|                                 <div class="radio-option"> | ||||
|                                     <input type="radio" id="businessTime1" name="businessTime" value="time1"> | ||||
|                                     <label for="businessTime1">00:00:00</label> | ||||
|                                 </div> | ||||
|                                 <span class="time-separator">至</span> | ||||
|                                 <div class="radio-option"> | ||||
|                                     <input type="radio" id="businessTime2" name="businessTime" value="time2"> | ||||
|                                     <label for="businessTime2">23:59:00</label> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label required">服务自提点位置</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <input type="text" class="form-input" id="pickupLocation" placeholder="请输入服务自提点位置"> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label required">自提点详细地址</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <input type="text" class="form-input" id="pickupDetailAddress" placeholder="请输入自提点详细地址"> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label">自提点示意图</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <div class="upload-list"> | ||||
|                             <div class="upload-box"> | ||||
|                                 <div class="upload-icon"> | ||||
|                                     <div class="upload-icon-plus">+</div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label">承接送达承诺</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <div class="switch-group"> | ||||
|                             <label class="switch"> | ||||
|                                 <input type="checkbox" id="deliveryPromise" checked> | ||||
|                                 <span class="switch-slider"></span> | ||||
|                             </label> | ||||
|                         </div> | ||||
|                         <div class="form-hint">是否自动承诺</div> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label">营业时间</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <div class="checkbox-group"> | ||||
|                             <div class="checkbox-option"> | ||||
|                                 <input type="checkbox" id="everyday" checked> | ||||
|                                 <label for="everyday">每天</label> | ||||
|                             </div> | ||||
|                             <div class="checkbox-option"> | ||||
|                                 <input type="checkbox" id="workday"> | ||||
|                                 <label for="workday">工作日</label> | ||||
|                             </div> | ||||
|                             <div class="checkbox-option"> | ||||
|                                 <input type="checkbox" id="custom"> | ||||
|                                 <label for="custom">自定义</label> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="time-group" style="margin-top: 15px;"> | ||||
|                             <input type="time" class="form-input time-input" id="deliveryStartTime" value="00:00"> | ||||
|                             <span class="time-separator">至</span> | ||||
|                             <input type="time" class="form-input time-input" id="deliveryEndTime" value="23:59"> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label">承诺送达时间</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <input type="text" class="form-input" id="deliveryTime" placeholder="请输入小时数"> | ||||
|                         <span class="permission-hint-text">小时以内</span> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
| 
 | ||||
|             <!-- 权限配置 --> | ||||
|             <div class="form-section"> | ||||
|                 <div class="form-section-title">权限配置</div> | ||||
| 
 | ||||
|                 <div class="form-group"> | ||||
|                     <div class="form-label required">权限分配</div> | ||||
|                     <div class="form-input-wrapper"> | ||||
|                         <div class="permission-section"> | ||||
|                             <div class="permission-item"> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" id="permissionAll" onchange="toggleAllPermissions()"> | ||||
|                                     <label for="permissionAll"><strong>账号权限管理</strong></label> | ||||
|                                 </div> | ||||
|                             </div> | ||||
| 
 | ||||
|                             <div class="permission-sub-items"> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm1"> | ||||
|                                     <label for="perm1">订单权限管理</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm2"> | ||||
|                                     <label for="perm2">订单管理</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm3"> | ||||
|                                     <label for="perm3">商品管理</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm4"> | ||||
|                                     <label for="perm4">数据分析</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm5"> | ||||
|                                     <label for="perm5">内容管理</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm6"> | ||||
|                                     <label for="perm6">运营管理</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm7"> | ||||
|                                     <label for="perm7">银行卡管理</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm8"> | ||||
|                                     <label for="perm8">优惠券统计工具管理</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm9"> | ||||
|                                     <label for="perm9">营销营销工具管理</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm10"> | ||||
|                                     <label for="perm10">等级规则</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm11"> | ||||
|                                     <label for="perm11">会员营销工具管理</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm12"> | ||||
|                                     <label for="perm12">钱包管理</label> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-option"> | ||||
|                                     <input type="checkbox" class="sub-permission" id="perm13"> | ||||
|                                     <label for="perm13">运营管理</label> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
| 
 | ||||
|             <!-- 底部按钮 --> | ||||
|             <div class="form-footer"> | ||||
|                 <button type="button" class="btn btn-success" onclick="submitForm()">保存</button> | ||||
|             </div> | ||||
|         </form> | ||||
|     </div> | ||||
| 
 | ||||
|     <script> | ||||
|         // 页面加载时检测URL参数 | ||||
|         window.addEventListener('DOMContentLoaded', function() { | ||||
|             const urlParams = new URLSearchParams(window.location.search); | ||||
|             const mode = urlParams.get('mode'); | ||||
| 
 | ||||
|             if (mode === 'edit') { | ||||
|                 // 编辑模式:隐藏收益人账号部分,修改页面标题 | ||||
|                 document.getElementById('pageTitle').textContent = '编辑摊位'; | ||||
|                 document.getElementById('beneficiarySection').style.display = 'none'; | ||||
| 
 | ||||
|                 // 这里可以根据id参数加载摊位数据 | ||||
|                 const boothId = urlParams.get('id'); | ||||
|                 console.log('编辑摊位ID:', boothId); | ||||
|                 // 调用后端API获取摊位详情并填充表单 | ||||
|                 // loadBoothData(boothId); | ||||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         // 处理操作类型变化 | ||||
|         function handleOperationTypeChange() { | ||||
|             const operationType = document.getElementById('operationType').value; | ||||
|             const supplierAccountGroup = document.getElementById('supplierAccountGroup'); | ||||
|             const supplierPasswordGroup = document.getElementById('supplierPasswordGroup'); | ||||
| 
 | ||||
|             // 根据选择的操作类型显示或隐藏供货商账号和密码字段 | ||||
|             if (operationType === 'create_supplier') { | ||||
|                 // 创建新收益人(供货商)- 显示账号和密码 | ||||
|                 supplierAccountGroup.style.display = 'flex'; | ||||
|                 supplierPasswordGroup.style.display = 'flex'; | ||||
|             } else { | ||||
|                 // 绑定收益人是市场经营者 - 隐藏账号和密码 | ||||
|                 supplierAccountGroup.style.display = 'none'; | ||||
|                 supplierPasswordGroup.style.display = 'none'; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         // 切换所有权限 | ||||
|         function toggleAllPermissions() { | ||||
|             const allCheckbox = document.getElementById('permissionAll'); | ||||
|             const subCheckboxes = document.querySelectorAll('.sub-permission'); | ||||
| 
 | ||||
|             subCheckboxes.forEach(checkbox => { | ||||
|                 checkbox.checked = allCheckbox.checked; | ||||
|             }); | ||||
|         } | ||||
| 
 | ||||
|         // 监听子权限变化,更新全选状态 | ||||
|         document.querySelectorAll('.sub-permission').forEach(checkbox => { | ||||
|             checkbox.addEventListener('change', function() { | ||||
|                 const allCheckbox = document.getElementById('permissionAll'); | ||||
|                 const subCheckboxes = document.querySelectorAll('.sub-permission'); | ||||
|                 const checkedCount = Array.from(subCheckboxes).filter(cb => cb.checked).length; | ||||
| 
 | ||||
|                 allCheckbox.checked = checkedCount === subCheckboxes.length; | ||||
|             }); | ||||
|         }); | ||||
| 
 | ||||
|         // 提交表单 | ||||
|         function submitForm() { | ||||
|             // 检测是否为编辑模式 | ||||
|             const urlParams = new URLSearchParams(window.location.search); | ||||
|             const mode = urlParams.get('mode'); | ||||
|             const isEditMode = mode === 'edit'; | ||||
| 
 | ||||
|             // 获取表单数据 | ||||
|             const formData = { | ||||
|                 boothName: document.getElementById('boothName').value, | ||||
|                 mainCategory: document.getElementById('mainCategory').value, | ||||
|                 boothPhone: document.getElementById('boothPhone').value, | ||||
|                 boothLocation: document.getElementById('boothLocation').value, | ||||
|                 boothDetailAddress: document.getElementById('boothDetailAddress').value, | ||||
|                 autoOpen: document.getElementById('autoOpen').checked, | ||||
|                 pickupLocation: document.getElementById('pickupLocation').value, | ||||
|                 pickupDetailAddress: document.getElementById('pickupDetailAddress').value, | ||||
|                 deliveryPromise: document.getElementById('deliveryPromise').checked, | ||||
|                 deliveryTime: document.getElementById('deliveryTime').value | ||||
|             }; | ||||
| 
 | ||||
|             // 如果不是编辑模式,需要验证收益人账号相关字段 | ||||
|             if (!isEditMode) { | ||||
|                 const operationType = document.getElementById('operationType').value; | ||||
|                 formData.operationType = operationType; | ||||
| 
 | ||||
|                 // 验证操作类型 | ||||
|                 if (!formData.operationType) { | ||||
|                     alert('请选择操作类型'); | ||||
|                     return; | ||||
|                 } | ||||
| 
 | ||||
|                 // 如果选择了"创建新收益人(供货商)",需要验证供货商账号和密码 | ||||
|                 if (operationType === 'create_supplier') { | ||||
|                     const supplierAccount = document.getElementById('supplierAccount').value; | ||||
|                     const password = document.getElementById('password').value; | ||||
| 
 | ||||
|                     if (!supplierAccount) { | ||||
|                         alert('请输入供货商账号'); | ||||
|                         return; | ||||
|                     } | ||||
| 
 | ||||
|                     if (!password) { | ||||
|                         alert('请输入密码'); | ||||
|                         return; | ||||
|                     } | ||||
| 
 | ||||
|                     formData.supplierAccount = supplierAccount; | ||||
|                     formData.password = password; | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             if (!formData.boothName) { | ||||
|                 alert('请输入摊位名称'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             if (!formData.mainCategory) { | ||||
|                 alert('请选择主营类目'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             if (!formData.boothLocation) { | ||||
|                 alert('请输入摊位位置'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             if (!formData.boothDetailAddress) { | ||||
|                 alert('请输入摊位详细地址'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             if (!formData.pickupLocation) { | ||||
|                 alert('请输入服务自提点位置'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             if (!formData.pickupDetailAddress) { | ||||
|                 alert('请输入自提点详细地址'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             // 获取权限配置 | ||||
|             const permissions = []; | ||||
|             document.querySelectorAll('.sub-permission:checked').forEach(checkbox => { | ||||
|                 permissions.push(checkbox.nextElementSibling.textContent); | ||||
|             }); | ||||
|             formData.permissions = permissions; | ||||
| 
 | ||||
|             console.log('提交的表单数据:', formData); | ||||
| 
 | ||||
|             // 这里应该调用后端API提交表单 | ||||
|             if (isEditMode) { | ||||
|                 alert('摊位修改成功!'); | ||||
|             } else { | ||||
|                 alert('摊位创建成功!'); | ||||
|             } | ||||
| 
 | ||||
|             // 可以选择跳转到摊位列表页面 | ||||
|             // window.location.href = '摊位列表.html'; | ||||
|         } | ||||
| 
 | ||||
|         // 图片上传功能(模拟) | ||||
|         document.querySelectorAll('.upload-box').forEach(box => { | ||||
|             box.addEventListener('click', function() { | ||||
|                 alert('图片上传功能待实现'); | ||||
|             }); | ||||
|         }); | ||||
|     </script> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -0,0 +1,768 @@ | |||
| <!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: #f5f7fa; | ||||
|             padding: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .container { | ||||
|             max-width: 1600px; | ||||
|             margin: 0 auto; | ||||
|             background: white; | ||||
|             padding: 20px; | ||||
|             border-radius: 8px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|         } | ||||
| 
 | ||||
|         /* 页面标题 */ | ||||
|         .page-header { | ||||
|             margin-bottom: 20px; | ||||
|             padding-bottom: 15px; | ||||
|             border-bottom: 1px solid #ebeef5; | ||||
|         } | ||||
| 
 | ||||
|         .page-header h2 { | ||||
|             font-size: 20px; | ||||
|             color: #303133; | ||||
|             font-weight: 500; | ||||
|         } | ||||
| 
 | ||||
|         /* 返回按钮 */ | ||||
|         .back-section { | ||||
|             margin-bottom: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .btn { | ||||
|             padding: 8px 20px; | ||||
|             border: none; | ||||
|             border-radius: 4px; | ||||
|             font-size: 14px; | ||||
|             cursor: pointer; | ||||
|             transition: all 0.3s; | ||||
|         } | ||||
| 
 | ||||
|         .btn-default { | ||||
|             background-color: white; | ||||
|             color: #606266; | ||||
|             border: 1px solid #dcdfe6; | ||||
|         } | ||||
| 
 | ||||
|         .btn-default:hover { | ||||
|             background-color: #f5f7fa; | ||||
|             border-color: #c0c4cc; | ||||
|         } | ||||
| 
 | ||||
|         .btn-primary { | ||||
|             background-color: #409eff; | ||||
|             color: white; | ||||
|         } | ||||
| 
 | ||||
|         .btn-primary:hover { | ||||
|             background-color: #66b1ff; | ||||
|         } | ||||
| 
 | ||||
|         .btn-success { | ||||
|             background-color: #67c23a; | ||||
|             color: white; | ||||
|         } | ||||
| 
 | ||||
|         .btn-success:hover { | ||||
|             background-color: #85ce61; | ||||
|         } | ||||
| 
 | ||||
|         .btn-small { | ||||
|             padding: 5px 12px; | ||||
|             font-size: 12px; | ||||
|         } | ||||
| 
 | ||||
|         .btn-danger { | ||||
|             background-color: #f56c6c; | ||||
|             color: white; | ||||
|         } | ||||
| 
 | ||||
|         .btn-danger:hover { | ||||
|             background-color: #f78989; | ||||
|         } | ||||
| 
 | ||||
|         /* 表格样式 */ | ||||
|         .table-wrapper { | ||||
|             overflow-x: auto; | ||||
|         } | ||||
| 
 | ||||
|         table { | ||||
|             width: 100%; | ||||
|             border-collapse: collapse; | ||||
|             font-size: 14px; | ||||
|         } | ||||
| 
 | ||||
|         thead { | ||||
|             background-color: #f5f7fa; | ||||
|         } | ||||
| 
 | ||||
|         th { | ||||
|             padding: 12px 8px; | ||||
|             text-align: center; | ||||
|             font-weight: 500; | ||||
|             color: #606266; | ||||
|             border-bottom: 1px solid #ebeef5; | ||||
|             white-space: nowrap; | ||||
|         } | ||||
| 
 | ||||
|         td { | ||||
|             padding: 12px 8px; | ||||
|             text-align: center; | ||||
|             border-bottom: 1px solid #ebeef5; | ||||
|             color: #606266; | ||||
|         } | ||||
| 
 | ||||
|         tbody tr:hover { | ||||
|             background-color: #f5f7fa; | ||||
|         } | ||||
| 
 | ||||
|         /* 操作按钮组 */ | ||||
|         .action-buttons { | ||||
|             display: flex; | ||||
|             gap: 5px; | ||||
|             justify-content: center; | ||||
|             flex-wrap: wrap; | ||||
|         } | ||||
| 
 | ||||
|         /* 模态框样式 */ | ||||
|         .modal { | ||||
|             display: none; | ||||
|             position: fixed; | ||||
|             top: 0; | ||||
|             left: 0; | ||||
|             width: 100%; | ||||
|             height: 100%; | ||||
|             background-color: rgba(0, 0, 0, 0.5); | ||||
|             z-index: 1000; | ||||
|         } | ||||
| 
 | ||||
|         .modal.active { | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             justify-content: center; | ||||
|         } | ||||
| 
 | ||||
|         .modal-content { | ||||
|             background: white; | ||||
|             width: 90%; | ||||
|             max-width: 650px; | ||||
|             max-height: 90vh; | ||||
|             border-radius: 8px; | ||||
|             overflow: hidden; | ||||
|             display: flex; | ||||
|             flex-direction: column; | ||||
|         } | ||||
| 
 | ||||
|         .modal-header { | ||||
|             padding: 20px; | ||||
|             border-bottom: 1px solid #ebeef5; | ||||
|             display: flex; | ||||
|             justify-content: space-between; | ||||
|             align-items: center; | ||||
|         } | ||||
| 
 | ||||
|         .modal-header h3 { | ||||
|             font-size: 18px; | ||||
|             color: #303133; | ||||
|             margin: 0; | ||||
|         } | ||||
| 
 | ||||
|         .modal-close { | ||||
|             font-size: 24px; | ||||
|             color: #909399; | ||||
|             cursor: pointer; | ||||
|             border: none; | ||||
|             background: none; | ||||
|             padding: 0; | ||||
|             width: 24px; | ||||
|             height: 24px; | ||||
|             line-height: 1; | ||||
|         } | ||||
| 
 | ||||
|         .modal-close:hover { | ||||
|             color: #606266; | ||||
|         } | ||||
| 
 | ||||
|         .modal-body { | ||||
|             padding: 20px; | ||||
|             overflow-y: auto; | ||||
|             flex: 1; | ||||
|         } | ||||
| 
 | ||||
|         .modal-footer { | ||||
|             padding: 15px 20px; | ||||
|             border-top: 1px solid #ebeef5; | ||||
|             display: flex; | ||||
|             justify-content: flex-end; | ||||
|             gap: 10px; | ||||
|         } | ||||
| 
 | ||||
|         /* 表单样式 */ | ||||
|         .form-section { | ||||
|             margin-bottom: 25px; | ||||
|         } | ||||
| 
 | ||||
|         .form-section-title { | ||||
|             font-size: 16px; | ||||
|             color: #303133; | ||||
|             font-weight: 500; | ||||
|             margin-bottom: 15px; | ||||
|             padding-bottom: 10px; | ||||
|             border-bottom: 1px solid #ebeef5; | ||||
|         } | ||||
| 
 | ||||
|         .form-group { | ||||
|             margin-bottom: 18px; | ||||
|             display: flex; | ||||
|             align-items: flex-start; | ||||
|         } | ||||
| 
 | ||||
|         .form-label { | ||||
|             width: 120px; | ||||
|             padding-top: 8px; | ||||
|             color: #606266; | ||||
|             font-size: 14px; | ||||
|             text-align: right; | ||||
|             padding-right: 12px; | ||||
|             flex-shrink: 0; | ||||
|         } | ||||
| 
 | ||||
|         .form-input-wrapper { | ||||
|             flex: 1; | ||||
|         } | ||||
| 
 | ||||
|         .form-input { | ||||
|             width: 100%; | ||||
|             padding: 8px 12px; | ||||
|             border: 1px solid #dcdfe6; | ||||
|             border-radius: 4px; | ||||
|             font-size: 14px; | ||||
|             outline: none; | ||||
|             transition: border-color 0.3s; | ||||
|         } | ||||
| 
 | ||||
|         .form-input:focus { | ||||
|             border-color: #409eff; | ||||
|         } | ||||
| 
 | ||||
|         /* 图片上传样式 */ | ||||
|         .upload-box { | ||||
|             width: 140px; | ||||
|             height: 140px; | ||||
|             border: 1px dashed #dcdfe6; | ||||
|             border-radius: 4px; | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             justify-content: center; | ||||
|             background-color: #fafafa; | ||||
|         } | ||||
| 
 | ||||
|         .upload-box-text { | ||||
|             color: #909399; | ||||
|             font-size: 14px; | ||||
|         } | ||||
| 
 | ||||
|         /* 开关样式 */ | ||||
|         .switch-group { | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             gap: 15px; | ||||
|         } | ||||
| 
 | ||||
|         .switch { | ||||
|             position: relative; | ||||
|             display: inline-block; | ||||
|             width: 44px; | ||||
|             height: 22px; | ||||
|         } | ||||
| 
 | ||||
|         .switch input { | ||||
|             opacity: 0; | ||||
|             width: 0; | ||||
|             height: 0; | ||||
|         } | ||||
| 
 | ||||
|         .switch-slider { | ||||
|             position: absolute; | ||||
|             cursor: pointer; | ||||
|             top: 0; | ||||
|             left: 0; | ||||
|             right: 0; | ||||
|             bottom: 0; | ||||
|             background-color: #dcdfe6; | ||||
|             transition: 0.3s; | ||||
|             border-radius: 22px; | ||||
|         } | ||||
| 
 | ||||
|         .switch-slider:before { | ||||
|             position: absolute; | ||||
|             content: ""; | ||||
|             height: 18px; | ||||
|             width: 18px; | ||||
|             left: 2px; | ||||
|             bottom: 2px; | ||||
|             background-color: white; | ||||
|             transition: 0.3s; | ||||
|             border-radius: 50%; | ||||
|         } | ||||
| 
 | ||||
|         .switch input:checked + .switch-slider { | ||||
|             background-color: #409eff; | ||||
|         } | ||||
| 
 | ||||
|         .switch input:checked + .switch-slider:before { | ||||
|             transform: translateX(22px); | ||||
|         } | ||||
| 
 | ||||
|         .switch-label { | ||||
|             color: #606266; | ||||
|             font-size: 14px; | ||||
|         } | ||||
| 
 | ||||
|         .switch-label.active { | ||||
|             color: #409eff; | ||||
|         } | ||||
| 
 | ||||
|         /* 复选框组样式 */ | ||||
|         .checkbox-group { | ||||
|             display: flex; | ||||
|             gap: 15px; | ||||
|             align-items: center; | ||||
|         } | ||||
| 
 | ||||
|         .checkbox-option { | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             gap: 5px; | ||||
|         } | ||||
| 
 | ||||
|         .checkbox-option input[type="checkbox"] { | ||||
|             margin: 0; | ||||
|         } | ||||
| 
 | ||||
|         .checkbox-option label { | ||||
|             color: #606266; | ||||
|             font-size: 14px; | ||||
|             cursor: pointer; | ||||
|         } | ||||
| 
 | ||||
|         /* 时间输入样式 */ | ||||
|         .time-group { | ||||
|             display: flex; | ||||
|             gap: 10px; | ||||
|             align-items: center; | ||||
|         } | ||||
| 
 | ||||
|         .time-input { | ||||
|             width: 180px; | ||||
|         } | ||||
| 
 | ||||
|         /* 说明文字样式 */ | ||||
|         .form-hint { | ||||
|             color: #909399; | ||||
|             font-size: 12px; | ||||
|             margin-top: 5px; | ||||
|             line-height: 1.5; | ||||
|         } | ||||
| 
 | ||||
|         .btn-cancel { | ||||
|             background-color: white; | ||||
|             color: #606266; | ||||
|             border: 1px solid #dcdfe6; | ||||
|         } | ||||
| 
 | ||||
|         .btn-cancel:hover { | ||||
|             background-color: #f5f7fa; | ||||
|             border-color: #c0c4cc; | ||||
|         } | ||||
|     </style> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="container"> | ||||
|         <!-- 页面标题 --> | ||||
|         <div class="page-header"> | ||||
|             <h2>待审核菜市场</h2> | ||||
|         </div> | ||||
| 
 | ||||
|         <!-- 返回按钮 --> | ||||
|         <div class="back-section"> | ||||
|             <button class="btn btn-default" onclick="goBack()">返回菜市场列表</button> | ||||
|         </div> | ||||
| 
 | ||||
|         <!-- 表格 --> | ||||
|         <div class="table-wrapper"> | ||||
|             <table> | ||||
|                 <thead> | ||||
|                     <tr> | ||||
|                         <th>市场名</th> | ||||
|                         <th>地址</th> | ||||
|                         <th>经营者姓名</th> | ||||
|                         <th>经营者账号</th> | ||||
|                         <th>操作</th> | ||||
|                     </tr> | ||||
|                 </thead> | ||||
|                 <tbody id="pendingMarketsTableBody"> | ||||
|                     <!-- 动态填充待审核数据 --> | ||||
|                 </tbody> | ||||
|             </table> | ||||
|         </div> | ||||
|     </div> | ||||
| 
 | ||||
|     <!-- 详情模态框 --> | ||||
|     <div class="modal" id="detailMarketModal"> | ||||
|         <div class="modal-content"> | ||||
|             <div class="modal-header"> | ||||
|                 <h3>菜市场详情</h3> | ||||
|                 <button class="modal-close" onclick="closeDetailModal()">×</button> | ||||
|             </div> | ||||
|             <div class="modal-body"> | ||||
|                 <form id="detailMarketForm"> | ||||
|                     <!-- 经营者信息 --> | ||||
|                     <div class="form-section"> | ||||
|                         <div class="form-section-title">经营者信息</div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">经营者账号</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailOperatorAccount" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">经营者姓名</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailOperatorName" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
| 
 | ||||
|                     <!-- 基础配置 --> | ||||
|                     <div class="form-section"> | ||||
|                         <div class="form-section-title">基础配置</div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场名称</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailMarketName" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">商品类目类型</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailCategoryType" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场背景图</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="upload-box" style="pointer-events: none;"> | ||||
|                                     <span class="upload-box-text">暂无图片</span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场营业执照</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="upload-box" style="pointer-events: none;"> | ||||
|                                     <span class="upload-box-text">暂无图片</span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场实拍图</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="upload-box" style="pointer-events: none;"> | ||||
|                                     <span class="upload-box-text">暂无图片</span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场地址</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailAddress" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">详细地址</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailDetailAddress" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场定位</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailLocation" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场营业时间</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="switch-group"> | ||||
|                                     <span class="switch-label">手动营业</span> | ||||
|                                     <label class="switch"> | ||||
|                                         <input type="checkbox" id="detailAutoBusinessTime" disabled> | ||||
|                                         <span class="switch-slider"></span> | ||||
|                                     </label> | ||||
|                                     <span class="switch-label active">自动营业</span> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-group" style="margin-top: 10px;"> | ||||
|                                     <div class="checkbox-option"> | ||||
|                                         <input type="checkbox" id="detailEveryday" disabled> | ||||
|                                         <label for="detailEveryday">每天</label> | ||||
|                                     </div> | ||||
|                                     <div class="checkbox-option"> | ||||
|                                         <input type="checkbox" id="detailWorkday" disabled> | ||||
|                                         <label for="detailWorkday">工作日</label> | ||||
|                                     </div> | ||||
|                                     <div class="checkbox-option"> | ||||
|                                         <input type="checkbox" id="detailCustom" disabled> | ||||
|                                         <label for="detailCustom">自定义</label> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                                 <div class="time-group" style="margin-top: 10px;"> | ||||
|                                     <input type="time" class="form-input time-input" id="detailStartTime" readonly> | ||||
|                                     <input type="time" class="form-input time-input" id="detailEndTime" readonly> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场状态</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="switch-group"> | ||||
|                                     <span class="switch-label">禁用</span> | ||||
|                                     <label class="switch"> | ||||
|                                         <input type="checkbox" id="detailMarketStatus" disabled> | ||||
|                                         <span class="switch-slider"></span> | ||||
|                                     </label> | ||||
|                                     <span class="switch-label active">启用</span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">摊位数</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailBoothCount" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">营业状态</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailBusinessStatus" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
| 
 | ||||
|                     <!-- 配送设置 --> | ||||
|                     <div class="form-section"> | ||||
|                         <div class="form-section-title">配送设置</div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label"></div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="form-hint">ℹ️ 开启后,将允许该菜市场经营者/摊主(无经营者)自由配置是否呼叫第三方骑手进行配送;</div> | ||||
|                                 <div class="form-hint">第三方配送费用因距离、天气、时段等因素会产生不同程度的浮动;将根据实际配送费用进行扣除。</div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">是否允许第三方骑手配送</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="switch-group"> | ||||
|                                     <span class="switch-label">禁用</span> | ||||
|                                     <label class="switch"> | ||||
|                                         <input type="checkbox" id="detailThirdPartyDelivery" disabled> | ||||
|                                         <span class="switch-slider"></span> | ||||
|                                     </label> | ||||
|                                     <span class="switch-label active">启用</span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </form> | ||||
|             </div> | ||||
|             <div class="modal-footer"> | ||||
|                 <button class="btn btn-cancel" onclick="closeDetailModal()">关闭</button> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| 
 | ||||
|     <script> | ||||
|         // 页面加载时填充数据 | ||||
|         window.onload = function() { | ||||
|             loadPendingMarkets(); | ||||
|         }; | ||||
| 
 | ||||
|         // 加载待审核菜市场数据 | ||||
|         function loadPendingMarkets() { | ||||
|             // 模拟待审核数据,实际应该从后端API获取 | ||||
|             const mockPendingData = [ | ||||
|                 { | ||||
|                     marketName: '新申请菜市场', | ||||
|                     categoryType: 'offline', | ||||
|                     address: '上海市浦东新区张江高科技园区', | ||||
|                     operatorName: '王五', | ||||
|                     operatorAccount: '13900001234', | ||||
|                     detailAddress: '张江高科技园区祖冲之路1000号', | ||||
|                     location: '121.605827, 31.206107', | ||||
|                     boothCount: '0', | ||||
|                     businessStatus: '休息', | ||||
|                     autoBusinessTime: true, | ||||
|                     marketStatus: false, | ||||
|                     thirdPartyDelivery: true | ||||
|                 }, | ||||
|                 { | ||||
|                     marketName: '东方农贸市场', | ||||
|                     categoryType: 'cloud', | ||||
|                     address: '北京市朝阳区建国路88号', | ||||
|                     operatorName: '赵六', | ||||
|                     operatorAccount: '13900005678', | ||||
|                     detailAddress: '建国路88号SOHO现代城', | ||||
|                     location: '116.462813, 39.912285', | ||||
|                     boothCount: '0', | ||||
|                     businessStatus: '休息', | ||||
|                     autoBusinessTime: true, | ||||
|                     marketStatus: false, | ||||
|                     thirdPartyDelivery: false | ||||
|                 }, | ||||
|                 { | ||||
|                     marketName: '绿色生态市场', | ||||
|                     categoryType: 'offline', | ||||
|                     address: '福建省厦门市思明区', | ||||
|                     operatorName: '孙七', | ||||
|                     operatorAccount: '13900009999', | ||||
|                     detailAddress: '思明区湖滨南路999号', | ||||
|                     location: '118.089425, 24.479663', | ||||
|                     boothCount: '0', | ||||
|                     businessStatus: '休息', | ||||
|                     autoBusinessTime: true, | ||||
|                     marketStatus: false, | ||||
|                     thirdPartyDelivery: true | ||||
|                 } | ||||
|             ]; | ||||
| 
 | ||||
|             // 填充表格数据 | ||||
|             const tbody = document.getElementById('pendingMarketsTableBody'); | ||||
|             tbody.innerHTML = ''; | ||||
| 
 | ||||
|             if (mockPendingData.length === 0) { | ||||
|                 tbody.innerHTML = '<tr><td colspan="5" style="text-align: center; color: #909399;">暂无待审核菜市场</td></tr>'; | ||||
|             } else { | ||||
|                 mockPendingData.forEach((market, index) => { | ||||
|                     const row = document.createElement('tr'); | ||||
|                     row.innerHTML = ` | ||||
|                         <td>${market.marketName}</td> | ||||
|                         <td>${market.address}</td> | ||||
|                         <td>${market.operatorName || ''}</td> | ||||
|                         <td>${market.operatorAccount || ''}</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <button class="btn btn-primary btn-small" onclick='viewPendingMarketDetail(${JSON.stringify(market)})'>详情</button> | ||||
|                                 <button class="btn btn-success btn-small" onclick="approveMarket('${market.marketName}')">通过</button> | ||||
|                                 <button class="btn btn-danger btn-small" onclick="rejectMarket('${market.marketName}')">拒绝</button> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     `; | ||||
|                     tbody.appendChild(row); | ||||
|                 }); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         // 返回菜市场列表 | ||||
|         function goBack() { | ||||
|             window.location.href = '菜市场列表.html'; | ||||
|         } | ||||
| 
 | ||||
|         // 查看待审核菜市场详情 | ||||
|         function viewPendingMarketDetail(marketData) { | ||||
|             openDetailModal(marketData); | ||||
|         } | ||||
| 
 | ||||
|         // 打开详情模态框 | ||||
|         function openDetailModal(rowData) { | ||||
|             // 填充详情数据 | ||||
|             document.getElementById('detailOperatorAccount').value = rowData.operatorAccount || ''; | ||||
|             document.getElementById('detailOperatorName').value = rowData.operatorName || ''; | ||||
|             document.getElementById('detailMarketName').value = rowData.marketName || ''; | ||||
| 
 | ||||
|             // 填充商品类目类型,转换为中文显示 | ||||
|             let categoryTypeText = ''; | ||||
|             if (rowData.categoryType === 'offline') { | ||||
|                 categoryTypeText = '线下菜市场'; | ||||
|             } else if (rowData.categoryType === 'cloud') { | ||||
|                 categoryTypeText = '云店'; | ||||
|             } else { | ||||
|                 categoryTypeText = rowData.categoryType || ''; | ||||
|             } | ||||
|             document.getElementById('detailCategoryType').value = categoryTypeText; | ||||
| 
 | ||||
|             document.getElementById('detailAddress').value = rowData.address || ''; | ||||
|             document.getElementById('detailDetailAddress').value = rowData.detailAddress || ''; | ||||
|             document.getElementById('detailLocation').value = rowData.location || ''; | ||||
|             document.getElementById('detailBoothCount').value = rowData.boothCount || ''; | ||||
|             document.getElementById('detailBusinessStatus').value = rowData.businessStatus || ''; | ||||
| 
 | ||||
|             // 设置开关状态 | ||||
|             document.getElementById('detailAutoBusinessTime').checked = rowData.autoBusinessTime || false; | ||||
|             document.getElementById('detailMarketStatus').checked = rowData.marketStatus || false; | ||||
|             document.getElementById('detailThirdPartyDelivery').checked = rowData.thirdPartyDelivery || false; | ||||
| 
 | ||||
|             // 显示模态框 | ||||
|             document.getElementById('detailMarketModal').classList.add('active'); | ||||
|         } | ||||
| 
 | ||||
|         // 关闭详情模态框 | ||||
|         function closeDetailModal() { | ||||
|             document.getElementById('detailMarketModal').classList.remove('active'); | ||||
|         } | ||||
| 
 | ||||
|         // 点击详情模态框背景关闭 | ||||
|         document.getElementById('detailMarketModal').addEventListener('click', function(e) { | ||||
|             if (e.target === this) { | ||||
|                 closeDetailModal(); | ||||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         // 审核通过 | ||||
|         function approveMarket(marketName) { | ||||
|             if (confirm('确定通过 "' + marketName + '" 的申请吗?')) { | ||||
|                 alert('审核通过功能待实现'); | ||||
|                 // 这里应该调用后端API进行审核通过操作 | ||||
|                 // 成功后刷新列表 | ||||
|                 // loadPendingMarkets(); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         // 审核拒绝 | ||||
|         function rejectMarket(marketName) { | ||||
|             if (confirm('确定拒绝 "' + marketName + '" 的申请吗?')) { | ||||
|                 alert('审核拒绝功能待实现'); | ||||
|                 // 这里应该调用后端API进行审核拒绝操作 | ||||
|                 // 成功后刷新列表 | ||||
|                 // loadPendingMarkets(); | ||||
|             } | ||||
|         } | ||||
|     </script> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -490,11 +490,6 @@ | |||
|                 <option value="beijing">北京市</option> | ||||
|                 <option value="fujian">福建省</option> | ||||
|             </select> | ||||
|             <select> | ||||
|                 <option value="">经营模式</option> | ||||
|                 <option value="operator">经营者</option> | ||||
|                 <option value="platform">平台</option> | ||||
|             </select> | ||||
|             <select> | ||||
|                 <option value="">状态</option> | ||||
|                 <option value="normal">正常</option> | ||||
|  | @ -506,6 +501,7 @@ | |||
|         <!-- 新增按钮 --> | ||||
|         <div class="add-section"> | ||||
|             <button class="btn btn-success">新增</button> | ||||
|             <button class="btn btn-primary" onclick="goToPendingMarkets()">待审核菜市场</button> | ||||
|         </div> | ||||
| 
 | ||||
|         <!-- 表格 --> | ||||
|  | @ -514,8 +510,8 @@ | |||
|                 <thead> | ||||
|                     <tr> | ||||
|                         <th>市场名</th> | ||||
|                         <th>商品类目类型</th> | ||||
|                         <th>地址</th> | ||||
|                         <th>经营模式</th> | ||||
|                         <th>经营者姓名</th> | ||||
|                         <th>经营者账号</th> | ||||
|                         <th>第三方配送</th> | ||||
|  | @ -526,10 +522,10 @@ | |||
|                     </tr> | ||||
|                 </thead> | ||||
|                 <tbody> | ||||
|                     <tr> | ||||
|                     <tr data-category-type="offline"> | ||||
|                         <td>权限测试市场</td> | ||||
|                         <td>线下菜市场</td> | ||||
|                         <td>上海市市辖区闵行区</td> | ||||
|                         <td>经营者</td> | ||||
|                         <td>权限测试</td> | ||||
|                         <td>13800001500</td> | ||||
|                         <td>否</td> | ||||
|  | @ -541,8 +537,7 @@ | |||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">设置结算比例</button> | ||||
|                                     <button class="btn btn-primary btn-small">分销推广</button> | ||||
|                                     <button class="btn btn-primary btn-small">调定经营者账号</button> | ||||
|                                     <button class="btn btn-primary btn-small">查询详情</button> | ||||
|                                     <button class="btn btn-primary btn-small">摊位详情</button> | ||||
|                                 </div> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">详情</button> | ||||
|  | @ -552,36 +547,10 @@ | |||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>测试菜市场-权限</td> | ||||
|                         <td>福建省福州市台江区</td> | ||||
|                         <td>经营者</td> | ||||
|                         <td></td> | ||||
|                         <td></td> | ||||
|                         <td>是</td> | ||||
|                         <td class="status-disabled">禁用</td> | ||||
|                         <td>0</td> | ||||
|                         <td class="business-status">休息</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">设置结算比例</button> | ||||
|                                     <button class="btn btn-primary btn-small">分销推广</button> | ||||
|                                     <button class="btn btn-primary btn-small">调定经营者账号</button> | ||||
|                                     <button class="btn btn-primary btn-small">查询详情</button> | ||||
|                                 </div> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">详情</button> | ||||
|                                     <button class="btn btn-primary btn-small">编辑</button> | ||||
|                                     <button class="btn btn-danger btn-small">删除</button> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                     <tr data-category-type="cloud"> | ||||
|                         <td>测试菜市场-葡萄</td> | ||||
|                         <td>云店</td> | ||||
|                         <td>北京市市辖区东城区</td> | ||||
|                         <td>经营者</td> | ||||
|                         <td>林xx</td> | ||||
|                         <td>17750208698</td> | ||||
|                         <td>否</td> | ||||
|  | @ -593,190 +562,7 @@ | |||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">设置结算比例</button> | ||||
|                                     <button class="btn btn-primary btn-small">分销推广</button> | ||||
|                                     <button class="btn btn-primary btn-small">调定经营者账号</button> | ||||
|                                     <button class="btn btn-primary btn-small">查询详情</button> | ||||
|                                 </div> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">详情</button> | ||||
|                                     <button class="btn btn-primary btn-small">编辑</button> | ||||
|                                     <button class="btn btn-danger btn-small">删除</button> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>华光农贸市场</td> | ||||
|                         <td>上海市市辖区闵行区</td> | ||||
|                         <td>经营者</td> | ||||
|                         <td>华光</td> | ||||
|                         <td>13800001300</td> | ||||
|                         <td>否</td> | ||||
|                         <td class="status-normal">正常</td> | ||||
|                         <td>2</td> | ||||
|                         <td class="business-status">营业</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">设置结算比例</button> | ||||
|                                     <button class="btn btn-primary btn-small">分销推广</button> | ||||
|                                     <button class="btn btn-primary btn-small">调定经营者账号</button> | ||||
|                                     <button class="btn btn-primary btn-small">查询详情</button> | ||||
|                                 </div> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">详情</button> | ||||
|                                     <button class="btn btn-primary btn-small">编辑</button> | ||||
|                                     <button class="btn btn-danger btn-small">删除</button> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>四季菜市场</td> | ||||
|                         <td>上海市市辖区闵行区</td> | ||||
|                         <td>经营者</td> | ||||
|                         <td>春申</td> | ||||
|                         <td>13800001200</td> | ||||
|                         <td>否</td> | ||||
|                         <td class="status-normal">正常</td> | ||||
|                         <td>1</td> | ||||
|                         <td class="business-status">营业</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">设置结算比例</button> | ||||
|                                     <button class="btn btn-primary btn-small">分销推广</button> | ||||
|                                     <button class="btn btn-primary btn-small">调定经营者账号</button> | ||||
|                                     <button class="btn btn-primary btn-small">查询详情</button> | ||||
|                                 </div> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">详情</button> | ||||
|                                     <button class="btn btn-primary btn-small">编辑</button> | ||||
|                                     <button class="btn btn-danger btn-small">删除</button> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>筱埕海产市场</td> | ||||
|                         <td>福建省福州市连江县</td> | ||||
|                         <td>经营者</td> | ||||
|                         <td>邱浩榆</td> | ||||
|                         <td>13850103997</td> | ||||
|                         <td>否</td> | ||||
|                         <td class="status-normal">正常</td> | ||||
|                         <td>1</td> | ||||
|                         <td class="business-status">营业</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">设置结算比例</button> | ||||
|                                     <button class="btn btn-primary btn-small">分销推广</button> | ||||
|                                     <button class="btn btn-primary btn-small">调定经营者账号</button> | ||||
|                                     <button class="btn btn-primary btn-small">查询详情</button> | ||||
|                                 </div> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">详情</button> | ||||
|                                     <button class="btn btn-primary btn-small">编辑</button> | ||||
|                                     <button class="btn btn-danger btn-small">删除</button> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>红梅菜市场</td> | ||||
|                         <td>上海市市辖区闵行区</td> | ||||
|                         <td>经营者</td> | ||||
|                         <td>红梅</td> | ||||
|                         <td>13800001100</td> | ||||
|                         <td>否</td> | ||||
|                         <td class="status-normal">正常</td> | ||||
|                         <td>1</td> | ||||
|                         <td class="business-status">营业</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">设置结算比例</button> | ||||
|                                     <button class="btn btn-primary btn-small">分销推广</button> | ||||
|                                     <button class="btn btn-primary btn-small">调定经营者账号</button> | ||||
|                                     <button class="btn btn-primary btn-small">查询详情</button> | ||||
|                                 </div> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">详情</button> | ||||
|                                     <button class="btn btn-primary btn-small">编辑</button> | ||||
|                                     <button class="btn btn-danger btn-small">删除</button> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>楚逸农贸市场</td> | ||||
|                         <td>福建省福州市连江县</td> | ||||
|                         <td>经营者</td> | ||||
|                         <td>林道铃</td> | ||||
|                         <td>13799430688</td> | ||||
|                         <td>否</td> | ||||
|                         <td class="status-normal">正常</td> | ||||
|                         <td>3</td> | ||||
|                         <td class="business-status">营业</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">设置结算比例</button> | ||||
|                                     <button class="btn btn-primary btn-small">分销推广</button> | ||||
|                                     <button class="btn btn-primary btn-small">调定经营者账号</button> | ||||
|                                     <button class="btn btn-primary btn-small">查询详情</button> | ||||
|                                 </div> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">详情</button> | ||||
|                                     <button class="btn btn-primary btn-small">编辑</button> | ||||
|                                     <button class="btn btn-danger btn-small">删除</button> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>华径菜场</td> | ||||
|                         <td>上海市市辖区闵行区</td> | ||||
|                         <td>经营者</td> | ||||
|                         <td>华径菜市场</td> | ||||
|                         <td>13800001000</td> | ||||
|                         <td>否</td> | ||||
|                         <td class="status-normal">正常</td> | ||||
|                         <td>1</td> | ||||
|                         <td class="business-status">营业</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">设置结算比例</button> | ||||
|                                     <button class="btn btn-primary btn-small">分销推广</button> | ||||
|                                     <button class="btn btn-primary btn-small">调定经营者账号</button> | ||||
|                                     <button class="btn btn-primary btn-small">查询详情</button> | ||||
|                                 </div> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">详情</button> | ||||
|                                     <button class="btn btn-primary btn-small">编辑</button> | ||||
|                                     <button class="btn btn-danger btn-small">删除</button> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </td> | ||||
|                     </tr> | ||||
|                     <tr> | ||||
|                         <td>春申菜市场</td> | ||||
|                         <td>上海市市辖区徐汇区</td> | ||||
|                         <td>经营者</td> | ||||
|                         <td>华径</td> | ||||
|                         <td>13800000200</td> | ||||
|                         <td>否</td> | ||||
|                         <td class="status-normal">正常</td> | ||||
|                         <td>7</td> | ||||
|                         <td class="business-status">营业</td> | ||||
|                         <td> | ||||
|                             <div class="action-buttons"> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">设置结算比例</button> | ||||
|                                     <button class="btn btn-primary btn-small">分销推广</button> | ||||
|                                     <button class="btn btn-primary btn-small">调定经营者账号</button> | ||||
|                                     <button class="btn btn-primary btn-small">查询详情</button> | ||||
|                                     <button class="btn btn-primary btn-small">摊位详情</button> | ||||
|                                 </div> | ||||
|                                 <div class="action-row"> | ||||
|                                     <button class="btn btn-primary btn-small">详情</button> | ||||
|  | @ -791,6 +577,45 @@ | |||
|         </div> | ||||
|     </div> | ||||
| 
 | ||||
|     <!-- 摊位详情模态框 --> | ||||
|     <div class="modal" id="boothDetailModal"> | ||||
|         <div class="modal-content" style="max-width: 1200px;"> | ||||
|             <div class="modal-header"> | ||||
|                 <h3>摊铺详情</h3> | ||||
|                 <button class="modal-close" onclick="closeBoothDetailModal()">×</button> | ||||
|             </div> | ||||
|             <div class="modal-body"> | ||||
|                 <!-- 标签页导航 --> | ||||
|                 <div style="border-bottom: 2px solid #ebeef5; margin-bottom: 20px;"> | ||||
|                     <div style="display: inline-block; padding: 10px 20px; border-bottom: 2px solid #409eff; color: #409eff; font-weight: 500; cursor: pointer;"> | ||||
|                         摊位列表 | ||||
|                     </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <!-- 摊位列表表格 --> | ||||
|                 <div class="table-wrapper"> | ||||
|                     <table> | ||||
|                         <thead> | ||||
|                             <tr> | ||||
|                                 <th>摊位ID</th> | ||||
|                                 <th>摊位名称</th> | ||||
|                                 <th>收益人名称</th> | ||||
|                                 <th>收益人手机号</th> | ||||
|                                 <th>加入时间</th> | ||||
|                             </tr> | ||||
|                         </thead> | ||||
|                         <tbody id="boothListTableBody"> | ||||
|                             <!-- 动态填充摊位数据 --> | ||||
|                         </tbody> | ||||
|                     </table> | ||||
|                 </div> | ||||
|             </div> | ||||
|             <div class="modal-footer"> | ||||
|                 <button class="btn btn-cancel" onclick="closeBoothDetailModal()">关闭</button> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| 
 | ||||
|     <!-- 设置结算比例模态框 --> | ||||
|     <div class="modal" id="settlementRatioModal"> | ||||
|         <div class="modal-content" style="max-width: 500px;"> | ||||
|  | @ -815,6 +640,191 @@ | |||
|         </div> | ||||
|     </div> | ||||
| 
 | ||||
|     <!-- 详情模态框 --> | ||||
|     <div class="modal" id="detailMarketModal"> | ||||
|         <div class="modal-content"> | ||||
|             <div class="modal-header"> | ||||
|                 <h3>菜市场详情</h3> | ||||
|                 <button class="modal-close" onclick="closeDetailModal()">×</button> | ||||
|             </div> | ||||
|             <div class="modal-body"> | ||||
|                 <form id="detailMarketForm"> | ||||
|                     <!-- 经营者信息 --> | ||||
|                     <div class="form-section"> | ||||
|                         <div class="form-section-title">经营者信息</div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">经营者账号</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailOperatorAccount" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">经营者姓名</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailOperatorName" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
| 
 | ||||
|                     <!-- 基础配置 --> | ||||
|                     <div class="form-section"> | ||||
|                         <div class="form-section-title">基础配置</div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场名称</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailMarketName" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">商品类目类型</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailCategoryType" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场背景图</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="upload-box" style="pointer-events: none;"> | ||||
|                                     <span class="upload-box-text">暂无图片</span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场营业执照</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="upload-box" style="pointer-events: none;"> | ||||
|                                     <span class="upload-box-text">暂无图片</span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场实拍图</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="upload-box" style="pointer-events: none;"> | ||||
|                                     <span class="upload-box-text">暂无图片</span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场地址</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailAddress" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">详细地址</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailDetailAddress" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场定位</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailLocation" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场营业时间</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="switch-group"> | ||||
|                                     <span class="switch-label">手动营业</span> | ||||
|                                     <label class="switch"> | ||||
|                                         <input type="checkbox" id="detailAutoBusinessTime" disabled> | ||||
|                                         <span class="switch-slider"></span> | ||||
|                                     </label> | ||||
|                                     <span class="switch-label active">自动营业</span> | ||||
|                                 </div> | ||||
|                                 <div class="checkbox-group" style="margin-top: 10px;"> | ||||
|                                     <div class="checkbox-option"> | ||||
|                                         <input type="checkbox" id="detailEveryday" disabled> | ||||
|                                         <label for="detailEveryday">每天</label> | ||||
|                                     </div> | ||||
|                                     <div class="checkbox-option"> | ||||
|                                         <input type="checkbox" id="detailWorkday" disabled> | ||||
|                                         <label for="detailWorkday">工作日</label> | ||||
|                                     </div> | ||||
|                                     <div class="checkbox-option"> | ||||
|                                         <input type="checkbox" id="detailCustom" disabled> | ||||
|                                         <label for="detailCustom">自定义</label> | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                                 <div class="time-group" style="margin-top: 10px;"> | ||||
|                                     <input type="time" class="form-input time-input" id="detailStartTime" readonly> | ||||
|                                     <input type="time" class="form-input time-input" id="detailEndTime" readonly> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">菜市场状态</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="switch-group"> | ||||
|                                     <span class="switch-label">禁用</span> | ||||
|                                     <label class="switch"> | ||||
|                                         <input type="checkbox" id="detailMarketStatus" disabled> | ||||
|                                         <span class="switch-slider"></span> | ||||
|                                     </label> | ||||
|                                     <span class="switch-label active">启用</span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">摊位数</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailBoothCount" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">营业状态</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" id="detailBusinessStatus" readonly> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
| 
 | ||||
|                     <!-- 配送设置 --> | ||||
|                     <div class="form-section"> | ||||
|                         <div class="form-section-title">配送设置</div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label"></div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="form-hint">ℹ️ 开启后,将允许该菜市场经营者/摊主(无经营者)自由配置是否呼叫第三方骑手进行配送;</div> | ||||
|                                 <div class="form-hint">第三方配送费用因距离、天气、时段等因素会产生不同程度的浮动;将根据实际配送费用进行扣除。</div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">是否允许第三方骑手配送</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="switch-group"> | ||||
|                                     <span class="switch-label">禁用</span> | ||||
|                                     <label class="switch"> | ||||
|                                         <input type="checkbox" id="detailThirdPartyDelivery" disabled> | ||||
|                                         <span class="switch-slider"></span> | ||||
|                                     </label> | ||||
|                                     <span class="switch-label active">启用</span> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </form> | ||||
|             </div> | ||||
|             <div class="modal-footer"> | ||||
|                 <button class="btn btn-cancel" onclick="closeDetailModal()">关闭</button> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
| 
 | ||||
|     <!-- 新增菜市场模态框 --> | ||||
|     <div class="modal" id="addMarketModal"> | ||||
|         <div class="modal-content"> | ||||
|  | @ -824,44 +834,24 @@ | |||
|             </div> | ||||
|             <div class="modal-body"> | ||||
|                 <form id="addMarketForm"> | ||||
|                     <!-- 关联商圈 --> | ||||
|                     <!-- 经营者信息 --> | ||||
|                     <div class="form-section"> | ||||
|                         <div class="form-section-title">关联商圈</div> | ||||
|                         <div class="form-section-title">经营者信息</div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label required">选择商圈</div> | ||||
|                             <div class="form-label required">经营者账号</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <select class="form-select" id="businessDistrict"> | ||||
|                                     <option value="">请选择商圈</option> | ||||
|                                     <option value="1">商圈1</option> | ||||
|                                     <option value="2">商圈2</option> | ||||
|                                     <option value="3">商圈3</option> | ||||
|                                     <option value="4">商圈4</option> | ||||
|                                 </select> | ||||
|                                 <div class="form-hint">请选择菜市场所属的商圈</div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
| 
 | ||||
|                     <!-- 是否经营者 --> | ||||
|                     <div class="form-section"> | ||||
|                         <div class="form-section-title">是否经营者</div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label"></div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="form-hint">ℹ️ 无代理状态下,代理结算比例归到平台;</div> | ||||
|                                 <input type="text" class="form-input" id="operatorAccount" placeholder="请输入手机号码" maxlength="11"> | ||||
|                                 <div class="form-hint">请输入经营者的手机号码</div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label">是否有菜市场经营者</div> | ||||
|                             <div class="form-label required">验证码</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="switch-group"> | ||||
|                                     <span class="switch-label">无</span> | ||||
|                                     <label class="switch"> | ||||
|                                         <input type="checkbox" id="hasOperator"> | ||||
|                                         <span class="switch-slider"></span> | ||||
|                                     </label> | ||||
|                                     <span class="switch-label active">有</span> | ||||
|                                 <div style="display: flex; gap: 10px;"> | ||||
|                                     <input type="text" class="form-input" id="verifyCode" placeholder="请输入验证码" maxlength="6" style="flex: 1;"> | ||||
|                                     <button type="button" class="btn btn-primary" id="sendCodeBtn" onclick="sendVerifyCode()">发送验证码</button> | ||||
|                                 </div> | ||||
|                                 <div class="form-hint">验证码将发送至经营者手机</div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|  | @ -873,7 +863,18 @@ | |||
|                         <div class="form-group"> | ||||
|                             <div class="form-label required">菜市场名称</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <input type="text" class="form-input" placeholder="请输入菜市场名称25字符内" maxlength="25"> | ||||
|                                 <input type="text" class="form-input" id="marketName" placeholder="请输入菜市场名称25字符内" maxlength="25"> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|                         <div class="form-group"> | ||||
|                             <div class="form-label required">商品类目类型</div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <select class="form-select" id="categoryType"> | ||||
|                                     <option value="">请选择商品类目类型</option> | ||||
|                                     <option value="offline">线下菜市场</option> | ||||
|                                     <option value="cloud">云店</option> | ||||
|                                 </select> | ||||
|                             </div> | ||||
|                         </div> | ||||
| 
 | ||||
|  | @ -1006,8 +1007,8 @@ | |||
|                         <div class="form-group"> | ||||
|                             <div class="form-label"></div> | ||||
|                             <div class="form-input-wrapper"> | ||||
|                                 <div class="form-hint">ℹ️ 开启后,将允许该菜市场经营者/摊主(无经营者) 自由配置是否使用第三方配送:</div> | ||||
|                                 <div class="form-hint">第三方配送费用配置简,天气、时段等因素产生不同程度的浮动;将根据实际配送费用扣行扣除。</div> | ||||
|                                 <div class="form-hint">ℹ️ 开启后,将允许该菜市场经营者/摊主(无经营者)自由配置是否呼叫第三方骑手进行配送;</div> | ||||
|                                 <div class="form-hint">第三方配送费用因距离、天气、时段等因素会产生不同程度的浮动;将根据实际配送费用进行扣除。</div> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="form-group"> | ||||
|  | @ -1034,6 +1035,47 @@ | |||
|     </div> | ||||
| 
 | ||||
|     <script> | ||||
|         // 验证码倒计时 | ||||
|         let countdown = 0; | ||||
|         let countdownTimer = null; | ||||
| 
 | ||||
|         // 发送验证码 | ||||
|         function sendVerifyCode() { | ||||
|             const account = document.getElementById('operatorAccount').value; | ||||
|             const btn = document.getElementById('sendCodeBtn'); | ||||
| 
 | ||||
|             // 验证手机号格式 | ||||
|             if (!account || !/^1[3-9]\d{9}$/.test(account)) { | ||||
|                 alert('请输入正确的手机号码'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             // 如果正在倒计时,不允许再次发送 | ||||
|             if (countdown > 0) { | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             // 这里应该调用后端API发送验证码 | ||||
|             // 模拟发送成功 | ||||
|             alert('验证码已发送至 ' + account); | ||||
| 
 | ||||
|             // 开始倒计时 | ||||
|             countdown = 60; | ||||
|             btn.disabled = true; | ||||
|             btn.textContent = countdown + '秒后重发'; | ||||
| 
 | ||||
|             countdownTimer = setInterval(function() { | ||||
|                 countdown--; | ||||
|                 if (countdown > 0) { | ||||
|                     btn.textContent = countdown + '秒后重发'; | ||||
|                 } else { | ||||
|                     clearInterval(countdownTimer); | ||||
|                     btn.disabled = false; | ||||
|                     btn.textContent = '发送验证码'; | ||||
|                 } | ||||
|             }, 1000); | ||||
|         } | ||||
| 
 | ||||
|         // 搜索功能 | ||||
|         document.querySelector('.search-bar .btn-primary').addEventListener('click', function() { | ||||
|             alert('搜索功能待实现'); | ||||
|  | @ -1047,15 +1089,56 @@ | |||
|         // 打开模态框 | ||||
|         function openModal() { | ||||
|             document.getElementById('addMarketModal').classList.add('active'); | ||||
|             // 重置倒计时 | ||||
|             if (countdownTimer) { | ||||
|                 clearInterval(countdownTimer); | ||||
|                 countdown = 0; | ||||
|                 document.getElementById('sendCodeBtn').disabled = false; | ||||
|                 document.getElementById('sendCodeBtn').textContent = '发送验证码'; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         // 关闭模态框 | ||||
|         function closeModal() { | ||||
|             document.getElementById('addMarketModal').classList.remove('active'); | ||||
|             // 清理倒计时 | ||||
|             if (countdownTimer) { | ||||
|                 clearInterval(countdownTimer); | ||||
|                 countdown = 0; | ||||
|             } | ||||
|             // 重置表单 | ||||
|             document.getElementById('addMarketForm').reset(); | ||||
|         } | ||||
| 
 | ||||
|         // 提交表单 | ||||
|         function submitForm() { | ||||
|             const account = document.getElementById('operatorAccount').value; | ||||
|             const verifyCode = document.getElementById('verifyCode').value; | ||||
|             const marketName = document.getElementById('marketName').value; | ||||
|             const categoryType = document.getElementById('categoryType').value; | ||||
| 
 | ||||
|             // 验证必填项 | ||||
|             if (!account || !/^1[3-9]\d{9}$/.test(account)) { | ||||
|                 alert('请输入正确的手机号码'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             if (!verifyCode || verifyCode.length !== 6) { | ||||
|                 alert('请输入6位验证码'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             if (!marketName || marketName.trim() === '') { | ||||
|                 alert('请输入菜市场名称'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             if (!categoryType || categoryType === '') { | ||||
|                 alert('请选择商品类目类型'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             // 这里应该调用后端API验证验证码并提交表单 | ||||
|             alert('表单提交功能待实现'); | ||||
|             closeModal(); | ||||
|         } | ||||
|  | @ -1067,6 +1150,62 @@ | |||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         // 打开摊位详情模态框 | ||||
|         function openBoothDetailModal(marketName) { | ||||
|             // 模拟摊位数据,实际应该从后端API获取 | ||||
|             const mockBoothData = [ | ||||
|                 { | ||||
|                     id: 4, | ||||
|                     name: '猪肉铺', | ||||
|                     beneficiaryName: '张三', | ||||
|                     beneficiaryPhone: '13800000000', | ||||
|                     joinTime: '2025-10-20 12:06:56' | ||||
|                 }, | ||||
|                 { | ||||
|                     id: 5, | ||||
|                     name: '测试摊位', | ||||
|                     beneficiaryName: '李四(和经营者相同)', | ||||
|                     beneficiaryPhone: '13800000001(和经营者相同)', | ||||
|                     joinTime: '2025-10-20 12:06:56' | ||||
|                 } | ||||
|             ]; | ||||
| 
 | ||||
|             // 填充表格数据 | ||||
|             const tbody = document.getElementById('boothListTableBody'); | ||||
|             tbody.innerHTML = ''; | ||||
| 
 | ||||
|             if (mockBoothData.length === 0) { | ||||
|                 tbody.innerHTML = '<tr><td colspan="5" style="text-align: center; color: #909399;">暂无摊位数据</td></tr>'; | ||||
|             } else { | ||||
|                 mockBoothData.forEach(booth => { | ||||
|                     const row = document.createElement('tr'); | ||||
|                     row.innerHTML = ` | ||||
|                         <td>${booth.id}</td> | ||||
|                         <td>${booth.name}</td> | ||||
|                         <td>${booth.beneficiaryName || ''}</td> | ||||
|                         <td>${booth.beneficiaryPhone || ''}</td> | ||||
|                         <td>${booth.joinTime}</td> | ||||
|                     `; | ||||
|                     tbody.appendChild(row); | ||||
|                 }); | ||||
|             } | ||||
| 
 | ||||
|             // 显示模态框 | ||||
|             document.getElementById('boothDetailModal').classList.add('active'); | ||||
|         } | ||||
| 
 | ||||
|         // 关闭摊位详情模态框 | ||||
|         function closeBoothDetailModal() { | ||||
|             document.getElementById('boothDetailModal').classList.remove('active'); | ||||
|         } | ||||
| 
 | ||||
|         // 点击摊位详情模态框背景关闭 | ||||
|         document.getElementById('boothDetailModal').addEventListener('click', function(e) { | ||||
|             if (e.target === this) { | ||||
|                 closeBoothDetailModal(); | ||||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         // 打开设置结算比例模态框 | ||||
|         function openSettlementModal() { | ||||
|             document.getElementById('settlementRatioModal').classList.add('active'); | ||||
|  | @ -1095,6 +1234,72 @@ | |||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         // 打开详情模态框 | ||||
|         function openDetailModal(rowData) { | ||||
|             // 填充详情数据 | ||||
|             document.getElementById('detailOperatorAccount').value = rowData.operatorAccount || ''; | ||||
|             document.getElementById('detailOperatorName').value = rowData.operatorName || ''; | ||||
|             document.getElementById('detailMarketName').value = rowData.marketName || ''; | ||||
| 
 | ||||
|             // 填充商品类目类型,转换为中文显示 | ||||
|             let categoryTypeText = ''; | ||||
|             if (rowData.categoryType === 'offline') { | ||||
|                 categoryTypeText = '线下菜市场'; | ||||
|             } else if (rowData.categoryType === 'cloud') { | ||||
|                 categoryTypeText = '云店'; | ||||
|             } else { | ||||
|                 categoryTypeText = rowData.categoryType || ''; | ||||
|             } | ||||
|             document.getElementById('detailCategoryType').value = categoryTypeText; | ||||
| 
 | ||||
|             document.getElementById('detailAddress').value = rowData.address || ''; | ||||
|             document.getElementById('detailDetailAddress').value = rowData.detailAddress || ''; | ||||
|             document.getElementById('detailLocation').value = rowData.location || ''; | ||||
|             document.getElementById('detailBoothCount').value = rowData.boothCount || ''; | ||||
|             document.getElementById('detailBusinessStatus').value = rowData.businessStatus || ''; | ||||
| 
 | ||||
|             // 设置开关状态 | ||||
|             document.getElementById('detailAutoBusinessTime').checked = rowData.autoBusinessTime || false; | ||||
|             document.getElementById('detailMarketStatus').checked = rowData.marketStatus || false; | ||||
|             document.getElementById('detailThirdPartyDelivery').checked = rowData.thirdPartyDelivery || false; | ||||
| 
 | ||||
|             // 显示模态框 | ||||
|             document.getElementById('detailMarketModal').classList.add('active'); | ||||
|         } | ||||
| 
 | ||||
|         // 关闭详情模态框 | ||||
|         function closeDetailModal() { | ||||
|             document.getElementById('detailMarketModal').classList.remove('active'); | ||||
|         } | ||||
| 
 | ||||
|         // 点击详情模态框背景关闭 | ||||
|         document.getElementById('detailMarketModal').addEventListener('click', function(e) { | ||||
|             if (e.target === this) { | ||||
|                 closeDetailModal(); | ||||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         // 从表格行获取数据 | ||||
|         function getRowData(button) { | ||||
|             const row = button.closest('tr'); | ||||
|             const cells = row.querySelectorAll('td'); | ||||
| 
 | ||||
|             return { | ||||
|                 marketName: cells[0].textContent.trim(), | ||||
|                 categoryType: row.getAttribute('data-category-type') || '', | ||||
|                 address: cells[2].textContent.trim(), | ||||
|                 operatorName: cells[3].textContent.trim(), | ||||
|                 operatorAccount: cells[4].textContent.trim(), | ||||
|                 thirdPartyDelivery: cells[5].textContent.trim() === '是', | ||||
|                 marketStatus: cells[7].textContent.trim() === '正常', | ||||
|                 boothCount: cells[8].textContent.trim(), | ||||
|                 businessStatus: cells[9].textContent.trim(), | ||||
|                 detailAddress: '', | ||||
|                 location: '', | ||||
|                 autoBusinessTime: true | ||||
|             }; | ||||
|         } | ||||
| 
 | ||||
|         // 为所有操作按钮添加事件监听 | ||||
|         document.querySelectorAll('.action-buttons button').forEach(button => { | ||||
|             button.addEventListener('click', function(e) { | ||||
|  | @ -1104,11 +1309,24 @@ | |||
|                 // 如果是设置结算比例按钮,打开对应的模态框 | ||||
|                 if (buttonText === '设置结算比例') { | ||||
|                     openSettlementModal(); | ||||
|                 } else if (buttonText === '详情') { | ||||
|                     // 获取当前行数据并打开详情模态框 | ||||
|                     const rowData = getRowData(this); | ||||
|                     openDetailModal(rowData); | ||||
|                 } else if (buttonText === '摊位详情') { | ||||
|                     // 获取市场名称并打开摊位详情模态框 | ||||
|                     const rowData = getRowData(this); | ||||
|                     openBoothDetailModal(rowData.marketName); | ||||
|                 } else { | ||||
|                     alert(buttonText + ' 功能待实现'); | ||||
|                 } | ||||
|             }); | ||||
|         }); | ||||
| 
 | ||||
|         // 跳转到待审核菜市场页面 | ||||
|         function goToPendingMarkets() { | ||||
|             window.location.href = '待审核菜市场.html'; | ||||
|         } | ||||
|     </script> | ||||
| </body> | ||||
| </html> | ||||
		Loading…
	
		Reference in New Issue