<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>后台管理系统</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <link rel="shortcut icon" th:href="@{/images/logo.jpg}"/>
    <link rel="stylesheet" th:href="@{/js/layui/css/layui.css}">
    <link rel="stylesheet" th:href="@{/js/layui/css/admin.css}">
    <link rel="stylesheet" th:href="@{/js/layui/css/my.css}">
    <script type="text/javascript" th:src="@{/js/jquery-3.3.1.min.js}"></script>
    <script th:src="@{/js/layui/layui.js}" charset="utf-8"></script>
    <style>img {
        height: 25px;
    }</style>

</head>
<body>
<div class="layui-fluid">
    <div class="layui-card">

    </div>
    <div class="layui-card-body">
        <table class="layui-hide" id="tableId" lay-filter="tableId"></table>
    </div>
</div>
</div>


<script>


    var id = '[[${orderId}]]';

    var field = {};

    field.mainid = id;

    layui.use(['table', 'laydate', 'form'], function () {
            var form = layui.form, table = layui.table;


            table.render({
                elem: '#tableId'
                , url: 'findSubPageList'
                , where: field
                , method: 'post'
                ,contentType: "application/json" // 内容编码， json格式
                , height: 500
                , toolbar: '#toolbarUtil' //开启头部工具栏，并为其绑定左侧模板
                , defaultToolbar: ['filter']
                , cellMinWidth: 20 //全局定义常规单元格的最小宽度，layui 2.2.1 新增
                , skin: 'line ' //表格风格 line （行边框风格）row （列边框风格）nob （无边框风格）
                , even: true    //隔行换色
                , limit: 20 //每页默认显示的数量
                , page:true
                ,request: {
                    pageName: "curpage", // 页码的参数名称，默认：page
                    limitName: "pagesize" // 每页数据量的参数名，默认：limit
                }
                ,response: {
                    statusName: "code", // 规定数据状态的字段名称，默认：code
                    statusCode: 0, // 规定成功的状态码，默认：0
                    msgName: "msg", // 规定状态信息的字段名称，默认：msg
                    countName: "count", // 规定数据总数的字段名称，默认：count
                    dataName: "data" // 规定数据列表的字段名称，默认：data
                }

                ,parseData: function(res) { // res 即为原始返回的数据
                    return {
                        "code": res.code, // 解析接口状态
                        "msg": res.desc, // 解析提示文本
                        "count": res.data.pageinfo.totalRecords, // 解析数据长度
                        "data": res.data.items // 解析数据列表
                    };
                }

                , limits: [10, 20, 50, 100]  //每页条数的选择项，默认：[10,20,30,40,50,60,70,80,90]。

                , cols: [
                    [
                        {type: 'checkbox', fixed: "left"}
                        , {field: 'sproductname',width: 100,title: '商品名称'}
                        ,{
                            title: "商品图片",
                            align: "center",
                            templet: function(d) {
                                return d.spshortpic ? '<div><img id="zi' + d.id + '" src="' + d.spshortpic +
                                    '" onmouseover="bigImg(this)" onmouseout="smallImg()" onclick="tolook(src)" style="height:20px;"></div>' :
                                    '';
                                }
                         }
                        , {field: 'ipronum', width: 100, title: '购买数量'}
                        , {field: 'dprosum', width: 100, title: '金额小计'}
                        ,{
                        title: "退款状态",
                        width: 200,
                        templet: function(d) {
                            var str = "";
                            str += '<div>';
                            var itype = "";
                            if (d.sdef1 == 1) itype = "<span class='layui-badge layui-bg-gray'>退款申请中</span>";
                            if (d.sdef1 == 2) itype = "<span class='layui-badge'>申请成功，退货中</span>"
                            if (d.sdef1 == 3) itype = "<span class='layui-badge layui-bg-gray'>申请拒绝</span>";
                            if (d.sdef1 == 4) itype = "<span class='layui-badge layui-bg-gray'>退款成功</span>";
                            // if (d.sdef1 == null) itype = "<span class='layui-badge'></span>";
                            str += ' <span>' + itype + '</span>';
                            str += '</div>';
                            return str ? str : "";
                        }
                    }



                        //, {field: '', width: 130, title: '操作', toolbar: '#table-handle', fixed: "right"}
                    ]
                ]

            });

            //头工具栏事件
            table.on('toolbar(tableId)', function (obj) {
                var checkStatus = table.checkStatus(obj.config.id);
                switch (obj.event) {
                    case 'export':
                        var href = "exportOrder?orderState=[[${orderState}]]";
                        if (field.orderId) {
                            href = href + "&orderId=" + field.orderId;
                        }
                        location.href = href;
                        break;
                    case 'del':
                        var data = checkStatus.data;
                        var id = '';
                        if (data.length > 0) {
                            for (var j = 0; j < data.length; j++) {
                                id = id + "," + data[j].orderId;
                                if (data[j].orderState == 1) {
                                    layer.msg("不能删除已支付的订单");
                                    return false;
                                } else if (data[j].orderState == 2) {
                                    layer.msg("不能删除已发货的订单");
                                    return false;
                                }
                            }
                        } else {
                            layer.msg("请至少选择一条数据!");
                            return false;
                        }
                        layer.confirm('确定彻底删除选中的数据吗?', function (index) {
                            $.ajax({
                                url: "del",
                                data: {"id": id},
                                type: "POST",
                                dataType: "json",
                                success: function (result) {
                                    if (result.code == 100) {
                                        layer.msg(result.msg, {icon: 6, time: 1000}, function () {
                                            layer.close(index);
                                            table.reload('tableId');
                                        });
                                    } else {
                                        layer.msg(result.msg, {icon: 5});
                                    }
                                }
                            });
                        });
                        break;
                    // case 'deliver':
                    //     var data = checkStatus.data;
                    //     var id = '';
                    //     if (data.length > 0) {
                    //         for (var j = 0; j < data.length; j++) {
                    //             id = id + "," + data[j].orderId;
                    //         }
                    //     } else {
                    //         layer.msg("请至少选择一条数据!");
                    //         return false;
                    //     }
                    //     layer.confirm('选中的订单确定发货吗?', function (index) {
                    //         $.ajax({
                    //             url: "deliver",
                    //             data: {"id": id},
                    //             type: "POST",
                    //             dataType: "json",
                    //             success: function (result) {
                    //                 if (result.code == 10001) {
                    //                     layer.msg(result.msg, {icon: 6, time: 1000}, function () {
                    //                         layer.close(index);
                    //                         table.reload('tableId');
                    //                     });
                    //                 } else {
                    //                     layer.msg(result.msg, {icon: 5});
                    //                 }
                    //             }
                    //         });
                    //     });
                    //     break;
                }
                ;
            });

            //监听行工具事件
            table.on('tool(tableId)', function (obj) {
                var data = obj.data;
                if (obj.event === 'deliver') {
                    var id = obj.data.id;
                    layer.confirm( '确定接受订单吗?', function (index) {

                        var param = {};
                        param.id = id;
                        param.istatus = 30;

                        $.ajax({
                            url: "updateFwStatus",
                            data: JSON.stringify(param),
                            type: "POST",
                            dataType: "json",
                            contentType: "application/json;charset=utf-8",
                            success: function (result) {
                                if (result.code == 0) {
                                    layer.msg(result.msg, {icon: 6, time: 1000}, function () {
                                        layer.close(index);
                                        table.reload('tableId');
                                    });
                                } else {
                                    layer.msg(result.msg, {icon: 5});
                                }
                            }
                        });
                    });
                } else if (obj.event === 'edit') {
                    var id = obj.data.orderId;
                    var w = ($(window).width() * 0.95);
                    var h = ($(window).height() * 0.95);
                    layer.open({
                        type: 2
                        , title: '修改订单'
                        , content: 'orderDetailEdit?orderId=' + id
                        , area: [w + 'px', h + 'px']
                        , fix: false //不固定
                        , maxmin: true
                        , shadeClose: true
                        , shade: 0.4
                        , btn: ['确认', '取消']
                        , yes: function (index, layero) {
                            var body = layer.getChildFrame('body', index); //得到iframe页面层的BODY
                            var iframeBtn = body.find('#saveBtn');//得到iframe页面层的提交按钮
                            iframeBtn.click();//模拟iframe页面层的提交按钮点击
                        }
                    });
                }else if (obj.event === 'orderDetail') {
                    var id = obj.data.orderId;
                    var w = ($(window).width() * 0.95);
                    var h = ($(window).height() * 0.95);
                    layer.open({
                        type: 2
                        , title: '订单详情'
                        , content: 'orderDetail?orderId=' + id
                        , area: [w + 'px', h + 'px']
                        , fix: false //不固定
                        , maxmin: true
                        , shadeClose: true
                        , shade: 0.4
                        , btn: ['关闭']
                        // , yes: function (index, layero) {
                        //     var body = layer.getChildFrame('body', index); //得到iframe页面层的BODY
                        //     var iframeBtn = body.find('#saveBtn');//得到iframe页面层的提交按钮
                        //     iframeBtn.click();//模拟iframe页面层的提交按钮点击
                        // }
                    });
                }
                else if (obj.event === 'del') {
                    var id = obj.data.orderId;
                    layer.confirm('确定彻底删除选中的数据吗?', function (index) {
                        $.ajax({
                            url: "del",
                            data: {"id": id},
                            type: "POST",
                            dataType: "json",
                            success: function (result) {
                                if (result.code == 100) {
                                    layer.msg(result.msg, {icon: 6, time: 1000}, function () {
                                        layer.close(index);
                                        table.reload('tableId');
                                    });
                                } else {
                                    layer.msg(result.msg, {icon: 5});
                                }
                            }
                        });
                    });
                } else if (obj.event === 'receiving') {
                    var id = obj.data.id;
                    layer.confirm( '确定完成订单吗?', function (index) {

                        var param = {};
                        param.id = id;
                        param.istatus = 90;

                        $.ajax({
                            url: "updateOkStatus",
                            data: JSON.stringify(param),
                            type: "POST",
                            dataType: "json",
                            contentType: "application/json;charset=utf-8",
                            success: function (result) {
                                if (result.code == 0) {
                                    layer.msg(result.msg, {icon: 6, time: 1000}, function () {
                                        layer.close(index);
                                        table.reload('tableId');
                                    });
                                } else {
                                    layer.msg(result.msg, {icon: 5});
                                }
                            }
                        });
                    });
                } else if (obj.event === 'lease') {
                    var id = obj.data.orderId;
                    layer.confirm(obj.data.orderDetails + '确定开始租赁?', function (index) {
                        $.ajax({
                            url: "receiving",
                            data: {"orderId": id, "orderState": 3},
                            type: "POST",
                            dataType: "json",
                            success: function (result) {
                                if (result.code == 100) {
                                    layer.msg(result.msg, {icon: 6, time: 1000}, function () {
                                        layer.close(index);
                                        table.reload('tableId');
                                    });
                                } else {
                                    layer.msg(result.msg, {icon: 5});
                                }
                            }
                        });
                    });
                } else if (obj.event === 'refund') {
                    var id = obj.data.orderId;
                    var w = ($(window).width() * 0.95);
                    var h = ($(window).height() * 0.95);
                    layer.open({
                        type: 2
                        , title: '退还押金'
                        , content: 'toRefund?orderId=' + id
                        , area: [w + 'px', h + 'px']
                        , fix: false //不固定
                        , maxmin: true
                        , shadeClose: true
                        , shade: 0.4
                        , btn: ['保存', '关闭']
                        , yes: function (index, layero) {
                            var body = layer.getChildFrame('body', index); //得到iframe页面层的BODY
                            var iframeBtn = body.find('#saveBtn');//得到iframe页面层的提交按钮
                            iframeBtn.click();//模拟iframe页面层的提交按钮点击
                        }
                    });
                }
            });
        }
    );


    function tolook(e) {
        window.open(e);
    }

    /**
     * 鼠标移入图片时, 提示弹框 (放大的图片)
     */
    function bigImg(obj){
        var imgUrl = obj.getAttribute("src");
        var imgid = obj.getAttribute("id");

        layer.tips('<img src="' + imgUrl + '"style="width:120px; height: 120rpx;">', "#" + imgid, {
            tips: [1, ''],
            tipsMore: false,
            area: ['150px', '140px'],
            time: 20000
        });
    }

    /**
     * 鼠标移出图片时, 取消弹框
     */
    function smallImg(){
        layer.closeAll("tips");
    }

</script>

</body>

</html>