replaceMethods(reason) {
const errors = [];
reason.configs.forEach((reasonItem) => {
if (!reasonItem.attrKey) errors.push('请选择属性名称');
if (!reasonItem.selectType) errors.push('请选择条件');
if (!reasonItem.attrValue.length) errors.push('请选择属性值');
});
if (errors.length) {
this.$showErr(errors.join(','));
}
this.mainData.forEach((mainDateItem) => {
let canCopyNum = 0;
reason.configs.forEach((reasonItem) => {
if (reasonItem.type === 'fixed') {
canCopyNum += 1;
} else {
const attrKey = reasonItem.attrKey;
const attValue = reasonItem.attrValue;
const getAttrKeyOptions = this.getExtOptions(mainDateItem.id).map((item) => item.attrKey);
const getAttrValueOptions = this.getExtOptions(mainDateItem.id).map((attrOptionsItem) => attrOptionsItem.attrOptions).map((item) => item.value).filter((undefinedItem) => undefinedItem);
const attrKeyValid = getAttrKeyOptions.includes(attrKey);
const attrValueValid = attValue.every((item) => {
if (getAttrValueOptions.includes(item)) {
return true;
} else {
return false;
}
});
if (attrKeyValid && attrValueValid) canCopyNum += 1;
}
});
if (canCopyNum === reason.configs.length) {
mainDateItem.configs = _.cloneDeep(reason.configs);
}
});
},