layui.extend({
    common    :   'js/common',
    region    :   'layui/lay/mymodules/region',
    xmSelect    :   'layui/dist/xm-select',
    dropdown    :   'layui/lay/modules/dropdown'
}).use(['tree','table', 'jquery','layer','common','region','form','xmSelect','laydate','dropdown'], function () {
    //  弹窗插件
    var layer = layui.layer;
    //  Jquery插件
    var $ = layui.jquery;
    //  引入公共模块
    var common = layui.common;
    //  引入表格
    var table = layui.table;
    //  引入表单
    var form = layui.form;
    //  引入下拉列表组件
    var xmSelect = layui.xmSelect;

    var laydate = layui.laydate;

    var layuiTable = null;

    // 查询框表单
    var $node = {
        //  小区搜索
        residentialId  :  $('#residential_id'),
        //  楼栋搜索
        buildingId  :  $('#building_id'),
        //  单元搜索
        unitId  :  $('#unit_id'),
        //  房间搜索
        roomId : $('#room_id'),
        //  住户姓名
        nameInput  :  $('input[name="name"]'),
        //  联系方式
        telInput  :  $('input[name="tel"]'),
        //  身份证
        idCardInput  :  $('input[name="idCard"]'),
        //  省市区表单
        provinceInput   :   $('input[name="regionProvince"]'),

        cityInput       :   $('input[name="regionCity"]'),

        areaInput       :   $('input[name="regionArea"]'),

        regionInput     :   $('#region'),

        createDate : $('#create_date'),
        beginDate : $('#begin_date'),
        endDate : $('#end_date')
    };

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

    };

    //选中id集合
    var ids = [];
    //清空选中集合
    var clearCheckbox = function(){
        ids=[];
    }
    //tableId集合
    var table_data = [];

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

    //选中树的类型 1 机构 2 小区 3社区机构  4 单元 5 房间
    var flag = null;

    //  重新加载表格
    var reloadTable = function(obj){
        //重新加载表格
        layuiTable.reload({
            where:{
                residentialId : $node.residentialId.val(),
                buildingId : $node.buildingId.val(),
                unitId : $node.unitId.val(),
                roomId : $node.roomId.val(),
                name  :  $node.nameInput.val(),
                tel  :  $node.telInput.val(),
                idCard  :  $node.idCardInput.val(),
                regionProvince  :  $node.provinceInput.val(),
                regionCity  :  $node.cityInput.val(),
                regionArea  :  $node.areaInput.val(),
                beginDate : $node.beginDate.val(),
                endDate : $node.endDate.val(),
                checkState  :  $('#check_state option:selected').val(),
                selectTreeId  :  selectTreeId,
                selectTreeType : flag,
                desensitize : desensitize,
                //排序
                sortField   :   obj?obj.field:'',
                sortOrder   :   obj?obj.type:'',
            }
            //重新从第1页开始
            ,page: {
                curr: 1
            },
            initSort:obj
        });
    };

    //日期时间范围
    laydate.render({
        elem: '#create_date'
        ,type: 'date'
        ,range: true
        ,min: '1990-1-1 00:00:00'
        ,max: 0 //最大日期为当天
        ,done: function(value, date, endDate){
            var dateArray = value.split(" - ");
            $("#begin_date").val(dateArray[0] + ' 00:00:00');
            $("#end_date").val(dateArray[1] + ' 23:59:59');
        }
    });

    //  初始化
    (function(){
        //  初始化表格
        layuiTable = common.layuiTable.render(layui.table,{
            elem: '#table_id'
            ,url: '/estate/user/showUserList'
            ,cellMinWidth: 80 //全局定义常规单元格的最小宽度，
            , cols: [[
                { type: 'checkbox' }
                ,{ field: 'name',title: '姓名',align: 'center'}
                ,{ field: 'sex', title: '性别',templet: '#is_sex',align: 'center',sort:true}
                ,{ field: 'residentialName', title: '所属小区',align: 'center'}
                ,{ field: 'buildingName', title: '所属楼栋',align: 'center'}
                ,{ field: 'unitName', title: '所属单元',align: 'center'}
                ,{ 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: '人脸审核状态',align: 'center',sort:true ,templet: '#is_checkState'}
                // ,{ field:'',title: '卡号',align: 'center',templet:function (d) {
                //         if(d.accessCard){
                //             return d.accessCard.cardNo;
                //         }
                //         return "";
                //     }}
                , { field: 'createDate', title: '创建时间',align:'center',sort:true }
                // , { field: 'isMember', title: '是否激活APP会员',templet:'#is_member',align:'center',sort:true }
                ,{ title: '操作',align: 'center', toolbar: '#table-useradmin-webuser',width:180 }
            ]]
            //  开启分页功能
            , page: true
            ,done:function(res,curr,count){
                // 设置换页勾选之前的
                table_data = res.data;
                for(var i=0;i<res.data.length;i++){
                    for(var j=0;j<ids.length;j++){
                        if(res.data[i].id==ids[j]){
                            //这里才是真正的有效勾选
                            res.data[i]["LAY_CHECKED"]='true';
                            //找到对应数据改变勾选样式，呈现出选中效果
                            var index= res.data[i]['LAY_TABLE_INDEX'];
                            $('.layui-table tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
                            $('.layui-table tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
                        }
                    }
                }
                //设置全选checkbox的选中状态，只有改变LAY_CHECKED的值， table.checkStatus才能抓取到选中的状态
                var checkStatus = table.checkStatus('table_id');
                if(checkStatus.isAll){
                    $(' .layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
                    $('.layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');
                }
                //图片放大
                layer.photos({
                    photos: '#layPhotosTbImg',
                    shade: .1,
                    closeBtn: true
                });
            }
        });
    })();

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

    //复选框选中监听,将选中的id 设置到缓存数组,或者删除缓存数组
    table.on('checkbox(table_event)', function (obj) {
        if(obj.checked==true){
            if(obj.type=='one'){
                ids.push(obj.data.id)
            }else{
                for(var i=0;i<table_data.length;i++){
                    ids.push(table_data[i].id);
                }
            }
        }else{
            if(obj.type=='one'){
                for(var i=0;i<ids.length;i++){
                    if(ids[i]==obj.data.id){
                        ids.splice(i,1);
                        return;
                    }
                }
            }else{
                for(var i=0;i<ids.length;i++){
                    for(var j=0;j<table_data.length;j++){
                        if(ids[i]==table_data[j].id){
                            ids.splice(i,1);
                            i--;
                            break;
                        }
                    }
                }
            }
        }
    });

    //  初始化省市区
    layui.region.init({
        //  元素节点
        elem        :  '#region_body',
        //  触发此元素时显示
        trigger     :   '#region',
        //  选中省的回调
        provinceCallbackFn  :   function(data){
            var address = data.province.text;
            $node.regionInput.val(address);
            $node.provinceInput.val(data.province.id);
            $node.cityInput.val('');
            $node.areaInput.val('');
            if (flag <= 2){
                residentialSelect.update({data:initResidentialFn()});
            }
        },
        //  选中市的回调
        cityCallbackFn  :   function(data){
            var address = data.province.text + '-' + data.city.text;
            $node.regionInput.val(address);
            $node.cityInput.val(data.city.id);
            $node.areaInput.val('');
            if (flag <= 2){
                residentialSelect.update({data:initResidentialFn()});
            }
        },
        //  选中区域的回调
        areaCallbackFn  :   function(data){
            var address = data.province.text + '-' + data.city.text + '-' +data.county.text;
            $node.regionInput.val(address);
            $node.areaInput.val(data.county.id);
            if (flag <= 2){
                residentialSelect.update({data:initResidentialFn()});
            }
        },
        //  关闭时的回调
        hideCallbackFn  :   function(data){
        },
        //清空回调
        clearFn : function(){
            $node.regionInput.val('');
            $node.provinceInput.val('');
            $node.cityInput.val('');
            $node.areaInput.val('');
            if (flag <= 2){
                residentialSelect.update({data:initResidentialFn()});
            }
        }
    });

    //监听行工具事件 lay-filter="table_event"
    table.on('tool(table_event)', function(obj){
        var data = obj.data; //获得当前行数据
        var userDataStr = data.name + " - " + data.residentialName + " - " + data.unitName;
        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 + '/' + desensitize
                });
                break;
            /*            case 'member':
                            common.openDefaultIframe({
                                title: '激活APP会员',
                                content:  '/estate/user/member/'+data.id
                            });
                            break;*/
            case 'faceImageSet'://人脸设置
                common.openDefaultIframe({
                    title: '人脸设置',
                    content:  '/estate/access/indexUserFaceSet/'+data.id
                });
                break;
            case 'cardSet'://卡设置
                common.openDefaultIframe({
                    title: '卡设置',
                    content:  '/estate/access/indexUserCardSet/'+data.id
                });
                break;
            case 'log4face':
                common.openDefaultIframe({
                    title   :   '人脸日志' + " 【 " + userDataStr + " 】",
                    content :   '/estate/user/log4face?userId=' + data.id
                });
                break;
            //  卡日志
            case 'log4card':
                var accessCard = data.accessCard;
                if(!accessCard){
                    layer.alert("暂无卡片信息，请先设置卡号！");
                }else{
                    common.openDefaultIframe({
                        title   :   '卡日志' + " 【 " + userDataStr + " 】",
                        content :   '/estate/user/log4card?cardNo=' + accessCard.cardNo
                    });
                }
                break;
            //  特殊门禁授权
            case 'specialSet':
                common.openMaxIframe({
                    title   :   '特殊门禁授权',
                    content :   '/estate/access/specialOpenPermissionSet/' + data.id + '/' + data.residentialId
                });
                break;
            //  人脸门禁启用
            case 'faceEnable':
                layer.confirm('是否确认启用人脸?', {icon: 7, title:'提示'},function(index) {
                    var devicesAccessPushVO = {};
                    devicesAccessPushVO.operType = 3;
                    devicesAccessPushVO.userId = data.id;
                    common.sendAsyncRequest('/estate/access/accessDevicesManualPush','POST',devicesAccessPushVO,function (result){
                        //刷新表格
                        layuiTable.reload();
                        layer.msg("人脸启用成功");
                        layer.close(index);//关闭弹窗提示
                    });
                });
                break;
            //  门禁卡启用
            case 'cardEnable':
                layer.confirm('是否确认启用门禁卡?', {icon: 7, title:'提示'},function(index) {
                    var devicesAccessPushVO = {};
                    devicesAccessPushVO.operType = 4;
                    devicesAccessPushVO.userId = data.id;
                    common.sendAsyncRequest('/estate/access/accessDevicesManualPush','POST',devicesAccessPushVO,function (result){
                        //刷新表格
                        layuiTable.reload();
                        layer.msg("卡启用成功");
                        layer.close(index);//关闭弹窗提示
                    });
                });
                break;
            //  人脸禁用
            case 'faceDisable':
                layer.confirm('是否禁用人脸?', {icon: 7, title:'提示'},function(index) {
                    var devicesAccessPushVO = {};
                    devicesAccessPushVO.operType = 5;
                    devicesAccessPushVO.userId = data.id;
                    common.sendAsyncRequest('/estate/access/accessDevicesManualPush','POST',devicesAccessPushVO,function (result){
                        //刷新表格
                        layuiTable.reload();
                        layer.msg("人脸禁用成功");
                        layer.close(index);//关闭弹窗提示
                    });
                });
                break;
            //  门禁卡禁用
            case 'cardDisable':
                layer.confirm('是否禁用门禁卡?', {icon: 7, title:'提示'},function(index) {
                    var devicesAccessPushVO = {};
                    devicesAccessPushVO.operType = 6;
                    devicesAccessPushVO.userId = data.id;
                    common.sendAsyncRequest('/estate/access/accessDevicesManualPush','POST',devicesAccessPushVO,function (result){
                        //刷新表格
                        layuiTable.reload();
                        layer.msg("卡禁用成功");
                        layer.close(index);//关闭弹窗提示
                    });
                });
                break;
            default:
                break;
        }
    });

    var resetAreaFn = function () {
        $('.select-type li').removeClass('active');
        $('.select-type li').eq(0).addClass('active');
        $('.zm-ctn li').removeClass('active');
        $('.select-type-ctn .type-main').hide();
        $('.select-type-ctn .province').show();
        $('.select-type-ctn .city .zm-ctn').empty();
        $('.select-type-ctn .city .zm').show();
        $('.select-type-ctn .county .zm-ctn').empty();
        $('.select-type-ctn .county .zm').show();
    };

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

    //监听重置查询
    form.on('submit(reset)', function(){
        resetAreaFn();
        //选中树的类型 1 机构 2 小区 3社区机构  4 单元  5 房间
        switch (flag) {
            case 2: {
                unitSelect.setValue([]);
                roomSelect.update({data:[],disabled:true});
                $node.unitId.val('');
                $node.roomId.val('');
                break
            }
            case 4 : {
                roomSelect.setValue([]);
                $node.roomId.val('');
                break
            }
            case 5 : {
                break
            }
            default : {
                residentialSelect.setValue([]);
                buildingSelect.update({data:[],disabled:true});
                unitSelect.update({data:[],disabled:true});
                roomSelect.update({data:[],disabled:true});
                $node.residentialId.val('');
                $node.buildingId.val('');
                $node.unitId.val('');
                $node.roomId.val('');
                break
            }
        }
        $node.nameInput.val('');
        $node.telInput.val('');
        $node.idCardInput.val('');
        $node.provinceInput.val('');
        $node.cityInput.val('');
        $node.areaInput.val('');
        $node.regionInput.val('');
        $node.beginDate.val('');
        $node.endDate.val('');
        $node.createDate.val('');
        $('#check_state').val('');
        form.render('select');
        reloadTable();
    });

    //监听住户添加
    form.on('submit(add)', function(){
        let content = '/estate/user/add';
        if (flag != null){
            content = '/estate/user/add/'+ selectTreeId + '/'+flag
        }
        common.openDefaultIframe({
            title: '添加住户',
            content:  content
        });
    });

    //监听批量删除
    form.on('submit(batchdel)', function(){
        if(ids.length == 0 ){
            layer.msg("请选择要删除的数据。");
            return;
        }
        layer.confirm('是否确认删除？',{icon: 7, title:'提示'}, function(index){
            $.ajax({
                url :  '/estate/user/deleteUserList',
                type : 'POST',
                contentType: "application/json;charset=utf-8",
                data :JSON.stringify(ids),
                success :  function(result){
                    if(result.code == '200'){
                        if(result.data){
                            //  刷新表格
                            layuiTable.reload();
                            clearCheckbox();
                            layer.msg("删除成功");
                            layer.close(index);
                        }else{
                            layer.msg("删除失败");
                        }
                    }else{
                        layer.msg(result.msg);
                    }
                }
            });
        });
    });


    //监听导入
    form.on('submit(import)', function(){
        layer.open({
            //  0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
            type    :   2,
            //  宽高
            area    :   ['500px', '315px'],
            //  禁用最大最小化
            maxmin  :   false,
            //  禁用拖拽
            move    :   false,
            //  弹窗标题
            title   :    '导入住户',
            //  打开内容
            content :  '/estate/user/indexImportExcel/4'
        });
    });
    form.on('submit(thirdImport)', function(){
        layer.open({
            //  0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
            type    :   2,
            //  宽高
            area    :   ['500px', '315px'],
            //  禁用最大最小化
            maxmin  :   false,
            //  禁用拖拽
            move    :   false,
            //  弹窗标题
            title   :    '导入住户',
            //  打开内容
            content :  '/estate/user/indexImportExcel/8'
        });
    });

    form.on('submit(faceImport)', function(){
        layer.open({
            //  0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
            type    :   2,
            //  宽高
            area    :   ['500px', '315px'],
            //  禁用最大最小化
            maxmin  :   false,
            //  禁用拖拽
            move    :   false,
            //  弹窗标题
            title   :    '导入住户人脸',
            //  打开内容
            content :  '/estate/user/indexImportFaceZip'
        });
    });

    //同步第三方信息
    form.on('submit(sync)', function(){
        var layerIndex = layer.load(1);
        common.sendAsyncRequest("/estate/user/thirdUserSync",'GET',{},function (result){
            if(result.data){
                //  刷新表格
                layer.close(layerIndex);
                layer.msg(result.data);
            }else{
                layer.msg(result.data);
            }
        });

    });

    //监听导出
    form.on('submit(export)', function(){
        window.location.href = "/estate/user/exportUser";
    });

    //数据脱敏
    var desensitize = false;
    form.on('submit(desensitize)',function (obj){
        let button = obj.elem
        if (!desensitize){
            button.innerHTML = "关闭敏感数据"
        }else {
            button.innerHTML = "查看敏感数据"
        }
        desensitize = !desensitize;
        reloadTable();
    })

    //小区查询下拉列表
    var residentialSelect = xmSelect.render({
        el: '#residential_name',
        radio: true,
        prop: {
            name: 'name',
            value: 'id',
        },
        toolbar: {
            show: true,
            list: [{
                name: '清空',
                method: function(){
                    residentialSelect.setValue([]);
                    $node.residentialId.val('');
                    buildingSelect.update({disabled:true}).setValue([]);
                    $node.buildingId.val('');
                    unitSelect.update({disabled:true}).setValue([]);
                    $node.unitId.val('');
                    roomSelect.update({disabled:true}).setValue([]);
                    $node.roomId.val('');
                }
            }]
        },
        clickClose: true,
        filterable: true,
        remoteSearch: true,
        remoteMethod: function (val, cb, show) {
            $.ajax({
                type: 'GET',
                url: '/estate/residential/getListByLikeName',
                data: {
                    name : val,
                    // selectTreeId : selectTreeId,
                    regionProvince : $('input[name="regionProvince"]').val(),
                    regionCity : $('input[name="regionCity"]').val(),
                    regionArea : $('input[name="regionArea"]').val(),
                    isSelect : true
                },
                success: function (result) {
                    cb(result.list);
                },
                error: function () {
                    cb([]);
                }
            });
        },
        //监听选择
        on: function (data) {
            var change = data.change;
            if (change.length > 0) {
                $node.residentialId.val(change[0].id);
                buildingSelect.update({data : initBuildingFn({residentialId : change[0].id}),disabled: false });
                unitSelect.update({disabled : true });
                roomSelect.update({disabled : true});
            }
            if (!data.isAdd) {
                $node.buildingId.val('');
                buildingSelect.update({disabled : true });
                unitSelect.update({disabled : true });
                roomSelect.update({disabled : true});
            }
            $node.buildingId.val('');
            $node.unitId.val('');
            $node.roomId.val('');
        },
        //显示方式
        model: {
            label: {
                type: 'text',
                text: {
                    //左边拼接的字符
                    left: '',
                    //右边拼接的字符
                    right: '',
                    //中间的分隔符
                    separator: ', ',
                },
            }
        },
    });

    //楼栋查询下拉列表
    var buildingSelect = xmSelect.render({
        el: '#building_name',
        radio: true,
        disabled: true,
        prop: {
            name: 'name',
            value: 'id',
        },
        toolbar: {
            show: true,
            list: [{
                name: '清空',
                method: function(){
                    buildingSelect.setValue([]);
                    $node.buildingId.val('');
                    unitSelect.update({disabled:true}).setValue([]);
                    $node.unitId.val('');
                    roomSelect.update({disabled:true}).setValue([]);
                    $node.roomId.val('');
                }
            }]
        },
        clickClose: true,
        filterable: true,
        remoteSearch: true,
        remoteMethod: function (val, cb, show) {
            $.ajax({
                type: 'GET',
                url: '/estate/building/getListByLikeName',
                data: {
                    name : val,
                    residentialId : $node.residentialId.val(),
                    isSelect : true
                },
                success: function (result) {
                    cb(result.list);
                },
                error: function () {
                    cb([]);
                }
            });
        },
        //监听选择
        on: function (data) {
            var change = data.change;
            if (change.length > 0) {
                $node.buildingId.val(change[0].id);
                unitSelect.update({data : initUnitFn({buildingId : change[0].id}),disabled: false });
                roomSelect.update({disabled : true});
            }
            if (!data.isAdd) {
                $node.buildingId.val('');
                unitSelect.update({disabled : true });
                roomSelect.update({disabled : true});
            }
            $node.unitId.val('');
            $node.roomId.val('');
        },
        //显示方式
        model: {
            label: {
                type: 'text',
                text: {
                    //左边拼接的字符
                    left: '',
                    //右边拼接的字符
                    right: '',
                    //中间的分隔符
                    separator: ', ',
                },
            }
        },
    });

    //单元查询下拉列表
    var unitSelect = xmSelect.render({
        el: '#unit_name',
        disabled: true,
        radio: true,
        prop: {
            name: 'name',
            value: 'id',
        },
        toolbar: {
            show: true,
            list: [{
                name: '清空',
                method: function(){
                    unitSelect.setValue([]);
                    $node.unitId.val('');
                    roomSelect.update({disabled:true}).setValue([]);
                    $node.roomId.val('');
                }
            }]
        },
        clickClose: true,
        filterable: true,
        remoteSearch: true,
        remoteMethod: function (val, cb, show) {
            $.ajax({
                type: 'GET',
                url: '/estate/unit/getListByLikeName',
                data: {
                    name : val,
                    buildingId : $node.buildingId.val(),
                    isSelect : true
                },
                success: function (result) {
                    cb(result.list);
                },
                error: function () {
                    cb([]);
                }
            });
        },
        //监听选择
        on: function (data) {
            var change = data.change;
            if (change.length > 0) {
                $node.unitId.val(change[0].id);
                roomSelect.update({data : initRoomFn({residentialId : $node.residentialId.val(),unitId : change[0].id}) , disabled : false});
            }
            if (!data.isAdd) {
                $node.unitId.val('');
                roomSelect.update({data : [] , disabled : true});
            }
            $node.roomId.val('');
        },
        //显示方式
        model: {
            label: {
                type: 'text',
                text: {
                    //左边拼接的字符
                    left: '',
                    //右边拼接的字符
                    right: '',
                    //中间的分隔符
                    separator: ', ',
                },
            }
        },
    });

    //房间查询下拉列表
    var roomSelect = xmSelect.render({
        el: '#room_name',
        disabled: true,
        radio: true,
        prop: {
            name: 'name',
            value: 'id',
        },
        toolbar: {
            show: true,
            list: [{
                name: '清空',
                method: function(){
                    roomSelect.setValue([]);
                    $node.roomId.val('');
                }
            }]
        },
        clickClose: true,
        filterable: true,
        remoteSearch: true,
        remoteMethod: function (val, cb, show) {
            $.ajax({
                type: 'GET',
                url: '/estate/room/getListByLikeName',
                data: {
                    name : val,
                    residentialId : $node.residentialId.val(),
                    unitId : $node.unitId.val(),
                    isSelect : true
                },
                success: function (result) {
                    cb(result.list);
                },
                error: function () {
                    cb([]);
                }
            });
        },
        //监听选择
        on: function (data) {
            var change = data.change;
            if (change.length > 0) {
                $node.roomId.val(change[0].id)
            }
            if (!data.isAdd) {
                $node.roomId.val('');
            }
        },
        //显示方式
        model: {
            label: {
                type: 'text',
                text: {
                    //左边拼接的字符
                    left: '',
                    //右边拼接的字符
                    right: '',
                    //中间的分隔符
                    separator: ', ',
                },
            }
        },
    });

    function initResidentialFn() {
        var residentialList;
        common.sendSyncRequest("/estate/residential/getListByLikeName", 'get', {
            selectTreeId : selectTreeId,
            regionProvince : $('input[name="regionProvince"]').val(),
            regionCity : $('input[name="regionCity"]').val(),
            regionArea : $('input[name="regionArea"]').val(),
            isSelect : true
        }, function (result) {
            residentialList = result.list;
        });
        return residentialList;
    }
    function initBuildingFn(data) {
        var buildingList;
        common.sendSyncRequest("/estate/building/getListByLikeName", 'get', {residentialId : data.residentialId,id : data.id,isSelect : true}, function (result) {
            buildingList = result.list;
        });
        return buildingList;
    }
    function initUnitFn(data) {
        var unitList;
        common.sendSyncRequest("/estate/unit/getListByLikeName", 'get', {buildingId : data.buildingId,id : data.id,isSelect : true}, function (result) {
            unitList = result.list;
        });
        return unitList;
    }
    function initRoomFn(data) {
        var roomList;
        common.sendSyncRequest("/estate/room/getListByLikeName", 'get', {residentialId : data.residentialId,unitId : data.unitId,id : data.id,isSelect : true}, function (result) {
            roomList = result.list;
        });
        return roomList;
    }
});