layui.extend({
    common  : 'js/common'
}).use(['jquery','layer','common','table','util','form'],function(){
    //  Jquery插件
    var $ = layui.jquery;
    //  引入公共模块
    var common = layui.common;
    //  引入表单
    var form = layui.form;

    //  初始化表单
    var layuiTable = common.layuiTable.render(layui.table,{
        elem: '#data_entity_table'
        ,url: '/device/time/strategy/push/pagingQuery?pushStatus=1'
        ,cellMinWidth: 80 //全局定义常规单元格的最小宽度，
        , cols: [[
            { field: 'strategyName', title: '策略名称',align:'center',width:200 }
            , {field:'pushType',title: '发布方式',align:'center',width:300,sort:true,templet:'#push_type'}
            , { field: '发布范围',title: '发布范围',align:'center',templet:function(d){
                    var pushNames="";
                    for(var i in d.fkNameList){
                        if(i==0){
                            pushNames=d.fkNameList[i];
                        }else{
                            pushNames=","+d.fkNameList[i];
                        }
                    }
                    return pushNames;
                }}
            , { field: 'createAccountName',title: '发布人',align:'center'}
            , { title: '预计发布时间',align:'center',templet:'<span>{{ d.estimatePushTime ? layui.util.toDateString(d.estimatePushTime) : "" }}</span>'}
            , { title: '操作',width:180, align: 'center',toolbar: '#table-operate'}
        ]]
    });

    //排序
    layui.table.on('sort(data_table_event)',function (obj) {
        reloadTable(obj);
    });
    
    //  重新加载表格
    var reloadTable = function(obj) {
        layuiTable.reload({
            //  设定异步数据接口的额外参数
            where: {
                strategyName            :   $('#s_name').val(),
                sortField   :   obj?obj.field:'',
                sortOrder   :   obj?obj.type:'',
            }
            //  重新从第1页开始
            ,page: {
                curr: 1
            },
            initSort:obj
        });
    };

    //  操作栏事件绑定
    layui.table.on('tool(data_table_event)',function (obj) {
        switch (obj.event) {
            //  详细
            case 'detail':
                common.openDefaultIframe({
                    title   :   '时间策略任务详细',
                    content :   '/device/time/strategy/push/detail/' + obj.data.id
                });
                break;
            //撤回
            case 'rollback':
                layer.confirm('确认撤销发布？',{icon: 3, title:'提示'},function (index) {
                    $.ajax({
                        url     :   '/device/time/strategy/push/task/rollback/'+obj.data.id ,
                        success :   function (result) {
                            if (!result.data){
                                layer.alert('撤销失败');
                            }else {
                                reloadTable();
                            }
                        }
                    });
                    //  关闭弹窗
                    layer.close(index);
                });
                break;
            default:
                break;
        }
    });

    //监听查询
    form.on('submit(query)', function(){
        reloadTable();
    });

    //监听重置
    form.on('submit(reset)', function(){
        $('#s_name').val("");
        reloadTable();
    });

    //监听策略发布
    form.on('submit(push)', function(){
        common.openDefaultIframe({
            title   :   '发布时间策略',
            content :   '/device/time/strategy/push'
        });
    });
});