子页面打开tab时,会重复打开

This commit is contained in:
hdm 2023-01-07 16:45:23 +08:00
parent fe1e38522a
commit 6946eb359a
5 changed files with 24 additions and 16 deletions

View File

@ -43,7 +43,7 @@
</a> </a>
</span> </span>
<span class="gg-head-item gg-head-message"> <span class="gg-head-item gg-head-message">
<a href="javascript:;" data-href="/message/index/inbox" data-id="78" data-title="消息中心" class="side-menu-item" title="消息中心"> <a href="javascript:;" data-href="/message/index/inbox" data-id="0100" data-title="消息中心" class="side-menu-item" title="消息中心">
<i class="layui-icon layui-icon-notice"></i> <i class="layui-icon layui-icon-notice"></i>
<!-- 如果有新消息,则显示 --> <!-- 如果有新消息,则显示 -->
<div class="gg-message-num" id="msgNum" style="display: none;"><span>0</span></div> <div class="gg-message-num" id="msgNum" style="display: none;"><span>0</span></div>

View File

@ -1,7 +1,7 @@
<div class="layui-row layui-col-space12"> <div class="layui-row layui-col-space12">
<div class="layui-col-md6"> <div class="layui-col-md6">
<div class="layui-card"> <div class="layui-card">
<div class="layui-card-header"><h3>快捷申请</h3><a href="javascript:;" data-href="/oa/approve/index" data-title="快捷申请" class="tab-a pull-right blue">更多</a></div> <div class="layui-card-header"><h3>快捷申请</h3><a href="javascript:;" data-href="/oa/approve/index" data-id="93" data-title="我发起的" class="tab-a pull-right blue">更多</a></div>
<div class="layui-card-body layui-short-menu p-3"> <div class="layui-card-body layui-short-menu p-3">
<ul class="layui-row layui-col-space12"> <ul class="layui-row layui-col-space12">
<li class="layui-col-xs3"> <li class="layui-col-xs3">
@ -62,37 +62,37 @@
<div class="layui-card-body layui-matter-item p-3"> <div class="layui-card-body layui-matter-item p-3">
<ul class="layui-row layui-col-space12"> <ul class="layui-row layui-col-space12">
<li class="layui-col-xs4"> <li class="layui-col-xs4">
<a href="javascript:;" data-href="/oa/approve/list" class="tab-a" data-title="待审审批"> <a href="javascript:;" data-href="/oa/approve/list" data-id="96" class="tab-a" data-title="我处理的审批">
<p>待审审批</p> <p>待审审批</p>
<p class="pt-3"><cite>{$handle.approve}</cite></p> <p class="pt-3"><cite>{$handle.approve}</cite></p>
</a> </a>
</li> </li>
<li class="layui-col-xs4"> <li class="layui-col-xs4">
<a href="javascript:;" data-href="/finance/expense/list" class="tab-a" data-title="待审报销"> <a href="javascript:;" data-href="/finance/expense/list" data-id="117" class="tab-a" data-title="我处理的报销">
<p>待审报销</p> <p>待审报销</p>
<p class="pt-3"><cite>{$handle.expenses}</cite></p> <p class="pt-3"><cite>{$handle.expenses}</cite></p>
</a> </a>
</li> </li>
<li class="layui-col-xs4"> <li class="layui-col-xs4">
<a href="javascript:;" data-href="/finance/invoice/list" class="tab-a" data-title="待审发票"> <a href="javascript:;" data-href="/finance/invoice/list" data-id="125" class="tab-a" data-title="我处理的发票">
<p>待审发票</p> <p>待审发票</p>
<p class="pt-3"><cite>{$handle.invoice}</cite></p> <p class="pt-3"><cite>{$handle.invoice}</cite></p>
</a> </a>
</li> </li>
<li class="layui-col-xs4"> <li class="layui-col-xs4">
<a href="javascript:;" data-href="/finance/income/index" class="tab-a" data-title="待回款"> <a href="javascript:;" data-href="/finance/income/index" data-id="131" class="tab-a" data-title="到账管理">
<p>待回款</p> <p>待回款</p>
<p class="pt-3"><cite>{$handle.income}</cite></p> <p class="pt-3"><cite>{$handle.income}</cite></p>
</a> </a>
</li> </li>
<li class="layui-col-xs4"> <li class="layui-col-xs4">
<a href="javascript:;" data-href="/contract/index/index" class="tab-a" data-title="待审合同"> <a href="javascript:;" data-href="/contract/index/index" data-id="167" class="tab-a" data-title="合同列表">
<p>待审合同</p> <p>待审合同</p>
<p class="pt-3"><cite>{$handle.contract}</cite></p> <p class="pt-3"><cite>{$handle.contract}</cite></p>
</a> </a>
</li> </li>
<li class="layui-col-xs4"> <li class="layui-col-xs4">
<a href="javascript:;" data-href="/project/task/index" class="tab-a" data-title="待完成任务"> <a href="javascript:;" data-href="/project/task/index" data-id="179" class="tab-a" data-title="任务列表">
<p>待完成任务</p> <p>待完成任务</p>
<p class="pt-3"><cite>{$handle.task}</cite></p> <p class="pt-3"><cite>{$handle.task}</cite></p>
</a> </a>

View File

@ -2,13 +2,13 @@
<div class="layui-row pt-3 px-3 py-2"> <div class="layui-row pt-3 px-3 py-2">
<ul class="layui-col-space12"> <ul class="layui-col-space12">
<li class="layui-col-xs3"> <li class="layui-col-xs3">
<a href="javascript:;" data-href="/home/index/mail_list" class="tab-a" data-title="通讯录"> <a href="javascript:;" data-href="/home/index/mail_list" data-id="0001" class="tab-a" data-title="通讯录">
<i class="iconfont icon-huamingce"></i> <i class="iconfont icon-huamingce"></i>
<cite>通讯录</cite> <cite>通讯录</cite>
</a> </a>
</li> </li>
<li class="layui-col-xs3"> <li class="layui-col-xs3">
<a href="javascript:;" data-href="/oa/plan/calendar" class="tab-a" data-title="日程安排"> <a href="javascript:;" data-href="/oa/plan/calendar" data-id="98" class="tab-a" data-title="日程安排">
<i class="iconfont icon-kaoshijihua"></i> <i class="iconfont icon-kaoshijihua"></i>
<cite>日程安排</cite> <cite>日程安排</cite>
</a> </a>

View File

@ -31,9 +31,11 @@ layui.define(['element'], function (exports) {
$('#GouguAppBody').append('<div class="gg-tab-page" title="'+title+'" id="tabItem' + id + '" data-id="' + id + '"><iframe id="' + id + '" data-frameid="' + id + '" src="' + url + '" frameborder="0" align="left" width="100%" height="100%" scrolling="yes"></iframe></div>'); $('#GouguAppBody').append('<div class="gg-tab-page" title="'+title+'" id="tabItem' + id + '" data-id="' + id + '"><iframe id="' + id + '" data-frameid="' + id + '" src="' + url + '" frameborder="0" align="left" width="100%" height="100%" scrolling="yes"></iframe></div>');
this.tabChange(id); this.tabChange(id);
}, },
//从子页面打开新的Tab页面防止id重复使用时间戳作为唯一标识 //从子页面打开新的Tab页面如果为传入id,防止id重复使用时间戳作为唯一标识
sonAdd: function (url, title) { sonAdd: function (url, title, id) {
let id = Date.now(); if (typeof(id) == "undefined") {
id = Date.now();
}
this.tabAdd( id, url,title); this.tabAdd( id, url,title);
}, },
//根据传入的id传入到指定的tab项并滚动定位 //根据传入的id传入到指定的tab项并滚动定位

View File

@ -240,9 +240,9 @@ layui.define([], function (exports) {
console.log('父页面没引用tool模块'); console.log('父页面没引用tool模块');
} }
}, },
tabAdd:function(url,title){ tabAdd:function(url,title,id){
if(parent.layui.admin){ if(parent.layui.admin){
parent.layui.admin.sonAdd(url,title); parent.layui.admin.sonAdd(url,title,id);
} }
else{ else{
console.log('父页面没引用admin模块'); console.log('父页面没引用admin模块');
@ -281,14 +281,20 @@ layui.define([], function (exports) {
} }
} }
}; };
$('body').on('click', '.tab-a', function () { $('body').on('click', '.tab-a', function () {
let id = $(this).data('id');
let url = $(this).data('href'); let url = $(this).data('href');
let title = $(this).data('title'); let title = $(this).data('title');
if (url && url !== '') { if (url && url !== '') {
tool.tabAdd(url,title); if (typeof(id) == "undefined" || id == '') {
id = Date.now();
}
tool.tabAdd(url,title,id);
} }
return false; return false;
}); });
$('body').on('click', '.side-a', function () { $('body').on('click', '.side-a', function () {
let url = $(this).data('href'); let url = $(this).data('href');
if (url && url !== '') { if (url && url !== '') {