<!DOCTYPE html>
<html>
<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/bootstrap-fileinput.css">
    <link rel="stylesheet"
          href="plugins/bootstrap-fileinput/fileinput.min.css">
    <!-- ztree css -->
    <link rel="stylesheet"
          href="plugins/ztree/css/metroStyle/metroStyle.css" type="text/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 id="importExcelDiv"></div>
        <section class="content-header">
            <h1>
                组织管理
                <small>组织信息</small>
            </h1>
        </section>


        <!-- Main content -->
        <section class="content">
            <div class="row">
                <div class="col-xs-3">
                    <div class="box box-primary">
                        <ul id="orgTree" class="ztree"></ul>
                    </div>
                </div>
                <div class="col-xs-9">
                    <div class="row">
                        <div class="col-xs-12">
                            <form id="seachTableForm" method="get" action="#springUrl('/a/orgunit/exportExcel')">
                                <div class="box box-primary">
                                    <div class="box-header with-border">
                                        <h3 class="box-title">查询窗口</h3>
                                        <div class="box-tools pull-right">
                                            <button class="search btn btn-primary" type="button">
                                                搜索
                                            </button>
                                            <button type="submit" class="btn btn-primary">导出</button>
                                            <button type="button" class="btn btn-box-tool" data-widget="collapse"><i
                                                    class="fa fa-minus"></i>
                                            </button>
                                        </div>
                                    </div>

                                    <div class="box-body">
                                        <div class="form-group col-md-4">
                                            <label class="control-label">组织编码</label>
                                            <input type="text" class="form-control required"
                                                   name="number" placeholder="组织编码">
                                        </div>
                                        <div class="form-group col-md-4">
                                            <label class="control-label">组织名称</label>
                                            <input type="text" class="form-control required"
                                                   name="orgName" placeholder="组织名称">
                                        </div>
                                        <div class="" style="display: none">
                                            <input type="text" class="form-control required"
                                                   name="id" id="orgid" placeholder="组织Id">
                                        </div>
                                    </div>
                                </div>
                            </form>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-xs-12">
                            <div class="box box-primary">
                                <div class="box-header with-border">
                                    <h3 class="box-title"></h3>
                                    <div class="box-tools pull-right">

                                        #if($shiro.hasPermission("sys:orgunit:edit"))
                                        <a href="#springUrl('/a/orgunit/form')" class="btn btn-primary">新增</a>
                                        <a onclick="importExcel();" class="btn btn-primary">导入</a>
                                        #end

                                    </div>
                                </div><!-- /.box-header -->


                                <div class="box-body">
                                    <table id="example2" class="table table-bordered table-striped">
                                        <thead>
                                        <tr>
                                            <td hidden="true">Id</td>
                                            <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>
                </div><!-- /.row -->
            </div>
        </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>
<script src="plugins/input-mask/jquery.inputmask.js"></script>
<script src="plugins/input-mask/jquery.inputmask.date.extensions.js"></script>
<script src="plugins/input-mask/jquery.inputmask.extensions.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>
<!-- ztree -->
<script src="plugins/ztree/js/jquery.ztree.all.min.js"
        type="text/javascript"></script>
<!-- fileinput -->
<script src="plugins/bootstrap-fileinput/bootstrap-fileinput.js"></script>
<script src="plugins/bootstrap-fileinput/fileinput.min.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>
    var csrfheader = {name:'_csrf_header',value:'${_csrf.headerName}'};
    var csrftoken  = {name:'_csrf',value:'${_csrf.token}'};
</script>
<script src="common/js/cfapp.js"></script>
<script src="dist/js/demo.js"></script>
<script>

    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 + "-" + date + "   " + hour + ":"
            + minute + ":" + second;
    }

    function searchTable() {
        var sSource = "#springUrl('/a/orgunit/listDataNoAuth')";
        var aoData = {
            iDisplayStart: 1,
            iDosplayLength: 10
        }
        var retrieveData = function (sSource, aoData, fnCallback) {

            $("#seachTableForm input").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
            });
        };

        $('#example2').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": "orgName"
            }, {
                "mData": "parentName"
            }, /*{
                "mData": "typeName"
            }, */{
                "mData": "id"
            }],
            "aoColumnDefs": [{ // set default column settings
                'visible': false,
                'targets': [0]
            }, {
                "aTargets": [2],
                "mData": "name",
                "mRender": function (a, b, c, d) {//a表示createtime对应的值，c表示当前记录行对象
                    return '<a href="#springUrl("/a/orgunit/form?id=' + c.id + '")" data-id="' + c.id + '" data-action="view">' + a + '</a>';
                }
            }, {
                "aTargets": [4],
                "mData": "id",
                "mRender": function (a, b, c, d) {//a表示id对应的值，c表示当前记录行对象
                    var html = '#if($shiro.hasPermission("sys:orgunit:edit"))';//
                    html += '<a href="#springUrl("/a/orgunit/form?id=' + a + '")" data-id="' + a + '" data-action="view" class="btn green">修改</a>';
                    html += '<a href="javascript:void(0);" data-id="' + a + '" data-action="remove" onclick="removeData(' + a + ')" class="btn red">删除</a> #end';
                    return html;
                }
            }]
        });
    }

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

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

        initOrgTree();
    });
    var orgTreeUri = "#springUrl('/a/orgunit/treeDataNoAuth')";

    function initOrgTree() {
        var orgTree = $('#orgTree');

        var getOrgTreeData = function () {
            $.ajax({
                "type": "GET",
                "contentType": "application/json",
                "url": orgTreeUri,
                "dataType": "json",
                "success": buildOrgTree
            });
        };
        var buildOrgTree = function (data) {
            var setting = {
                data: {simpleData: {enable: true}}, callback: {
                    beforeClick: function (id, node) {
                        var orgid = node.id;
                        if (orgid == 0) {
                            $('#orgid').val('');
                        } else {
                            $('#orgid').val(orgid);
                        }
                        $("#example2").dataTable().fnClearTable();
                    }
                }
            };
            var zNodes = data.aaData;
            tree = $.fn.zTree.init(orgTree, setting, zNodes);

            tree.expandAll(true);
            tree.expandNode(tree.getNodesByFilter(function (node) {
                return node.level == 0;
            }, true), true, false, false);
        };
        getOrgTreeData();
    }

    Cfapp.init();

    function removeData(data) {
        Cfapp.confirm({
            message: "确定要删除吗",
            btnoktext: "确定",
            btncanceltext: "取消",
            success: function () {
                $.ajax({
                    type: "GET",
                    url: "#springUrl('/a/orgunit/delete')",
                    data: {id: data},
                    dataType: "json",
                    success: function (data) {
                        if (data.errorNo == 0) {
                            Cfapp.alert({
                                message: "删除成功",
                                btntext: "确定",
                                success: function () {
                                    location.href = "#springUrl('/a/orgunit/list')";
                                }
                            });
                        } else {
                            Cfapp.alert({
                                message: "不能删除含有子部门、成员的部门",
                                btntext: "确定",
                                success: function () {
                                    location.href = "#springUrl('/a/orgunit/list')";
                                }
                            });
                        }
                    },
                    error: function () {
                    }
                })
            },
            cancel: function () {
                $(".modal-backdrop").fadeOut();
            }
        });
    }

    function importExcel() {
        var templateExcelUrl = "#springUrl('/a/orgunit/templateExcel')";
        var importExcelUrl = "#springUrl('/a/orgunit/importExcel')";
        Cfapp.importExcel({
            title: '组织导入',
            importurl: importExcelUrl,
            templateurl: templateExcelUrl,
            cancel: function () {

            },
            success: function () {

            }
        });
    }

    function syncWx() {
        var warningMsg = Cfapp.warning({
            content: '正在导入中，请稍后!',  //
            title: "提示"
        });
        var syncUrl = "#springUrl('/a/orgunit/sync')";
        $.ajax({
            "type": "GET",
            "url": syncUrl,
            "dataType": "json",
            "success": function (retData) {
                warningMsg.destory();
                var message = '<label>成功创建组织<font color="green">' + retData.successCreateCount + '</font>条</label><br>';
                message += '<label>成功更新组织<font color="green">' + retData.successUpdateCount + '</font>条</label><br>';
                message += '<label>同步失败<font color="red">' + retData.failureUpdateCount + '</font>条</label><br>';
                Cfapp.alert({
                    title: "同步成功",
                    message: message,
                    btntext: "确定",
                    success: function () {
                        location.href = "#springUrl('/a/orgunit/list')";
                    }
                });
            }
        });
    }


</script>

</body>
</html>
