wuxw
2020-02-15 a31deb55464435b01fa45487b354ca2350780868
WebService/src/main/resources/components/orgPackage/addOrgCommunity/addOrgCommunity.js
@@ -1,19 +1,37 @@
(function(vc){
    vc.extends({
        propTypes: {
           emitListener:vc.propTypes.string,
           emitFunction:vc.propTypes.string
        },
        data:{
            addOrgCommunityInfo:{
                communitys:[],
                communityName:'',
                orgId:'',
                orgName:'',
                selectCommunitys:[]
            }
        },
        watch: { // 监视双向绑定的数据数组
            checkData: {
                handler(){ // 数据数组有变化将触发此函数
                    if(vc.component.addOrgCommunityInfo.selectCommunitys.length == vc.component.addOrgCommunityInfo.communitys.length){
                        document.querySelector('#quan').checked = true;
                    }else {
                        document.querySelector('#quan').checked = false;
                    }
                },
                deep: true // 深度监视
            }
        },
        _initMethod:function(){
        },
        _initEvent:function(){
            vc.on('addOrgCommunity','openAddOrgCommunityModal',function(_param){
                vc.component._refreshChooseOrgInfo();
                $('#addOrgCommunityModel').modal('show');
                vc.copyObject(_param,vc.component.addOrgCommunityInfo);
                vc.component._refreshChooseOrgInfo();
                vc.component._loadAllCommunityInfo(1,10,'');
            });
        },
@@ -23,10 +41,8 @@
                    params:{
                        page:_page,
                        row:_row,
                        communityId:vc.getCurrentCommunity().communityId,
                        name:_name,
                        orgLevel:vc.component.addOrgCommunityInfo.orgLevel,
                        parentOrgId:vc.component.addOrgCommunityInfo.parentOrgId,
                        orgId:vc.component.addOrgCommunityInfo.orgId
                    }
                };
@@ -35,21 +51,54 @@
                            'list',
                             param,
                             function(json){
                                var _orgInfo = JSON.parse(json);
                                vc.component.addOrgCommunityInfo.orgs = _orgInfo.orgs;
                                var _communityInfo = JSON.parse(json);
                                vc.component.addOrgCommunityInfo.communitys = _communityInfo.communitys;
                             },function(){
                                console.log('请求失败处理');
                             }
                           );
            },
            addOrgCommunity:function(_org){
                if(_org.hasOwnProperty('name')){
                     _org.orgName = _org.name;
                var _selectCommunitys = vc.component.addOrgCommunityInfo.selectCommunitys;
                var _tmpCommunitys = vc.component.addOrgCommunityInfo.communitys;
                if(_selectCommunitys.length <1){
                    vc.toast("请选择隶属小区");
                    return ;
                }
                vc.emit($props.emitChooseOrg,'addOrgCommunity',_org);
                vc.emit($props.emitLoadData,'listOrgData',{
                    orgId:_org.orgId
                });
                var _communitys = [];
                for(var _selectIndex = 0 ;_selectIndex <_selectCommunitys.length ;_selectIndex ++){
                    for(var _communityIndex =0; _communityIndex < _tmpCommunitys.length;_communityIndex++){
                        if(_selectCommunitys[_selectIndex] == _tmpCommunitys[_communityIndex].communityId){
                            _communitys.push({
                                communityId:_tmpCommunitys[_communityIndex].communityId,
                                communityName:_tmpCommunitys[_communityIndex].name
                            });
                        }
                    }
                }
                var _objData = {
                    orgId:vc.component.addOrgCommunityInfo.orgId,
                    orgName:vc.component.addOrgCommunityInfo.orgName,
                    communitys:_communitys
                }
                vc.http.post('addOrgCommunity',
                    'save',
                    JSON.stringify(_objData),
                    {
                        emulateJSON: true
                    },
                 function(json,res){
                    $('#addOrgCommunityModel').modal('hide');
                    if(res.status == 200){
                        vc.emit($props.emitListener,$props.emitFunction,{
                        });
                        return ;
                    }
                    vc.toast(json);
                 },function(){
                    console.log('请求失败处理');
                 }
               );
                $('#addOrgCommunityModel').modal('hide');
            },
            queryCommunitys:function(){
@@ -59,8 +108,22 @@
                vc.component.addOrgCommunityInfo={
                    communitys:[],
                    communityName:'',
                    orgId:'',
                    orgName:'',
                    selectCommunitys:[]
                };
            },
            checkAll:function(e){
                    var checkObj = document.querySelectorAll('.checkItem'); // 获取所有checkbox项
                    if(e.target.checked){ // 判定全选checkbox的勾选状态
                        for(var i=0;i<checkObj.length;i++){
                            if(!checkObj[i].checked){ // 将未勾选的checkbox选项push到绑定数组中
                                vc.component.addOrgCommunityInfo.selectCommunitys.push(checkObj[i].value);
                            }
                        }
                    }else { // 如果是去掉全选则清空checkbox选项绑定数组
                        vc.component.addOrgCommunityInfo.selectCommunitys = [];
                    }
            }
        }