数据管理页面删除时刷新页面
This commit is contained in:
@@ -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 = '删除';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user