【notice/message】通知和消息模块完成

Signed-off-by: liuhanqing <447067298@qq.com>
pull/65/head
liuhanqing 2021-01-15 22:52:49 +08:00
parent d70adcff59
commit 9434445769
8 changed files with 151 additions and 51 deletions

View File

@ -1,8 +1,8 @@
var Message = {}
layui.use(['element', 'admin', 'HttpRequest'], function () {
layui.use(['element', 'admin', 'HttpRequest', 'func'], function () {
var $ = layui.jquery;
var admin = layui.admin;
var HttpRequest = layui.HttpRequest;
var func = layui.func;
/* 加载更多按钮点击事件 */
/*$('#messageMoreBtn2').click(function () {
@ -35,6 +35,19 @@ layui.use(['element', 'admin', 'HttpRequest'], function () {
HttpRequest.setAsync(true)
HttpRequest.start();*/
};
/**
* 点击查看
*/
Message.openViewDlg = function (messageId) {
func.open({
title: '查看消息',
height: 540,
content: Feng.ctxPath + '/view/message_view?messageId=' + messageId,
tableId: Message.tableId
});
};
/* 清空消息点击事件 */
$('#messageClearBtn').click(function () {

View File

@ -380,13 +380,8 @@ Map.prototype.remove = function (key) {
}
layui.use(['form', 'admin', 'ax', 'formSelects'], function () {
layui.use(['form', 'admin', 'formSelects'], function () {
var $ = layui.jquery;
form.formSelects = layui.formSelects;
// var $ax = layui.ax;
/* var openType = $("#formOpenType_").val();
if(openType == "view"){
formPriv.doView()
}*/
});

View File

@ -52,7 +52,7 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () {
Message.openViewDlg = function (data) {
func.open({
title: '查看消息',
// height: 900,
height: 540,
content: Feng.ctxPath + '/view/message_view?messageId=' + data.messageId,
tableId: Message.tableId
});

View File

@ -1,3 +1,4 @@
var NoticeDlg = {};
layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], function () {
var $ = layui.jquery;
var HttpRequest = layui.HttpRequest;
@ -15,7 +16,21 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], func
, type: 'datetime'
});
});
// 控制用户选择显示隐藏
NoticeDlg.userSelectDiv = function(value){
if (value === "select") {
userSelect.update({
layVerify: 'required',
})
$("#userSelectDiv").show();
} else {
$("#userSelectDiv").hide();
userSelect.setValue([]);
userSelect.update({
layVerify: '',
})
}
}
// 渲染富文本编辑器
tinymce.init({
selector: '#noticeContent',
@ -35,30 +50,7 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], func
}
});
/*
//实例化编辑器
var ue = UE.getEditor('container', {
enableAutoSave: false,
autoHeightEnabled: true,
autoFloatEnabled: false,
scaleEnabled: true, //滚动条
initialFrameHeight: 400 //默认的编辑区域高度
});
UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function (action) {
if (action === 'uploadimage' || action === 'uploadscrawl' || action === 'uploadimage') {
return Feng.ctxPath + '/ueditor/imgUpdate';
} else if (action === 'uploadfile') {
return Feng.ctxPath + '/ueditor/uploadfile';
} else if (action === 'uploadvideo') {
return Feng.ctxPath + '/ueditor/uploadvideo';
} else {
return this._bkGetActionUrl.call(this, action);
}
};*/
$("#test").click(function (){
$("#test").click(function () {
var select = userSelect.getValue('valueStr');
alert(select)
console.log(select)
@ -77,25 +69,35 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], func
Feng.error("添加失败!" + data.message);
});
data.field.noticeContent = tinymce.get('noticeContent').getContent();
if (data.field.noticeScope !== "all") {
data.field.noticeScope = userSelect.getValue('valueStr');
}
request.set(data.field);
request.start(true);
//添加 return false 可成功跳转页面
return false;
});
// 通知范围切换
form.on('select(noticeScopeFilter)', function (data) {
NoticeDlg.userSelectDiv(data.value);
});
// 初始化用户选择
var userSelect = xmSelect.render({
el: '#userSelect',
autoRow: true,
filterable: true,
filterMethod: function (val, item, index, prop) {
if (item.name.indexOf(val) != -1) {//名称中包含的搜索出来
if (item.name.indexOf(val) !== -1) {//名称中包含的搜索出来
return true;
}
// 添加拼音检索
try {
if (Pinyin.GetJP(item.name).indexOf(val) != -1 || Pinyin.GetQP(item.name).indexOf(val) != -1) {
if (Pinyin.GetJP(item.name).indexOf(val) !== -1 || Pinyin.GetQP(item.name).indexOf(val) !== -1) {
return true
}
} catch (e) {
@ -120,6 +122,7 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], func
}
})
// 查询后台接口加载用户数据
var userSelectRequest = new HttpRequest(Feng.ctxPath + "/sysUser/getUserSelectTree", 'get', function (res) {
console.log(res)
userSelect.update({
@ -127,7 +130,7 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], func
})
userSelect.changeExpandedKeys(true)
}, function (data) {
Feng.error("获取用户选择失败!" + data.message);
Feng.error("获取用户数据失败!" + data.message);
});
userSelectRequest.start(false);

View File

@ -1,11 +1,12 @@
var NoticeDlg = {}
layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest'], function () {
layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], function () {
var $ = layui.jquery;
var HttpRequest = layui.HttpRequest;
var form = layui.form;
var admin = layui.admin;
var layer = layui.layer;
var laydate = layui.laydate;
var xmSelect = layui.xmSelect;
NoticeDlg.initTinymce = function(data){
@ -28,6 +29,72 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest'], function () {
}
});
}
// 控制用户选择显示隐藏
NoticeDlg.userSelectDiv = function(value){
if (value === "select") {
userSelect.update({
layVerify: 'required',
})
$("#userSelectDiv").show();
} else {
$("#userSelectDiv").hide();
userSelect.setValue([]);
userSelect.update({
layVerify: '',
})
}
}
// 初始化用户选择
var userSelect = xmSelect.render({
el: '#userSelect',
autoRow: true,
filterable: true,
filterMethod: function (val, item, index, prop) {
if (item.name.indexOf(val) !== -1) {//名称中包含的搜索出来
return true;
}
// 添加拼音检索
try {
if (Pinyin.GetJP(item.name).indexOf(val) !== -1 || Pinyin.GetQP(item.name).indexOf(val) !== -1) {
return true
}
} catch (e) {
console.log(e.message);
}
return false;//不知道的就不管了
},
tree: {
show: true,
showFolderIcon: true,
showLine: true,
indent: 20,
expandedKeys: true,
},
toolbar: {
show: true,
list: ['ALL', 'REVERSE', 'CLEAR']
},
height: 'auto',
data: function () {
return []
}
})
NoticeDlg.updateUserSelect = function(selectValue){
// 查询后台接口加载用户数据
var userSelectRequest = new HttpRequest(Feng.ctxPath + "/sysUser/getUserSelectTree", 'get', function (res) {
userSelect.update({
data: res.data
})
userSelect.changeExpandedKeys(true);
if(selectValue){
userSelect.setValue(selectValue.split(","));
}
}, function (data) {
Feng.error("获取用户数据失败!" + data.message);
});
userSelectRequest.start(false);
}
lay('input.date-input').each(function(){
laydate.render({
elem: this
@ -38,6 +105,11 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest'], function () {
//获取详情信息,填充表单
var request = new HttpRequest(Feng.ctxPath + "/sysNotice/detail?noticeId=" + Feng.getUrlParam("noticeId"), 'get', function (result) {
if(result.data.noticeScope !== "all"){
NoticeDlg.updateUserSelect(result.data.noticeScope)
result.data.noticeScope = "select";
}
NoticeDlg.userSelectDiv(result.data.noticeScope);
form.val('noticeForm', result.data);
NoticeDlg.initTinymce(result.data)
}, function (data) {
@ -49,18 +121,23 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest'], function () {
form.on('submit(btnSubmit)', function (data) {
var request = new HttpRequest(Feng.ctxPath + "/sysNotice/edit", 'post', function (data) {
admin.closeThisDialog();
Feng.success("添加成功!");
Feng.success("修改成功!");
admin.putTempData('formOk', true);
}, function (data) {
admin.closeThisDialog();
Feng.error("添加失败!" + data.message);
Feng.error("修改失败!" + data.message);
});
data.field.noticeContent = tinymce.get('noticeContent').getContent();
if (data.field.noticeScope !== "all") {
data.field.noticeScope = userSelect.getValue('valueStr');
}
request.set(data.field);
request.start(true);
//添加 return false 可成功跳转页面
return false;
});
// 通知范围切换
form.on('select(noticeScopeFilter)', function (data) {
NoticeDlg.userSelectDiv(data.value);
});
});

View File

@ -16,7 +16,7 @@
<div class="message-list" id="message-list">
<!-- 后台数据循环出来 -->
@for(msg in msgUnReadList){
<a class="message-list-item" href="javascript:;">
<a class="message-list-item" href="javascript:Message.openViewDlg('${msg.messageId}');">
<i class="layui-icon layui-icon-speaker message-item-icon"></i>
<div class="message-item-right">
<h2 class="message-item-title">${msg.messageTitle}</h2>

View File

@ -44,13 +44,16 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">通知范围</label>
<label class="layui-form-label">通知范围<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input name="noticeScope" placeholder="请输入通知范围" type="text" class="layui-input" lay-verify="" />
<select id="noticeScopeSelect" name="noticeScope" lay-verify="required" lay-filter="noticeScopeFilter">
<option value="all">全部用户</option>
<option value="select">选择用户</option>
</select>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">通知范围</label>
<div id="userSelectDiv" class="layui-inline layui-col-md12" style="display: none;">
<label class="layui-form-label">用户选择</label>
<div class="layui-input-block">
<div id="userSelect" class="xm-select"></div>
</div>
@ -69,7 +72,7 @@
<div class="form-group-bottom text-center">
<button class="layui-btn" lay-filter="btnSubmit" lay-submit>&emsp;提交&emsp;</button>
<button type="reset" class="layui-btn layui-btn-primary" ew-event="closeDialog">&emsp;取消&emsp;</button>
<button id="test" class="layui-btn layui-btn-primary" >&emsp;测试&emsp;</button>
<!-- <button id="test" class="layui-btn layui-btn-primary" >&emsp;测试&emsp;</button>-->
</div>
</form>
@}

View File

@ -1,4 +1,4 @@
@layout("/layout/_form.html",{js:["/assets/modular/system/notice/notice_edit.js"],plugins:["tinymce"]}){
@layout("/layout/_form.html",{js:["/assets/modular/system/notice/notice_edit.js"],plugins:["tinymce","pinyin"]}){
<form class="layui-form" id="noticeForm" lay-filter="noticeForm">
<div class="layui-fluid" style="padding-bottom: 75px;">
@ -44,9 +44,18 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">通知范围</label>
<label class="layui-form-label">通知范围<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input name="noticeScope" placeholder="请输入通知范围" type="text" class="layui-input" lay-verify="" />
<select id="noticeScopeSelect" name="noticeScope" lay-verify="required" lay-filter="noticeScopeFilter">
<option value="all">全部用户</option>
<option value="select">选择用户</option>
</select>
</div>
</div>
<div id="userSelectDiv" class="layui-inline layui-col-md12" style="display: none;">
<label class="layui-form-label">用户选择</label>
<div class="layui-input-block">
<div id="userSelect" class="xm-select"></div>
</div>
</div>
<div class="layui-inline layui-col-md12">