checkbox翻頁多選
阿新 • • 發佈:2019-02-10
<!DOCTYPE html> <#include "/layout/meta.ftl"> <h3>渠道手續費結算</h3> <div class="searchCenter"> <#if actionMessage??> <div class="warning icon_error">${(actionMessage)!''}</div> </#if> <#if actionSuccessMessage??> <div class="warning icon_ok ">${(actionSuccessMessage)!''}</div> </#if> <form id='submitForm' method='post' action="${ctx}/report/settle/query.do" name="f0"> <div class="searchBtn" style="width: 200px;margin-right: 20px;"> <button id="query-btn" type="button"> <span><span>查詢</span></span> </button> <#if ((resultList??) && (resultList?size>0))> <button id="checkPayment" type="button" title="合併付款"> <span><span>合併付款</span></span> </button> </#if> <button id="downBtn" type="button" onclick="doExportCsv();"> <span><span>下載</span></span> </button> </div> <input id="settleNoList" name="settleNoList" type="hidden" value="${(condition.settleNoList)!''}" /> <table class='searTabBg'> <tr> <td class="tdNameBig">SAPID:</td> <td> <input name="sapId" value="${(condition.sapId)!''}" class="inputIn"/> </td> <td class="tdNameBig">銀行型別:</td> <td> <@ui.select list=summaryBankTypeList listKey='bankType' listValue='bankType' emptyValue="" path="condition.bankType" attributes='class=inputSelt'/> </td> </tr> <tr> <td class="tdNameBig">手續費結算單號:</td> <td> <input name="settleNo" value="${(condition.settleNo)!''}" class="inputIn"/> </td> <td class="tdNameBig">付款狀態:</td> <td> <@ui.select list=settleStatusList listKey='code' listValue='description' emptyValue="" path="condition.status" attributes='class=inputSelt'/> </td> </tr> <tr> <td class="tdNameBig"><span class="star">*</span>結算開始時間:</td> <td> <input type="text" id="startDateStr" name="startDateStr" value="${(condition.startDateStr)!''}" class="Wdate" onfocus="WdatePicker({dateFmt:'yyyyMM'});"/> </td> <td class="tdNameBig"><span class="star">*</span>結算結束時間:</td> <td> <input type="text" id="endDateStr" name="endDateStr" value="${(condition.endDateStr)!''}" class="Wdate" onfocus="WdatePicker({dateFmt:'yyyyMM'});"/> </td> </tr> <tr> <td colspan="6"> </td> </tr> </table> </form> </div> <#if resultList??> <div id='data'> <table class="list" width="100%"> <thead> <tr> <th></th> <th>序號</th> <th>手續費結算單號</th> <th>結算狀態</th> <th>SAPID</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> <#list resultList as item> <tr> <td> <#if item.status='02'> <input id="ayment${item_index+1}" type="checkbox" name="ke" value="${item.settleNo}"> </#if> </td> <td>${item_index+1}</td> <td> <#if item.settleNo??> <a href="javascript:void(0)" id="orderNoResult" onclick="showOrderNoResultList('${item.settleNo}')" class="blueLink">${(item.settleNo)!''}</a> </#if> </td> <td>${item.statusDesc}</td> <td>${item.sapId}</td> <td>${item.channelName}</td> <td>${item.bankType}</td> <td>${item.settleYearMonth}</td> <td> ${(item.consumeAmount)?string(',##0.00')} </td> <td> ${(item.refundAmount)?string(',##0.00')} </td> <td> ${(item.poundageAmount)?string(',##0.00')} </td> <td>${item.settleCycleDesc}</td> <td>${item.settleTypeDesc}</td> <td>${item.ticketTypeDesc}</td> <td>${item.bpNo}</td> <td> <#if item.status='01'> <input id="confirmAmount${item_index+1}" value="${item.confirmAmount?string('0.00')}"> </input> <#else>${(item.confirmAmount)?string(',##0.00')} </#if> </td> <td>${item.remark}</td> <td> <#if item.status='01'> <a href="javascript:void(0)" id="confirm${item_index+1}" onclick="confirmAmount('${item.settleNo}','${item.poundageAmount}', $('#confirmAmount${item_index+1}').val(), this)" class="blueLink">確認</a> <#elseif item.status='02'||item.status='04'||item.status='05'> <a href="javascript:void(0)" id="payment${item_index+1}" onclick="payment('${item.settleNo}', this)" name="pay${item.settleNo}" class="blueLink">付款</a> <a href="javascript:void(0)" id="giveup${item_index+1}" onclick="giveupPayment('${item.settleNo}', this)" class="blueLink">放棄付款</a> </#if> <#-- <a href="javascript:void(0)" onclick="showDetailedInfo('${item.settleNo}')" class="blueLink">操作日誌</a>--> </td> </tr> </#list> </tbody> </table> <@ui.page formId="f0"/> </div> </#if> <script language="javascript" type="text/javascript"> $(function () { checkedNos = $("#settleNoList").val(); paymentIds= ""; //通用方法 define_csb_common_method(); $("form[name='f0']").validate({ rules: { startDateStr: "required", endDateStr: {year: true} }, messages: { startDateStr: '請輸入結算開始時間', endDateStr: {required: '請輸入結算結束時間', year: '查詢時間不能超過1年'} } }); $("input[name=ke]").click(function(){ if(this.checked==true){ var pay="pay"+this.value; //避免重複新增(若存在元素時,不新增) if(!contains(checkedNos,this.value)){ checkedNos+=this.value+","; paymentIds +=pay+","; } } else { var pay="pay"+this.value; if(contains(checkedNos,this.value)){ checkedNos=checkedNos.replace((this.value+","),""); paymentIds =paymentIds.replace((pay+","),""); } } $("#settleNoList").val(checkedNos); }); //查詢 $("#query-btn").click(function(){ if ($("form[name='f0']").valid()) { var formObj = $("form[name='f0']"); formObj.attr("action", "${ctx}/report/settle/query.do"); formObj.submit(); } }); //合併付款 $("#checkPayment").click(function () { $("#checkPayment").attr("disabled","disabled"); if (checkedNos == ""){ alert("合併付款選擇不可為空"); $('#checkPayment').removeAttr("disabled"); return; } var selected=subStrArray(checkedNos); var payment=subStrArray(paymentIds); $.ajax({ url:"${ctx}/report/settle/checkMergePayment.do", type: 'post', data: { settleNos:selected }, traditional: true, success: function(result){ $('#checkPayment').removeAttr("disabled"); if(result.success){ getValueByName(payment); alert("操作成功"); }else { alert('合併付款失敗【'+ result.errorCode+"-"+ result.message + '】'); } }, error: function () { alert("系統異常"); location.reload(); } }) }); }); //初始化checkbox window.onload=function (){ var selected=subStrArray(checkedNos); $("input[name=ke]").each(function () { if (isInArray(selected,this.value)){ // var pay="pay"+this.value; // changeValueByName(pay); this.checked = true; } }); }; /** * 功能描述: <br> *<賦值> * * @param * @return * @author 88395515 */ function changeValueByName(value){ var val = document.getElementsByName(value); $(val).removeAttr("href"); $(val).removeAttr("onclick"); $(val).css({'cursor':'default'}); $(val).text('處理中..'); } /** * 功能描述: <br> *<遍歷賦值> * * @param * @return * @author 88395515 */ function getValueByName(payment){ $.each(payment,function(index,value){ changeValueByName(value); }); } //確認金額 function confirmAmount(settleNo, poundageAmount, confirmAmount, confirm){ if(parseFloat(confirmAmount) > parseFloat(poundageAmount)){ alert("請確認付款金額是否小於等於手續費總金額"); return; } $.post("${ctx}/report/settle/confirm.do?settleno="+settleNo+"£ageAmount="+poundageAmount+"&confirmAmount="+confirmAmount+"&radom="+Math.random(),function(data){ var result = eval(data); if(result!=null){ if(result.success){ alert("操作成功"); $("#"+confirm.id).removeAttr("href"); $("#"+confirm.id).removeAttr("onclick"); $("#"+confirm.id).css({'cursor':'default'}); $("#"+confirm.id).text('處理中..'); }else{ alert("操作失敗【"+result.message+"】") } } }); } //付款 function payment(settleNo, payment){ var settleNos=new Array() settleNos[0]=settleNo; $.post("${ctx}/report/settle/checkMergePayment.do?settleNos="+settleNos+"&radom="+Math.random(),function(data){ var result = eval(data); if(result!=null){ if(result.success){ alert("操作成功"); $("#"+payment.id).removeAttr("href"); $("#"+payment.id).removeAttr("onclick"); $("#"+payment.id).css({'cursor':'default'}); $("#"+payment.id).text('處理中..'); }else{ alert("操作失敗【"+result.message+"】") } } }); } //放棄付款 function giveupPayment(settleNo, giveup){ $.post("${ctx}/report/settle/unpay.do?settleno="+settleNo+"&radom="+Math.random(),function(data){ var result = eval(data); if(result!=null){ if(result.success){ alert("操作成功"); $("#"+giveup.id).removeAttr("href"); $("#"+giveup.id).removeAttr("onclick"); $("#"+giveup.id).css({'cursor':'default'}); $("#"+giveup.id).text('處理中..'); }else{ alert("操作失敗【"+result.message+"】") } } }); } var styleinfo = "height=300,width=900,top=200,left=200,toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,status=no"; /** * 操作明細 * @param serialNo */ function showDetailedInfo(settleNo){ window.open("${ctx}/psOperateSerial/settleOperateView.do?operateKey="+settleNo+"&radom="+Math.random(),'',styleinfo); } /** * 功能描述: <br> *< 出款單號> * * @param settleNo */ function showOrderNoResultList(settleNo) { window.open("${ctx}/report/settle/showOrderNoDetail.do?settleNo="+settleNo+"&radom="+Math.random(),'',"height=370,width=870,top=200,left=200,toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,status=no"); } //下載CSV function doExportCsv(){ var dataJudge = $('#data').find('tr:eq(1)').find('td').length; if(dataJudge == 0){ alert("請先查詢資料!"); }else{ window.location.href="${ctx}/report/settle/downloadCSV.do?"+$("#submitForm").serialize(); } } function contains(obj, ele) { if(obj=="" || obj.indexOf(",") < 0){ return; } var arr = obj.split(","); var i = arr.length; while (i--) { if (arr[i] == ele) { return true; } } return false; } /** * 使用迴圈的方式判斷一個元素是否存在於一個數組中 * @param {Object} arr 陣列 * @param {Object} value 元素值 */ function isInArray(arr,value){ for(var i = 0; i < arr.length; i++){ if(value === arr[i]){ return true; } } return false; } /** * 功能描述: <br> *<字串去掉“,”轉陣列> * * @param * @return * @author 88395515 */ function subStrArray(checkedNos) { var checkenos=checkedNos.substring(0,checkedNos.length-1); var selected=checkenos.split(","); return selected; } </script>