@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<link href="~/Content/themes/default/easyui.css" rel="stylesheet" />
<link href="~/Content/themes/icon.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<script src="~/Scripts/jquery.easyui.min.js"></script>
<script src="~/Scripts/easyui-lang-zh_CN.js"></script>
<script src="~/Scripts/datapattern.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script type="text/javascript">
$(function () {
$("#addDiv").css("display", "none");
$("#editDiv").css("display", "none");
//给搜索按钮加一个单击事件
$("#btnSearch").click(function () {
//获取用户输入的搜索数据.
var pars = {
name: $("#txtSearchName").val(),
remark: $("#txtSearchRemark").val()
};
//将获取的搜索的数据发送到服务端。
loadData(pars)
});
loadData();
});
function loadData(pars) {
$('#tt').datagrid({
url: '/UserInfo/GetUserInfoList',
title: '用户数据表格',
width: 700,
height: 400,
fitColumns: true, //列自适应
nowrap: false,
idField: 'ID',//主键列的列明
loadMsg: '正在加载用户的信息...',
pagination: true,//是否有分页
singleSelect: false,//是否单行选择
pageSize: 5,//页大小,一页多少条数据
pageNumber: 1,//当前页,默认的
pageList: [5, 10, 15],
queryParams: pars,//往后台传递参数
columns: [[//c.UserName, c.UserPass, c.Email, c.RegTime
{ field: 'ck', checkbox: true, align: 'left', width: 50 },
{ field: 'ID', title: '编号', width: 80 },
{ field: 'UName', title: '姓名', width: 120 },
{ field: 'UPwd', title: '密码', width: 120 },
{ field: 'Remark', title: '备注', width: 120 },
{
field: 'SubTime', title: '时间', width: 80, align: 'right',
formatter: function (value, row, index) {
return (eval(value.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"))).pattern("yyyy-M-d");
}
}
]],
toolbar: [{
id: 'btnDelete',
text: '删除',
iconCls: 'icon-remove',
handler: function () {
deleteInfo();
}
}, {
id: 'btnAdd',
text: '添加',
iconCls: 'icon-add',
handler: function () {
addInfo();
}
}, {
id: 'btnEidt',
text: '编辑',
iconCls: 'icon-edit',
handler: function () {
showEditInfo();
}
}],
});
}
//删除数据
function deleteInfo() {
var rows = $('#tt').datagrid('getSelections');//获取所选择的行
if (!rows || rows.length == 0) {
//alert("请选择要修改的商品!");
$.messager.alert("提醒", "请选择要删除的记录!", "error");
return;
}
$.messager.confirm("提示", "确定要删除数据吗", function (r) {
if (r) {
//获取要删除的记录的ID值。
var rowsLength = rows.length;
var strId = "";
for (var i = 0; i < rowsLength; i++) {
strId = strId + rows[i].ID + ",";//1,2,3,
}
//去掉最后一个逗号.
strId = strId.substr(0, strId.length - 1);
//将获取的要删除的记录的ID值发送到服务端.
$.post("/UserInfo/DeleteUserInfo", { "strId": strId }, function (data) {
if (data == "ok") {
$('#tt').datagrid('reload');//加载表格不会跳到第一页。
//清除上次操作的历史的记录。
$('#tt').datagrid('clearSelections')
} else {
$.messager.alert("提醒", "删除记录失败!", "error");
}
});
}
});
}
//添加数据
function addInfo() {
$("#addDiv").css("display", "block");
$('#addDiv').dialog({
title: '添加用户数据',
width: 300,
height: 200,
collapsible: true,
maximizable: true,
resizable: true,
modal: true,
buttons: [{
text: 'Ok',
iconCls: 'icon-ok',
handler: function () {
//表单校验
validateInfo($("#addForm"));
$("#addForm").submit();//提交表单
}
}, {
text: 'Cancel',
handler: function () {
$('#addDiv').dialog('close');
}
}]
});
}
//完成添加后调用该方法
function afterAdd(data) {
if (data == "ok") {
$('#addDiv').dialog('close');
$('#tt').datagrid('reload');//加载表格不会跳到第一页。
$("#addForm input").val("");
}
}
//表单校验
function validateInfo(control) {
control.validate({//表示对哪个form表单进行校验,获取form标签的id属性的值
rules: {//表示验证规则
UName: "required",//表示对哪个表单元素进行校验,要写具体的表单元素的name属性的值
Remark: {
required: true
},
UPwd: {
required: true,
minlength: 5
},
Sort: {
required: true
}
},
messages: {
UName: "请输入用户名",
Remark: {
required: "请输入备注"
},
UPwd: {
required: "请输入密码",
minlength: jQuery.format("密码不能小于{0}个字 符")
},
Sort: {
required: "请输入排序"
}
}
});
}
//展示一下要修改的数据.
function showEditInfo() {
//判断一下用户是否选择了要修改的数据
var rows = $('#tt').datagrid('getSelections');//获取所选择的行
if (rows.length != 1) {
$.messager.alert("提示", "请选择要修改的数据", "error");
return;
}
//将要修改的数据查询出来,显示到文本框中。
var id = rows[0].ID;
$.post("/UserInfo/ShowEditInfo", { "id": id }, function (data) {
$("#txtUName").val(data.UName);
$("#txtUPwd").val(data.UPwd);
$("#txtRemark").val(data.Remark);
$("#txtSort").val(data.Sort);
$("#txtSubTime").val(ChangeDateFormat(data.SubTime));
$("#txtDelFlag").val(data.DelFlag);
$("#txtId").val(data.ID);
});
$("#editDiv").css("display", "block");
$('#editDiv').dialog({
title: '编辑用户数据',
width: 300,
height: 200,
collapsible: true,
maximizable: true,
resizable: true,
modal: true,
buttons: [{
text: 'Ok',
iconCls: 'icon-ok',
handler: function () {
//表单校验
validateInfo($("#editForm"));
$("#editForm").submit();//提交表单
}
}, {
text: 'Cancel',
handler: function () {
$('#editDiv').dialog('close');
}
}]
});
}
//更新以后调用该方法.
function afterEdit(data) {
if (data == "ok") {
$('#editDiv').dialog('close');
$('#tt').datagrid('reload');//加载表格不会跳到第一页。
} else {
$.messager.alert("提示", "修改的数据失败", "error");
}
}
//将序列化成json格式后日期(毫秒数)转成日期格式
function ChangeDateFormat(cellval) {
var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10));
var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
return date.getFullYear() + "-" + month + "-" + currentDate;
}
</script>
</head>
<body>
<div>
用户名:<input type="text" id="txtSearchName" /> 备注<input type="text" id="txtSearchRemark" /><a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'" style="width:80px" id="btnSearch">Search</a>
<table id="tt" style="width: 700px;" title="标题,可以使用代码进行初始化,也可以使用这种属性的方式" iconcls="icon-edit"></table>
</div>
<!--------------添加数据---------------------->
<div id="addDiv">
@using (Ajax.BeginForm("AddUserInfo", "UserInfo", new { }, new AjaxOptions() { HttpMethod = "post", OnSuccess = "afterAdd" }, new { id = "addForm" }))
{
<table>
<tr><td>用户名</td><td><input type="text" name="UName" /></td></tr>
<tr><td>密码</td><td><input type="password" name="UPwd" /></td></tr>
<tr><td>备注</td><td><input type="text" name="Remark" /></td></tr>
<tr><td>排序</td><td><input type="text" name="Sort" /></td></tr>
</table>
}
</div>
<!--------------修改数据---------------------->
<div id="editDiv">
@using (Ajax.BeginForm("EditUserInfo", "UserInfo", new { }, new AjaxOptions() { HttpMethod = "post", OnSuccess = "afterEdit" }, new { id = "editForm" }))
{
<input type="hidden" name="ID" id="txtId" />
<input type="hidden" name="SubTime" id="txtSubTime" />
<input type="hidden" name="DelFlag" id="txtDelFlag" />
<table>
<tr><td>用户名</td><td><input type="text" name="UName" id="txtUName" /></td></tr>
<tr><td>密码</td><td><input type="text" name="UPwd" id="txtUPwd" /></td></tr>
<tr><td>备注</td><td><input type="text" name="Remark" id="txtRemark" /></td></tr>
<tr><td>排序</td><td><input type="text" name="Sort" id="txtSort" /></td></tr>
</table>
}
</div>
</body>
</html>
/************************************************************************************************/
using CZBK.ItcastOA.Model;
using CZBK.ItcastOA.Model.EnumType;
using CZBK.ItcastOA.Model.Search;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CZBK.ItcastOA.WebApp.Controllers
{
public class UserInfoController :BaseController //Controller
{
//
// GET: /UserInfo/
IBLL.IUserInfoService UserInfoService{get;set;}
public ActionResult Index()
{
return View();
}
#region 获取用户列表数据
public ActionResult GetUserInfoList()
{
int pageIndex = Request["page"] != null ? int.Parse(Request["page"]) : 1;
int pageSize = Request["rows"] != null ? int.Parse(Request["rows"]) : 5;
//接收搜索条件
string userName = Request["name"];
string userRemark = Request["remark"];
int totalCount=0;
//构建搜索条件.
UserInfoSearch userInfoSearch = new UserInfoSearch() {
UserName=userName,
UserRemark=userRemark,
PageIndex=pageIndex,
PageSize=pageSize,
TotalCount=totalCount
};
short delFlag = (short)DeleteEnumType.Normarl;
//根据构建好的搜索条件完成搜索
var userInfoList = UserInfoService.LoadSearchEntities(userInfoSearch, delFlag);
//获取分页数据。
//var userInfoList= UserInfoService.LoadPageEntities<int>(pageIndex, pageSize, out totalCount, c => c.DelFlag == delFlag, c => c.ID,true);
var temp = from u in userInfoList
select new {
ID=u.ID,
UName=u.UName,
UPwd=u.UPwd,
Remark=u.Remark,
SubTime=u.SubTime
};
return Json(new { rows = temp, total = userInfoSearch.TotalCount }, JsonRequestBehavior.AllowGet);
}
#endregion
#region 删除用户数据
public ActionResult DeleteUserInfo()
{
string strId=Request["strId"];
string[]strIds=strId.Split(',');
List<int> list = new List<int>();
foreach (string id in strIds)
{
list.Add(Convert.ToInt32(id));
}
//将list集合存储的的要删除的记录的编号传递到业务层.
if (UserInfoService.DeleteEntities(list))
{
return Content("ok");
}
else
{
return Content("no");
}
}
#endregion
#region 添加用户数据
public ActionResult AddUserInfo(UserInfo userInfo)
{
userInfo.DelFlag = 0;
userInfo.ModifiedOn = DateTime.Now;
userInfo.SubTime = DateTime.Now;
UserInfoService.AddEntity(userInfo);
return Content("ok");
}
#endregion
#region 展示要修改的数据
public ActionResult ShowEditInfo()
{
int id = int.Parse(Request["id"]);
var userInfo= UserInfoService.LoadEntities(u=>u.ID==id).FirstOrDefault();
return Json(userInfo, JsonRequestBehavior.AllowGet);
}
#endregion
#region 完成用户数据的更新
public ActionResult EditUserInfo(UserInfo userInfo)
{
userInfo.ModifiedOn = DateTime.Now;
if (UserInfoService.EditEntity(userInfo))
{
return Content("ok");
}
else
{
return Content("no");
}
}
#endregion
}
}