统计本地生活商家代审核的数量

This commit is contained in:
wangxiaowei 2024-07-01 18:05:42 +08:00
parent 6725ff299c
commit cbd99c8696
6 changed files with 175 additions and 106 deletions

@ -28,6 +28,8 @@ use app\common\model\Role;
use app\common\server\ConfigServer;
use app\common\server\JsonServer;
use think\facade\Config;
use app\admin\logic\shop\LocalStoreLogic;
use app\admin\logic\distribution\ApplyLogic;
class Index extends AdminBase
{
@ -47,6 +49,7 @@ class Index extends AdminBase
'view_app_trace' => Config::get('app.app_trace'), // 开启右上角前端示例
'admin_name' => $this->adminUser['name'],//管理员名称
'role_name' => (new Role())->getRoleName($this->adminUser['role_id']), // 角色名称
'unaudited' => self::get_unaudited()
]);
}
@ -76,4 +79,18 @@ class Index extends AdminBase
return JsonServer::success('', StatLogic::shopLists($get));
}
}
// 获取消息通知
public function notify()
{
return JsonServer::success('', self::get_unaudited());
}
private static function get_unaudited()
{
$data['localStoreCount'] = LocalStoreLogic::get_unaudited_data();
// $data['distributionMemberCount'] = ApplyLogic::get_unaudited_data();
$data['distributionMemberCount'] = 0;
return $data;
}
}

@ -20,6 +20,8 @@ class Apply extends AdminBase
if ($this->request->isAjax()) {
$get = $this->request->get();
$lists = ApplyLogic::lists($get);
dump($lists);
die;
return JsonServer::success('获取成功', $lists);
}

@ -139,4 +139,9 @@ class ApplyLogic extends Logic
return false;
}
}
public static function get_unaudited_data()
{
return DistributionMemberApply::where(['status' => 0])->count();
}
}

@ -26,4 +26,10 @@ class LocalStoreLogic extends Logic
{
return LocalStore::where(['lstore_id' => $id])->update(['store_state' => $state]);
}
// 获取未审核数据
public static function get_unaudited_data()
{
return LocalStore::where(['store_state' => 0])->count();
}
}

@ -7,139 +7,174 @@
<link rel="shortcut icon" href="{$storageUrl}{$config.web_favicon}"/>
<link rel="stylesheet" href="__PUBLIC__/static/lib/layui/css/layui.css">
<link rel="stylesheet" href="__PUBLIC__/static/admin/css/app.css">
<link rel="stylesheet" href="__PUBLIC__/static/admin/css/header.css">
<script src="__PUBLIC__/static/lib/layui/layui.js"></script>
<script src="__PUBLIC__/static/admin/js/app.js"></script>
</head>
<body>
<!-- 头部区域 -->
<div class="layui-header">
<ul class="layui-nav layui-layout-left">
<li class="layui-nav-item">
<a class="refresh" href="javascript:" title="刷新">
<i class="layui-icon layui-icon-refresh-3"></i>
</a>
</li>
</ul>
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item layui-hide-xs">
<a class="lock" href="javascript:">
<i class="layui-icon layui-icon-notice" title="通知"></i>
</a>
</li>
<li class="layui-nav-item layui-hide-xs">
<a class="fullscreen" href="javascript:">
<i class="layui-icon layui-icon-screen-full"></i>
</a>
</li>
<li class="layui-nav-item">
<a href="javascript:">
<cite>{$admin_name}({$role_name})</cite>
<!-- 头部区域 -->
<div class="layui-header">
<ul class="layui-nav layui-layout-left">
<li class="layui-nav-item">
<a class="refresh" href="javascript:" title="刷新">
<i class="layui-icon layui-icon-refresh-3"></i>
</a>
</li>
</ul>
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item layui-hide-xs">
<a class="lock" href="javascript:">
<i class="layui-icon layui-icon-notice" title="通知"></i>
{if condition="$unaudited['localStoreCount'] >= 1 or $unaudited['distributionMemberCount'] >= 1"}
<span class="layui-badge-dot header-dot"></span>
{/if}
</a>
<dl class="layui-nav-child layui-anim layui-anim-upbit userinfo">
<dd><a href="javascript:;">您有<span class="localStoreCount">{$unaudited['localStoreCount']}</span>条本地生活商家代审核</a></dd>
<dd><a href="javascript:;">您有<span class="distributionMemberCount">{$unaudited['distributionMemberCount']}</span>条分销推广代审核</a></dd>
</dl>
</li>
<li class="layui-nav-item layui-hide-xs">
<a class="fullscreen" href="javascript:">
<i class="layui-icon layui-icon-screen-full"></i>
</a>
</li>
<li class="layui-nav-item">
<a href="javascript:">
<cite>{$admin_name}({$role_name})</cite>
<span class="layui-nav-more"></span></a>
<dl class="layui-nav-child layui-anim layui-anim-upbit userinfo">
<!-- <dd><a lay-id="u-1" href="javascript:" data-url="pages/member/procurement.html">个人中心<span class="layui-badge-dot"></span></a></dd>-->
<!-- <dd><hr></dd>-->
<dd><a href="{:url('login/logout')}" id="logout">退出登录</a></dd>
<dl class="layui-nav-child layui-anim layui-anim-upbit userinfo">
<!-- <dd><a lay-id="u-1" href="javascript:" data-url="pages/member/procurement.html">个人中心<span class="layui-badge-dot"></span></a></dd>-->
<!-- <dd><hr></dd>-->
<dd><a href="{:url('login/logout')}" id="logout">退出登录</a></dd>
</dl>
</li>
</ul>
</div>
<!-- 菜单区域 -->
<div class="layui-sidebar ">
<div class="layui-logo">
<img style="height:20px;width: 77px" src="{$storageUrl}{$config.backstage_logo}">
</div>
<ul class="layui-side-menu">
{volist name="menu" id="vo"}
<li>
{empty name="vo.sub"}
<a lay-id="{$vo.id}" lay-href="{:url($vo.uri)}" class="active">
<i class="layui-icon {$vo.icon}"></i>
<cite>{$vo.name}</cite>
</a>
{else/}
<a href="javascript:">
<i class="layui-icon {$vo.icon}"></i>
<cite>{$vo.name}</cite>
</a>
<dl class="child-menu">
<dt><strong>{$vo.name}</strong></dt>
{volist name="vo.sub" id="second"}
<dd>
{empty name="second.sub"}
<a lay-id="{$second.id}" lay-href="{:url($second.uri)}">{$second.name}</a>
{else /}
<a class="child-menu-title">
<i class="layui-icon layui-icon-triangle-d"></i>
<cite>{$second.name}</cite>
</a>
<dl>
{volist name="second.sub" id="third"}
<dd><a lay-id="{$third.id}" lay-href="{:url($third.uri)}">{$third.name}</a></dd>
{/volist}
</dl>
{/empty}
</dd>
{/volist}
</dl>
{/empty}
</li>
{/volist}
</ul>
</div>
<!-- 标签区域 -->
<div class="lay-pagetabs" id="LAY_app_tabs">
<div class="layui-icon lay-tabs-control layui-icon-prev" lay-event="leftPage"></div>
<div class="layui-icon lay-tabs-control layui-icon-next" lay-event="rightPage"></div>
<div class="layui-icon lay-tabs-control layui-icon-down">
<ul class="layui-nav lay-tabs-select" lay-filter="lay-pagetabs-nav">
<li class="layui-nav-item" lay-unselect>
<a href="javascript:"><span class="layui-nav-more"></span></a>
<dl class="layui-nav-child layui-anim-fadein11 ">
<dd lay-event="closeThisTabs"><a href="javascript:">关闭当前标签页</a></dd>
<dd lay-event="closeOtherTabs"><a href="javascript:">关闭其它标签页</a></dd>
<dd lay-event="closeAllTabs"><a href="javascript:">关闭全部标签页</a></dd>
</dl>
</li>
</ul>
</div>
<div class="layui-tab" lay-unauto lay-allowclose="true" lay-filter="lay-layout-tabs" id="lay-layout-tabs ul">
<ul class="layui-tab-title" id="LAY_app_tabsheader">
<li lay-id="0" lay-attr="{:url('index/stat')}" class="layui-this">工作台<i
class="layui-icon layui-tab-close">ဆ</i></li>
<!-- 菜单区域 -->
<div class="layui-sidebar ">
<div class="layui-logo">
<img style="height:20px;width: 77px" src="{$storageUrl}{$config.backstage_logo}">
</div>
<ul class="layui-side-menu">
{volist name="menu" id="vo"}
<li>
{empty name="vo.sub"}
<a lay-id="{$vo.id}" lay-href="{:url($vo.uri)}" class="active">
<i class="layui-icon {$vo.icon}"></i>
<cite>{$vo.name}</cite>
</a>
{else/}
<a href="javascript:">
<i class="layui-icon {$vo.icon}"></i>
<cite>{$vo.name}</cite>
</a>
<dl class="child-menu">
<dt><strong>{$vo.name}</strong></dt>
{volist name="vo.sub" id="second"}
<dd>
{empty name="second.sub"}
<a lay-id="{$second.id}" lay-href="{:url($second.uri)}">{$second.name}</a>
{else /}
<a class="child-menu-title">
<i class="layui-icon layui-icon-triangle-d"></i>
<cite>{$second.name}</cite>
</a>
<dl>
{volist name="second.sub" id="third"}
<dd><a lay-id="{$third.id}" lay-href="{:url($third.uri)}">{$third.name}</a></dd>
{/volist}
</dl>
{/empty}
</dd>
{/volist}
</dl>
{/empty}
</li>
{/volist}
</ul>
</div>
</div>
<!-- 标签区域 -->
<div class="lay-pagetabs" id="LAY_app_tabs">
<div class="layui-icon lay-tabs-control layui-icon-prev" lay-event="leftPage"></div>
<div class="layui-icon lay-tabs-control layui-icon-next" lay-event="rightPage"></div>
<div class="layui-icon lay-tabs-control layui-icon-down">
<ul class="layui-nav lay-tabs-select" lay-filter="lay-pagetabs-nav">
<li class="layui-nav-item" lay-unselect>
<a href="javascript:"><span class="layui-nav-more"></span></a>
<dl class="layui-nav-child layui-anim-fadein11 ">
<dd lay-event="closeThisTabs"><a href="javascript:">关闭当前标签页</a></dd>
<dd lay-event="closeOtherTabs"><a href="javascript:">关闭其它标签页</a></dd>
<dd lay-event="closeAllTabs"><a href="javascript:">关闭全部标签页</a></dd>
</dl>
</li>
</ul>
</div>
<div class="layui-tab" lay-unauto lay-allowclose="true" lay-filter="lay-layout-tabs" id="lay-layout-tabs ul">
<ul class="layui-tab-title" id="LAY_app_tabsheader">
<li lay-id="0" lay-attr="{:url('index/stat')}" class="layui-this">工作台<i class="layui-icon layui-tab-close">ဆ</i></li>
</ul>
</div>
</div>
<!-- 主体区域 -->
<div class="layui-body" id="LAY_app_body">
<div lay-id="0" class="lay-tabsbody-item layui-show">
<iframe src="{:url('index/stat')}" class="lay-iframe" name="view_frame"></iframe>
</div>
<!-- 主体区域 -->
<div class="layui-body" id="LAY_app_body">
<div lay-id="0" class="lay-tabsbody-item layui-show">
<iframe src="{:url('index/stat')}" class="lay-iframe" name="view_frame"></iframe>
</div>
</div>
<script src="__PUBLIC__/static/admin/js/jquery.min.js"></script>
<script>
function refreshHighlight(url,id) {
console.log(url);
function refreshHighlight(url, id) {
console.log(url);
$ = layui.jquery;
$(".layui-nav[lay-filter='lay-pagetabs-nav'] a").each(function (ind, val) {
if($(this).attr('href') === url){
if ($(this).attr('href') === url) {
$('.layui-nav dd').removeClass('layui-this');
$(this).parent('dd').addClass('layui-this');
console.log(id);
console.log(id);
}else{
var html = '<li lay-id="'+id+'" lay-attr="'+url+'" class="layui-this">工作台2<i class="layui-icon layui-tab-close">ဆ</i></li>';
} else {
var html = '<li lay-id="' + id + '" lay-attr="' + url + '" class="layui-this">工作台2<i class="layui-icon layui-tab-close">ဆ</i></li>';
$('.lay-layout-tabs ul').append(html);
console.log(html);
console.log(html);
}
})
}
let Common = {
notify_msg() {
$.ajax({
url: "{:url('Index/notify')}",
success(res) {
if (res.data.localStoreCount <= 0 && res.data.distributionMemberCount <= 0) {
$(".header-dot").css('display', 'none')
}
if (res.data.localStoreCount >= 1) {
$(".localStoreCount").html(res.data.localStoreCount)
}
if (res.data.distributionMemberCount >= 1) {
$(".distributionMemberCount").html(res.data.distributionMemberCount)
}
}
})
}
}
window.onload = () => {
setInterval(() => {
Common.notify_msg()
}, 5000)
}
</script>
</body>
</html>

@ -0,0 +1,4 @@
/*隐藏消息通知三角形图标*/
.header-dot + .layui-nav-more{
display: none;
}