默认进入采购清单页

This commit is contained in:
2026-07-28 17:12:30 +08:00
parent dc93451775
commit 0883566045
5 changed files with 57 additions and 63 deletions

View File

@@ -80,13 +80,13 @@ function renderChatList() {
}
return `
<div class="chat-item" data-room-id="${room.id}">
<div class="avatar" onclick="openChat('${room.id}')">${escapeHtml(room.name.charAt(0))}</div>
<div class="chat-info" onclick="openChat('${room.id}')">
<div class="avatar" onclick="openPurchasePage('${room.id}')">${escapeHtml(room.name.charAt(0))}</div>
<div class="chat-info" onclick="openPurchasePage('${room.id}')">
<div class="chat-name">${escapeHtml(room.name)}</div>
<div class="last-msg">${escapeHtml(lastMsg)}</div>
</div>
<div class="chat-right">
<div class="chat-time" onclick="openChat('${room.id}')">${lastTime}</div>
<div class="chat-time" onclick="openPurchasePage('${room.id}')">${lastTime}</div>
${isAdmin ? `<div class="room-actions">
${whiteListHtml}
<button class="edit-room-btn" onclick="event.stopPropagation(); openManageRoom('${room.id}')" title="编辑群聊">
@@ -98,15 +98,35 @@ function renderChatList() {
}).join('');
}
async function openChat(roomId, autoOpenPurchase = false) {
async function openPurchasePage(roomId) {
Store.currentRoom = roomId;
document.getElementById('list-page').classList.add('hidden');
document.getElementById('chat-page').classList.add('hidden');
document.getElementById('purchase-page').classList.remove('hidden');
document.getElementById('purchase-panel-body').innerHTML = '<p style="text-align:center;color:#888;">加载中...</p>';
loadPurchases();
}
async function openChatFromPurchase() {
if (!Store.currentRoom) return;
openChat(Store.currentRoom);
}
function backToPurchase() {
clearTempBubble();
document.getElementById('chat-page').classList.add('hidden');
document.getElementById('purchase-page').classList.remove('hidden');
loadPurchases();
}
async function openChat(roomId) {
Store.currentRoom = roomId;
clearTempBubble();
document.getElementById('list-page').classList.add('hidden');
document.getElementById('purchase-page').classList.add('hidden');
document.getElementById('chat-page').classList.remove('hidden');
const room = Store.rooms.find(r => r.id === roomId);
document.getElementById('current-chat-name').textContent = room?.name || '';
document.getElementById('purchase-panel-overlay').classList.add('hidden');
if (autoOpenPurchase) setTimeout(() => openPurchasePanel(), 200);
const token = Store.getToken();
const res = await fetch('/api/rooms/' + roomId + '/messages', { headers: { 'Authorization': `Bearer ${token}` } });
const msgs = await res.json();
@@ -117,6 +137,7 @@ async function openChat(roomId, autoOpenPurchase = false) {
function showList() {
clearTempBubble();
document.getElementById('chat-page').classList.add('hidden');
document.getElementById('purchase-page').classList.add('hidden');
document.getElementById('list-page').classList.remove('hidden');
Store.currentRoom = null;
loadRooms();