<!DOCTYPE html>
<!--[if IE 8]>
<html lang="en" class="ie8 no-js"> <![endif]-->
<!--[if IE 9]>
<html lang="en" class="ie9 no-js"> <![endif]-->
<!--[if !IE]><!-->
<html>
<!--<![endif]-->
<!-- BEGIN HEAD -->
<head>
    <base href="#springUrl('/assets/adminlte/')"/>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>工作台</title>
    <!-- Tell the browser to be responsive to screen width -->
    <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
    <!-- Bootstrap 3.3.5 -->
    <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    <!-- Font Awesome -->
    <link rel="stylesheet" href="plugins/font-awesome/css/font-awesome.min.css">
    <!-- Ionicons -->
    <link rel="stylesheet" href="plugins/ionicons/css/ionicons.min.css">

    <!-- DataTables -->
    <link rel="stylesheet" href="plugins/datatables/dataTables.bootstrap.css">

    <!-- Theme style -->
    <link rel="stylesheet" href="dist/css/AdminLTE.min.css">
    <!-- AdminLTE Skins. Choose a skin from the css/skins
         folder instead of downloading all of them to reduce the load. -->
    <link rel="stylesheet" href="dist/css/skins/_all-skins.min.css">
    <!-- iCheck -->
    <link rel="stylesheet" href="plugins/iCheck/flat/blue.css">
    <!-- Morris chart -->
    <link rel="stylesheet" href="plugins/morris/morris.css">
    <!-- jvectormap -->
    <link rel="stylesheet" href="plugins/jvectormap/jquery-jvectormap-1.2.2.css">
    <!-- Date Picker -->
    <link rel="stylesheet" href="plugins/datepicker/datepicker3.css">
    <!-- Daterange picker -->
    <link rel="stylesheet" href="plugins/daterangepicker/daterangepicker-bs3.css">
    <link rel="stylesheet"
          href="plugins\bootstrap-fileinput\fileinput.min.css">
    <!-- bootstrap wysihtml5 - text editor -->
    <link rel="stylesheet" href="plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css">

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>
<body class="hold-transition skin-blue sidebar-mini">


<div class="wrapper">
    <div class="content-wrapper" style="margin-left:0;">

        <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <h4 class="modal-title" id="exampleModalLabel" style="font-weight: 700;">订单关闭原由</h4>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body">
                        <form>
                            <div class="form-group">
                                <label for="message-text" class="col-form-label">请输入关闭原由:</label>
                                <textarea class="form-control" rows="3" id="js-textarea"></textarea>
                                <input type="hidden" id="orderId">
                            </div>
                        </form>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
                        <button type="button" class="btn btn-primary" onclick="review()">提交</button>
                    </div>
                </div>
            </div>
        </div>

        <div id="importExcelDiv"></div>

        <section class="content-header">
            <h1>
                需求清单管理
                <small>需求清单管理</small>
            </h1>
            <ol class="breadcrumb">
                <li><a><i class="fa fa-dashboard"></i>首页</a></li>
                <li><a class="active">需求清单管理列表</a></li>
            </ol>
        </section>


        <!-- Main content -->
        <section class="content">
            <div class="row">
                <div class="col-xs-12">
                    <div class="box">
                        <div class="box-header">
                            <form id="seachTableForm" action="#springUrl('/a/order/list')" method="get">
                                <div class="col-xs-2">
                                    <input type="text" class="form-control"
                                           name="number" value="" placeholder="订单编号">
                                </div>
                                <div class="col-xs-2">
                                    <input type="text" class="form-control"
                                           name="consultCode" placeholder="咨询单编码">
                                </div>
                                <div class="col-xs-2">
                                    <input type="text" class="form-control"
                                           name="productNameTmp" placeholder="产品名称">
                                </div>
                                <div class="col-xs-2">
                                    <input type="text" class="form-control"
                                           name="courierNumber" placeholder="顺丰运单号">
                                </div>
                                <div class="col-xs-2">
                                    <input type="text" class="form-control"
                                           name="startOrderAmount" placeholder="订单金额开始区间">
                                </div>
                                <div class="col-xs-2">
                                    <input type="text" class="form-control"
                                           name="endOrderAmount" placeholder="订单金额结束区间">
                                </div>
                                <div class="col-xs-2">
                                    <input type="text" class="form-control"
                                           name="startPayAmount" placeholder="付款金额开始区间">
                                </div>
                                <div class="col-xs-2">
                                    <input type="text" class="form-control"
                                           name="endPayAmount" placeholder="付款金额结束区间">
                                </div>
                                <div class="col-xs-2">
                                    <select  id="status" name="status" class="form-control required">
                                        <option 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>

                                <div class="col-xs-2">
                                    <select  id="isBill" name="isBill" class="form-control required">
                                        <option value="">请选择是否开票</option>
                                        <option value="0">是</option>
                                        <option value="1">否</option>
                                    </select>
                                </div>

                                <div class="col-xs-2">
                                    <div class="input-group date">
                                        <div class="input-group-addon">
                                            <i class="fa fa-calendar"></i>
                                        </div>
                                        <input type="text" class="form-control pull-right datepicker"
                                               name="orderStartTime" placeholder="订单开始时间"
                                               readonly="readonly">
                                    </div>
                                </div>

                                <div class="col-xs-2">
                                    <div class="input-group date">
                                        <div class="input-group-addon">
                                            <i class="fa fa-calendar"></i>
                                        </div>
                                        <input type="text"
                                               class="form-control pull-right  datepicker"
                                               name="orderEndTime" placeholder="订单结束时间"
                                               readonly="readonly">
                                    </div>
                                </div>

                                <button type="button" class="search btn btn-primary">搜索</button>
                                <button type="button" class="btn btn-info" onclick="clearSearch()">重置</button>
                                #if($shiro.hasPermission("qy:order:edit"))
                                <!--                                    <a href="#springUrl('/a/order/form')" class="btn btn-primary">新增</a>-->
                                <a href="#springUrl('/a/order/exportExcel')" class="btn btn-primary">导出</a>
                                #end
                                <!--                                        <a onclick="importExcel();" class="btn btn-primary">导入</a>-->


                            </form>
                        </div><!-- /.box-header -->
                        <div class="box-body">
                            <table id="table" class="table table-bordered table-striped">
                                <thead>
                                <tr>
                                    <td hidden="true">Id</td>
                                    <th>订单编码</th>
                                    <th>咨询单编码</th>
                                    <th>产品名称</th>
                                    <th>订单金额</th>
                                    <th>付款金额</th>
                                    <th>昵称</th>
                                    <th>openid</th>
                                    <th>顺丰运单号</th>
                                    <th>订单状态</th>
                                    <th>支付交易号</th>
                                    <th>是否开票</th>
                                    <th>创建时间</th>
                                    <th>操作</th>
                                </tr>
                                </thead>
                                <tbody id="tablebody">
                                </tbody>

                            </table>
                        </div><!-- /.box-body -->
                    </div><!-- /.box -->
                </div><!-- /.col -->
            </div><!-- /.row -->
        </section><!-- /.content -->
    </div><!-- /.content-wrapper -->


    <!-- Add the sidebar's background. This div must be placed
         immediately after the control sidebar -->
    <div class="control-sidebar-bg"></div>
</div><!-- ./wrapper -->
<!-- jQuery 2.1.4 -->
<script src="plugins/jQuery/jQuery-2.1.4.min.js"></script>
<!-- Bootstrap 3.3.5 -->
<script src="bootstrap/js/bootstrap.min.js"></script>
<!-- DataTables -->
<script src="plugins/datatables/jquery.dataTables.min.js"></script>
<script src="plugins/datatables/extensions/i18n/lanauage_ch.js"></script>
<script src="plugins/datatables/dataTables.bootstrap.min.js"></script>
<!-- SlimScroll -->
<script src="plugins/slimScroll/jquery.slimscroll.min.js"></script>
<script src="plugins/datepicker/bootstrap-datepicker.js"></script>
<script src="plugins/datepicker/locales/bootstrap-datepicker.zh-CN.js"></script>
<!-- FastClick -->
<script src="plugins/fastclick/fastclick.min.js"></script>
<!--fileinput js-->
<script src="plugins\bootstrap-fileinput\fileinput.js"></script>
<script src="plugins/bootstrap-fileinput/zh.js"></script>
<script src="plugins/bootstrap-fileinput/zh2.js"></script>
<!-- AdminLTE App -->
<script src="dist/js/app.min.js"></script>
<script type="text/javascript"
        src="plugins/jquery-validation/js/jquery.validate.min.js"></script>
<!-- AdminLTE for demo purposes -->
<script src="common/js/cfapp.js"></script>
<script>
    var csrf = '${_csrf.token}';
    var csrf_header = '${_csrf.headerName}';

    //咨询单列表通过订单编码跳转单条订单信息
    var orderCode = `${orderCode}`;
    if (orderCode != null && orderCode != '' && orderCode != "undefined") {
        $('input[name="number"]').val(`${orderCode}`);
    }

    function formatDates(now) {
        var now = new Date(now);
        var year = now.getFullYear();
        var month = now.getMonth() + 1;
        var date = now.getDate();
        var hour = now.getHours();
        var minute = now.getMinutes();
        var second = now.getSeconds();
        return year + "-" + (month <= 9 ? "0" + month : month) + "-" + (date <= 9 ? "0" + date : date) + "   " + (hour <= 9 ? "0" + hour : hour) + ":"
            + (minute <= 9 ? "0" + minute : minute) + ":" + (second <= 9 ? "0" + second : second);
    }

    function seachTable() {
        var sSource = "#springUrl('/a/order/listData')";
        var aoData = {
            iDisplayStart: 1,
            iDosplayLength: 10
        };

        var retrieveData = function (sSource, aoData, fnCallback) {
            $("#seachTableForm input,select").each(function () {
                var params = {
                    name: $(this).attr("name"),
                    value: $(this).val()
                };
                aoData.push(params);
            });

            $.ajax({
                "type": "GET",
                "url": sSource,
                "dataType": "json",
                "data": aoData, //以json格式传递
                "success": fnCallback
            });
        };

        $('#table').DataTable({
            "lengthChange": false,
            "searching": false,
            "ordering": false,
            "bFiltered": false,
            "bStateSave": true, // save datatable state(pagination, sort, etc) in cookie.
            "bProcessing": true,
            "bServerSide": true,
            "sAjaxSource": sSource,
            "fnServerData": retrieveData,
            "pagingType": "full_numbers",
            "aoColumns": [
                {
                    "mData": "id"
                },
                {
                    "mData": "number"
                },
                {
                    "mData": "consultCode"
                },
                {
                    "mData": "productName"
                },
                {
                    "mData": "orderAmount"
                }
                ,
                {
                    "mData": "totalAmount"
                }
                ,
                {
                    "mData": "nickName"
                }
                ,
                {
                    "mData": "openid"
                }
                ,
                {
                    "mData": "courierNumber"
                }
                ,
                {
                    "mData": "status"
                }
                ,
                {
                    "mData": "tradeNo"
                }

                ,
                {
                    "mData": "confirm"
                }
                ,
                {
                    "mData": "createTime"
                }
                ,
                {
                    "mData": "id"
                }

            ],
            "aoColumnDefs": [
                { // set default column settings
                    'visible': false,
                    'targets': [0]
                },
                {
                    "aTargets": [1],
                    "mData": "number",
                    "mRender": function (a, b, c, d) {
                        return a;
                    }
                },
                {
                    "aTargets": [2],
                    "mData": "consultCode",
                    "mRender": function (a, b, c, d) {
                        return a;
                    }
                },

                {
                    "aTargets": [3],
                    "mData": "productName",
                    "mRender": function (a, b, c, d) {
                        return a;
                    }
                }
                ,
                {
                    "aTargets": [4],
                    "mData": "orderAmount",
                    "mRender": function (a, b, c, d) {
                        return a;
                    }
                }
                ,
                {
                    "aTargets": [5],
                    "mData": "totalAmount",
                    "mRender": function (a, b, c, d) {
                        return a;
                    }
                }
                ,
                {
                    "aTargets": [6],
                    "mData": "nickName",
                    "mRender": function (a, b, c, d) {
                        if (a) {
                            return a.slice(0, 1) + '*' + a.slice(2, 3);
                        } else {
                            return null;
                        }
                    }
                }
                ,
                {
                    "aTargets": [7],
                    "mData": "openid",
                    "mRender": function (a, b, c, d) {
                        return a;
                    }
                }
                ,
                {
                    "aTargets": [8],
                    "mData": "courierNumber",
                    "mRender": function (a, b, c, d) {
                        return a;
                    }
                }
                ,
                {
                    "aTargets": [9],
                    "mData": "status",
                    "mRender": function (a, b, c, d) {
                        if (a == '0') {
                            return "待确认";
                        } else if (a == '1') {
                            return "待付款";
                        } else if (a == '2') {
                            return "待发货";
                        } else if (a == '3') {
                            return "待收货";
                        } else if (a == '4') {
                            return "已完成";
                        } else if (a == '5') {
                            return "已取消";
                        }
                    }
                },
                {
                    "aTargets": [10],
                    "mData": "tradeNo",
                    "mRender": function (a, b, c, d) {
                        return a;
                    }
                }
                ,
                {
                    "aTargets": [11],
                    "mData": "confirm",
                    "mRender": function (a, b, c, d) {
                        return a == null  ? '否':'是';
                    }
                }
                ,
                {
                    "aTargets": [12],
                    "mData": "createTime",
                    "mRender": function (a, b, c, d) {
                        return formatDates(a);
                    }
                }
                ,
                {
                    "aTargets": [13],
                    "mData": "id",
                    "mRender": function (a, b, c, d) {
                        var html = '#if($shiro.hasPermission("qy:order:edit"))';
                        html += '<div class="btn-group">\n' +
                            '<button type="button" class="btn btn-success btn-flat">操作</button>\n' +
                            '<button type="button" class="btn btn-success btn-flat dropdown-toggle" data-toggle="dropdown">\n' +
                            '  <span class="caret"></span>\n' +
                            '  <span class="sr-only">Toggle Dropdown</span>\n' +
                            '</button>\n' +
                            '<ul class="dropdown-menu" role="menu" style="min-width: 100px;">\n';
                        html += '<li><a href="#springUrl("/a/order/findorderDetail?id=' + a + '&isDetail=y")">查看清单明细</a></li>';
                        if (c.status != '3' && c.status != '4' && c.status != '5') {
                            html += '<li><a href="#springUrl("/a/order/form?id=' + a + '")">添加商品</a></li>';
                        }
                        if (c.status == '1') {
                            html += '<li><a onclick="updateStatusSuccess(' + a + ')">订单付款</a></li>';
                        }
                        if (c.status != '4' && c.status != '5') {
                            html += '<li><a onclick="showModal(' + a + ')">订单关闭</a></li>';
                        }
                        if (c.status == '2') {//待发货才可以出库操作
                            html  += '<li><a href="#springUrl("/a/order/sendOut?id=' + a + '")">订单出库</a></li>';
                        }
                        html += '</ul>';
                        html += '#end';
                        return html;
                    }
                }

            ]
        });
    }

    jQuery(document).ready(function () {
        seachTable();
        $('.datepicker').datepicker({
            show: true,
            format: 'yyyy-mm-dd',
            autoclose: true,
            language: 'zh-CN',
            todayBtn: 'linked',
            clearBtn: 'linked'

        });
        $('.search').click(function () {
            $("#table").dataTable().fnClearTable();
        });
    });

    Cfapp.init();

    function showModal(id) {
        $("#orderId").val(id);
        $('#exampleModal').modal('show');
    }

    function updateStatusSuccess(id) {
        Cfapp.confirm({
            message: "是否确认付款",
            btntext: "确定",
            btncanceltext: "取消",
            success: function () {
                updateStatu(id, 3, null);//付款待发货
            },
            cancel: function () {
                location.href = "#springUrl('/a/order/list')";
            }
        });
    }

    function review() {
        var reason = $("#js-textarea").val();
        var id = $("#orderId").val();
        if (!reason || reason == null) {
            Cfapp.alert({
                message: "请输入关闭原由!",
                btntext: "确定",
                success: function () {}
            });
            return;
        }
        updateStatu(id, 5, reason);
    }

    function updateStatu(id, status, reason) {
        var url = "#springUrl('/a/order/updateStatus')"
        $.ajax({
            url: url,
            type: "GET",
            data: {id: id,
                orderCancel: reason,
                   status: status},
            success: function (rsp) {
                if (status == '5') {
                    $('#exampleModal').modal('hide');
                }
                if (rsp.errorNo == "0") {
                    Cfapp.alert({
                        message: "操作成功",
                        btntext: "确定",
                        success: function () {
                            location.href = "#springUrl('/a/order/list')";
                        }
                    });
                } else {
                    Cfapp.alert({
                        message: "操作失败",
                        btntext: "确定",
                        success: function () {
                            location.href = "#springUrl('/a/order/list')";
                        }
                    });
                }
            }

        });
    }

    function removeData(data) {
        Cfapp.confirm({
            message: "确定要删除吗",
            btnoktext: "确定",
            btncanceltext: "取消",
            success: function () {
                $.ajax({
                    type: "POST",
                    url: "#springUrl('/a/order/delete')",
                    data: {_csrf: csrf, _csrf_header: csrf_header, id: data},
                    dataType: "json",
                    success: function (data) {
                        if (data.errorNo == 0) {
                            Cfapp.alert({
                                message: "删除成功",
                                btntext: "确定",
                                success: function () {
                                    location.href = "#springUrl('/a/order/list')";
                                }
                            });
                        }
                    },
                    error: function () {
                    }
                })
            },
            cancel: function () {
                $(".modal-backdrop").fadeOut();
            }
        });
    }



    function importExcel() {
        var templateExcelUrl = "#springUrl('/a/order/templateExcel')";
        var importExcelUrl = "#springUrl('/a/order/importExcel')";
        Cfapp.importExcel({
            title: '订单管理导入',
            importurl: importExcelUrl,
            templateurl: templateExcelUrl,
            cancel: function () {

            },
            success: function () {

            }
        });
    }

    function clearSearch() {
        $("#seachTableForm input,select").each(function () {
            $(this).val('');
        });
        $("#table").dataTable().fnClearTable();
    }
</script>

</body>
</html>
