<%@ 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">
            &nbsp;<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">&times;</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">&times;</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">&times;</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">&times;</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">&times;</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">&times;</span>
                </button>
                开票信息
            </div>
        </div>
        <br>
        <div>
            <div class="form-group" style="display: none">
                <label for="ticketId" class="control-label">&nbsp;&nbsp;&nbsp;&nbsp;id</label>
                <span style="text-indent: 2em" id="ticketId"></span>
            </div>
            <div class="form-group">
                <label for="companyNameA" class="control-label">&nbsp;&nbsp;&nbsp;&nbsp;名称：</label>
                <span style="text-indent: 2em" id="companyNameA"></span>
            </div>
            <div class="form-group">
                <label for="taxNum" class="control-label">&nbsp;&nbsp;&nbsp;&nbsp;纳税人识别号：</label>
                <span style="text-indent: 2em"  id="taxNum"></span>
            </div>
            <div class="form-group">
                <label for="companyAddrs" class="control-label">&nbsp;&nbsp;&nbsp;&nbsp;地址：</label>
                <span style="text-indent: 2em"  id="companyAddrs"></span>
            </div>
            <div class="form-group">
                <label for="phone" class="control-label">&nbsp;&nbsp;&nbsp;&nbsp;电话：</label>
                <span style="text-indent: 2em"  id="phone"></span>
            </div>
            <div class="form-group">
                <label for="bank" class="control-label">&nbsp;&nbsp;&nbsp;&nbsp;开户行：</label>
                <span style="text-indent: 2em"  id="bank"></span>
            </div>
            <div class="form-group">
                <label for="bankAccount" class="control-label">&nbsp;&nbsp;&nbsp;&nbsp;账号：</label>
                <span style="text-indent: 2em"  id="bankAccount"></span>
            </div>
            <div class="form-group">
                <label for="money" class="control-label">&nbsp;&nbsp;&nbsp;&nbsp;本次申请开票金额：</label>
                <span style="text-indent: 2em" id="money"></span>
            </div>
            <div class="form-group">
                <label for="invoType" class="control-label">&nbsp;&nbsp;&nbsp;&nbsp;本次申请开票类型：</label>
                <span style="text-indent: 2em"  id="invoType"></span>
            </div>
            <div class="form-group">
                <label for="mailAddr" class="control-label">&nbsp;&nbsp;&nbsp;&nbsp;增值税电子普通发票收件邮箱：</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 += "&nbsp;|&nbsp;<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 += "&nbsp;|&nbsp;<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>&nbsp;';
            }
            $("#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>
