综述: 优化分销商管理页面交互功能
- 在分销商审核列表中,为通过和拒绝按钮添加确认弹窗功能 - 添加禁用分销商时的确认弹窗和原因输入 - 完善分销商状态显示逻辑,统一待审核状态样式 - 添加弹窗样式和交互脚本,提升用户体验
This commit is contained in:
		
							parent
							
								
									f4c90aee69
								
							
						
					
					
						commit
						e2c7950e5f
					
				|  | @ -303,6 +303,80 @@ | ||||||
|                 grid-template-columns: 1fr; |                 grid-template-columns: 1fr; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         /* 弹窗样式 */ | ||||||
|  |         .modal { | ||||||
|  |             display: none; | ||||||
|  |             position: fixed; | ||||||
|  |             z-index: 1000; | ||||||
|  |             left: 0; | ||||||
|  |             top: 0; | ||||||
|  |             width: 100%; | ||||||
|  |             height: 100%; | ||||||
|  |             background-color: rgba(0, 0, 0, 0.5); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         .modal.show { | ||||||
|  |             display: flex; | ||||||
|  |             align-items: center; | ||||||
|  |             justify-content: center; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         .modal-content { | ||||||
|  |             background-color: white; | ||||||
|  |             padding: 0; | ||||||
|  |             border-radius: 8px; | ||||||
|  |             width: 90%; | ||||||
|  |             max-width: 500px; | ||||||
|  |             box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         .modal-header { | ||||||
|  |             padding: 20px 24px; | ||||||
|  |             border-bottom: 1px solid #f0f0f0; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         .modal-title { | ||||||
|  |             font-size: 18px; | ||||||
|  |             font-weight: 600; | ||||||
|  |             color: #262626; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         .modal-body { | ||||||
|  |             padding: 24px; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         .modal-body p { | ||||||
|  |             margin: 0; | ||||||
|  |             font-size: 14px; | ||||||
|  |             color: #666; | ||||||
|  |             line-height: 1.6; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         .modal-body textarea { | ||||||
|  |             width: 100%; | ||||||
|  |             min-height: 80px; | ||||||
|  |             padding: 12px; | ||||||
|  |             border: 1px solid #ddd; | ||||||
|  |             border-radius: 6px; | ||||||
|  |             font-size: 14px; | ||||||
|  |             margin-top: 12px; | ||||||
|  |             resize: vertical; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         .modal-body textarea:focus { | ||||||
|  |             outline: none; | ||||||
|  |             border-color: #1890ff; | ||||||
|  |             box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         .modal-footer { | ||||||
|  |             padding: 16px 24px; | ||||||
|  |             border-top: 1px solid #f0f0f0; | ||||||
|  |             display: flex; | ||||||
|  |             justify-content: flex-end; | ||||||
|  |             gap: 12px; | ||||||
|  |         } | ||||||
|     </style> |     </style> | ||||||
| </head> | </head> | ||||||
| <body> | <body> | ||||||
|  | @ -329,7 +403,6 @@ | ||||||
|                         <select style="width: 150px"> |                         <select style="width: 150px"> | ||||||
|                             <option value="">全部</option> |                             <option value="">全部</option> | ||||||
|                             <option value="0">待审核</option> |                             <option value="0">待审核</option> | ||||||
|                             <option value="1">已通过</option> |  | ||||||
|                             <option value="-1">已拒绝</option> |                             <option value="-1">已拒绝</option> | ||||||
|                         </select> |                         </select> | ||||||
|                     </div> |                     </div> | ||||||
|  | @ -366,8 +439,8 @@ | ||||||
|                             <td><span class="tag tag-warning">待审核</span></td> |                             <td><span class="tag tag-warning">待审核</span></td> | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-success" style="margin: 0; padding: 5px 12px;">通过</button> |                                 <button class="btn btn-success" style="margin: 0; padding: 5px 12px;" onclick="handleApprove('张三')">通过</button> | ||||||
|                                 <button class="btn btn-danger" style="margin: 0; padding: 5px 12px;">拒绝</button> |                                 <button class="btn btn-danger" style="margin: 0; padding: 5px 12px;" onclick="handleReject('张三')">拒绝</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|  | @ -378,19 +451,20 @@ | ||||||
|                             <td><span class="tag tag-warning">待审核</span></td> |                             <td><span class="tag tag-warning">待审核</span></td> | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-success" style="margin: 0; padding: 5px 12px;">通过</button> |                                 <button class="btn btn-success" style="margin: 0; padding: 5px 12px;" onclick="handleApprove('李四')">通过</button> | ||||||
|                                 <button class="btn btn-danger" style="margin: 0; padding: 5px 12px;">拒绝</button> |                                 <button class="btn btn-danger" style="margin: 0; padding: 5px 12px;" onclick="handleReject('李四')">拒绝</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|                             <td>王五</td> |                             <td>王五</td> | ||||||
|                             <td>13800138003</td> |                             <td>13800138003</td> | ||||||
|                             <td>2024-01-17 09:15:00</td> |                             <td>2024-01-17 09:15:00</td> | ||||||
|                             <td>2024-01-17 16:20:00</td> |                             <td>-</td> | ||||||
|                             <td><span class="tag tag-success">已通过</span></td> |                             <td><span class="tag tag-warning">待审核</span></td> | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> |                                 <button class="btn btn-success" style="margin: 0; padding: 5px 12px;" onclick="handleApprove('王五')">通过</button> | ||||||
|  |                                 <button class="btn btn-danger" style="margin: 0; padding: 5px 12px;" onclick="handleReject('王五')">拒绝</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|  | @ -401,7 +475,7 @@ | ||||||
|                             <td><span class="tag tag-danger">已拒绝</span></td> |                             <td><span class="tag tag-danger">已拒绝</span></td> | ||||||
|                             <td>资料不完整</td> |                             <td>资料不完整</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> |                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;" disabled>详情</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|  | @ -412,19 +486,20 @@ | ||||||
|                             <td><span class="tag tag-warning">待审核</span></td> |                             <td><span class="tag tag-warning">待审核</span></td> | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-success" style="margin: 0; padding: 5px 12px;">通过</button> |                                 <button class="btn btn-success" style="margin: 0; padding: 5px 12px;" onclick="handleApprove('钱七')">通过</button> | ||||||
|                                 <button class="btn btn-danger" style="margin: 0; padding: 5px 12px;">拒绝</button> |                                 <button class="btn btn-danger" style="margin: 0; padding: 5px 12px;" onclick="handleReject('钱七')">拒绝</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|                             <td>孙八</td> |                             <td>孙八</td> | ||||||
|                             <td>13800138006</td> |                             <td>13800138006</td> | ||||||
|                             <td>2024-01-20 13:25:00</td> |                             <td>2024-01-20 13:25:00</td> | ||||||
|                             <td>2024-01-20 17:10:00</td> |                             <td>-</td> | ||||||
|                             <td><span class="tag tag-success">已通过</span></td> |                             <td><span class="tag tag-warning">待审核</span></td> | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> |                                 <button class="btn btn-success" style="margin: 0; padding: 5px 12px;" onclick="handleApprove('孙八')">通过</button> | ||||||
|  |                                 <button class="btn btn-danger" style="margin: 0; padding: 5px 12px;" onclick="handleReject('孙八')">拒绝</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                     </tbody> |                     </tbody> | ||||||
|  | @ -536,7 +611,7 @@ | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> |                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> | ||||||
|                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;">禁用</button> |                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;" onclick="handleDisable('张三')">禁用</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|  | @ -549,7 +624,7 @@ | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> |                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> | ||||||
|                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;">禁用</button> |                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;" onclick="handleDisable('李四')">禁用</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|  | @ -562,7 +637,7 @@ | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> |                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> | ||||||
|                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;">禁用</button> |                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;" onclick="handleDisable('王五')">禁用</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|  | @ -588,7 +663,7 @@ | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> |                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> | ||||||
|                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;">禁用</button> |                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;" onclick="handleDisable('孙八')">禁用</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|  | @ -601,7 +676,7 @@ | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> |                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> | ||||||
|                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;">禁用</button> |                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;" onclick="handleDisable('周九')">禁用</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|  | @ -614,7 +689,7 @@ | ||||||
|                             <td>-</td> |                             <td>-</td> | ||||||
|                             <td> |                             <td> | ||||||
|                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> |                                 <button class="btn btn-primary" style="margin: 0; padding: 5px 12px;">详情</button> | ||||||
|                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;">禁用</button> |                                 <button class="btn btn-warning" style="margin: 0; padding: 5px 12px;" onclick="handleDisable('吴十')">禁用</button> | ||||||
|                             </td> |                             </td> | ||||||
|                         </tr> |                         </tr> | ||||||
|                         <tr> |                         <tr> | ||||||
|  | @ -641,7 +716,59 @@ | ||||||
|         </div> |         </div> | ||||||
|     </div> |     </div> | ||||||
| 
 | 
 | ||||||
|  |     <!-- 通过确认弹窗 --> | ||||||
|  |     <div id="approveModal" class="modal"> | ||||||
|  |         <div class="modal-content"> | ||||||
|  |             <div class="modal-header"> | ||||||
|  |                 <h3 class="modal-title">确认通过</h3> | ||||||
|  |             </div> | ||||||
|  |             <div class="modal-body"> | ||||||
|  |                 <p>确定要通过 <strong id="approveName"></strong> 的申请吗?</p> | ||||||
|  |             </div> | ||||||
|  |             <div class="modal-footer"> | ||||||
|  |                 <button class="btn btn-default" onclick="closeModal('approveModal')">取消</button> | ||||||
|  |                 <button class="btn btn-success" onclick="confirmApprove()">确认通过</button> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | 
 | ||||||
|  |     <!-- 拒绝确认弹窗 --> | ||||||
|  |     <div id="rejectModal" class="modal"> | ||||||
|  |         <div class="modal-content"> | ||||||
|  |             <div class="modal-header"> | ||||||
|  |                 <h3 class="modal-title">确认拒绝</h3> | ||||||
|  |             </div> | ||||||
|  |             <div class="modal-body"> | ||||||
|  |                 <p>确定要拒绝 <strong id="rejectName"></strong> 的申请吗?</p> | ||||||
|  |                 <textarea id="rejectReason" placeholder="请输入拒绝理由(必填)"></textarea> | ||||||
|  |             </div> | ||||||
|  |             <div class="modal-footer"> | ||||||
|  |                 <button class="btn btn-default" onclick="closeModal('rejectModal')">取消</button> | ||||||
|  |                 <button class="btn btn-danger" onclick="confirmReject()">确认拒绝</button> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | 
 | ||||||
|  |     <!-- 禁用确认弹窗 --> | ||||||
|  |     <div id="disableModal" class="modal"> | ||||||
|  |         <div class="modal-content"> | ||||||
|  |             <div class="modal-header"> | ||||||
|  |                 <h3 class="modal-title">确认禁用</h3> | ||||||
|  |             </div> | ||||||
|  |             <div class="modal-body"> | ||||||
|  |                 <p>确定要禁用分销商 <strong id="disableName"></strong> 吗?</p> | ||||||
|  |                 <textarea id="disableReason" placeholder="请输入禁用原因(必填)"></textarea> | ||||||
|  |             </div> | ||||||
|  |             <div class="modal-footer"> | ||||||
|  |                 <button class="btn btn-default" onclick="closeModal('disableModal')">取消</button> | ||||||
|  |                 <button class="btn btn-warning" onclick="confirmDisable()">确认禁用</button> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | 
 | ||||||
|     <script> |     <script> | ||||||
|  |         let currentApplicant = ''; | ||||||
|  | 
 | ||||||
|         function switchTab(tabName) { |         function switchTab(tabName) { | ||||||
|             // 移除所有active类 |             // 移除所有active类 | ||||||
|             document.querySelectorAll('.tab-item').forEach(item => { |             document.querySelectorAll('.tab-item').forEach(item => { | ||||||
|  | @ -655,6 +782,72 @@ | ||||||
|             event.target.classList.add('active'); |             event.target.classList.add('active'); | ||||||
|             document.getElementById('tab-' + tabName).classList.add('active'); |             document.getElementById('tab-' + tabName).classList.add('active'); | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         // 打开通过弹窗 | ||||||
|  |         function handleApprove(name) { | ||||||
|  |             currentApplicant = name; | ||||||
|  |             document.getElementById('approveName').textContent = name; | ||||||
|  |             document.getElementById('approveModal').classList.add('show'); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // 打开拒绝弹窗 | ||||||
|  |         function handleReject(name) { | ||||||
|  |             currentApplicant = name; | ||||||
|  |             document.getElementById('rejectName').textContent = name; | ||||||
|  |             document.getElementById('rejectReason').value = ''; | ||||||
|  |             document.getElementById('rejectModal').classList.add('show'); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // 关闭弹窗 | ||||||
|  |         function closeModal(modalId) { | ||||||
|  |             document.getElementById(modalId).classList.remove('show'); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // 确认通过 | ||||||
|  |         function confirmApprove() { | ||||||
|  |             alert(`已通过 ${currentApplicant} 的申请`); | ||||||
|  |             closeModal('approveModal'); | ||||||
|  |             // 这里可以添加实际的审核通过逻辑 | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // 确认拒绝 | ||||||
|  |         function confirmReject() { | ||||||
|  |             const reason = document.getElementById('rejectReason').value.trim(); | ||||||
|  |             if (!reason) { | ||||||
|  |                 alert('请输入拒绝理由'); | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  |             alert(`已拒绝 ${currentApplicant} 的申请,理由:${reason}`); | ||||||
|  |             closeModal('rejectModal'); | ||||||
|  |             // 这里可以添加实际的审核拒绝逻辑 | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // 打开禁用弹窗 | ||||||
|  |         function handleDisable(name) { | ||||||
|  |             currentApplicant = name; | ||||||
|  |             document.getElementById('disableName').textContent = name; | ||||||
|  |             document.getElementById('disableReason').value = ''; | ||||||
|  |             document.getElementById('disableModal').classList.add('show'); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // 确认禁用 | ||||||
|  |         function confirmDisable() { | ||||||
|  |             const reason = document.getElementById('disableReason').value.trim(); | ||||||
|  |             if (!reason) { | ||||||
|  |                 alert('请输入禁用原因'); | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  |             alert(`已禁用分销商 ${currentApplicant},原因:${reason}`); | ||||||
|  |             closeModal('disableModal'); | ||||||
|  |             // 这里可以添加实际的禁用逻辑 | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // 点击弹窗外部关闭 | ||||||
|  |         window.onclick = function(event) { | ||||||
|  |             if (event.target.classList.contains('modal')) { | ||||||
|  |                 event.target.classList.remove('show'); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|     </script> |     </script> | ||||||
| </body> | </body> | ||||||
| </html> | </html> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue