数据管理页面删除时刷新页面

This commit is contained in:
DSQ
2025-11-22 13:05:29 +08:00
parent 7485ba16e6
commit 5b956e1365

View File

@@ -167,6 +167,9 @@ let currentId = '';
let currentWriter = '';
let currentImage = '';
let allDataCache = []; // 缓存所有数据,避免重复请求
let currentSearchQuery = ''; // 记录当前搜索查询
let isFuzzySearch = false; // 记录当前是否为模糊搜索
let isDeleting = false; // 标记是否正在删除
// 图片缩放相关变量
let currentScale = 1;
@@ -186,6 +189,8 @@ async function performSearch(type) {
return;
}
currentSearchQuery = query;
isFuzzySearch = type === 'fuzzy';
showSearchLoading();
try {
@@ -244,6 +249,7 @@ function showSearchMessage(message, type = '') {
// 加载所有数据
async function loadAllData() {
currentSearchQuery = '';
showSearchLoading();
try {
@@ -282,6 +288,7 @@ function displayAllData(data) {
function clearSearch() {
searchQueryInput.value = '';
searchResultDiv.style.display = 'none';
currentSearchQuery = '';
// 如果有缓存数据,显示全部
if (allDataCache.length > 0) {
@@ -488,15 +495,9 @@ async function saveEdit(){
alert('保存成功');
closeModal();
// 重新加载数据以显示更新
if (searchResultDiv.style.display !== 'none') {
if (currentSearchQuery) {
// 如果当前显示的是搜索结果,重新执行搜索
const query = searchQueryInput.value.trim();
if (query) {
const isFuzzy = document.querySelector('.search-result').textContent.includes('模糊');
performSearch(isFuzzy ? 'fuzzy' : 'exact');
} else {
loadAllData();
}
performSearch(isFuzzySearch ? 'fuzzy' : 'exact');
} else {
loadAllData();
}
@@ -506,8 +507,20 @@ async function saveEdit(){
}
async function doDelete(id){
if (isDeleting) {
alert('正在处理删除操作,请稍候...');
return;
}
if(!confirm('确认删除该记录?此操作不可撤销')) return;
isDeleting = true;
const deleteButton = document.querySelector(`button[onclick="doDelete('${id}')"]`);
if (deleteButton) {
deleteButton.disabled = true;
deleteButton.textContent = '删除中...';
}
try {
const response = await fetch(`/elastic/data/${id}/delete/`, {
method:'DELETE',
@@ -519,10 +532,24 @@ async function doDelete(id){
if(data.status!=='success') throw new Error(data.message || '删除失败');
alert('删除成功');
// 立即刷新页面以显示最新数据
location.reload();
// 清空缓存,确保下次加载获取最新数据
allDataCache = [];
// 根据当前显示状态重新加载数据
if (currentSearchQuery) {
// 如果当前显示的是搜索结果,重新执行搜索
performSearch(isFuzzySearch ? 'fuzzy' : 'exact');
} else {
loadAllData();
}
} catch (e) {
alert(e.message||'删除失败');
} finally {
isDeleting = false;
if (deleteButton) {
deleteButton.disabled = false;
deleteButton.textContent = '删除';
}
}
}