web-africa-h5/common/specSelect.js

41 lines
916 B
JavaScript

/*判断哪些规格可以选*/
export const judgeSelect = (list,_index,productSpecArr,productSku) => {
/*大类*/
for (let i = 0, count = list.length; i < count; i++) {
/*小类*/
for (let j = 0; j < list[i].spec_items.length; j++) {
let item = list[i].spec_items[j];
if(i!=_index){
item.disabled = hasSpecId(i,item.item_id,productSpecArr,productSku);
}
}
}
}
/*判断有没有规格ID*/
function hasSpecId(index,id,productSpecArr,productSku){
let disabled=false;
let reg='';
for(let p=0;p<productSpecArr.length;p++){
if(p!=index){
if(productSpecArr[p]!=null){
reg+=productSpecArr[p]+'_';
}else{
reg+='[0-9]*_';
}
}else{
reg+=id+'_';
}
}
reg=reg.substr(0,reg.length-1);
let re=new RegExp(reg,'g');
for (let s = 0; s < productSku.length; s++) {
let ids=productSku[s].join('_');
disabled=re.test(ids);
if(disabled){
break;
}
}
return !disabled;
}