hessen 发表于 2022-11-7 10:18:02

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]
查看完整版本: WebApp主表合计明细数量以及明细金额自动计算