bootstraptable查看详情_bootstrap-table前端实现多条件时间段查询数据

实现思路:通过正则匹配到字段是否符合条件,时间段转换为时间戳比对。

这是大体的效果图:

页面的html代码

采购部门:

{foreach name="ware_list" item="vo" }

{$vo.warehouse_name}

{/foreach}

单据日期:

--

查 询

下面为请求数据:

var productList=[];  //订单数据

//生成订单数据

$.ajax({

url:dataUrl,

type:'get',

async:false,

success:function(res){

var response=JSON.parse(decodeURIComponent(res));

productList=response;

$('#tb_data').bootstrapTable({

data:response,

height:base.countTbodyHeight("#tb_data") + 100, //高度调整

striped: true, //是否显示行间隔色

pagination: true, //是否显示分页(*)

sortable: true, //是否启用排序

pageSize:10, //单页记录数

pageList:[5,10,20,30], //分页步进值

columns:[

{

title:'制单日期',

field:'arrive_time',

formatter:function(value,row,index){

var thisStr=changeTime(value*1000);

return thisStr;

}

},

{

title:'单据号',

field:'sn',

},

{

title:'采购部门',

field:'warehouse_name',

},

{

title:'制单人',

field:'operator',

},

{

title:'货品条目',

field:'product_detail_id',

formatter:function(value,row,index){

var AllNum=0;

var valueArry=JSON.parse(value);

for(var i in valueArry){

var thisNum=parseFloat(valueArry[i].num);

AllNum+=thisNum;

}

return AllNum;

}

},

{

title:'金额总计',

field:'product_detail_id',

formatter:function(value,row,index){

var AllPrice=0;

var valueArry=JSON.parse(value);

for(var i in valueArry){

var thisPrice=parseFloat(valueArry[i].purchase_price);

AllPrice+=thisPrice;

}

return AllPrice;

}

},

{

title:'状态',

field:'audit_status',

formatter:function(value,row,index){

var thisStr='';

if(value==0){

thisStr='待审核(查看进度)';

}else if(value==1){

thisStr='审核中(查看进度)';

}else if(value==2){

thisStr='审核通过(查看进度)';

}

else if(value==3){

thisStr='已拒绝(查看进度)';

}

return thisStr;

}

},

{

title:'操作',

field:'id',

formatter:function(value,row,index){

var thisStr='查看详情';

return thisStr;

}

}

]

});

}

});

首先实现一个单据号单条件查询,遍历查询单据号字段,有符合条件的添加到newArry中,遍历完毕之后表格加载newArry数据展现查询结果:

//点击搜索单据号

$('#sn-btn').click(function(){

var snVal=$('#sn-val').val();

searchFun(snVal,'sn');

});

查询实现:

// 查询单据号

function searchFun(searchVal,snNameStr){   //searchVal为用户输入的搜索值,snNameStr为搜索的字段

var newArry=[];

for(var i in productList){

var snName=productList[i][snNameStr];

searchVal=new RegExp(searchVal);

var isHasName=searchVal.test(snName);  //匹配当前单据号是否符合条件

if(isHasName){

newArry.push(productList[i]);    //符合条件添加到newArry中

}

}

$('#tb_data').bootstrapTable('load',newArry);  //加载数据

}

下面我们用采购部门和时间段联合查询

//时间段查询采购部门

$('#searchware').bind('click',function(){

var wareId=$('#purchaseSearch').val();

var startTime=getTimeStamp($('#startData').val());  //获取开始时间戳

var endTime=getTimeStamp($('#endData').val());     //获取结束时间戳

searchTimeFun(wareId,'warehouse_id',startTime,endTime,'arrive_time');

});

因为我们获取到的时间是2018-08-31格式的时间,所以我们需要把时间转换为时间戳:

// 获取时间戳

function getTimeStamp(val){

val=val+' 00:00:00'

var getTimes=new Date(val),

getTimes=getTimes.getTime()/1000;

return getTimes;

}

因为后台给我返回的时间是时间戳,所以匹配的时候时间不用转换,查询实现:

// 时间段查询采购部门

function searchTimeFun(wareId,wareIdStr,startTime,endTime,makeTimeStr){ //wareId采购部门ID,wareIdStr采购部门字段,startTime查询开始时间,endTime开始结束时间,makeTimeStr匹配的时间字段

console.log(wareId,wareIdStr,startTime,endTime,makeTimeStr)

var newArry=[];

for(var i in productList){

var warehouseId=productList[i][wareIdStr];

wareId=new RegExp(wareId)

var isHasName=wareId.test(warehouseId);

var makeTime=productList[i][makeTimeStr];

var isTimeSlot=false;

console.log(makeTime,startTime)

if(makeTime>=startTime && makeTime<=endTime){

console.log('true')

isTimeSlot=true;

}

if(isHasName && isTimeSlot){

newArry.push(productList[i]);

}

}

$('#tb_data').bootstrapTable('load',newArry);

}

如果采购部门不选择,那就是查询时间段内所有的信息,实现效果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python数据校验_最近抽空造了一个数据校验的轮子 Python -validator

最近抽空造了一个数据校验的轮子 python-validator。在开发 web 应用时&#xff0c;经常需要校验前端传入的数据。如果使用 Django&#xff0c;那么可以使用自带的 forms 进行数据校验。python-validator 的灵感也是来源于 Django 的 forms (类似 ORM 的方式定义数据结构)&…

sql android客户端,XSGManage: 学生成绩管理系统---客户端,基于Android+Django+sqlit3开发...

D:.├─.gradle //编译产生&#xff0c;可删除后打开├─.idea //编译产生&#xff0c;可删除后打开├─app //项目核心代码│ ├─build //构建产生&#xff0c;若报错可删除后打开│ ├─debug //运行时产生app的位置│ ├─libs //相关Java依赖包│ └─src│ ├─androidTe…

python发送qq邮件失败_Python实现给qq邮箱发送邮件的方法

#-*-coding:utf-8-*-## 导入smtplib和MIMEText#from email.mime.text import MIMETextimport smtplib## 要发给谁&#xff0c;这里发给2个人#mailto_list["naughty610qq.com","1034791200qq.com"]## 设置服务器&#xff0c;用户名、口令以及邮箱的后缀#mai…

android设备报警推送,Firebase推送通知未送达所有android设备

我正在使用PHP向特定的Android应用程序用户发送firebase推送通知。function enviar_push($token,$titulo,$subtitulo){define( API_ACCESS_KEY, AAA.....);// $registrationIds ;#prep the bundle$msg array(body > $subtitulo,title > $titulo,subtitle > );$field…

hana 表空间_oracle currentval

一个 lob 实例包含一个 locator 和 value。可以将...ALTER TABLE current_table MOVE PARTITION partition_...For every new extent created, Oracle generates ......日期时间函数的实现 Oracle采用SYSDATE作为取当前时间,而DB2中采用CURRENTTIMESTAMP...[n]; // 生产 DB2 UD…

vscode html中加css,[VScode教程] VSCode 支持CSS

VSCode 支持CSS&#xff0c;介绍两个比较实用的功能&#xff1a;取色器 Color Picker和CSS 选择器的预览。取色器 Color Picker首先&#xff0c;你可以在书写 HTML 和 CSS 时使用取色器。在书写 HTML 和 CSS 的时候&#xff0c;你可能经常需要修改元素的颜色。VS Code 为修改颜…

无限超越超级机器人nds_阿里重新定义个人电脑!仅名片大小,无限升级,不怕丢失无惧病毒,价格仅传统PC一半...

9月17日&#xff0c;阿里云智能总裁、达摩院院长张剑锋表示&#xff0c;过去10年&#xff0c;阿里云自研飞天云平台&#xff0c;造了一台“超级计算机”——云电脑“无影”。这是一台长在云上的“超级电脑”&#xff1a;在本地没有主机&#xff0c;没有电脑CPU和硬盘&#xff0…

php怎样传数据到html代码,传递数据到PHP文件与HTML模板

我怎么能加载文件table.php与我尝试通过的数据&#xff0c;当ajax调用made.Im与jquery.load方法trysing第二个参数是一个数据数组&#xff0c;但不起作用。传递数据到PHP文件与HTML模板这是一个基本的例子&#xff0c;我必须让我得到这个错误Notice: Undefined variable: field…

ios uiview 如何刷新_2020最新迅雷苹果版如何下载?

自iOS系统更新以后就用不了迅雷企业版&#xff0c;小伙伴们不要着急&#xff0c;iOS版迅雷失效是经常的事。现在为大家提供迅雷beta,迅雷内测,双版本&#xff0c;永久不失效&#xff01;&#xff01;&#xff01;https://mp.weixin.qq.com/s/qoR_Dkl_TS7LHK_EYegsOw1.【此Beta版…

mrc20温控f1什么意思_温控器的“总、高、低”是什么意思?不知道?民熔老电工告诉你...

今天刘博士就来给大家讲讲温控仪&#xff0c;觉得有帮助的记得点赞加关注不迷路哦&#xff01;温度控制器是一种常用的温度监控系统&#xff0c;如地暖热水器、空调烤箱等。温控器原理民熔温度控制器的原理也是温度控制器的控制原理。连接温度探头&#xff0c;温度探头测得的温…

鸿蒙系统支持华为哪几款手机,鸿蒙系统终于来了!这几款华为手机可以升级

就在6月2日晚8点&#xff0c;华为召开发布会&#xff0c;带来了鸿蒙HarmonyOS 2操作系统正式版。小优的心情&#xff0c;和大家一样激动&#xff01;&#xff01;&#xff01;还记得第一次听说“鸿蒙”这个名字&#xff0c;是在2019年。当时美国禁止华为使用安卓系统&#xff0…

proxytable代理不生效_民法典房屋买卖合同卖方代签合同生效吗

现实社会中房产买卖双方需要签订一份协议&#xff0c;这个协议是很重要的&#xff0c;以免日后产生纠纷。所以签订合同的时候相关的事项需要注意&#xff0c;但是有的是属于代签合同&#xff0c;那么民法典房屋买卖合同卖方代签合同是否生效&#xff1f;下面由陈联睿律师进行详…

html 图片高度 页面高度自适应,怎样让网页图片高度自适应宽度

[摘要]你肯定知道width百分比可以实现图片宽度的自适应&#xff0c;那么你知道高度也可以根据宽度变话而自适应比变化么&#xff0c;看下本文就了解了&#xff01;当前响应式布局&#xff0c;内容尺寸自适应设备是众多网站开发者的选择&#xff0c;毕竟现在显示器、笔记本、移动…

伦巴时间步的动作要领_军训动作要领已到,请签收

点击上方蓝字关注我吧军训动作要领已到&#xff0c;请签收小20的军训已经开始两天了&#xff01;经过两天的辛苦训练&#xff0c;相信同学们已经对训练项目有所了解&#xff0c;但是要做到很好&#xff0c;还需要不断练习。趁着空闲时间&#xff0c;温习一下已学的提前熟悉一下…

subline3插件html,Sublime Text3与html的插件

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;因为学习web课程&#xff0c;需要一些环境来支持web的高效率开发&#xff0c;于是就将sublime text3进行进一步的优化&#xff0c;是他更适合html和css的编辑&…

小程序和vue语法对比_React语法开发微信小程序 Demo

前言从16年微信小程序内测的时候至今&#xff0c;微信小程序用实践证明了自己的创新和价值&#xff0c;微信小程序的规则也在社区的影响下变得更加完善。但是不得不说&#xff0c;用惯了VSCode&#xff0c;官方的开发工具确实不怎么好用。之前没有接触过小程序开发&#xff0c;…

计算机科学与技术mobi,080901-计算机科学和技术.PDF

080901-计算机科学与技术按照教育部计算机科学与技术教学指导委员会制定的《计算机科学与技术专业规范》要求&#xff0c;本专业的主要知识领域包括&#xff1a;离散结构、算法与复杂性、计算机体系结构与组织、操作系统、以网络为中心的计算、软件工程、程序设计语言、程序设计…

cookie 在线人数列表_前端学习随笔2 在线简历

​一 心得体会今天的任务是利用HTML制作一份在线简历&#xff0c;先不考虑样式&#xff0c;只从结构和语义化方面着手。对于已经有了前端b编程经验的我来说挺简单的&#xff0c;但是我还是当作我是一个刚入门的菜鸟&#xff0c;在学习过程中发现其实还有很多基础知识被我忽略了…

html表单传值,如何将用户输入的表单值从html传递给javascript?

通过将值写入标记,可以将值从javascript传递给html.但是,如果我希望将用户定义的值(等,由查看网页的人输入)传递给java脚本,以便我可以用它做什么,那么最简单的方法是什么&#xff1f;目前,我有这样的事情&#xff1a;如何将表单中的值传递给我的javascript&#xff1f;或者,我…

打开黑色_垃圾桶里的黑色塑料袋,打开一看,倒吸一口气!

江山多娇我和我的家乡 大直播明天很热注意防晒萍乡天气18—32℃晴来源 | 都市现场(jxtvdsxc)综合安徽公共频道非经允许请勿转载 如删除来源必究5月19号下午&#xff0c;在合肥市春晖园小区内&#xff0c;有两位老人竟偶然从小区垃圾桶内翻出了六万多元的现金。这是怎么回事…