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