筛选时间段的信息

筛选时间段的信息
开发工具与关键技术: Visual Studio 2015 – Jquery
作者:廖亚星
撰写时间:2019年 7 月 13 日

在做积分统计的时候,会出现一个下拉框,里面有显示当天、显示昨天、显示当月、当年、全部等下拉框值,我们要根据这些值自动回填时间段然后查询这些时间段的信息
在这里插入图片描述
首先这个下拉框里面的选项都会有value值,我们要根据value值来定义事件的改变事件,先要定义一个获取日期的方法
//获取日期
function getDateStr(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate() + AddDayCount);//获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = dd.getMonth() + 1;//获取当前月份的日期
var d = dd.getDate();
return y + ‘-’ + (m < 10 ? ‘0’ + m : m) + ‘-’ + d;
}
然后根据下拉框的值进行筛选,让后面的两个input框进行时间的改变,然后把刚才定义的方法引用到input框中
//下拉框筛选,时间改变事件
$("#DateC").change(function () {
var Time = $("#DateC").val();
var date = new Date();
var year = date.getFullYear();
var years = date.getFullYear() - 1;
var month = date.getMonth();
var months = date.getMonth() + 1;
if (Time == 1) {
$("#MarketDateT").val(getDateStr(0));
$("#MarketDateE").val(getDateStr(0));
}
if (Time == 2) {
$("#MarketDateT").val(getDateStr(-1));
$("#MarketDateE").val(getDateStr(0));
}
if (Time == 3) {
var firstdate = year + ‘-’ + months + ‘-01’
var day = new Date(year, months, 0);
var lastdate = year + ‘-’ + months + ‘-’ + day.getDate();
$("#MarketDateT").val(firstdate);//本月第一天
$("#MarketDateE").val(lastdate);//本月最后一天
}
if (Time==……)
if (Time == 7) {
var firstDayOfPreMonth = “1900” + “-” + “01” + “-” + “01”;
var lastDayOfPreMonth = “2999” + “-” + “12” + “-” + “31”;
$("#MarketDateT").val(firstDayOfPreMonth);
$("#MarketDateE").val(lastDayOfPreMonth);
}
});
然后我们做时间段的查询
//积分调整统计查询
function SalesInquiry() {
//查询条件
var MarketDateT = $("#MarketDateT").val();//从
var MarketDateE = $("#MarketDateE").val();//到
var Time = $("#DateC").val();
if (MarketDateT == undefined) {
MarketDateT = “”;
}
if (MarketDateE == undefined) {
MarketDateE = “”;
}
//表格重载
tabSalesList.reload({
url: “/DailyRoutine/MembershipManagement/OpSalesList”,
where: {
Time: Time,
MarketDateT: MarketDateT,
MarketDateE: MarketDateE,
},
page: {
curr: 1
}
});
}
在控制器中查询数据,并根据下拉框的时间段对积分信息进行筛选,方法都差不多,中间就省略几条筛选
public ActionResult OpSalesList(LayuiTablePage layuiTablePage, string MarketDateT, string MarketDateE, int? Time)
{
string DataTime = “”;
List lisSalesList = (from tbVIP in myModel.B_VIP//销售表
join tbIntegral in myModel.B_VIPIntegralAdjustment on
tbVIP.VIPID equals s//用户表
orderby tbIntegral.DayBreak descending
select new Adjust
{
DayBreak = tbIntegral.DayBreak,
StrDayBreak = tbIntegral.DayBreak.ToString(),
}).ToList();
if (MarketDateT != null && MarketDateE != null)
{
DateTime startDate = Convert.ToDateTime(MarketDateT);
DateTime endDate = Convert.ToDateTime(MarketDateE);
lisSalesList = lisSalesList.Where(m => m.DayBreak >= startDate && m.DayBreak <= endDate).ToList();
}
else
if (Time == 1)
{
DataTime = DateTime.Now.ToString(“yyyy-MM-dd”);
lisSalesList = lisSalesList.Where(m => Convert.ToDateTime(m.StrDayBreak).ToString(“yyyy-MM-dd”).Trim() == DataTime.Trim()).ToList();
}
if (Time == 2)
{
DataTime = DateTime.Now.AddDays(-1).ToString(“yyyy-MM-dd”);//昨天
lisSalesList = lisSalesList.Where(m => Convert.ToDateTime(m.StrDayBreak).ToString(“yyyy-MM-dd”).Trim() == DataTime.Trim()).ToList();
}
if (Time == 3) //本月
{
var Times = DateTime.Now.Year.ToString() + ‘-’ + ‘0’ + DateTime.Now.Month.ToString() + ‘-’ + ‘0’ + “1”;//第一天
DataTime = DateTime.Parse(Times).AddMonths(1).AddDays(-1).ToString(“yyyy-MM”);//最后一天
lisSalesList = lisSalesList.Where(m => Convert.ToDateTime(m.StrDayBreak).ToString(“yyyy-MM”) == DataTime).ToList();
}
if (Time == 7)
{
//显示全部(不用查询) DataTime = “”;
}
int intTotalRow = lisSalesList.Count(); // 总行数
List listNotices = lisSalesList //分页
.Skip(layuiTablePage.GetStartIndex())
.Take(layuiTablePage.limit)//页数
.ToList();
LayuiTableData layuiTableData = new LayuiTableData
{
count = intTotalRow,
data = listNotices
};
return Json(layuiTableData, JsonRequestBehavior.AllowGet);
}
最后我们就可以根据下拉框的值对时段进行数据的查询了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值