<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
    <th:block th:include="include :: header('用户列表')" />
    <th:block th:include="include :: layout-latest-css" />
    <th:block th:include="include :: ztree-css" />
</head>
<body class="gray-bg">
<div class="ui-layout-west">
    <div class="box box-main">
        <div class="box-header">
            <div class="box-title">
                <i class="fa icon-grid"></i> 组织机构
            </div>
            <div class="box-tools pull-right">
                <button type="button" class="btn btn-box-tool" id="btnExpand" title="展开" style="display:none;"><i class="fa fa-chevron-up"></i></button>
                <button type="button" class="btn btn-box-tool" id="btnCollapse" title="折叠"><i class="fa fa-chevron-down"></i></button>
                <button type="button" class="btn btn-box-tool" id="btnRefresh" title="刷新部门"><i class="fa fa-refresh"></i></button>
            </div>
        </div>
        <div class="ui-layout-content">
            <div id="tree" class="ztree"></div>
        </div>
    </div>
</div>

<div class="ui-layout-center">
    <div class="container-div">
        <div class="row">
            <div class="col-sm-12 search-collapse">
                <form id="formId">
                    <div class="select-list">
                        <ul>
                            <input type="hidden" id="deptId" name="deptId">
                            <input type="hidden" id="parentId" name="parentId">
                            <input type="hidden" id="shareType" name="shareType" th:value="${shareType}">
                            <li>
                                <label>接口名称：</label>
                                <input type="text" name="interfaceName"/>
                            </li>
                            <li>
                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
                                        class="fa fa-search"></i>&nbsp;搜索</a>
                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
                                        class="fa fa-refresh"></i>&nbsp;重置</a>
                            </li>
                        </ul>
                    </div>
                </form>
            </div>

            <div class="btn-group-sm" id="toolbar" role="group"></div>
            <div class="col-sm-12 select-table table-striped">
                <table id="bootstrap-table"></table>
            </div>
        </div>
    </div>
</div>

<th:block th:include="include :: footer" />
<th:block th:include="include :: layout-latest-js" />
<th:block th:include="include :: ztree-js" />
<script th:inline="javascript">
    let prefix = ctx + "system/interfaceinfo";
    let log_prefix = ctx + "system/log";
    let platform_interfacetype_datas = [[${@dict.getType('platform_interfacetype')}]];
    let shareType_datas = [[${@dict.getType('share_type')}]];
    let shareType = [[${shareType}]];

    $(function() {
        let panehHidden = false;
        if ($(this).width() < 769) {
            panehHidden = true;
        }
        $('body').layout({ initClosed: panehHidden, west__size: 185 });
        queryLogList();
        queryDeptTree();
    });

    function queryLogList() {
        let options = {
            url: prefix + "/interfaceLogList",
            exportUrl: prefix + "/export",
            modalName: "接口调用",
            columns: [{
                checkbox: true
            },
                {
                    field: 'id',
                    title: '主键ID',
                    visible: false
                },
                {
                    field: 'interfaceName',
                    title: '接口名称',
                    visible: true
                },
                {
                    field: 'shareType',
                    title: '接口类型',
                    formatter: function (value, item, index) {
                        return $.table.selectDictLabel(shareType_datas, item.shareType);
                    }
                },
                {
                    field: 'deptId',
                    title: '所属部门ID',
                    visible: false
                },
                {
                    field: 'deptName',
                    title: '所属部门'
                },
                {
                    field: 'count',
                    title: '调用总数',
                    sortable: true,
                    formatter: function(value, item, index) {
                        return '<span class="label label-success">'+value+'</span>';
                    }
                },
                {
                    field: 'callsuccnum',
                    title: '调用成功数',
                    formatter: function(value, item, index) {
                        return '<span class="label label-primary">'+value+'</span>';
                    }
                },
                {
                    field: 'callfailnum',
                    title: '调用失败数',
                    formatter: function(value, item, index) {
                        return '<span class="label label-danger">'+value+'</span>';
                    }
                },
                {
                    field: 'logCount',
                    title: '调用日志数',
                    formatter: function(value, item, index) {
                        return '<span class="label label-warning">'+value+'</span>';
                    }
                },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function(value, row, index) {
                        var actions = [];
                        actions.push('<a class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="getLogList(\'' + row.id + '\')"><i class="fa fa-search"></i>查看日志</a> ');
                        return actions.join('');
                    }
                }
            ]
        };
        $.table.init(options);
    }

    function getLogList(id){
        let title = "接口日志列表";
        let url = log_prefix + "/logList/"+id+"/"+shareType;
        $.modal.openTab(title, url);
    }

    function queryDeptTree()
    {
        var url = ctx + "system/dept/treeData";
        var options = {
            url: url,
            expandLevel: 2,
            onClick : zOnClick
        };
        $.tree.init(options);

        function zOnClick(event, treeId, treeNode) {
            $("#deptId").val(treeNode.id);
            $("#parentId").val(treeNode.pId);
            $.table.search();
        }
    }

    $('#btnExpand').click(function() {
        $._tree.expandAll(true);
        $(this).hide();
        $('#btnCollapse').show();
    });

    $('#btnCollapse').click(function() {
        $._tree.expandAll(false);
        $(this).hide();
        $('#btnExpand').show();
    });

    $('#btnRefresh').click(function() {
        queryDeptTree();
    });

    //表格超出宽度鼠标悬停显示td内容
    function paramsMatter(value,row,index) {
        let span=document.createElement("span");
        span.setAttribute("title",value);
        span.innerHTML = value;
        return span.outerHTML;
    }
    //td宽度以及内容超过宽度隐藏
    function formatTableUnit(value, row, index) {
        return {
            css: {
                "white-space": "nowrap",
                "text-overflow": "ellipsis",
                "overflow": "hidden",
                "max-width":"150px"
            }
        }
    }

</script>
</body>
</html>
