优化系统设置体验

This commit is contained in:
hdm 2021-11-23 17:04:53 +08:00
parent 91f2dc1e43
commit 3068b9323e
20 changed files with 420 additions and 413 deletions

View File

@ -86,14 +86,14 @@ function get_login_admin($key = '')
//读取后台菜单列表
function get_admin_menu()
{
$menu = Db::name('AdminMenu')->order('sort asc')->select()->toArray();
$menu = Db::name('AdminMenu')->order('sort asc,id asc')->select()->toArray();
return $menu;
}
//读取权限节点列表
function get_admin_rule()
{
$rule = Db::name('AdminRule')->order('id desc')->select()->toArray();
$rule = Db::name('AdminRule')->order('sort asc,id asc')->select()->toArray();
return $rule;
}

View File

@ -33,18 +33,15 @@ class Menu extends BaseController
$param = get_params();
if (request()->isAjax()) {
if ($param['id'] > 0) {
$data[$param['field']] = $param['value'];
$data['id'] = $param['id'];
if (!empty($data['title'])) {
try {
validate(MenuCheck::class)->scene('edit')->check($data);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
try {
validate(MenuCheck::class)->scene('edit')->check($param);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
Db::name('AdminMenu')->strict(false)->field(true)->update($data);
add_log('edit', $param['id'], $data);
$param['update_time'] = time();
Db::name('AdminMenu')->strict(false)->field(true)->update($param);
add_log('edit', $param['id'], $param);
} else {
try {
validate(MenuCheck::class)->scene('add')->check($param);
@ -52,6 +49,7 @@ class Menu extends BaseController
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
$param['create_time'] = time();
$mid = Db::name('AdminMenu')->strict(false)->field(true)->insertGetId($param);
//自动为系统所有者管理组分配新增的菜单
$group = Db::name('AdminGroup')->find(1);
@ -67,6 +65,12 @@ class Menu extends BaseController
return to_assign();
} else {
$id = isset($param['id']) ? $param['id'] : 0;
$pid = isset($param['pid']) ? $param['pid'] : 0;
if($id>0){
$detail = Db::name('AdminMenu')->where('id',$id)->find();
View::assign('detail', $detail);
}
View::assign('id', $id);
View::assign('pid', $pid);
return view();
}

View File

@ -33,26 +33,14 @@ class Rule extends BaseController
$param = get_params();
if (request()->isAjax()) {
if ($param['id'] > 0) {
$data[$param['field']] = $param['value'];
$data['id'] = $param['id'];
if (!empty($data['title'])) {
try {
validate(RuleCheck::class)->scene('edit_title')->check($data);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
try {
validate(RuleCheck::class)->scene('edit')->check($param);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
if (!empty($data['src'])) {
try {
validate(RuleCheck::class)->scene('edit_src')->check($data);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
}
Db::name('AdminRule')->strict(false)->field(true)->update($data);
add_log('edit', $param['id'], $data);
Db::name('AdminRule')->strict(false)->field(true)->update($param);
add_log('edit', $param['id'], $param);
} else {
try {
validate(RuleCheck::class)->scene('add')->check($param);
@ -60,6 +48,7 @@ class Rule extends BaseController
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
$param['create_time'] = time();
$rid = Db::name('AdminRule')->strict(false)->field(true)->insertGetId($param);
//自动为系统所有者管理组分配新增的节点
$group = Db::name('AdminGroup')->find(1);
@ -74,7 +63,13 @@ class Rule extends BaseController
clear_cache('adminRules');
return to_assign();
} else {
$id = isset($param['id']) ? $param['id'] : 0;
$pid = isset($param['pid']) ? $param['pid'] : 0;
if($id>0){
$detail = Db::name('AdminRule')->where('id',$id)->find();
View::assign('detail', $detail);
}
View::assign('id', $id);
View::assign('pid', $pid);
return view();
}

View File

@ -13,6 +13,7 @@ class RuleCheck extends Validate
{
protected $rule = [
'title' => 'require|unique:admin_rule',
'name' => 'require',
'src' => 'unique:admin_rule',
'id' => 'require',
];
@ -21,13 +22,13 @@ class RuleCheck extends Validate
'title.require' => '节点名称不能为空',
'title.unique' => '同样的节点名称已经存在',
'src.unique' => '同样的节点规则已经存在',
'name.require' => '节点日志操作名称不能为空',
'id.require' => '缺少更新条件',
'filed.require' => '缺少要更新的字段名',
];
protected $scene = [
'add' => ['title','src'],
'edit_title' => ['id', 'title'],
'edit_src' => ['id', 'src'],
'add' => ['title','src','name'],
'edit' => ['id', 'title','src','name']
];
}

View File

@ -62,7 +62,7 @@
field: 'param',
title: '操作数据'
}, {
field: 'nickname',
field: 'name',
title: '操作用户',
align: 'center',
width: 100

View File

@ -2,7 +2,8 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<table class="layui-table layui-table-form">
<h3 class="h3-title">配置项</h3>
<table class="layui-table">
<tr>
<td class="layui-td-gray2">配置名称<font>*</font>
</td>
@ -35,7 +36,6 @@
<div style="padding: 10px 0">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
<button lay-event="back" class="layui-btn layui-btn-primary">返回</button>
</div>
</form>
{/block}
@ -56,7 +56,7 @@
success: function (e) {
if (e.code == 0) {
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
window.location.href="{:url('home/conf/index')}";
parent.location.reload();
});
} else {
layer.msg(e.msg);
@ -65,11 +65,6 @@
})
return false;
});
//监听返回
$('.body-content').on('click', '[lay-event="back"]', function () {
history.back(-1);
return false;
});
}
</script>

View File

@ -2,8 +2,8 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<h3 style="height:36px">邮箱配置</h3>
<table class="layui-table layui-table-form">
<h3 class="h3-title">邮箱配置</h3>
<table class="layui-table">
<tr>
<td class="layui-td-gray2">SMTP地址<font>*</font>
</td>
@ -67,7 +67,6 @@
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button lay-event="email" class="layui-btn">发送测试</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
<button lay-event="back" class="layui-btn layui-btn-primary">返回</button>
</div>
</form>
{/block}
@ -88,9 +87,8 @@
data: data.field,
success: function (e) {
if (e.code == 0) {
layer.confirm('保存成功,关闭本页面吗?', { icon: 3, title: '提示' }, function (index) {
history.back(-1);
layer.close(index);
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
parent.location.reload();
});
} else {
layer.msg(e.msg);

View File

@ -10,7 +10,7 @@
</script>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<a class="layui-btn layui-btn-normal layui-btn-sm" href="{:url('home/conf/add')}">+ 添加配置项</a>
<button class="layui-btn layui-btn-normal layui-btn-sm" lay-event="add">+ 添加配置项</button>
</div>
</script>
{/block}
@ -21,6 +21,7 @@
<script>
function init(layui) {
var table = layui.table,
rightpage = layui.rightpage,
form = layui.form;
var tableIns = table.render({
@ -54,32 +55,24 @@
title: '操作',
align: 'center',
templet: function (d) {
var html = '<div class="layui-btn-group"><a class="layui-btn layui-btn-xs" href="/home/conf/add?id=' + d.id + '">修改</a><a class="layui-btn layui-btn-normal layui-btn-xs" href="/home/conf/edit?id=' + d.id + '">编辑配置</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></div>';
var html = '<div class="layui-btn-group"><button class="layui-btn layui-btn-xs" lay-event="add">修改</button><button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit" >编辑配置</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button></div>';
return html;
}
}]
]
});
//监听搜索提交
form.on('submit(webform)', function (data) {
if (data.field.keywords) {
tableIns.reload({
where: {
keywords: data.field.keywords
},
page: {
curr: 1
}
});
} else {
location.reload();
//监听行工具事件
table.on('tool(test)', function(obj){
var data = obj.data;
if(obj.event === 'add'){
rightpage.open('/home/conf/add?id='+data.id);
return;
}
if(obj.event === 'edit'){
rightpage.open('/home/conf/edit?id='+data.id);
return;
}
return false;
});
//删除
table.on('tool(test)', function (obj) {
if (obj.event === 'del') {
layer.confirm('确定要删除吗?', {
icon: 3,
@ -102,8 +95,33 @@
});
}
});
//表头工具栏事件
table.on('toolbar(test)', function(obj){
if (obj.event === 'add') {
rightpage.open("{:url('home/conf/add')}");
return;
}
});
//监听搜索提交
form.on('submit(webform)', function (data) {
if (data.field.keywords) {
tableIns.reload({
where: {
keywords: data.field.keywords
},
page: {
curr: 1
}
});
} else {
location.reload();
}
return false;
});
}
</script>
{include file="common/layui" base="base" extend="[]" callback="init" /}
{include file="common/layui" base="base" extend="['rightpage']" callback="init" /}
{/block}
<!-- /脚本 -->

View File

@ -2,8 +2,8 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<h3 style="height:36px">其他配置</h3>
<table class="layui-table layui-table-form">
<h3 class="h3-title">其他配置</h3>
<table class="layui-table">
<tr>
<td class="layui-td-gray2">开发者</td>
<td>
@ -21,7 +21,6 @@
<div style="padding: 10px 0">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
<button lay-event="back" class="layui-btn layui-btn-primary">返回</button>
</div>
</form>
{/block}
@ -42,12 +41,8 @@
data: data.field,
success: function (e) {
if (e.code == 0) {
layer.confirm('保存成功,关闭本页面吗?', {
icon: 3,
title: '提示'
}, function (index) {
history.back(-1);
layer.close(index);
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
parent.location.reload();
});
} else {
layer.msg(e.msg);

View File

@ -2,8 +2,8 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<h3 style="height:36px">Token配置</h3>
<table class="layui-table layui-table-form">
<h3 class="h3-title">Token配置</h3>
<table class="layui-table">
<tr>
<td class="layui-td-gray2">Token签发组织</td>
<td>
@ -40,7 +40,6 @@
<div style="padding: 20px 0">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
<button lay-event="back" class="layui-btn layui-btn-primary">返回</button>
</div>
</form>
{/block}
@ -61,12 +60,8 @@
data: data.field,
success: function (e) {
if (e.code == 0) {
layer.confirm('保存成功,关闭本页面吗?', {
icon: 3,
title: '提示'
}, function (index) {
history.back(-1);
layer.close(index);
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
parent.location.reload();
});
} else {
layer.msg(e.msg);

View File

@ -2,8 +2,8 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<h3 style="height:36px">系统配置</h3>
<table class="layui-table layui-table-form">
<h3 class="h3-title">系统配置</h3>
<table class="layui-table">
<tr>
<td class="layui-td-gray2">系统名称<font>*</font>
</td>
@ -79,7 +79,6 @@
<div style="padding: 10px 0">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
<button lay-event="back" class="layui-btn layui-btn-primary">返回</button>
</div>
</form>
{/block}
@ -118,12 +117,8 @@
data: data.field,
success: function (e) {
if (e.code == 0) {
layer.confirm('保存成功,关闭本页面吗?', {
icon: 3,
title: '提示'
}, function (index) {
history.back(-1);
layer.close(index);
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
parent.location.reload();
});
} else {
layer.msg(e.msg);
@ -132,11 +127,6 @@
})
return false;
});
//监听返回
$('.body-content').on('click', '[lay-event="back"]', function () {
history.back(-1);
return false;
});
}
</script>
{include file="common/layui" base="base" extend="[]" callback="init" /}

View File

@ -2,11 +2,12 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<table class="layui-table layui-table-form">
<h3 class="h3-title">系统菜单</h3>
{if condition="$id eq 0"}
<table class="layui-table">
<tr>
<td class="layui-td-gray2">父级菜单<font>*</font></td>
<td>
<input type="hidden" name="id" value="0">
<select name="pid" lay-verify="required" lay-reqText="请选择父级菜单">
<option value="0">作为顶级菜单</option>
{volist name=":set_recursion(get_admin_menu())" id="v"}
@ -18,31 +19,58 @@
<td>
<input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请输入菜单名称" lay-reqText="请输入菜单名称" class="layui-input">
</td>
</tr>
<tr>
<td class="layui-td-gray2">菜单路径</td>
<td>
<input type="text" name="src" placeholder="请输入菜单路径,可空" autocomplete="off" class="layui-input">
</td>
<td class="layui-td-gray2">菜单参数</td>
<td>
<input type="text" name="param" placeholder="请输入菜单参数,可空" autocomplete="off" class="layui-input">
</td>
</tr>
<tr>
<td class="layui-td-gray2">菜单图标</td>
<td>
<input type="text" name="icon" placeholder="请输入图标样式,可空" autocomplete="off" class="layui-input">
</td>
<td colspan="2">
icon-jichuguanli<a href="{__LAYUI__}/font/extend/demo_index.html" target="_blank" style="margin-left:10px; color:#007AFF">[点击查看图标]</a>
<td colspan="4">
icon-jichuguanli<a href="{__LAYUI__}/font/extend/demo_index.html" target="_blank" style="margin-left:10px; color:#007AFF">[点击查看可选图标]</a>
</td>
</tr>
</table>
{else/}
<table class="layui-table">
<tr>
<td class="layui-td-gray2">父级菜单<font>*</font></td>
<td>
<input type="hidden" name="id" value="0">
<select name="pid" lay-verify="required" lay-reqText="请选择父级菜单">
<option value="0">作为顶级菜单</option>
{volist name=":set_recursion(get_admin_menu())" id="v"}
<option value="{$v.id}" {eq name="$detail.pid" value="$v.id" }selected="" {/eq}>{$v.title} </option>
{/volist}
</select>
</td>
<td class="layui-td-gray2">菜单名称<font>*</font></td>
<td>
<input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请输入菜单名称" lay-reqText="请输入菜单名称" class="layui-input" value="{$detail.title}">
</td>
<td class="layui-td-gray2">菜单路径</td>
<td>
<input type="text" name="src" placeholder="请输入菜单路径,可空" autocomplete="off" class="layui-input" value="{$detail.src}">
</td>
</tr>
<tr>
<td class="layui-td-gray2">菜单图标</td>
<td>
<input type="text" name="icon" placeholder="请输入图标样式,可空" autocomplete="off" class="layui-input" value="{$detail.icon}">
</td>
<td colspan="4">
icon-jichuguanli<a href="{__LAYUI__}/font/extend/demo_index.html" target="_blank" style="margin-left:10px; color:#007AFF">[点击查看可选图标]</a>
</td>
</tr>
</table>
{/if}
<div style="padding: 10px 0">
<input type="hidden" name="id" value="{$id}">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
<button lay-event="back" class="layui-btn layui-btn-primary">返回</button>
</div>
</form>
{/block}
@ -63,12 +91,8 @@
data: data.field,
success: function(e) {
if (e.code == 0) {
layer.confirm('保存成功,返回列表页吗?', {
icon: 3,
title: '提示'
}, function(index) {
history.back(-1);
layer.close(index);
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
parent.location.reload();
});
} else {
layer.msg(e.msg);
@ -77,11 +101,6 @@
})
return false;
});
//监听返回
$('.body-content').on('click', '[lay-event="back"]', function() {
history.back(-1);
return false;
});
}
</script>
{include file="common/layui" base="base" extend="[]" callback="init" /}

View File

@ -11,8 +11,8 @@
<!-- 主体 -->
{block name="body"}
<div class="body-content" style="height: 100%">
<div style="height:39px;">
<a class="layui-btn layui-btn-normal layui-btn-sm" href="{:url('home/menu/add')}">+ 添加菜单</a><span style="color:#999;margin-left:20px">点击表格内容可编辑</span>
<div style="height:42px">
<button class="layui-btn layui-btn-normal layui-btn-sm add-menu">+ 添加菜单</button>
</div>
<div style="height: calc(100% - 30px)">
<table class="layui-hide" id="treeTable" lay-filter="treeTable"></table>
@ -24,9 +24,10 @@
<!-- 脚本 -->
{block name="script"}
<script>
var editObj = null, ptable = null, treeGrid = null, tableId = 'treeTable', layer = null;
var ptable = null, treeGrid = null,rightpage=null, layer = null, tableId = "treeTable";
function init(layui) {
var treeGrid = layui.treeGrid;//很重要
treeGrid = layui.treeGrid;
rightpage = layui.rightpage,
layer = layui.layer;
ptable = treeGrid.render({
id: tableId
@ -39,14 +40,13 @@
, treeShowName: 'title'//以树形式显示的字段
, height: 'full-0'
, cols: [[
{ field: 'sort', width: 80, title: '排序', edit: "text", align: 'center' }
{ field: 'sort', width: 80, title: '排序', align: 'center' }
, { field: 'id', width: 80, title: 'ID号', align: 'center' }
, { field: 'title', edit: 'text', width: 240, title: '菜单名称', edit: 'text'}
, { field: 'icon', edit: 'text', width: 180, title: '图标<a href="{__LAYUI__}/font/extend/demo_index.html" target="_blank" style="color:#007AFF">[图标选择]</a>', edit: 'text'}
, { field: 'pid', title: '父级ID', edit: 'text', width: 80, align: 'center' }
, { field: 'src', title: '路径', edit: 'text'}
, { width: 100, title: '操作', align: 'center', templet: function (d) {
var html = '<a class="layui-btn layui-btn-normal layui-btn-xs" href="/home/menu/add?pid=' + d.id + '">添加</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
, { field: 'title', width: 240, title: '菜单名称'}
, { field: 'icon', width: 180, title: '图标class'}
, { field: 'src', title: '菜单路径'}
, { width: 160, title: '操作', align: 'center', templet: function (d) {
var html = '<span class="layui-btn-group"><button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="add">添加子菜单</button><button class="layui-btn layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button></span>';
return html;
}
}
@ -54,27 +54,23 @@
, page: false
//,skin:'line'
});
//单元格编辑
treeGrid.on('edit(' + tableId + ')', function (obj) {
layer.confirm('确定要提交修改吗?', { icon: 3, title: '提示' }, function (index) {
$.ajax({
url: "{:url('home/menu/add')}",
type: 'post',
data: { id: obj.data.id, field: obj.field, value: obj.value },
success: function (e) {
layer.msg(e.msg);
if(e.code == 0){
setTimeout(function(){
location.reload()
},2000)
}
}
})
layer.close(index);
});
//表头工具栏事件
$('.body-content').on('click','.add-menu', function(){
rightpage.open("{:url('home/menu/add')}");
return;
});
//删除
//操作按钮
treeGrid.on('tool(' + tableId + ')', function (obj) {
if (obj.event === 'add') {
rightpage.open('/home/menu/add?pid='+obj.data.id);
return;
}
if (obj.event === 'edit') {
rightpage.open('/home/menu/add?id='+obj.data.id);
return;
}
if (obj.event === 'del') {
layer.confirm('确定要删除吗?', { icon: 3, title: '提示' }, function (index) {
$.ajax({
@ -95,6 +91,6 @@
}
</script>
{include file="common/layui" base="base" extend="['treeGrid']" callback="init" /}
{include file="common/layui" base="base" extend="['treeGrid','rightpage']" callback="init" /}
{/block}
<!-- /脚本 -->

View File

@ -62,8 +62,6 @@
//表头工具栏事件
table.on('toolbar(test)', function(obj){
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
var data = checkStatus.data;
if (obj.event === 'add') {
rightpage.open("{:url('home/personal/change_add')}");
return;

View File

@ -8,7 +8,7 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<h3 class="h3-title">新增人事调动</h3>
<h3 class="h3-title">人事调动</h3>
{if condition="$id eq 0"}
<table class="layui-table">
<tr>

View File

@ -2,7 +2,8 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<table class="layui-table layui-table-form">
<h3 class="h3-title">权限角色</h3>
<table class="layui-table">
<tr>
<td class="layui-td-gray2">角色名称<font>*</font>
</td>
@ -110,7 +111,6 @@
<div style="padding: 10px 0">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
<button lay-event="back" class="layui-btn layui-btn-primary">返回</button>
</div>
</form>
{/block}
@ -133,8 +133,7 @@
success: function (e) {
if (e.code == 0) {
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
history.back(-1);
layer.close(index);
parent.location.reload();
});
} else {
layer.msg(e.msg);
@ -170,15 +169,7 @@
}
form.render();//实时渲染选中和不选中的样式
});
//监听返回
$('.body-content').on('click', '[lay-event="back"]', function () {
window.location.href="{:url('home/role/index')}";
return false;
});
}
</script>
{include file="common/layui" base="base" extend="[]" callback="init" /}
{/block}

View File

@ -4,22 +4,19 @@
<div class="body-content">
<form class="layui-form">
<div class="layui-input-inline" style="width:300px;">
<input type="text" name="keywords" placeholder="ID/名称/备注" class="layui-input" autocomplete="off" />
<input type="text" name="keywords" placeholder="名称/备注" class="layui-input" autocomplete="off" />
</div>
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">提交搜索</button>
</form>
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
<script type="text/html" id="thumb">
<img src='{{d.thumb}}' height="25" style="border-radius: 50%;" />
</script>
<script type="text/html" id="status">
<i class="layui-icon {{# if(d.status == 1){ }}layui-icon-ok{{# } else { }}layui-icon-close{{# } }}"></i>
</script>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<a class="layui-btn layui-btn-normal layui-btn-sm" href="{:url('home/role/add')}">+ 添加权限组</a>
<button class="layui-btn layui-btn-normal layui-btn-sm" lay-event="add">+ 添加权限组</button>
</div>
</script>
{/block}
@ -29,8 +26,9 @@
{block name="script"}
<script>
function init(layui) {
var table = layui.table
, form = layui.form;
var table = layui.table,
rightpage = layui.rightpage,
form = layui.form;
var tableIns = table.render({
elem: '#test',
@ -40,24 +38,34 @@
limit: 20,
cols: [[ //表头
{ field: 'id', title: 'ID号', align: 'center', width: 80 }
, { field: 'title', title: '名称', width: 200 }
, { field: 'title', title: '权限组名称', width: 200 }
, { field: 'desc', title: '备注' }
, { field: 'status', title: '状态', toolbar: '#status', align: 'center', width: 80 }
, { width: 120,
, { width: 100,
title: '操作',
align: 'center',
templet: function (d) {
var html = '<div class="layui-btn-group"><a class="layui-btn layui-btn-xs" href="/home/role/add?id=' + d.id + '">编辑</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></div>';
var html = '<div class="layui-btn-group"><button class="layui-btn layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button></div>';
return html;
}
}
]]
});
//表头工具栏事件
table.on('toolbar(test)', function(obj){
if (obj.event === 'add') {
rightpage.open("{:url('home/role/add')}");
return;
}
});
//监听行工具事件
table.on('tool(test)', function (obj) {
var data = obj.data;
//console.log(obj)
if (obj.event === 'edit') {
rightpage.open('/home/role/add?id='+obj.data.id);
return;
}
if (obj.event === 'del') {
layer.confirm('确定要删除该权限角色吗?', { icon: 3, title: '提示' }, function (index) {
$.ajax({
@ -72,16 +80,6 @@
})
layer.close(index);
});
} else if (obj.event === 'edit') {
layer.prompt({
formType: 2
, value: data.email
}, function (value, index) {
obj.update({
email: value
});
layer.close(index);
});
}
});
@ -96,6 +94,6 @@
}
</script>
{include file="common/layui" base="base" extend="[]" callback="init" /}
{include file="common/layui" base="base" extend="['rightpage']" callback="init" /}
{/block}
<!-- /脚本 -->

View File

@ -2,12 +2,16 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<table class="layui-table layui-table-form">
<h3 class="h3-title">功能节点</h3>
{if condition="$id eq 0"}
<table class="layui-table">
<tr>
<td class="layui-td-gray2">父级节点<font>*</font>
</td>
<td class="layui-td-gray2">节点名称<font>*</font></td>
<td>
<input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请输入节点名称" lay-reqText="请输入节点名称" class="layui-input">
</td>
<td class="layui-td-gray2">父级节点<font>*</font></td>
<td>
<input type="hidden" name="id" value="0">
<select name="pid" lay-verify="required" lay-reqText="请选择父级节点">
<option value="0">作为顶级节点</option>
{volist name=":set_recursion(get_admin_rule())" id="v"}
@ -15,28 +19,51 @@
{/volist}
</select>
</td>
<td class="layui-td-gray2">节点名称<font>*</font>
</td>
<td>
<input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请输入节点名称"
lay-reqText="请输入节点名称" class="layui-input">
</td>
</tr>
<tr>
<td class="layui-td-gray2">节点验证规则</td>
<td class="layui-td-gray3">操作日志显示名称<font>*</font></td>
<td>
<input type="text" name="src" placeholder="请输入验证规则" autocomplete="off" class="layui-input">
<input type="text" name="name" lay-verify="required" placeholder="请输入操作日志显示名称" lay-reqText="请输入操作日志显示名称" autocomplete="off" class="layui-input">
</td>
<td class="layui-td-gray2">附加规则</td>
<td class="layui-td-gray2">节点规则</td>
<td>
<input type="text" name="condition" placeholder="请输入附加规则,可空" autocomplete="off" class="layui-input">
<input type="text" name="src" placeholder="请输入规则,可空" autocomplete="off" class="layui-input">
</td>
</tr>
</table>
{else/}
<table class="layui-table">
<tr>
<td class="layui-td-gray2">节点名称<font>*</font></td>
<td>
<input type="text" name="title" value="{$detail.title}" lay-verify="required" autocomplete="off" placeholder="请输入节点名称" lay-reqText="请输入节点名称" class="layui-input">
</td>
<td class="layui-td-gray2">父级节点<font>*</font></td>
<td>
<select name="pid" lay-verify="required" lay-reqText="请选择父级节点">
<option value="0">作为顶级节点</option>
{volist name=":set_recursion(get_admin_rule())" id="v"}
<option value="{$v.id}" {eq name="$detail.pid" value="$v.id" }selected="" {/eq}>{$v.title} </option>
{/volist}
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray3">操作日志显示名称<font>*</font></td>
<td>
<input type="text" name="name" value="{$detail.name}" lay-verify="required" placeholder="请输入操作日志显示名称" lay-reqText="请输入操作日志显示名称" autocomplete="off" class="layui-input">
</td>
<td class="layui-td-gray2">节点规则</td>
<td>
<input type="text" name="src" value="{$detail.src}" placeholder="请输入规则,可空" autocomplete="off" class="layui-input">
</td>
</tr>
</table>
{/if}
<div style="padding: 10px 0">
<input type="hidden" name="id" value="{$id}">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
<button lay-event="back" class="layui-btn layui-btn-primary">返回</button>
</div>
</form>
{/block}
@ -57,12 +84,8 @@
data: data.field,
success: function (e) {
if (e.code == 0) {
layer.confirm('保存成功,返回列表吗?', {
icon: 3,
title: '提示'
}, function (index) {
history.back(-1);
layer.close(index);
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
parent.location.reload();
});
} else {
layer.msg(e.msg);
@ -71,11 +94,6 @@
})
return false;
});
//监听返回
$('.body-content').on('click', '[lay-event="back"]', function () {
history.back(-1);
return false;
});
}
</script>
{include file="common/layui" base="base" extend="[]" callback="init" /}

View File

@ -11,8 +11,8 @@
<!-- 主体 -->
{block name="body"}
<div class="body-content" style="height: 100%">
<div style="height:39px;">
<a class="layui-btn layui-btn-normal layui-btn-sm" href="{:url('home/rule/add')}">+ 添加节点</a><span style="color:#999;margin-left:20px">点击表格内容可编辑</span>
<div style="height:42px">
<button class="layui-btn layui-btn-normal layui-btn-sm add-menu">+ 添加节点</button>
</div>
<div style="height: calc(100% - 30px)">
<table class="layui-hide" id="treeTable" lay-filter="treeTable"></table>
@ -24,10 +24,10 @@
<!-- 脚本 -->
{block name="script"}
<script>
var editObj = null, ptable = null, treeGrid = null, tableId = 'treeTable', layer = null;
var ptable = null, treeGrid = null,rightpage=null, layer = null, tableId = "treeTable";
function init(layui) {
var table = layui.table;
treeGrid = layui.treeGrid;//很重要
treeGrid = layui.treeGrid;
rightpage = layui.rightpage,
layer = layui.layer;
ptable = treeGrid.render({
id: tableId
@ -39,14 +39,14 @@
, treeUpId: 'pid'//树形父id字段名称
, treeShowName: 'title'//以树形式显示的字段
, cols: [[
{ field: 'id', width: 80, title: 'ID号', align: 'center' }
, { field: 'title', edit: 'text', width: 300, title: '节点名称'}
, { field: 'pid', title: '父级ID', edit: "text", width: 80, align: 'center' }
, { field: 'src', title: '节点规则', edit: "text" }
, { field: 'name', edit: 'text', width: 300, title: '日志操作名称'}
, {width: 100, title: '操作', align: 'center'
{ field: 'id', width: 80, title: 'ID号', align: 'center'}
, { field: 'title', width: 240, title: '节点名称'}
, { field: 'pid', title: '父节点ID', width: 90, align: 'center' }
, { field: 'src', title: '节点规则'}
, { field: 'name', width: 150, title: '操作日志显示名称'}
, {width: 160, title: '操作', align: 'center'
, templet: function (d) {
var html = '<a class="layui-btn layui-btn-normal layui-btn-xs" href="/home/rule/add?pid=' + d.id + '">添加</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
var html = '<span class="layui-btn-group"><button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="add">添加子节点</button><button class="layui-btn layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
return html;
}
}
@ -54,27 +54,22 @@
, page: false
//,skin:'line'
});
//单元格编辑
treeGrid.on('edit(' + tableId + ')', function (obj) {
layer.confirm('确定要提交修改吗?', { icon: 3, title: '提示' }, function (index) {
$.ajax({
url: "{:url('home/rule/add')}",
type: 'post',
data: { id: obj.data.id, field: obj.field, value: obj.value },
success: function (e) {
layer.msg(e.msg);
if(e.code == 0){
setTimeout(function(){
location.reload()
},2000)
}
}
})
layer.close(index);
});
//表头工具栏事件
$('.body-content').on('click','.add-menu', function(){
rightpage.open("{:url('home/rule/add')}");
return;
});
//删除
//操作按钮
treeGrid.on('tool(' + tableId + ')', function (obj) {
if (obj.event === 'add') {
rightpage.open('/home/rule/add?pid='+obj.data.id);
return;
}
if (obj.event === 'edit') {
rightpage.open('/home/rule/add?id='+obj.data.id);
return;
}
if (obj.event === 'del') {
layer.confirm('确定要删除吗?', { icon: 3, title: '提示' }, function (index) {
$.ajax({
@ -95,6 +90,6 @@
}
</script>
{include file="common/layui" base="base" extend="['treeGrid']" callback="init" /}
{include file="common/layui" base="base" extend="['treeGrid','rightpage']" callback="init" /}
{/block}
<!-- /脚本 -->

View File

@ -102,7 +102,7 @@ CREATE TABLE `oa_admin_menu` (
`title` varchar(255) NOT NULL DEFAULT '标题',
`src` varchar(255) NULL DEFAULT '链接',
`icon` varchar(255) NULL DEFAULT '图标',
`sort` int(11) NOT NULL DEFAULT 1 COMMENT '越靠前',
`sort` int(11) NOT NULL DEFAULT 1 COMMENT '越靠前',
`create_time` int(11) NOT NULL DEFAULT 0,
`update_time` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE,
@ -112,57 +112,57 @@ CREATE TABLE `oa_admin_menu` (
-- ----------------------------
-- Records of oa_admin_menu
-- ----------------------------
INSERT INTO `oa_admin_menu` VALUES (1, 0, '系统管理', '', 'icon-jichupeizhi', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (2, 0, '基础数据', '', 'icon-hetongshezhi', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (3, 0, '人力资源', '', 'icon-renshishezhi', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (4, 0, '消息通知', '', 'icon-xiaoxishezhi', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (5, 0, '企业公告', '', 'icon-zhaoshengbaobiao', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (6, 0, '知识文章', '', 'icon-kecheng', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (7, 0, '日常办公', '', 'icon-kaoshijihua', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (8, 0, '财务管理', '', 'icon-yuangongtidian', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (9, 0, '商业智能', '', 'icon-jiaoxuetongji', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (1, 0, '系统管理', '', 'icon-jichupeizhi');
INSERT INTO `oa_admin_menu` VALUES (2, 0, '基础数据', '', 'icon-hetongshezhi');
INSERT INTO `oa_admin_menu` VALUES (3, 0, '人力资源', '', 'icon-renshishezhi');
INSERT INTO `oa_admin_menu` VALUES (4, 0, '消息通知', '', 'icon-xiaoxishezhi');
INSERT INTO `oa_admin_menu` VALUES (5, 0, '企业公告', '', 'icon-zhaoshengbaobiao');
INSERT INTO `oa_admin_menu` VALUES (6, 0, '知识文章', '', 'icon-kecheng');
INSERT INTO `oa_admin_menu` VALUES (7, 0, '日常办公', '', 'icon-kaoshijihua');
INSERT INTO `oa_admin_menu` VALUES (8, 0, '财务管理', '', 'icon-yuangongtidian');
INSERT INTO `oa_admin_menu` VALUES (9, 0, '商业智能', '', 'icon-jiaoxuetongji');
INSERT INTO `oa_admin_menu` VALUES (10, 1, '系统配置', 'home/conf/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (11, 1, '功能菜单', 'home/menu/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (12, 1, '功能节点', 'home/rule/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (13, 1, '权限角色', 'home/role/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (14, 1, '操作日志', 'home/admin/log', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (15, 1, '数据备份', 'home/database/database', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (16, 1, '数据还原', 'home/database/backuplist', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (10, 1, '系统配置', 'home/conf/index', '');
INSERT INTO `oa_admin_menu` VALUES (11, 1, '功能菜单', 'home/menu/index', '');
INSERT INTO `oa_admin_menu` VALUES (12, 1, '功能节点', 'home/rule/index', '');
INSERT INTO `oa_admin_menu` VALUES (13, 1, '权限角色', 'home/role/index', '');
INSERT INTO `oa_admin_menu` VALUES (14, 1, '操作日志', 'home/admin/log', '');
INSERT INTO `oa_admin_menu` VALUES (15, 1, '数据备份', 'home/database/database', '');
INSERT INTO `oa_admin_menu` VALUES (16, 1, '数据还原', 'home/database/backuplist', '');
INSERT INTO `oa_admin_menu` VALUES (17, 2, '审核人相关配置', 'home/check/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (18, 2, '工作类型设置', 'home/schedule/cate', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (19, 2, '知识关键字设置', 'home/keywords/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (20, 2, '报销类型设置', 'home/expense/cate', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (21, 2, '发票主体设置', 'home/invoice/subject', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (17, 2, '审核人相关配置', 'home/check/index', '');
INSERT INTO `oa_admin_menu` VALUES (18, 2, '工作类型设置', 'home/schedule/cate', '');
INSERT INTO `oa_admin_menu` VALUES (19, 2, '知识关键字设置', 'home/keywords/index', '');
INSERT INTO `oa_admin_menu` VALUES (20, 2, '报销类型设置', 'home/expense/cate', '');
INSERT INTO `oa_admin_menu` VALUES (21, 2, '发票主体设置', 'home/invoice/subject', '');
INSERT INTO `oa_admin_menu` VALUES (22, 3, '部门架构', 'home/department/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (23, 3, '岗位职称', 'home/position/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (24, 3, '企业员工', 'home/admin/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (25, 3, '人事调动', 'home/personal/change', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (26, 3, '离职档案', 'home/personal/leave', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (22, 3, '部门架构', 'home/department/index', '');
INSERT INTO `oa_admin_menu` VALUES (23, 3, '岗位职称', 'home/position/index', '');
INSERT INTO `oa_admin_menu` VALUES (24, 3, '企业员工', 'home/admin/index', '',);
INSERT INTO `oa_admin_menu` VALUES (25, 3, '人事调动', 'home/personal/change', '');
INSERT INTO `oa_admin_menu` VALUES (26, 3, '离职档案', 'home/personal/leave', '');
INSERT INTO `oa_admin_menu` VALUES (27, 4, '收件箱', 'home/mail/inbox', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (28, 4, '已发送', 'home/mail/sendbox', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (29, 4, '草稿箱', 'home/mail/draft', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (30, 4, '垃圾箱', 'home/mail/rubbish', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (27, 4, '收件箱', 'home/mail/inbox', '');
INSERT INTO `oa_admin_menu` VALUES (28, 4, '已发送', 'home/mail/sendbox', '');
INSERT INTO `oa_admin_menu` VALUES (29, 4, '草稿箱', 'home/mail/draft', '');
INSERT INTO `oa_admin_menu` VALUES (30, 4, '垃圾箱', 'home/mail/rubbish', '');
INSERT INTO `oa_admin_menu` VALUES (31, 5, '公告类别', 'home/note/cate', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (32, 5, '公告列表', 'home/note/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (31, 5, '公告类别', 'home/note/cate', '');
INSERT INTO `oa_admin_menu` VALUES (32, 5, '公告列表', 'home/note/index', '');
INSERT INTO `oa_admin_menu` VALUES (33, 6, '知识类别', 'home/article/cate', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (34, 6, '共享知识', 'home/article/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (35, 6, '个人知识', 'home/article/list', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (33, 6, '知识类别', 'home/article/cate', '');
INSERT INTO `oa_admin_menu` VALUES (34, 6, '共享知识', 'home/article/index', '');
INSERT INTO `oa_admin_menu` VALUES (35, 6, '个人知识', 'home/article/list', '');
INSERT INTO `oa_admin_menu` VALUES (36, 7, '日程安排', 'home/plan/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (37, 7, '日程日历', 'home/plan/calendar', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (38, 7, '工作记录', 'home/schedule/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (39, 7, '工作日历', 'home/schedule/calendar', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (36, 7, '日程安排', 'home/plan/index', '');
INSERT INTO `oa_admin_menu` VALUES (37, 7, '日程日历', 'home/plan/calendar', '');
INSERT INTO `oa_admin_menu` VALUES (38, 7, '工作记录', 'home/schedule/index', '');
INSERT INTO `oa_admin_menu` VALUES (39, 7, '工作日历', 'home/schedule/calendar', '');
INSERT INTO `oa_admin_menu` VALUES (40, 8, '报销管理', 'home/expense/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (41, 8, '发票管理', 'home/invoice/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (42, 8, '到账管理', 'home/income/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (43, 9, '日志分析', 'home/analysis/index', '', 1, 0, 0);
INSERT INTO `oa_admin_menu` VALUES (40, 8, '报销管理', 'home/expense/index', '');
INSERT INTO `oa_admin_menu` VALUES (41, 8, '发票管理', 'home/invoice/index', '');
INSERT INTO `oa_admin_menu` VALUES (42, 8, '到账管理', 'home/income/index', '');
INSERT INTO `oa_admin_menu` VALUES (43, 9, '日志分析', 'home/analysis/index', '');
-- ----------------------------
-- Table structure for oa_admin_rule
@ -174,6 +174,7 @@ CREATE TABLE `oa_admin_rule` (
`src` varchar(255) NOT NULL DEFAULT '' COMMENT '规则',
`title` varchar(255) NOT NULL DEFAULT '规则标题',
`name` varchar(255) NOT NULL DEFAULT '操作名称',
`sort` int(11) NOT NULL DEFAULT 1 COMMENT '越小越靠前',
`create_time` int(11) NOT NULL DEFAULT 0,
`update_time` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
@ -184,152 +185,152 @@ CREATE TABLE `oa_admin_rule` (
-- ----------------------------
-- Records of oa_admin_rule
-- ----------------------------
INSERT INTO `oa_admin_rule` VALUES (1, 0, '', '系统管理','系统管理', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (2, 0, '', '基础数据','基础数据', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (3, 0, '', '人力资源','人力资源', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (4, 0, '', '消息通知','消息通知', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (5, 0, '', '企业公告','企业公告', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (6, 0, '', '知识文章','知识文章', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (7, 0, '', '日常办公','日常办公', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (8, 0, '', '财务管理','财务管理', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (9, 0, '', '商业智能','商业智能', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (1, 0, '', '系统管理','系统管理');
INSERT INTO `oa_admin_rule` VALUES (2, 0, '', '基础数据','基础数据');
INSERT INTO `oa_admin_rule` VALUES (3, 0, '', '人力资源','人力资源');
INSERT INTO `oa_admin_rule` VALUES (4, 0, '', '消息通知','消息通知');
INSERT INTO `oa_admin_rule` VALUES (5, 0, '', '企业公告','企业公告');
INSERT INTO `oa_admin_rule` VALUES (6, 0, '', '知识文章','知识文章');
INSERT INTO `oa_admin_rule` VALUES (7, 0, '', '日常办公','日常办公');
INSERT INTO `oa_admin_rule` VALUES (8, 0, '', '财务管理','财务管理');
INSERT INTO `oa_admin_rule` VALUES (9, 0, '', '商业智能','商业智能');
INSERT INTO `oa_admin_rule` VALUES (10, 1, 'home/conf/index', '系统配置','系统配置', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (11, 10, 'home/conf/add', '新增/编辑配置项','配置项', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (12, 10, 'home/conf/edit', '新增/编辑配置详情','配置详情', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (13, 10, 'home/conf/delete', '删除配置项','配置项', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (10, 1, 'home/conf/index', '系统配置','系统配置');
INSERT INTO `oa_admin_rule` VALUES (11, 10, 'home/conf/add', '新增/编辑配置项','配置项');
INSERT INTO `oa_admin_rule` VALUES (12, 10, 'home/conf/edit', '新增/编辑配置详情','配置详情');
INSERT INTO `oa_admin_rule` VALUES (13, 10, 'home/conf/delete', '删除配置项','配置项');
INSERT INTO `oa_admin_rule` VALUES (14, 1, 'home/menu/index', '功能菜单','功能菜单', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (15, 14, 'home/menu/add', '新增/编辑功能菜单','功能菜单', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (16, 14, 'home/menu/delete', '删除功能菜单','功能菜单', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (14, 1, 'home/menu/index', '功能菜单','功能菜单');
INSERT INTO `oa_admin_rule` VALUES (15, 14, 'home/menu/add', '新增/编辑功能菜单','功能菜单');
INSERT INTO `oa_admin_rule` VALUES (16, 14, 'home/menu/delete', '删除功能菜单','功能菜单');
INSERT INTO `oa_admin_rule` VALUES (17, 1, 'home/rule/index', '功能节点','功能节点', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (18, 17, 'home/rule/add', '新增/编辑功能节点','功能节点', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (19, 17, 'home/rule/delete', '删除功能节点','功能节点', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (17, 1, 'home/rule/index', '功能节点','功能节点');
INSERT INTO `oa_admin_rule` VALUES (18, 17, 'home/rule/add', '新增/编辑功能节点','功能节点');
INSERT INTO `oa_admin_rule` VALUES (19, 17, 'home/rule/delete', '删除功能节点','功能节点');
INSERT INTO `oa_admin_rule` VALUES (20, 1, 'home/role/index', '权限角色','权限角色', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (21, 20, 'home/role/add', '新增/编辑权限角色','权限角色', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (22, 20, 'home/role/delete', '删除权限角色','权限角色', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (20, 1, 'home/role/index', '权限角色','权限角色');
INSERT INTO `oa_admin_rule` VALUES (21, 20, 'home/role/add', '新增/编辑权限角色','权限角色');
INSERT INTO `oa_admin_rule` VALUES (22, 20, 'home/role/delete', '删除权限角色','权限角色');
INSERT INTO `oa_admin_rule` VALUES (23, 1, 'home/admin/log', '操作日志','操作日志', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (23, 1, 'home/admin/log', '操作日志','操作日志');
INSERT INTO `oa_admin_rule` VALUES (24, 1, 'home/database/database', '备份数据','备份数据', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (25, 24, 'home/database/backup', '备份数据表','备份数据', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (26, 24, 'home/database/optimize', '优化数据表','优化数据表', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (27, 24, 'home/database/repair', '修复数据表','修复数据表', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (24, 1, 'home/database/database', '备份数据','备份数据');
INSERT INTO `oa_admin_rule` VALUES (25, 24, 'home/database/backup', '备份数据表','备份数据');
INSERT INTO `oa_admin_rule` VALUES (26, 24, 'home/database/optimize', '优化数据表','优化数据表');
INSERT INTO `oa_admin_rule` VALUES (27, 24, 'home/database/repair', '修复数据表','修复数据表');
INSERT INTO `oa_admin_rule` VALUES (28, 1, 'home/database/backuplist', '还原数据','还原数据', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (29, 28, 'home/database/import', '还原数据表','还原数据', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (30, 28, 'home/database/downfile', '下载备份数据','下载备份数据', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (31, 28, 'home/database/del', '删除备份数据','删除备份数据', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (28, 1, 'home/database/backuplist', '还原数据','还原数据');
INSERT INTO `oa_admin_rule` VALUES (29, 28, 'home/database/import', '还原数据表','还原数据');
INSERT INTO `oa_admin_rule` VALUES (30, 28, 'home/database/downfile', '下载备份数据','下载备份数据');
INSERT INTO `oa_admin_rule` VALUES (31, 28, 'home/database/del', '删除备份数据','删除备份数据');
INSERT INTO `oa_admin_rule` VALUES (32, 2, 'home/check/index', '审核人配置','审核人', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (33, 32, 'home/check/add', '新增/编辑审核人','审核人', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (34, 32, 'home/check/delete', '删除审核人','审核人', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (32, 2, 'home/check/index', '审核人配置','审核人');
INSERT INTO `oa_admin_rule` VALUES (33, 32, 'home/check/add', '新增/编辑审核人','审核人');
INSERT INTO `oa_admin_rule` VALUES (34, 32, 'home/check/delete', '删除审核人','审核人');
INSERT INTO `oa_admin_rule` VALUES (35, 2, 'home/schedule/cate', '工作类型设置','工作类型', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (36, 35, 'home/schedule/cate_add', '新增/编辑工作类型','工作类型', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (37, 35, 'home/schedule/cate_disable', '禁用工作类型','工作类型', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (38, 35, 'home/schedule/cate_delete', '删除工作类型','工作类型', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (35, 2, 'home/schedule/cate', '工作类型设置','工作类型');
INSERT INTO `oa_admin_rule` VALUES (36, 35, 'home/schedule/cate_add', '新增/编辑工作类型','工作类型');
INSERT INTO `oa_admin_rule` VALUES (37, 35, 'home/schedule/cate_disable', '禁用工作类型','工作类型');
INSERT INTO `oa_admin_rule` VALUES (38, 35, 'home/schedule/cate_delete', '删除工作类型','工作类型');
INSERT INTO `oa_admin_rule` VALUES (39, 2, 'home/keywords/index', '知识关键字设置','知识关键字', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (40, 39, 'home/keywords/add', '新增/编辑知识关键字','知识关键字', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (41, 39, 'home/keywords/delete', '删除知识关键字','知识关键字', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (39, 2, 'home/keywords/index', '知识关键字设置','知识关键字');
INSERT INTO `oa_admin_rule` VALUES (40, 39, 'home/keywords/add', '新增/编辑知识关键字','知识关键字');
INSERT INTO `oa_admin_rule` VALUES (41, 39, 'home/keywords/delete', '删除知识关键字','知识关键字');
INSERT INTO `oa_admin_rule` VALUES (42, 2, 'home/expense/cate', '报销类型设置','报销类型', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (43, 42, 'home/expense/cate_add', '新增/编辑报销类型','报销类型', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (44, 42, 'home/expense/cate_disable', '禁用报销类型','报销类型', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (45, 42, 'home/expense/cate_delete', '删除报销类型','报销类型', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (42, 2, 'home/expense/cate', '报销类型设置','报销类型');
INSERT INTO `oa_admin_rule` VALUES (43, 42, 'home/expense/cate_add', '新增/编辑报销类型','报销类型');
INSERT INTO `oa_admin_rule` VALUES (44, 42, 'home/expense/cate_disable', '禁用报销类型','报销类型');
INSERT INTO `oa_admin_rule` VALUES (45, 42, 'home/expense/cate_delete', '删除报销类型','报销类型');
INSERT INTO `oa_admin_rule` VALUES (46, 2, 'home/invoice/subject', '发票主体设置','发票主体', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (47, 46, 'home/invoice/subject_add', '新增/编辑发票主体','发票主体', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (48, 46, 'home/invoice/subject_disable', '禁用发票主体','发票主体', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (49, 46, 'home/invoice/subject_delete', '删除发票主体','发票主体', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (46, 2, 'home/invoice/subject', '发票主体设置','发票主体');
INSERT INTO `oa_admin_rule` VALUES (47, 46, 'home/invoice/subject_add', '新增/编辑发票主体','发票主体');
INSERT INTO `oa_admin_rule` VALUES (48, 46, 'home/invoice/subject_disable', '禁用发票主体','发票主体');
INSERT INTO `oa_admin_rule` VALUES (49, 46, 'home/invoice/subject_delete', '删除发票主体','发票主体');
INSERT INTO `oa_admin_rule` VALUES (50, 3, 'home/department/index', '部门架构','部门', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (51, 50, 'home/department/add', '添加/编辑部门信息','部门', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (52, 50, 'home/department/delete', '删除部门','部门', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (50, 3, 'home/department/index', '部门架构','部门');
INSERT INTO `oa_admin_rule` VALUES (51, 50, 'home/department/add', '添加/编辑部门信息','部门');
INSERT INTO `oa_admin_rule` VALUES (52, 50, 'home/department/delete', '删除部门','部门');
INSERT INTO `oa_admin_rule` VALUES (53, 3, 'home/position/index', '岗位职称','岗位职称', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (54, 53, 'home/position/add', '添加/编辑岗位职称','岗位职称', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (55, 53, 'home/position/delete', '删除岗位职称','岗位职称', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (56, 53, 'home/position/view', '查看岗位职称','岗位职称', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (53, 3, 'home/position/index', '岗位职称','岗位职称');
INSERT INTO `oa_admin_rule` VALUES (54, 53, 'home/position/add', '添加/编辑岗位职称','岗位职称');
INSERT INTO `oa_admin_rule` VALUES (55, 53, 'home/position/delete', '删除岗位职称','岗位职称');
INSERT INTO `oa_admin_rule` VALUES (56, 53, 'home/position/view', '查看岗位职称','岗位职称');
INSERT INTO `oa_admin_rule` VALUES (57, 3, 'home/admin/index', '企业员工','员工', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (58, 57, 'home/admin/add', '添加/编辑员工','员工', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (59, 57, 'home/admin/view', '查看员工信息','员工', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (60, 57, 'home/admin/set', '设置员工状态','员工状态', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (61, 57, 'home/admin/reset_psw', '重设员工密码','员工密码', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (57, 3, 'home/admin/index', '企业员工','员工');
INSERT INTO `oa_admin_rule` VALUES (58, 57, 'home/admin/add', '添加/编辑员工','员工');
INSERT INTO `oa_admin_rule` VALUES (59, 57, 'home/admin/view', '查看员工信息','员工');
INSERT INTO `oa_admin_rule` VALUES (60, 57, 'home/admin/set', '设置员工状态','员工状态');
INSERT INTO `oa_admin_rule` VALUES (61, 57, 'home/admin/reset_psw', '重设员工密码','员工密码');
INSERT INTO `oa_admin_rule` VALUES (62, 3, 'home/personal/change', '人事调动','人事调动', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (63, 62, 'home/personal/change_add', '新增/编辑人事调动','人事调动', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (62, 3, 'home/personal/change', '人事调动','人事调动');
INSERT INTO `oa_admin_rule` VALUES (63, 62, 'home/personal/change_add', '新增/编辑人事调动','人事调动');
INSERT INTO `oa_admin_rule` VALUES (64, 3, 'home/personal/leave', '离职档案','离职档案', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (65, 64, 'home/personal/leave_add', '新增/编辑离职档案','离职档案', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (66, 64, 'home/personal/leave_delete', '删除离职档案','离职档案', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (64, 3, 'home/personal/leave', '离职档案','离职档案');
INSERT INTO `oa_admin_rule` VALUES (65, 64, 'home/personal/leave_add', '新增/编辑离职档案','离职档案');
INSERT INTO `oa_admin_rule` VALUES (66, 64, 'home/personal/leave_delete', '删除离职档案','离职档案');
INSERT INTO `oa_admin_rule` VALUES (67, 4, 'home/mail/inbox', '收件箱','收件箱', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (68, 67, 'home/mail/add', '添加/修改消息','消息', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (69, 67, 'home/mail/send', '发送消息','消息', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (70, 67, 'home/mail/save', '保存消息到草稿','消息到草稿', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (71, 67, 'home/mail/reply', '回复消息','消息', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (72, 67, 'home/mail/check', '设置消息状态','消息状态', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (73, 67, 'home/mail/read', '查看消息','消息', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (67, 4, 'home/mail/inbox', '收件箱','收件箱');
INSERT INTO `oa_admin_rule` VALUES (68, 67, 'home/mail/add', '添加/修改消息','消息');
INSERT INTO `oa_admin_rule` VALUES (69, 67, 'home/mail/send', '发送消息','消息');
INSERT INTO `oa_admin_rule` VALUES (70, 67, 'home/mail/save', '保存消息到草稿','消息到草稿');
INSERT INTO `oa_admin_rule` VALUES (71, 67, 'home/mail/reply', '回复消息','消息');
INSERT INTO `oa_admin_rule` VALUES (72, 67, 'home/mail/check', '设置消息状态','消息状态');
INSERT INTO `oa_admin_rule` VALUES (73, 67, 'home/mail/read', '查看消息','消息');
INSERT INTO `oa_admin_rule` VALUES (74, 4, 'home/mail/sendbox', '发件箱','发件箱', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (75, 4, 'home/mail/draft', '草稿箱','草稿箱', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (76, 4, 'home/mail/rubbish', '垃圾箱','垃圾箱', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (74, 4, 'home/mail/sendbox', '发件箱','发件箱');
INSERT INTO `oa_admin_rule` VALUES (75, 4, 'home/mail/draft', '草稿箱','草稿箱');
INSERT INTO `oa_admin_rule` VALUES (76, 4, 'home/mail/rubbish', '垃圾箱','垃圾箱');
INSERT INTO `oa_admin_rule` VALUES (77, 5, 'home/note/cate', '公告分类','公告分类', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (78, 77, 'home/note/cate_add', '添加/修改公告分类','公告分类', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (79, 77, 'home/note/cate_delete', '删除公告分类','公告分类', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (77, 5, 'home/note/cate', '公告分类','公告分类');
INSERT INTO `oa_admin_rule` VALUES (78, 77, 'home/note/cate_add', '添加/修改公告分类','公告分类');
INSERT INTO `oa_admin_rule` VALUES (79, 77, 'home/note/cate_delete', '删除公告分类','公告分类');
INSERT INTO `oa_admin_rule` VALUES (80, 5, 'home/note/index', '公告列表','公告', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (81, 80, 'home/note/add', '添加公告','公告', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (82, 80, 'home/note/delete', '删除公告','公告', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (83, 80, 'home/note/view', '查看公告','公告', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (80, 5, 'home/note/index', '公告列表','公告');
INSERT INTO `oa_admin_rule` VALUES (81, 80, 'home/note/add', '添加公告','公告');
INSERT INTO `oa_admin_rule` VALUES (82, 80, 'home/note/delete', '删除公告','公告');
INSERT INTO `oa_admin_rule` VALUES (83, 80, 'home/note/view', '查看公告','公告');
INSERT INTO `oa_admin_rule` VALUES (84, 6, 'home/article/cate', '知识分类','知识分类', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (85, 84, 'home/article/cate_add', '添加/修改知识分类','知识分类', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (86, 84, 'home/article/cate_delete', '删除知识分类','知识分类', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (84, 6, 'home/article/cate', '知识分类','知识分类');
INSERT INTO `oa_admin_rule` VALUES (85, 84, 'home/article/cate_add', '添加/修改知识分类','知识分类');
INSERT INTO `oa_admin_rule` VALUES (86, 84, 'home/article/cate_delete', '删除知识分类','知识分类');
INSERT INTO `oa_admin_rule` VALUES (87, 6, 'home/article/index', '共享知识','知识文章', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (88, 87, 'home/article/add', '添加/修改知识文章','知识文章', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (89, 87, 'home/article/delete', '删除知识文章','知识文章', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (90, 87, 'home/article/view', '查看知识文章','知识文章', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (87, 6, 'home/article/index', '共享知识','知识文章');
INSERT INTO `oa_admin_rule` VALUES (88, 87, 'home/article/add', '添加/修改知识文章','知识文章');
INSERT INTO `oa_admin_rule` VALUES (89, 87, 'home/article/delete', '删除知识文章','知识文章');
INSERT INTO `oa_admin_rule` VALUES (90, 87, 'home/article/view', '查看知识文章','知识文章');
INSERT INTO `oa_admin_rule` VALUES (91, 6, 'home/article/list', '个人知识','知识文章', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (91, 6, 'home/article/list', '个人知识','知识文章');
INSERT INTO `oa_admin_rule` VALUES (92, 7, 'home/plan/index', '日程安排','日程安排', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (93, 92, 'home/plan/calendar', '日程日历','日程安排', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (94, 92, 'home/plan/add', '添加/编辑日程安排','日程安排', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (95, 92, 'home/plan/delete', '删除日程安排','日程安排', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (96, 92, 'home/plan/detail', '查看日程安排','日程安排', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (92, 7, 'home/plan/index', '日程安排','日程安排');
INSERT INTO `oa_admin_rule` VALUES (93, 92, 'home/plan/calendar', '日程日历','日程安排');
INSERT INTO `oa_admin_rule` VALUES (94, 92, 'home/plan/add', '添加/编辑日程安排','日程安排');
INSERT INTO `oa_admin_rule` VALUES (95, 92, 'home/plan/delete', '删除日程安排','日程安排');
INSERT INTO `oa_admin_rule` VALUES (96, 92, 'home/plan/detail', '查看日程安排','日程安排');
INSERT INTO `oa_admin_rule` VALUES (97, 7, 'home/schedule/index', '工作记录','工作记录', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (98, 97, 'home/schedule/calendar', '工作记录日历','工作日历', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (99, 97, 'home/schedule/add', '添加/编辑工作记录','工作记录', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (100, 97, 'home/schedule/delete', '删除工作记录','工作记录', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (101, 97, 'home/schedule/detail', '查看工作记录','工作记录', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (102, 97, 'home/schedule/update_labor_time', '更改工时','工时', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (97, 7, 'home/schedule/index', '工作记录','工作记录');
INSERT INTO `oa_admin_rule` VALUES (98, 97, 'home/schedule/calendar', '工作记录日历','工作日历');
INSERT INTO `oa_admin_rule` VALUES (99, 97, 'home/schedule/add', '添加/编辑工作记录','工作记录');
INSERT INTO `oa_admin_rule` VALUES (100, 97, 'home/schedule/delete', '删除工作记录','工作记录');
INSERT INTO `oa_admin_rule` VALUES (101, 97, 'home/schedule/detail', '查看工作记录','工作记录');
INSERT INTO `oa_admin_rule` VALUES (102, 97, 'home/schedule/update_labor_time', '更改工时','工时');
INSERT INTO `oa_admin_rule` VALUES (103, 8, 'home/expense/index', '报销管理','报销', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (104, 103, 'home/expense/add', '新增/编辑报销','报销', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (105, 103, 'home/expense/delete', '删除报销','报销', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (106, 103, 'home/expense/view', '查看报销信息','报销', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (107, 103, 'home/expense/check', '设置报销状态','报销状态', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (103, 8, 'home/expense/index', '报销管理','报销');
INSERT INTO `oa_admin_rule` VALUES (104, 103, 'home/expense/add', '新增/编辑报销','报销');
INSERT INTO `oa_admin_rule` VALUES (105, 103, 'home/expense/delete', '删除报销','报销');
INSERT INTO `oa_admin_rule` VALUES (106, 103, 'home/expense/view', '查看报销信息','报销');
INSERT INTO `oa_admin_rule` VALUES (107, 103, 'home/expense/check', '设置报销状态','报销状态');
INSERT INTO `oa_admin_rule` VALUES (108, 8, 'home/invoice/index', '发票管理','发票', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (109, 108, 'home/invoice/add', '新增/编辑发票','发票', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (110, 108, 'home/invoice/delete', '删除发票','发票', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (111, 108, 'home/invoice/view', '查看发票信息','发票', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (112, 108, 'home/invoice/check', '设置发票状态','发票状态', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (108, 8, 'home/invoice/index', '发票管理','发票');
INSERT INTO `oa_admin_rule` VALUES (109, 108, 'home/invoice/add', '新增/编辑发票','发票');
INSERT INTO `oa_admin_rule` VALUES (110, 108, 'home/invoice/delete', '删除发票','发票');
INSERT INTO `oa_admin_rule` VALUES (111, 108, 'home/invoice/view', '查看发票信息','发票');
INSERT INTO `oa_admin_rule` VALUES (112, 108, 'home/invoice/check', '设置发票状态','发票状态');
INSERT INTO `oa_admin_rule` VALUES (113, 8, 'home/income/index', '到账管理','到账', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (114, 113, 'home/income/add', '新增到账','到账', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (115, 113, 'home/income/check', '设置到账状态','到账状态', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (113, 8, 'home/income/index', '到账管理','到账');
INSERT INTO `oa_admin_rule` VALUES (114, 113, 'home/income/add', '新增到账','到账');
INSERT INTO `oa_admin_rule` VALUES (115, 113, 'home/income/check', '设置到账状态','到账状态');
INSERT INTO `oa_admin_rule` VALUES (116, 9, 'home/analysis/index', '智能分析','智能分析', 0, 0);
INSERT INTO `oa_admin_rule` VALUES (116, 9, 'home/analysis/index', '智能分析','智能分析');
-- ----------------------------
-- Table structure for oa_article