web开发--表格左上角的统计金额格式化原创
金蝶云社区-余路生
余路生
0人赞赏了该文章 326次浏览 未经作者许可,禁止转载编辑于2022年09月12日 22:12:33

如下图,表格左上角的统计金额需要千分位显示

1.png


先找到统计金额是如何添加上去的,这样才能知道怎么做,如下图

2.png

方法如下:

1、给表格设置选择行后事件


3.png


2、添加格式化金额方法

5.png


3、保存生成代码


4、编码实现

4.png

代码:

afterSelectRow:function(rowid,status,e){
          //获取统计列
         var totalAmntColumn = waf("#queryGrid").wafGrid("option","totalAmntColumn").split(","); 
         //遍历统计列
         for(var i = 0; i < totalAmntColumn.length; i++){
                //获取金额
                var amount = waf("#totalAmount"+totalAmntColumn[i]).text();
                //格式化金额
                var formatAmount = _private.formatAmount(amount);
                //重新赋值
                waf("#totalAmount"+totalAmntColumn[i]).text(formatAmount);
         }
}
,
formatAmount:function(number){
          let n = number;
          let r = '';
          let temp = '';
          do {
                // 求模的值, 用于获取高三位,这里可能有小数
                mod = n % 1000;
                // 值是不是大于1,是继续的条件
                n = n / 1000;
                // 高三位
                temp = ~~mod;
                // 1.填充: n > 1 循环未结束, 就要填充为比如 1 => 001
                // 不然temp = ~~mod的时候, 1 001, 就会变成 "11"
                // 2.拼接“,”
                r = (n >= 1 ? `${temp}`.padStart(3, '0') : temp) + (!!r ? ',' + r : '');
          } while (n >= 1);
          
          const strNumber = number + '';
          let index = strNumber.indexOf('.');
          // 拼接小数部分
          if (index >= 0) {
                r += strNumber.substring(index);
          }
          return r;
        }


效果:

6.png



赞 0