diff --git a/public/static/plugs/lay-module/layuimini/miniTab.js b/public/static/plugs/lay-module/layuimini/miniTab.js index 38dd3e8..03cf06b 100644 --- a/public/static/plugs/lay-module/layuimini/miniTab.js +++ b/public/static/plugs/lay-module/layuimini/miniTab.js @@ -21,6 +21,7 @@ miniTab.listen(options); miniTab.listenRoll(); miniTab.listenSwitch(options); + miniTab.listenClose(options); miniTab.listenHash(options); }, @@ -203,7 +204,7 @@ } } } - + return menu; }, @@ -288,15 +289,13 @@ if (!checkTab) { if (!title) { - title = ua.getMenuTitleByTabId(tabId, tabId) + title = ua.getMenuTitleByTabId(tabId, tabId); } - console.log(prefixTitle); - - if(prefixTitle == 1) { + + if (prefixTitle == 1) { let prefixTabTitle = ua.getMenuTitleByTabId(ua.getCurrentPageId()); - console.log(prefixTabTitle); - - if(prefixTabTitle){ + + if (prefixTabTitle) { title = prefixTabTitle + '-' + title; } } @@ -339,6 +338,7 @@ var closeType = $(this).attr('layuimini-tab-close'); $('.layuimini-tab .layui-tab-title li').each(function () { var tabId = $(this).attr('lay-id'); + var id = $(this).attr('id'); var isCurrent = $(this).hasClass('layui-this'); if (id !== 'layuiminiHomeTabId' && id !== 'layuiminiHomeTabIdMobile') { @@ -411,6 +411,40 @@ }); }, + /** + * 监听tab关闭 + * @param options + */ + listenClose: function (options) { + element.on('tabDelete(' + options.filter + ')', function (data) { + var tabId = data.id; + // 如果tabId有backTagId + if (tabId && tabId.indexOf('backTagId=') !== -1) { + // 提取backTagId的值 + var urlParams = new URLSearchParams(tabId.split('?')[1]); + var backTagId = urlParams.get('backTagId'); + + if (backTagId) { + // 切换到backTagId对应的tab + var checkTab = miniTab.check(backTagId, true); + + if (!checkTab) { + title = ua.getMenuTitleByTabId(backTagId, backTagId); + + miniTab.create({ + tabId: backTagId, + href: backTagId, + title: title, + isIframe: true, + maxTabNum: options.maxTabNum, + }); + } + + element.tabChange('layuiminiTab', backTagId); + } + } + }); + }, /** * 监听tab切换 * @param options