若依前后端不分离-表单计算一列的和或者百分数的平均数

1.展示:
在这里插入图片描述

2.实现:
在前端.html文件中字段下面插入如下:
在这里插入图片描述
在这里插入图片描述
对于带百分号的平均值:

										footerFormatter: function (value) {
                            var sumBalance = 0;
                            var avg=0;
                            var n = 0;
                            for (var i in value) {
                                n++;
                                sumBalance += parseFloat(value[i].rateWholeCover);
                            }
                            avg = sumBalance/n*100;
                            avg=Math.round(avg * 100) * 0.01;
                            avg = avg+"%";
                            return avg;
                        }

3.缺点:此种方法只能计算分页后的一个页面的和和平均值,如果要求分页前,整个数据库中表的字段的和与平均值的话,需要:
(1)在.xml文件中写入查询语句,如果要求和的话,就要用sum,求平均值用avg,就可以直接从数据库中查询计算

<select id="heji2" resultType="com.ruoyi.system.domain.ConditionDeploymentUnit" resultMap="ConditionDeploymentUnitResult">
        select sum(num_tier) as num_tier,
               ...
               avg(rate_whole_cover) as rate_whole_cover,
               avg(rate_reform) as rate_reform

        from condition_deployment_unit
    </select>

(2)在mapper和service中写入方法
mapper:

    public ConditionDeploymentUnit heji2();

service:

    ConditionDeploymentUnit heji2();

service实现类:

@Override
    public ConditionDeploymentUnit heji2(){
        return conditionDeploymentUnitMapper.heji2();
    }

(3)在controller中

@ResponseBody
    @RequestMapping("/statis/list")
    public TableDataInfo fun1(StatisticXuncha statisticXuncha) {
        StatisticXuncha jihe = statisticXunchaService.jihe();
        jihe.setIsDelete("汇总");
        System.out.println("jihe = " + jihe);
        startPage();
        List<StatisticXuncha> list = statisticXunchaService.selectStatisticXunchaList(statisticXuncha);
        list.add(jihe);
        return getDataTable(list);
    }

在这里插入图片描述
(4)但是如果前段需要显示百分数的话,还需要在前端进行处理:

{
                        field: 'rateReform',
                        title: '整改措施完成率',
                        align: 'center',
                        rowspan: 2,
                        formatter: function (value, row, index) {
                            var rate = 0;
                            rate=value*100;
                            rate=Math.round(rate * 100) * 0.01;
                            rate=rate+"%";
                            return rate;
                        }
                    }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值