liuchengsen преди 1 месец
родител
ревизия
f3d7b15cf7
променени са 1 файла, в които са добавени 23 реда и са изтрити 4 реда
  1. 23 4
      static/index.html

+ 23 - 4
static/index.html

@@ -77,6 +77,13 @@ body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei
 .search-box input:focus{border-color:var(--bk);box-shadow:0 0 0 2px rgba(0,47,167,.12)}
 .status-bar{font-size:11px;padding:4px 14px;text-align:center;flex-shrink:0}
 .hidden{display:none!important}
+.pager{display:flex;justify-content:center;align-items:center;gap:4px;padding:16px 4px;flex-wrap:wrap}
+.pager button,.pager select{border:1px solid #d0d5dd;border-radius:6px;background:#fff;color:#344054;font-size:12px;cursor:pointer;padding:6px 10px;min-height:32px;transition:all .15s}
+.pager button:hover:not(:disabled){background:#E8EDF8;border-color:#002FA7;color:#002FA7}
+.pager button.active{background:#002FA7;color:#fff;border-color:#002FA7;font-weight:600}
+.pager button:disabled{opacity:.35;cursor:default}
+.pager .page-info{font-size:12px;color:#888;margin:0 4px;white-space:nowrap}
+.pager select{padding:6px 8px;appearance:auto}
 </style>
 </head>
 <body>
@@ -330,10 +337,22 @@ function renderDrugCards(items){
   if(!items.length){document.getElementById('drugList').innerHTML='<div class="welcome"><div class="icon">📭</div><p>未找到,尝试其他关键词</p></div>';return}
   for(var i=0;i<items.length;i++){var d=items[i];h+='<div class="drug-card" onclick="loadDrugDetail(\''+escAttr(d.drug_id)+'\')"><h3>'+esc(d.name)+'</h3><div class="meta">'+(d.category||'')+' · '+(d.source_version||'')+'</div></div>'}
   // 分页控制
-  h+='<div style="display:flex;justify-content:center;gap:12px;padding:16px;align-items:center">';
-  h+='<button class="btn btn-secondary" style="min-height:36px;padding:6px 16px;font-size:12px" onclick="loadDrugList('+(drugPage-1)+')" '+(drugPage<=1?'disabled':'')+'>← 上一页</button>';
-  h+='<span style="font-size:13px;color:var(--sub)">'+drugPage+' / '+drugTotalPages+'</span>';
-  h+='<button class="btn btn-secondary" style="min-height:36px;padding:6px 16px;font-size:12px" onclick="loadDrugList('+(drugPage+1)+')" '+(drugPage>=drugTotalPages?'disabled':'')+'>下一页 →</button>';
+  h+='<div class="pager">';
+  h+='<button onclick="loadDrugList(1)" '+(drugPage<=1?'disabled':'')+'>首页</button>';
+  h+='<button onclick="loadDrugList('+(drugPage-1)+')" '+(drugPage<=1?'disabled':'')+'>‹</button>';
+  var start=Math.max(1,drugPage-2),end=Math.min(drugTotalPages,drugPage+2);
+  for(var p=start;p<=end;p++){
+    h+='<button class="'+(p===drugPage?'active':'')+'" onclick="loadDrugList('+p+')">'+p+'</button>';
+  }
+  h+='<button onclick="loadDrugList('+(drugPage+1)+')" '+(drugPage>=drugTotalPages?'disabled':'')+'>›</button>';
+  h+='<button onclick="loadDrugList('+drugTotalPages+')" '+(drugPage>=drugTotalPages?'disabled':'')+'>末页</button>';
+  h+='<span class="page-info">共 '+drugTotalPages+' 页</span>';
+  h+='<span class="page-info">跳至</span>';
+  h+='<input type="number" min="1" max="'+drugTotalPages+'" value="'+drugPage+'" onkeydown="if(event.key===\'Enter\'){var v=parseInt(this.value);if(v>=1&&v<='+drugTotalPages+')loadDrugList(v)}" style="width:48px;padding:6px 4px;border:1px solid #d0d5dd;border-radius:6px;font-size:12px;text-align:center">';
+  h+='<span class="page-info">页</span>';
+  h+='<select onchange="drugPageSize=parseInt(this.value);loadDrugList(1)">';
+  [10,20,50,100].forEach(function(s){h+='<option value="'+s+'"'+(drugPageSize===s?' selected':'')+'>'+s+' 条/页</option>'});
+  h+='</select>';
   h+='</div>';
   document.getElementById('drugList').innerHTML=h;
 }