优化快速开启tab的方法,防止重复打开同样的tab。

This commit is contained in:
HDM58\hdm58 2023-07-13 11:26:48 +08:00
parent 4f59113699
commit db565e6f6e
2 changed files with 27 additions and 3 deletions

View File

@ -9,7 +9,7 @@
namespace think;
if (empty(file_exists(__DIR__ . '/../vendor/autoload.php'))) {
echo '您还未安装PHP依赖包请输入命令安装composer install安装教程点击<a href="https://blog.gougucms.com/home/book/detail/bid/3/id/8.html" target="_blank">这里</a>。';
echo '您还未获取PHP依赖包请输入命令获取composer install安装教程点击<a href="https://blog.gougucms.com/home/book/detail/bid/3/id/8.html" target="_blank">这里</a>。';
exit;
}
require __DIR__ . '/../vendor/autoload.php';
@ -18,7 +18,7 @@ require __DIR__ . '/../vendor/autoload.php';
define('CMS_VERSION','4.60.28');
// 定义Layui版本号
define('LAYUI_VERSION','2.8.8');
define('LAYUI_VERSION','2.8.10');
// 定义项目目录
define('CMS_ROOT', __DIR__ . '/../');

View File

@ -33,7 +33,31 @@ layui.define(['element'], function (exports) {
},
//从子页面打开新的Tab页面防止id重复使用时间戳作为唯一标识
sonAdd: function (url, title,id) {
this.tabAdd( id, url,title);
if ($(".layui-tab-title li[lay-id]").length <= 0) {
//打开新的tab项
this.tabAdd(id, url, title);
} else {
//否则判断该tab项是否以及存在
var isHas = false;
$.each($(".layui-tab-title li[lay-id]"), function () {
//如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到则说明该tab项已经打开
if ($(this).attr("lay-id") == id) {
isHas = true;
$('[data-frameid="' + id + '"]').attr('src', url);
//最后不管是否新增tab最后都转到要打开的选项页面上
tab.tabChange(id);
}
})
if (isHas == false) {
//标志为false 新增一个tab项
tab.tabAdd(id, url, title);
}
}
try {
layer.close(window.openTips);
} catch (e) {
console.log(e.message);
}
},
//根据传入的id传入到指定的tab项并滚动定位
tabChange: function (id) {