场景问题:关于各种发票被提取之后需要做修改,金额税率税额等等需要联动修改
这里会有非常多的计算问题 首先是修改单一表单项 就会联动到基本所有的其他计算,如果靠单一的联动 然后再去做反应 比如 (form.x.tax) 修改后 就可能会联动到其他表单项 所以这里需要优化和在后期出现BUG后的排查能够更加的清晰
(实在是维护的太过痛苦啦!)
首先是联动问题 如果靠单一监听的方式来计算 那么写的代码会非常的长 并且逐个排查维护字段会非常的心累,所以需要制定一系列的规则 来只需要写出一系列的公式之后就会带动其他的联动计算
假设这里有 a,b,c,d,e,f 实际在计算当中还会有更多,这里只列举出6个
首先是列举出有多少种情况会联动计算
-
a改变 其他所有都需要重新计算 这是当前行的计算
-
a改变 总计 这一行也会重新计算
-
需要规定计算的顺序问题 我们需要b和c先计算出 然后再让e或者f进行计算,这里又会有另外一个联动问题,可能c又是f的联动单位。 如果改动了a,可能就会变动c 又会改动到f
-
不考虑初始化时候的计算
-
考虑修订时候的顺序
listen(form.a).subscribe((form,value)=>{
})