<script src="/plugins/My97DatePicker/WdatePicker.js"></script><!-- Content Header (Page header) --><section class="content-header"><h1><small>财务管理>导入编辑</small><a class="pull-right" href="/finance/virtualAccounts/detail" style="cursor:pointer;">返回主表</a></h1></section><!-- Main content --><section class="content"><!-- Your Page Content Here --><div class="row"><div class="col-xs-12"><div class="box"><div class="form-inline "  ><div class="box-header"><input type="text" hidden value="${(virtual_id)!}" name="virtual_id"/><input type="text" hidden value="${(account)!}" name="account"/><#if permissions?seq_contains('mergeEditor')><div class="form-group "><button class="btn btn-primary mergeEditor "><i class="fa "></i> 合并编辑</button></div></#if><#if permissions?seq_contains('delVirtual_accountExcel')><div class="form-group "><button class="btn btn-primary btn-del "><i class="fa "></i> 删除</button></div></#if><!--搜索--><div id="toolbar" class="my-container"><div><input id="s_trade_type" type="text" class="form-control" placeholder="输入账务类型"><input id="s_opposing_account" type="text" class="form-control" placeholder="输入对方账户"><input id="s_opposing_name" type="text" class="form-control" placeholder="输入对方名称"><input id="s_product_name" type="text" class="form-control" placeholder="输入商品名称"><button id="btnSearch" type="button" class="btn btn-primary">搜索</button></div></div><!--搜索--><#if permissions?seq_contains('find_virtual_accountExcel')><div class="form-group pull-right"><div class="form-group "><input type="text" name="trade_type_alias" class="form-control" placeholder="输入账务类型...."><input type="text" name="opposing_account_alias" class="form-control" placeholder="输入对方账户...."><input type="text" name="opposing_name_alias" class="form-control" placeholder="输入对方名称...."></div><div class="form-group"><a class="btn btn-primary btn-sm btn-search"><i class="fa fa-search"></i> 查询</a></div></div></#if><table id="virtualExceldatatable"></table></div></div></div></div></div></section>
<div id="Excel_insertorupdate_dialog" hidden ><form class="form"><div class="form-horizontal"><!-- style="max-height: 500px;overflow-y: scroll;"--><input type="hidden" id="virtual_import_id" name="virtual_import_id"/><div class="form-group "><label class="col-sm-3 control-label text-right">票据号:</label><div class="col-sm-7"><input type="text" class="form-control" placeholder="票据号"  name="bill_code"></div></div><div class="form-group"><label class="col-sm-3 control-label text-right">分类:</label><div class="col-sm-3"><select name="type1_id" class="form-control" onchange="getSubClassify(this)"><option value="">分类1</option><!--<#list accountClassify as class>--><!--<option value="${(class.id)!}" >${(class.classify_name)!}</option>--><!--</#list>--></select></div><div class="col-sm-4"><select name="type2_id" class="form-control"><option value="">分类2</option></select></div></div><div class="form-group"><label class="col-sm-3 control-label text-right">摘要:</label><div class="col-sm-7"><input type="text" class="form-control" placeholder="摘要"  name="abstract"></div></div><div class="form-group"><label class="col-sm-3 control-label text-right">日期:</label><div class="col-sm-7"><input type="text" name="trade_date" class="form-control" placeholder="日期"onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" data-rule="日期:required;"></div></div><div class="form-group"><label class="col-sm-3 control-label text-right">类型:</label><div class="col-sm-7"><input type="radio"  value="0"  name="trade_type">收入<input type="radio"  value="1"  name="trade_type">支出<input type="radio"  value="2"  name="trade_type">转账</div></div><div class="form-group" ><label class="col-sm-3 control-label text-right">发生账户:</label><div class="col-sm-7"><input type="text" disabled class="form-control" value="${(account)!}"  name="account_id"></div></div><div class="form-group" ><label class="col-sm-3 control-label text-right">对方名称:</label><div class="col-sm-7"><input type="text" disabled class="form-control" placeholder="对方名称"  name="opposing_name"></div></div><div class="form-group" ><label class="col-sm-3 control-label text-right">对方账户:</label><div class="col-sm-7"><input type="text" disabled class="form-control" placeholder="对方账户"  name="opposing_account"></div></div><div class="form-group" ><label class="col-sm-3 control-label text-right">金额(元):</label><div class="col-sm-7"><input type="text" class="form-control" placeholder="金额"  name="trade_amount"></div></div></div></form>
</div><script type="text/javascript">$('.mergeEditor').click(function () {var rows = $("#virtualExceldatatable").bootstrapTable('getSelections');if (rows.length<2) {bootbox.alert('请选择要合并的数据');return;}var recode = '';var recodeThan='';var flag=true;let money=0;let out_amount_sum=0;let in_amount_sum=0;let ids='';let trade_type='';for(let i=0;i<rows.length;i++){if(i==0)recode= rows[i].trade_type+rows[i].opposing_account+rows[i].opposing_name;if(i>0){recodeThan=rows[i].trade_type+rows[i].opposing_account+rows[i].opposing_name;if(recode!=recodeThan){flag=false;break;}}if (i > 0) {ids += ',';}ids += rows[i].id;//注意:**********
                    in_amount_sum+=rows[i].in_amount==undefined||rows[i].in_amount==''?0:rows[i].in_amount;out_amount_sum+=rows[i].out_amount==undefined||rows[i].out_amount==''?0:rows[i].out_amount;}console.log("rows[0].in_amount:"+rows[0].in_amount);console.log("in_amount_sum:"+in_amount_sum);console.log("rows[0].out_amount:"+rows[0].out_amount);console.log("out_amount_sum:"+out_amount_sum);console.log("ids:"+ids);if(rows[0].in_amount!=undefined||rows[0].in_amount!=null){money=in_amount_sum;trade_type='0';}if(rows[0].out_amount!=undefined||rows[0].out_amount!=null){money=out_amount_sum;trade_type='1';}if(!flag){bootbox.alert("你所选择的数据不一致不可做合并操作")flag=true;return;}editVirtualData();privateGetBaseArgs(1);$('select[name="type2_id"]').empty().append('<option value="">分类2</option>').val('');var $dialog=$('#Excel_insertorupdate_dialog');console.log('rows[0].in_date:'+rows[0].in_date)$('input[name="trade_date"]').val(rows[0].in_date);$('input[name="trade_type"][value="' + trade_type + '"]').attr('checked', true);$('input[name="opposing_name"]').val(rows[0].opposing_name);$('input[name="opposing_account"]').val(rows[0].opposing_account);$('input[name="trade_amount"]').val(money);$('input[name="virtual_import_id"]').val(ids);console.log($dialog.html())});function privateGetBaseArgs(type,type1, outAccountVal) {send({}, "/finance/CashAccount/getBaseArgs", function (res) {if (res.code == 1) {let accountClassify = res.accountClassify;let $type1 = $('select[name="type1_id"]');$type1.empty().append(' <option value="">分类1</option>');for (let i = 0; i < accountClassify.length; i++) {if(type1!=undefined&&type1==accountClassify[i].id){let selected = 'selected="selected"';$type1.append('<option '+selected+' value="' + accountClassify[i].id + '" >' + accountClassify[i].classify_name + '</option> ');}else$type1.append('<option value="' + accountClassify[i].id + '" >' + accountClassify[i].classify_name + '</option> ');}if (type == 1) {$('select[name="type1_id"]').val('');}subClassify = res.accountSubClassify;}if (res.code == 0) {bootbox.alert(res.msg);}})}function editVirtualData(){insertorupdate_bootbox = bootbox.dialog({message: $('#Excel_insertorupdate_dialog').html(),title: '编辑',buttons: {cancel : {label : '取消',className : 'btn btn-default'},OK : {label : '确定',className : 'btn btn-primary',callback : function() {if($.trim(insertorupdate_bootbox.find('input[name="bill_code"]').val())==''||insertorupdate_bootbox.find('input[name="bill_code"]').val()==undefined){bootbox.alert('票据号不能为空');return false;}if ($.trim(insertorupdate_bootbox.find('select[name="type1_id"]').val())==''){bootbox.alert('分类1不能为空');return false;}if ($.trim(insertorupdate_bootbox.find('select[name="type2_id"]').val())==''){bootbox.alert('分类2不能为空');return false;}if($.trim(insertorupdate_bootbox.find('input[name="abstract"]').val())==''||$.trim(insertorupdate_bootbox.find('input[name="abstract"]').val())==undefined){bootbox.alert('摘要不能为空');return false;}if($.trim(insertorupdate_bootbox.find('input[name="trade_date"]').val())==''||$.trim(insertorupdate_bootbox.find('input[name="trade_date"]').val())==undefined){bootbox.alert('日期不能为空');return false;}let trade_amount=$.trim(insertorupdate_bootbox.find('input[name="trade_amount"]').val());if(trade_amount==''||trade_amount==undefined){bootbox.alert('金额不能为空');return false;}let trade_amountRegx = /^[0-9]+(.[0-9]{1,2})?$/;if (!trade_amountRegx.test(trade_amount)) {bootbox.alert('转款金额必须是数字(或包含两位小数)')return false;}let obj={};obj.ids=insertorupdate_bootbox.find('input[name="virtual_import_id"]').val();obj.virtual_id=$('input[name="virtual_id"]').val();obj.bill_code=insertorupdate_bootbox.find('input[name="bill_code"]').val();obj.type1_id=insertorupdate_bootbox.find('select[name="type1_id"]').val();obj.type2_id=insertorupdate_bootbox.find('select[name="type2_id"]').val();obj.abstract=insertorupdate_bootbox.find('input[name="abstract"]').val();obj.trade_date=insertorupdate_bootbox.find('input[name="trade_date"]').val();obj.trade_type=insertorupdate_bootbox.find('input[name="trade_type"]:checked').val();obj.account_id=insertorupdate_bootbox.find('input[name="account_id"]').val();obj.opposing_account=insertorupdate_bootbox.find('input[name="opposing_account"]').val();obj.opposing_name=insertorupdate_bootbox.find('input[name="opposing_name"]').val();obj.trade_amount=insertorupdate_bootbox.find('input[name="trade_amount"]').val();console.log(JSON.stringify(obj));send(obj,"/finance/virtualAccounts/insertVirtualAccountDetail",function (res) {if(res.code==1){bootbox.alert(res.msg,function () {$("#virtualExceldatatable").bootstrapTable('refresh');//$('#Excel_insertorupdate_dialog').resetForm();
});}if(res.code==2){bootbox.alert(res.msg);}})}}}});}function getSubClassify(obj){var valClass=$(obj).val();if(valClass==''){return}console.log("分类1的id:"+valClass);send({virtual_id:valClass},"/finance/virtualAccounts/getSubClassify",function (res) {if(res.code==1){$('select[name="type2_id"]').empty().append('<option value="">分类2</option>');var subClassify=res.result;var subClass=null;for(let j=0;j<subClassify.length;j++){subClass=subClassify[j];$('select[name="type2_id"]').append('<option value="'+subClass.id+'">'+subClass.classify_name+'</option>')}}if(res.code==0){bootbox.alert(res.msg);}})}$('.btn-del').click(function(){bootbox.confirm('确定要删除数据吗?', function(flag){if (flag) {var rows = $("#virtualExceldatatable").bootstrapTable('getSelections');let ids = '';$(rows).each(function(i){if (i > 0) {ids += ',';}ids += this.id;});if (ids == '') {bootbox.alert('请选择要删除的数据');return;}send({"ids":ids},'/finance/virtualAccounts/delExcelData',function (res) {if(res.code==1){searchs();}bootbox.alert(res.msg);})}});})$('.btn-search').click(function () {$("#virtualExceldatatable").bootstrapTable('destroy');searchs();})searchs();$('#btnSearch').click(function () {searchs();})function searchs() {console.log("virtual_id:" + $('input[name="virtual_id"]').val())$("#virtualExceldatatable").bootstrapTable('destroy').bootstrapTable({url: '/finance/virtualAccounts/findExcelDetail',method: "post",contentType: "application/x-www-form-urlencoded",toolbar: '#toolbar',//search : true,
                        sortable: true,/*             showColumns : true, */showRefresh: false,showExport: false,showColumns: false,showToggle: false,buttonsAlign: "right",toolbarAlign: "left",striped: true,pagination: true,uniqueId: "id",pageNumber: 1,pageSize: 10,pageList: [10, 15, 20],sidePagination: "server",queryParams: function (param) {var params = {curpage: param.offset / param.limit + 1,pageSize: param.limit,
//                            sort : param.sort,
//                            order : param.order,
                                virtual_id: $('input[name="virtual_id"]').val(),trade_type:$.trim($('input[name="trade_type_alias"]').val()),opposing_account:$.trim($('input[name="opposing_account_alias"]').val()),opposing_name:$.trim($('input[name="opposing_name_alias"]').val()),s_trade_type:$('#s_trade_type').val(),s_opposing_account:$('#s_opposing_account').val(),s_opposing_name:$('#s_opposing_name').val(),s_product_name:$('#s_product_name').val(),};return params;},//参数
                        queryParamsType: 'limit',//clickToSelect : true,
                        columns: [{checkbox: true}, {title: '序号',align: 'center',formatter: function (value, row, index) {return index + 1;}}, {field: 'in_date',title: '入账时间',align: 'center',sortable: false}, {field: 'alipay_trade_no',title: '支付宝交易号',align: 'center',sortable: false}, {field: 'trade_type',title: '账务类型',align: 'center',sortable: false}, {field: 'in_amount',title: '收入(+元)',align: 'center',sortable: false}, {field: 'out_amount',title: '支出(-元)',align: 'center',sortable: false}, {field: 'balance',title: '账户余额(元)',align: 'center',sortable: false}, {field: 'opposing_account',title: '对方账户',align: 'center',sortable: false}, {field: 'opposing_name',title: '对方名称',align: 'center',sortable: false}, {field: 'product_name',title: '商品名称',align: 'center',sortable: false}, {field: 'remarks',title: '备注',align: 'center',sortable: false}, {field: '',title: '操作',align: 'center',formatter: function (value, row, index) {var edit = "";<#if permissions ? seq_contains('editVirtualAccountExcel') >edit = '<button class="btn btn-primary btn-sm btn-edit">'+ '<i class="fa fa-edit"></i> 编辑'+ '</button>\r'</#if>return edit;},events: {'click .btn-edit': function (e, value, row, index) {
//                                    window.location.herf = '/finance/virtualAccounts/importExcelDetail?virtual_id=' + row.id;
                                    editVirtualData();privateGetBaseArgs(1);$('select[name="type2_id"]').empty().append('<option value="">分类2</option>').val('');let trade_type='';let money=0;if(row.in_amount!=undefined||row.in_amount!=null){money=row.in_amount;trade_type='0';}if(row.out_amount!=undefined||row.out_amount!=null){money=row.out_amount;trade_type='1';}$('input[name="trade_date"]').val(row.in_date);$('input[name="trade_type"][value="' + trade_type + '"]').attr('checked', true);$('input[name="opposing_name"]').val(row.opposing_name);$('input[name="opposing_account"]').val(row.opposing_account);$('input[name="trade_amount"]').val(money);$('input[name="virtual_import_id"]').val(row.id);}}}],responseHandler: function (res) {if (res == '302') {location.herf ="/login";return}res.rows = res.result.records;res.total = res.result.total;return res;}});}</script>

  @RequestMapping("/findExcelDetail")public Map<String, Object> queryimportExcel(HttpServletRequest request, String s_trade_type, String s_opposing_account, String s_opposing_name, String s_product_name) {Map<String, Object> result = new HashMap<>();try {Map<String, String> reqmap = ConvertVal.mapv2str(request.getParameterMap());int curpage = MapUtils.getIntValue(reqmap, "curpage", 1);int pageSize = MapUtils.getIntValue(reqmap, "pageSize", 10);reqmap.put("trade_type",s_trade_type);reqmap.put("opposing_account",s_opposing_account);reqmap.put("opposing_name",s_opposing_name);reqmap.put("product_name",s_product_name);logger.info("search virtualAccountExcel params:" + reqmap);Page<Map<String, Object>> page = getPage(curpage, pageSize);Page<Map<String, Object>> pageData = virtualAccountsService.queryimportExcel(page, reqmap);logger.info("search virtualAccountExcel rusult:" + pageData.getRecords());result.put("result", pageData);result.put("msg", "");} catch (Exception e) {e.printStackTrace();logger.error("search virtualAccountExcel exception:" + e.getMessage());result.put("msg", "查询失败");} finally {return result;}

  <select id="findByVirtualId" parameterType="map" resultType="map">SELECTid,virtual_id, date_format(in_date,'%Y-%m-%d %H:%m:%s')in_date,alipay_trade_no,trade_type,in_amount,out_amount,balance,opposing_account,opposing_name,product_name,remarks,creator,create_time,modifier,modify_time,del_flagFROMvirtual_import_detail<where>del_flag='0'<if test="virtual_id !='' and virtual_id !=null">AND virtual_id=#{virtual_id}</if><if test="trade_type !='' and trade_type !=null">AND trade_type LIKE concat('%',#{trade_type},'%')</if><if test="opposing_account !='' and opposing_account !=null">AND opposing_account LIKE concat('%',#{opposing_account},'%')</if><if test="opposing_name !='' and opposing_name !=null">AND opposing_name LIKE concat('%',#{opposing_name},'%')</if><if test="product_name !='' and product_name !=null">AND product_name LIKE concat('%',#{product_name},'%')</if></where>ORDER BY create_time DESC</select>

转载于:https://www.cnblogs.com/jwlfpzj/p/7730410.html

bootstrapTable 应用小例(收索)相关推荐

  1. Vue.js 极简小例: 4 种方式样式绑定、style 的多种方式实现

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 代码: <template><div id="app"> ...

  2. docker-compose 使用小例

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 只是一个很简单的小例. 1. 原本有的容器 2. docker-compose.yml 写法: ge ...

  3. libSVM分类小例C++

    from:http://www.doczj.com/list_31/ 使用libSVM求解分类问题的C++小例 1.libSVM简介 训练模型的结构体 struct svm_problem//储存参加 ...

  4. Jquery 模仿Baidu、Google收索时提示输入结果

    好程序就是懒人喜欢的程序.好程序员就是懒人程序员.昨天研究了一下Jquery 模仿Baidu.Google收索时自动补充收索结果的提示,感觉效果还行.特意和大家分享一下.所需Jquery插件.请看代码 ...

  5. 在一个目录下面收索文件

    #!/bin/bash #辉哥在一个目录下面收索文件 if [ $# -le 0 then echo 请输入要查找的文件开始 read filehead echo 请输入要查找的路径 read fil ...

  6. MyEclipse 中进行全局收索

    我们在找一个数据集或者一个一个函数名在那个地方用过,在哪里使用,我们可以用到全局收索.主要是因为有个程序中的数据集文件不知道在哪里被导入的,找了好久,才发现可以用全局收索,可以方便快速的找到想找的数据 ...

  7. sql sever 数据库文件收索操作

    为什么会有数据库收索操作,是因为数据库在使用过程中,他会先占领一块磁盘,再在磁盘中写数据.在建立数据库和数据库属性->文件,会有自动增长的比例.当数据库大小为10G的时候以百分之10的速度增长, ...

  8. 全文收索服务-solr介绍

    Solr是基于Lucene的全文收索服务器.提供分布式索引,负载均衡的查询.自动故障转义和恢复功能 solr提供标准的Rest API,任何编程语言都可以试用 下载: http://mirror.bi ...

  9. Android开发设置软键盘收索键

    有时候为了布局美观,不会特意的去放置一个收索按钮,而是调用软件盘上的回车按钮作为收索.要实现把软键盘的回车按钮设置为收索按钮其实很简单,直接在Layout文件中,对EditText控件加上如下属性: ...

最新文章

  1. softAP配网:用Android手机为linux无屏设备输入wifi密码
  2. typeof 与 js数据类型
  3. 普华基础软件笔试_普华“2018上海市软件和集成电路产业发展专项资金项目”成功验收...
  4. 《Debug Hacks》和调试技巧【转】
  5. python时间函数详解_Python:Numpy库基础分析——详解datetime类型的处理
  6. 利用ffmpeg来进行视频解码的完整示例代码
  7. 重磅 | 《机器学习综述》算法分类及特征工程手推笔记!
  8. GDB+coredump定位段错误
  9. 11462 - Age Sort
  10. 计算机毕设参考文献、Java参考文献、MySQL参考文献、jsp参考文献、Python参考文献、微信小程序参考文献、外文参考文献
  11. QuartusII-项目工程的功能仿真
  12. 固态硬盘 游戏测试软件,TxBENCH(SSD固态硬盘检测工具)
  13. java超市管理系统增删改查,超市管理系统java程序设计报告(图文完整)
  14. 基于PYNQ-Z2的手写数字识别卷积加速器设计【持续更新】
  15. 吴恩达机器学习课后编程作业第二课解析:logistic regression
  16. Android 9.0 10.0 Launcher3 时钟动态图标的定制化(时钟动态图标)
  17. 队列元素逆置 数据结构 队列
  18. 干货来袭!3天0基础Python实战项目快速学会人工智能必学数学基础全套(含源码)(第3天)概率分析篇:条件概率、全概率与贝叶斯公式
  19. 美的苏宁“超级带货趴”来袭,养成带货达人,大牌净味冰箱带回家
  20. 尚硅谷大数据Hadoop(26)P100-P104编写Reduce类型,,WordCounter,运行,程序调试

热门文章

  1. 华为笔记本电脑锐龙版和LINUX版的区别,华为 MateBook 13 锐龙版笔记本电脑新鲜评测...
  2. python修改图片名称
  3. EZBOOT kernel not found DOS返回EZBOOT错误
  4. 自制操作系统-最简单的系统hello World
  5. xxl-job使用说明文档
  6. HiKey软硬件开发环境及其调试
  7. 从“熵理论到熵减”的过程
  8. 卷积神经网络新方向:Three-column CNN实现无参考立体图像评估
  9. C语言山行组合数,高中排列组合基础题-(含答案).doc
  10. 7-3 二叉树路径和II