<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> <c:set var="contextPath" value="${pageContext.request.contextPath}"></c:set> <link rel="stylesheet" href="${contextPath}/static/assets/css/jquery-ui.css" /> <link rel="stylesheet" href="${contextPath}/static/assets/css/ui.jqgrid.css" /> <div class="row"> <div class="col-xs-12"> <table id="grid-table"> 付款时间:<input type="text" class="input-sm" placeholder="开始时间" id="startDate"/> <input type="text" class="input-sm" placeholder="结束时间" id="endDate"/> 订单状态: <select id='statusFlag'> <option selected value="" >所有状态</option> <option value="0" >待响应</option> <option value="1" >已退款</option> <option value="2" >咨询中</option> <option value="3" >待评价</option> <option value="4" >已完成</option> <option value="5" >已取消</option> </select> 关键字:<input id="keyword" class="input-medium search-query" type="text" /> <button id="searchd" type="button" class="btn" >搜索</button> </table> <div id="grid-pager"></div> <script type="text/javascript"> var $path_base = "${contextPath}/static";//in Ace demo this will be used for editurl parameter </script> <!-- PAGE CONTENT ENDS --> </div><!-- /.col --> <div id="modal-showdetail" class="modal fade" tabindex="-1" data-backdrop="static" > <div class="modal-dialog" style="min-width: 678px;"> <div class="modal-content"> <div class="modal-header no-padding"> <div class="table-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <span class="white">×</span> </button> 咨询订单详情 </div> </div> <div class="modal-body" id="modal-distributiondetail-body" style="max-height: 600px;overflow-y: scroll;"> <input type="hidden" name="orderId" id="mod-distributiondetail-orderId" /> <input type="hidden" name="orderId" id="mod-distributiondetail-ssdborderwlId" /> <div class="row"> <label class="col-sm-3 control-label" style="text-align: left">订单号:</label> <label class="col-sm-3 control-label" id="model_orderId" style="text-align: right"></label> <label class="col-sm-3 control-label" style="text-align: left">支付方式:</label> <label class="col-sm-3 control-label" id="model_tradeType" style="text-align: right"></label> </div> <div class="row"> <label class="col-sm-3 control-label" style="text-align: left">付款时间:</label> <label class="col-sm-3 control-label" id="model_paytime" style="text-align: right"></label> <label class="col-sm-3 control-label" style="text-align: left">结束时间:</label> <label class="col-sm-3 control-label" id="model_realEndDate" style="text-align: right"></label> </div> <div class="row" id="modal-distributiondetail_group"> <label class="col-sm-3 control-label" style="text-align: left">用户电话:</label> <label class="col-sm-9 control-label" id="model_userPhone"></label> </div> <div class="row"> <label class="col-sm-3 control-label" style="text-align: left">支付商户流水:</label> <label class="col-sm-9 control-label" id="model_merchantFlowNo"></label> </div> <div class="row" id="modal-distributiondetail_mapgroup"> <label class="col-sm-3 control-label" style="text-align: left">律师姓名:</label> <label class="col-sm-3 control-label" id="model_lawyerName" style="text-align: right"></label> <label class="col-sm-3 control-label" style="text-align: left">律师电话:</label> <label class="col-sm-3 control-label" id="model_lawyerPhone" style="text-align: right"></label> </div> <div class="row" id="modal-distributiondetail_mapgroup2"> <label class="col-sm-3 control-label" style="text-align: left">服务费:</label> <label class="col-sm-3 control-label" id="model_amount" style="text-align: right"></label> <label class="col-sm-3 control-label" style="text-align: left">平台佣金:</label> <label class="col-sm-3 control-label" id="model_fee" style="text-align: right"></label> </div> <div class="row" id="modal-distributiondetail_mapgroup3"> <label class="col-sm-3 control-label" style="text-align: left">订单状态:</label> <label class="col-sm-3 control-label" id="model_orderState" style="text-align: right"></label> <label class="col-sm-3 control-label" style="text-align: left">响应时长:</label> <label class="col-sm-3 control-label" id="model_responseMinute" style="text-align: right"></label> </div> <div class="row" id="modal-distributiondetail_mapgroup4"> <label class="col-sm-3 control-label" style="text-align: left">未响应时长:</label> <label class="col-sm-3 control-label" id="model_waitMinute" style="text-align: right"></label> <label class="col-sm-3 control-label" style="text-align: left">是否被投诉:</label> <label class="col-sm-3 control-label" id="model_complaintText" style="text-align: right"></label> </div> <div class="row" > <label class="col-sm-3 control-label" style="text-align: left">投诉信息:</label> <label class="col-sm-9 control-label" id="model_complaintDetailText" style="text-align: left"></label> </div> <ul class="nav nav-list"><li class="divider"></li></ul> <div class="row" > <label class="col-sm-3 control-label" style="text-align: left">用户评价:</label> <label class="col-sm-3 control-label" style="text-align: left" id="comment1"></label> <label class="col-sm-3 control-label" style="text-align: left" id="comment2"></label> <label class="col-sm-3 control-label" style="text-align: left" id="comment3"></label> </div> <div class="row" > <label class="col-sm-3 control-label" style="text-align: left">具体评价:</label> <label class="col-sm-9 control-label" id="comment4"></label> </div> <div class="row" id="model_complaintDetailImg"> <label class="col-sm-3 control-label" style="text-align: left">投诉图片:</label> <label class="col-sm-9 control-label" style="text-align: left"></label> </div> <div class="row" id="model_complaintDetailImg1"> </div> <div class="row" > <label class="col-sm-3 control-label" style="text-align: left">退款原因:</label> <label class="col-sm-9 control-label" id="model_refundReason" style="text-align: left"></label> </div> <ul class="nav nav-list"><li class="divider"></li></ul> <div class="row" > <label class="col-sm-3 control-label" style="text-align: left">聊天记录</label> <label class="col-sm-9 control-label" style="text-align: left"></label> </div> <div class="row" > <label class="col-sm-12 control-label text-left" id="model_chatMessage" style="text-align: left">聊天记录</label> </div> </div> <div class="modal-footer no-margin-top"> <div class="text-center"> <button class="btn btn-sm" data-dismiss="modal"> <i class="ace-icon fa fa-share bigger-160" ></i> 关闭 </button> </div> </div> </div> </div> </div> <div id="modal-updatedetail" class="modal fade" tabindex="-1" data-backdrop="static"> <div class="modal-dialog" style="min-width: 450px;"> <div class="modal-content"> <div class="modal-header no-padding"> <div class="table-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <span class="white">×</span> </button> 修改订单详情 </div> </div> <div class="modal-body" id="modal-updatedetail-body"> <form id="updateDetail" class="form-horizontal"> <input type="hidden" name="orderId" id="mod-updateDetail-orderId" /> <div class="form-group"> <label class="col-sm-3 control-label">是否跟进:</label> <select id='changeFollow'> <option value="0" selected = "selected" >否</option> <option value="1" >是</option> </select> </div> <div class="form-group"> <label class="col-sm-3 control-label">更改状态:</label> <select id='changeStatusFlag'> <option selected value="" >所有状态</option> <option value="0" >待响应</option> <option value="1" >已退款</option> <option value="2" >咨询中</option> <option value="3" >待评价</option> <option value="4" >已完成</option> <option value="5" >已取消</option> </select> </div> </form> </div> <div class="modal-footer no-margin-top"> <div class="text-center"> <button id="modal-update-submit" type="button" class="btn btn-sm btn-primary"> 更新 </button> <button class="btn btn-sm" data-dismiss="modal"> <i class="ace-icon fa fa-share bigger-160" ></i> 关闭 </button> </div> </div> </div> </div> </div> <div id="modal-refund-body" class="modal fade" tabindex="-1" data-backdrop="static"> <div class="modal-dialog" > <form id="checkForm"> <div class="modal-content"> <div class="modal-header no-padding"> <div class="table-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <span class="white">×</span> </button> 退款原因 </div> </div> <div class="modal-body" style="overflow-y: scroll;"> <div id="mod-edit-tip" class="red clearfix"></div> <input type="hidden" id="modal-refund-orderid" value=""> <div class="form-group" style="margin-left: 30px;"> <label class="control-label">请输入退款原因:</label> </div> <div class="form-group" style="margin-left: 30px;"> <textarea id="modal-refund-reason" rows="4" cols="60" placeholder="请输入退款原因"></textarea> </div> </div> <div class="modal-footer no-margin-top"> <div class="text-center"> <button id="mod-check-success" type="button" class="btn btn-sm btn-primary" onclick="showRefundConfirm();"> 退款 </button> <button class="btn btn-sm" data-dismiss="modal"> 取消 </button> </div> </div> </div><!-- /.modal-content --> </form> </div><!-- /.modal-dialog --> </div> </div><!-- /.row --> <script> //显示详情 function showAllDetail(id) { //清空 $("#model_paytime").html(""); $("#model_realEndDate").html(""); $("#model_orderId").html(""); $("#model_tradeType").html(""); $("#model_userPhone").html(""); $("#model_merchantFlowNo").html(""); $("#model_lawyerName").html(""); $("#model_lawyerPhone").html(""); $("#model_amount").html(""); $("#model_fee").html(""); $("#model_orderState").html(""); $("#model_responseMinute").html(""); $("#model_waitMinute").html(""); $("#model_complaintText").html(""); //投诉原因 退款原因 $("#model_complaintDetailText").html(""); $("#model_refundReason").html(""); $("#model_complaintDetailImg").hide(); $("#model_chatMessage").html(""); $("#modal-showdetail").modal("toggle"); $.ajax({ dataType : "json", url : "${contextPath}/adv/order/getOrderById", type : "post", data : { 'orderId' : id, }, success : function(ret) { if(ret != null){ if(ret.success == "true") { $("#model_paytime").html(ret.paytime); $("#model_realEndDate").html(ret.realEndDate); $("#model_orderId").html(ret.orderId); $("#model_tradeType").html(ret.tradeType); $("#model_userPhone").html(ret.userPhone); $("#model_merchantFlowNo").html(ret.merchantFlowNo); $("#model_lawyerName").html(ret.lawyerName); $("#model_lawyerPhone").html(ret.lawyerPhone); $("#model_amount").html(ret.amount); $("#model_fee").html(ret.fee); $("#model_orderState").html(ret.orderState); $("#model_responseMinute").html(ret.responseMinute + '分钟'); $("#model_waitMinute").html(ret.waitMinute + '分钟'); $("#model_complaintText").html(ret.complaintText); //投诉原因 退款原因 $("#model_complaintDetailText").html(ret.complaintDetailText); $("#model_refundReason").html(ret.refundReason); //var obj = str.parseJSON(); //由JSON字符串转换为JSON对象 if(ret.complaintUrls != null) { var arr = ret.complaintUrls; arr = arr.substring(1,arr.length-1); var list = arr.split(','); var tempHtml = ''; for(var i = 0 ; i < list.length; i ++){ tempHtml += '<img src='+list[i]+' class="img-thumbnail" style="height: 450px;width: 300px;margin-left: 20px">' } $("#model_complaintDetailImg1").html(tempHtml); $("#model_complaintDetailImg1").show(); }else { $("#model_complaintDetailImg1").html(""); $("#model_complaintDetailImg1").hide(); } }else{ alert("获取数据失败!") } } } }); $.ajax({ dataType : "json", url : "${contextPath}/adv/order/getOrderChat", type : "post", data : { 'orderId' : id, }, success : function(ret) { if(ret != null){ var chatMessage = ''; for ( var i = 0; i <ret.length; i++){ var tempText = ret[i].sender + ": " + ret[i].message + "<br/>" chatMessage += tempText ; } $("#model_chatMessage").html(chatMessage); } } }); $.ajax({ dataType : "json", url : "${contextPath}/adv/order/getOrderComment", type : "post", data : { 'orderId' : id, }, success : function(ret) { if(ret != null){ $("#comment1").html("专业能力("+ret.professionalScore+")"); $("#comment2").html("服务态度("+ret.serviceScore+")"); $("#comment3").html("回复速度("+ret.promptScore+")"); $("#comment4").html(ret.comment); } else { $("#comment1").html(""); $("#comment2").html(""); $("#comment3").html(""); $("#comment4").html(""); } } }); } function showUpdateModel(id) { $("#modal-updatedetail").modal("toggle"); $.ajax({ dataType : "json", url : "${contextPath}/adv/order/getOrderById", type : "post", data : { 'orderId' : id, }, success : function(ret) { if(ret != null){ $("#mod-updateDetail-orderId").val(id); $("#changeStatusFlag").val(ret.orderStateKey); $("#changeFollow").val(ret.follow); } } }); } $("#modal-update-submit").on("click", function(e) { //进行跟新 var id = $("#mod-updateDetail-orderId").val(); var changeStatusFlag = $("#changeStatusFlag").val(); var changeFollow = $("#changeFollow").val(); $.ajax({ dataType : "json", url : "${contextPath}/adv/order/updateOrder", type : "post", data : { 'id' : id, 'orderState' : changeStatusFlag, 'follow' : changeFollow }, success : function(ret) { if(ret.success == 'true'){ $("#modal-updatedetail").modal("toggle"); jQuery("#grid-table").trigger("reloadGrid"); } } }); }); function showRefund(id) { $("#modal-refund-reason").val(""); $("#modal-refund-orderid").val(id); $("#modal-refund-body").modal("toggle"); } function showRefundConfirm() { var reason = $("#modal-refund-reason").val(); var id = $("#modal-refund-orderid").val(); $.ajax({ dataType : "json", url : "${contextPath}/adv/order/refundOrder", type : "post", data : { 'orderId' : id, 'reason' : reason }, success : function(ret) { $("#modal-refund-body").modal("toggle"); if(ret.success == true){ alert(ret.message); jQuery("#grid-table").trigger("reloadGrid"); }else { alert(ret.message); } } }); } </script> <!-- page specific plugin scripts --> <script type="text/javascript"> var scripts = [ null, "${contextPath}/static/assets/js/date-time/bootstrap-datepicker.js", "${contextPath}/static/assets/js/date-time/locales/bootstrap-datepicker.zh-CN.js", "${contextPath}/static/assets/js/jqGrid/jquery.jqGrid.js", "${contextPath}/static/assets/js/jqGrid/i18n/grid.locale-cn.js", null ] $('.page-content-area').ace_ajax('loadScripts', scripts, function() { // inline scripts related to this page jQuery(function($) { var grid_selector = "#grid-table"; var pager_selector = "#grid-pager"; // resize to fit page size $(window).on('resize.jqGrid', function() { $(grid_selector).jqGrid('setGridWidth', $(".page-content").width()); }) // resize on sidebar collapse/expand var parent_column = $(grid_selector).closest('[class*="col-"]'); $(document).on('settings.ace.jqGrid', function(ev, event_name, collapsed) { if (event_name === 'sidebar_collapsed' || event_name === 'main_container_fixed') { // setTimeout is for webkit only to give time for DOM changes and then redraw!!! setTimeout(function() { $(grid_selector).jqGrid('setGridWidth', parent_column.width()); }, 0); } }) myGrid= jQuery(grid_selector).jqGrid({ subGrid : false, url : "${contextPath}/adv/order/advOrderDetails", datatype : "json", height : '100%', width : 'auto', colNames : ['付款时间', '咨询结束时间', '订单号', '支付方式','用户电话', '支付商户流水', '律师姓名', '律师电话', '服务费', '平台佣金','订单状态','响应时长(分钟)','未响应时长(分钟)','是否被投诉','操作'], colModel : [{ name : 'paytime', index : 'paytime', sorttype : 'date', width : 55, editable : false, }, { name : 'realEndDate', index : 'realEndDate', width : 55, editable : false, }, { name : 'orderId', index : 'orderId', width : 60, editable : false, sorttype : 'text', }, { name : 'tradeType', index : 'tradeType', width : 25, editable : false, },{ name : 'userPhone', index : 'userPhone', width : 25, editable : false, }, { name : 'merchantFlowNo', index : 'merchantFlowNo', width : 80, editable : false, }, { name : 'lawyerName', index : 'lawyerName', width : 40, editable : false, search : false, }, { name : 'lawyerPhone', index : 'lawyerPhone', width : 40, editable : false, search : false, }, { name : 'amount', index : 'amount', width : 20, editable : false, sorttype : 'double', search : false, }, { name : 'fee', index : 'fee', width : 20, editable : false, sorttype : 'double', search : false, }, { name : 'orderState', index : 'orderState', width : 25, editable : false, search : false, }, { name : 'responseMinute', index : 'responseMinute', width : 30, editable : false, search : false, }, { name : 'waitMinute', index : 'waitMinute', width : 30, editable : false, search : false, }, { name : 'complaintText', index : 'complaintText', width : 30, editable : false, search : false, },{ name : 'id', index : '', label : '操作', width : 160, editable : false, search : false, sortable : false, fixed:true, formatter : optionFormatter } ], //scroll : 1, // set the scroll property to 1 to enable paging with scrollbar - virtual loading of records sortname : "paytime", sortorder : "desc", viewrecords : true, rowNum : 10, rowList : [ 10, 30, 500 ], pager : pager_selector, altRows : true, multiselect : true, multiboxonly : true, loadComplete : function() { var table = this; setTimeout(function(){ styleCheckbox(table); updateActionIcons(table); updatePagerIcons(table); enableTooltips(table); }, 0); }, editurl : "${contextPath}/adv/order/advOrderDetails" }); $(window).triggerHandler('resize.jqGrid');// trigger window resize to make the grid get the correct size // enable search/filter toolbar // jQuery(grid_selector).jqGrid('filterToolbar',{defaultSearch:true,stringResult:true}) // jQuery(grid_selector).filterToolbar({}); // switch element when editing inline function aceSwitch(cellvalue, options, cell) { setTimeout(function() { $(cell).find('input[type=checkbox]').addClass('ace ace-switch ace-switch-5').after('<span class="lbl"></span>'); }, 0); } //搜索 $("#searchd").click(function(){ var statusFlag =$("#statusFlag").val(); var keyword =encodeURI(encodeURI($("#keyword").val())); var startDate =$("#startDate").val(); var endDate =$("#endDate").val(); myGrid.setGridParam({postData:{'statusFlag':statusFlag, keyword:keyword, startDate:startDate, endDate:endDate, page:1},url : '${contextPath}/adv/order/advOrderDetails',page:1}).trigger('reloadGrid'); }); // navButtons jQuery(grid_selector).jqGrid('navGrid', pager_selector, { // navbar options edit : <shiro:hasPermission name="${ROLE_KEY}:payRecord:edit">true</shiro:hasPermission><shiro:lacksPermission name="${ROLE_KEY}:payRecord:edit">false</shiro:lacksPermission>, editicon : 'ace-icon fa fa-pencil blue', add : <shiro:hasPermission name="${ROLE_KEY}:payRecord:add">true</shiro:hasPermission><shiro:lacksPermission name="${ROLE_KEY}:payRecord:add">false</shiro:lacksPermission>, addicon : 'ace-icon fa fa-plus-circle purple', del : <shiro:hasPermission name="${ROLE_KEY}:payRecord:delete">true</shiro:hasPermission><shiro:lacksPermission name="${ROLE_KEY}:payRecord:delete">false</shiro:lacksPermission>, delicon : 'ace-icon fa fa-trash-o red', search : <shiro:hasPermission name="${ROLE_KEY}:payRecord:search">true</shiro:hasPermission><shiro:lacksPermission name="${ROLE_KEY}:payRecord:search">false</shiro:lacksPermission>, searchicon : 'ace-icon fa fa-search orange', refresh : true, refreshicon : 'ace-icon fa fa-refresh blue', view : <shiro:hasPermission name="${ROLE_KEY}:payRecord:view">true</shiro:hasPermission><shiro:lacksPermission name="${ROLE_KEY}:payRecord:view">false</shiro:lacksPermission>, viewicon : 'ace-icon fa fa-search-plus grey' }, { // edit record form // closeAfterEdit: true, // width: 700, recreateForm : true, beforeShowForm : function(e) { var form = $(e[0]); form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />') style_edit_form(form); }, errorTextFormat: function (response) { var result = eval('('+response.responseText+')'); return result.message; } }, { // new record form // width: 700, closeAfterAdd : true, recreateForm : true, viewPagerButtons : false, beforeShowForm : function(e) { var form = $(e[0]); form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />') style_edit_form(form); }, errorTextFormat: function (response) { var result = eval('('+response.responseText+')'); return result.message; } }, { // delete record form recreateForm : true, beforeShowForm : function(e) { var form = $(e[0]); if (form.data('styled')) return false; form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />') style_delete_form(form); form.data('styled', true); }, onClick : function(e) { // alert(1); } }, { // search form recreateForm : true, afterShowSearch : function(e) { var form = $(e[0]); form.closest('.ui-jqdialog').find('.ui-jqdialog-title').wrap('<div class="widget-header" />') style_search_form(form); }, afterRedraw : function() { style_search_filters($(this)); }, multipleSearch : true /** * multipleGroup:true, showQuery: true */ }, { // view record form recreateForm : true, beforeShowForm : function(e) { var form = $(e[0]); form.closest('.ui-jqdialog').find('.ui-jqdialog-title').wrap('<div class="widget-header" />') } }) // add custom button to export the data to excel if(<shiro:hasPermission name="${ROLE_KEY}:companyPay:export">true</shiro:hasPermission><shiro:lacksPermission name="${ROLE_KEY}:companyPay:export">false</shiro:lacksPermission>){ jQuery(grid_selector).jqGrid('navButtonAdd', pager_selector,{ caption : "", title : "导出Excel", buttonicon : "ace-icon fa fa-file-excel-o green", onClickButton : function () { var keys = [], ii = 0, rows = ""; var ids = $(grid_selector).getDataIDs(); // Get All IDs var row = $(grid_selector).getRowData(ids[0]); // Get First row to get the labels var label = $(grid_selector).jqGrid('getGridParam','colNames'); for(var k in label){ if(label[k].length > 0){ if( k > 0) { rows = rows + label[k] + "\t"; // output each Column as tab delimited } } } for (var k in row) { keys[ii++] = k; // capture col names } rows = rows + "\n"; // Output header with end of line var tIds = {"paytime":true,"realEndDate":true,"orderId":true,"tradeType":true,"userPhone":true,"merchantFlowNo":true,"lawyerName":true,"lawyerPhone":true,"amount":true,"fee":false,"orderState":false,"responseMinute":false,"waitMinute":false,"complaintText":false}; var v = null; for (var i = 0; i < ids.length; i++) { row = $(grid_selector).getRowData(ids[i]); // get each row for (var j = 0; j < keys.length; j++){ v = row[keys[j]]; v = v.replace(/[\n\t]/g, ""); if(tIds[keys[j]]){ rows = rows + '="' + v + '"\t'; // output each Row as tab delimited }else{ rows = rows + v + '\t'; // output each Row as tab delimited } } rows = rows + "\n"; // output each row with end of line } rows = rows + "\n"; // end of line at the end var form = "<form name='csvexportform' action='${contextPath}/fs/report/getExcel?fileName=advOrderDetails' method='post'>"; form = form + "<input type='hidden' name='csvBuffer' value='" + encodeURIComponent(rows) + "'>"; form = form + "</form><script>document.csvexportform.submit();</sc" + "ript>"; OpenWindow = window.open('', ''); OpenWindow.document.write(form); OpenWindow.document.close(); } }); } function style_edit_form(form) { // form.find('input[name=statusCn]').addClass('ace ace-switch ace-switch-5').after('<span class="lbl"></span>'); // don't wrap inside a label element, the checkbox value won't be submitted (POST'ed) // .addClass('ace ace-switch ace-switch-5').wrap('<label class="inline" />').after('<span class="lbl"></span>'); // update buttons classes var buttons = form.next().find('.EditButton .fm-button'); buttons.addClass('btn btn-sm').find('[class*="-icon"]').hide();// ui-icon, s-icon buttons.eq(0).addClass('btn-primary').prepend('<i class="ace-icon fa fa-check"></i>'); buttons.eq(1).prepend('<i class="ace-icon fa fa-times"></i>') buttons = form.next().find('.navButton a'); buttons.find('.ui-icon').hide(); buttons.eq(0).append('<i class="ace-icon fa fa-chevron-left"></i>'); buttons.eq(1).append('<i class="ace-icon fa fa-chevron-right"></i>'); } function style_delete_form(form) { var buttons = form.next().find('.EditButton .fm-button'); buttons.addClass('btn btn-sm btn-white btn-round').find('[class*="-icon"]').hide();// ui-icon, s-icon buttons.eq(0).addClass('btn-danger').prepend('<i class="ace-icon fa fa-trash-o"></i>'); buttons.eq(1).addClass('btn-default').prepend('<i class="ace-icon fa fa-times"></i>') } function style_search_filters(form) { form.find('.delete-rule').val('X'); form.find('.add-rule').addClass('btn btn-xs btn-primary'); form.find('.add-group').addClass('btn btn-xs btn-success'); form.find('.delete-group').addClass('btn btn-xs btn-danger'); } function style_search_form(form) { var dialog = form.closest('.ui-jqdialog'); var buttons = dialog.find('.EditTable') buttons.find('.EditButton a[id*="_reset"]').addClass('btn btn-sm btn-info').find('.ui-icon').attr('class', 'ace-icon fa fa-retweet'); buttons.find('.EditButton a[id*="_query"]').addClass('btn btn-sm btn-inverse').find('.ui-icon').attr('class', 'ace-icon fa fa-comment-o'); buttons.find('.EditButton a[id*="_search"]').addClass('btn btn-sm btn-purple').find('.ui-icon').attr('class', 'ace-icon fa fa-search'); } function beforeDeleteCallback(e) { var form = $(e[0]); if (form.data('styled')) return false; form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />') style_delete_form(form); form.data('styled', true); } function beforeEditCallback(e) { var form = $(e[0]); form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />') style_edit_form(form); } // it causes some flicker when reloading or navigating grid // it may be possible to have some custom formatter to do this as the grid is being created to prevent this // or go back to default browser checkbox styles for the grid function styleCheckbox(table) { /** * $(table).find('input:checkbox').addClass('ace') .wrap('<label />') .after('<span class="lbl align-top" />') $('.ui-jqgrid-labels th[id*="_cb"]:first-child') * .find('input.cbox[type=checkbox]').addClass('ace') .wrap('<label />').after('<span class="lbl align-top" />'); */ } // unlike navButtons icons, action icons in rows seem to be hard-coded // you can change them like this in here if you want function updateActionIcons(table) { /** * var replacement = { 'ui-ace-icon fa fa-pencil' : 'ace-icon fa fa-pencil blue', 'ui-ace-icon fa fa-trash-o' : 'ace-icon fa fa-trash-o red', 'ui-icon-disk' : 'ace-icon fa fa-check green', 'ui-icon-cancel' : * 'ace-icon fa fa-times red' }; $(table).find('.ui-pg-div span.ui-icon').each(function(){ var icon = $(this); var $class = $.trim(icon.attr('class').replace('ui-icon', '')); if($class in replacement) * icon.attr('class', 'ui-icon '+replacement[$class]); }) */ } // replace icons with FontAwesome icons like above function updatePagerIcons(table) { var replacement = { 'ui-icon-seek-first' : 'ace-icon fa fa-angle-double-left bigger-140', 'ui-icon-seek-prev' : 'ace-icon fa fa-angle-left bigger-140', 'ui-icon-seek-next' : 'ace-icon fa fa-angle-right bigger-140', 'ui-icon-seek-end' : 'ace-icon fa fa-angle-double-right bigger-140' }; $('.ui-pg-table:not(.navtable) > tbody > tr > .ui-pg-button > .ui-icon').each(function() { var icon = $(this); var $class = $.trim(icon.attr('class').replace('ui-icon', '')); if ($class in replacement) icon.attr('class', 'ui-icon ' + replacement[$class]); }) } function enableTooltips(table) { $('.navtable .ui-pg-button').tooltip({ container : 'body' }); $(table).find('.ui-pg-div').tooltip({ container : 'body' }); } function optionFormatter(cellvalue, options, cell) { var template = "<button data-toggle='modal' onclick='showAllDetail(\""+cell.orderId+"\")' class='btn btn-minier btn-yellow'><i class='ace-icon fa fa-hdd-o '></i>详细</button> | "; template += "<button data-toggle='modal' onclick='showUpdateModel(\""+cell.orderId+"\")' class='btn btn-minier btn-yellow'><i class='ace-icon fa fa-hdd-o '></i>修改</button>" + "<br>"; template += "<button data-toggle='modal' onclick='showRefund(\""+cell.orderId+"\")' class='btn btn-minier btn-yellow'><i class='ace-icon fa fa-hdd-o '></i>退款</button>"; return template; } // var selr = jQuery(grid_selector).jqGrid('getGridParam','selrow'); $(document).one('ajaxloadstart.page', function(e) { $(grid_selector).jqGrid('GridUnload'); $('.ui-jqdialog').remove(); }); $('#startDate').datepicker({ language: 'zh-CN', pickTime: false, todayBtn: true, autoclose: true, minView: '2', forceParse: false, format:"yyyy-mm-dd" }); $('#endDate').datepicker({ language: 'zh-CN', pickTime: false, todayBtn: true, autoclose: true, minView: '2', forceParse: false, format:"yyyy-mm-dd" }); }); }); </script>