@@ -0,0 +1,187 @@ | |||||
using Learun.Util; | |||||
using System.Data; | |||||
using Learun.Application.TwoDevelopment.LR_Desktop; | |||||
using System.Web.Mvc; | |||||
using System.Collections.Generic; | |||||
using System.Collections; | |||||
namespace Learun.Application.Web.Areas.LR_Desktop.Controllers | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 | |||||
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2021-04-23 16:58 | |||||
/// 描 述:消息提醒 | |||||
/// </summary> | |||||
public class MessageRindController : MvcControllerBase | |||||
{ | |||||
private MessageRindIBLL messageRindIBLL = new MessageRindBLL(); | |||||
#region 视图功能 | |||||
/// <summary> | |||||
/// 主页面 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult Index() | |||||
{ | |||||
return View(); | |||||
} | |||||
/// <summary> | |||||
/// 未读消息页面 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult UnreadIndex() | |||||
{ | |||||
return View(); | |||||
} | |||||
/// <summary> | |||||
/// 表单页 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult Form() | |||||
{ | |||||
return View(); | |||||
} | |||||
#endregion | |||||
#region 获取数据 | |||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetPageList(string pagination, string queryJson) | |||||
{ | |||||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||||
var data = messageRindIBLL.GetPageList(paginationobj, queryJson); | |||||
var jsonData = new | |||||
{ | |||||
rows = data, | |||||
total = paginationobj.total, | |||||
page = paginationobj.page, | |||||
records = paginationobj.records | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
/// <summary> | |||||
/// 获取未读的消息的数量 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetCountForUnread() | |||||
{ | |||||
var count = messageRindIBLL.GetCountForUnread(); | |||||
return Success(count); | |||||
} | |||||
/// <summary> | |||||
/// 获取未读的消息 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetListForUnread() | |||||
{ | |||||
var data = messageRindIBLL.GetListForUnread(); | |||||
List<Hashtable> list = new List<Hashtable>(); | |||||
foreach (var entity in data) | |||||
{ | |||||
Hashtable ht = new Hashtable(); | |||||
ht["MessageId"] = entity.MessageId; | |||||
ht["SenderName"] = entity.SenderName; | |||||
ht["TheTitle"] = entity.TheTitle; | |||||
ht["TheContent"] = entity.TheContent; | |||||
ht["ConnectionUrl"] = entity.ConnectionUrl; | |||||
ht["InstanceId"] = entity.InstanceId; | |||||
list.Add(ht); | |||||
} | |||||
return ToJsonResult(list); | |||||
} | |||||
/// <summary> | |||||
/// 获取表单数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetFormData(string keyValue) | |||||
{ | |||||
var MessageRemindData = messageRindIBLL.GetMessageRemindEntity(keyValue); | |||||
var jsonData = new | |||||
{ | |||||
MessageRemind = MessageRemindData, | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
#endregion | |||||
#region 提交数据 | |||||
/// <summary> | |||||
/// 删除实体数据 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <returns></returns> | |||||
[HttpPost] | |||||
[AjaxOnly] | |||||
public ActionResult DeleteForm(string keyValue) | |||||
{ | |||||
messageRindIBLL.DeleteEntity(keyValue); | |||||
return Success("删除成功!"); | |||||
} | |||||
/// <summary> | |||||
/// 保存实体数据(新增、修改) | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="strEntity">实体</param> | |||||
/// <returns></returns> | |||||
[HttpPost] | |||||
[ValidateAntiForgeryToken] | |||||
[AjaxOnly] | |||||
public ActionResult SaveForm(string keyValue, string strEntity) | |||||
{ | |||||
MessageRemindEntity entity = strEntity.ToObject<MessageRemindEntity>(); | |||||
messageRindIBLL.SaveEntity(keyValue, entity); | |||||
if (string.IsNullOrEmpty(keyValue)) | |||||
{ | |||||
} | |||||
return Success("保存成功!"); | |||||
} | |||||
/// <summary> | |||||
/// 更改状态为已读 | |||||
/// </summary> | |||||
/// <param name="keyValue">主键</param> | |||||
/// <param name="strEntity">实体</param> | |||||
/// <returns></returns> | |||||
[HttpPost] | |||||
[AjaxOnly] | |||||
public ActionResult SaveReadSigns(string keyValue) | |||||
{ | |||||
if (!string.IsNullOrEmpty(keyValue)) | |||||
{ | |||||
messageRindIBLL.SaveReadSigns(keyValue); | |||||
} | |||||
return Success("保存成功!"); | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@@ -0,0 +1,139 @@ | |||||
@*@{ | |||||
ViewBag.Title = "未读消息"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<div class="lr-layout " > | |||||
<div class="lr-layout-center"> | |||||
<div class="lr-layout-wrap lr-layout-wrap-notitle "> | |||||
<div class="lr-layout-body" id="content"></div> | |||||
</div> | |||||
</div> | |||||
</div>*@ | |||||
<!DOCTYPE html> | |||||
<html> | |||||
<head> | |||||
<meta name="viewport" content="width=device-width" /> | |||||
<title>未读消息提醒</title> | |||||
<script src="~/Content/jquery/plugin/fullcalendar/js/jquery-1.7.2.min.js"></script> | |||||
<script src="~/Content/jquery/plugin/jquery-ui/jquery-ui.min.js"></script> | |||||
<script src="~/Content/jquery/plugin/fullcalendar/js/fullcalendar.min.js"></script> | |||||
<link href="~/Content/jquery/plugin/fullcalendar/css/fullcalendar.css" rel="stylesheet" /> | |||||
@Html.AppendCssFile( | |||||
"/Views/LR_Content/style/lr-common.css", | |||||
"/Views/LR_Content/style/lr-iframe-index.css", | |||||
"~/Content/jquery/plugin/toastr/toastr.css" | |||||
) | |||||
</head> | |||||
<body> | |||||
<div id='content'> | |||||
</div> | |||||
@Html.AppendJsFile( | |||||
"~/Content/jquery/plugin/toastr/toastr.min.js", | |||||
"~/Views/LR_Content/script/lr-admin.js", | |||||
"~/Views/LR_Content/script/lr-clientdata.js", | |||||
"~/Content/jquery/plugin/fullcalendar/js/jquery-1.7.2.min.js", | |||||
"~/Areas/LR_Desktop/Views/MessageRind/Index.js" | |||||
) | |||||
<script type='text/javascript'> | |||||
$(document).ready(function () { | |||||
getdata(); | |||||
function getdata() { | |||||
$.ajax({ | |||||
url: top.$.rootUrl + '/LR_Desktop/MessageRind/GetListForUnread', | |||||
type: "get", | |||||
dataType: "json", | |||||
async: false, | |||||
success: function (data) { | |||||
var content = ""; | |||||
if (data.length > 0) { | |||||
content += "<ul id='uldata'>"; | |||||
for (var i = 0; i < data.length; i++) { | |||||
content += "<li>" + " " + data[i]["SenderName"] + "的消息:" + "</li>"; | |||||
var theContent = data[i]["TheContent"]; | |||||
//可显示的最长长度 | |||||
var maxlen = 50; | |||||
if (theContent.length > maxlen) { | |||||
theContent = theContent.substring(0, maxlen - 3) + "..."; | |||||
} | |||||
var param = data[i]["TheTitle"] + "、" + data[i]["InstanceId"] + "、" + data[i]["MessageId"] + "、" + data[i]["ConnectionUrl"]; | |||||
content += "<li>"; | |||||
content += " 【" + data[i]["TheTitle"] + "】" + theContent + " "; | |||||
content += '<a id="' + param + '" href="javascript:void(0);" class="lr-item" style="color:blue;textDecoration:underline">点击查看>>'; | |||||
content += "</a>"; | |||||
content += "</li>"; | |||||
} | |||||
content += "</ul>"; | |||||
} | |||||
else { | |||||
content = "暂无未读消息"; | |||||
} | |||||
$("#content").html(content); | |||||
} | |||||
}); | |||||
} | |||||
$('#uldata .lr-item').on('click', function () { | |||||
var $obj = $(this); | |||||
var params = ($obj.attr('id')).split('、'); | |||||
//更改状态为已读 | |||||
var MessageId = params[2]; | |||||
if (top.learun.checkrow(MessageId)) { | |||||
$.ajax({ | |||||
url: top.$.rootUrl + '/LR_Desktop/MessageRind/SaveReadSigns', | |||||
type: "post", | |||||
data: { keyValue: MessageId }, | |||||
dataType: "json", | |||||
async: false, | |||||
success: function (data) { | |||||
//弹窗查看详情 | |||||
var keyValue = params[1]; | |||||
var ConnectionUrl = params[3]; | |||||
var title = params[0]; | |||||
if (top.learun.checkrow(keyValue)) { | |||||
top.learun.layerForm({ | |||||
id: 'formview', | |||||
title: title, | |||||
url: top.$.rootUrl + ConnectionUrl + keyValue, | |||||
width: 1000, | |||||
height: 650, | |||||
maxmin: true, | |||||
btn: null, | |||||
}); | |||||
} | |||||
} | |||||
}) | |||||
} | |||||
}); | |||||
}); | |||||
//function funLook(param) { | |||||
// var id = "433d5658-40b0-4e2d-b736-c4e8561d017e";//$obj.attr('id'); | |||||
// var _module = top.learun.clientdata.get(['modulesMap', id]); | |||||
// switch (_module.F_Target) { | |||||
// case 'iframe':// 窗口 | |||||
// if (top.learun.validator.isNotNull(_module.F_UrlAddress).code) { | |||||
// top.learun.frameTab.open(_module); | |||||
// } | |||||
// break; | |||||
// case 'open':// 窗口 | |||||
// var newWin = window.open(_module.F_UrlAddress); | |||||
// newWin.location.replace(_module.F_UrlAddress); | |||||
// break; | |||||
// } | |||||
//} | |||||
</script> | |||||
</body> | |||||
</html> |
@@ -70,7 +70,7 @@ | |||||
dfop.width = dfop.width > $(window).width() ? $(window).width() - 10 : dfop.width; | dfop.width = dfop.width > $(window).width() ? $(window).width() - 10 : dfop.width; | ||||
dfop.height = dfop.height > $(window).height() ? $(window).height() - 10 : dfop.height; | dfop.height = dfop.height > $(window).height() ? $(window).height() - 10 : dfop.height; | ||||
var r = 0; | var r = 0; | ||||
r=top.layer.open({ | |||||
r = top.layer.open({ | |||||
id: dfop.id, | id: dfop.id, | ||||
maxmin: dfop.maxmin, | maxmin: dfop.maxmin, | ||||
type: 2, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层) | type: 2, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层) | ||||