//点击模态查询列表
<script src="~/Assets/themes/default/js/components/commonSelector.js"></script>
$("[func=selectUsers]").click(function () {
//弹出选择器
$("#divUsersSelector").commonSelector({
//模态窗口id
modelId: "setUsersModal",
//模态窗口标题
title: "选择用户",
//数据源请求地址
dataUrl: '@Url.Action("_GetUsersLists", "Users")',
//请求携带参数
formData: { kw: '' },
//表格头部字段描述
tableTh: ["昵称", "账号", "真实姓名", "性别", "手机", "邮箱"],
//表格数据区域对应字段
tableTd: ["NickName", "Account", "RealName", "Mobile", "EMail"],
//默认单选
multiSelect: false,
//确定按钮回调函数
okCallback: function (r, data, fulldata) {
if (r && r.Ids) {
$('#UserId').val(r.Ids);
$('#userName').val(data[0].NickName);
$("#frmSearch").submit();
}
$('[func=btnCancelUser]').show();
}
});
$("#setUsersModal").modal();
});
//清空用户
$('#UserId').val() <= 0 ? $('[func=btnCancelUser]').hide() : $('[func=btnCancelUser]').show();
$('[func=btnCancelUser]').click(function (e) {
$('#UserId').val('');
$('#userName').val('');
$(this).hide();
$("form").submit();
});
//form表单提交
<form id="frmSearch" class="input-group" method="get" enctype="application/x-www-form-urlencoded">
<input type="hidden" id="pageIndex" name="pageIndex" value="@Model.Pager.PageIndex" />
<input type="hidden" id="pageSize" name="pageSize" value="@Model.Pager.PageSize" />
<input type="hidden" id="UserId" name="UserId" value="@Model.UserId">
<div class="form-group">
<div class="input-group input-group-sm" style="width: 250px; float:left">
<input type="text" readonly="readonly" class="form-control" id="userName" value="@Model.UserName" placeholder="请选择用户">
<div class="input-group-btn">
<a class="btn btn-default" func="btnCancelUser" href="javascript:;" title="清除选择">清空</a>
<button type="button" class="btn btn-default" func="selectUsers" title="选择用户">
<i class="fa fa-user"></i>
</button>
</div>
</div>
<div class="input-group input-group-sm" style="width: 300px;">
<input type="text" name="kw" class="form-control pull-right" placeholder="Search" value="@Model.keyword">
<div class="input-group-btn">
<button type="submit" class="btn btn-default"><i class="fa fa-search"></i></button>
</div>
</div>
</div>
</form>
using DeJin.EasyCare.Entities.Behaviors;
using DeJin.EasyCare.WebUI.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace DeJin.EasyCare.WebUI.Areas.Member.Models
{
//模型
public class UsersCapitalLogIndexModel:ListBaseModel
{
public UsersCapitalLogIndexModel(int userId, string kw = "", int pageIndex = 1, int pageSize = 10, string titel = "用户资金管理", string subTitle = "用户资金") :
base(titel, subTitle)
{
this.UserId = userId;
this.Results = new List<VM<Users_CapitalLog>>();
this.keyword = kw;
if (pageIndex < 0) pageIndex = 1;
if (pageSize < 2 || pageSize > 50) pageSize = 15;
base.Pager.PageIndex = pageIndex;
base.Pager.PageSize = pageSize;
}
/// <summary>
/// 用户Id
/// </summary>
public int UserId { get; set; }
/// <summary>
/// 用户名称
/// </summary>
public string UserName { get; set; }
/// <summary>
/// 关键词
/// </summary>
public string keyword { get; set; }
/// <summary>
/// 数据集合否
/// </summary>
public List<VM<Users_CapitalLog>> Results { get; set; }
}
}
控制器代码
/// <summary>
/// 用户资金现金日志列表
/// </summary>
/// <param name="capitalType"></param>
/// <param name="userId"></param>
/// <param name="kw"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
///<summary>
public ActionResult UsersCapitalLogIndex(int userId = 0, string kw = "", int pageIndex = 1, int pageSize = 10)
{
var model = new UsersCapitalLogIndexModel(userId, kw, pageIndex, pageSize, titel: "用户现金信息", subTitle: "现金信息");
base.RenderOutputBaseModel(model, new Tuple<string, string>("用户资金", Url.Action("UsersCapitalLogIndex", "UsersCapitalLog", new { area = "Member" })));
var usersCapitalLog = base.UsersCapitalLogService.Value.PageUsersCapitalLogEntities(model.UserId, model.Pager, 1, kw, 1);
if (usersCapitalLog != null)
{
var users = new List<VM<Users_CapitalLog>>();
foreach (var item in usersCapitalLog)
{
var capitallong = new VM<Users_CapitalLog>(item);
capitallong.ViewBag.usersName = base.UsersService.Value.GetUserName(item.UserId);
CapitalProjectType projectType;
if (Enum.TryParse(item.ProjectType.ToString(), out projectType))
{
capitallong.ViewBag.ProjectType = EnumUtility.GetEnumDescription(projectType);
}
users.Add(capitallong);
}
model.Results = users;
}
var user = UsersService.Value.GetUsersById(userId);
if (user != null)
{
model.UserId = user.Id;
//将值绑定到文本框上
model.UserName = user.NickName;
}
model.keyword = kw;
return View(model);
}
using DeJin.EasyCare.Contracts;
using DeJin.EasyCare.Entities;
using DeJin.EasyCare.Entities.Behaviors;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DeJin.EasyCare.Services.Service.Behaviors
{
/// <summary>
/// 用户资金日志服务
/// </summary>
public class UsersCapitalLogService : BaseService
{
/// <summary>
/// 分页获取用户资金日志数据
/// </summary>
/// <param name="userId"></param>
/// <param name="pager"></param>
/// <param name="kw"></param>
/// <param name="capitalType"></param>
/// <param name="state"></param>
/// <returns></returns>
public List<Users_CapitalLog> PageUsersCapitalLogEntities(int userId, PageInfo pager, int capitalType, string kw = "", int state = 0)
{
return base.UsersCapitalLogAccess.Value.PageEntities(userId, pager, capitalType, kw,state);
}
}
}
using System.Collections.Generic;
using System.Linq;
using DeJin.EasyCare.DataNhibernate.Helpers;
using DeJin.EasyCare.Entities;
using DeJin.EasyCare.Entities.Behaviors;
namespace DeJin.EasyCare.DBAccess.Behaviors
{
/// <summary>
/// 用户资金日志数据访问仓储
/// </summary>
public class Users_CapitalLogAccess : BaseAccess<Users_CapitalLog, int>
{
/// <summary>
/// 分页获取用户资金日志数据集合
/// </summary>
/// <param name="userId"></param>
/// <param name="pager"></param>
/// <param name="kw"></param>
/// <param name="capitalType">资金类型 1现金 2积分</param>
/// <returns></returns>
public List<Users_CapitalLog> PageEntities(int userId, PageInfo pager, int capitalType = 0, string kw = "", int state = 0)
{
var expr = PredicateBuilder.True<Users_CapitalLog>();
if (!string.IsNullOrEmpty(kw))
expr =
expr.And(
x =>
x.Remark.Contains(kw) || x.TradeSN.Contains(kw) || x.Summery.Contains(kw)
);
if (state > 0)
{
expr = expr.And(x => x.State == state);
}
if (capitalType > 0)
{
expr = expr.And(x => x.CapitalType == capitalType);
}
if (userId > 0)
{
expr = expr.And(x => x.UserId == userId);
}
var list = base.Query().Where(expr).OrderBy(p => p.Id).Skip(pager.Skip).Take(pager.PageSize).ToList();
pager.Total = base.Query().Where(expr).Count();
return list;
}
}
}