公告,知识库模块体验优化

This commit is contained in:
hdm 2021-11-23 23:09:15 +08:00
parent ea132bfc00
commit 7763f3b26f
18 changed files with 312 additions and 248 deletions

View File

@ -158,6 +158,7 @@ function get_department_son($did = 0, $is_self = 1)
function get_keywords()
{
$keywords = Db::name('Keywords')->where(['status' => 1])->order('id desc')->select()->toArray();
return $keywords;
}
//读取公告分类列表
@ -167,6 +168,19 @@ function get_note_cate()
return $cate;
}
//读取公告分类子分类ids
function get_note_son($id = 0, $is_self = 1)
{
$note = get_note_cate();
$note_list = get_data_node($note, $id);
$note_array = array_column($note_list, 'id');
if ($is_self == 1) {
//包括自己在内
$note_array[] = $id;
}
return $note_array;
}
//读取知识分类列表
function get_article_cate()
{
@ -174,6 +188,19 @@ function get_article_cate()
return $cate;
}
//读取知识分类子分类ids
function get_article_son($id = 0, $is_self = 1)
{
$article = get_article_cate();
$article_list = get_data_node($article, $id);
$article_array = array_column($article_list, 'id');
if ($is_self == 1) {
//包括自己在内
$article_array[] = $id;
}
return $article_array;
}
//读取开票主体
function get_invoice_subject()
{

View File

@ -154,36 +154,36 @@ class Api extends BaseController
return to_assign(1, '邮件发送失败!');
}
}
//获取部门节点列表
public function get_department_tree()
{
$department = get_department();
$list = get_tree($department, 0,2);
$list = get_tree($department, 0, 2);
$data['trees'] = $list;
return json($data);
}
//获取子部门所有员工
public function get_employee($did=0)
//获取子部门所有员工
public function get_employee($did = 0)
{
$did=get_params('did');
$department=get_department_son($did);
$employee = Db::name('admin')
->field('a.id,a.did,a.position_id,a.mobile,a.name,a.nickname,a.sex,a.status,a.thumb,a.username,d.title as department')
->alias('a')
$did = get_params('did');
$department = get_department_son($did);
$employee = Db::name('admin')
->field('a.id,a.did,a.position_id,a.mobile,a.name,a.nickname,a.sex,a.status,a.thumb,a.username,d.title as department')
->alias('a')
->join('Department d', 'a.did = d.id')
->where(['a.status'=>1])
->where('a.did',"in",$department)
->select();
return to_assign(0,'',$employee);
->where(['a.status' => 1])
->where('a.did', "in", $department)
->select();
return to_assign(0, '', $employee);
}
//获取角色列表
public function get_position()
{
$position = Db::name('Position')->field('id,title as name')->where([['status','=',1],['id','>',1]])->select();
return to_assign(0,'',$position);
{
$position = Db::name('Position')->field('id,title as name')->where([['status', '=', 1], ['id', '>', 1]])->select();
return to_assign(0, '', $position);
}
//首页公告
@ -222,7 +222,6 @@ class Api extends BaseController
return table_assign(0, '', $res);
}
//修改个人信息
public function edit_personal()
{
@ -289,20 +288,19 @@ class Api extends BaseController
public function del_expense_interfix()
{
$id = get_params("id");
$admin_id = Db::name('ExpenseInterfix')->where('id',$id)->value('admin_id');
if($admin_id == $this->uid){
if (Db::name('ExpenseInterfix')->where('id',$id)->delete() !== false) {
return to_assign(0, "删除成功");
} else {
return to_assign(1, "删除失败");
}
}else{
return to_assign(1, "您没权限删除该报销数据");
}
$admin_id = Db::name('ExpenseInterfix')->where('id', $id)->value('admin_id');
if ($admin_id == $this->uid) {
if (Db::name('ExpenseInterfix')->where('id', $id)->delete() !== false) {
return to_assign(0, "删除成功");
} else {
return to_assign(1, "删除失败");
}
} else {
return to_assign(1, "您没权限删除该报销数据");
}
}
//系统操作日志
public function log_list()
{
@ -317,23 +315,23 @@ class Api extends BaseController
$content = $log->get_log_list($param);
return table_assign(0, '', $content);
}
//获取访问记录
public function get_view_data()
{
$param = get_params();
$first_time = time();
$second_time = $first_time - 86400;
$three_time = $first_time - 86400*365;
$three_time = $first_time - 86400 * 365;
$begin_first = strtotime(date('Y-m-d', $first_time) . " 00:00:00");
$end_first = strtotime(date('Y-m-d', $first_time) . " 23:59:59");
$begin_second = strtotime(date('Y-m-d', $second_time) . " 00:00:00");
$end_second = strtotime(date('Y-m-d', $second_time) . " 23:59:59");
$begin_three = strtotime(date('Y-m-d', $three_time) . " 00:00:00");
$begin_three = strtotime(date('Y-m-d', $three_time) . " 00:00:00");
$data_first = Db::name('AdminLog')->field('create_time')->whereBetween('create_time', "$begin_first,$end_first")->select();
$data_second = Db::name('AdminLog')->field('create_time')->whereBetween('create_time', "$begin_second,$end_second")->select();
$data_three = Db::name('AdminLog')->field('create_time')->whereBetween('create_time', "$begin_three,$end_first")->select();
return to_assign(0, '', ['data_first' => hour_document($data_first), 'data_second' => hour_document($data_second), 'data_three'=>date_document($data_three)]);
$data_three = Db::name('AdminLog')->field('create_time')->whereBetween('create_time', "$begin_three,$end_first")->select();
return to_assign(0, '', ['data_first' => hour_document($data_first), 'data_second' => hour_document($data_second), 'data_three' => date_document($data_three)]);
}
}

View File

@ -36,22 +36,23 @@ class Article extends BaseController
$param = get_params();
if (request()->isAjax()) {
if (!empty($param['id']) && $param['id'] > 0) {
$data[$param['field']] = $param['value'];
$data['id'] = $param['id'];
$data['update_time'] = time();
if (!empty($data['title'])) {
try {
validate(ArticleCateCheck::class)->scene('edit')->check($data);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
try {
validate(ArticleCateCheck::class)->scene('edit')->check($param);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
$note_array = get_article_son($param['id']);
if (in_array($param['pid'], $note_array)) {
return to_assign(1, '父级分类不能是该分类本身或其子分类');
} else {
$param['update_time'] = time();
$res = ArticleCate::strict(false)->field(true)->update($param);
if($res){
add_log('edit', $param['id'], $param);
return to_assign();
}
}
$res = ArticleCate::strict(false)->field(true)->update($data);
if ($res) {
add_log('edit', $data['id'], $data);
}
return to_assign();
} else {
try {
validate(ArticleCateCheck::class)->scene('add')->check($param);
@ -67,7 +68,13 @@ class Article 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('ArticleCate')->where(['id' => $id])->find();
View::assign('detail', $detail);
}
View::assign('id', $id);
View::assign('pid', $pid);
return view();
}

View File

@ -51,6 +51,7 @@ class Department extends BaseController
} else {
Db::name('Department')->strict(false)->field(true)->update($param);
add_log('edit', $param['id'], $param);
return to_assign();
}
} else {
try {
@ -61,8 +62,8 @@ class Department extends BaseController
}
$did = Db::name('Department')->strict(false)->field(true)->insertGetId($param);
add_log('add', $did, $param);
return to_assign();
}
return to_assign();
} else {
$id = isset($param['id']) ? $param['id'] : 0;
$pid = isset($param['pid']) ? $param['pid'] : 0;

View File

@ -33,25 +33,26 @@ class Note extends BaseController
//分类添加
public function cate_add()
{
$param = get_params();
if (request()->isAjax()) {
$param = get_params();
if (!empty($param['id']) && $param['id'] > 0) {
$data[$param['field']] = $param['value'];
$data['id'] = $param['id'];
$data['update_time'] = time();
if (!empty($data['title'])) {
try {
validate(NoteCateCheck::class)->scene('edit')->check($data);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
try {
validate(NoteCateCheck::class)->scene('edit')->check($param);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
$note_array = get_note_son($param['id']);
if (in_array($param['pid'], $note_array)) {
return to_assign(1, '父级分类不能是该分类本身或其子分类');
} else {
$param['update_time'] = time();
$res = NoteCate::strict(false)->field(true)->update($param);
if ($res) {
add_log('edit', $param['id'], $param);
}
return to_assign();
}
$res = NoteCate::strict(false)->field(true)->update($data);
if ($res) {
add_log('edit', $data['id'], $data);
}
return to_assign();
} else {
try {
validate(NoteCateCheck::class)->scene('add')->check($param);
@ -67,7 +68,13 @@ class Note 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('NoteCate')->where(['id' => $id])->find();
View::assign('detail', $detail);
}
View::assign('id', $id);
View::assign('pid', $pid);
return view();
}

View File

@ -2,7 +2,7 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<h3 class="h3-title">新增文章</h3>
<h3 class="h3-title">新增知识文章</h3>
<table class="layui-table">
<tr>
<td class="layui-td-gray">文章标题 <span style="color: red">*</span></td>

View File

@ -10,8 +10,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/article/cate_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>
@ -26,14 +26,13 @@
<!-- 脚本 -->
{block name="script"}
<script>
var editObj=null,ptable=null,treeGrid=null,tableId='treeTable',layer=null;
function init(layui){
var table=layui.table,form = layui.form;
treeGrid = layui.treeGrid;//很重要
layer=layui.layer;
ptable=treeGrid.render({
id:tableId
,elem: '#'+tableId
function init(layui) {
var treeGrid = layui.treeGrid,
layer = layui.layer,
rightpage = layui.rightpage,
ptable = treeGrid.render({
id:'treeTable'
,elem: '#treeTable'
,idField:'id'
,url:"{:url('home/article/cate')}"
,cellMinWidth: 100
@ -42,62 +41,55 @@
,treeShowName:'title'//以树形式显示的字段
,cols: [[
{field:'id',width:80, title: 'ID号', align:'center'}
,{field: 'sort', title: '排序', edit: "text", align:'center', style:'cursor: pointer;', width:80}
,{field: 'sort', title: '排序',align:'center', width:80}
,{field:'title', edit:'text',width:240, title: '分类名称'}
,{field:'pid', title: '父级ID', edit:"text",width:80, align:'center'}
,{field:'desc', title: '描述', edit:"text"}
,{width:100,title: '操作', align:'center'
,templet: function(d){
var html='';
var addBtn='<a class="layui-btn layui-btn-normal layui-btn-xs" title="添加分类" href="/home/article/cate_add?pid='+d.id+'">添加</a>';
var delBtn='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
return addBtn+delBtn;
,{field:'pid', title: '父级ID', width:80, align:'center'}
,{field:'desc', 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;
}
}
]]
,page:false
//,skin:'line'
});
//单元格编辑
treeGrid.on('edit('+tableId+')', function(obj){
layer.confirm('确定要提交修改吗?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url:"{:url('home/article/cate_add')}",
type:'post',
data:{id:obj.data.id,field:obj.field,value:obj.value},
success:function(res){
layer.msg(res.msg);
if(res.code == 0){
setTimeout(function(){
location.reload()
},1200)
}
}
})
layer.close(index);
});
//表头工具栏事件
$('.body-content').on('click','.add-menu', function(){
rightpage.open("{:url('home/article/cate_add')}");
return;
});
//删除
treeGrid.on('tool('+tableId+')',function (obj) {
if(obj.event === 'del'){
layer.confirm('确定要删除吗?', {icon: 3, title:'提示'}, function(index){
//操作按钮
treeGrid.on('tool(treeTable)', function (obj) {
if (obj.event === 'add') {
rightpage.open('/home/article/cate_add?pid='+obj.data.id);
return;
}
if (obj.event === 'edit') {
rightpage.open('/home/article/cate_add?id='+obj.data.id);
return;
}
if (obj.event === 'del') {
layer.confirm('确定要删除吗?', { icon: 3, title: '提示' }, function (index) {
$.ajax({
url:"{:url('home/article/cate_delete')}",
type:'post',
data:{id:obj.data.id},
success:function(res){
layer.msg(res.msg);
if(res.code == 0){
obj.del();
url: "{:url('home/article/cate_delete')}",
type: 'post',
data: { id: obj.data.id },
success: function (e) {
layer.msg(e.msg);
if (e.code == 0) {
obj.del();
}
}
}
})
})
layer.close(index);
});
}
});
}
</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

@ -2,14 +2,16 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<table class="layui-table layui-table-form">
<h3 class="h3-title">知识分类</h3>
{eq name="$id" value="0"}
<table class="layui-table">
<tr>
<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_article_cate())" id="v"}
<option value="{$v.id}" {eq name="pid" value="$v.id"}selected=""{/eq}>{$v.title}</option>
<option value="{$v.id}" {eq name="$pid" value="$v.id"}selected=""{/eq}>{$v.title}</option>
{/volist}
</select>
</td>
@ -27,10 +29,37 @@
<td colspan="5"><textarea name="desc" placeholder="请输入描述,可空" class="layui-textarea"></textarea></td>
</tr>
</table>
{else/}
<table class="layui-table">
<tr>
<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_article_cate())" 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" value="{$detail.title}" lay-verify="required" autocomplete="off" placeholder="请输入分类名称" lay-reqText="请输入分类名称" class="layui-input">
</td>
<td class="layui-td-gray2">排序</td>
<td>
<input type="text" name="sort" value="{$detail.sort}" placeholder="请输入排序,数字" value="0" autocomplete="off" class="layui-input">
</td>
</tr>
<tr>
<td class="layui-td-gray2">描述</td>
<td colspan="5"><textarea name="desc" placeholder="请输入描述,可空" class="layui-textarea">{$detail.desc}</textarea></td>
</tr>
</table>
{/eq}
<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}
@ -51,9 +80,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);
@ -62,11 +90,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,7 +2,7 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<h3 class="h3-title">编辑文章</h3>
<h3 class="h3-title">编辑知识文章</h3>
<table class="layui-table">
<tr>
<td class="layui-td-gray">文章标题 <span style="color: red">*</span></td>

View File

@ -5,7 +5,7 @@
<form class="layui-form">
<div class="layui-input-inline">
<select name="article_cate_id">
<option value="">请选择文章分类</option>
<option value="">请选择知识文章分类</option>
{volist name=":set_recursion(get_article_cate())" id="v"}
<option value="{$v.id}">{$v.title}</option>
{/volist}
@ -21,7 +21,7 @@
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<span class="layui-btn layui-btn-normal layui-btn-sm" title="添加文章" lay-event="add">+ 添加文章</span>
<span class="layui-btn layui-btn-normal layui-btn-sm" title="添加文章" lay-event="add">+ 添加知识文章</span>
</div>
</script>
<script type="text/html" id="barDemo">

View File

@ -5,7 +5,7 @@
<form class="layui-form">
<div class="layui-input-inline">
<select name="article_cate_id">
<option value="">请选择文章分类</option>
<option value="">请选择知识文章分类</option>
{volist name=":set_recursion(get_article_cate())" id="v"}
<option value="{$v.id}">{$v.title}</option>
{/volist}
@ -27,7 +27,7 @@
</script>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<span class="layui-btn layui-btn-normal layui-btn-sm" title="添加文章" lay-event="add">+ 添加文章</span>
<span class="layui-btn layui-btn-normal layui-btn-sm" title="添加文章" lay-event="add">+ 添加知识文章</span>
</div>
</script>
<script type="text/html" id="barDemo">

View File

@ -2,7 +2,7 @@
<!-- 主体 -->
{block name="body"}
<div class="body-content">
<h3 class="h3-title">文章详情</h3>
<h3 class="h3-title">知识文章详情</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">文章标题</td>

View File

@ -4,7 +4,7 @@
<form class="layui-form body-content">
<h3 class="h3-title">部门架构</h3>
{eq name="$id" value="0"}
<table class="layui-table layui-table-form">
<table class="layui-table">
<tr>
<td class="layui-td-gray2">部门名称<font>*</font></td>
<td>
@ -26,7 +26,7 @@
</tr>
</table>
{else/}
<table class="layui-table layui-table-form">
<table class="layui-table">
<tr>
<td class="layui-td-gray2">部门名称<font>*</font></td>
<td>

View File

@ -25,10 +25,10 @@
{block name="script"}
<script>
function init(layui) {
var treeGrid = layui.treeGrid,
layer = layui.layer,
rightpage = layui.rightpage,
ptable = treeGrid.render({
var treeGrid = layui.treeGrid,
layer = layui.layer,
rightpage = layui.rightpage,
ptable = treeGrid.render({
id: 'treeTable'
, elem: '#treeTable'
, idField: 'id'

View File

@ -3,9 +3,9 @@
{block name="body"}
<form class="layui-form body-content">
{eq name="$id" value="0"}
<h3 style="height:36px;">新增公告</h3>
<h3 class="h3-title">新增公告</h3>
{else/}
<h3 style="height:36px;">编辑公告</h3>
<h3 class="h3-title">编辑公告</h3>
{/eq}
<table class="layui-table layui-table-form">
<tr>

View File

@ -10,8 +10,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/note/cate_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>
@ -25,78 +25,72 @@
<!-- 脚本 -->
{block name="script"}
<script>
var editObj=null,ptable=null,treeGrid=null,tableId='treeTable',layer=null;
function init(layui){
var table=layui.table,form = layui.form;
treeGrid = layui.treeGrid;//很重要
layer=layui.layer;
ptable=treeGrid.render({
id:tableId
,elem: '#'+tableId
,idField:'id'
,url:"{:url('home/note/cate')}"
,cellMinWidth: 100
,treeId:'id'//树形id字段名称
,treeUpId:'pid'//树形父id字段名称
,treeShowName:'title'//以树形式显示的字段
,cols: [[
{field:'id',width:80, title: 'ID号', align:'center'}
,{field: 'sort', title: '排序', edit: "text", align:'center', style:'cursor: pointer;', width:80}
,{field:'title', edit:'text',title: '分类名称'}
,{field:'pid', title: '父级ID', edit:"text",width:80, align:'center'}
,{width:100,title: '操作', align:'center'
,templet: function(d){
var html='';
var addBtn='<a class="layui-btn layui-btn-normal layui-btn-xs" title="添加分类" href="/home/note/cate_add?pid='+d.id+'">添加</a>';
var delBtn='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
return addBtn+delBtn;
}
}
]]
,page:false
//,skin:'line'
});
//单元格编辑
treeGrid.on('edit('+tableId+')', function(obj){
layer.confirm('确定要提交修改吗?', {icon: 3, title:'提示'}, function(index){
<script>
function init(layui) {
var treeGrid = layui.treeGrid,
layer = layui.layer,
rightpage = layui.rightpage,
ptable = treeGrid.render({
id:'treeTable'
,elem: '#treeTable'
,idField:'id'
,url:"{:url('home/note/cate')}"
,cellMinWidth: 100
,treeId:'id'//树形id字段名称
,treeUpId:'pid'//树形父id字段名称
,treeShowName:'title'//以树形式显示的字段
,isOpenDefault:true
,cols: [[
{field:'id',width:80, title: 'ID号', align:'center'}
,{field: 'sort', title: '排序', align:'center', style:'cursor: pointer;', width:80}
,{field:'title', title: '分类名称'}
,{field:'pid', title: '父级ID', width:80, align:'center'}
,{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;
}
}
]]
,page:false
//,skin:'line'
});
//表头工具栏事件
$('.body-content').on('click','.add-menu', function(){
rightpage.open("{:url('home/note/cate_add')}");
return;
});
//操作按钮
treeGrid.on('tool(treeTable)', function (obj) {
if (obj.event === 'add') {
rightpage.open('/home/note/cate_add?pid='+obj.data.id);
return;
}
if (obj.event === 'edit') {
rightpage.open('/home/note/cate_add?id='+obj.data.id);
return;
}
if (obj.event === 'del') {
layer.confirm('确定要删除吗?', { icon: 3, title: '提示' }, function (index) {
$.ajax({
url:"{:url('home/note/cate_add')}",
type:'post',
data:{id:obj.data.id,field:obj.field,value:obj.value},
success:function(res){
layer.msg(res.msg);
if(res.code == 0){
setTimeout(function(){
location.reload()
},2000)
}
}
})
layer.close(index);
});
});
//删除
treeGrid.on('tool('+tableId+')',function (obj) {
if(obj.event === 'del'){
layer.confirm('确定要删除吗?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url:"{:url('home/note/cate_delete')}",
type:'post',
data:{id:obj.data.id},
success:function(res){
layer.msg(res.msg);
if(res.code == 0){
url: "{:url('home/note/cate_delete')}",
type: 'post',
data: { id: obj.data.id },
success: function (e) {
layer.msg(e.msg);
if (e.code == 0) {
obj.del();
}
}
})
layer.close(index);
});
}
});
}
</script>
{include file="common/layui" base='base' extend="['treeGrid']" callback="init" /}
}
})
layer.close(index);
});
}
});
}
</script>
{include file="common/layui" base='base' extend="['treeGrid','rightpage']" callback="init" /}
{/block}
<!-- /脚本 -->

View File

@ -2,14 +2,16 @@
<!-- 主体 -->
{block name="body"}
<form class="layui-form body-content">
<table class="layui-table layui-table-form">
<h3 class="h3-title">公告分类</h3>
{eq name="$id" value="0"}
<table class="layui-table">
<tr>
<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_note_cate())" id="v"}
<option value="{$v.id}" {eq name="pid" value="$v.id"}selected=""{/eq}>{$v.title}</option>
<option value="{$v.id}" {eq name="$pid" value="$v.id"}selected=""{/eq}>{$v.title}</option>
{/volist}
</select>
</td>
@ -23,10 +25,33 @@
</td>
</tr>
</table>
{else/}
<table class="layui-table">
<tr>
<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_note_cate())" 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" value="{$detail.title}" lay-verify="required" autocomplete="off" placeholder="请输入分类名称" lay-reqText="请输入分类名称" class="layui-input">
</td>
<td class="layui-td-gray2">排序</td>
<td>
<input type="text" name="sort" value="{$detail.sort}" placeholder="请输入排序,数字" autocomplete="off" class="layui-input">
</td>
</tr>
</table>
{/eq}
<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}
@ -34,38 +59,31 @@
<!-- 脚本 -->
{block name="script"}
<script>
function init(layui){
var form = layui.form
,layer = layui.layer;
<script>
function init(layui){
var form = layui.form
,layer = layui.layer;
//监听提交
form.on('submit(webform)', function(data){
//监听提交
form.on('submit(webform)', function(data){
$.ajax({
url:"{:url('home/note/cate_add')}",
type:'post',
data:data.field,
success:function(e){
if(e.code==0){
layer.confirm('保存成功,返回列表页吗?', {icon: 3, title:'提示'}, function(index){
history.back(-1);
layer.close(index);
});
}else{
layer.msg(e.msg);
url:"{:url('home/note/cate_add')}",
type:'post',
data:data.field,
success:function(e){
if(e.code==0){
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
parent.location.reload();
});
}else{
layer.msg(e.msg);
}
}
}
})
return false;
});
//监听返回
$('.body-content').on('click','[lay-event="back"]',function () {
window.location.href="{:url('home/note/cate')}";
return false;
});
}
</script>
{include file="common/layui" base='base' extend="[]" callback="init" /}
});
}
</script>
{include file="common/layui" base='base' extend="[]" callback="init" /}
{/block}
<!-- /脚本 -->

View File

@ -3,9 +3,6 @@
{block name="body"}
<div class="body-content">
<table class="layui-hide" id="test" lay-filter="test"></table>
<div>
<button lay-event="back" class="layui-btn layui-btn-primary">返回</button>
</div>
</div>
<script type="text/html" id="status">