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

    var layuiTable = undefined;

    // 查询框表单
    var $node = {
        //  住户姓名
        name  :  $('input[name="name"]'),
        //  联系方式
        tel  :  $('input[name="tel"]'),
        //  身份证
        idCard  :  $('input[name="idCard"]'),
        //  审核状态
        checkState   :   $('select[name="checkState"]'),
        //  小区名字
        residentialName   :   $('input[name="residentialName"]'),

    };

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

    //选中树的Id
    var selectTreeId = undefined;

    //  重新加载表格
    var reloadTable = function(){
        //重新加载表格
        layuiTable.reload({
            where:{
                selectTreeId : selectTreeId,
                name  :  $node.name.val(),
                tel  :  $node.tel.val(),
                idCard  :  $node.idCard.val(),
                checkState  :   $node.checkState.val(),
                residentialName  : $node.residentialName.val(),
            }
            //重新从第1页开始
            ,page: {
                curr: 1
            }
        });
    };


    //  初始化
    (function(){
        //  加载树形列表
        layui.orgTree({
            //  点击路径的回调函数
            pathClickFn     :   function(item){
                selectTreeId = item.id;
                reloadTable();
            },
            //  点击树的回调函数
            treeClickFn     :   function(item){
                selectTreeId = item.id;
                reloadTable();
            },
            //  当前用户的机构Id
            orgId   :   pageData.myOrgId,
            //  截至级别（不包含）
            isShowFlag : 2
        });
        //  初始化表格
        layuiTable = common.layuiTable.render(layui.table,{
            elem: '#table_id'
            ,url: '/apply/user/showApplyUserList'
            ,toolbar: '#table_head_id'  //头部按钮
            ,method: 'post'
            ,cellMinWidth: 80 //全局定义常规单元格的最小宽度，
            ,cols: [[
                { title: '姓名', field: 'name',  }
                ,{ title: '性别', templet: '#sex' }
                ,{ title: '住户类型', templet: '#type'}
                ,{ title: '身份证',field: 'idCard', }
                ,{ title: '房屋信息',templet: '#roomDetail', }
                ,{ title: '联系方式',field: 'tel', }
                ,{ title: '住户申请来源',templet: '#createType'}
                ,{ title: '创建时间',field: 'createDate' }
                ,{ title: '审核状态',field: 'checkState',templet: '#checkState' }
                ,{ title: '操作',width:250,align: 'center', toolbar: '#table-useradmin-webuser' }
            ]]
            //  开启分页功能
            , page: true
        });
    })();

    //头工具栏事件 lay-filter="table-id"
    table.on('toolbar(table_event)', function(obj){
        switch(obj.event){
            case 'query'://查询
                reloadTable();
                break;
            case 'reset'://重置查询
                $node.name.val('');
                $node.tel.val('');
                $node.idCard.val('');
                $node.checkState.val('');
                $node.residentialName.val('');
                form.render('select');
                reloadTable();
                break;
            default:
                break;
        };
    });

    //监听行工具事件 lay-filter="table_event"
    table.on('tool(table_event)', function(obj){
        var data = obj.data; //获得当前行数据
        switch (obj.event) {
            case 'check'://审核
                common.openDefaultIframe({
                    title: '审核',
                    content:  '/apply/user/checkView/'+data.id
                });
                break;
            case 'detail'://详情
                common.openDefaultIframe({
                    title: '详情',
                    content:  '/apply/user/detail/'+data.id
                });
                break;
            default:
                break;
        }
    });

});