layui.extend({
    common    :   'js/common',
    orgTree    :   'layui/lay/mymodules/org-tree',
    region    :   'layui/lay/mymodules/region'
}).use(['tree','table', 'jquery','layer','common','orgTree','region','form'], function () {
    //  弹窗插件
    var layer = layui.layer;
    //  Jquery插件
    var $ = layui.jquery;
    //  引入公共模块
    var common = layui.common;
    //  引入表格
    var table = layui.table;
    //  引入表单
    var form = layui.form;

    var layuiTable = null;

    // 查询框表单
    var $node = {
        //  小区Id
        residentialId  :  $('#residential_id'),
        //  单元Id
        unitId  :  $('#unit_id'),
        //  房间Id
        roomId : $('#room_id'),
    };

    //  页面数据
    var pageData = {
        myOrgId     :   parseInt($('#org_id').val())
    };

    //  重新加载表格
    var reloadTable = function(obj){
        //重新加载表格
        layuiTable.reload({
            where:{
                residentialId : $node.residentialId.val(),
                unitId : $node.unitId.val(),
                roomId : $node.roomId.val(),
                //排序
                sortField   :   obj?obj.field:'',
                sortOrder   :   obj?obj.type:'',
            }
            //重新从第1页开始
            ,page: {
                curr: 1
            },
            initSort:obj
        });
    };

    //  初始化
    (function(){
        //  初始化表格
        layuiTable = common.layuiTable.render(layui.table,{
            elem: '#table_id'
            ,url: '/estate/user/showUserList?roomId=' + $node.roomId.val() + '&unitId=' + $node.unitId.val() + '&residentialId=' + $node.residentialId.val()
            ,cellMinWidth: 80 //全局定义常规单元格的最小宽度，
            , cols: [[
                { field: 'name',title: '姓名',align: 'center'}
                ,{ field: 'sex', title: '性别',templet: '#is_sex',align: 'center', sort: true}
                ,{ field: 'roomName', title: '所属房间',align: 'center'}
                ,{ field: 'type', title: '住户类型',templet: '#is_type',align: 'center', sort: true}
                ,{ field: 'idCard', title: '证件号码',align: 'center' }
                ,{ field: 'tel', title: '联系方式',align: 'center' }
                ,{ field: 'createType', title: '住户来源',templet: '#is_createType',align: 'center', sort: true }
                ,{ field: 'checkState', title: '人脸审核状态',templet: '#is_checkState',align: 'center', sort: true }
                ,{ field:'',title: '卡号',align: 'center',templet:function (d) {
                    if(d.accessCard){
                        return d.accessCard.cardNo;
                    }
                        return "";
                }}
                ,{ title: '操作',align: 'center', toolbar: '#table-useradmin-webuser',width:180 }
            ]]
            //  开启分页功能
            , page: true
        });
    })();

    //排序
    layui.table.on('sort(table_event)',function (obj) {
        reloadTable(obj);
    });

    //监听行工具事件 lay-filter="table_event"
    table.on('tool(table_event)', function(obj){
        var data = obj.data; //获得当前行数据
        switch (obj.event) {
            case 'edit'://修改
                common.openDefaultIframe({
                    title: '修改住户',
                    content:  '/estate/user/edit/'+data.id
                });
                break;
            case 'del'://删除
                layer.confirm('是否确认删除？',{icon: 7, title:'提示'}, function(index){
                    common.sendAsyncRequest("/estate/user/deleteUser",'POST',{
                        id  :  data.id
                    },function (result){
                        if(result.data){
                            //  刷新表格
                            layuiTable.reload();
                            layer.msg("删除成功");
                            layer.close(index);
                        }else{
                            layer.msg("删除失败");
                        }
                    });
                });
                break;
            case 'detail'://住户详情
                common.openDefaultIframe({
                    title: '住户详情',
                    content:  '/estate/user/indexUserFaceDetail/'+data.id
                });
                break;
            default:
                break;
        }
    });

    //监听住户添加
    form.on('submit(add)', function(){
        common.openDefaultIframe({
            title: '添加住户',
            content:  '/estate/user/add/'+$node.roomId.val()+'/'+5
        });
    });

});