完善文章模块
This commit is contained in:
parent
a7b65c0d5f
commit
78b8faf044
@ -11,10 +11,10 @@ namespace app\home;
|
||||
|
||||
use think\App;
|
||||
use think\exception\HttpResponseException;
|
||||
use think\facade\Request;
|
||||
use think\facade\Cache;
|
||||
use think\facade\Session;
|
||||
use think\facade\Db;
|
||||
use think\facade\Request;
|
||||
use think\facade\Session;
|
||||
use think\facade\View;
|
||||
|
||||
/**
|
||||
@ -53,12 +53,12 @@ abstract class BaseController
|
||||
*/
|
||||
public function __construct(App $app)
|
||||
{
|
||||
$this->module = strtolower(app('http')->getName());
|
||||
$this->module = strtolower(app('http')->getName());
|
||||
$this->app = $app;
|
||||
$this->request = $this->app->request;
|
||||
$this->controller = strtolower($this->request->controller());
|
||||
$this->action = strtolower($this->request->action());
|
||||
$this->uid=0;
|
||||
$this->controller = strtolower($this->request->controller());
|
||||
$this->action = strtolower($this->request->action());
|
||||
$this->uid = 0;
|
||||
// 控制器初始化
|
||||
$this->initialize();
|
||||
}
|
||||
@ -69,40 +69,38 @@ abstract class BaseController
|
||||
$this->checkLogin();
|
||||
$this->param = $this->request->param();
|
||||
}
|
||||
|
||||
/**
|
||||
*验证用户登录
|
||||
*/
|
||||
|
||||
/**
|
||||
*验证用户登录
|
||||
*/
|
||||
protected function checkLogin()
|
||||
{
|
||||
if ($this->controller !== 'login' && $this->controller !=='captcha' ) {
|
||||
if ($this->controller !== 'login' && $this->controller !== 'captcha') {
|
||||
$session_admin = get_config('app.session_admin');
|
||||
if (!Session::has($session_admin)) {
|
||||
if ($this->request->isAjax()) {
|
||||
return to_assign(404, '请先登录');
|
||||
} else {
|
||||
redirect('/home/login/index.html')->send();
|
||||
redirect('/home/login/index.html')->send();
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
$this->uid = Session::get($session_admin)['id'];
|
||||
View::assign('login_user', $this->uid);
|
||||
// 验证用户访问权限
|
||||
if ($this->controller !== 'index' && $this->controller !== 'api') {
|
||||
if (!$this->checkAuth()) {
|
||||
if ($this->request->isAjax()) {
|
||||
return to_assign(202, '你没有权限,请联系管理员或者人事部');
|
||||
} else {
|
||||
echo '<div style="text-align:center;color:red;margin-top:20%;">你没有权限,请联系管理员或者人事部</div>';exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
$this->uid = Session::get($session_admin)['id'];
|
||||
View::assign('login_user',$this->uid);
|
||||
// 验证用户访问权限
|
||||
if ($this->controller !== 'index' && $this->controller !== 'api') {
|
||||
if (!$this->checkAuth()) {
|
||||
if ($this->request->isAjax()) {
|
||||
return to_assign(202, '你没有权限,请联系管理员或者人事部');
|
||||
} else {
|
||||
echo '<div style="text-align:center;color:red;margin-top:20%;">你没有权限,请联系管理员或者人事部</div>';exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证用户访问权限
|
||||
* @DateTime 2020-12-21
|
||||
@ -113,20 +111,20 @@ abstract class BaseController
|
||||
protected function checkAuth()
|
||||
{
|
||||
//Cache::delete('RulesSrc' . $uid);
|
||||
$uid = $this->uid;
|
||||
$uid = $this->uid;
|
||||
if (!Cache::get('RulesSrc' . $uid) || !Cache::get('RulesSrc0')) {
|
||||
//用户所在权限组及所拥有的权限
|
||||
// 执行查询
|
||||
$groups = [];
|
||||
$position_id=Db::name('Admin')->where('id',$uid)->value('position_id');
|
||||
$groups = Db::name('PositionGroup')
|
||||
->alias('a')
|
||||
->join("AdminGroup g", "a.group_id=g.id", 'LEFT')
|
||||
->where([['a.pid','=',$position_id],['g.status','=',1]])
|
||||
->select()
|
||||
->toArray();
|
||||
//保存用户所属用户组设置的所有权限规则id
|
||||
$ids = [];
|
||||
$groups = [];
|
||||
$position_id = Db::name('Admin')->where('id', $uid)->value('position_id');
|
||||
$groups = Db::name('PositionGroup')
|
||||
->alias('a')
|
||||
->join("AdminGroup g", "a.group_id=g.id", 'LEFT')
|
||||
->where([['a.pid', '=', $position_id], ['g.status', '=', 1]])
|
||||
->select()
|
||||
->toArray();
|
||||
//保存用户所属用户组设置的所有权限规则id
|
||||
$ids = [];
|
||||
foreach ($groups as $g) {
|
||||
$ids = array_merge($ids, explode(',', trim($g['rules'], ',')));
|
||||
}
|
||||
@ -151,14 +149,14 @@ abstract class BaseController
|
||||
$auth_list_all = Cache::get('RulesSrc0');
|
||||
$auth_list = Cache::get('RulesSrc' . $uid);
|
||||
}
|
||||
$pathUrl = $this->module. '/' .$this->controller . '/' . $this->action;
|
||||
$pathUrl = $this->module . '/' . $this->controller . '/' . $this->action;
|
||||
if (!in_array($pathUrl, $auth_list)) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// 以下为新增,为了使用旧版的 success error redirect 跳转 start
|
||||
//
|
||||
|
@ -66,8 +66,7 @@ class Article extends BaseController
|
||||
}
|
||||
return to_assign();
|
||||
}
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
$pid = isset($param['pid']) ? $param['pid'] : 0;
|
||||
View::assign('pid', $pid);
|
||||
return view();
|
||||
@ -100,17 +99,46 @@ class Article extends BaseController
|
||||
$param = get_params();
|
||||
$where = array();
|
||||
if (!empty($param['keywords'])) {
|
||||
$where[] = ['a.id|a.title|a.keywords|a.desc|a.content|w.title', 'like', '%' . $param['keywords'] . '%'];
|
||||
$where[] = ['a.id|a.title|a.keywords|a.desc|a.content|c.title', 'like', '%' . $param['keywords'] . '%'];
|
||||
}
|
||||
if (!empty($param['article_cate_id'])) {
|
||||
$where[] = ['a.article_cate_id', '=', $param['article_cate_id']];
|
||||
}
|
||||
$where[] = ['a.status', '>=', 0];
|
||||
$where[] = ['a.is_share', '=', 1];
|
||||
$rows = empty($param['limit']) ? get_config(app . page_size) : $param['limit'];
|
||||
$content = ArticleList::where($where)
|
||||
->field('a.*,w.id as cate_id,a.id as id,w.title as cate_title,a.title as title')
|
||||
->field('a.*,c.id as cate_id,a.id as id,c.title as cate_title,a.title as title,d.title as department,u.name as user')
|
||||
->alias('a')
|
||||
->join('article_cate w', 'a.article_cate_id = w.id')
|
||||
->join('article_cate c', 'a.article_cate_id = c.id')
|
||||
->join('admin u', 'a.uid = u.id','LEFT')
|
||||
->join('department d', 'a.did = d.id','LEFT')
|
||||
->order('a.create_time desc')
|
||||
->paginate($rows, false, ['query' => $param]);
|
||||
return table_assign(0, '', $content);
|
||||
} else {
|
||||
return view();
|
||||
}
|
||||
}
|
||||
|
||||
public function list()
|
||||
{
|
||||
if (request()->isAjax()) {
|
||||
$param = get_params();
|
||||
$where = array();
|
||||
if (!empty($param['keywords'])) {
|
||||
$where[] = ['a.id|a.title|a.keywords|a.desc|a.content|c.title', 'like', '%' . $param['keywords'] . '%'];
|
||||
}
|
||||
if (!empty($param['article_cate_id'])) {
|
||||
$where[] = ['a.article_cate_id', '=', $param['article_cate_id']];
|
||||
}
|
||||
$where[] = ['a.status', '>=', 0];
|
||||
$where[] = ['a.uid', '=', $this->uid];
|
||||
$rows = empty($param['limit']) ? get_config(app . page_size) : $param['limit'];
|
||||
$content = ArticleList::where($where)
|
||||
->field('a.*,c.id as cate_id,a.id as id,c.title as cate_title,a.title as title')
|
||||
->alias('a')
|
||||
->join('article_cate c', 'a.article_cate_id = c.id')
|
||||
->order('a.create_time desc')
|
||||
->paginate($rows, false, ['query' => $param]);
|
||||
return table_assign(0, '', $content);
|
||||
@ -165,6 +193,8 @@ class Article extends BaseController
|
||||
return to_assign(1, $e->getError());
|
||||
}
|
||||
$param['create_time'] = time();
|
||||
$param['uid'] = $this->uid;
|
||||
$param['did'] = get_login_admin('did');
|
||||
Db::startTrans();
|
||||
try {
|
||||
if (empty($param['desc'])) {
|
||||
@ -196,8 +226,7 @@ class Article extends BaseController
|
||||
} else {
|
||||
return to_assign(1, '操作失败');
|
||||
}
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
$id = isset($param['id']) ? $param['id'] : 0;
|
||||
View::assign('id', $id);
|
||||
if ($id > 0) {
|
||||
@ -209,6 +238,16 @@ class Article extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
//查看文章
|
||||
public function view()
|
||||
{
|
||||
$id = get_params("id");
|
||||
$detail = (new ArticleList())->detail($id);
|
||||
// read 字段加 1
|
||||
Db::name('article')->where('id', $id)->inc('read')->update();
|
||||
View::assign('detail', $detail);
|
||||
return view();
|
||||
}
|
||||
//删除文章
|
||||
public function delete()
|
||||
{
|
||||
|
@ -22,13 +22,15 @@ class Article extends Model
|
||||
$keywrod_array = \think\facade\Db::name('ArticleKeywords')
|
||||
->field('i.aid,i.keywords_id,k.title')
|
||||
->alias('i')
|
||||
->join('keywords k', 'k.id = i.keywords_id', 'LEFT')
|
||||
->join('Keywords k', 'k.id = i.keywords_id', 'LEFT')
|
||||
->order('i.create_time asc')
|
||||
->where(array('i.aid' => $id, 'k.status' => 1))
|
||||
->select()->toArray();
|
||||
|
||||
$article['keyword_ids'] = implode(",", array_column($keywrod_array, 'keywords_id'));
|
||||
$article['keyword_names'] = implode(',', array_column($keywrod_array, 'title'));
|
||||
$article['user'] = \think\facade\Db::name('Admin')->where(['id' => $article['uid']])->value('name');
|
||||
$article['department'] = \think\facade\Db::name('Department')->where(['id' => $article['did']])->value('title');
|
||||
return $article;
|
||||
}
|
||||
|
||||
|
@ -2,14 +2,13 @@
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form body-content">
|
||||
<h3 class="h3-title">新增文章</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray2">文章标题 <span style="color: red">*</span></td>
|
||||
<td colspan="7"><input type="text" name="title" lay-verify="required" lay-reqText="请输入文章标题" autocomplete="off" placeholder="请输入文章标题"
|
||||
<td class="layui-td-gray">文章标题 <span style="color: red">*</span></td>
|
||||
<td colspan="3"><input type="text" name="title" lay-verify="required" lay-reqText="请输入文章标题" autocomplete="off" placeholder="请输入文章标题"
|
||||
class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">文章分类<span style="color: red">*</span></td>
|
||||
<td class="layui-td-gray">文章分类<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<select name="article_cate_id" lay-verify="required" lay-reqText="请选择分类">
|
||||
<option value="">请选择分类</option>
|
||||
@ -18,29 +17,15 @@
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray2">关键字<span style="color: red">*</span></td>
|
||||
<td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关键字<span style="color: red">*</span></td>
|
||||
<td colspan="3">
|
||||
<input type="text" id="keyword_name" name="keyword_names" autocomplete="off" lay-verify="required" lay-reqText="请选择关键字" placeholder="请选择关键字"
|
||||
class="layui-input" readonly>
|
||||
<input type="hidden" id="keyword_id" name="keyword_ids" autocomplete="off">
|
||||
</td>
|
||||
<td class="layui-td-gray2">状态<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="radio" name="status" value="1" title="正常" checked>
|
||||
<input type="radio" name="status" value="0" title="下架">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" value="0" placeholder="请输入排序,数字" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray2">是否共享</td>
|
||||
<td>
|
||||
<input type="radio" name="is_share" value="1" title="是" checked>
|
||||
<input type="radio" name="is_share" value="0" title="否">
|
||||
</td>
|
||||
<td class="layui-td-gray2">属性</td>
|
||||
<td class="layui-td-gray">属性</td>
|
||||
<td>
|
||||
<select name="type">
|
||||
<option value="">请选择属性</option>
|
||||
@ -51,29 +36,30 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">是否原创</td>
|
||||
<td class="layui-td-gray">是否共享</td>
|
||||
<td>
|
||||
<input type="radio" name="original" value="1" title="是">
|
||||
<input type="radio" name="original" value="0" title="否" checked>
|
||||
<input type="radio" name="is_share" value="1" title="是" checked>
|
||||
<input type="radio" name="is_share" value="0" title="否">
|
||||
</td>
|
||||
<td class="layui-td-gray2">作者/来源</td>
|
||||
<td class="layui-td-gray" style="width:50px">状态</td>
|
||||
<td>
|
||||
<input type="text" name="origin" class="layui-input" autocomplete="off" placeholder="请输入文章作者或来源">
|
||||
<input type="radio" name="status" value="1" title="正常" checked>
|
||||
<input type="radio" name="status" value="0" title="下架">
|
||||
</td>
|
||||
<td class="layui-td-gray2">来源链接</td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td>
|
||||
<input type="text" name="origin_url" class="layui-input" autocomplete="off" placeholder="请输入来源链接">
|
||||
<input type="text" name="sort" value="0" placeholder="请输入排序,数字" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2" style="vertical-align:top;">文章摘要</td>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">文章摘要</td>
|
||||
<td colspan="3">
|
||||
<textarea name="desc" placeholder="请输入摘要,不能超过200个字" class="layui-textarea"></textarea>
|
||||
</td>
|
||||
<td class="layui-td-gray2" style="vertical-align:top;">缩略图</td>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">缩略图</td>
|
||||
<td>
|
||||
<div class="layui-upload">
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="test1">上传缩略图(尺寸:240x136)</button>
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="test1">缩略图(尺寸:240x136)</button>
|
||||
<div class="layui-upload-list" id="demo1" style="width: 120px; height:66px; overflow: hidden;">
|
||||
<img src="" style="max-width: 100%; height:66px;" />
|
||||
<input type="hidden" name="thumb" value="">
|
||||
@ -82,7 +68,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2" style="vertical-align:top;">文章内容<span style="color: red">*</span></td>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">文章内容<span style="color: red">*</span></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" id="container" lay-verify="required" lay-reqText="请完善文章内容"
|
||||
style="border:0;padding:0"></textarea>
|
||||
@ -92,7 +78,6 @@
|
||||
<div class="layui-form-item">
|
||||
<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}
|
||||
@ -140,7 +125,7 @@ function init(layui) {
|
||||
success: function (e) {
|
||||
if (e.code == 0) {
|
||||
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
window.location.href="{:url('home/article/index')}";
|
||||
parent.location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
@ -149,16 +134,11 @@ function init(layui) {
|
||||
})
|
||||
return false;
|
||||
});
|
||||
//监听返回
|
||||
$('.body-content').on('click', '[lay-event="back"]', function () {
|
||||
history.back(-1);
|
||||
return false;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
{include file="common/layui" base="base" extend="['tagpicker']" callback="init" /}
|
||||
{include file="common/ueditor" id="container" name="content" width="776" height="500" toolbar="[]" /}
|
||||
{include file="common/ueditor" id="container" name="content" width="750" height="500" toolbar="[]" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
@ -2,15 +2,13 @@
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form body-content">
|
||||
<div>
|
||||
<h3 class="h3-title">编辑文章</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray2">文章标题 <span style="color: red">*</span></td>
|
||||
<td colspan="7"> <input type="text" name="title" lay-verify="required" lay-reqText="请输入文章标题" autocomplete="off" placeholder="请输入文章标题"
|
||||
<td class="layui-td-gray">文章标题 <span style="color: red">*</span></td>
|
||||
<td colspan="3"><input type="text" name="title" lay-verify="required" lay-reqText="请输入文章标题" autocomplete="off" placeholder="请输入文章标题"
|
||||
class="layui-input" value="{$article.title}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">文章分类<span style="color: red">*</span></td>
|
||||
<td class="layui-td-gray">文章分类<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<select name="article_cate_id" lay-verify="required" lay-reqText="请选择分类">
|
||||
<option value="">请选择分类</option>
|
||||
@ -18,31 +16,16 @@
|
||||
<option value="{$v.id}" {eq name="$article.article_cate_id" value="$v.id" }selected{/eq}>{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray2">关键字<span style="color: red">*</span></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关键字<span style="color: red">*</span></td>
|
||||
<td colspan="3">
|
||||
<input type="text" id="keyword_name" name="keyword_names" autocomplete="off" lay-verify="required" lay-reqText="请选择关键字" placeholder="请选择关键字"
|
||||
class="layui-input" value="{$article.keyword_names}" readonly>
|
||||
<input type="hidden" id="keyword_id" name="keywords_id" autocomplete="off" value="{$article.keyword_ids}">
|
||||
</td>
|
||||
<td class="layui-td-gray2">状态<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="radio" name="status" value="1" title="正常" {eq name="$article.status" value="1" }checked{/eq}>
|
||||
<input type="radio" name="status" value="0" title="下架" {eq name="$article.status" value="0" }checked{/eq}>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" placeholder="请输入排序,数字" autocomplete="off" class="layui-input"
|
||||
value="{$article.sort}">
|
||||
</td>
|
||||
<td class="layui-td-gray2">是否共享</td>
|
||||
<td>
|
||||
<input type="radio" name="is_share" value="1" title="是" {eq name="$article.is_share" value="1" }checked{/eq}>
|
||||
<input type="radio" name="is_share" value="0" title="否" {eq name="$article.is_share" value="0" }checked{/eq}>
|
||||
</td>
|
||||
<td class="layui-td-gray2">属性</td>
|
||||
<td class="layui-td-gray">属性</td>
|
||||
<td>
|
||||
<select name="type">
|
||||
<option value="">请选择属性</option>
|
||||
@ -53,31 +36,30 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">是否原创</td>
|
||||
<td class="layui-td-gray">是否共享<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="radio" name="original" value="1" title="是" {eq name="$article.original" value="1" }checked{/eq}>
|
||||
<input type="radio" name="original" value="0" title="否" {eq name="$article.original" value="0" }checked{/eq}>
|
||||
<input type="radio" name="is_share" value="1" title="是" {eq name="$article.is_share" value="1" }checked{/eq}>
|
||||
<input type="radio" name="is_share" value="0" title="否" {eq name="$article.is_share" value="0" }checked{/eq}>
|
||||
</td>
|
||||
<td class="layui-td-gray2">作者/来源</td>
|
||||
<td class="layui-td-gray" style="width:50px">状态</td>
|
||||
<td>
|
||||
<input type="text" name="origin" class="layui-input" autocomplete="off" placeholder="请输入文章来源"
|
||||
value="{$article.origin}">
|
||||
<input type="radio" name="status" value="1" title="正常" {eq name="$article.status" value="1" }checked{/eq}>
|
||||
<input type="radio" name="status" value="0" title="下架" {eq name="$article.status" value="0" }checked{/eq}>
|
||||
</td>
|
||||
<td class="layui-td-gray2">来源链接</td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td>
|
||||
<input type="text" name="origin_url" class="layui-input" autocomplete="off" placeholder="请输入来源链接"
|
||||
value="{$article.origin_url}">
|
||||
<input type="text" name="sort" placeholder="请输入排序,数字" autocomplete="off" class="layui-input" value="{$article.sort}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2" style="vertical-align:top;">摘要</td>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">文章摘要</td>
|
||||
<td colspan="3">
|
||||
<textarea name="desc" placeholder="请输入摘要,不能超过200个字" class="layui-textarea">{$article.desc}</textarea>
|
||||
</td>
|
||||
<td class="layui-td-gray2" style="vertical-align:top;">缩略图</td>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">缩略图</td>
|
||||
<td>
|
||||
<div class="layui-upload">
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="test1">上传缩略图(尺寸:240x136)</button>
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="test1">缩略图(尺寸:240x136)</button>
|
||||
<div class="layui-upload-list" id="demo1" style="width: 120px; height:66px; overflow: hidden;">
|
||||
<img src="{:get_file($article.thumb)}" style="max-width: 100%; height:66px;" />
|
||||
<input type="hidden" name="thumb" value="{$article.thumb}">
|
||||
@ -86,7 +68,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2" style="vertical-align:top;">文章内容<span style="color: red">*</span></td>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">文章内容<span style="color: red">*</span></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" id="container" lay-verify="required" lay-reqText="请完善文章内容"
|
||||
style="border:0;padding:0">{$article.content}</textarea>
|
||||
@ -94,12 +76,10 @@
|
||||
</tr>
|
||||
</table>
|
||||
<div class="layui-form-item">
|
||||
<input type="hidden" name="id" value="{$article.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>
|
||||
<input type="hidden" name="id" value="{$article.id}">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
@ -146,7 +126,7 @@
|
||||
success: function (e) {
|
||||
if (e.code == 0) {
|
||||
layer.confirm('保存成功,返回列表页吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
window.location.href="{:url('home/article/index')}";
|
||||
parent.location.reload();
|
||||
});
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
@ -155,16 +135,11 @@
|
||||
})
|
||||
return false;
|
||||
});
|
||||
//监听返回
|
||||
$('.body-content').on('click', '[lay-event="back"]', function () {
|
||||
history.back(-1);
|
||||
return false;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
{include file="common/layui" base='base' extend="['tagpicker']" callback="init" /}
|
||||
{include file="common/ueditor" id="container" name="content" width="776" height="500" toolbar="[]" /}
|
||||
{include file="common/ueditor" id="container" name="content" width="750" height="500" toolbar="[]" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
@ -19,19 +19,13 @@
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
|
||||
<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="is_share">
|
||||
<i class="layui-icon {{# if(d.is_share == 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" title="添加文章" href="{:url('home/article/add')}">+ 添加文章</a>
|
||||
</div>
|
||||
<div class="layui-btn-container">
|
||||
<span class="layui-btn layui-btn-normal layui-btn-sm" title="添加文章" lay-event="add">+ 添加文章</span>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="barDemo">
|
||||
<div class="layui-btn-group"><a class="layui-btn layui-btn-xs" href="/home/article/add?id={{d.id}}">编辑</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></div>
|
||||
<div class="layui-btn-group"><span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">查看</span></div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
@ -42,6 +36,7 @@
|
||||
function init(layui) {
|
||||
var TAB = parent.layui.tab,
|
||||
table = layui.table,
|
||||
rightpage = layui.rightpage,
|
||||
form = layui.form;
|
||||
|
||||
var tableIns = table.render({
|
||||
@ -62,60 +57,54 @@
|
||||
field: 'sort',
|
||||
title: '排序',
|
||||
align: 'center',
|
||||
width: 80
|
||||
width: 66
|
||||
}, {
|
||||
field: 'cate_title',
|
||||
title: '分类',
|
||||
width: 200
|
||||
align: 'center',
|
||||
width: 120
|
||||
}, {
|
||||
field: 'title',
|
||||
title: '文章标题',
|
||||
templet: '<div><a href="/home/index/index/id/{{d.id}}.html" class="layui-table-link" target="_blank">{{d.title}}</a></div>'
|
||||
}, {
|
||||
field: 'status',
|
||||
title: '状态',
|
||||
toolbar: '#status',
|
||||
title: '文章标题'
|
||||
},{
|
||||
field: 'read',
|
||||
title: '阅读量',
|
||||
align: 'center',
|
||||
width: 66
|
||||
width: 80
|
||||
}, {
|
||||
field: 'is_home',
|
||||
title: '首页共享',
|
||||
toolbar: '#is_share',
|
||||
field: 'user',
|
||||
title: '发布人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
width: 80
|
||||
}, {
|
||||
field: 'department',
|
||||
title: '部门',
|
||||
align: 'center',
|
||||
width: 100
|
||||
}, {
|
||||
field: 'right',
|
||||
title: '操作',
|
||||
toolbar: '#barDemo',
|
||||
width: 100,
|
||||
width: 60,
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
//表头工具栏事件
|
||||
table.on('toolbar(test)', function(obj){
|
||||
if (obj.event === 'add') {
|
||||
rightpage.open("{:url('home/article/add')}");
|
||||
return;
|
||||
}
|
||||
});
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url: "{:url('home/article/delete')}",
|
||||
data: {
|
||||
id: data.id
|
||||
},
|
||||
success: function(e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
if(obj.event === 'view'){
|
||||
rightpage.open('/home/article/view?id='+data.id);
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
@ -134,6 +123,6 @@
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{include file="common/layui" base="base" extend="[]" callback="init" /}
|
||||
{include file="common/layui" base="base" extend="['rightpage']" callback="init" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
|
160
app/home/view/article/list.html
Normal file
160
app/home/view/article/list.html
Normal file
@ -0,0 +1,160 @@
|
||||
{extend name="common/base"/}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="body-content">
|
||||
<form class="layui-form">
|
||||
<div class="layui-input-inline">
|
||||
<select name="article_cate_id">
|
||||
<option value="">请选择文章分类</option>
|
||||
{volist name=":set_recursion(get_article_cate())" id="v"}
|
||||
<option value="{$v.id}">{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:300px;">
|
||||
<input type="text" name="keywords" placeholder="ID/标题/分类/描述/内容" 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="status">
|
||||
<i class="layui-icon {{# if(d.status == 1){ }}layui-icon-ok{{# } else { }}layui-icon-close{{# } }}"></i>
|
||||
</script>
|
||||
<script type="text/html" id="is_share">
|
||||
<i class="layui-icon {{# if(d.is_share == 1){ }}layui-icon-ok{{# } else { }}layui-icon-close{{# } }}"></i>
|
||||
</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>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="barDemo">
|
||||
<div class="layui-btn-group"><span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">查看</span><span class="layui-btn layui-btn-xs" lay-event="edit">编辑</span><span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span></div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
function init(layui) {
|
||||
var TAB = parent.layui.tab,
|
||||
table = layui.table,
|
||||
rightpage = layui.rightpage,
|
||||
form = layui.form;
|
||||
|
||||
var tableIns = table.render({
|
||||
elem: '#test',
|
||||
title: '文章列表',
|
||||
toolbar: '#toolbarDemo',
|
||||
url: "{:url('home/article/list')}", //数据接口
|
||||
page: true, //开启分页
|
||||
limit: 20,
|
||||
cols: [
|
||||
[ //表头
|
||||
{
|
||||
field: 'id',
|
||||
title: '编号',
|
||||
align: 'center',
|
||||
width: 80
|
||||
}, {
|
||||
field: 'sort',
|
||||
title: '排序',
|
||||
align: 'center',
|
||||
width: 66
|
||||
}, {
|
||||
field: 'cate_title',
|
||||
title: '分类',
|
||||
align: 'center',
|
||||
width: 120
|
||||
}, {
|
||||
field: 'title',
|
||||
title: '文章标题'
|
||||
},{
|
||||
field: 'read',
|
||||
title: '阅读量',
|
||||
align: 'center',
|
||||
width: 80
|
||||
}, {
|
||||
field: 'status',
|
||||
title: '状态',
|
||||
toolbar: '#status',
|
||||
align: 'center',
|
||||
width: 66
|
||||
}, {
|
||||
field: 'is_home',
|
||||
title: '是否共享',
|
||||
toolbar: '#is_share',
|
||||
align: 'center',
|
||||
width: 80
|
||||
}, {
|
||||
field: 'right',
|
||||
title: '操作',
|
||||
toolbar: '#barDemo',
|
||||
width: 130,
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
//表头工具栏事件
|
||||
table.on('toolbar(test)', function(obj){
|
||||
if (obj.event === 'add') {
|
||||
rightpage.open("{:url('home/article/add')}");
|
||||
return;
|
||||
}
|
||||
});
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
if(obj.event === 'view'){
|
||||
rightpage.open('/home/article/view?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if(obj.event === 'edit'){
|
||||
rightpage.open('/home/article/add?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url: "{:url('home/article/delete')}",
|
||||
data: {
|
||||
id: data.id
|
||||
},
|
||||
success: function(e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//监听搜索提交
|
||||
form.on('submit(webform)', function(data) {
|
||||
tableIns.reload({
|
||||
where: {
|
||||
keywords: data.field.keywords,
|
||||
article_cate_id: data.field.article_cate_id
|
||||
},
|
||||
page: {
|
||||
curr: 1
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{include file="common/layui" base="base" extend="['rightpage']" callback="init" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
56
app/home/view/article/view.html
Normal file
56
app/home/view/article/view.html
Normal file
@ -0,0 +1,56 @@
|
||||
{extend name="common/base"/}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="body-content">
|
||||
<h3 class="h3-title">文章详情</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">文章标题</td>
|
||||
<td colspan="3">{$detail.title}</td>
|
||||
<td class="layui-td-gray">文章分类</td>
|
||||
<td>
|
||||
{volist name=":set_recursion(get_article_cate())" id="v"}
|
||||
{eq name="$detail.article_cate_id" value="$v.id" }{$v.title}{/eq}
|
||||
{/volist}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关键字</td>
|
||||
<td colspan="3">{$detail.keyword_names}</td>
|
||||
<td class="layui-td-gray">阅读量</td>
|
||||
<td>{$detail.read}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">发布时间</td>
|
||||
<td>{$detail.create_time | date='Y-m-d H:i:s'}</td>
|
||||
<td class="layui-td-gray">发布人</td>
|
||||
<td>{$detail.user}</td>
|
||||
<td class="layui-td-gray">部门</td>
|
||||
<td>{$detail.department}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.origin_url"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">来源链接</td>
|
||||
<td colspan="5">{$detail.origin_url}</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">文章内容</td>
|
||||
<td colspan="5">{$detail.content|raw}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
function init(layui) {
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
{include file="common/layui" base='base' extend="[]" callback="init" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
@ -6,7 +6,7 @@
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form body-content">
|
||||
<h3 style="padding:5px 0;">发送消息</h3>
|
||||
<h3 class="h3-title">发送消息</h3>
|
||||
{if condition="$id eq 0"}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
|
@ -126,6 +126,7 @@
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
//表头工具栏事件
|
||||
table.on('toolbar(test)', function(obj){
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
|
@ -52,7 +52,7 @@
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
$.ajax({
|
||||
url: "{:url('home/rule/post_submit')}",
|
||||
url: "{:url('home/rule/add')}",
|
||||
type: 'post',
|
||||
data: data.field,
|
||||
success: function (e) {
|
||||
|
@ -67,7 +67,7 @@ CREATE TABLE `oa_admin_group` (
|
||||
-- ----------------------------
|
||||
-- Records of cms_admin_group
|
||||
-- ----------------------------
|
||||
INSERT INTO `oa_admin_group` VALUES ('1', '超级员工权限', '1', '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113', '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43', '超级员工权限,拥有系统的最高权限,不可修改', '0', '0');
|
||||
INSERT INTO `oa_admin_group` VALUES ('1', '超级员工权限', '1', '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115', '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43', '超级员工权限,拥有系统的最高权限,不可修改', '0', '0');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for oa_admin_log
|
||||
@ -293,39 +293,41 @@ INSERT INTO `oa_admin_rule` VALUES (84, 6, 'home/article/cate', '知识分类','
|
||||
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 (87, 6, 'home/article/index', '知识列表','知识文章', 0, 0);
|
||||
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 (91, 7, 'home/plan/index', '工作计划','工作计划', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (92, 91, 'home/plan/calendar', '工作计划日历','工作计划', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (93, 91, 'home/plan/add', '添加/编辑工作计划','工作计划', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (94, 91, 'home/plan/delete', '删除工作计划','工作计划', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (95, 91, 'home/plan/detail', '查看工作计划','工作计划', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (91, 6, 'home/article/list', '个人知识','知识文章', 0, 0);
|
||||
|
||||
INSERT INTO `oa_admin_rule` VALUES (96, 7, 'home/schedule/index', '工作记录','工作记录', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (97, 96, 'home/schedule/calendar', '工作记录日历','工作日历', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (98, 96, 'home/schedule/add', '添加/编辑工作记录','工作记录', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (99, 96, 'home/schedule/delete', '删除工作记录','工作记录', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (100, 96, 'home/schedule/detail', '查看工作记录','工作记录', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (101, 96, 'home/schedule/update_labor_time', '更改工时','工时', 0, 0);
|
||||
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 (102, 8, 'home/expense/index', '报销管理','报销', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (103, 102, 'home/expense/add', '新增/编辑报销','报销', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (104, 102, 'home/expense/delete', '删除报销','报销', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (105, 102, 'home/expense/view', '查看报销信息','报销', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (106, 102, 'home/expense/check', '设置报销状态','报销状态', 0, 0);
|
||||
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 (107, 8, 'home/invoice/index', '发票管理','发票', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (108, 107, 'home/invoice/add', '新增/编辑发票','发票', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (109, 107, 'home/invoice/delete', '删除发票','发票', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (110, 107, 'home/invoice/view', '查看发票信息','发票', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (111, 107, 'home/invoice/check', '设置发票状态','发票状态', 0, 0);
|
||||
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 (112, 8, 'home/income/index', '到账管理','到账', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (113, 112, 'home/income/add', '新增到账','到账', 0, 0);
|
||||
INSERT INTO `oa_admin_rule` VALUES (114, 112, 'home/income/check', '设置到账状态','到账状态', 0, 0);
|
||||
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 (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);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for oa_article
|
||||
@ -334,19 +336,19 @@ DROP TABLE IF EXISTS `oa_article`;
|
||||
CREATE TABLE `oa_article` (
|
||||
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '知识文章标题',
|
||||
`article_cate_id` int(11) NOT NULL DEFAULT 0 COMMENT '关联分类id',
|
||||
`keywords` varchar(255) NULL DEFAULT '' COMMENT '关键字',
|
||||
`desc` varchar(1000) NULL DEFAULT '' COMMENT '摘要',
|
||||
`status` int(1) NOT NULL DEFAULT 1 COMMENT '状态:1正常-1下架',
|
||||
`thumb` int(11) NOT NULL DEFAULT 0 COMMENT '缩略图id',
|
||||
`original` int(1) NOT NULL DEFAULT 0 COMMENT '是否原创,1原创',
|
||||
`origin` varchar(255) NOT NULL DEFAULT '' COMMENT '来源或作者',
|
||||
`uid` int(11) NOT NULL DEFAULT 0 COMMENT '作者',
|
||||
`did` int(11) NOT NULL DEFAULT 0 COMMENT '部门',
|
||||
`origin_url` varchar(255) NOT NULL DEFAULT '' COMMENT '来源地址',
|
||||
`content` text NOT NULL,
|
||||
`content` text NOT NULL COMMENT '文章内容',
|
||||
`read` int(11) NOT NULL DEFAULT 0 COMMENT '阅读量',
|
||||
`type` tinyint(2) NOT NULL DEFAULT 0 COMMENT '属性:1精华 2热门 3推荐',
|
||||
`is_share` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否分享,0否,1是',
|
||||
`status` int(1) NOT NULL DEFAULT 1 COMMENT '状态:1正常-1下架',
|
||||
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||
`article_cate_id` int(11) NOT NULL DEFAULT 0,
|
||||
`create_time` int(11) NOT NULL DEFAULT 0,
|
||||
`update_time` int(11) NOT NULL DEFAULT 0,
|
||||
`delete_time` int(11) NOT NULL DEFAULT 0,
|
||||
|
@ -102,4 +102,5 @@
|
||||
.layui-anim-rl.layui-layer-iframe{
|
||||
overflow:inherit!important;
|
||||
}
|
||||
.right-popup-close{position: absolute;width:50px;height:44px;line-height:44px;text-align:center; left: -50px;right:0; top: 50px;background-color:#FF5722;color:#fff;border-radius:4px 0 0 4px; cursor:pointer}
|
||||
.right-popup-close{position: absolute;width:50px;height:44px;line-height:44px;text-align:center; left: -52px;right:0; top: 50px;background-color:#FF5722;color:#fff;border-radius:6px 0 0 6px; cursor:pointer; border:2px solid #fff;}
|
||||
.h3-title{font-size:18px; height:36px; font-weight:800}
|
Loading…
x
Reference in New Issue
Block a user