<%@ 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"/> <link rel="stylesheet" href="${contextPath}/static/js/contract/ace.fileinput.css"/> <style> #MyDiv{ position: absolute; left: 300px; top: 0px; display: none; } </style> <div class="row"> <div class="col-xs-12"> <table id="grid-table"> <input id="keyword" class="input-medium search-query" type="text" placeholder="搜索关键字"/> <input type="text" class="input-sm" placeholder="申请开始时间" id="startDate"/> <input type="text" class="input-sm" placeholder="申请结束时间" id="endDate"/> <button id="search-button" 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-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 id="modal-changeType-body" class="modal fade" tabindex="-1" data-backdrop="static"> <div class="modal-dialog"> <form id="checkForm4"> <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;"> <input type="hidden" id="modal-companyInvoiceId" value=""> <div class="form-group"> <input id="r1" type="radio" value="4" name="ticketType">已开票</input> <div id="div-invoice" class="checkbox-inline"></div> <input type="button" style="margin-left: 10px" onclick="uploadPic('invoice');" value="上传开票图片" /> </div> <div class="form-group"> <input id="r2" type="radio" value="6" name="ticketType">已寄出</input> <input type="text" style="width: 82%; margin-left: 13px;" placeholder="输入寄件信息" id="sendInfo"> </div> <div class="form-group"> <input id="r3" type="radio" value="2" name="ticketType">申请失败</input> <input type="text" style="width: 82%; margin-left: 10px;" placeholder="输入申请失败原因" id="failInfo"> </div> </div> <div class="modal-footer no-margin-top"> <div class="text-center"> <button type="button" class="btn btn-sm btn-primary" onclick="changeTicketType();"> 确定 </button> <button class="btn btn-sm" data-dismiss="modal"> 取消 </button> </div> </div> </div><!-- /.modal-content --> </form> </div><!-- /.modal-dialog --> </div> <div id="mod-pic" class="modal fade" tabindex="-1"> <div class="modal-dialog" style="max-width: 500px;"> <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"> <div class="row"> <div class="col-xs-12"> <!-- PAGE CONTENT BEGINS --> <form id="picform"> <input id="picFileId" type="file" name="file" multiple/> <input type="hidden" name="attachType" id="mod-pic-attachType"/> <input type="hidden" name="orderId" id="mod-pic-orderId"/> <div class="hr hr-12 dotted"></div> <div class="text-center"> <button type="button" class="btn btn-sm btn-primary" onclick="picUpload();">上传 </button> <button type="reset" class="btn btn-sm">清除</button> </div> </form> </div><!-- /.col --> </div><!-- /.row --> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div> <div id="modal-refund-info" class="modal fade" tabindex="-1" data-backdrop="static"> <div class="modal-dialog"> <form id="checkForm2"> <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-tip2" class="red clearfix"></div> <from id="refundFrom"> <input type="hidden" id="modal-refund-orderid2" value=""> <div class="form-group" style="margin-left: 30px;"> <label class="control-label">上传律师退款截图:</label> </div> <div class="form-group" style="margin-left: 30px;" id="imgeShow"> </div> <div style="margin-left: 30px;"> <button id="update_lawyer_url" type="button" class="btn btn-sm btn-primary">上传</button> </div> <div class="form-group" style="margin-left: 30px;"> <label class="control-label">上传确认退保的聊天记录(和保险公司,律师的聊天都要上传):</label> </div> <div class="form-group" style="margin-left: 30px;" id="imgeShow2"> </div> <div style="margin-left: 30px;"> <button>上传</button> </div> <div class="form-group" style="margin-left: 30px;"> <label class="control-label">修改记录:</label> </div> <div class="form-group" style="margin-left: 30px;"> <label class="control-label">记录记录记录。。。</label> </div> </from> </div> <div class="modal-footer no-margin-top"> <div class="text-center"> <button class="btn btn-sm" data-dismiss="modal"> 取消 </button> </div> </div> </div><!-- /.modal-content --> </form> </div><!-- /.modal-dialog --> </div> <div id="modal-refund-remark" class="modal fade" tabindex="-1" data-backdrop="static"> <div class="modal-dialog"> <form id="checkForm1"> <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;" id="serviceCostDiv"> </div> <div class="modal-footer no-margin-top"> <div class="text-center"> <button class="btn btn-sm" data-dismiss="modal"> 取消 </button> </div> </div> </div><!-- /.modal-content --> </form> </div><!-- /.modal-dialog --> </div> </div> <!-- /.row --> <div id="MyDiv" class="modal-dialog white_content"> <div class="modal-content"> <div class="modal-header no-padding"> <div class="table-header"> <button onclick="CloseDiv()" type="button" class="close" data-dismiss="modal" aria-hidden="true"> <span class="white">×</span> </button> 开票信息 </div> </div> <br> <div> <div class="form-group" style="display: none"> <label for="ticketId" class="control-label"> id</label> <span style="text-indent: 2em" id="ticketId"></span> </div> <div class="form-group"> <label for="companyNameA" class="control-label"> 名称:</label> <span style="text-indent: 2em" id="companyNameA"></span> </div> <div class="form-group"> <label for="taxNum" class="control-label"> 纳税人识别号:</label> <span style="text-indent: 2em" id="taxNum"></span> </div> <div class="form-group"> <label for="companyAddrs" class="control-label"> 地址:</label> <span style="text-indent: 2em" id="companyAddrs"></span> </div> <div class="form-group"> <label for="phone" class="control-label"> 电话:</label> <span style="text-indent: 2em" id="phone"></span> </div> <div class="form-group"> <label for="bank" class="control-label"> 开户行:</label> <span style="text-indent: 2em" id="bank"></span> </div> <div class="form-group"> <label for="bankAccount" class="control-label"> 账号:</label> <span style="text-indent: 2em" id="bankAccount"></span> </div> <div class="form-group"> <label for="money" class="control-label"> 本次申请开票金额:</label> <span style="text-indent: 2em" id="money"></span> </div> <div class="form-group"> <label for="invoType" class="control-label"> 本次申请开票类型:</label> <span style="text-indent: 2em" id="invoType"></span> </div> <div class="form-group"> <label for="mailAddr" class="control-label"> 增值税电子普通发票收件邮箱:</label> <span style="text-indent: 2em" id="mailAddr"></span> </div> </div> <div class="modal-footer no-margin-top"> <div class="text-center"> <button onclick="exportTicket()" class="btn btn-sm" data-dismiss="modal"> 导出 </button> <button onclick="CloseDiv()" class="btn btn-sm" data-dismiss="modal"> 取消 </button> </div> </div> </div><!-- /.modal-dialog --> </div> <!-- 阿里云OSS --> <script type="text/javascript" src="${contextPath}/static/js/contract/promise-6.1.0.js"></script> <script type="text/javascript" src="http://gosspublic.alicdn.com/aliyun-oss-sdk-4.3.0.min.js"></script> <script type="text/javascript" src="${contextPath}/static/js/contract/ace.fileinput.js"></script> <script type="text/javascript" src="${contextPath}/static/js/contract/uuid.js"></script> <script type="text/javascript" src="${contextPath}/static/js/contract/picupload.js?v=2"></script> <script> /** * 生成文件名 * @returns */ function timestamp() { var time = new Date(); var y = time.getFullYear(); var m = time.getMonth() + 1; var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); var s = time.getSeconds(); return "" + y + add0(m) + add0(d) + add0(h) + add0(mm) + add0(s); } function add0(m) { return m < 10 ? '0' + m : m; } function getTotalCost() { var keyword = $("#keyword").val(); var startDate = $("#yearBill").val(); var endDate = $("#monthBill").val(); var loginName = $("#companyName").val(); $.ajax({ dataType: "json", url: "${contextPath}/bill/ssdbBill/getTotalCost", type: "post", data: {'keyword': keyword, 'year': startDate, 'month': endDate, 'loginName': loginName}, success: function (result) { if (result != null) { $("#addServiceCost").html(result.addServiceCost); $("#reduceServiceCost").html(result.reduceServiceCost); $("#sumServiceCost").html(result.sumServiceCost); $("#dealBf").html(result.dealBf); if (result.orderTime) { var time = result.orderTime; var arr = time.split("-"); if (arr.length > 2) { $("#yearBill").val(arr[0]); $("#monthBill").val(arr[1]); } } if (result.currentMon) { alert("该月账单未生成。。") } } } }); } </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", "${contextPath}/static/js/contract/promise-6.1.0.js", "${contextPath}/static/js/contract/ace.fileinput.js", "${contextPath}/static/js/contract/uuid.js", "${contextPath}/static/js/contract/picupload.js", "${contextPath}/static/assets/js/lazyload/jquery.lazyload.js", "${contextPath}/static/js/network.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}/companyInvoice/report/getCompanyInvoice", datatype: "json", height: '100%', width: 'auto', colNames: ['申请时间', '登录名', '结算机构', '开票抬头', '开票金额', '开票状态', '备注', '操作'], colModel: [{ name: 'applyTime', index: 'applyTime', sorttype: 'date', width: 30, editable: false, }, { name: 'loginName', index: 'loginName', width: 50, editable: false, }, { name: 'settlementInstitution', index: 'settlementInstitution', width: 50, editable: false, sorttype: 'text', }, { name: 'invoiceRise', index: 'invoiceRise', width: 50, editable: false, }, { name: 'invoiceMoneyAmt', index: 'invoiceMoneyAmt', width: 50, editable: false, }, { name: 'invoiceState', index: 'invoiceState', width: 50, editable: false, formatter: changeInvoiceState }, { name: 'remark', index: 'remark', width: 50, editable: false, }, { name: 'id', index: '', label: '操作', width: 270, 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, 50], 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}/companyInvoice/report/editCompanyInvoice" }); $(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); } var progress = function (p) {//上传成功的进度条 return function (done) { done(); }; } ; function getFileType(fileName) { var ldot = fileName.lastIndexOf('.') if (ldot >= 0) return fileName.substring(ldot + 1); else return ""; } //搜索 $("#search-button").click(function () { var keyword = encodeURI(encodeURI($("#keyword").val())); var startDate = $("#startDate").val(); var endDate = $("#endDate").val(); myGrid.setGridParam({ postData: { keyword: keyword, startDate: startDate, endDate: endDate, page: 1 }, url: '${contextPath}/companyInvoice/report/getCompanyInvoice', 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 changeInvoiceState(cellvalue, options, rowObject) { return changeInvoiceStateToText(rowObject.invoiceState); } function changeInvoiceStateToText(key) { if (key == 1) { return '申请中'; } else if (key == 2) { return '申请失败'; } else if (key == 3) { return '未开票'; } else if (key == 4) { return '已开票'; } else if (key == 5) { return '未寄出'; } else if (key == 6) { return '已寄出'; } } 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 changeProportionType(cellvalue, options, rowObject) { var result = null; result = '<span>' + cellvalue + '</span><a style="margin-left: 2px" href="javaScript:void(0)" onclick="showProtocol(' + rowObject.orderId + ')"><img src="${contextPath}/static/img/question.png" ></a>' return result; } //根据是否退保改变样式 function changeCostStyle(cellvalue, options, rowObject) { var result = null; //退保 if (rowObject.signB) { result = '<span style="color: #DC143C">' + cellvalue + '</span>' } else { result = cellvalue; } return result; } function optionFormatter(cellvalue, options, cell) { var template = "<button data-toggle='modal' onclick='showChangeType(\"" + cell.id + "\")' class='btn btn-minier btn-yellow'><i class='ace-icon fa fa-hdd-o '></i>修改状态</button>"; template += " | <button data-toggle='modal' onclick='showRemark(\"" + cell.id + "\",\"" + cell.remark + "\")' class='btn btn-minier btn-yellow'><i class='ace-icon fa fa-hdd-o '></i>修改备注</button>"; template += " | <button data-toggle='modal' onclick='showTicket(\"" + cell.id + "\")' 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" }); }); }); function changeTicketType() { var id = $("#modal-companyInvoiceId").val(); var type = $('input:radio[name="ticketType"]:checked').val(); var resultType = ""; if (type == "4") { resultType = $("#ticketUrl").val(); } else if (type == "6") { resultType = $("#sendInfo").val(); } else if (type == "2") { resultType = $("#failInfo").val(); } $.ajax({ dataType: "json", url: "${contextPath}/bill/ssdbBill/changeTicketType", type: "post", data: { 'type': type, 'resultType': resultType, 'id': id }, success: function (ret) { if (ret.success) { alert("修改成功") $("#modal-changeType-body").modal("toggle"); jQuery("#grid-table").trigger("reloadGrid"); } else { alert("修改失败"); } } }); } function showRefundConfirm() { var reason = $("#modal-refund-reason").val(); var id = $("#modal-refund-orderid").val(); $.ajax({ dataType: "json", url: "${contextPath}/bill/ssdbBill/saveRemark", type: "post", data: { 'id': id, 'remark': reason }, success: function (ret) { $("#modal-refund-body").modal("toggle"); if (ret.success == true) { alert("修改成功!"); jQuery("#grid-table").trigger("reloadGrid"); } else { alert("修改失败!"); } } }); } /*显示开票信息*/ function showTicket(id) { /*每次打开弹框清空*/ $("#companyNameA").html(); $("#taxNum").html(); $("#phone").html(); $("#bank").html(); $("#companyAddrs").html(); $("#bankAccount").html(); $("#invoType").html(); $("#mailAddr").html(); $("#money").html(); $.ajax({ dataType: "json", url: "${contextPath}/bill/ssdbBill/getTicketInfo", type: "post", data: {"id":id}, complete : function(ret) { var ret = eval("(" + ret.responseText + ")"); $("#companyNameA").html(ret.companyName); $("#taxNum").html(ret.taxNum); $("#phone").html(ret.phone); $("#bank").html(ret.bank); $("#companyAddrs").html(ret.companyAddress); $("#bankAccount").html(ret.bankAccount); $("#invoType").html(ret.invoType); $("#mailAddr").html(ret.mailAddr); $("#money").html(ret.money); console.log(ret); } }); $("#ticketId").html(id); $("#MyDiv").show(); } function CloseDiv() { $("#MyDiv").hide(); } /*导出发票信息*/ function exportTicket() { var companyName = $("#companyNameA").html(); var taxNum = $("#taxNum").html(); var phone = $("#phone").html(); var bank = $("#bank").html(); var companyAddrs = $("#companyAddrs").html(); var bankAccount = $("#bankAccount").html(); var invoType = $("#invoType").html(); var mailAddr = $("#mailAddr").html(); var money =$("#money").html(); var url = '${contextPath}/bill/ssdbBill/downloadFapiao?companyName=' + companyName + "&taxNum="+taxNum + "&phone="+phone+ "&bank="+bank + "&companyAddrs="+companyAddrs + "&bankAccount="+bankAccount + "&invoType="+invoType+ "&mailAddr="+ mailAddr+ "&money="+money ; console.info(url); window.open(url); } function showChangeType(id) { $("#modal-companyInvoiceId").val(id); $("#modal-changeType-body").modal("toggle"); $('#div-' + 'invoice').html(''); loadPic('invoice', id); } function showRemark(id, remark) { if (remark == null) { remark = ""; } $("#modal-refund-reason").val(remark); $("#modal-refund-orderid").val(id); $("#modal-refund-body").modal("toggle"); } function showChangeInfo(id) { $("#modal-refund-orderid2").val(id); $("#modal-refund-info").modal("toggle"); } function showProtocol(orderId) { $("#modal-refund-remark").modal("toggle"); $.ajax({ dataType: "json", url: "${contextPath}/bill/ssdbBill/getProtocolInfo", type: "post", data: {"orderId": orderId}, success: function (result) { if (result.success) { var html = ""; var data = result.data; html = '<div class="form-group" style="margin-left: 30px;">\n' + ' <label class="control-label">服务费计算规则:</label>\n' + ' </div>\n' + ' <div class="form-group" style="margin-left: 30px;">\n' + ' <label class="control-label">服务费比例:' + data.serviceCostProportion + '%</label>\n' + ' </div>\n' + ' <div class="form-group" style="margin-left: 30px;">\n' + ' <label class="control-label">服务费修改记录:</label>\n' + ' applyTickets </div>\n' + ' <div class="form-group" style="margin-left: 30px;">\n' + ' <label class="control-label" id="changeRemark">' + data.changeRemark + '</label>\n' + ' </div>\n' + ' <div class="form-group" style="margin-left: 30px;">\n' + ' <label class="control-label">服务费修改原因:</label>\n' + ' </div>\n' + ' <div class="form-group" style="margin-left: 30px;">\n' + ' <label class="control-label" id="changeReason">' + data.changeReason + '</label>\n' + ' </div>\n' + ' <div class="form-group" style="margin-left: 30px;">\n' + ' <label class="control-label">服务费修改依据:</label>\n' + ' </div>\n'; var urls = data.urls; var urlhtml = ' <div class="form-group" style="margin-left: 30px;">'; for (var i = 0; i < urls.length; i++) { urlhtml += '<img src="' + urls[i] + '"/>'; } urlhtml += '</div>'; html += urlhtml; $("#serviceCostDiv").html(html); } } }); } function getAllCompanys() { $.ajax({ dataType: "json", url: "${contextPath}/sys/company/getAllCompany", type: "post", data: {}, success: function (result) { var html = '<option selected value="0">选择登陆名</option>'; if (result.success) { var data = result.data; for (var i = 0; i < data.length; i++) { html += '<option selected value=' + data[i] + '>' + data[i] + '</option>' } $("#companyName").html(html); } } }); } $(function () { getAllCompanys(); }); //-------------------------上传文件-----开始--------------------- function uploadPic(attachType) { $("#mod-pic").modal("toggle"); $("#mod-pic-attachType").val(attachType); $("#mod-pic-orderId").val($("#modal-companyInvoiceId").val()); } //pic上传处理 function picUpload() { applyTokenDo(uploadFile); } var appServer = 'http://b.duowenlvshi.com/oss/token?name=ssdb'; var bucket = '${oss_bucket_ssdb}'; var region = 'oss-cn-shenzhen'; var applyTokenDo = function (func) { var url = appServer; $.ajax({ type: "POST", url: url, data: "", dataType: "jsonp", success: function (e) { var client = new OSS.Wrapper({ region: region, accessKeyId: e.AccessKeyId, accessKeySecret: e.AccessKeySecret, stsToken: e.SecurityToken, bucket: bucket }); return func(client); }, error: function (data) { console.log(data); } }); } ; var uploadFile = function (client) { var picFile = document.getElementById('picFileId').files[0]; var orderId = document.getElementById('mod-pic-orderId').value; var fileName = UUIDjs.create().hex; var fileType = getFileType(picFile.name); var key = "ssdb/finance/invoice/" + orderId + "/" + fileName + "." + fileType; return client.multipartUpload(key, picFile, { progress: progress }).then(function (res) { saveToDB(orderId, key, fileName, fileType); }); } ; function getFileType(fileName) { var ldot = fileName.lastIndexOf('.') if (ldot >= 0) return fileName.substring(ldot + 1); else return ""; } function saveToDB(orderId, key, fileName, fileType) { var attachType = $("#mod-pic-attachType").val(); var parameters = { "orderId": orderId, "attachType": attachType, "path": key, "fileName": fileName, "fileType": fileType }; console.debug(parameters); $.getJSON('${contextPath}/bill/ssdbBill/uploadFileAttach', parameters, function (result) { if (result.success) { uploadSuccess(orderId); } else alert(result.message); }); }; var progress = function (p) {//上传成功的进度条 return function (done) { done(); }; }; function uploadSuccess(orderId) { $("#mod-pic").modal("toggle"); var attachType = $("#mod-pic-attachType").val(); loadPic(attachType, orderId); } function loadPic(attachType, orderId) { var url = '${contextPath}/bill/ssdbBill/extractFileAttach'; var parameters = {"orderId": orderId, "attachType": attachType}; postData(url, parameters, loadPiCallback, errorCallbackDefault); } //向后台请求数据 function postData(url, parameters, successCallback, errorCallback) { $.ajax({ type: "POST", url: url, data: parameters, dataType: "json", success: function (data) { successCallback(data); }, error: function (data) { errorCallback(data); } }); } function loadPiCallback(data) { if (data.success) { var url = '${oss_bucket_ssdb_url}'; var thum = '${oss_bucket_ssdb_url_img}'; var size = '${oss_bucket_ssdb_url_img_size}'; var v = null; var sec = ''; for (var i in data.attachs) { v = data.attachs[i]; sec += '<div style="text-align:center;display:inline-block;vertical-align:top;" id="picDiv' + v.id + '">'; sec += '<a href="' + url + v.path + '" target="_blank">'; sec += '<img class="lazy" src="${contextPath}/static/img/loading.gif" data-original="' + thum + v.path + '" height="100" width="100" id="' + v.id + '"/>'; sec += '</a><br/><a href="javascript:void(0)" onclick="deletePic(\'' + v.id + '\')">删除</a>'; sec += '</div> '; } $("#div-" + data.attachType).html(sec); setTimeout(function () { $("img.lazy").lazyload({ threshold: 200 }); }, 200); } else { showMsg(data.message); } } //删除图片 function deletePic(id) { $('#picDiv' + id).hide(); var url = '${contextPath}/bill/ssdbBill/deleteFileAttach'; var parameters = {"id": id}; postData(url, parameters, deletePiCallback, errorCallbackDefault); } function deletePiCallback(data) { if (data.success) { showMsg('删除成功'); loadPic(data.attachType); } else { $('#picDiv' + data.attachType).show(); showMsg(data.message); } } function errorCallbackDefault(data) { console.debug("=*= eroro=*= " + data) ///donoting.... } //显示信息 function showMsg(msg) { if (msg != undefined && msg.length > 0) { alert(msg); } } //-------------------------上传文件----结束---------------------- </script>