前端分页,后端标签关闭修复

This commit is contained in:
2025-05-08 15:53:42 +08:00
parent 3eea6db29d
commit 868c81b595
2 changed files with 63 additions and 21 deletions
+10 -6
View File
@@ -14,6 +14,7 @@ use app\model\LocationAr;
use app\service\OssService;
// use plugin\admin\app\model\Location;
use app\service\TranslatorService;
use util\Util;
use support\Request;
use support\Cache;
@@ -40,25 +41,28 @@ class VehicleController
{
$lang = $request->post('lang', 'zh');
// 接收请求参数(Webman自动注入)
$page = $request->post('page', 1); // 默认第1页
$pageSize = $request->post('pageSize', 30); // 默认每页30条
switch ($lang) {
case 'zh':
$vehicles = Vehicle::with('location')->with('finalLocation')->get();
$vehicles = Vehicle::with('location')->with('finalLocation') ->offset(($page-1)*$pageSize) ->limit($pageSize)->get();
$hz = new Location();
break;
case 'en':
$vehicles = VehicleEn::with('location')->with('finalLocation')->get();
$vehicles = VehicleEn::with('location')->with('finalLocation')->offset(($page-1)*$pageSize) ->limit($pageSize)->get();
$hz = new LocationEn();
break;
case 'ru':
$vehicles = VehicleRu::with('location')->with('finalLocation')->get();
$vehicles = VehicleRu::with('location')->with('finalLocation')->offset(($page-1)*$pageSize) ->limit($pageSize)->get();
$hz = new LocationRu();
break;
case 'ar':
$vehicles = VehicleAr::with('location')->with('finalLocation')->get();
$vehicles = VehicleAr::with('location')->with('finalLocation')->offset(($page-1)*$pageSize) ->limit($pageSize)->get();
$hz = new LocationAr();
break;
}
@@ -116,8 +120,8 @@ class VehicleController
}
unset($vehicle);
// =================================== new ===================================== end
$result = ['list' => $vehicles,'count'=>count($vehicles)];
$count = Vehicle::count();
$result = ['list' => $vehicles,'count'=>$count];
return Util::success($result);
}
@@ -402,15 +402,32 @@ layui.define(['jquery', 'element'], function(exports) {
if (!removeTab.hasClass("layui-this")) {
removeTab.remove();
var tabContent = $(".layui-tab[lay-filter='" + elem + "']").find("iframe[id='" + id + "']")
.parent();
.parent();
tabContent.remove();
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-data"));
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
tabData = tabData.filter(function(item) {
return item.id != id;
})
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
// 添加数据验证
var storedData = sessionStorage.getItem(elem + "-pear-tab-data");
if (!storedData) {
console.warn('Tab data not found in sessionStorage');
return false;
}
try {
tabData = JSON.parse(storedData);
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
if (Array.isArray(tabData)) {
tabData = tabData.filter(function(item) {
return item.id != id;
});
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
} else {
console.warn('Tab data is not an array');
return false;
}
} catch (e) {
console.error('Error parsing tab data:', e);
return false;
}
return false;
}
@@ -425,14 +442,35 @@ layui.define(['jquery', 'element'], function(exports) {
currId = prevNode.attr("lay-id");
$("#" + elem + " [id='" + currId + "']").parent().addClass("layui-show");
}
callback(currId);
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-data"));
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
tabData = tabData.filter(function(item) {
return item.id != id;
})
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
sessionStorage.setItem(elem + "-pear-tab-data-current", currId);
if (typeof callback === 'function') {
callback(currId);
}
// 添加数据验证
var storedData = sessionStorage.getItem(elem + "-pear-tab-data");
if (!storedData) {
console.warn('Tab data not found in sessionStorage');
return false;
}
try {
tabData = JSON.parse(storedData);
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
if (Array.isArray(tabData)) {
tabData = tabData.filter(function(item) {
return item.id != id;
});
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
sessionStorage.setItem(elem + "-pear-tab-data-current", currId);
} else {
console.warn('Tab data is not an array');
return false;
}
} catch (e) {
console.error('Error parsing tab data:', e);
return false;
}
removeTab.remove();
// 删除 content