admin user message
This commit is contained in:
parent
76d48e2469
commit
642404359a
94
app/admin/controller/Notice.php
Normal file
94
app/admin/controller/Notice.php
Normal file
@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
use app\common\controller\AdminController;
|
||||
use think\facade\View;
|
||||
use think\facade\Request;
|
||||
use think\facade\Session;
|
||||
use think\facade\Db;
|
||||
use app\common\model\Message as MessageModel;
|
||||
use taoler\com\Message;
|
||||
|
||||
|
||||
class Notice extends AdminController
|
||||
{
|
||||
//显示消息
|
||||
public function index()
|
||||
{
|
||||
if(Request::isAjax()){
|
||||
$notices = MessageModel::where(['type'=>0,'delete_time'=>0])->select();
|
||||
$count = $notices->count();
|
||||
$res = [];
|
||||
if($count){
|
||||
$res = ['code'=>0,'msg'=>'','count'=>$count];
|
||||
foreach($notices as $msg){
|
||||
$res['data'][] = ['id'=>$msg['id'],'type'=>$msg['type'],'title'=>$msg['title'],'user_id'=>$msg['user_id'],'content'=>$msg['content'],'ctime'=>$msg['create_time']];
|
||||
}
|
||||
} else {
|
||||
$res = ['code'=>-1,'msg'=>'还没有发布任何通知'];
|
||||
}
|
||||
return json($res);
|
||||
}
|
||||
return View::fetch();
|
||||
}
|
||||
|
||||
//添加消息
|
||||
public function add()
|
||||
{
|
||||
$sendId = Session::get('user_id');
|
||||
$data = Request::only(['type','title','receve_id','content']);
|
||||
if($data['type'] == 1){
|
||||
$receveId = $data['receve_id']; //个人通知
|
||||
} else {
|
||||
$receveId = 0; //系统通知
|
||||
}
|
||||
unset($data['receve_id']); //收信人移除
|
||||
$data['user_id'] = $sendId; //发信人入信息库
|
||||
//写入信息库
|
||||
$result = Message::sendMsg($sendId,$receveId,$data);
|
||||
if($result){
|
||||
$res = ['code'=>0,'msg'=>'发布成功'];
|
||||
} else {
|
||||
$res = ['code'=>0,'msg'=>'发布失败'];
|
||||
}
|
||||
return json($res);
|
||||
}
|
||||
|
||||
//编辑VIP积分规则
|
||||
public function edit()
|
||||
{
|
||||
$id = input('id');
|
||||
if(Request::isAjax()){
|
||||
$data = Request::only(['id','title','type','content']);
|
||||
$result = MessageModel::update($data);
|
||||
if($result){
|
||||
$res = ['code'=>0,'msg'=>'编辑成功'];
|
||||
}else{
|
||||
$res = ['code'=>-1,'msg'=>'编辑失败'];
|
||||
}
|
||||
return json($res);
|
||||
}
|
||||
$msg = Db::name('message')->find($id);
|
||||
View::assign(['msg'=>$msg]);
|
||||
return View::fetch();
|
||||
}
|
||||
|
||||
//删除消息
|
||||
public function delete($id)
|
||||
{
|
||||
if(Request::isAjax()){
|
||||
$msg = MessageModel::find($id);
|
||||
$result = $msg->delete();
|
||||
|
||||
if($result){
|
||||
return json(['code'=>0,'msg'=>'删除成功']);
|
||||
}else{
|
||||
return json(['code'=>-1,'msg'=>'删除失败']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -19,6 +19,10 @@ class Message extends Model
|
||||
return $this->hasMany('User','user_id','id');
|
||||
}
|
||||
|
||||
|
||||
//发件箱关联收件箱
|
||||
public function messageto()
|
||||
{
|
||||
return $this->hasMany('MessageTo','message_id','id');
|
||||
}
|
||||
|
||||
}
|
@ -18,6 +18,11 @@ class MessageTo extends Model
|
||||
return $this->hasMany('User','user_id','id');
|
||||
}
|
||||
|
||||
public function messages()
|
||||
{
|
||||
//评论关联用户
|
||||
return $this->belongsTo('Message','message_id','id');
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -167,7 +167,7 @@ class Article extends BaseController
|
||||
} else {
|
||||
$receveId = $article['user_id'];
|
||||
}
|
||||
$data = ['title'=>$title,'link'=>$link,'user_id'=>$sendId];
|
||||
$data = ['title'=>$title,'content'=>'评论通知','link'=>$link,'user_id'=>$sendId,'type'=>1];
|
||||
Message::sendMsg($sendId,$receveId,$data);
|
||||
|
||||
$res = ['code'=>1, 'msg'=>'留言成功'];
|
||||
|
@ -11,6 +11,7 @@ use think\facade\Cookie;
|
||||
use think\facade\Cache;
|
||||
use think\facade\View;
|
||||
use app\common\model\User as userModel;
|
||||
use taoler\com\Message;
|
||||
|
||||
class Login extends BaseController
|
||||
{
|
||||
@ -56,6 +57,9 @@ class Login extends BaseController
|
||||
$user = new \app\common\model\User();
|
||||
$res = $user->login($data);
|
||||
if ($res == 1) {
|
||||
//获取系统站内通知信息
|
||||
Message::insertMsg(session('user_id'));
|
||||
|
||||
return json(['code'=>0,'msg'=>'登陆成功','url'=>'/']);
|
||||
} else {
|
||||
return json(['code'=>-1,'msg'=>$res]);
|
||||
|
@ -5,6 +5,8 @@ use app\common\controller\BaseController;
|
||||
use think\facade\Session;
|
||||
use think\facade\Request;
|
||||
use think\facade\Db;
|
||||
use app\common\model\Message as MessageModel;
|
||||
use app\common\model\MessageTo;
|
||||
use taoler\com\Message as MessageApi;
|
||||
|
||||
class Message extends BaseController
|
||||
@ -33,12 +35,13 @@ class Message extends BaseController
|
||||
if($count){
|
||||
$res = ['status'=>0,'msg'=>'','count'=>$count];
|
||||
foreach ($msg as $k => $v){
|
||||
$data = ['id'=>$v['id'],'name'=>$v['name'],'content'=>$v['title'],'time'=>date("Y-m-d H:i",$v['create_time']),'link'=>$v['link'],'read'=>$v['is_read'] ? '已读':'未读'];
|
||||
$data = ['id'=>$v['id'],'name'=>$v['name'],'title'=>$v['title'],'content'=>$v['content'],'time'=>date("Y-m-d H:i",$v['create_time']),'link'=>$v['link'],'read'=>$v['is_read'] ? '已读':'未读','type'=>$v['message_type']];
|
||||
$res['rows'][] = $data;
|
||||
}
|
||||
} else {
|
||||
$res = ['status'=>0,'msg'=>'','rows'=>''];;
|
||||
}
|
||||
//var_dump($res);
|
||||
return json($res);
|
||||
}
|
||||
|
||||
@ -46,11 +49,17 @@ class Message extends BaseController
|
||||
public function read()
|
||||
{
|
||||
$id =input('id');
|
||||
$msg = Db::name('message_to')->where('id',$id)->save(['is_read'=>1]);
|
||||
//$msg = Db::name('message_to')->where('id',$id)->save(['is_read'=>1]);
|
||||
|
||||
$res=['status' =>0];
|
||||
|
||||
return json($res);
|
||||
$msg = MessageTo::field('id,message_id')->with(['messages' => function($query){
|
||||
$query->where('delete_time',0)->field('id,content');
|
||||
}])->where('id',$id)->find();
|
||||
//改变读状态
|
||||
$result = $msg->update(['id'=>$id,'is_read'=>1]);
|
||||
if($result){
|
||||
$res=['status' =>0,'content'=>$msg['messages']['content']];
|
||||
return json($res);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -173,7 +173,11 @@ INSERT INTO `tao_auth_rule` VALUES ('72', 'admin/Vip/add', '添加vip等级', '1
|
||||
INSERT INTO `tao_auth_rule` VALUES ('73', 'admin/Vip/vipEdit', '编辑vip等级', '1', '1', '1', '1', '', '0', '21', '', '1585548029', '0', '0');
|
||||
INSERT INTO `tao_auth_rule` VALUES ('74', 'admin/Vip/delete', '删除vip等级', '1', '1', '2', '1', '', '0', '22', '', '1585548077', '0', '0');
|
||||
INSERT INTO `tao_auth_rule` VALUES ('75', 'admin/Set/email', '邮箱设置', '1', '1', '2', '1', '', '0', '23', '', '1585548143', '0', '0');
|
||||
INSERT INTO `tao_auth_rule` VALUES ('76', 'admin/User/auth', '设置超级用户', '1', '1', '1', '1', '', '0', '22', '', '1578984801', '0', '0');
|
||||
INSERT INTO `tao_auth_rule` VALUES ('76', 'admin/Notice/index', '发布通知', '1', '1', '4', '1', '', '1', '10', '', '1585618141', '0', '0');
|
||||
INSERT INTO `tao_auth_rule` VALUES ('77', 'admin/Notice/add', '添加通知', '1', '1', '4', '1', '', '0', '11', '', '1585663336', '0', '0');
|
||||
INSERT INTO `tao_auth_rule` VALUES ('78', 'admin/Notice/edit', '编辑通知', '1', '1', '4', '1', '', '0', '12', '', '1585663366', '1585663465', '0');
|
||||
INSERT INTO `tao_auth_rule` VALUES ('79', 'admin/Notice/delete', '删除通知', '1', '1', '4', '1', '', '0', '13', '', '1585663412', '0', '0');
|
||||
INSERT INTO `tao_auth_rule` VALUES ('83', 'admin/User/auth', '设置超级用户', '1', '1', '1', '1', '', '0', '22', '', '1578984801', '0', '0');
|
||||
|
||||
DROP TABLE IF EXISTS `tao_cate`;
|
||||
CREATE TABLE `tao_cate` (
|
||||
@ -243,9 +247,10 @@ DROP TABLE IF EXISTS `tao_message`;
|
||||
CREATE TABLE `tao_message` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '消息ID',
|
||||
`title` varchar(255) NOT NULL COMMENT '消息标题',
|
||||
`content` tinytext COMMENT '消息内容',
|
||||
`content` text COMMENT '消息内容',
|
||||
`user_id` int(11) NOT NULL COMMENT '发送人ID',
|
||||
`link` varchar(255) NOT NULL COMMENT '链接',
|
||||
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '消息类型0系统消息1普通消息',
|
||||
`create_time` int(11) NOT NULL COMMENT '创建时间',
|
||||
`update_time` int(11) NOT NULL COMMENT '更新时间',
|
||||
`delete_time` int(11) NOT NULL COMMENT '删除时间',
|
||||
@ -258,6 +263,7 @@ CREATE TABLE `tao_message_to` (
|
||||
`send_id` int(11) NOT NULL COMMENT '发送人ID',
|
||||
`receve_id` int(11) NOT NULL COMMENT '接收人ID',
|
||||
`message_id` varchar(255) NOT NULL COMMENT '消息标题',
|
||||
`message_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '消息类型0系统消息1普通消息',
|
||||
`is_read` tinyint(1) NOT NULL DEFAULT '0' COMMENT '消息状态',
|
||||
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||
`update_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间',
|
||||
|
@ -39,7 +39,8 @@ class Auth
|
||||
|
||||
if (!$auth->check($app . '/' . $controller . '/' . $action, $admin_id) && $admin_id != 1) {
|
||||
//return response('<script>alert("没有权限");location.back()</script>');
|
||||
return response('没有权限');
|
||||
//return response('没有权限');
|
||||
return json(['code'=>-1,'msg'=>'没有权限!']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,11 +11,21 @@ class Message
|
||||
//send msg
|
||||
public static function sendMsg($sendId,$receveId,$data)
|
||||
{
|
||||
$msg = MessageModel::create($data);
|
||||
//写入消息库
|
||||
$msg = MessageModel::create($data); //写入消息库
|
||||
$msgId = $msg->id;
|
||||
$result = MessageTo::create(['send_id'=>$sendId,'receve_id'=>$receveId,'message_id'=>$msgId]);
|
||||
if($result){
|
||||
|
||||
//类型1为用户,写入用户收件箱
|
||||
if($data['type'] == 1){
|
||||
$result = MessageTo::create(['send_id'=>$sendId,'receve_id'=>$receveId,'message_id'=>$msgId,'message_type'=>$data['type']]);
|
||||
if(!$result){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if($msg){
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,12 +36,29 @@ class Message
|
||||
->alias('t')
|
||||
->join('message m','t.message_id = m.id' )
|
||||
->join('user u','t.send_id = u.id')
|
||||
->field('t.id as id,name,title,link,receve_id,t.create_time as create_time,is_read')
|
||||
->field('t.id as id,name,title,content,link,receve_id,t.create_time as create_time,message_type,is_read')
|
||||
->where('t.receve_id',$uid)
|
||||
->where(['t.delete_time'=>0])
|
||||
->order(['t.create_time'=>'desc'])
|
||||
->select();
|
||||
return $msg;
|
||||
}
|
||||
|
||||
//登录后插入系统消息
|
||||
public static function insertMsg($uid)
|
||||
{
|
||||
//得到所有系统消息
|
||||
$sysmsg = MessageModel::where(['type'=>0,'delete_time'=>0])->select();
|
||||
foreach($sysmsg as $smg){
|
||||
//检验通知是否被写入个人收件箱
|
||||
$msgId = Db::name('message_to')->where('message_id',$smg['id'])->find();
|
||||
if(!$msgId){
|
||||
$result = MessageTo::create(['send_id'=>$smg['user_id'],'receve_id'=>$uid,'message_id'=>$smg['id'],'message_type'=>$smg['type']]);
|
||||
}
|
||||
}
|
||||
if($result){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
193
public/static/admin/modules/appset.js
Normal file
193
public/static/admin/modules/appset.js
Normal file
@ -0,0 +1,193 @@
|
||||
//网站后台综合设置
|
||||
|
||||
layui.define(['table', 'form', 'layedit'], function(exports){
|
||||
var $ = layui.$
|
||||
,table = layui.table
|
||||
,form = layui.form
|
||||
,layedit = layui.layedit;
|
||||
|
||||
|
||||
var index = layedit.build('L_content',{
|
||||
height: 180 //设置编辑器高度
|
||||
,tool: [
|
||||
'strong' //加粗
|
||||
,'italic' //斜体
|
||||
,'underline' //下划线
|
||||
,'del' //删除线
|
||||
,'|' //分割线
|
||||
,'left' //左对齐
|
||||
,'center' //居中对齐
|
||||
,'right' //右对齐
|
||||
,'link' //超链接
|
||||
,'unlink' //清除链接
|
||||
,'face' //表情
|
||||
,'image' //插入图片
|
||||
],
|
||||
});
|
||||
|
||||
//得到编辑器内容异步到表单中
|
||||
form.verify({
|
||||
content: function(value){
|
||||
return layedit.sync(index);
|
||||
}
|
||||
});
|
||||
|
||||
//通知列表
|
||||
table.render({
|
||||
elem: '#notice-list',
|
||||
url: '/admin/Notice/index',
|
||||
limit: 5,
|
||||
cols:[[
|
||||
{type: 'numbers', fixed: 'left'},
|
||||
{field: 'type',title: '类型'},
|
||||
{field: 'title',title: '标题'},
|
||||
{field: 'user_id',title: '发信ID'},
|
||||
{field: 'content',title: '内容'},
|
||||
{field: 'ctime',title: '时间'},
|
||||
{title: '操作', width: 150, align:'center', fixed: 'right', toolbar: '#notice-tool'}
|
||||
]]
|
||||
,page: true
|
||||
,limit: 10
|
||||
,height: 'full-220'
|
||||
,text: '对不起,加载出现异常!'
|
||||
});
|
||||
//发站内通知信息
|
||||
form.on('select(type)', function(data){
|
||||
var tpl = '<div class="layui-col-md12">\
|
||||
<label for="L_title" class="layui-form-label">收件人</label>\
|
||||
<div class="layui-input-block">\
|
||||
<input type="text" id="receve_id" name="receve_id" required lay-verify="required" autocomplete="off" class="layui-input" >\
|
||||
</div>\
|
||||
</div>';
|
||||
//如果选择是用户追加收件人
|
||||
if(data.value == 1){
|
||||
$(this).parents('div .layui-col-md3').next('div').after(tpl);
|
||||
}else{
|
||||
$(this).parents('div .layui-col-md3').nextAll('div .layui-col-md12').remove();
|
||||
}
|
||||
});
|
||||
|
||||
//发布通知
|
||||
form.on('submit(notice-add)', function(data){
|
||||
var field = data.field;
|
||||
console.log(field);
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"/admin/Notice/add",
|
||||
data:field,
|
||||
dataType:"json",
|
||||
success:function (data){
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{
|
||||
icon:6,
|
||||
time:2000
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
content:data.msg,
|
||||
icon:5,
|
||||
anim:6
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
table.reload('notice-list'); //数据刷新
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
//监听工具条
|
||||
table.on('tool(notice-list)', function(obj){
|
||||
var data = obj.data;
|
||||
if(obj.event === 'del'){
|
||||
layer.prompt({
|
||||
formType: 1
|
||||
,title: '敏感操作,请验证口令'
|
||||
}, function(value, index){
|
||||
layer.close(index);
|
||||
|
||||
layer.confirm('真的删除行么', function(index){
|
||||
//obj.del();
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:"/admin/Notice/delete",
|
||||
data:{id:data.id},
|
||||
dataType:'json',
|
||||
success:function(data){
|
||||
if(data.code == 0){
|
||||
layer.msg(data.msg,{
|
||||
icon:6,
|
||||
time:2000
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
title:'删除失败',
|
||||
content:data.msg,
|
||||
icon:5,
|
||||
adim:6
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
table.reload('notice-list');
|
||||
layer.close(index);
|
||||
});
|
||||
});
|
||||
} else if(obj.event === 'edit'){
|
||||
var tr = $(obj.tr);
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '编辑签到'
|
||||
,content: '/admin/Notice/edit?id='+ data.id
|
||||
,maxmin: true
|
||||
,area: ['500px', '450px']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'notice-edit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field; //获取提交的字段
|
||||
|
||||
//提交 Ajax 成功后,静态更新表格中的数据
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"/admin/Notice/edit",
|
||||
data:{id:field.id,title:field.title,content:field.content,type:field.type},
|
||||
daType:"json",
|
||||
success:function (res){
|
||||
if (res.code == 0) {
|
||||
layer.msg(res.msg,{
|
||||
icon:6,
|
||||
time:2000
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
tiele:'修改失败',
|
||||
content:res.msg,
|
||||
icon:5,
|
||||
anim:6
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
table.reload('notice-list'); //数据刷新
|
||||
layer.close(index); //关闭弹层
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
,success: function(layero, index){
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
exports('appset', {})
|
||||
});
|
@ -308,7 +308,11 @@ layui.define(['laypage', 'fly', 'element', 'flow'], function(exports){
|
||||
<ul class="mine-msg">\
|
||||
{{# for(var i = 0; i < len; i++){ }}\
|
||||
<li data-id="{{d.rows[i].id}}">\
|
||||
<blockquote class="layui-elem-quote"><a href="/index/jump?name={{ d.rows[i].name}}" target="_blank"><cite>{{ d.rows[i].name}}</cite></a>回答了您的帖子<a target="_blank" class="art-title" id-data="{{ d.rows[i].id}}" href="{{ d.rows[i].link}}"><cite>{{ d.rows[i].content}}</cite></a> <span class="float:right">{{ d.rows[i].read}}</span></blockquote>\
|
||||
{{# if(d.rows[i].type == 1){ }}\
|
||||
<blockquote class="layui-elem-quote"><a href="/index/jump?name={{ d.rows[i].name}}" target="_blank"><cite>{{ d.rows[i].name}}</cite></a>回答了您的帖子<a target="_blank" class="art-title" id-data="{{ d.rows[i].id}}" href="{{ d.rows[i].link}}"><cite>{{ d.rows[i].title}}</cite></a> <span class="float:right">{{ d.rows[i].read}}</span></blockquote>\
|
||||
{{# } else { }}\
|
||||
<blockquote class="layui-elem-quote">系统消息:<a class="sys-title" id-data="{{ d.rows[i].id}}" href="javascript:;"><cite>{{ d.rows[i].title}}</cite></a> <span class="float:right">{{ d.rows[i].read}}</span></blockquote>\
|
||||
{{# } }}\
|
||||
<p><span>{{d.rows[i].time}}</span><a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-danger fly-delete">删除</a></p>\
|
||||
</li>\
|
||||
{{# } }}\
|
||||
|
68
view/admin/notice/edit.html
Normal file
68
view/admin/notice/edit.html
Normal file
@ -0,0 +1,68 @@
|
||||
{extend name="public/base" /}
|
||||
|
||||
{block name="body"}
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
|
||||
<div class="layui-form layui-form-pane">
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="timeline">
|
||||
<div class="layui-tab-content" id="LAY_ucm" style="padding: 20px 0;">
|
||||
<div class="layui-tab-item layui-show">
|
||||
|
||||
<div class="layui-row layui-col-space15 layui-form-item">
|
||||
<div class="layui-col-md3">
|
||||
<label class="layui-form-label">发送类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select lay-verify="required" name="type" lay-filter="type">
|
||||
<option {if condition="$msg.type eq 0"} selected {/if} value="0">站内通知</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md9">
|
||||
<label for="L_title" class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="L_title" name="title" required lay-verify="required" autocomplete="off" class="layui-input" value="{$msg.title}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<div class="layui-input-block">
|
||||
<textarea id="L_content" name="content" required lay-verify="content" autocomplete="off" class="layui-textarea " >{$msg.content}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="text" name="id" class="layui-input" value="{$msg.id}">
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button type="submit" class="layui-btn" lay-filter="notice-edit" lay-submit id="notice-edit">立即发布</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="js"}
|
||||
<script>
|
||||
layui.config({
|
||||
base: '/static/admin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','appset'],function(){
|
||||
var $ = layui.jquery;
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
{/block}
|
121
view/admin/notice/index.html
Normal file
121
view/admin/notice/index.html
Normal file
@ -0,0 +1,121 @@
|
||||
{extend name="public/base" /}
|
||||
|
||||
{block name="body"}
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
|
||||
<div class="layui-form layui-form-pane">
|
||||
<div class="layui-tab layui-tab-brief" lay-filter="timeline">
|
||||
<div class="layui-tab-content" id="LAY_ucm" style="padding: 20px 0;">
|
||||
<div class="layui-tab-item layui-show">
|
||||
|
||||
<div class="layui-row layui-col-space15 layui-form-item">
|
||||
<div class="layui-col-md3">
|
||||
<label class="layui-form-label">发送类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select lay-verify="required" name="type" lay-filter="type">
|
||||
<option value="0">站内通知</option>
|
||||
<option value="1">用户通知</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md9">
|
||||
<label for="L_title" class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="L_title" name="title" required lay-verify="required" autocomplete="off" class="layui-input" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<div class="layui-input-block">
|
||||
<textarea id="L_content" name="content" required lay-verify="content" autocomplete="off" class="layui-textarea "></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" class="layui-btn" lay-filter="notice-add" lay-submit id="notice-add">立即发布</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<table id="notice-list" lay-filter="notice-list"></table>
|
||||
<script type="text/html" id="notice-tool">
|
||||
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
|
||||
</script>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="js"}
|
||||
<script>
|
||||
layui.config({
|
||||
base: '/static/admin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','appset', 'layedit','form' ,'table'],function(){
|
||||
var $ = layui.jquery
|
||||
,layedit = layui.layedit
|
||||
,table = layui.table
|
||||
,form = layui.form;
|
||||
/*
|
||||
//发站内通知信息
|
||||
form.on('select(type)', function(data){
|
||||
var tpl = '<div class="layui-col-md12">\
|
||||
<label for="L_title" class="layui-form-label">收件人</label>\
|
||||
<div class="layui-input-block">\
|
||||
<input type="text" id="receve_id" name="receve_id" required lay-verify="required" autocomplete="off" class="layui-input" >\
|
||||
</div>\
|
||||
</div>';
|
||||
//如果选择是用户追加收件人
|
||||
if(data.value == 1){
|
||||
$(this).parents('div .layui-col-md3').next('div').after(tpl);
|
||||
}else{
|
||||
$(this).parents('div .layui-col-md3').nextAll('div .layui-col-md12').remove();
|
||||
}
|
||||
});
|
||||
|
||||
//发布通知
|
||||
form.on('submit(notice-add)', function(data){
|
||||
var field = data.field;
|
||||
console.log(field);
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('Notice/add')}",
|
||||
data:field,
|
||||
dataType:"json",
|
||||
success:function (data){
|
||||
if (data.code == 0) {
|
||||
layer.msg(data.msg,{
|
||||
icon:6,
|
||||
time:2000
|
||||
});
|
||||
} else {
|
||||
layer.open({
|
||||
content:data.msg,
|
||||
icon:5,
|
||||
anim:6
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
table.reload('notice-list'); //数据刷新
|
||||
return false;
|
||||
});
|
||||
*/
|
||||
|
||||
});
|
||||
</script>
|
||||
{/block}
|
@ -22,11 +22,10 @@
|
||||
}).extend({
|
||||
fly: 'index'
|
||||
}).use('fly');
|
||||
//
|
||||
//点开标题写入帖子已读
|
||||
$('#LAY_minemsg').on('click','.art-title', function(){
|
||||
var id = $(this).attr('id-data');
|
||||
var othis = $(this);
|
||||
console.log(othis);
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('message/read')}",
|
||||
@ -41,6 +40,33 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//点开标题写入系统信已读
|
||||
$('#LAY_minemsg').on('click','.sys-title', function(){
|
||||
var id = $(this).attr('id-data');
|
||||
//var othis = $(this);
|
||||
console.log(id);
|
||||
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url:"{:url('message/read')}",
|
||||
data:{"id":id},
|
||||
daType:"json",
|
||||
success:function (res){
|
||||
if(res.status == 0){
|
||||
layer.open({
|
||||
type: 1,
|
||||
skin: 'layui-layer-rim', //加上边框
|
||||
area: ['420px', '240px'], //宽高
|
||||
content: '<div class="layui-form" tyle="padding: 20px 30px 0 0;"> '+ res.content +'</div>'
|
||||
});
|
||||
//location.reload();
|
||||
//othis.append('<span class="float:right">已读</span>');
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
|
Loading…
x
Reference in New Issue
Block a user