first commit
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.tree-left{width:200px; float:left; height:calc(100vh - 79px); overflow-y: auto; border:1px solid #eeeeee; border-right:0; background-color:#fbfbfb; padding:12px 12px 12px 5px;}
|
||||
.tree-left::-webkit-scrollbar {width: 0;}
|
||||
.tree-left h3{font-size:16px; height:30px; padding-left:10px; font-weight:800}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<div class="tree-left">
|
||||
<h3>企业通讯录</h3>
|
||||
<div id="depament"></div>
|
||||
</div>
|
||||
<div class="body-table" style="margin-left:200px; overflow:hidden;">
|
||||
<form class="layui-form gg-form-bar border-t border-x" lay-filter="barsearchform">
|
||||
<div class="layui-input-inline" style="width:360px">
|
||||
<input type="text" name="keywords" placeholder="关键字,如:ID号/姓名/登录账号/手机号码/电子邮箱" class="layui-input" autocomplete="off" />
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:150px;">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
|
||||
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
|
||||
</div>
|
||||
</form>
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="thumb">
|
||||
<img src="{{d.thumb}}" width="30" height="30" />
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool,tree = layui.tree,form = layui.form;
|
||||
$.ajax({
|
||||
url: "/api/index/get_department_tree",
|
||||
type:'get',
|
||||
success:function(res){
|
||||
//仅节点左侧图标控制收缩
|
||||
tree.render({
|
||||
elem: '#depament',
|
||||
data: res.trees,
|
||||
onlyIconControl: true, //是否仅允许节点左侧图标控制展开收缩
|
||||
click: function(obj){
|
||||
//layer.msg(JSON.stringify(obj.data));
|
||||
$('#depament').find('.layui-tree-main').removeClass('on');
|
||||
$(obj.elem).find('.layui-tree-main').eq(0).addClass('on');
|
||||
layui.pageTable.reload({
|
||||
where: {did: obj.data.id}
|
||||
,page:{curr:1}
|
||||
});
|
||||
$('[name="keywords"]').val('');
|
||||
layui.form.render('select');
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test',
|
||||
title: '通讯录',
|
||||
url: "/home/index/contacts_book", //数据接口
|
||||
height: 'full-114',
|
||||
cols: [
|
||||
[{
|
||||
field: 'thumb',
|
||||
title: '头像',
|
||||
toolbar: '#thumb',
|
||||
align: 'center',
|
||||
width: 60
|
||||
}, {
|
||||
field: 'name',
|
||||
title: '用户姓名',
|
||||
align: 'center',
|
||||
width: 80
|
||||
},{
|
||||
field: 'mobile',
|
||||
title: '手机号码',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},{
|
||||
field: 'email',
|
||||
title: '电子邮箱'
|
||||
},{
|
||||
field: 'sex',
|
||||
title: '性别',
|
||||
align: 'center',
|
||||
width: 60,
|
||||
templet: function (d) {
|
||||
var html = '未知';
|
||||
if(d.sex == 1){
|
||||
html = '男'
|
||||
}
|
||||
else if(d.sex == 2){
|
||||
html = '女'
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
field: 'department',
|
||||
title: '所在部门',
|
||||
width: 120
|
||||
},{
|
||||
field: 'departments',
|
||||
title: '次要部门',
|
||||
width: 200
|
||||
}, {
|
||||
field: 'position',
|
||||
title: '岗位职称',
|
||||
align: 'center',
|
||||
width: 100
|
||||
}, {
|
||||
field: 'entry_time',
|
||||
title: '入职日期',
|
||||
align: 'center',
|
||||
width: 100
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,74 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
{notempty name="$admin.reg_pwd"}
|
||||
<div style="text-align:center; padding:20px 0; font-size:18px; color:#FF5722">初始化密码才能正常使用系统</div>
|
||||
{/notempty}
|
||||
<h3 class="pb-3">重置密码</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">旧密码<font>*</font></td>
|
||||
<td>
|
||||
<input type="password" lay-verify="required" name="old_pwd" placeholder="请输入旧密码" lay-reqText="请输入旧密码" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray">用户名</td>
|
||||
<td>{$admin.username}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">新密码<font>*</font></td>
|
||||
<td>
|
||||
<input type="password" lay-verify="required" name="pwd" placeholder="请输入新密码" lay-reqText="请输入新密码" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">确认新密码<font>*</font></td>
|
||||
<td>
|
||||
<input type="password" lay-verify="required" name="pwd_confirm" placeholder="请再次输入新密码" lay-reqText="请再次输入新密码" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form;
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
$.ajax({
|
||||
url: "/home/index/edit_password",
|
||||
type: 'post',
|
||||
data: data.field,
|
||||
success: function (e) {
|
||||
if (e.code == 0) {
|
||||
layer.msg('修改密码成功,使用新密码登录');
|
||||
//注销
|
||||
$.ajax({
|
||||
url: "/home/login/login_out.html",
|
||||
success: function (e) {
|
||||
if (e.code == 0) {
|
||||
setTimeout(function () {
|
||||
parent.location.href = "/home/login/index.html"
|
||||
}, 2000)
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,108 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-3">修改个人信息</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">用户名</td>
|
||||
<td>{$admin.username}</td>
|
||||
<td class="layui-td-gray">姓名</td>
|
||||
<td>{$admin.name}</td>
|
||||
<td class="layui-td-gray" rowspan="4">头像</td>
|
||||
<td rowspan="4">
|
||||
<div class="layui-upload">
|
||||
<button type="button" class="layui-btn layui-btn-normal" id="test1">上传头像</button>
|
||||
<div class="layui-upload-list" id="demo1">
|
||||
<img src="{$admin.thumb}" width="100" />
|
||||
<input type="hidden" name="thumb" value="{$admin.thumb}">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">手机号码</td>
|
||||
<td>{$admin.mobile}</td>
|
||||
<td class="layui-td-gray">性别</td>
|
||||
<td>
|
||||
<input type="radio" name="sex" value="1" title="男" {eq name="$admin.sex" value="1"} checked{/eq}>
|
||||
<input type="radio" name="sex" value="2" title="女" {eq name="$admin.sex" value="2"} checked{/eq}>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">所在部门</td>
|
||||
<td>{$admin.department}</td>
|
||||
<td class="layui-td-gray">岗位职称</td>
|
||||
<td>{$admin.position}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">员工类型</td>
|
||||
<td>
|
||||
{eq name="$admin.type" value="3"}<span style="color:#5FB878">实 习 生</span>{/eq}
|
||||
{eq name="$admin.type" value="2"}<span style="color:#01AAED">试用员工</span>{/eq}
|
||||
{eq name="$admin.type" value="1"}<span style="color:#393D49">正式员工</span>{/eq}
|
||||
</td>
|
||||
<td class="layui-td-gray">入职日期</td>
|
||||
<td>
|
||||
{$admin.entry_time | date='Y-m-d'}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">个人简介</td>
|
||||
<td colspan="5">
|
||||
<textarea name="desc" placeholder="请输入个人简介" class="layui-textarea">{$admin.desc|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,upload = layui.upload;
|
||||
//头像上传
|
||||
var uploadInst = upload.render({
|
||||
elem: '#test1',
|
||||
url: "/api/index/upload",
|
||||
done: function (res) {
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
//上传成功
|
||||
$('#demo1 input').attr('value', res.data.filepath);
|
||||
$('#demo1 img').attr('src', res.data.filepath);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
$.ajax({
|
||||
url: "/home/index/edit_personal",
|
||||
type: 'post',
|
||||
data: data.field,
|
||||
success: function (e) {
|
||||
if (e.code == 0) {
|
||||
layer.confirm('保存成功,关闭本页面吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
parent.layui.tool.tabClose();
|
||||
layer.close(index);
|
||||
});
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,267 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<link rel="stylesheet" href="{__GOUGU__}/gougu/css/layout.css" media="all">
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="layui-layout-body">
|
||||
<div id="GouguApp">
|
||||
<div class="layui-layout gg-layout layout-menu-{$system.menu_mode|default='classical'}">
|
||||
<div class="layui-header">
|
||||
<!-- 头部区域 -->
|
||||
<div class="layui-layout-left">
|
||||
<span class="gg-head-item">
|
||||
<a href="javascript:;" gg-event="shrink" title="侧边伸缩"><i class="layui-icon layui-icon-shrink-right"></i></a>
|
||||
</span>
|
||||
<span class="gg-head-item gg-head-cache">
|
||||
<a href="javascript:;" gg-event="cache" data-href="/api/index/cache_clear" title="清空缓存"><i class="layui-icon layui-icon-fonts-clear"></i></a>
|
||||
</span>
|
||||
<span class="gg-head-item gg-head-home">
|
||||
<a href="https://www.gougucms.com/home/pages/detail/s/gouguoa.html" target="_blank" title="前台首页"><i class="layui-icon layui-icon-website"></i></a>
|
||||
</span>
|
||||
<span class="gg-head-item gg-head-home">
|
||||
<a class="tab-a" data-href="/crud/crud/index" data-title="简单CRUD" title="简单CRUD"><i class="layui-icon layui-icon-template"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="layui-layout-right">
|
||||
<span class="gg-head-item gg-head-refresh">
|
||||
<a href="javascript:;" class="refreshThis" gg-event="refresh" title="刷新页面">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
</a>
|
||||
</span>
|
||||
<span class="gg-head-item gg-head-screen" title="切换全屏">
|
||||
<a href="javascript:;" gg-event="screen" data-screen="full">
|
||||
<i class="fullScreen layui-icon layui-icon-screen-full"></i>
|
||||
</a>
|
||||
</span>
|
||||
<span class="gg-head-item gg-head-set">
|
||||
<a href="javascript:;" id="theme" title="切换主题">
|
||||
<i class="layui-icon layui-icon-set"></i>
|
||||
</a>
|
||||
</span>
|
||||
<span class="gg-head-item gg-head-set">
|
||||
<a href="/home/login/lock.html" title="锁屏">
|
||||
<i class="iconfont icon-suozhu" style="font-size:21px; font-weight:800"></i>
|
||||
</a>
|
||||
</span>
|
||||
<span class="gg-head-item gg-head-message">
|
||||
<a href="javascript:;" data-href="/home/message/inbox" data-id="1000" data-title="消息中心" class="tab-a" title="消息中心">
|
||||
<i class="layui-icon layui-icon-notice"></i>
|
||||
<!-- 如果有新消息,则显示 -->
|
||||
<div class="gg-message-num" id="msgNum" style="display: none;"><span>0</span></div>
|
||||
</a>
|
||||
</span>
|
||||
<span class="gg-head-item gg-head-avatar">
|
||||
<ul class="layui-nav">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;">
|
||||
<img src="{$login_admin.thumb}" onerror="javascript:this.src='{__IMG__}/nonepic360x360.jpg';this.onerror=null;">
|
||||
<cite>{$login_admin.nickname}</cite>
|
||||
</a>
|
||||
<dl class="layui-nav-child" style="text-align: center; cursor: pointer;">
|
||||
<dd><a data-href="/home/index/edit_personal" data-id="1001" data-title="基本资料" class="tab-a">基本资料</a></dd>
|
||||
<dd><a data-href="/home/index/edit_password" data-id="1002" data-title="修改密码" class="tab-a">修改密码</a></dd>
|
||||
<hr>
|
||||
<dd gg-event="logout"><a>退出</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 侧边菜单 -->
|
||||
{empty name="$system.menu_mode"}
|
||||
{include file="/index/menu_classical" /}
|
||||
{else/}
|
||||
{if ($system.menu_mode == 'expand') }
|
||||
{include file="/index/menu_expand" /}
|
||||
{else/}
|
||||
{include file="/index/menu_classical" /}
|
||||
{/if}
|
||||
{/empty}
|
||||
<!-- 页面标签 -->
|
||||
<div id="pageTabs" class="page-tabs">
|
||||
<div class="layui-icon gg-tabs-control layui-icon-prev" gg-event="tabRollLeft"></div>
|
||||
<div class="layui-icon gg-tabs-control layui-icon-next" gg-event="tabRollRight"></div>
|
||||
<div class="layui-icon gg-tabs-control layui-icon-down">
|
||||
<ul class="layui-nav gg-tabs-select">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;"></a>
|
||||
<dl class="layui-nav-child layui-anim-fadein">
|
||||
<dd gg-event="closeThisTabs"><a href="javascript:;">关闭当前</a></dd>
|
||||
<dd gg-event="closeOtherTabs"><a href="javascript:;">关闭其它</a></dd>
|
||||
<dd gg-event="closeAllTabs"><a href="javascript:;">关闭全部</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="layui-tab gg-admin-tab" lay-unauto lay-allowClose="true" lay-filter="gg-admin-tab">
|
||||
<ul class="layui-tab-title" id="pageTabUl">
|
||||
<li lay-id="0" lay-attr="view/home/index.html" class="layui-this"><i class="iconfont icon-xueshuguanli"></i></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 主体内容 -->
|
||||
<div class="layui-body" id="GouguAppBody">
|
||||
<div class="gg-tab-page layui-show" id="tabItem0" data-id="0">
|
||||
<iframe id="0" data-frameid="0" title="勾股OA" name="myiframe" src="{:url('/home/index/main')}" frameborder="0" data-timestamp="0" align="left" width="100%" height="100%" scrolling="yes"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 辅助元素,用于移动设备下遮罩 -->
|
||||
<div class="gg-body-shade" gg-event="shade"></div>
|
||||
<!-- 新消息通知 -->
|
||||
<div class="notification" style="display:none;">
|
||||
<audio id="msgSound"><source src="{__STATIC__}/home/file/msg.mp3" type="audio/mpeg"></audio>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /主体 -->
|
||||
{/block}
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const msg_sound = {$system.msg_sound|default=1};
|
||||
const watermark = {$system.watermark|default=1};
|
||||
const watermarkTxt = '{$admin.name|default="勾股OA"} {:substr($admin.mobile, -4)}';
|
||||
const moduleInit = ['tool','admin'];
|
||||
function gouguInit() {
|
||||
let admin = layui.admin;
|
||||
let tabs = admin.getCookie('gougutab');
|
||||
if(tabs && tabs!=''){
|
||||
let tab_parse = JSON.parse(tabs);
|
||||
let tab_id = tab_parse.tab_id,tab_array = tab_parse.tab_array;
|
||||
if(tab_array.length>0){
|
||||
for(let a=0; a<tab_array.length;a++){
|
||||
admin.tabTem(tab_array[a].id, tab_array[a].url,tab_array[a].title);
|
||||
}
|
||||
if(tab_id>0){
|
||||
admin.tabChange(tab_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
admin.loading();
|
||||
menuInit();
|
||||
if(watermark==1){
|
||||
createWatermark();
|
||||
}
|
||||
$('#GouguApp').on("click",'[gg-event="logout"]',function () {
|
||||
layer.confirm('确认注销登录吗?', { icon: 7, title: '警告' }, function (index) {
|
||||
//注销
|
||||
$.ajax({
|
||||
url: "/home/login/login_out",
|
||||
success: function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
setTimeout(function () {
|
||||
location.href = "{:url('home/login/index')}"
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
});
|
||||
layui.dropdown.render({
|
||||
elem: '#theme',
|
||||
trigger: 'mousedown',
|
||||
align: 'center',
|
||||
data: [{
|
||||
title: '经典黑',
|
||||
theme: 'black'
|
||||
},{
|
||||
title: '简约白',
|
||||
theme: 'white'
|
||||
},{
|
||||
title: '海军蓝',
|
||||
theme: 'blue'
|
||||
}],
|
||||
click: function(data, othis){
|
||||
$.ajax({
|
||||
url: "/home/index/set_theme",
|
||||
data:{'theme':data.theme},
|
||||
success: function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
setTimeout(function () {
|
||||
parent.location.reload();
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
//轮循获取消息
|
||||
let msg_num = 0,msg_bool=false;
|
||||
const msgSound = document.getElementById("msgSound");
|
||||
$(document).ready(function(){
|
||||
$(document).one('click',function(){
|
||||
msg_bool = true;
|
||||
//console.log("页面被点击了");
|
||||
});
|
||||
});
|
||||
|
||||
$("#GouguAppBody").find('.gg-tab-page.layui-show iframe').on("load", function() {
|
||||
var iframeDocument = $(this).contents();
|
||||
iframeDocument.one('click',function(){
|
||||
msg_bool = true;
|
||||
//console.log("子页面被点击了");
|
||||
});
|
||||
});
|
||||
|
||||
var getStatus = setInterval(function () {
|
||||
$.ajax({
|
||||
url: "/api/index/get_msg",
|
||||
type:'post',
|
||||
success:function(e){
|
||||
if(e.code==0 && e.data!==''){
|
||||
if(e.data>0){
|
||||
$('#msgNum').show().find('span').html(e.data);
|
||||
if(e.data!=msg_num && msg_bool == true && msg_sound==1){
|
||||
msgSound.play();
|
||||
msg_num = e.data;
|
||||
}
|
||||
}
|
||||
else{
|
||||
$('#msgNum').hide().find('span').html(0);
|
||||
}
|
||||
}else{
|
||||
layer.closeAll();
|
||||
}
|
||||
}
|
||||
})
|
||||
}, 10000);
|
||||
}
|
||||
|
||||
function createWatermark(){
|
||||
var canvas = document.createElement('canvas');
|
||||
canvas.width = 300;
|
||||
canvas.height = 200;
|
||||
var ctx = canvas.getContext('2d');
|
||||
ctx.font = '14px Arial';
|
||||
ctx.fillStyle = '#dddddd';
|
||||
ctx.textAlign = 'left';
|
||||
ctx.textBaseline = 'top';
|
||||
ctx.rotate(15 * Math.PI / 180);
|
||||
ctx.fillText(watermarkTxt, 20, 50);
|
||||
ctx.fillText(watermarkTxt, 180, 120);
|
||||
var dataURL = canvas.toDataURL('image/png');
|
||||
let node = document.createElement("div");
|
||||
node.style.pointerEvents = "none";
|
||||
node.style.position = "fixed";
|
||||
node.style.width = "100%";
|
||||
node.style.height = "100%";
|
||||
node.style.top = "0";
|
||||
node.style.left = "0";
|
||||
node.style.opacity = "0.36";
|
||||
node.style.zIndex = "998";
|
||||
node.style.background = 'url("' + dataURL + '") 0 0 repeat';
|
||||
// 将创建的元素插入body中,作为body的子元素
|
||||
document.body.appendChild(node);
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,37 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">员工动态<a data-title="员工动态" data-href="/home/index/log_list" class="pull-right tab-a" style="font-size:12px; margin-top:3px; float:right;">更多</a></div>
|
||||
<div class="layui-card-body">
|
||||
<ul class="layui-timeline" id="logs"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
//动态
|
||||
function layoutAction() {
|
||||
$.ajax({
|
||||
url: "/home/index/log_list",
|
||||
type: 'get',
|
||||
data: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
success: function (e) {
|
||||
if (e.code == 0) {
|
||||
var html = '';
|
||||
$.each(e.data, function (key, value) {
|
||||
html += '<li class="layui-timeline-item">\
|
||||
<i class="layui-icon layui-timeline-axis"></i>\
|
||||
<div class="layui-timeline-content layui-text">\
|
||||
<div class="layui-timeline-title"><span title="'+ value.id + '">' + value.times + '</span>,' + value.content + '</div>\
|
||||
</div>\
|
||||
</li>';
|
||||
});
|
||||
$('#logs').html(html);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,35 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">办公审批<a href="javascript:;" data-href="/home/approve/index" class="side-a pull-right" style="font-size:12px; margin-top:3px; float:right;">去申请</a></div>
|
||||
<div class="layui-card-body layui-short-menu p-3">
|
||||
<ul class="layui-row layui-col-space12">
|
||||
<li class="layui-col-xs3">
|
||||
<a href="javascript:;" data-href="/home/approve/index" class="side-a">
|
||||
<i class="iconfont icon-kechengziyuanguanli"></i>
|
||||
<cite>审批申请</cite>
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-col-xs3">
|
||||
<a href="javascript:;" data-href="/home/approve/mylist" class="side-a">
|
||||
<i class="iconfont icon-jiaoshiguanli"></i>
|
||||
<cite>我申请的</cite>
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-col-xs3">
|
||||
<a href="javascript:;" data-href="/home/approve/checklist" class="side-a">
|
||||
<i class="iconfont icon-tuiguangguanli"></i>
|
||||
<cite>我处理的</cite>
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-col-xs3">
|
||||
<a href="javascript:;" data-href="/home/approve/copylist" class="side-a">
|
||||
<i class="iconfont icon-xueshengchengji"></i>
|
||||
<cite>抄送给我的</cite>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,122 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div id="chartView" style="width: 100%;height:300px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var chartView;
|
||||
function layoutChartView() {
|
||||
chartView = echarts.init(document.getElementById('chartView'));
|
||||
$.ajax({
|
||||
url: "/home/api/get_last_data",
|
||||
type: 'get',
|
||||
data: {},
|
||||
success: function (e) {
|
||||
if (e.code == 0) {
|
||||
var data_first = e.data.data_first;
|
||||
var data_second = e.data.data_second;
|
||||
var myDate = new Date();
|
||||
var nowHour = myDate.getHours(); //获取当前小时数(0-23)
|
||||
var xData = [];
|
||||
var yData1 = [];
|
||||
var yData2 = [];
|
||||
$.each(data_first, function (key, value) {
|
||||
if (key <= nowHour) {
|
||||
yData1.push(value);
|
||||
}
|
||||
});
|
||||
$.each(data_second, function (key, value) {
|
||||
xData.push(setHour(key));
|
||||
yData2.push(value);
|
||||
});
|
||||
var ops = {
|
||||
title: {
|
||||
top: '12px',
|
||||
text: '今日与昨日员工活跃度',
|
||||
left: '6px',
|
||||
textStyle: {
|
||||
fontSize: '18',
|
||||
color: '#333',
|
||||
}
|
||||
},
|
||||
color: ["#1AAD19", "#1890FF"],
|
||||
grid: {
|
||||
left: '16px',
|
||||
right: '30px',
|
||||
bottom: '12px',
|
||||
top: '60px',
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
},
|
||||
legend: {
|
||||
data: ["今日", "昨日"],
|
||||
top: '16px',
|
||||
},
|
||||
xAxis: [{
|
||||
type: "category",
|
||||
boundaryGap: !1,
|
||||
data: xData,
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#999999',
|
||||
width: 1,
|
||||
}
|
||||
},
|
||||
}],
|
||||
yAxis: [{
|
||||
type: "value",
|
||||
axisLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: '#999999',
|
||||
width: 1,
|
||||
}
|
||||
},
|
||||
}],
|
||||
series: [{
|
||||
name: "今日",
|
||||
type: "line",
|
||||
smooth: !0,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
areaStyle: {
|
||||
type: "default",
|
||||
opacity: 0.2
|
||||
}
|
||||
}
|
||||
},
|
||||
data: yData1
|
||||
}, {
|
||||
name: "昨日",
|
||||
type: "line",
|
||||
smooth: !0,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
areaStyle: {
|
||||
type: "default",
|
||||
opacity: 0.2
|
||||
}
|
||||
}
|
||||
},
|
||||
data: yData2
|
||||
}]
|
||||
}
|
||||
chartView.setOption(ops);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,86 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div id="chartYear" style="width: 100%;height:240px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var myChart;
|
||||
function layoutChartYear() {
|
||||
myChart = echarts.init(document.getElementById('chartYear'));
|
||||
$.ajax({
|
||||
url: "/home/api/get_view_data",
|
||||
type: 'get',
|
||||
data: {},
|
||||
success: function (e) {
|
||||
if (e.code == 0) {
|
||||
let archiveCalendar= e.data.data_three;
|
||||
is_log=1;
|
||||
//console.log(archiveCalendar);
|
||||
let option = {
|
||||
title: {
|
||||
top: '12px',
|
||||
text: '近一年员工活跃度',
|
||||
left: '8px',
|
||||
textStyle: {
|
||||
fontSize: '18',
|
||||
color: '#333',
|
||||
}
|
||||
},
|
||||
tooltip: {
|
||||
padding: 6,
|
||||
formatter: function (obj) {
|
||||
var value = obj.value;
|
||||
return '<div style="font-size: 12px;">' + value[0] + '员工活跃度:' + value[1] + '</div>';
|
||||
}
|
||||
},
|
||||
visualMap: {
|
||||
min: 0,
|
||||
max: 300,
|
||||
show: false,
|
||||
inRange: {
|
||||
color: ['#fafafa', '#1AAD19']
|
||||
}
|
||||
},
|
||||
calendar: {
|
||||
top: 75,
|
||||
left: 52,
|
||||
right: 20,
|
||||
range: getRange(),
|
||||
cellSize: ['auto', 21],
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#aaa',
|
||||
type: 'dashed'
|
||||
}
|
||||
},
|
||||
itemStyle: {
|
||||
borderWidth: 0.5
|
||||
},
|
||||
yearLabel: { show: false },
|
||||
monthLabel: {
|
||||
nameMap: 'cn',
|
||||
fontSize: 12
|
||||
},
|
||||
dayLabel: {
|
||||
show: true,
|
||||
formatter: '{start} 1st',
|
||||
fontWeight: 'lighter',
|
||||
nameMap: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
|
||||
fontSize: 12
|
||||
}
|
||||
},
|
||||
series: [{
|
||||
type: 'heatmap',
|
||||
coordinateSystem: 'calendar',
|
||||
calendarIndex: 0,
|
||||
data: getDay(archiveCalendar)
|
||||
}]
|
||||
};
|
||||
myChart.setOption(option);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,19 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">待办事项</div>
|
||||
<div class="layui-card-body layui-matter-item p-3">
|
||||
<ul class="layui-row layui-col-space12">
|
||||
{volist name="$handle" id="vo"}
|
||||
<li class="layui-col-xs3">
|
||||
<a href="javascript:;" data-href="{$vo.url}" data-id="{$vo.id}" class="tab-a" data-title="{$vo.name}" style="background-color:#F8FAFF">
|
||||
<p>{$vo.name}</p>
|
||||
<p class="pt-3"><cite class="blue">{$vo.num}</cite></p>
|
||||
</a>
|
||||
</li>
|
||||
{/volist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,16 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card panel-num">
|
||||
<table>
|
||||
<tr>
|
||||
{volist name="$total" id="vo"}
|
||||
<td>
|
||||
<div class="num-title">{$vo.name}</div>
|
||||
<div class="blue">{$vo.num}</div>
|
||||
</td>
|
||||
{/volist}
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,39 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">待办事项</div>
|
||||
<div class="layui-card-body layui-matter-item p-3">
|
||||
<ul class="layui-row layui-col-space12">
|
||||
{volist name="$handle" id="vo"}
|
||||
<li class="layui-col-xs3">
|
||||
<a href="javascript:;" data-href="{$vo.url}" data-id="{$vo.id}" class="tab-a" data-title="{$vo.name}" style="background-color:#F8FAFF">
|
||||
<p>{$vo.name}</p>
|
||||
<p class="pt-3"><cite class="blue">{$vo.num}</cite></p>
|
||||
</a>
|
||||
</li>
|
||||
{/volist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">紧急事项</div>
|
||||
<div class="layui-card-body layui-matter-item p-3">
|
||||
<ul class="layui-row layui-col-space12">
|
||||
{volist name="$todue" id="vo"}
|
||||
<li class="layui-col-xs3">
|
||||
<a href="javascript:;" data-href="{$vo.url}" data-id="{$vo.id}" class="tab-a" data-title="{$vo.name}" style="background-color:#FFF9F8">
|
||||
<p>{$vo.name}</p>
|
||||
<p class="pt-3"><cite class="red">{$vo.num}</cite></p>
|
||||
</a>
|
||||
</li>
|
||||
{/volist}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,72 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card layui-right-bar" style="height:99px;">
|
||||
<ul class="p-3">
|
||||
<li class="layui-col-xs3" style="border-right:1px solid #eeeeee;">
|
||||
<a href="javascript:;" data-href="/home/index/contacts_book" data-id="2000" class="tab-a" data-title="通讯录">
|
||||
<i class="iconfont icon-huamingce"></i>
|
||||
<cite>通讯录</cite>
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-col-xs3" style="border-right:1px solid #eeeeee;">
|
||||
<a href="javascript:;" data-href="/oa/plan/calendar" data-id="100" class="tab-a" data-title="日程安排">
|
||||
<i class="iconfont icon-kaoshijihua"></i>
|
||||
<cite>日程安排</cite>
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-col-xs3" style="border-right:1px solid #eeeeee;">
|
||||
<a href="javascript:;" class="report-add">
|
||||
<i class="iconfont icon-rizhiguanli"></i>
|
||||
<cite>+工作汇报</cite>
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-col-xs3">
|
||||
<a href="javascript:;" class="work-add">
|
||||
<i class="iconfont icon-renwujincheng"></i>
|
||||
<cite>+工作记录</cite>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
function layoutFastentry(tool,work,table){
|
||||
$('.work-add').on('click',function(){
|
||||
work.add(0,{'id':0});
|
||||
})
|
||||
$('.report-add').on('click',function(){
|
||||
var type=[{'id':1,'title':'日报'},{'id':2,'title':'周报'},{'id':3,'title':'月报'}];
|
||||
var tablereport;
|
||||
layer.open({
|
||||
title:'选择汇报类型',
|
||||
type:1,
|
||||
area:['360px','300px'],
|
||||
content:'<div style="width:325px; padding:15px 15px 0"><div id="selectType"></div></div>',
|
||||
success:function(){
|
||||
tablereport=table.render({
|
||||
elem: '#selectType',
|
||||
cols: [[ //标题栏
|
||||
{type:'radio',title: '选择'},
|
||||
{field: 'title', title: '汇报类型'}
|
||||
]],
|
||||
data: type
|
||||
});
|
||||
},
|
||||
btn:['确定'],
|
||||
yes: function(idx){
|
||||
var checkStatus = table.checkStatus(tablereport.config.id);
|
||||
var data = checkStatus.data;
|
||||
if(data.length>0){
|
||||
tool.side('/oa/work/add?types='+data[0].id);
|
||||
layer.close(idx);
|
||||
}
|
||||
else{
|
||||
layer.msg('请选择汇报类型');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,37 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">办公工具</div>
|
||||
<div class="layui-card-body">
|
||||
<div id="website" class="website"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
//办公工具
|
||||
function layoutLinks() {
|
||||
$.ajax({
|
||||
url: "/home/index/get_links",
|
||||
type: 'post',
|
||||
data: {
|
||||
page:1,
|
||||
limit: 100
|
||||
},
|
||||
success: function(e) {
|
||||
if (e.code == 0) {
|
||||
var html = '';
|
||||
$.each(e.data, function(key, value) {
|
||||
if(value.target==1){
|
||||
html += '<a class="layui-btn layui-btn-primary layui-btn-sm layui-border" href="'+value.url+'" target="_blank">'+value.title+'</a>';
|
||||
}
|
||||
else{
|
||||
html += '<a class="layui-btn layui-btn-primary layui-btn-sm layui-border tab-a" data-href="'+value.url+'" data-id="99999'+value.id+'" data-title="'+value.title+'" href="javascript:;">'+value.title+'</a>';
|
||||
}
|
||||
});
|
||||
$('#website').html(html);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,25 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">公告列表</div>
|
||||
<div style="padding: 12px;">
|
||||
<table id="Note" lay-filter="Note" class="layui-hide" style="margin-top:0"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
//公告
|
||||
function layoutNote(table){
|
||||
table.render({
|
||||
elem: '#Note'
|
||||
, url: "/home/api/get_note_list" //数据接口
|
||||
, page: false //开启分页
|
||||
, cols: [[ //表头
|
||||
{ field: 'cate_title', title: '公告分类', align: 'center','width': 90},
|
||||
{ field: 'title', title: '公告标题',templet: '<div><a data-href="/oa/note/view/id/{{d.id}}.html" class="side-a">{{d.title}}</a></div>'},
|
||||
{ field: 'create_time', title: '发布时间', align: 'center','width': 150}
|
||||
]]
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,33 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">项目列表</div>
|
||||
<div style="padding: 12px;">
|
||||
<table id="Project" lay-filter="Project" class="layui-hide" style="margin-top:0"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
//项目
|
||||
function layoutProject(table){
|
||||
table.render({
|
||||
elem: '#Project'
|
||||
, url: "/project/api/get_project?limit=10" //数据接口
|
||||
, page: false //开启分页
|
||||
, cols: [[ //表头
|
||||
{field: 'id', title: '项目编号', align: 'center','width': 90, templet: function (d) {
|
||||
return 'P' + d.id;
|
||||
}}
|
||||
,{ field: 'status', title: '项目状态', align: 'center', width: 90, templet: function (d) {
|
||||
var html = '<span class="check-status-color-' + d.status + '">『' + d.status_name + '』</span>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
,{field: 'name', title: '项目名称',minWidth:240,templet: '<div><a data-href="/project/index/view/id/{{d.id}}.html" class="side-a">{{d.name}}</a></div>'}
|
||||
,{field:'director_name',title: '负责人',width:80,align:'center'}
|
||||
,{ field:'range_time', title: '项目计划周期', align: 'center', width: 180}
|
||||
]]
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,62 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">最活跃员工<span style="color:#999; font-size:14px; font-weight:400; margin-left:5px">最近30天前十的活跃度</span></div>
|
||||
<div class="layui-card-body">
|
||||
<div id="logChart" style="width: 100%; height:268px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
//动态
|
||||
var logChart;
|
||||
function layoutRaking() {
|
||||
logChart = echarts.init(document.getElementById('logChart'));
|
||||
$.ajax({
|
||||
url: "/home/api/get_view_log",
|
||||
type: 'get',
|
||||
data: {},
|
||||
success: function (e) {
|
||||
if (e.code == 0) {
|
||||
var data_logs = e.data.data_logs;
|
||||
var logItem = [];
|
||||
$.each(data_logs, function (key, value) {
|
||||
let item = {
|
||||
value: value.count,
|
||||
name: value.name
|
||||
};
|
||||
logItem.push(item);
|
||||
});
|
||||
let optC = {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{a} <br/>{b} :{d}%'
|
||||
},
|
||||
legend: {
|
||||
top: '1%',
|
||||
left: 'center'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '活跃度',
|
||||
type: 'pie',
|
||||
radius: '50%',
|
||||
center: ['50%', '60%'],
|
||||
data: logItem,
|
||||
emphasis: {
|
||||
itemStyle: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
logChart.setOption(optC);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,68 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">系统信息</div>
|
||||
<div class="layui-card-body">
|
||||
<table class="layui-table" lay-skin="" lay-size="sm">
|
||||
{if condition="($install == true)"}
|
||||
<tr>
|
||||
<td colspan="4" style="color: #E94335; background-color:#f8f8f8">提醒:发现app目录下的install文件夹没删除,为了系统的安全,请手动去删除。</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr>
|
||||
<td class="info-td">服务器系统</td>
|
||||
<td>{:get_system_info('os')}</td>
|
||||
<td class="info-td">PHP版本</td>
|
||||
<td>{:get_system_info('php')}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="info-td">上传附件限制</td>
|
||||
<td>{:get_system_config('system','upload_max_filesize')}M / {:get_system_info('upload_max_filesize')}</td>
|
||||
<td class="info-td">执行时间限制</td>
|
||||
<td>{:get_system_info('max_execution_time')}</td>
|
||||
</tr>
|
||||
{eq name=":get_system_config('system','qrcode')" value="2"}
|
||||
<tr>
|
||||
<td class="info-td">勾股OA</td>
|
||||
<td colspan="3">{:CMS_VERSION}<a class="layui-badge layui-bg-blue" style="margin-left:8px"
|
||||
href="https://blog.gougucms.com/home/book/detail/bid/3.html" target="_blank">勾股OA文档</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="info-td">ThinkPHP版本</td>
|
||||
<td colspan="3">{$TP_VERSION}<a class="layui-badge layui-bg-blue" style="margin-left:8px" href="https://doc.thinkphp.cn/v8_0/preface.html" target="_blank">TP8文档</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="info-td">Layui版本</td>
|
||||
<td colspan="3">{:LAYUI_VERSION}<a class="layui-badge layui-bg-blue" style="margin-left:8px" href="https://layui.dev/docs/2/" target="_blank">Layui文档</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="info-td">合作联系</td>
|
||||
<td colspan="3"><i class="iconfont icon-weixin green"></i>微信号:hdm588,业务合作、功能定制请备注</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="info-td">QQ交流群</td>
|
||||
<td colspan="3">搜Q群:24641076(满),46924914(满),295256660<br>或点击 <a href="http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=vb-Jdu0e-7iAAxbqGczDg1xFjxbdBsip&authKey=lwlNHAZiUOK2Rua5B14KhfwoYcvpQtHnlWMAJAbQRhfg3YQOUVIFEmfxpbhcCQw%2F&noverify=0&group_code=295256660" target="_blank" rel="nofollow"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="gougucms交流群" title="点击链接加入群聊【勾股开源交流群】" style="vertical-align:middle"></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="info-td">同系列开源软件</td>
|
||||
<td colspan="3"><a class="layui-badge layui-bg-blue" style="margin-right:8px" href="https://gitee.com/gouguopen/gougucms" target="_blank">勾股CMS</a><a class="layui-badge layui-bg-blue" style="margin-right:8px" href="https://gitee.com/gouguopen/blog" target="_blank">勾股BLOG</a><a class="layui-badge layui-bg-blue" href="https://gitee.com/gouguopen/dev" target="_blank" style="margin-right:8px">勾股DEV</a><a class="layui-badge layui-bg-blue" href="https://gitee.com/gouguopen/guoguadmin" target="_blank">勾股ADMIN</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" style="color:#E94335; font-size:14px"><strong>腾讯云服务器,通过我们的代理购买低至 1 折,点击图片了解详情</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<a href="https://curl.qcloud.com/h3ibq5lX" target="_blank"><img src="https://blog.gougucms.com/storage/image/480x300.jpg" style="width:100%; max-width:100%; border-radius:6px; cursor:pointer;" align=center /></a>
|
||||
</td>
|
||||
</tr>
|
||||
{/eq}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
function layoutSystem(){
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,42 @@
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-title">任务列表</div>
|
||||
<div style="padding: 12px;">
|
||||
<table id="Task" lay-filter="Task" class="layui-hide" style="margin-top:0"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
//任务
|
||||
function layoutTask(table){
|
||||
table.render({
|
||||
elem: '#Task'
|
||||
, url: "/project/api/get_task?limit=10" //数据接口
|
||||
, page: false //开启分页
|
||||
, cols: [[ //表头
|
||||
{field: 'id', title: '任务编号', width: 80, align: 'center', fixed: 'left', templet: function (d) {
|
||||
return 'T' + d.id;
|
||||
}}
|
||||
,{ field: 'status', title: '任务状态', align: 'center', width: 90, templet: function (d) {
|
||||
var html = '<span class="check-status-color-' + d.status + '">『' + d.status_name + '』</span>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
,{field:'title',title: '任务主题', minWidth: 300,templet:function(d){
|
||||
var html = '<span class="layui-badge layui-bg-'+d.priority+'">'+d.priority_name+'</span> <a data-href="/project/task/view/id/'+d.id+'.html" class="side-a">'+d.title+'</a>';
|
||||
return html;
|
||||
}}
|
||||
,{field:'director_name',title: '负责人', align:'center',width: 80}
|
||||
,{field:'end_time',title: '预计结束日期', width: 150,templet:function(d){
|
||||
var html = d.end_time;
|
||||
if(d.delay>0){
|
||||
html+= '<span class="red ml-1" style="font-size:12px;">逾期'+d.delay+'天</span>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,88 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<style type="text/css">
|
||||
.layui-card-body .layui-timeline-title {
|
||||
padding-bottom: 0;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.layui-card-body .layui-timeline-item {
|
||||
padding-bottom: 5px;
|
||||
color:#323232;
|
||||
}
|
||||
|
||||
.layui-timeline-title span {
|
||||
color: #999
|
||||
}
|
||||
|
||||
.panel-more {
|
||||
width: 100%;
|
||||
height: 48px;
|
||||
line-height: 48px;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.panel-more a {
|
||||
color: #0088FF
|
||||
}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><h3>员工动态</h3></div>
|
||||
<div class="layui-card-body">
|
||||
<ul class="layui-timeline" id="logs"></ul>
|
||||
<div class="panel-more"><a href="javascript:;">查看更多员工动态</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
var page=1,limit=20;
|
||||
function getLogs() {
|
||||
$.ajax({
|
||||
url: "/home/index/log_list",
|
||||
type: 'post',
|
||||
data: {
|
||||
page:page,
|
||||
limit: limit
|
||||
},
|
||||
success: function(e) {
|
||||
if (e.code == 0) {
|
||||
var html = '';
|
||||
if(e.data.length>0){
|
||||
page++;
|
||||
$.each(e.data, function(key, value) {
|
||||
html += '<li class="layui-timeline-item">\
|
||||
<i class="layui-icon layui-timeline-axis"></i>\
|
||||
<div class="layui-timeline-content layui-text">\
|
||||
<div class="layui-timeline-title"><span title="'+value.id+'">'+value.times+'</span>,'+value.content+'</div>\
|
||||
</div>\
|
||||
</li>';
|
||||
});
|
||||
$('#logs').append(html);
|
||||
}else{
|
||||
$('.panel-more').remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
function gouguInit() {
|
||||
getLogs();
|
||||
$('.panel-more').on('click',function(){
|
||||
getLogs();
|
||||
})
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,226 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
|
||||
{block name="style"}
|
||||
<style type="text/css">
|
||||
.panel-num table {width: 100%;}
|
||||
.panel-num td {text-align: center; padding: 18px 0; border-left: 1px solid #f1f1f1; position: relative;}
|
||||
.panel-num td:nth-child(1) { border-left: none}
|
||||
.panel-num .num-title {padding-bottom: 9px; color: #999;}
|
||||
.panel-num .blue {font-size: 20px; font-weight: 300;}
|
||||
.panel-num td .badge {position: absolute;top: 0; right: 0;}
|
||||
.panel-num td .badge span { padding: 2px 4px; font-size: 12px; border-radius: 0 0 0 4px;}
|
||||
.dashboard-total td {border-top: 1px solid #f1f1f1}
|
||||
.dashboard-logs .layui-timeline-item {padding-bottom: 1px;}
|
||||
.info-td { width: 90px; text-align: right;background-color: #fafafa; color: #999; padding: 5px 3px;}
|
||||
.info-td {width: 90px; text-align: right;background-color: #fafafa; color: #999; padding: 5px 3px;}
|
||||
.layui-card-body .layui-timeline-title {padding-bottom: 0;font-size: 14px; margin-bottom:4px; color:#323232}
|
||||
.layui-card-body .layui-timeline-item {padding-bottom: 5px;}
|
||||
.layui-short-menu li { text-align: center;}
|
||||
.layui-short-menu li .iconfont {display: inline-block; font-weight:600; width: 100%; height: 58px; line-height: 58px; margin-bottom:5px; text-align: center;border-radius: 3px; font-size: 28px; background-color: #F8F8F8; color: #969696; transition: all .3s; -webkit-transition: all .3s;}
|
||||
.layui-short-menu li cite {color: #646464;}
|
||||
.layui-short-menu li:hover .iconfont{color: #1A75FF; background-color:#F2F8FF;}
|
||||
.layui-short-menu li:hover cite {color: #1A75FF;}
|
||||
.layui-matter-item li a{display: block; padding: 12px; background-color: #f8f8f8; color: #999; border-radius: 3px; transition: all .3s;-webkit-transition: all .3s;}
|
||||
.layui-matter-item li a:hover{background-color:#F2F8FF;}
|
||||
.layui-matter-item li cite {font-size: 24px;font-weight: 300;}
|
||||
|
||||
.layui-right-bar a{display: inline-block; width: 100%; height: 75px; text-align: center;border-radius: 3px; background-color: #F8F8F8; color: #969696; transition: all .3s; -webkit-transition: all .3s;}
|
||||
.layui-right-bar a .iconfont{display: inline-block; font-weight:600; width: 100%; height: 44px; line-height: 48px; text-align: center;font-size: 28px;}
|
||||
.layui-right-bar a:hover{color: #1A75FF; background-color:#F2F8FF;}
|
||||
.layui-card-title{padding:12px 12px 0}
|
||||
.website{padding-bottom:3px;}
|
||||
.website .layui-btn,.website .layui-btn+.layui-btn{margin:6px; font-size:13px;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<div class="layui-row layui-col-space16">
|
||||
<div class="layui-col-md8">
|
||||
{volist name="$layout_selected" id="layout"}
|
||||
|
||||
{if ( $layout.row == 1) AND ( $layout.name == 'count') }
|
||||
{include file="/index/layout_count" /}
|
||||
{/if}
|
||||
|
||||
{if ( $layout.row == 1) AND ( $layout.name == 'event') }
|
||||
{include file="/index/layout_event" /}
|
||||
{/if}
|
||||
|
||||
{if ( $layout.row == 1) AND ( $layout.name == 'note') }
|
||||
{include file="/index/layout_note" /}
|
||||
{/if}
|
||||
|
||||
{if ( $layout.row == 1) AND ( $layout.name == 'project') }
|
||||
{include file="/index/layout_project" /}
|
||||
{/if}
|
||||
|
||||
{if ( $layout.row == 1) AND ( $layout.name == 'task') }
|
||||
{include file="/index/layout_task" /}
|
||||
{/if}
|
||||
|
||||
|
||||
{if ( $layout.row == 1) AND ( $layout.name == 'chartview') }
|
||||
{include file="/index/layout_chartview" /}
|
||||
{/if}
|
||||
|
||||
{if ( $layout.row == 1) AND ( $layout.name == 'chartyear') }
|
||||
{include file="/index/layout_chartyear" /}
|
||||
{/if}
|
||||
|
||||
{/volist}
|
||||
</div>
|
||||
<div class="layui-col-md4">
|
||||
{volist name="$layout_selected" id="layout"}
|
||||
|
||||
{if ( $layout.row == 2) AND ( $layout.name == 'fastentry') }
|
||||
{include file="/index/layout_fastentry" /}
|
||||
{/if}
|
||||
|
||||
{if ( $layout.row == 2) AND ( $layout.name == 'approve') }
|
||||
{include file="/index/layout_approve" /}
|
||||
{/if}
|
||||
|
||||
{if ( $layout.row == 2) AND ( $layout.name == 'links') }
|
||||
{include file="/index/layout_links" /}
|
||||
{/if}
|
||||
|
||||
{if ( $layout.row == 2) AND ( $layout.name == 'system') }
|
||||
{include file="/index/layout_system" /}
|
||||
{/if}
|
||||
|
||||
{if ( $layout.row == 2) AND ( $layout.name == 'ranking') }
|
||||
{include file="/index/layout_ranking" /}
|
||||
{/if}
|
||||
|
||||
{if ( $layout.row == 2) AND ( $layout.name == 'action') }
|
||||
{include file="/index/layout_action" /}
|
||||
{/if}
|
||||
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script src="{__GOUGU__}/third_party/echart/echarts.min.js"></script>
|
||||
<script>
|
||||
function getRange() {
|
||||
let today = new Date();
|
||||
let tYear = today.getFullYear();
|
||||
let tMonth = today.getMonth() + 1;
|
||||
let tDate = today.getDate();
|
||||
let dateFirst = tYear + "-" + tMonth + "-" + tDate;
|
||||
let datelast = (tYear - 1) + "-" + tMonth + "-" + tDate;
|
||||
let dataRange = [];
|
||||
dataRange.push(dateFirst);
|
||||
dataRange.push(datelast);
|
||||
return dataRange;
|
||||
}
|
||||
|
||||
function getDay(archiveCalendar) {
|
||||
var today = new Date();
|
||||
var dayArray = [];
|
||||
for (var i = 0; i < 366; i++) {
|
||||
var targetday_milliseconds = today.getTime() - 1000 * 60 * 60 * 24 * i;
|
||||
var date = new Date(targetday_milliseconds);
|
||||
dayArray.push(retunDay(date,archiveCalendar));
|
||||
}
|
||||
return dayArray;
|
||||
}
|
||||
|
||||
function retunDay(day,archiveCalendar) {
|
||||
var tYear = day.getFullYear();
|
||||
var tMonth = day.getMonth();
|
||||
var tDate = day.getDate();
|
||||
tMonth = tMonth + 1;
|
||||
if (tMonth.toString().length == 1) {
|
||||
tMonth = "0" + tMonth;
|
||||
}
|
||||
if (tDate.toString().length == 1) {
|
||||
tDate = "0" + tDate;
|
||||
}
|
||||
var dateStr = tYear + "-" + tMonth + "-" + tDate;
|
||||
var dateArray = [];
|
||||
dateArray.push(dateStr);
|
||||
if (archiveCalendar[dateStr]) {
|
||||
dateArray.push(archiveCalendar[dateStr]);
|
||||
}
|
||||
else {
|
||||
dateArray.push(0);
|
||||
}
|
||||
return dateArray;
|
||||
}
|
||||
|
||||
function setHour(num) {
|
||||
var str = num + ':00';
|
||||
if (num < 10) {
|
||||
str = '0' + num + ':00';
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
const moduleInit = ['tool','oaSchedule'];
|
||||
function gouguInit() {
|
||||
var tool = layui.tool,table = layui.table,work = layui.oaSchedule;
|
||||
|
||||
if(typeof layoutNote ==='function'){
|
||||
layoutNote(table);
|
||||
}
|
||||
|
||||
if(typeof layoutProject ==='function'){
|
||||
layoutProject(table);
|
||||
}
|
||||
|
||||
if(typeof layoutTask ==='function'){
|
||||
layoutTask(table);
|
||||
}
|
||||
|
||||
if(typeof layoutChartView ==='function'){
|
||||
layoutChartView();
|
||||
}
|
||||
|
||||
if(typeof layoutChartYear ==='function'){
|
||||
layoutChartYear();
|
||||
}
|
||||
|
||||
if(typeof layoutFastentry ==='function'){
|
||||
layoutFastentry(tool,work,table)
|
||||
}
|
||||
|
||||
if(typeof layoutLinks ==='function'){
|
||||
layoutLinks()
|
||||
}
|
||||
|
||||
if(typeof layoutSystem ==='function'){
|
||||
layoutSystem()
|
||||
}
|
||||
|
||||
if(typeof layoutRaking ==='function'){
|
||||
layoutRaking()
|
||||
}
|
||||
|
||||
if(typeof layoutAction ==='function'){
|
||||
layoutAction()
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
window.onresize = function () {
|
||||
if(logChart){
|
||||
chartView.resize();
|
||||
}
|
||||
if(myChart){
|
||||
myChart.resize();
|
||||
}
|
||||
if(logChart){
|
||||
logChart.resize();
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,47 @@
|
||||
<div class="layui-side layui-side-menu layui-side-{$admin.theme}">
|
||||
<div class="layui-logo" gg-event="closeAllTabs">
|
||||
<img src="{$web.logo|default=''}" onerror="javascript:this.src='{__IMG__}/syslogo.png';this.onerror=null;" style="height: 40px;" class="syslogo">
|
||||
<img src="{$web.small_logo|default=''}" onerror="javascript:this.src='{__IMG__}/syslogo_small.png';this.onerror=null;" style="height: 40px;" class="logo">
|
||||
</div>
|
||||
|
||||
<ul id="menuList" class="layui-nav layui-nav-tree layui-inline" lay-shrink="all">
|
||||
<li class="layui-nav-item menu-li">
|
||||
<a href="javascript:;" class="side-menu-item layui-this" data-href="/home/index/main.html" data-id="0" style="padding-top:0; padding-bottom:0;"><i class="iconfont icon-xueshuguanli"></i> 工 作 台</a>
|
||||
</li>
|
||||
{foreach name="menu" item="a"}
|
||||
<li class="layui-nav-item menu-li">
|
||||
<a href="javascript:;" lay-tips="{$a.title}" lay-direction="2" data-id="{$a.id}" data-title="{$a.title}" data-href="/{$a.src}"><i class="iconfont {$a.icon}"></i> {$a.title}</a>
|
||||
{notempty name="$a.list"}
|
||||
<dl class="layui-nav-child">
|
||||
{foreach name="$a.list" item="b"}
|
||||
<dd>
|
||||
<a href="javascript:;" class="side-menu-item" data-id="{$b.id}" data-title="{$b.title}" data-href="/{$b.src}">{$b.title}</a>
|
||||
{notempty name="$b.list"}
|
||||
<dl class="layui-nav-child">
|
||||
{foreach name="$b.list" item="c"}
|
||||
<dd>
|
||||
<a href="javascript:;" class="side-menu-item" data-id="{$c.id}" data-title="{$c.title}" data-href="/{$c.src}">{$c.title}</a>
|
||||
{notempty name="$c.list"}
|
||||
<dl class="layui-nav-child">
|
||||
{foreach name="$c.list" item="d"}
|
||||
<dd><a href="javascript:;" class="side-menu-item" data-id="{$d.id}" data-title="{$d.title}" data-href="/{$d.src}">{$d.title}</a></dd>
|
||||
{/foreach}
|
||||
</dl>
|
||||
{/notempty}
|
||||
</dd>
|
||||
{/foreach}
|
||||
</dl>
|
||||
{/notempty}
|
||||
</dd>
|
||||
{/foreach}
|
||||
</dl>
|
||||
{/notempty}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
function menuInit() {
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,70 @@
|
||||
<div class="layui-side layui-side-expand layui-side-{$admin.theme}">
|
||||
<div class="layui-logo" gg-event="closeAllTabs">
|
||||
<img src="{$web.logo|default=''}" onerror="javascript:this.src='{__IMG__}/syslogo.png';this.onerror=null;" style="height: 38px;" class="syslogo">
|
||||
<img src="{$web.small_logo|default=''}" onerror="javascript:this.src='{__IMG__}/syslogo_small.png';this.onerror=null;" style="height: 38px;" class="logo">
|
||||
</div>
|
||||
<ul id="menuList">
|
||||
<li class="layui-nav-item menu-li">
|
||||
<a href="javascript:;" class="side-menu-item layui-this" data-href="/home/index/main.html" data-id="0" style="padding-top:0; padding-bottom:0;"><i class="iconfont icon-xueshuguanli"></i> 工 作 台</a>
|
||||
</li>
|
||||
{foreach name="menu" item="a"}
|
||||
{empty name="$a.list"}
|
||||
<li class="menu-li">
|
||||
<a href="javascript:;" lay-tips="{$a.title}" lay-direction="2" data-id="{$a.id}" data-title="{$a.title}" data-href="/{$a.src}"><i class="iconfont {$a.icon}"></i> <cite>{$a.title}</cite></a>
|
||||
</li>
|
||||
{else/}
|
||||
<li class="layui-nav-item menu-li">
|
||||
<a href="javascript:">
|
||||
<i class="iconfont {$a.icon}"></i> <cite>{$a.title}</cite>
|
||||
</a>
|
||||
<dl class="gg-second-menu">
|
||||
<dt><strong>{$a.title}</strong></dt>
|
||||
{foreach name="$a.list" item="b"}
|
||||
{empty name="$b.list"}
|
||||
<dd><a href="javascript:;" class="side-menu-item" data-id="{$b.id}" data-title="{$b.title}" data-href="/{$b.src}">{$b.title}</a></dd>
|
||||
{else/}
|
||||
<dd>
|
||||
<dl class="gg-three-menu">
|
||||
<dt><strong>{$b.title}</strong><i class="layui-icon layui-icon-up"></i><i class="layui-icon layui-icon-down"></i></dt>
|
||||
{foreach name="$b.list" id="c"}
|
||||
<dd><a href="javascript:;" class="side-menu-item" data-id="{$c.id}" data-title="{$c.title}" data-href="/{$c.src}">{$c.title}</a></dd>
|
||||
{/foreach}
|
||||
</dl>
|
||||
</dd>
|
||||
{/empty}
|
||||
{/foreach}
|
||||
</dl>
|
||||
</li>
|
||||
{/empty}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
function menuInit() {
|
||||
let $menuListNode = $('#menuList'); // 侧边菜单节点
|
||||
let $AppBodyNode = $('#GouguAppBody');// 主体页面节点
|
||||
|
||||
//主菜单
|
||||
$menuListNode.on('click', '.menu-li', function () {
|
||||
if (!$(this).children('a').hasClass('layui-this')) {
|
||||
$(this).siblings().find('a').removeClass('layui-this');
|
||||
$(this).children('a').addClass('layui-this');
|
||||
// 子菜单
|
||||
$(this).siblings().find('.gg-second-menu').removeClass('current');
|
||||
if ($(this).children('.gg-second-menu').length) {
|
||||
let subNode = $(this).children('.gg-second-menu').find('a');
|
||||
$(this).children('.gg-second-menu').addClass('current');
|
||||
subNode.eq(0).children('i').length ? subNode.eq(1).click() : subNode.eq(0).click();
|
||||
$AppBodyNode.addClass('sub-menu');
|
||||
} else {
|
||||
$AppBodyNode.removeClass('sub-menu');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//子菜单
|
||||
$menuListNode.on('click', '.gg-three-menu dt', function () {
|
||||
$(this).parent().toggleClass('show-up');
|
||||
});
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user