<link rel="stylesheet" href="<?php echo base_url(); ?>public/css/vendor/bootstrap/bootstrap-table.css">
<link rel="stylesheet" href="<?php echo base_url(); ?>public/css/vendor/bootstrap/table-fix-column.css">

<script src="<?php echo base_url(); ?>public/js/vendor/bootstrap/src/bootstrap-table.js"></script>
<script src="<?php echo base_url(); ?>public/js/vendor/bootstrap/src/table-fix-column.js"></script>
<script src="<?php echo base_url(); ?>static/common/js/reward_func.js?v=<?php echo time(); ?>"></script>

<style type="text/css">
    table {
        table-layout: fixed !important;
    }

    th {
        background: rgb(146, 208, 80);
    }

    td, th {
        max-width: 400px;
        word-wrap: break-word;
    }

    .table-hover > tbody > tr:hover {
        background-color: #c8bd6d;
    }

    input {
        width: 60px;
    }

    #roleTable tr:nth-child(5n) {
        background: rgb(198, 239, 206);
    }

    /**隔五行*/

    .fixed-table-toolbar {
        display: none;
    }

    .fileinput-button {
        position: relative;
        top: -5px;
    }

    .fileinput-button input {
        position: absolute;
        right: 0px;
        top: 0px;
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
    }
</style>
<div class="content_wrapper">
    <div id="msg-tip"></div>
    <div class="container-fluid ">
        <div class="row hide">
            <div class="col-sm-12">
                <aside>
                    <section>
                        <div class="container-fluid">
                            <div class="row">
                                <div class="col-sm-12">
                                    <!--                                    <form class="form-inline" role="form" method="POST" action="#config/role">-->
                                    <!---->
                                    <!--                                        <button type="submit" class="btn btn-primary">查询</button>-->
                                    <!--                                    </form>-->
                                </div>
                            </div>
                        </div>
                    </section>
                </aside>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-12">
                <aside>
                    <header><i class="fa fa-fw fa-file"></i>关卡配置修改</header>
                    <section>
                        <div class="container-fluid">
                            <button type="button" style="margin-bottom: 10px;width: 80px;" class="btn btn-danger" id="commitBtn">提交</button>
                            <span id="filespan" class="btn btn-success fileinput-button">
                                <span>导入</span>
                                <input type="file" id="upfile">
                            </span>
                            <input type="button" style="display: none;margin-bottom: 10px;width: 80px;" class="btn btn-success" value="上传" id="btn"/>
                            <a type="button" href="/Export/level" style="margin-bottom: 10px;width: 80px;" class="btn btn-success">导出</a>
                            <span style="display: block;font-size: 0.1em;color: darkgray;">导入新关卡之前先导入建造价格，否则新关卡不生效</span>

                            <div class="table-responsive">
                                <table id="roleTable" class="table table-bordered table-hover"
                                       data-height="500">
                                    <thead>
                                    <tr>
                                        <?php if (!empty($title)) {
                                            foreach ($title as $val) { ?>
                                                <?php if ($val == '奖励') {
                                                    echo '<th width="300">' . $val . '</th>';
                                                } else {
                                                    echo '<th width="100">' . $val . '</th>';
                                                } ?>
                                            <?php }

                                        } ?>
                                    </tr>
                                    </thead>
                                    <tbody>
                                    <?php
                                    if (is_array($list) && !empty($list)) {
                                        foreach ($list as $key => $vl) { ?>
                                            <tr>
                                                <td><?php echo $vl['levelId']; ?></td>

                                                <?php foreach ($langs as $lang => $text){?>
                                                    <td class="editable"><?php echo $vl[$lang] ?? ''; ?></td>
                                                <?php }?>

                                                <td  class="editable"><?php echo $vl['pictureId']; ?></td>
                                                <td class="propsRewardsTag" data-value='<?php echo $vl['reward']; ?>'></td>
                                                <td>
                                                    <button type="button"
                                                            class="btn btn-outline btn-success"
                                                            onclick="propsJs.initEdit(this, 'propsRewardsTag')">
                                                        奖励配置
                                                    </button>
                                                </td>
                                                <!--   <td>
                                                            <button type="button" class="btn btn-primary" onclick="ImgUpload(<?php /*echo $vl['levelId']; */ ?>)"><i
                                                                        class="fa fa-plus-square"></i>上传岛屿
                                                            </button>
                                                        </td>-->
                                                <!--                                                        <td><button type="button"  class="btn btn-danger delete-row" ><i class="fa fa-minus-square"></i>删除</button></td>-->
                                            </tr>
                                        <?php }
                                    } else { ?>
                                        <tr>
                                            <td colspan="14">暂无数据</td>
                                        </tr>
                                    <?php } ?>
                                    </tbody>
                                </table>
                            </div>
                            <!--                                    <button type="button"  class="btn btn-primary"  id="addBtn"><i class="fa fa-plus-square"></i>添加</button>-->

                            <nav>
                                <ul class="pagination">
                                    <li class="disabled"><a href="#">共<span class="pagetotal"><?php echo $total; ?></span>条</a></li>
                                    <?php echo $pageurl; ?>
                                </ul>
                            </nav>
                        </div>
                    </section>
                </aside>
            </div>
        </div>
    </div>
</div>

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog" style="top: 20%;width: 30%;">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title" id="myModalLabel">上传岛屿</h4>
            </div>
            <div class="modal-body" id="uploadImg" style="text-align: center;">
                <img src="<?php echo '/images/default_img.png'; ?>" id="preview" class="upimg default-img" style="width: 55%;"/>
                <input type="file" name="imgfile" id="imgfile" class="imgfile hide"/>
                <span class="lang-name"></span>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                <button type="button" class="btn btn-primary" id="submit">提交</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal -->
</div>


<script src="<?php echo base_url(); ?>public/js/common.js"></script>
<script>
    var prizeNode;//奖品节点
    var obj;
    var levelId = 0;
    propsJs.initTag('propsRewardsTag')

    function ImgUpload(id) {
        if (levelId != id) {
            document.getElementById('preview').setAttribute('src', '/images/default_img.png');
            levelId = id;
            $("#imgfile").val("");
        }
        $('#myModal').modal('show');
    }

    $('#uploadImg').on('click', '.upimg', function () {
        obj = $(this);
        obj.siblings(".imgfile").click();
    });

    //预览图片
    $('#uploadImg').on('change', '.imgfile', function () {
        const file = document.getElementById('imgfile');
        const fileObj = file.files[0];
        const windowURL = window.URL || window.webkitURL;
        const img = document.getElementById('preview');
        if (file && fileObj) {
            const dataURl = windowURL.createObjectURL(fileObj);
            img.setAttribute('src', dataURl);
        }
    });

    $("#submit").click(function () {
        var formData = new FormData();
        var file = document.getElementById("imgfile").files[0];
        if (file == "" || file == undefined) {
            $('#myModal').modal('hide');
            msgTip = $('#msg-tip');
            msgTip.messager().warn('请选择图片');
            return false;
        }
        formData.append("file", file);
        formData.append("levelId", levelId);
        $.ajax({
            type: "POST",
            url: "Upload/landUpload",
            data: formData,
            async: true,
            processData: false, //
            contentType: false, //
            success: function (data) {
                data = JSON.parse(data);
                if (data.ret == 0) {
                    $('#myModal').modal('hide');
                    msgTip = $('#msg-tip');
                    msgTip.messager().success('上传成功');
                    setTimeout(function () {
                        window.location.reload();
                    }, 2000)
                } else {
                    msgTip = $('#msg-tip');
                    msgTip.messager().warn('上传失败');
                }
            }
        });
    });

</script>


<script>

    $("#btn").click(function () {
        var formData = new FormData();
        formData.append("file", document.getElementById("upfile").files[0]);
        $.ajax({
            type: "POST", // 数据提交类型
            url: "Import/level", // 发送地址
            data: formData, //发送数据
            async: true, // 是否异步
            processData: false, //processData 默认为false，当设置为true的时候,jquery ajax 提交的时候不会序列化 data，而是直接使用data
            contentType: false, //
            success: function (data) { // 成功回调
                data = JSON.parse(data);
                if (data.ret == 0) {
                    window.location.reload();
                } else {
                    msgTip = $('#msg-tip');
                    msgTip.messager().warn('上传失败! ' + data.msg);
                }
            }
        });
    });

    $("#filespan").on("change", "input[type='file']", function () {
        var filePath = $(this).val();
        //如果仅上传图片 if(filePath.indexOf("jpg") != -1 || filePath.indexOf("png") != -1) {
        if (filePath) {
            $('#filespan').hide();
            $('#btn').show();
        } else {
            return false
        }
    });

    $('#roleTable').on('dblclick', 'td', function () {
        var _this = $(this),//保存td
            tdText = _this.text();
        const cellIndex = _this[0].cellIndex;
        if (!_this.hasClass('editable')) {
            return false;
        }
        //点击操作列不可编辑
        if (!_this.is('.input')) {
            _this.addClass('input').html('<input type="text" value="' + tdText + '" />').find('input').focus().blur(function () {
                var _input = $(this); //保存input对象
                var thisvalue = $(this).val();
                _input.parent().removeClass('input').html(thisvalue || '');
                if ($('#commitBtn').prop('disabled')) {
                    $('#commitBtn').attr('disabled', false);
                }
            });
        }

    });


    $('#roleTable').on('blur', '.add-row', function () {
        var _that = $(this);
        var thisval = _that.find('input').val();
        console.log(thisval);
        _that.removeClass('input').html(thisval || 0);
    });


    //提交表格数据
    $('#commitBtn').click(function () {
        var tableContent = $('#roleTable').html(),
            msgTip = $('#msg-tip');
        //如果还有添加未编辑的，则不能提交
        if ($('#roleTable td').hasClass('input')) {
            msgTip.messager().warn('列表中还有未编辑的');
            return;
        }
        let columnMapping = '<?=json_encode($tableColumnMapping)?>'
        if(typeof  columnMapping == 'string')columnMapping = JSON.parse(columnMapping)
        var tr = $('#roleTable tr');
        var arr = [];
        for (var i = 1; i < tr.length; i++) {
            var tempData = {};
            var arrayTemp = {};
            td = $(tr[i]).find('td');
            for (var j = 0; j < td.length; j++) {
                if(!columnMapping[j])continue;
                switch (columnMapping[j]){
                    case 'levelId':
                            tempData['levelId'] = $(td[j]).html();
                            break;
                    case 'reward':
                        arrayTemp[columnMapping[j]] = JSON.stringify($(td[j]).data('value'));
                            break;
                    default:
                        arrayTemp[columnMapping[j]] = $(td[j]).html();
                        break;
                }
            }
            tempData['data'] = arrayTemp;
            arr.push(tempData)
        }
        $.ajaxSetup({
            async: true
        });


        $.ajax({
            type: 'POST',
            dataType: 'json',
            data: {
                data: JSON.stringify(arr)
            },
            url: 'config/actionLevelConfig',
            success: function (data) {
                if (data.ret == 0) {
                    window.location.reload()
                } else {
                    msgTip.messager().error(data.msg);
                }
            }
        });
    });


</script>

