jquery 多維度條件篩選以及頁面重新整理展示
阿新 • • 發佈:2019-01-09
實現程式碼核心程式碼:
把資料遍歷成合適的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();//店鋪倉庫
}
詳細操作,點選連結。