需求是
之前試寫過很多種邏輯但是某些場景就會失靈,
花了兩三天時間了有點內耗
需要支援一下解法
感謝>"<
{
schema: 'acctg_year',
path: 'tableData',
key: 'custom',
validatorType: 'error',
errorMessage: this.translateService.instant('dj-bmc-会计年度需要连续'),
trigger: {
condition:// eslint-disable-next-line max-len
"(()=>{if(currentControl.parent.parent.controls.length<2){return false;};let result = false;result = !currentControl.parent.parent.controls.every((item,rowIndex)=>rowIndex===0 || (rowIndex>0 && (Number(currentControl.parent.parent.controls[rowIndex].get('acctg_year').value) === Number(currentControl.parent.parent.controls[rowIndex-1].get('acctg_year').value)+1)));return result;})()",
// 'currentControl.parent.parent.controls.filter((data,index)=> {return index>0 && (Number(currentControl.parent.parent.controls[index-1].get("acctg_year").value)+1 !== Number(currentControl.parent.parent.controls[index].get("acctg_year").value))});',
// 'currentControl.parent.parent.controls.filter((data,index)=> {return index>0 && (Number(currentControl.parent.parent.controls[index-1].value.acctg_year)+1 !== Number(data.value.acctg_year))});',
// '!currentControl.parent.parent.controls.every((control, index, array) => {if(array.length<2 || index===0){return true;};if(array.length>1 & index>0){let prev = Number(array[index - 1].get("acctg_year").value);let curr = Number(control.get("acctg_year").value);return prev + 1 === curr;}})',
type: 'sync',
point: 'default',
},
}
|