@using YoSoft.DSM.YoDSMModel;
@using YoSoft.DSM.YoDSMBLL;
@{
Layout = "~/Views/Shared/_LayoutCompanySend.cshtml";
ViewBag.Title = "";
}
@*<link href="~/Content/person.css" rel="stylesheet" />*@
<style>

ul {
/*display: flex;*/
}

li {
position: relative;
}

#containermain {
/*margin-bottom:60px;*/
}

footer {
/*display:none;*/
}
</style>
<div class="middle-form">
<div class="weui_cell weui_cell_select weui_select_after" style="width:50%;float: left">
<div class="weui_cell_bd weui_cell_primary">
<select class="selectpicker" id="ddl_GuestName" style="width:100%">
<option value="" style="">请选择经销商</option>
@if (ViewBag.Products.Count > 0)
{
foreach (GL_GuestInfo p in ViewBag.GuestID)
{
<option value="@p.cID" style="">@p.cGuestName</option>
}
}
</select>
</div>
</div>
<div class="weui_cell weui_cell_select weui_select_after" style="width:50%;float: left">
<div class="weui_cell_bd weui_cell_primary">
<select class="selectpicker" id="ddlproduct" style="width:100%">
<option value="" style="">请选择产品</option>
@if (ViewBag.Products.Count > 0)
{
foreach (GL_GoodsInfo p in ViewBag.Products)
{
<option value="@p.cID" style="">@p.cGoodsName</option>
}
}
</select>
</div>
</div>
</div>
<div class="middle-form">
<div id="datePlugin" style="width: 50%;float: left">
<input type="text" readonly="" class="selectpicker select-input" id="txtStartDate" style="width: 100%;" name="txtStartDate" placeholder="请输入开始日期" data-lcalendar="2000-01-01,2099-12-31" />
</div> <div id="datePlugin1" style="width: 49%;float: left">
<input type="text" readonly="" class="selectpicker select-input" id="txtEndDate" style="width: 100%;" name="txtEndDate" placeholder="请输入结束日期" data-lcalendar="2000-01-01,2099-12-31" />
</div>
</div>

<div class="middle-form" style="display:none">
<button type="button" id="btn-query" class="btn btn-primary">查询</button>
</div>
<div id="containermain" class="">
<table id="tbSendList">
<thead class="thead-dark">
<tr>
<th>商品名称</th>
<th>数量</th>
</tr>
</thead>
<tbody style="height:100%;"></tbody>
</table>
<p id="mgsdone" style="display:none;padding:10px 0px;color:#AAA;font-weight:bold;text-align:center;">不要再刷啦,我是有底线的。</p>
</div>
<footer>
<div class="container-fluid navbar navbar-default navbar-fixed-bottom text-center nav-container" style="height:35px">
<div style="width: 50%;float: left;background-color:#0fcd77;font-size:18px">合计</div>
<div style="width: 50%;float: left;font-size:18px"><a id="RecordCount" style="font-size:18px">数量:0</a></div>
</div>
</footer>
<script src="~/Scripts/Person/companysend.js"></script>
<script>

</script>

var CurrentPageIndex = 1;
var PageCount = 0;
var RecordCount = 0;
var PageSize = 10;
var startY = 0;
var endY = 0;
var queryDone = true;
var bShow = false;
$(function () {
$("#mgsdone").hide();
var calendar0 = new LCalendar();
calendar0.init({
'trigger': '#txtStartDate',//标签id
'type': 'date',//date 调出日期选择 datetime 调出日期时间选择 time 调出时间选择 ym 调出年月选择
'minDate': '2000-01-01',//最小日期 注意:该值会覆盖标签内定义的日期范围
'maxDate': '2099-12-31'//最大日期 注意:该值会覆盖标签内定义的日期范围
});

var calendar1 = new LCalendar();
calendar1.init({
'trigger': '#txtEndDate',//标签id
'type': 'date',//date 调出日期选择 datetime 调出日期时间选择 time 调出时间选择 ym 调出年月选择
'minDate': '2000-01-01',//最小日期 注意:该值会覆盖标签内定义的日期范围
'maxDate': '2099-12-31'//最大日期 注意:该值会覆盖标签内定义的日期范围
});

$("#btn-store").click(function () {
$("#modalstore").modal("show");
});
$("#btn-product").click(function () {
$("#modalproduct").modal("show");
});
$("#btn-date").click(function () {
$("#modaldate").modal("show");
});

$("select").change(function () {
var selectVal = $(this).val();
var id = $(this).attr("id");
console.log(selectVal);
$("#" + id + " option[selected='selected']").each(function () {
//console.log(this);
if ($(this).attr("value") != selectVal) {
$(this).removeAttr("selected");
}
});

$(this).find("option[value='" + $(this).val() + "']").attr("selected", true);
CurrentPageIndex = 1;
PageCount = 0;
RecordCount = 0;
$("#mgsdone").hide();
bShow = false;
});

$("#txtStartDate").change(function () {
CurrentPageIndex = 1;
PageCount = 0;
RecordCount = 0;
alert(433443);
$("#mgsdone").hide();
bShow = false;
});

$("#txtEndDate").change(function () {
CurrentPageIndex = 1;
PageCount = 0;
RecordCount = 0;
alert(433443);
$("#mgsdone").hide();
bShow = false;

});

$("#btn-query").click(function () {
console.log('查询', CurrentPageIndex, RecordCount, PageCount);
CurrentPageIndex = 1;
PageCount = 0;
RecordCount = 0;
queryData();
$("#mgsdone").hide();
bShow = false;
});

//$(window).scroll(function () {
// var scrollTop = $(this).scrollTop(),
// scrollHeight = $(document).height(),
// windowHeight = $(this).height();
// var positionValue = (scrollTop + windowHeight) - scrollHeight;
// console.log(scrollTop, scrollHeight, windowHeight, positionValue)
// if (positionValue == 0) {
// console.log("加载");
// //do something
// }
//});
$("#containermain").on("touchstart", function (e) {
//if (e.cancelable) {
// if (!e.defaultPrevented) {
// e.preventDefault();
// }
//} 这几行不要,否则会影响滑动时的滚动惯性
startY = e.touches[0].clientY;
});

$("#containermain").on("touchend", function (e) {
//if (e.cancelable) {
// if (!e.defaultPrevented) {
// e.preventDefault();
// }
//}这几行不要,否则会影响滑动时的滚动惯性
endY = e.originalEvent.changedTouches[0].clientY,
Y = endY - startY;

//下滑
if (Y > 0) {
//$(document).scrollTop($(document).scrollTop() - Y);
console.log('下滑');
//if ($(document).scrollTop() > 0 && $(document).scrollTop() >= $(document).height() - $(window).height()) {
// console.log("滚动条已经到达底部为" + $(document).scrollTop(), ($(document).height() - $(window).height()), $(document).height(), $(window).height(),startY, endY,CurrentPageIndex);
//}
}
//上滑
else if (Y < 0) {
$(document).scrollTop($(document).scrollTop() - Y + 1);
//alert($(document).scrollTop() - Y);
//alert($(document).scrollTop());
//alert($(document).height() - $(window).height());
//console.log('上滑', $(document).scrollTop(), ($(document).height() - $(window).height()), CurrentPageIndex, RecordCount, PageCount, Y);

console.log('上滑', CurrentPageIndex, PageCount, queryDone);
if ($(document).scrollTop() > 0 && $(document).scrollTop() >= $(document).height() - $(window).height() && CurrentPageIndex <= PageCount) {
scrollLoad();
$(document).scrollTop($(document).height());
}
else if (CurrentPageIndex > PageCount & !bShow) {
bShow = true;
$("#mgsdone").show();
$(document).scrollTop($(document).height());
}

}
//单击
else {
console.log('单击', CurrentPageIndex);
//queryData();
}
});
queryData();
});

$('#ddl_GuestName,#ddlproduct').on('change', function () {
queryData();
});
function queryData() {
if (!queryDone || (CurrentPageIndex > PageCount && CurrentPageIndex > 1)) {
return;
}
queryDone = false;
var store = $("#ddlstore").val();
var product = $("#ddlproduct").val();
var guestid = $("#ddl_GuestName").val();
var startDate = $("#txtStartDate").val();
var endDate = $("#txtEndDate").val();
$("#tbSendList tbody").empty();
//console.log(CurrentPageIndex , PageCount)
$.ajax({
url: "/Person/SendList",
type: "post",
data: { store: store, product: product, startDate: startDate, endDate: endDate, PageSize: PageSize, CurrentPageIndex: CurrentPageIndex, guestid: guestid },
dataType: "json",
async: false,
success: function (data) {
//console.log(data);
//console.log($("#tbSendList tbody"));
RecordCount = data.RecordCount;
PageCount = parseInt(RecordCount / PageSize) + 1;
var iNum = 0;
var html = "";
if (data.success) {
var list = JSON.parse(data.sendlist);
console.log(list)
for (var i in list) {
html += "<tr><td>" + list[i].cGoodsName + "</td><td>" + list[i].iNum + "</td></tr>"
iNum += parseInt(list[i].iNum);
}
$('#RecordCount').text("数量:" + iNum);
$("#tbSendList tbody").html(html);
if (list.length > 0) {
CurrentPageIndex++;
}
}
else {
$("#tbSendList tbody").html('<tr><td colspan="2">没有数据</td></tr>');
}
queryDone = true;
},
error: function (err) {
console.log(err);
queryDone = true;
}

});
}

function scrollLoad() {
if (!queryDone || CurrentPageIndex > PageCount) {
return;
}
//console.log(CurrentPageIndex, PageCount)
queryDone = false;
var store = $("#ddlstore").val();
var product = $("#ddlproduct").val();
var startDate = $("#txtStarTime").val();
var endDate = $("#txtEndTime").val();
$.ajax({
url: "/Person/SendList",
type: "post",
data: { store: store, product: product, startDate: startDate, endDate: endDate, PageSize: PageSize, CurrentPageIndex: CurrentPageIndex },
dataType: "json",
async: false,
success: function (data) {
//console.log(data);
//console.log($("#tbSendList tbody"));
RecordCount = data.RecordCount;
PageCount = parseInt(RecordCount / PageSize) + 1;
var html = $("#tbSendList tbody").html();
if (data.success) {
var list = JSON.parse(data.sendlist);
console.log(list)
for (var i in list) {
html += "<tr><td>" + list[i].cGoodsName + "</td><td>" + list[i].iNum + "</td></tr>"
}
$("#tbSendList tbody").html(html);
if (list.length > 0) {
CurrentPageIndex++;
//$(document).scrollTop($(document).scrollTop() + 80);
}
}
else {
$("#tbSendList tbody").html('<tr><td colspan="2">没有数据</td></tr>');
}
queryDone = true;
},
error: function (err) {
console.log(err);
queryDone = true;
}

});
}

HTML5滚动加载的更多相关文章

  1. HTML5商城开发一 楼层滚动加载数据

    对于楼层加载在以前只是个想法,从来没实现过,刚好项目中碰到,再此总结一下 场景:HTML5,局部商品列表信息滚动(局部滚动条) 1.通过jq设置subCategoryScroll的高度为屏幕显示高度( ...

  2. js 滚动加载iframe框中内容

    var isIE6 = !!window.ActiveXObject&&!window.XMLHttpRequest; //滚动加载 var scrollLoad =function( ...

  3. [转] Jquery滚动加载

    原文地址:http://hi.baidu.com/vipxiaofan/item/9eb927b795671f77254b0985 另外一个asp.net的例子:http://blog.csdn.ne ...

  4. js滚动加载小插件

    本文实例讲述了jquery滚动加载数据的方法.分享给大家供大家参考.具体分析如下: 少废话直接上代码!!!粗暴,直接,干脆 0//lk-2017-05-04 1(function($, win) { ...

  5. 基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多

    通过多次爬坑,发现了这些监听滚动来加载更多的组件的共同点, 因为这些加载更多的方法是绑定在需要加载更多的内容的元素上的, 所以是进入页面则直接触发一次,当监听到滚动事件之后,继续加载更多, 所以对于无 ...

  6. 记录WEUI中滚动加载的一个BUG

    最近写微信公众号,用到的技术栈是jq+vue的混合开发,采用的UI是移动端比较火的WEUI,在微信开发中应该较广泛.个人看惯了elementUI文档,相对于饿了么组件文档的详细,WEUI的文档还是比较 ...

  7. HTML5 预加载

    原文地址: HTML5 Link Prefetching 原文日期: 2010年07月07日 翻译日期: 2013年08月13日 浏览器厂商和开发者之间共同努力的一个方向就是让网站更快.现在已有很多广 ...

  8. 兼容IE8,滚动加载下一页

    // 滚动加载下一页         var nowScrolledHeight = document.documentElement.scrollTop || document.body.scrol ...

  9. vue2.0无限滚动加载数据插件

      做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...

随机推荐

  1. Go笔记

    #Go在win下安装 1. https://golang.google.cn/dl/下载 amd64 版本的zip包 2. 解压后将bin目录添加入path 3. go version可显示版本信息

  2. API认证&SDK&RESTful

    python API的安全认证   我们根据pid加客户端的时间戳进行加密md5(pid|时间戳)得到的单向加密串,与时间戳,或者其它字段的串的url给服务端. 服务端接收到请求的url进行分析 客户 ...

  3. Python中的锁

    一.全局解释器锁(GIL) 1.什么是全局解释器锁 在同一个进程中只要有一个线程获取了全局解释器(cpu)的使用权限,那么其他的线程就必须等待该线程的全局解释器(cpu)使用权消失后才能使用全局解释器 ...

  4. C++ 实验2

    #include <iostream> using namespace std; template<class T> void insertionSort(T a[],int ...

  5. 自学传说中的php接口编写

    一个前端学php,感觉不可思议,但实际上面试中都会问你后台会不会.这时候php就派上用场了. 下面的是我自己百度研究的一个些心得分享一下: html代码 <!DOCTYPE html> & ...

  6. python读取数据库并把数据写入本地文件

    一,介绍 上周用jmeter做性能测试时,接口B传入的参数需要依赖接口A生成的借贷申请ID,接口A运行完需要把生成的借贷申请ID导出来到一个文件,作为参数传给接口B,刚开始的时候,手动去数据库倒, 倒 ...

  7. JSTL将number类型转化为String类型

    <c:set var="lm1"> <c:out value="${lm}" /> </c:set>

  8. 小白用阿里云搭载wordpress个人博客

    阿里云服务已经购买多时,却一直没时间部署内容,借着这次机会自己照着博客园园友的方式用wordpress搭建了个人博客! 创建wordpress的内容就不多说了,直接附链接来源:https://www. ...

  9. 【托业】【怪兽】TEST04

    ❤ admit doing sth 承认做某事 ❤revelation n.揭露,揭示 ❤dazzling adj. 炫目的 ❤intentionally adv.刻意地 ❤metropolitan ...

  10. JVM入门到放弃之基本概念

    1. 基本概念 jvm 是可运行Java代码的假想计算机,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收堆和一个存储方法域. jvm 是运行在操作系统之上的,屏蔽了与具体操作系统平台相关的信息 ...