WebApp主表合计明细数量以及明细金额自动计算
本帖最后由 hessen 于 2022-11-7 10:19 编辑WebApp主表合计明细数量以及明细金额自动计算
有一个需求,通过移动端下单,明细填写订单信息,明细中的金额需要自动计算,同时明细的金额合计需要在主表中显示。
效果如下:
实现方法:
PC登录WebApp后在模板名称上点击右键选择编辑脚本(有权限的用户才有此菜单),写入如下JS脚本
主表合计字段 F_275
明细单价 F_270
明细数量 F_271
明细金额 F_272
$(function () {
/*此处编写自定义代码,请确认此js文件名与您想修改的模板编号一致*/
//禁用数值字段避免被编辑
//禁用主表合计字段
$('input').numberbox('readonly', true);
//禁用明细合计
$('input').attr('readonly', 'readonly');
//更改保存按钮的函数用于添加自定义的函数
$(".create_sub.wholebgcolor.mx-save").attr("onclick", "secondsubmx()");
});
function secondsubmx() {
//保存明细时重算明细合计
var s1 = $('input').numberbox('getValue');
var s2 = $('input').numberbox('getValue');
var s3 = s2 * s1
$('input').numberbox('setValue', s3);
//执行保存
submx(); //原先的保存
summx(); //添加的自定义函数计算明细合计填入主表合计
};
//将明细数据的和赋值给主表合计字段
function summx() {
var v3 = 0;
//遍历所有明细数据
for (i = 0; i < datadetail.length; i++) {
//获取每一行数据
var row = datadetail;
//向总计变量累加明细中小计的值
v3 += parseFloat(row['F_272']);
}
//赋予总计的值
$('input').numberbox('setValue', v3);
};
function numChange(obj, newValue, oldValue) {
var a = $(obj).attr('fieldname')
//判断操作的是明细单价数量字段时
if (a == 'F_270' || a == 'F_271') {
//取得明细单价数量的值并计算
var s1 = $('input').numberbox('getValue');
var s2 = $('input').numberbox('getValue');
var s3 = s2 * s1
//给明细单价数量赋值
$('input').numberbox('setValue', s3);
}
};
页:
[1]