<extend name="Public/base"/> <block name="body"> <link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" /> <link rel="stylesheet" href="__CSS__/pro_promote.css" type="text/css" /> <script src="__STATIC__/jquery.form.js"></script> <script src="__STATIC__/layer/layer.js"></script> <script type="text/javascript" src="__JS__/bootstrap.min.js"></script> <script type="text/javascript" src="__JS__/select2.min.js"></script> <script type="text/javascript" src="__STATIC__/layer3/layer.js"></script> <style> .select2-container--default .select2-selection--single { color: #000; resize: none; border-width: 1px; border-style: solid; border-color: #a7b5bc #ced9df #ced9df #a7b5bc; box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px; height:28px;border-radius:3px;font-size:12px; } .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:35px; line-height:28px; } .select2-container--default .select2-selection--single .select2-selection__arrow { height:26px; } .select2-container--default .select2-search--dropdown .select2-search__field { height:26px;line-height:26px;font-size:12px; } .select2-results__option[aria-selected] {font-size:12px;} .butnbox {padding:10px 0 10px;} .butnbox .butnlist {overflow:hidden;clear:both;} .butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;} .butnbox .butnlist .butn {display:inline-block;width:120px;height:28px;line-height:28px;text-align:center;color:#FFF;background:#3C95C8;border-radius:3px;} .butnbox .butnlist .butn.last {background:#009900;} .butnbox .butnlist .butn~.butn {margin-left:20px;} .data_list table tbody tr a.disabled,.data_list table tbody tr a.disabled:hover {color:#999;cursor:default;} .layui-layer-title { text-align: center; height: 80px; line-height: 80px; font-weight: 600; font-size: 18px; } .data_list table td{ line-height: 2; } .layui-layer-title { text-align: center; height: 42px; line-height: 42px; font-weight: 400; font-size: 14px; } </style> <div class="cf main-place top_nav_list navtab_list"> <h3 class="page_title">联运平台汇总结算单管理</h3> <p class="description_text">结算单发起汇总后生成汇总单--->汇总单财务审核--->提交打款信息--->打款审批</p> </div> <div class="cf top_nav_list" style="height: 38px;"> <!-- 高级搜索 --> <div class="jssearch fl cf search_list" style="margin-bottom: 15px;"> <div class="input-list"> <input type="text" name="statement_num" class="" placeholder="请输入订单号" value="{:I('statement_num')}" /> </div> <div class="input-list input-list-promote search_label_rehab"> <select id="company_type" name="company_type" class="select_gallery" > <option value="">请选择结算单类型</option> <volist name="CompanyType" id="vo"> <option value="{$key}" <if condition="isset($_GET['company_type']) && $key eq I('company_type')">selected</if> >{$vo}</option> </volist> </select> </div> <div class="input-list input-list-promote search_label_rehab"> <select id="is_payment" name="is_payment" class="select_gallery" > <option value="">请选择是否打款</option> <volist name="IsPayment" id="vo"> <option value="{$key}" <if condition="isset($_GET['is_payment']) && $key eq I('is_payment')">selected</if> >{$vo}</option> </volist> </select> </div> <div class="input-list"> <input type="text" readonly id="time_start" name="time_start" class="" value="{:I('time_start')}" placeholder="结算开始时间" /> - <div class="input-append date" id="datetimepicker" style="display:inline-block"> <input type="text" readonly id="time_end" name="time_end" class="" value="{:I('time_end')}" placeholder="结算结束时间" /> <span class="add-on"><i class="icon-th"></i></span> </div> </div> <div class="input-list input-list-promote search_label_rehab"> <select id="withdraw_type" name="withdraw_type" class="select_gallery" > <option value="">结算周期</option> <volist name="WithdrawType" id="vo"> <option value="{$key}" <if condition="isset($_GET['withdraw_type']) && $key eq I('withdraw_type')">selected</if> >{$vo}</option> </volist> </select> </div> <div class="input-list input-list-promote search_label_rehab"> <select id="verify_status" name="verify_status" class="select_gallery" > <option value="">请选择审核状态</option> <volist name="VerifyStatus" id="vo"> <option value="{$key}" <if condition="isset($_GET['verify_status']) && $key eq I('verify_status')">selected</if> >{$vo}</option> </volist> </select> </div> <div class="input-list"> <input type="text" readonly id="time_start2" name="time_start2" class="" value="{:I('time_start2')}" placeholder="操作开始时间" /> - <div class="input-append date" id="datetimepicker2" style="display:inline-block"> <input type="text" readonly id="time_end2" name="time_end2" class="" value="{:I('time_end2')}" placeholder="操作结束时间" /> <span class="add-on"><i class="icon-th"></i></span> </div> </div> <div class="input-list"> <a class="sch-btn" href="javascript:;" id="search" url="{:U('lists','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a> </div> </div> </div> <div class="butnbox" > <div class="butnlist jscheckbutn" style="margin-left: 2px"> <foreach name="menubtn" item="vo" > {$vo} </foreach> </div> </div> <!-- 数据列表 --> <div class="data_list"> <div class=""> <table> <!-- 表头 --> <thead> <tr> <th><input class="check-all" type="checkbox"></th> <th>结算汇总单订单号</th> <th>结算时间</th> <th>结算类型</th> <th>结算周期</th> <!-- <th>是否打款</th> --> <th>结算金额</th> <!-- <th>结算流水</th> --> <th>不结算金额</th> <th>创建记录</th> <th>审批状态</th> <th>打款状态</th> <th>凭证</th> <th>操作</th> </tr> </thead> <!-- 列表 --> <tbody> <if condition = "empty($data)"> <tr> <td colspan="16" class="text-center">aOh! 暂时还没有内容!</td> </tr> </if> <notemtpy name = "data"> <volist name="data" id="data"> <tr> <td ><input class="ids" type="checkbox" data-status="{$data.verify_status}" data-export="{$data.can_export}" value="{$data['id']}" name="ids[]"></td> <td>{$data.statement_num}</td> <td>{$data.valid}</td> <td>{$data.company_type_str}</td> <td>{$data.withdraw_type}</td> <!-- <td>{$data.is_payment_str}</td> --> <td>{$data.statement_money}</td> <!-- <td>{$data.platform_amount}</td> --> <td>{$data.lack_statement_money}</td> <td>{$data.create}</td> <td> <if condition="$data.verify_status eq -1 "> <div style="line-height: 2;color: red;"> {$data.verify} </div> <else /> <div style="line-height: 2;"> {$data.verify} </div> </if> </td> <td> <if condition="$data.verify_status eq -2 "> <div style="line-height: 2;color: red;"> {$data.payment} </div> <else /> <div style="line-height: 2;"> {$data.payment} </div> </if> </td> <td>{$data.ext_file_type}</td> <td> <foreach name="data.oplist" item="vo" > {$vo} </foreach> </td> </tr> </volist> <tr><td style="line-height: 42px;">合计</td><td colspan="13" style="line-height: 42px;">结算总金额: {$count.statement_money} 不结算总金额:{$count.lack_statement_money} </td></tr> </notemtpy> </tbody> </table> </div> </div> <div class="page"> <if condition="$role_export_check eq true "> <!-- <a class="sch-btn" href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a> --> </if> {$_page|default=''} </div> </block> <block name="script"> <link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css"> <php>if(C('COLOR_STYLE')=='blue_color') echo ' <link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css"> '; </php> <link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script> <script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script> <script src="__STATIC__/layer/layer.js" type="text/javascript"></script> <script src="__STATIC__/layer/extend/layer.ext.js"></script> <script type="text/javascript"> </script> <script> <volist name=":I('get.')" id="vo"> Think.setValue('{$key}',"{$vo}"); </volist> $(".select_gallery").select2(); </script> <script type="text/javascript"> //导航高亮 highlight_subnav("{:U('lists')}"); function reload() { window.location.reload(); } $(function(){ var company_id = "{$_GET['company_id']??0}"; $("#company_type").on("change",function(){ var type = $(this).find("option:selected").val(); var url = "{:U('Ajax/getCompanyList')}"+"&company_type="+type; $.get(url,function(data){ var company = data; var companystr = '<option value="">请选择合作公司</option>'; for (var i in company) { if(company[i].id == company_id){ companystr += "<option value='" + company[i].id + "' selected='selected'>" + company[i].name + "</option>" }else{ companystr += "<option value='" + company[i].id + "'>" + company[i].name + "</option>" } } $("#company_id").html(companystr); $("#company_id").select2(); }) }) $("#company_type").change(); $(".viewPool").click(function () { var id = $(this).data("id"); var url = "{:U('viewPool')}"+"&id="+id layer.open({ type: 2, title: "海南万盟天下科技有限公司", shadeClose: true, shade: 0.8, area: ['100%', '100%'], content: url }); }); $(".editPool").click(function () { var id = $(this).data("id"); var url = "{:U('editPool')}"+"&id="+id layer.open({ type: 2, title: "海南万盟天下科技有限公司", shadeClose: true, shade: 0.8, area: ['100%', '100%'], content: url }); }); $("#verifyAgree,#verifyRefuse").on("click",function(){ var id = $(this).attr("id"); if(id == "verifyAgree"){ var opname = "审批通过"; var opurl = "{:U('verifyAgree')}"; var opst ="[未进行审批]"; var status = [0]; }else if(id=="verifyRefuse"){ var opname = "审批拒绝"; var opurl = "{:U('verifyRefuse')}"; var opst ="[未进行审批]"; var status = [0]; } var confirm = confirm ? confirm :false; var flag = false; var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { if($.inArray( $(elem).data("status"),status) == -1){ flag = true; }else{ return $(elem).val(); } }).get(); if(text.length > 40){ layer.msg("<font style='color:white'>" + '为保证效率暂不支持超过40条的批量操作' + "</font>"); return; } if(text.length < 1){ layer.msg("<font style='color:white'>" + '无需要'+opname+'的申请,仅'+opst+'状态可以进行'+opname+"</font>"); return; } text = text.join(","); if(flag){ layer.confirm(opname+"仅会对"+opst+"的申请进行处理,选择中包含其他的状态的申请将被忽略,点击取消停止操作",{title:false}, function(index){ _doAgreeApply(); layer.close(index); }); }else{ if(confirm){ layer.confirm('【警告】'+opname+'将不可回退,如需继续请点击确认', { btn: ['确认','取消'], title:false }, function(){ _doAgreeApply(); }); }else{ layer.confirm('【警告】'+opname+'是否确认,如需继续请点击确认', { btn: ['确认','取消'], title:false }, function() { _doAgreeApply(); }); } } function _doAgreeApply(){ //执行 $.ajax({ type: "POST", url: opurl, dataType: 'json', async: false, data: {ids:text}, success:function(data){ if(data.status==1){ layer.msg("<font style='color:white'>" + data.info + "</font>"); setTimeout(function(){ window.location.reload(); },1500); }else{ layer.msg("<font style='color:white'>" + data.info + "</font>"); return false; } } }); } }); $("#verifyReturn").on("click",function(){ var status = false; var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { console.log($(elem).data("status")) if($(elem).data("status") == 1 || $(elem).data("status") == -1){ return $(elem).val(); } else { status = true; } }).get(); if(text.length > 40){ layer.msg("<font style='color:white'>" + '为保证效率暂不支持超过40条的批量操作' + "</font>"); return; } if(text.length < 1){ layer.msg("<font style='color:white'>" + '无需要审批撤回的操作'+"</font>"); return; } text = text.join(","); if (status) { layer.confirm("审批撤回仅会对【'审批通过','审批拒绝'】的申请进行处理,选择中包含其他的状态的申请将被忽略,点击取消停止操作",{title:false}, function(index){ _doAgreeApply(); layer.close(index); }); } else { layer.confirm('【提示】点击确认后,审批即撤回', { btn: ['确认','取消'], title:false }, function(){ _doAgreeApply(); }); } function _doAgreeApply(){ //执行 $.ajax({ type: "POST", url: "{:U('verifyReturn')}", dataType: 'json', async: false, data: {ids:text}, success:function(data){ if(data.status==1){ layer.msg("<font style='color:white'>" + data.info + "</font>"); setTimeout(function(){ window.location.reload(); },1500); }else{ layer.msg("<font style='color:white'>" + data.info + "</font>"); return false; } } }); } }); $("#export").click(function () { var flag = false; var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { if($(elem).data("export") == 1){ return $(elem).val(); }else{ flag = true; } }).get(); if(text.length > 20){ layer.msg("<font style='color:white'>" + '暂不支持超过20条的批量导出' + "</font>"); return; } if(text.length < 1){ layer.msg("<font style='color:white'>" + '请先选择要导出的结算单' + "</font>"); return; } if(flag){ layer.confirm("仅结算金额不等于0的会进行导出,将忽略结算金额等于0的汇总单,点击取消停止操作",{title:false}, function(index){ _export(); layer.close(index); }); }else{ _export(); } function _export(){ for (var index = 0; index < text.length; index++) { var id = text[index]; var url ="{:U('viewPool')}"+"&id="+id+"&export=1"; var iframeExcel = "<iframe src='"+url+"' width='0px' height='0px' style='z-index:-1;position: absolute;top: -999999px;'></iframe>"//添加下载的地址到iframe,这里是公司信息,我用**表示了。 $("body").append(iframeExcel) } } }) //撤销汇总 $(".cancelPool,.reCount").on("click",function(){ var id = $(this).data('id'); var url = "{:U('cancelPool')}"; layer.confirm("撤销汇总/重算都是不可逆操作,请慎重选择",{title:false}, function(index){ layer.close(index); cancelPoolAjax(url,{id:id}); }); }) //线下打款 $(".setUlPayment").on("click",function(){ var id = $(this).data('id'); var url = "{:U('setUlPayment')}"; cancelPoolAjax(url,{ids:id}); }) $(".setPayment,.editPayment").on("click",function(){ var id = $(this).data("id"); var url = "{:U('setPayment')}"+"&id="+id layer.open({ type: 2, title: "海南万盟天下科技有限公司", shadeClose: true, shade: 0.8, area: ['100%', '100%'], content: url }); }) $(".viewPayment").on("click",function(){ var id = $(this).data("id"); var url = "{:U('viewPayment')}"+"&id="+id layer.open({ type: 2, title: "海南万盟天下科技有限公司", shadeClose: true, shade: 0.8, area: ['100%', '100%'], content: url }); }) function cancelPoolAjax(opurl,senddata){ //执行 layer.load(2); $.ajax({ type: "POST", url: opurl, dataType: 'json', async: true, data: senddata, success:function(data){ layer.closeAll('loading'); if(data.status==1){ layer.msg("<font style='color:white'>" + data.info + "</font>"); setTimeout(function(){ window.location.reload(); },1500); }else{ layer.msg("<font style='color:white'>" + data.info + "</font>"); return false; } } }); } //新增批注 $(".addRemark").click(function(){ var id = $(this).data("id"); layer.prompt({ formType: 2, value: '', title: '输入备注', area: ['360px', '300px'] //自定义文本域宽高 }, function(value, index, elem){ if(value != ''){ $.ajax({ type: "POST", url: "{:U('saveRemark')}", dataType: 'json', async: false, data: {id:id,remark:value}, success:function(data){ if(data.status==1){ layer.msg("<font style='color:white'>" + data.info + "</font>"); setTimeout(function(){ window.location.reload(); },1500); } } }); }else{ layer.closeAll(); } }); }) //编辑批注 $(".editRemark").click(function(){ var id = $(this).data("id"); var remark = $(this).data("remark"); layer.prompt({ formType: 2, title: '修改备注', value:remark, area: ['360px', '300px'], btnAlign: 'c', id: 'prompt', yes: function (index, layero) { // 获取文本框输入的值 var value = layero.find(".layui-layer-input").val(); $.ajax({ type: "POST", url: "{:U('saveRemark')}", dataType: 'json', async: false, data: {id:id,remark:value}, success:function(data){ if(data.status==1){ layer.msg("<font style='color:white'>" + data.info + "</font>"); setTimeout(function(){ window.location.reload(); },1500); } } }); } }); }) //查看批注 $(".viewRemark").click(function () { var remark = $(this).data("remark"); layer.open({ type: 1, title:false, content:"<div style='width: 300;height:auto;margin: auto;padding:20px;'>"+remark+"</div>" }); }); //上传凭证 $(".uploadVoucher").click(function () { var id = $(this).data("id"); layer.open({ type: 2, title: "上传凭证", shadeClose: true, shade: 0.8, area: ['60%', '60%'], content:'/admin.php?s=/CompanyStatementPool/uploadVoucher/id/'+id, end:function(){ reload(); } }); }); //查看凭证 $(".viewVoucher").click(function () { var img = $(this).data("img"); layer.open({ type: 1, title:false, content:"<img src='"+img+"' style='width: auto;height: 450px;margin: auto;'>" }); }); //编辑凭证 $(".editVoucher").click(function () { var id = $(this).data("id"); layer.open({ type: 2, title: "编辑凭证", shadeClose: true, shade: 0.8, area: ['60%', '60%'], content:'/admin.php?s=/CompanyStatementPool/editVoucher/id/'+id, end:function(){ reload(); } }); }); $("#search").click(function(){ var start = $("#time_start").val(); var end = $("#time_end").val(); if(start !='' && end != ''){ if (Date.parse(start) > Date.parse(end)){ layer.msg('结算开始时间必须小于等于结束时间'); return false; } } var start2 = $("#time_start2").val(); var end2 = $("#time_end2").val(); if(start2 !='' && end2 != ''){ if (Date.parse(start2) > Date.parse(end2)){ layer.msg('操作开始时间必须小于等于结束时间'); return false; } } var url = $(this).attr('url'); var query = $('.jssearch').find('input').serialize(); query += "&"+$('.jssearch').find('select').serialize(); query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,''); query = query.replace(/^&/g,''); if( url.indexOf('?')>0 ){ url += '&' + query; }else{ url += '?' + query; } window.location.href = url; }); $('#time_start').datetimepicker({ format: 'yyyy-mm-dd', language: "zh-CN", minView: 2, autoclose: true }); $('#datetimepicker').datetimepicker({ format: 'yyyy-mm-dd', language: "zh-CN", minView: 2, autoclose: true, pickerPosition: 'bottom-left' }) $('#time_start2').datetimepicker({ format: 'yyyy-mm-dd', language: "zh-CN", minView: 2, autoclose: true }); $('#datetimepicker2').datetimepicker({ format: 'yyyy-mm-dd', language: "zh-CN", minView: 2, autoclose: true, pickerPosition: 'bottom-left' }) //回车自动提交 $('.jssearch').find('input').keyup(function(event){ if(event.keyCode===13){ $("#search").click(); } }); }) </script> </block>