1. 程式人生 > >jquery 多維度條件篩選以及頁面重新整理展示

jquery 多維度條件篩選以及頁面重新整理展示

實現程式碼核心程式碼:

把資料遍歷成合適的json物件

 function hqwdDataDeil(data){   
        //此方法,主要處理通用的資料展示,包括把公司、渠道、品牌、店鋪、倉庫進行資料拆分賦值處理
        //第一層for迴圈,是區分公司;第二層for迴圈,是區分渠道;第三層for迴圈,是區分品牌;第四層for迴圈,是區分店鋪(客戶):第五層for迴圈,是區分倉庫.
        var datasx = new Array();
        for (let i in data) {
            let customer = i;
            child = data[i];
            var  ditch = new Array();
            for (let j in child) {
                let ditchName = j;
                let brand = new Array();
                ditch.push({"ditch":ditchName,"brandList":brand});
                for (let m in child[j]) {
                    let brandName = m;
                    let shop = new Array();
                    brand.push({"brand":brandName,"shopList":shop});
                    for(let q in child[j][m]){
                        let shopName = q;
                        let warehouList = new Array();
                        shop.push({"shop":shopName,"warehousesList":warehouList});
                        for(let p in child[j][m][q]){
                            let warehousesName = p;
                            warehouList.push({"warehous":warehousesName});
                        }
                    }                   
                }
            }
            data_all.push({"customer":customer,"ditchList":ditch});
        }
    }

不同維度程式碼處理:

/公司下面的
    function supplier_codeF(data){
        dataS.supplier_code.length=0;
        dataS.ditch_code.length=0;
        dataS.brand_code.length=0;
        dataS.shop_code.length=0;
        dataS.warehous_code.length=0;
        var flag=true;
        var supplier_code=data.companys;
        for(var i=0;i<supplier_code.length;i++){
            if(supplier_code[i]!=null){
                if($('.active').val() == 1){
                    if(supplier_code[i].dic_type == 'shop1'){
                        dataS.warehous_code.push(supplier_code[i]);
                    }else if(supplier_code[i].dic_type == 'ditch1' ){
                             dataS.ditch_code.push(supplier_code[i]);
                    }else if(supplier_code[i].dic_type == 'supplier1'){
                        dataS.supplier_code.push(supplier_code[i]);
                    }else if(supplier_code[i].dic_type == 'brand1'){
                        dataS.brand_code.push(supplier_code[i]);
                    }else{
                        dataS.shop_code.push(supplier_code[i]);
                    }
                }else if($('.active').val() == 2){
                    if(supplier_code[i].dic_type == 'shop2'){
                        dataS.warehous_code.push(supplier_code[i]);
                    }else if(supplier_code[i].dic_type == 'ditch2' ){
                             dataS.ditch_code.push(supplier_code[i]);
                    }else if(supplier_code[i].dic_type == 'supplier2'){
                        dataS.supplier_code.push(supplier_code[i]);
                    }else if(supplier_code[i].dic_type == 'brand2'){
                        dataS.brand_code.push(supplier_code[i]);
                    }else{
                        dataS.shop_code.push(supplier_code[i]);
                    }
                }else{
                    if(supplier_code[i].dic_type == 'shop3'){
                        dataS.warehous_code.push(supplier_code[i]);
                    }else if(supplier_code[i].dic_type == 'ditch3' ){
                             dataS.ditch_code.push(supplier_code[i]);
                    }else if(supplier_code[i].dic_type == 'supplier3'){
                        dataS.supplier_code.push(supplier_code[i]);
                    }else if(supplier_code[i].dic_type == 'brand3'){
                        dataS.brand_code.push(supplier_code[i]);
                    }else{
                        dataS.shop_code.push(supplier_code[i]);
                    }
                }
                ditchF(dataS.ditch_code);
                wareHousesF(dataS.shop_code);
                brand_codeF(dataS.brand_code);
            }
        }
        queryReload(dataS);
    }

    //渠道下面的
    function ditchF(data){
        var ditchs=data;
        for(var i1=0;i1<ditchs.length;i1++){
            if(ditchs[i1]!=null){
                var flag=true;
                if(dataS.ditch_code.length==0){
                    dataS.ditch_code.push({"name":ditchs[i1].name,"value":ditchs[i1].value});
                }else{
                    for(var a1=0;a1<dataS.ditch_code.length;a1++){
                        if(dataS.ditch_code[a1].name==ditchs[i1]['name']){
                            flag=false;
                        }
                    }
                    if(flag){
                        dataS.ditch_code.push({"name":ditchs[i1].name,"value":ditchs[i1].value});
                    }
                }
            }
        }
    }

    //品牌下面的
    function brand_codeF(data){
        var brand_code=data;
        for(var i2=0;i2<brand_code.length;i2++){
            if(brand_code[i2]!=null){
                var flag1=true;
                if(dataS.brand_code.length==0){
                    dataS.brand_code.push({"name":brand_code[i2].name,"value":brand_code[i2].value});
                }else{
                    for(var a2=0;a2<dataS.brand_code.length;a2++){
                        if(dataS.brand_code[a2]['name']==brand_code[i2]['name']){
                            flag1=false;
                        }
                    }
                    if(flag1){
                        dataS.brand_code.push({"name":brand_code[i2].name,"value":brand_code[i2].value});
                    }
                }
            }
        }
    }
    //倉庫的
    function wareHousesF(data){
        var warehouses=data;
        for(var i3=0;i3<warehouses.length;i3++){
            if(warehouses[i3]!=null){
                var flag2=true;
                if(dataS.shop_code.length==0){
                    dataS.shop_code.push({"name":warehouses[i3].name,"value":warehouses[i3].value});
                }else{
                    for(var a3=0;a3<dataS.shop_code.length;a3++){
                        if(dataS.shop_code[a3]['name']==warehouses[i3]['name']){
                            flag2=false;
                        }
                    }
                    if(flag2){
                        dataS.shop_code.push({"name":warehouses[i3].name,"value":warehouses[i3].value});
                    }
                }
            }
        }
    }

篩選相應的資料

 //點選搜尋條件篩選相應資料
    var supplier = '',ditch ='',brand ='',shop ='',warehous = '';
    function commonData(key,data,categary,headerName){
        //判斷維度是否存在
        if(key == "supplier_code"){
            supplier = data;
        }else if(key == "ditch_code"){
            ditch = data;
        }else if(key == "brand_code"){
            brand = data;
        }else if(key == "shop_code"){
            shop = data;
        }else if(key == "warehous_code"){
            warehous = data;
        }
        if(key == "supplier_code" && data ==undefined && categary == undefined){
            supplier ='';
        }else if(key == "ditch_code" && data ==undefined && categary == undefined){
            ditch = '';
        }else if(key == "brand_code" && data ==undefined && categary == undefined){
            brand = '';
        }else if(key == "shop_code" && data ==undefined && categary == undefined){
            shop = '';
        }else if(key == "warehous_code" && data ==undefined && categary == undefined){
            warehous = '';
        }
        //整理資料
        var data_wd = {
            supplier : supplier,
            ditch : ditch,
            brand : brand,
            shop : shop,
            warehous : warehous
        };

        if(data_wd.supplier !='' && data_wd.ditch =='' && data_wd.brand == '' &&  data_wd.shop == '' && data_wd.warehous == ''){
            localStorage.setItem("flagsx",1);
        }else if(data_wd.supplier =='' && data_wd.ditch !='' && data_wd.brand == '' &&  data_wd.shop == '' && data_wd.warehous == ''){
            localStorage.setItem("flagsx",2);
        }else if(data_wd.supplier =='' && data_wd.ditch =='' && data_wd.brand != '' &&  data_wd.shop == '' && data_wd.warehous == ''){
            localStorage.setItem("flagsx",3);
        }else if(data_wd.supplier =='' && data_wd.ditch =='' && data_wd.brand == '' &&  data_wd.shop != '' && data_wd.warehous == ''){
            localStorage.setItem("flagsx",4);
        }else if(data_wd.supplier =='' && data_wd.ditch =='' && data_wd.brand == '' &&  data_wd.shop == '' && data_wd.warehous != ''){
            localStorage.setItem("flagsx",5);
        }else if(data_wd.supplier =='' && data_wd.ditch =='' && data_wd.brand == '' &&  data_wd.shop == '' && data_wd.warehous == ''){
            localStorage.setItem("flagsx",0);
        }

        var flagsx = localStorage.flagsx;
       
        dataS1={
            supplier_code:[],
            ditch_code:[],
            brand_code:[],
            shop_code:[],
            warehous_code : []
        };
        //資料整合
        if(flagsx == 1){
            let gsData = new Array(),brandData = new Array(),shopData = new Array(),ckData = new Array();
            var supData1 = data_wd.supplier.split(','); 
            let ditData = data_wd.ditch.split(',');
            let braData = data_wd.brand.split(',');
            let warData = data_wd.warehous.split(',');
            for(var a=0;a<supData1.length;a++){
                for(var i=0;i<data_all.length;i++){
                    if(supData1[a] == data_all[i].customer){
                        ditchData = data_all[i];
                        dataS1.supplier_code.push(data_all[i].customer);
                        for(var j=0;j<data_all[i].ditchList.length;j++){
                            for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                                dataS1.brand_code.push(data_all[i].ditchList[j].brandList[m].brand);
                                for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList.length;q++){
                                    dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].shop);
                                    for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList.length;p++){
                                        dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList[p].warehous);
                                    }
                                }
                            }
                            dataS1.ditch_code.push(data_all[i].ditchList[j].ditch);
                        }
                    }
                }
            }

            //判斷公司,渠道都選擇
            if(data_wd.ditch!='' && data_wd.brand==''){
                dataS1.ditch_code.length = 0;
                dataS1.brand_code.length = 0;
                dataS1.shop_code.length = 0;
                dataS1.warehous_code.length = 0;
                for(let b=0;b<supData1.length;b++){
                    for(let c=0;c<ditData.length;c++){
                        for(var i=0;i<data_all.length;i++){
                            for(var j=0;j<data_all[i].ditchList.length;j++){
                                if(ditData[c] ==data_all[i].ditchList[j].ditch && supData1[b] == data_all[i].customer){
                                    dataS1.ditch_code.push(ditData[c]);
                                    for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                                        dataS1.brand_code.push(data_all[i].ditchList[j].brandList[m].brand);
                                        for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList.length;q++){
                                            dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].shop);
                                            for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList.length;p++){
                                                dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList[p].warehous);
                                            }
                                        }
                                    } 
                                }
                            }
                        }
                    }
                }
            }

            //判斷公司、品牌都選擇
            if(data_wd.brand!='' && data_wd.ditch==''){
                dataS1.ditch_code.length = 0;
                dataS1.brand_code.length = 0;
                dataS1.shop_code.length = 0;
                dataS1.warehous_code.length = 0;
                for(let b=0;b<supData1.length;b++){
                    for(let c=0;c<braData.length;c++){
                        for(var i=0;i<data_all.length;i++){
                            for(var j=0;j<data_all[i].ditchList.length;j++){
                                for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                                    if(braData[c] ==data_all[i].ditchList[j].brandList[m].brand && supData1[b] == data_all[i].customer){
                                        dataS1.ditch_code.push(data_all[i].ditchList[j].ditch);
                                        dataS1.brand_code.push(braData[c]);
                                        for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList.length;q++){
                                            dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].shop);
                                            for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList.length;p++){
                                                dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList[p].warehous);
                                            }
                                        }
                                    } 
                                }
                            }
                        }
                    }
                }
            }

            //判斷公司、倉庫都選擇
            if(data_wd.warehous!='' && data_wd.brand =='' && data_wd.ditch==''){
                dataS1.ditch_code.length = 0;
                dataS1.brand_code.length = 0;
                dataS1.shop_code.length = 0;
                dataS1.warehous_code.length = 0;
                for(let b=0;b<supData1.length;b++){
                    for(let c=0;c<warData.length;c++){
                        for(var i=0;i<data_all.length;i++){
                            for(var j=0;j<data_all[i].ditchList.length;j++){
                                for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                                    for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList.length;q++){
                                        for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList.length;p++){
                                                if(warData[c] ==data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList[p].warehous && supData1[b] == data_all[i].customer){
                                                    dataS1.ditch_code.push(data_all[i].ditchList[j].ditch);
                                                    dataS1.brand_code.push(data_all[i].ditchList[j].brandList[m].brand);
                                                    dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].shop);
                                                    dataS1.warehous_code.push(warData[c]);
                                            }
                                        }
                                    } 
                                }
                            }
                        }
                    }
                }
            }

            //判斷公司、渠道、品牌都選擇
            if(data_wd.ditch!='' && data_wd.brand!=''){
                dataS1.ditch_code.length = 0;
                dataS1.brand_code.length = 0;
                dataS1.shop_code.length = 0;
                dataS1.warehous_code.length = 0;
                for(let b=0;b<supData1.length;b++){
                    for(let c=0;c<ditData.length;c++){
                        for(let d=0;d<braData.length;d++){
                            for(var i=0;i<data_all.length;i++){
                                for(var j=0;j<data_all[i].ditchList.length;j++){
                                    for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                                        if(ditData[c] ==data_all[i].ditchList[j].ditch && supData1[b] == data_all[i].customer && braData[d] == data_all[i].ditchList[j].brandList[m].brand){
                                            dataS1.ditch_code.push(ditData[c]);
                                            dataS1.brand_code.push(braData[d]);
                                            for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList.length;q++){
                                                dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].shop);
                                                for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList.length;p++){
                                                    dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList[p].warehous);
                                                }
                                            }
                                        } 
                                    }
                                }
                            }
                        }
                        
                    }
                }
            }

            //判斷公司、品牌、倉庫
            if(data_wd.brand!='' && data_wd.warehous!=''){
                dataS1.warehous_code.length = 0;
                for(let a=0;a<warData.length;a++){
                    dataS1.warehous_code.push(warData[a]);
                }
            }

            //判斷公司、渠道、品牌、倉庫都選擇
            if(data_wd.ditch!='' && data_wd.brand!='' && data_wd.warehous){
                dataS1.shop_code.length = 0;
                dataS1.warehous_code.length = 0;
                for(let b=0;b<supData1.length;b++){
                    for(let c=0;c<ditData.length;c++){
                        for(let d=0;d<braData.length;d++){
                            for(let e=0;e<warData.length;e++){
                                for(var i=0;i<data_all.length;i++){
                                    for(var j=0;j<data_all[i].ditchList.length;j++){
                                        for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                                            for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList.length;q++){
                                                dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].shop);
                                                for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList.length;p++){
                                                    if(ditData[c] ==data_all[i].ditchList[j].ditch && supData1[b] == data_all[i].customer && braData[d] == data_all[i].ditchList[j].brandList[m].brand && warData[e] == data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList[p].warehous){
                                                        dataS1.warehous_code.push(warData[e]);
                                                    }
                                                }
                                            } 
                                        }
                                    }
                                }
                            }
                            
                        }
                        
                    }
                }
            }
            
        }else if(flagsx == 2){
            //選擇渠道
            var gsData = new Array(),brandData = new Array(),ckData = new Array();
            let ditchData = data_wd.ditch.split(',');
            let supplData = data_wd.supplier.split(',');
            let braData = data_wd.brand.split(',');
            let warData = data_wd.warehous.split(',');
            for(let a=0;a<ditchData.length;a++){
                for(var i=0;i<data_all.length;i++){
                    for(var j=0;j<data_all[i].ditchList.length;j++){
                        if(ditchData[a] ==data_all[i].ditchList[j].ditch){
                            for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                                for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList.length;p++){
                                    for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList.length;q++){
                                        dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous);
                                        dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].shop);
                                        dataS1.brand_code.push(data_all[i].ditchList[j].brandList[m].brand);
                                        dataS1.ditch_code.push(data_all[i].ditchList[j].ditch);
                                        dataS1.supplier_code.push(data_all[i].customer);
                                        gsData.push({"customer":data_all[i].customer});
                                        brandData.push({"brand":data_all[i].ditchList[j].brandList[m].brand});
                                    }
                                }
                            }
                        }
                    }
                }
            }
            
            //判斷渠道,公司都選擇
            if(data_wd.ditch!='' && data_wd.supplier!=''){
                dataS1.supplier_code.length = 0;
                for(let a=0;a<supplData.length;a++){
                    for(var i=0;i<gsData.length;i++){
                        if(supplData[a] == gsData[i].customer){
                            dataS1.supplier_code.push(gsData[i].customer);
                        }
                    }
                }
                
            }

            //判斷品牌,渠道都選擇
            if(data_wd.ditch!='' && data_wd.brand!=''){
                dataS1.warehous_code.length = 0;
                dataS1.shop_code.length = 0;
                dataS1.brand_code.length = 0;
                for(let a=0;a<ditchData.length;a++){
                    for(let b=0;b<braData.length;b++){
                        for(var i=0;i<data_all.length;i++){
                            for(var j=0;j<data_all[i].ditchList.length;j++){
                                for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                                    if(ditchData[a] ==data_all[i].ditchList[j].ditch && braData[b] == data_all[i].ditchList[j].brandList[m].brand){
                                        for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList.length;p++){
                                            for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList.length;q++){
                                                dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous);
                                                dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].shop);
                                                dataS1.brand_code.push(data_all[i].ditchList[j].brandList[m].brand);
                                                ckData.push({"warehous":data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous});
                                            }
                                        }
                                    }
                                }
                            }
                        }    
                    }
                }
               
            }
            
            //判斷品牌,渠道,倉庫都選擇
            if(data_wd.ditch!='' && data_wd.brand!='' && data_wd.warehous!=''){
                dataS1.warehous_code.length = 0;
                for(let a=0;a<warData.length;a++){
                    dataS1.warehous_code.push(warData[a]);  
                }
                
                if(brandData.length>0){
                    dataS1.brand_code.length = 0;
                    for(let b=0;b<braData.length;b++){
                        dataS1.brand_code.push(braData[b]);
                    }
                    
                }
            }

            //判斷渠道、倉庫都選擇
            if(data_wd.ditch!='' && data_wd.warehous!='' && data_wd.brand==''){
                dataS1.warehous_code.length = 0;
                dataS1.shop_code.length = 0;
                dataS1.brand_code.length = 0;
                brandData.length = 0;
                for(let a=0;a<ditchData.length;a++){
                    for(let b=0;b<warData.length;b++){
                        for(var i=0;i<data_all.length;i++){
                            for(var j=0;j<data_all[i].ditchList.length;j++){
                                for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                                    for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList.length;p++){
                                        for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList.length;q++){
                                            if(ditchData[a] ==data_all[i].ditchList[j].ditch && warData[b] == data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous){
                                                dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous);
                                                dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].shop);
                                                dataS1.brand_code.push(data_all[i].ditchList[j].brandList[m].brand);
                                                ckData.push({"warehous":data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous});
                                                brandData.push({"brand":data_all[i].ditchList[j].brandList[m].brand});
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                    
            }

        }else if(flagsx == 3){
           //判斷選擇品牌
           dataS1.supplier_code.length = 0;
           dataS1.ditch_code.length = 0;
           dataS1.brand_code.length = 0;
           dataS1.shop_code.length = 0;
           dataS1.warehous_code.length = 0;
           let brandData = data_wd.brand.split(',');
           let warData = data_wd.warehous.split(',');
           let ditchData = data_wd.ditch.split(',');
           let supplData = data_wd.supplier.split(',');
           var ckData = new Array(),qdData = new Array(), gsData = new Array();
           for(var a=0;a<brandData.length;a++){
                for(var i=0;i<data_all.length;i++){
                    for(var j=0;j<data_all[i].ditchList.length;j++){
                        for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                            if(brandData[a] == data_all[i].ditchList[j].brandList[m].brand){
                                for(var p = 0;p<data_all[i].ditchList[j].brandList[m].shopList.length;p++){
                                    for(var q = 0;q<data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList.length;q++){
                                        dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous);
                                        dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].shop);
                                        ckData.push({"warehous":data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous});
                                    }
                                }
                                dataS1.brand_code.push(data_all[i].ditchList[j].brandList[m].brand);
                                dataS1.ditch_code.push(data_all[i].ditchList[j].ditch);
                                dataS1.supplier_code.push(data_all[i].customer); 
                                qdData.push({"ditch":data_all[i].ditchList[j].ditch});
                                gsData.push({"customer":data_all[i].customer});
                            }
                        }
                    }
                }
           }
           
            //選擇品牌、倉庫
            if(data_wd.brand!='' && data_wd.warehous!=''){
                dataS1.warehous_code.length = 0;
                for(var b=0;b<warData.length;b++){
                    for(var i=0;i<ckData.length;i++){
                        if(warData[b] == ckData[i].warehous){
                            dataS1.warehous_code.push(ckData[i].warehous);
                        }
                    }
                }  
            }
            //選中品牌、渠道
            if(data_wd.brand!='' && data_wd.ditch!=''){
                dataS1.ditch_code.length = 0;
                for(let a=0;a<ditchData.length;a++){
                    for(var i=0;i<qdData.length;i++){
                        if(ditchData[a] == qdData[i].ditch){
                            dataS1.ditch_code.push(qdData[i].ditch);
                        }
                    }
                }
            }
            //選中品牌、公司
            if(data_wd.brand!='' && data_wd.supplier!=''){
                dataS1.supplier_code.length = 0;
                for(let a = 0;a<supplData.length;a++){
                    for(var i=0;i<gsData.length;i++){
                        if(supplData[a] == gsData[i].customer){
                            dataS1.supplier_code.push(gsData[i].customer);
                        }
                    }
                }
                
            }
        }else if(flagsx == 4){
            console.log("客戶暫無資料");
        }else if(flagsx == 5){
            var gsData = new Array();
            var wareData = data_wd.warehous.split(',');
            for(let a=0;a<wareData.length;a++){
                for(var i=0;i<data_all.length;i++){
                    for(var j=0;j<data_all[i].ditchList.length;j++){
                        for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                            for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList.length;p++){
                                for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList.length;q++){
                                    if(wareData[a] == data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous){
                                        dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous);
                                        dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].shop);
                                        dataS1.brand_code.push(data_all[i].ditchList[j].brandList[m].brand);
                                        dataS1.ditch_code.push(data_all[i].ditchList[j].ditch);
                                        dataS1.supplier_code.push(data_all[i].customer);
                                        gsData.push({"customer":data_all[i].customer});
                                    }
                                }
                                
                            }
                        }
                    }
                }
            }
            //判斷同時選擇倉庫、品牌
            if(data_wd.brand!='' && data_wd.warehous!=''){
                dataS1.brand_code.length = 0;
                dataS1.supplier_code.length = 0;
                var brandData = data_wd.brand.split(',');
                var wareData = data_wd.warehous.split(',');
                for(let a=0;a<brandData.length;a++){
                    for(let b=0;b<wareData.length;b++){
                        for(var i=0;i<data_all.length;i++){
                            for(var j=0;j<data_all[i].ditchList.length;j++){
                                for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                                    for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList.length;p++){
                                        for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList.length;q++){
                                            if(wareData[b] == data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous && brandData[a] == data_all[i].ditchList[j].brandList[m].brand){
                                                dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].warehousesList[q].warehous);
                                                dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[p].shop);
                                                dataS1.brand_code.push(brandData[a]);
                                                dataS1.ditch_code.push(data_all[i].ditchList[j].ditch);
                                                dataS1.supplier_code.push(data_all[i].customer);
                                                
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                
            }

            //判斷倉庫,公司都都選擇
            if(data_wd.warehous!='' && data_wd.supplier!=''){
                var supData = data_wd.supplier.split(',');
                dataS1.supplier_code.length = 0;
                for(var i=0;i<gsData.length;i++){
                    for(let a=0;a<supData.length;a++){
                        if(supData[a] == gsData[i].customer){
                            dataS1.supplier_code.push(gsData[i].customer);
                        }
                    }
                }
            }

        }else{
            for(var i=0;i<data_all.length;i++){
                dataS1.supplier_code.push(data_all[i].customer);
                for(var j=0;j<data_all[i].ditchList.length;j++){
                    for(var m=0;m<data_all[i].ditchList[j].brandList.length;m++){
                        dataS1.brand_code.push(data_all[i].ditchList[j].brandList[m].brand);
                        for(var q=0;q<data_all[i].ditchList[j].brandList[m].shopList.length;q++){
                            dataS1.shop_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].shop);
                            for(var p=0;p<data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList.length;p++){
                                dataS1.warehous_code.push(data_all[i].ditchList[j].brandList[m].shopList[q].warehousesList[p].warehous);
                            }
                        }
                    }
                    dataS1.ditch_code.push(data_all[i].ditchList[j].ditch);
                }
            }
        }
        removeDuplicatedItem(dataS1.supplier_code);
        removeDuplicatedItem(dataS1.ditch_code);
        removeDuplicatedItem(dataS1.brand_code);
        removeDuplicatedItem(dataS1.shop_code);
        removeDuplicatedItem(dataS1.warehous_code);
        //資料整合處理,把兩個介面的資料,進行品牌,賦值處理
        for(var i=0;i<dataS1.supplier_code.length;i++){
            for(let j=0;j<insideData.companys.length;j++){
                if(dataS1.supplier_code[i] === insideData.companys[j].dic_code){
                    dataS1.supplier_code[i] = insideData.companys[j];
                }
            }
        }
        for(var i=0;i<dataS1.ditch_code.length;i++){
            for(let j=0;j<insideData.companys.length;j++){
                if(dataS1.ditch_code[i] === insideData.companys[j].dic_code){
                    dataS1.ditch_code[i] = insideData.companys[j];
                }
            }
        }
        for(var i=0;i<dataS1.brand_code.length;i++){
            for(let j=0;j<insideData.companys.length;j++){
                if(dataS1.brand_code[i] === insideData.companys[j].dic_code){
                    dataS1.brand_code[i] = insideData.companys[j];
                }
            }
        }
        for(var i=0;i<dataS1.shop_code.length;i++){
            for(let j=0;j<insideData.companys.length;j++){
                if(dataS1.shop_code[i] === insideData.companys[j].dic_code){
                    dataS1.shop_code[i] = insideData.companys[j];
                }
            }
        }
        for(var i=0;i<dataS1.warehous_code.length;i++){
            for(let j=0;j<insideData.companys.length;j++){
                if(dataS1.warehous_code[i] === insideData.companys[j].dic_code){
                    dataS1.warehous_code[i] = insideData.companys[j];
                }
            }
        }
        //倉庫對應資料進行判斷,是去除字串,只保留json物件。
        dataS1.supplier_code = warehousJson(dataS1.supplier_code);
        dataS1.ditch_code = warehousJson(dataS1.ditch_code);
        dataS1.brand_code = warehousJson(dataS1.brand_code);
        dataS1.shop_code = warehousJson(dataS1.shop_code);
        dataS1.warehous_code = warehousJson(dataS1.warehous_code);
        //資料篩選整合
        showSelectData(dataS1,categary,headerName,data_wd);
       
    }

資料去重以及非json物件刪除

//陣列去重
    function removeDuplicatedItem(arr) {
        for(var i = 0; i < arr.length-1; i++){
            for(var j = i+1; j < arr.length; j++){
                if(arr[i]==arr[j]){
                    arr.splice(j,1);//console.log(arr[j]);
                    j--;
               }
            }
        }
        return arr;
    }
    //清除陣列中的非json物件的資料
    function warehousJson(data){
        var warehouse = new Array();
        for(var i=0;i<data.length;i++){
            if(data[i].id != null || data[i].id != undefined){
                warehouse.push(data[i]);
            }
        }
        data = warehouse;
        return data;
    }

頁面展示

    //用來控制那個搜尋條件重新整理
    function queryReload(data,categary,headerName,data_wd){
        arrList={
            supplier_code:[],
            ditch_code:[],
            brand_code:[],
            shop_code:[],
            warehous_code : []
        };
        var searchData=$('#search-data');

        //公司
        function supplierF(){
            var str='';
            var supplier_code=searchData.find('div.supplierId');
            var supplier_codehtml=data.supplier_code;
            //資料排序
            var compare = function (obj1, obj2) {
                var val1 = obj1.dic_ext1?Number(obj1.dic_ext1):'999';
                var val2 = obj2.dic_ext1?Number(obj1.dic_ext1):'999';
                if (val1 < val2) {
                    return -1;
                } else if (val1 > val2) {
                    return 1;
                } else {
                    return 0;
                }            
            };
            var level1='<span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">一級:</span>',
            level2='<br/><span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">二級:</span>',
            level3='<br/><span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">三級:</span>';
           supplier_codehtml.sort(compare);
           var supcustomer2 = 0,supcustomer3=0;
            for(var i=0;i<supplier_codehtml.length;i++){
                if(supplier_codehtml[i].dic_ext2 == '1' || supplier_codehtml[i].dic_ext2 == null){
                    level1 += '<a href="javascript:;" class="c-item" data-header="'+ supplier_codehtml[i].dic_name +'" data-header-name="'+ supplier_codehtml[i].dic_code +'" data-flag="supplier_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ supplier_codehtml[i].dic_name +'</span></a>';
                }else if(supplier_codehtml[i].dic_ext2 == '2'){
                    supcustomer2 = 1;
                    level2 += '<a href="javascript:;" class="c-item" data-header="'+ supplier_codehtml[i].dic_name +'" data-header-name="'+ supplier_codehtml[i].dic_code +'" data-flag="supplier_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ supplier_codehtml[i].dic_name +'</span></a>';
                }else{
                    supcustomer3 = 1;
                    level3 += '<a href="javascript:;" class="c-item" data-header="'+ supplier_codehtml[i].dic_name +'" data-header-name="'+ supplier_codehtml[i].dic_code +'" data-flag="supplier_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ supplier_codehtml[i].dic_name +'</span></a>';
                }
                arrList.supplier_code.push({name:supplier_codehtml[i].dic_name,value:supplier_codehtml[i].dic_code});
            }
            //判斷隱藏
            if(supcustomer2>0 && supcustomer3>0){
                str+=level1+level2+level3+'<p class="remind hide1"><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }else if(supcustomer2>0 && supcustomer3==0){
                str+=level1+level2+'<p class="remind hide1"><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }else{
                str+=level1+'<p class="remind hide1"><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }
           
            supplier_code.html(str);
        }

        //渠道
        function ditchF(){
            var str='';
            var ditch_code=searchData.find('div.ditchId');
            var brand_codehtml=data.ditch_code;
            var compare = function (obj1, obj2) {
                var val1 = obj1.dic_ext1?Number(obj1.dic_ext1):'999';
                var val2 = obj2.dic_ext1?Number(obj1.dic_ext1):'999';
                if (val1 < val2) {
                    return -1;
                } else if (val1 > val2) {
                    return 1;
                } else {
                    return 0;
                }            
            };
            brand_codehtml.sort(compare);
            var level1='<span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">一級:</span>',
            level2='<br/><span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">二級:</span>',
            level3='<br/><span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">三級:</span>';
            var ditDatashow2 = 0,ditDatashow3 = 0;
            for(var i=0;i<brand_codehtml.length;i++){
                if(brand_codehtml[i].dic_ext2 == '1' || brand_codehtml[i].dic_ext2 == null){
                    level1+='<a href="javascript:;" class="c-item" data-header="'+ brand_codehtml[i].dic_name +'" data-header-name="'+ brand_codehtml[i].dic_code +'" data-flag="ditch_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ brand_codehtml[i].dic_name +'</span></a>';
                }else if(brand_codehtml[i].dic_ext2 == '2'){
                    ditDatashow2 = 1;
                    level2+='<a href="javascript:;" class="c-item" data-header="'+ brand_codehtml[i].dic_name +'" data-header-name="'+ brand_codehtml[i].dic_code +'" data-flag="ditch_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ brand_codehtml[i].dic_name +'</span></a>';
                }else{
                    ditDatashow3 = 1;
                    level3+='<a href="javascript:;" class="c-item" data-header="'+ brand_codehtml[i].dic_name +'" data-header-name="'+ brand_codehtml[i].dic_code +'" data-flag="ditch_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ brand_codehtml[i].dic_name +'</span></a>';
                }
               
                arrList.ditch_code.push({name:brand_codehtml[i].dic_name,value:brand_codehtml[i].dic_code});
            }
            if(ditDatashow2>0 && ditDatashow3>0){
                str+=level1+level2+level3+'<p class="remind hide1"><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }else if(ditDatashow2>0 && ditDatashow3==0){
                str+=level1+level2+'<p class="remind hide1"><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }else{
                str+=level1+'<p class="remind hide1"><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }
          
            ditch_code.html(str);
        }
        
        //店鋪倉庫
        function storeF(){
            var str='';
            var shop_code=searchData.find('div.store_warehouse');
            var storewarehousehtml=data.warehous_code;
            var level1='<span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">一級:</span>',
            level2='<br/><span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">二級:</span>',
            level3='<br/><span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">三級:</span>';
            var warelevel2 = 0, warelevel3 = 0;
            for(var i=0;i<storewarehousehtml.length;i++){
                if(storewarehousehtml[i].dic_ext2 == '1' || storewarehousehtml[i].dic_ext2 == null){
                    level1+='<a href="javascript:;" class="c-item" data-header="'+ storewarehousehtml[i].dic_name +'" data-header-name="'+ storewarehousehtml[i].dic_code +'" data-flag="warehous_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ storewarehousehtml[i].dic_name +'</span></a>';
                }else if(storewarehousehtml[i].dic_ext2 == '2'){
                    level2+='<a href="javascript:;" class="c-item" data-header="'+ storewarehousehtml[i].dic_name +'" data-header-name="'+ storewarehousehtml[i].dic_code +'" data-flag="warehous_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ storewarehousehtml[i].dic_name +'</span></a>';
                }else{
                    level3+='<a href="javascript:;" class="c-item" data-header="'+ storewarehousehtml[i].dic_name +'" data-header-name="'+ storewarehousehtml[i].dic_code +'" data-flag="warehous_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ storewarehousehtml[i].dic_name +'</span></a>';
                }
                
                arrList.shop_code.push({name:storewarehousehtml[i].dic_name,value:storewarehousehtml[i].dic_code});
            }
           
            if(warelevel2>0 && warelevel3>0){
                str+=level1+level2+level3+'<p class="remind hide1"><a href="javascript:;" class="checkAll">全選</a> <a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }else if(warelevel2>0 && warelevel3==0){
                str+=level1+level2+'<p class="remind hide1"><a href="javascript:;" class="checkAll">全選</a> <a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }else{
                str+=level1+'<p class="remind hide1"><a href="javascript:;" class="checkAll">全選</a> <a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }
            shop_code.html(str);
        }

        //品牌
        function brandF(){
            var level1='<span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">一級:</span>',
                level2='<br/><span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">二級:</span>',
                level3='<br/><span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">三級:</span>';
            var str='',name='',str1='',flag=false;
            var brand_code=searchData.find('div.brand_code');
            var brand_codehtml=data.brand_code;
            var brandlevel2 = 0,brandlevel3=0;
            for(var i=0;i<brand_codehtml.length;i++){
                if(brand_codehtml[i].dic_ext2 == '1' || brand_codehtml[i].dic_ext2 == null){
                    level1+='<a href="javascript:;" class="c-item" data-header="'+ brand_codehtml[i].dic_name +'" data-header-name="'+ brand_codehtml[i].dic_code +'" data-flag="brand_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ brand_codehtml[i].dic_name +'</span></a>';
                }else if(brand_codehtml[i].dic_ext2 == '2'){
                    level2+='<a href="javascript:;" class="c-item" data-header="'+ brand_codehtml[i].dic_name +'" data-header-name="'+ brand_codehtml[i].dic_code +'" data-flag="brand_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ brand_codehtml[i].dic_name +'</span></a>';
                }else{
                    level3+='<a href="javascript:;" class="c-item" data-header="'+ brand_codehtml[i].dic_name +'" data-header-name="'+ brand_codehtml[i].dic_code +'" data-flag="brand_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ brand_codehtml[i].dic_name +'</span></a>';
                }
               
                arrList.brand_code.push({name:brand_codehtml[i].dic_name,value:brand_codehtml[i].dic_code});
            }
            if(brandlevel2>0 && brandlevel3>0){
                str=level1+level2+level3+'<p class="remind hide1"><a href="javascript:;" class="checkAll">全選</a><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
                brand_code.eq(0).html(str);
            }else if(brandlevel2>0 && brandlevel3==0){
                str=level1+level2+'<p class="remind hide1"><a href="javascript:;" class="checkAll">全選</a><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
                brand_code.eq(0).html(str);
            }else{
                str=level1+'<p class="remind hide1"><a href="javascript:;" class="checkAll">全選</a><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
                brand_code.eq(0).html(str);
            }
           
        }

        //客戶
        function shopF(){
            var level1='<span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">一級:</span>',
            level2='<br/><span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">二級:</span>',
            level3='<br/><span class="list" style="vertical-align:top;display:inline-block;height:36px;line-height:36px;">三級:</span>';
            var str='',name='',str1='',flag=false;
            var customer_code=searchData.find('div.customer_code');
            var brand_codehtml=data.shop_code;
            var shoplevel2 = 0, shoplevel3 = 0;
            for(var i=0;i<brand_codehtml.length;i++){
                if(brand_codehtml[i].dic_ext2==='1' && brand_codehtml[i].dic_ext2 == null){
                    level1+='<a href="javascript:;" data-categary="1" class="c-item" data-header="'+ brand_codehtml[i].dic_name +'" data-header-name="'+ brand_codehtml[i].dic_code +'" data-flag="brand_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ brand_codehtml[i].dic_name +'</span></a>';
                }else if(brand_codehtml[i].dic_ext2==='2'){
                    level2+='<a href="javascript:;" data-categary="2" class="c-item" data-header="'+ brand_codehtml[i].dic_name +'" data-header-name="'+ brand_codehtml[i].dic_code +'" data-flag="brand_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ brand_codehtml[i].dic_name +'</span></a>';
                }else if(brand_codehtml[i].dic_ext2==='3'){ 
                    level3+='<a href="javascript:;" data-categary="3" class="c-item" data-header="'+ brand_codehtml[i].dic_name +'" data-header-name="'+ brand_codehtml[i].dic_code +'" data-flag="brand_code"><input type="checkbox" data-flag="true" class="hide checkbox1"/><span>'+ brand_codehtml[i].dic_name +'</span></a>';
                }
                arrList.warehous_code.push({name:brand_codehtml[i].dic_name,value:brand_codehtml[i].dic_code});
            }
            if(shoplevel2>0 && shoplevel3>0){
                str1=level1+level2+level3+'<p class="remind hide1"><a href="javascript:;" class="checkAll">全選</a><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }else if(shoplevel2>0 && shoplevel3==0){
                str1=level1+level2+'<p class="remind hide1"><a href="javascript:;" class="checkAll">全選</a><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }else{
                str1=level1+'<p class="remind hide1"><a href="javascript:;" class="checkAll">全選</a><a href="javascript:;" class="assured">確定</a><a href="javascript:;" class="cancel">取消</a> </p>';
            }
        
            customer_code.html(str1);
        }
        supplierF();//公司
        ditchF();//渠道
        brandF();//品牌
        shopF();//客戶
        storeF();//店鋪倉庫
    }

詳細操作,點選連結。