V2子表格联动填充及行金额计算和总金额计算技巧

目前V2子表格联动填充和金额计算问题,我摸索了很久,我用系统内的AI员工绑定千问,在里面一句一句的问,发现里面的AI员工还是满厉害的,基本上都是AI员工告诉我的方法。
当然数据源字段配置参考官方的CRM2.0
直接看图比较明了。


// 获取当前表单值
const formValues = ctx.form?.getFieldsValue();
var total_amount=0;
// 假设子表格字段名为 'items',请根据实际情况修改
if (formValues && formValues.items) {
  formValues.items.forEach((item, index) => {
    // 获取当前行的数量和单价
    const quantity = item.quantity || 0;
    const unitPrice = item.unit_price || 0;
    
    // 计算金额
    const lineAmount = quantity * unitPrice;
    total_amount=total_amount+lineAmount;
    // 更新当前行的金额字段
    // 路径格式: ['子表格字段名', 行索引, '金额字段名']
    ctx.form?.setFieldValue(['items', index, 'line_amount'], lineAmount);
  });
  total_amount=total_amount+formValues.shipping_handling;
    ctx.form?.setFieldValue('total_amount',total_amount);

}

想问一下,如果是子表格行内需要汇总怎么做呢。
比如说子表格内有单价、数量、小计,小计需要可以在行内计算出来,这个要怎么做字段赋值?

我上面的代码是通用的。万能的

1 Like