在表单设计中的表单设置中编辑全局函数以方便在单个表单中多次使用函数功能
比如需要在录入的多条子表单中进行数据计算并需要进行求和时,我们可以用过配置表单全局函数来实现相关功能。
表单设计中,表单全局函数使用
表单全局函数(乘法示例) 表单设置-表单全局函数: 单价 * 数量 = 合计金额
function recalcRowAmount(changeObj, rowId) {
let numR = changeObj.getWidgetRef('quantity' + '@row' + rowId)
let priceR = changeObj.getWidgetRef('price' + '@row' + rowId)
let amountR = changeObj.getWidgetRef('amount' + '@row' + rowId)
let amountMoney = numR.getValue() * 1 * priceR.getValue()
amountMoney = Number(amountMoney).toFixed(2)
amountR.setValue(amountMoney)
}
组件设置-事件事件属性-onChange-编写代码:
这些字段需要您进行自定义改写并在多次出现时保持一致保持一致:
如何实现单行子表单中的明细表数据计算汇总 应用场景:如需要计算明细表中多个购买项目的总价,并需要在主表中显示。
function recalcSubFormTotal(subFormData, rowFieldName, totalFieldRef) {
let tc = 0
if (!!subFormData && (subFormData.length > 0)) {
subFormData.forEach(function(row) {
tc += row[rowFieldName] * 1
})
}
tc = Number(tc).toFixed(2)
totalFieldRef.setValue(tc)
}
let taRef = this.getWidgetRef('hjje')
calculateTotal(subFormData, 'bczfje', taRef)
自定义使用中: