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 deviceType=$("#deviceType").val();
    //  初始化表单
    var layuiTable = common.layuiTable.render(layui.table,{
        elem: '#data_entity_table'
        ,url: '/permissions/appPackage/pagingQuery?deviceType='+deviceType
        ,cellMinWidth: 80 //全局定义常规单元格的最小宽度，
        , cols: [[
            { field: 'version', title: '版本号',align:'center',width:200 }
            , { field: 'packageName',title: '版本名称',align:'center',width:200}
            , { field: 'packageType',title: '适用系统',templet:"#package_type",align:'center',width:200}
            , { field: 'createDate',title: '上传时间',align:'center',width:200}
            , { field: 'description',title: '版本说明',align:'center'}
            , { field: 'isForceUpdate',title: '强制升级',align:'center',width:200,templet:"#is-force-update"}
            , { field: 'isEnable',title: '启用状态',align:'center',templet:"#switch_is_enable"}
            , { title: '操作', align: 'center',toolbar: '#table-operate',width:180}
        ]]
    });

    var reloadTable = function(){
        //  重新加载表格
        layuiTable.reload({
            //  重新从第1页开始
            page: {
                curr: 1
            }
        });
    };

    //  操作栏事件绑定
    layui.table.on('tool(data_table_event)',function (obj) {
        switch (obj.event) {
            //  修改
            case 'edit':
                common.openDefaultIframe({
                    title   :   '修改页面',
                    content :   '/permissions/device/admin/appPackage/edit/'+ obj.data.id
                });
                break;
            //  删除
            case 'delete':
                layer.confirm('是否确认删除?', {icon: 7, title:'提示'},function(index){
                    $.ajax({
                        url     :   '/permissions/appPackage/delete/' + obj.data.id,
                        success :   function(result){
                            if (result.data) {
                                reloadTable();
                            }else {
                                layer.msg("删除失败");
                            }
                        }
                    });
                    layer.close(index);
                });
                break;
            default:
                break;
        }
    });

    //  监听禁用开启状态
    var switchRollBack = false;
    layui.form.on('switch(switch_is_enable)', function(obj) {
        if (!switchRollBack) {
            //  获取选中行数据
            var id = $(obj.elem).attr("kid");
            var url = "/permissions/appPackage/updateEnable";
            common.sendAsyncRequest(url, 'POST', {
                id  :   id,
                isEnable: obj.elem.checked ? 1 : 2
            }, function(result){
                if (!result.data) {
                    switchRollBack = !switchRollBack;
                    obj.othis.click();
                }
            }, function(result){
                switchRollBack = !switchRollBack;
                layer.alert(result.msg,function(index){
                    layer.close(index);
                    //  失败的回调用函数
                    obj.othis.click();
                });
            })
        }else {
            switchRollBack = !switchRollBack;
        }
    });

    //监听上传新包
    form.on('submit(add)', function(){
        common.openDefaultIframe({
            title   :   '上传新包',
            content :   '/permissions/device/admin/appPackage/add?deviceType='+deviceType
        });
    });
});