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

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 app\service\OssService;
// use plugin\admin\app\model\Location; // use plugin\admin\app\model\Location;
use app\service\TranslatorService;
use util\Util; use util\Util;
use support\Request; use support\Request;
use support\Cache; use support\Cache;
@@ -40,25 +41,28 @@ class VehicleController
{ {
$lang = $request->post('lang', 'zh'); $lang = $request->post('lang', 'zh');
// 接收请求参数(Webman自动注入)
$page = $request->post('page', 1); // 默认第1页
$pageSize = $request->post('pageSize', 30); // 默认每页30条
switch ($lang) { switch ($lang) {
case 'zh': 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(); $hz = new Location();
break; break;
case 'en': 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(); $hz = new LocationEn();
break; break;
case 'ru': 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(); $hz = new LocationRu();
break; break;
case 'ar': 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(); $hz = new LocationAr();
break; break;
} }
@@ -116,8 +120,8 @@ class VehicleController
} }
unset($vehicle); unset($vehicle);
// =================================== new ===================================== end // =================================== new ===================================== end
$count = Vehicle::count();
$result = ['list' => $vehicles,'count'=>count($vehicles)]; $result = ['list' => $vehicles,'count'=>$count];
return Util::success($result); return Util::success($result);
} }
@@ -402,15 +402,32 @@ layui.define(['jquery', 'element'], function(exports) {
if (!removeTab.hasClass("layui-this")) { if (!removeTab.hasClass("layui-this")) {
removeTab.remove(); removeTab.remove();
var tabContent = $(".layui-tab[lay-filter='" + elem + "']").find("iframe[id='" + id + "']") var tabContent = $(".layui-tab[lay-filter='" + elem + "']").find("iframe[id='" + id + "']")
.parent(); .parent();
tabContent.remove(); tabContent.remove();
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-data")); // 添加数据验证
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current"); var storedData = sessionStorage.getItem(elem + "-pear-tab-data");
tabData = tabData.filter(function(item) { if (!storedData) {
return item.id != id; console.warn('Tab data not found in sessionStorage');
}) return false;
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData)); }
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; return false;
} }
@@ -425,14 +442,35 @@ layui.define(['jquery', 'element'], function(exports) {
currId = prevNode.attr("lay-id"); currId = prevNode.attr("lay-id");
$("#" + elem + " [id='" + currId + "']").parent().addClass("layui-show"); $("#" + elem + " [id='" + currId + "']").parent().addClass("layui-show");
} }
callback(currId);
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-data")); if (typeof callback === 'function') {
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current"); callback(currId);
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");
sessionStorage.setItem(elem + "-pear-tab-data-current", currId); 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(); removeTab.remove();
// 删除 content // 删除 content