周一至周五 : 08:30 - 17:30 客服专员电话/微信:17301649370 QQ:2902102332
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
WebApp主表合计明细数量以及明细金额自动计算
显示全部楼层 倒序浏览 发表日期 2022-11-07 10:18:02 996次阅读 0次回复
本帖最后由 hessen 于 2022-11-7 10:19 编辑


WebApp主表合计明细数量以及明细金额自动计算

有一个需求,通过移动端下单,明细填写订单信息,明细中的金额需要自动计算,同时明细的金额合计需要在主表中显示。
效果如下:


GIF 2022-11-07 10-07-15.gif




20221107094505.png

20221107094641.png

20221107094702.png

20221107094720.png


实现方法:
PC登录WebApp后在模板名称上点击右键选择编辑脚本(有权限的用户才有此菜单),写入如下JS脚本
主表合计字段 F_275
明细单价 F_270
明细数量 F_271
明细金额 F_272


  1. $(function () {
  2.         /*此处编写自定义代码,请确认此js文件名与您想修改的模板编号一致*/


  3.         //禁用数值字段避免被编辑
  4.         //禁用主表合计字段
  5.         $('input[fieldname="F_275"]').numberbox('readonly', true);
  6.         //禁用明细合计
  7.         $('input[fieldname="F_272"]').attr('readonly', 'readonly');


  8.         //更改保存按钮的函数用于添加自定义的函数
  9.         $(".create_sub.wholebgcolor.mx-save").attr("onclick", "secondsubmx()");


  10. });



  11. function secondsubmx() {
  12.         //保存明细时重算明细合计
  13.         var s1 = $('input[fieldname="F_270"]').numberbox('getValue');
  14.         var s2 = $('input[fieldname="F_271"]').numberbox('getValue');
  15.         var s3 = s2 * s1
  16.         $('input[fieldname="F_272"]').numberbox('setValue', s3);

  17.         //执行保存
  18.         submx(); //原先的保存
  19.         summx(); //添加的自定义函数计算明细合计填入主表合计
  20. };
  21. //将明细数据的和赋值给主表合计字段
  22. function summx() {
  23.         var v3 = 0;
  24.         //遍历所有明细数据
  25.         for (i = 0; i < datadetail.length; i++) {
  26.                 //获取每一行数据
  27.                 var row = datadetail[i];
  28.                 //向总计变量累加明细中小计的值
  29.                 v3 += parseFloat(row['F_272']);
  30.         }
  31.         //赋予总计的值
  32.         $('input[fieldname="F_275"]').numberbox('setValue', v3);
  33. };


  34. function numChange(obj, newValue, oldValue) {
  35.         var a = $(obj).attr('fieldname')
  36.         //判断操作的是明细单价数量字段时
  37.         if (a == 'F_270' || a == 'F_271') {
  38.                 //取得明细单价数量的值并计算
  39.                 var s1 = $('input[fieldname="F_270"]').numberbox('getValue');
  40.                 var s2 = $('input[fieldname="F_271"]').numberbox('getValue');
  41.                 var s3 = s2 * s1
  42.                 //给明细单价数量赋值
  43.                 $('input[fieldname="F_272"]').numberbox('setValue', s3);

  44.         }

  45. };
复制代码






电话/微信:18049989370 QQ:857188287
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |