<!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">
    <!-- 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>
        <div id="warningMessage"></div>
        <section class="content-header">
            <h1>
                任务管理
                <small>任务信息</small>
            </h1>
            <!--             <ol class="breadcrumb"> -->
            <!--                 <li><a href="#springUrl('/page/user/showstatics')"><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">
                            <form id="seachTableForm" action="#springUrl('/a/job/ramJoblistData')" method="get">
                                <div class="col-xs-2">
                                    <input type="text" class="form-control required"
                                           name="jobName" placeholder="任务名称">
                                </div>
                                <div class="col-xs-5">
                                    <button type="button" class="search btn btn-primary">搜索</button>

                                </div>
                            </form>
                        </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>
                                    <th>JobID</th>
                                    <th>创建时间</th>
                                    <th>操作</th>
                                </tr>
                                </thead>
                                <tbody id="tablebody">
                                </tbody>

                            </table>
                        </div><!-- /.box-body -->
                    </div><!-- /.box -->
                </div><!-- /.col -->
            </div><!-- /.row -->
        </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 -->
<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 src="common/js/cfapp.js"></script>
<script src="dist/js/demo.js"></script>
<script src="dist/js/template7.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;
        var date = now.getDate();
        var hour = now.getHours();
        var minute = now.getMinutes();
        var second = now.getSeconds();
        return year + "-" + month + "-" + date + "   " + hour + ":"
            + minute + ":" + second;
    }

    function seachTable() {
        var sSource = "#springUrl('/a/job/ramJoblistData')";
        var aoData = {
            iDisplayStart: 1,
            iDisplayLength: 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": false,
            "sAjaxSource": sSource,
            "fnServerData": retrieveData,
            "pagingType": "full_numbers",
            "aoColumns": [{
                "mData": "id"
            }, {
                "mData": "jobName"
            },
//                {
//                "mData": "cron"
//            },

                {
                    "mData": "clazzPath"
                },
                {
                    "mData": "status"
                },
                {
                    "mData": "jobDesc"
                },
                {
                    "mData": "jobuid"
                },
                {
                    "mData": "createTime"
                }, {
                    "mData": "id"
                }],
            "aoColumnDefs": [{ // set default column settings
                'visible': false,
                'targets': [0]
            }, {
                "aTargets": [1],
                "mData": "jobName",
                "mRender": function (a, b, c, d) {//a表示createtime对应的值，c表示当前记录行对象
                    return '<a href="#springUrl("/a/job/form?id=' + c.id + '")" data-id="' + c.id + '" data-action="view">' + a + '</a>';
                }
            },
                {
                    "aTargets": [3],
                    "mData": "status",
                    "mRender": function (a, b, c, d) {//a表示createtime对应的值，c表示当前记录行对象
                        if(c.status=='1')
                        {
                            return "<font style='color:#7fffd4'>启动</font>"
                        }else
                        {
                            return "<font style='color:red'>已停止</font>"
                        }

                    }
                },
                {
                    "aTargets": [6],
                    "mData": "createTime",
                    "mRender": function (a, b, c, d) {//a表示createtime对应的值，c表示当前记录行对象
                        return formatDates(a, "yyyy-MM-dd HH:mm:ss");
                    }
                }, {
                    "aTargets": [7],
                    "mData": "id",
                    "mRender": function (a, b, c, d) {//a表示id对应的值，c表示当前记录行对象
                        var html = '#if($shiro.hasPermission("job:edit"))';//

                        var start = "";
                        var stop = "";
                        if(c.status=='1')
                        {
                            start="display:none;";
                        }else
                        {
                            stop = "display:none;";
                        }

                        html += '<a href="javascript:void(0);" data-id="' + a + '"  style="'+start+'" data-action="view"  onclick="start(' + a + ')"  id="controls-start-'+c.id+'"  value = "1" class="btn green">启动</a>';
//                        html += '<a href="javascript:void(0);" data-id="' + a + '" style="'+stop+'" data-action="view"  onclick="stop(' + a + ')"  id="controls-end-'+c.id+'"  value = "1" class="btn red">停止</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 () {

        $('.datepicker').datepicker({
            show: true,
            format: 'yyyy-mm-dd',
            autoclose: true,
            language: 'zh-CN',
            todayBtn: 'linked',
            clearBtn: 'linked'

        });
        $('.search').click(function () {
            $("#example2").dataTable().fnClearTable();
        });
        setTimeout(
            function () {
                seachTable();
            },10000
        )
        Cfapp.alert({
            message: "更新内存任务中，请稍等大约10秒钟！",
            btntext: "确定",
            success: function () {

            }
        });

    });

    Cfapp.init();
    function removeData(id) {
        Cfapp.confirm({
            message: "确定要删除吗",
            btnoktext: "确定",
            btncanceltext: "取消",
            success: function () {
                $.ajax({
                    type: "POST",
                    url: "#springUrl('/a/job/delete')",
                    data: {id: id,_csrf_header:csrfheader.value,_csrf:csrftoken.value},
                    dataType: "json",
                    success: function (data) {
                        if (data.errorNo == 0) {
                            Cfapp.alert({
                                message: "删除成功,请等待五秒，页面自动刷新！",
                                btntext: "确定",
                                success: function () {
                                    setTimeout(function(){
                                        location.href = "#springUrl('/a/job/ramJoblist')";
                                    },5000);
                                }
                            });
                        }else
                        {
                            Cfapp.alert({
                                message: "删除失败,可能无法找到对应的任务",
                                btntext: "确定",
                                success: function () {
                                    location.href = "#springUrl('/a/job/ramJoblist')";
                                }
                            });
                        }
                    },
                    error: function () {
                    }
                })
            },
            cancel: function () {
                $(".modal-backdrop").fadeOut();
            }
        });
    }

    function start(id) {
        Cfapp.confirm({
            message: "确定要启动吗",
            btnoktext: "确定",
            btncanceltext: "取消",
            success: function () {
                $.ajax({
                    type: "POST",
                    url: "#springUrl('/a/job/startJob')",
                    data: {id: id,_csrf_header:csrfheader.value,_csrf:csrftoken.value},
                    dataType: "json",
                    success: function (data) {
                        if (data.errorNo == 0) {

                            $("#controls-start-"+id).hide();
                            $("#controls-stop-"+id).show();
                            Cfapp.alert({
                                message: "启动成功",
                                btntext: "确定",
                                success: function () {
                                    location.href = "#springUrl('/a/job/list')";
                                }
                            });
                        }
                    },
                    error: function () {
                    }
                })
            },
            cancel: function () {
                $(".modal-backdrop").fadeOut();
            }
        });
    }


    function stop(id) {
        Cfapp.confirm({
            message: "确定要停止吗",
            btnoktext: "确定",
            btncanceltext: "取消",
            success: function () {
                $.ajax({
                    type: "POST",
                    url: "#springUrl('/a/job/endJob')",
                    data: {id: id,_csrf_header:csrfheader.value,_csrf:csrftoken.value},
                    dataType: "json",
                    success: function (data) {
                        if (data.errorNo == 0) {

                            $("#controls-start-"+id).show();
                            $("#controls-stop-"+id).hide();
                            Cfapp.alert({
                                message: "停止成功",
                                btntext: "确定",
                                success: function () {
                                    location.href = "#springUrl('/a/job/list')";
                                }
                            });
                        }
                    },
                    error: function () {
                    }
                })
            },
            cancel: function () {
                $(".modal-backdrop").fadeOut();
            }
        });
    }

</script>

</body>
</html>
