<!DOCTYPE html>
<html class="x-admin-sm" xmlns:th="http://www.thymeleaf.org">

<head>
    <meta charset="UTF-8">
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
    <link rel="stylesheet" th:href="@{/css/font.css}">
    <link rel="stylesheet" th:href="@{/css/xadmin.css}">
    <script type="text/javascript" th:src="@{/js/jquery.min.js}"></script>
    <script type="text/javascript" th:src="@{/lib/layui/layui.js}" charset="utf-8"></script>
    <script type="text/javascript" th:src="@{/js/xadmin.js}"></script>
    <!-- 让IE8/9支持媒体查询，从而兼容栅格 -->
    <!--[if lt IE 9]>
    <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
    <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>
<body>
<div class="layui-fluid">
    <div class="layui-row">
        <form class="layui-form" >
            <div class="layui-form-item">
                <label for="L_name" class="layui-form-label">
                    <span class="x-red">*</span>id</label>
                <div class="layui-input-inline">
                    <input type="text" id="L_id" name="id" required="" lay-verify="forAll" autocomplete="off"
                           class="layui-input layui-disabled" th:value="${role.id}" disabled>
                </div>
            </div>
            <div class="layui-form-item">
                <label for="L_name" class="layui-form-label">
                    <span class="x-red">*</span>角色名称</label>
                <div class="layui-input-inline">
                    <input type="text" id="L_name" name="name" required="" lay-verify="forAll" autocomplete="off"
                           class="layui-input" th:value="${role.name}">
                </div>
            </div>
            <div class="layui-form-item">
                <label for="L_name" class="layui-form-label">
                    <span class="x-red">*</span>权限</label>
                <div class="layui-input-inline" id="permissionTree">
                </div>
<!--                    <input type="text" id="L_name" name="name" required="" lay-verify="forAll" autocomplete="off"-->
<!--                           class="layui-input" th:value="${permission.name}"></div>-->
            </div>
            <div class="layui-form-item">
                <label for="L_pass" class="layui-form-label"></label>
                <button class="layui-btn" lay-filter="edit" lay-submit="">修改</button>
            </div>
        </form>
    </div>
</div>
<script>
    var tree;
    layui.use(['tree', 'util'], function() {
        tree = layui.tree;
        var util = layui.util;
        tree.render({
            elem: '#permissionTree',
            data: getData(),
            id: 'treeId',
            showCheckbox: true,     //是否显示复选框
            onlyIconControl: true
        });
    });

    function getData(){
        var data = [];
        $.ajax({
            url: "role/tree",    //后台数据请求地址
            type: "post",
            data: "[[${role.id}]]",
            async:false,
            contentType: "application/json;charset=UTF-8", //定义数据格式为JSON
            success: function(result){
                data = result.data;
                console.log(data)
            }
        });
        return data;
    }


    layui.use(['form', 'layer', 'jquery'],
    function () {
        $ = layui.jquery;
        var form = layui.form,
            layer = layui.layer;

        //自定义验证规则
        form.verify({
            forAll: function (value) {
                value = value.trim();
                if(value.length < 1) {
                    return "至少输入一个字符啊"
                }
            }
        });


        //监听提交
        form.on('submit(edit)',
            function (data) {
                $.ajax({
                    url: "[[${#request.contextPath}]]" + '/role/edit',
                    data: JSON.stringify(data.field),
                    method: "post",
                    contentType: "application/json;charset=UTF-8", //定义数据格式为JSON
                    success: function (data) {
                        if (data.code == 0) {
                            // 发异步，把数据提交给php
                            // layer.alert("修改成功", {
                            //         icon: 6
                            //     },
                            //     function () {
                            //         //关闭当前frame
                            //         xadmin.close();
                            //
                            //         // 可以对父窗口进行刷新
                            //         xadmin.father_reload();
                            //     });
                            var permissions = tree.getChecked('treeId');
                            // console.log(checked)
                            // console.log(data.data);
                            var roleId = data.data;
                            $.ajax({
                                url: "[[${#request.contextPath}]]" + '/role/permission/edit',
                                data: JSON.stringify({permissions, roleId}),
                                method: "post",
                                contentType: "application/json;charset=UTF-8", //定义数据格式为JSON
                                success: function (data) {
                                    if (data.code == 0) {
                                        // 发异步，把数据提交给php
                                        layer.alert("修改成功", {
                                                icon: 6
                                            },
                                            function () {
                                                //关闭当前frame
                                                xadmin.close();

                                                // 可以对父窗口进行刷新
                                                xadmin.father_reload();
                                            });
                                    } else {
                                        layer.msg(data.data, {icon: 2, time: 1000});
                                    }
                                }
                            });
                        } else {
                            layer.msg(data.data, {icon: 2, time: 1000});
                        }
                    }
                });

                return false;
            });

    });</script>
<script>var _hmt = _hmt || [];
(function () {
    var hm = document.createElement("script");
    hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(hm, s);
})();</script>
</body>

</html>