添加项目文件。
This commit is contained in:
142
HT.Cloud.Web/Areas/InfoManage/Controllers/MessageController.cs
Normal file
142
HT.Cloud.Web/Areas/InfoManage/Controllers/MessageController.cs
Normal file
@ -0,0 +1,142 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using HT.Cloud.Code;
|
||||
using HT.Cloud.Domain.InfoManage;
|
||||
using HT.Cloud.Service.InfoManage;
|
||||
|
||||
namespace HT.Cloud.Web.Areas.InfoManage.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 创 建:超级管理员
|
||||
/// 日 期:2020-07-29 16:41
|
||||
/// 描 述:通知管理控制器类
|
||||
/// </summary>
|
||||
[Area("InfoManage")]
|
||||
public class MessageController : BaseController
|
||||
{
|
||||
public MessageService _service { get; set; }
|
||||
|
||||
[HttpGet]
|
||||
[HandlerAuthorize]
|
||||
public ActionResult OwnerMessage()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
#region 获取数据
|
||||
|
||||
[HandlerAjaxOnly]
|
||||
[IgnoreAntiforgeryToken]
|
||||
public async Task<ActionResult> GetGridJson(SoulPage<MessageEntity> pagination, string keyword)
|
||||
{
|
||||
if (string.IsNullOrEmpty(pagination.field))
|
||||
{
|
||||
pagination.field = "F_Id";
|
||||
pagination.order = "desc";
|
||||
}
|
||||
var data = await _service.GetLookList(pagination, keyword);
|
||||
return Content(pagination.setData(data).ToJson());
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> GetListJson(string keyword)
|
||||
{
|
||||
var data = await _service.GetList(keyword);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> GetUnReadListJson()
|
||||
{
|
||||
var data = await _service.GetUnReadListJson();
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> GetFormJson(string keyValue)
|
||||
{
|
||||
var data = await _service.GetLookForm(keyValue);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
#endregion 获取数据
|
||||
|
||||
#region 提交数据
|
||||
|
||||
[HttpPost]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> SubmitForm(MessageEntity entity)
|
||||
{
|
||||
try
|
||||
{
|
||||
entity.F_EnabledMark = true;
|
||||
entity.F_ClickRead = true;
|
||||
entity.F_CreatorUserName = _service.currentuser.UserName;
|
||||
await _service.SubmitForm(entity);
|
||||
return await Success("操作成功。", "", "");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return await Error(ex.Message, "", "");
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[HandlerAjaxOnly]
|
||||
[IgnoreAntiforgeryToken]
|
||||
public async Task<ActionResult> ReadMsgForm(string keyValue)
|
||||
{
|
||||
if (await _service.CheckMsg(keyValue))
|
||||
{
|
||||
return Success("信息已读");
|
||||
}
|
||||
try
|
||||
{
|
||||
await _service.ReadMsgForm(keyValue);
|
||||
return await Success("操作成功。", "", keyValue);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return await Error(ex.Message, "", keyValue);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[HandlerAjaxOnly]
|
||||
[IgnoreAntiforgeryToken]
|
||||
public async Task<ActionResult> ReadAllMsgForm(int type = 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _service.ReadAllMsgForm(type);
|
||||
return await Success("操作成功。", "", "");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return await Error(ex.Message, "", "");
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[HandlerAjaxOnly]
|
||||
[HandlerAuthorize]
|
||||
public async Task<ActionResult> DeleteForm(string keyValue)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _service.DeleteForm(keyValue);
|
||||
return await Success("操作成功。", "", keyValue, DbLogType.Delete);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return await Error(ex.Message, "", keyValue, DbLogType.Delete);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion 提交数据
|
||||
}
|
||||
}
|
53
HT.Cloud.Web/Areas/InfoManage/Views/Message/Form.cshtml
Normal file
53
HT.Cloud.Web/Areas/InfoManage/Views/Message/Form.cshtml
Normal file
@ -0,0 +1,53 @@
|
||||
@{
|
||||
ViewBag.Title = "Form";
|
||||
Layout = "~/Views/Shared/_Form.cshtml";
|
||||
}
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'laydate', 'common','optimizeSelectOption'], function () {
|
||||
var form = layui.form,
|
||||
$ = layui.$,
|
||||
common = layui.common,
|
||||
laydate = layui.laydate;
|
||||
var keyValue = $.request("keyValue");
|
||||
//权限字段
|
||||
common.authorizeFields('adminform');
|
||||
wcLoading.close();
|
||||
//监听提交
|
||||
form.on('submit(saveBtn)', function (data) {
|
||||
var postData = data.field;
|
||||
common.submitForm({
|
||||
url: "/InfoManage/Message/SubmitForm",
|
||||
param: postData,
|
||||
success: function () {
|
||||
common.parentreload("data-search-btn");
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-form layuimini-form " lay-filter="adminform">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label required">类型</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="F_MessageType" name="F_MessageType" lay-verify="required" lay-search>
|
||||
<option value="0" selected>通知</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide layui-form-text">
|
||||
<label class="layui-form-label required">内容</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea id="F_MessageInfo" name="F_MessageInfo" class="layui-textarea" lay-verify="required" placeholder="内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<button class="layui-btn site-demo-active" lay-submit id="submit" lay-filter="saveBtn">确认保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
141
HT.Cloud.Web/Areas/InfoManage/Views/Message/Index.cshtml
Normal file
141
HT.Cloud.Web/Areas/InfoManage/Views/Message/Index.cshtml
Normal file
@ -0,0 +1,141 @@
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
Layout = "~/Views/Shared/_Index.cshtml";
|
||||
}
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<fieldset class="table-search-fieldset layui-hide" id="searchField">
|
||||
<div>
|
||||
<form class="layui-form layui-form-pane">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">关键字:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="txt_keyword" name="txt_keyword" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container" id="toolbar">
|
||||
<button id="NF-add" name="NF-add" authorize="yes" class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i>新建通知</button>
|
||||
<button id="NF-delete" name="NF-delete" authorize class="layui-btn layui-btn-sm layui-btn-danger layui-hide" lay-event="delete"> <i class="layui-icon"></i>删除</button>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="currentTableBar">
|
||||
<a id="NF-delete" authorize class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete">删除</a>
|
||||
</script>
|
||||
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['form', 'table', 'common','commonTable'], function () {
|
||||
var form = layui.form,
|
||||
table = layui.table,
|
||||
commonTable = layui.commonTable,
|
||||
common = layui.common;
|
||||
//权限控制(js是值传递)
|
||||
currentTableBar.innerHTML = common.authorizeButtonNew(currentTableBar.innerHTML);
|
||||
toolbarDemo.innerHTML = common.authorizeButtonNew(toolbarDemo.innerHTML);
|
||||
commonTable.rendertable({
|
||||
elem: '#currentTableId',
|
||||
id: 'currentTableId',
|
||||
url: '/InfoManage/Message/GetGridJson',
|
||||
filter: {
|
||||
clearFilter: false,
|
||||
//数据量大,data就不需要了
|
||||
items: ['column', 'condition', 'editCondition', 'excel']
|
||||
},
|
||||
cols: [[
|
||||
{ type: "checkbox", width: 50, fixed: 'left' },
|
||||
{
|
||||
field: 'F_MessageType', title: '信息类型', width: 120, sort: true, filter: true,
|
||||
templet: function (d) {
|
||||
return top.clients.dataItems["MessageType"][d.F_MessageType] == undefined ? "" : top.clients.dataItems["MessageType"][d.F_MessageType]
|
||||
}
|
||||
},
|
||||
{ field: 'F_ToUserId', title: '收件人主键', width: 120, sort: true, hide: true, filter: true },
|
||||
{ field: 'F_ToUserName', title: '收件人', width: 120, sort: true, filter: true },
|
||||
{ field: 'F_MessageInfo', title: '内容', minWidth: 150, sort: true, filter: true },
|
||||
{
|
||||
field: 'F_CreatorTime', title: '创建时间', width: 160, sort: true, filter: { type: 'date[yyyy/MM/dd HH:mm:ss]' }
|
||||
},
|
||||
{ field: 'F_CreatorUserId', title: '创建用户主键', width: 120, sort: true, hide: true, filter: true },
|
||||
{ field: 'F_CreatorUserName', title: '创建用户', width: 120, sort: true, filter: true },
|
||||
{ title: '操作', width: 80, toolbar: '#currentTableBar', align: "center", fixed: 'right' }
|
||||
]]
|
||||
});
|
||||
// 监听搜索操作
|
||||
form.on('submit(data-search-btn)', function (data) {
|
||||
//执行搜索重载
|
||||
commonTable.reloadtable({
|
||||
elem: 'currentTableId',
|
||||
curr: 1,
|
||||
where: { keyword: data.field.txt_keyword}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
wcLoading.close();
|
||||
//行点击事件监听,控制按钮显示
|
||||
var morerList = ["NF-delete"];//选中1条以上显示
|
||||
commonTable.tableRowClick("checkbox", "currentTableFilter", "currentTableId", null, morerList);
|
||||
//toolbar监听事件
|
||||
table.on('toolbar(currentTableFilter)', function (obj) {
|
||||
var data = table.checkStatus('currentTableId').data;
|
||||
if (obj.event === 'add') { // 监听操作
|
||||
common.modalOpen({
|
||||
title: "添加通知",
|
||||
url: "/InfoManage/Message/Form",
|
||||
width: "450px",
|
||||
height: "350px",
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'delete') {
|
||||
if (data.length == 0) {
|
||||
common.modalMsg("未选中数据", "warning");
|
||||
return false;
|
||||
}
|
||||
var ids = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
ids.push(data[i].F_Id);
|
||||
}
|
||||
common.deleteForm({
|
||||
url: "/InfoManage/Message/DeleteForm",
|
||||
param: { keyValue: ids.join(',') },
|
||||
success: function () {
|
||||
common.reload('data-search-btn');
|
||||
entity = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (obj.event === 'TABLE_SEARCH') {
|
||||
var _that = $("#searchField");
|
||||
if (_that.hasClass("layui-hide")) {
|
||||
_that.removeClass('layui-hide');
|
||||
} else {
|
||||
_that.addClass('layui-hide');
|
||||
}
|
||||
table.resize();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//toolrow监听事件
|
||||
table.on('tool(currentTableFilter)', function (obj) {
|
||||
if (obj.event === 'delete') {
|
||||
common.deleteForm({
|
||||
url: "/InfoManage/Message/DeleteForm",
|
||||
param: { keyValue: obj.data.F_Id },
|
||||
success: function () {
|
||||
obj.del();
|
||||
}
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
Reference in New Issue
Block a user