<!DOCTYPE html>
<!--[if IE 8]>
<html lang="en" class="ie8 no-js"> <![endif]-->
<!--[if IE 9]>
<html lang="en" class="ie9 no-js"> <![endif]-->
<!--[if !IE]><!-->
<html>
<!--<![endif]-->
<!-- BEGIN HEAD -->
<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\fileinput.min.css">
    <!-- bootstrap wysihtml5 - text editor -->
    <link rel="stylesheet" href="plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css">

    <!-- ztree css -->
    <link rel="stylesheet"
          href="plugins/ztree/css/metroStyle/metroStyle.css" type="text/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>
            <ol class="breadcrumb">
                <li><a><i class="fa fa-dashboard"></i>首页</a></li>
                <li><a class="active">素材上传管理列表</a></li>
            </ol>
        </section>


        <!-- Main content -->
        <section class="content">
            <div class="row">
                <div class="col-xs-12">
                    <div class="box">
                        <div class="box-header">
                            <div class="col-xs-3">
                                <div class="box">
                                    <ul id="zTree" class="ztree"></ul>
                                </div>
                            </div>
                            <div class="col-xs-9">
                                <div class="box">
                                    <div class="box-header">
                                        <form id="seachTableForm" action="#springUrl('/a/materialUpload/list')" method="get">
                                            <div class="col-xs-2" style="display: none">
                                                <input type="text" class="form-control required"
                                                       name="categoryid" id="categoryid"  value="0">
                                                <input type="text" class="form-control required"
                                                       name="categoryName" id="categoryName" placeholder="categoryName" value="素材分类">
                                            </div>
                                            <div class="col-xs-2">
                                                <input type="text" class="form-control required"
                                                       placeholder="素材标题" name="title"
                                                       value="">
                                            </div>
                                            <div class="col-xs-5">
                                                <a class="search btn btn-primary">搜索</a>
                                                #if($shiro.hasPermission("material:edit"))
                                                <button type="button" class="add btn btn-primary">新增</button>
                                                #end
                                            </div>
                                        </form>
                                    </div><!-- /.box-header -->
                                    <div class="box-body">
                                        <table id="table" 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><!-- /.row -->
                    </div>
                </div>
            </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>
<!-- 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>
<!--fileinput js-->
<script src="plugins\bootstrap-fileinput\fileinput.js"></script>
<script src="plugins/bootstrap-fileinput/zh.js"></script>
<script src="plugins/bootstrap-fileinput/zh2.js"></script>
<!-- ztree -->
<script src="plugins/ztree/js/jquery.ztree.all.min.js"
        type="text/javascript"></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 src="common/js/cfapp.js"></script>
<script>
    var csrfheader = {name: '_csrf_header', value: '${_csrf.headerName}'};
    var csrftoken = {name: '_csrf', value: '${_csrf.token}'};
</script>
<script>
    function formatDates(now) {
        var now = new Date(now);
        var year = now.getFullYear();
        var month = now.getMonth() + 1 < 10 ? "0" + (now.getMonth() + 1) + '-' : now.getMonth() + 1 + '-';
        var date = now.getDate() < 10 ? "0" + now.getDate() : now.getDate();
        var hour = now.getHours() < 10 ? "0" + now.getHours() : now.getHours();
        var minute = now.getMinutes() < 10 ? "0" + now.getMinutes() : now.getMinutes();
        var second = now.getSeconds() < 10 ? "0" + now.getSeconds() : now.getSeconds();
        return year + "-" + month + "-" + date + "   " + hour + ":" + minute + ":" + second;
    }

    function seachTable() {
        var sSource = "#springUrl('/a/materialUpload/listData')";
        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
            });
        };
        var protocol = window.location.protocol;
        var host = window.location.host;
        $('#table').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": "title"
                },
                {
                    "mData": "url"
                },
                {
                    "mData": "uploadType"
                }, {
                    "mData": "createTime"
                }, {
                    "mData": "id"
                }],
            "aoColumnDefs": [
                { // set default column settings
                    'visible': false,
                    'targets': [0]
                }, {
                    "aTargets": [2],
                    "mData": "url",
                    "mRender": function (a, b, c, d) {
                        var rtHtml = '';
                        if (c.uploadType == 'local') {
                            rtHtml = '<img style="width: 80px;height: auto" src="' + protocol + '//' + host + a + '">'
                        } else {
                            rtHtml = '<img style="width: 80px;height: auto" src="' + a + '">'
                        }
                        return rtHtml;
                    }
                }, {
                    "aTargets": [3],
                    "mData": "uploadType",
                    "mRender": function (a, b, c, d) {
                        var rtHtml = '';
                        if (a == 'local') {
                            rtHtml = '本地'
                        } else if (a == 'qcloud') {
                            rtHtml = '腾讯'
                        } else if (a == 'ali') {
                            rtHtml = '阿里'
                        } else if (a == 'qiniu') {
                            rtHtml = '七牛'
                        }
                        return rtHtml;
                    }
                }, {
                    "aTargets": [4],
                    "mData": "createTime",
                    "mRender": function (a, b, c, d) {
                        if (a) {
                            return formatDates(a);
                        } else {
                            return "";
                        }
                    }
                }, {
                    "aTargets": [5],
                    "mData": "id",
                    "mRender": function (a, b, c, d) {
                        var rtHtml = '';
                        rtHtml += '#if($shiro.hasPermission("material:edit"))';
                        rtHtml += '<a onclick="removeData(' + a + ')">删除</a>';
                        rtHtml += '#end';
                        return rtHtml;
                    }
                }
            ]
        });
    }

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

        });
        $('.search').click(function () {
            $("#table").dataTable().fnClearTable();
        });
        $('.add').click(function () {
            window.location.href="#springUrl('/a/materialUpload/form')"+"?categoryid="+$('#categoryid').val()+"&categoryName="+$('#categoryName').val();
        });
        initTree();
    });

    var treeUri = "#springUrl('/a/materialCategory/treeData')";
    function initTree() {
        var papercategoryTree = $('#zTree');

        var getTreeData = function () {
            $.ajax({
                "type": "GET",
                "contentType": "application/json",
                "url": treeUri,
                "dataType": "json",
                "success": buildTree
            });
        };
        var buildTree = function (data) {
            var setting = {
                data: {simpleData: {enable: true}}, callback: {
                    beforeClick: function (id, node) {
                        var treeId = node.id;
                        $('#categoryid').val(treeId);
                        $('#categoryName').val(node.name);
                        $("#table").dataTable().fnClearTable();
                    }
                }
            };
            var zNodes = data.aaData;
            tree = $.fn.zTree.init(papercategoryTree, setting, zNodes);

            tree.expandAll(true);
            tree.expandNode(tree.getNodesByFilter(function (node) {
                return node.level == 0;
            }, true), true, false, false);
            var nodes = tree.getNodes();
            tree.selectNode(nodes[0]); //选中第一个子节点
        };
        getTreeData();
    }

    Cfapp.init();
    function removeData(data) {
        Cfapp.confirm({
            message: "确定要删除吗",
            btnoktext: "确定",
            btncanceltext: "取消",
            success: function () {
                $.ajax({
                    type: "POST",
                    url: "#springUrl('/a/materialUpload/delete')",
                    data: {id: data, _csrf_header: csrfheader.value, _csrf: csrftoken.value},
                    dataType: "json",
                    success: function (data) {
                        if (data.errorNo == 0) {
                            Cfapp.alert({
                                message: "删除成功",
                                btntext: "确定",
                                success: function () {
                                    location.href = "#springUrl('/a/materialUpload/list')";
                                }
                            });
                        }
                    },
                    error: function () {
                    }
                })
            },
            cancel: function () {
                $(".modal-backdrop").fadeOut();
            }
        });
    }


</script>

</body>
</html>
