当前位置: 首页 > news >正文

Bootstrap Table动态修改列标题

需求

目前有一个需求,就是国际公司的汇率计算,有部分的业务,例如是资产部门内转移,部门间转移,国际公司的汇率会使用外币来进行统计,于是就是想通过汇率转换来处理,但是问题是我们不想暴露出来给非国际公司用户使用,前端的处理,将更加灵活的处理这个展示的问题。

处理

处理的话,就是首先,后台交换,单据新建的情况的下是直接交换,老的数据是通过sql刷新一遍数据库,这些后台的操作就不在这边描述了,主要是为了前端处理,
在这里插入图片描述
大概是这个意思
源代码

 { field: 'cost',title: '资产原值', align: 'left', width:100 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'deprnReserve',title: '累计折旧', align: 'left', width:100 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'accumuImpairment',title: '减值准备', align: 'left', width:100 ,valign: 'middle'},
                { field: 'netBookValue',title: '资产净值', align: 'left', width:100 ,formatter:paramsMatter,valign: 'middle'},

改完了之后

 { field: 'costForeign',title: '资产原值', align: 'left', width:120 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'deprnReserveForeign',title: '累计折旧', align: 'left', width:120 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'accumuImpairmentForeign',title: '减值准备', align: 'left', width:120 ,valign: 'middle'},
                { field: 'netBookValueForeign',title: '资产净值', align: 'left', width:120 ,formatter:paramsMatter,valign: 'middle'},

                { field: 'cost',title: '资产原值', align: 'left', width:150 ,formatter:paramsMatter,valign: 'middle',
                    formatter: function(value, row, index){
                        if("0" == row.exchangeRate) return '-';
                        return row.cost;
                    }},
                { field: 'deprnReserve',title: '累计折旧', align: 'left', width:150 ,valign: 'middle',
                    formatter: function(value, row, index){
                        if("0" == row.exchangeRate) return '-';
                        return row.deprnReserve;
                    }},
                { field: 'accumuImpairment',title: '减值准备', align: 'left', width:150 ,valign: 'middle',
                    formatter: function(value, row, index){
                        if("0" == row.exchangeRate) return '-';
                        return row.accumuImpairment;
                    }},
                { field: 'netBookValue',title: '资产净值', align: 'left', width:150 ,valign: 'middle',
                    formatter: function(value, row, index){
                        if("0" == row.exchangeRate) return '-';
                        return row.netBookValue;
                    }},

当然看到了这个’-‘情况是因为,如果没有汇率的情况下要求展示’-',

        onLoadSuccess: function(data){
            if('9000012' == bgId){
                // 动态修改列标题
                var $table = $('#interTable');
                // 获取表头行中的列元素
                var $headerCells = $table.closest('.bootstrap-table')
                    .find('th[data-field]');
                $headerCells.filter('[data-field="cost"]').text('资产原值(人民币)');
                $headerCells.filter('[data-field="deprnReserve"]').text('累计折旧(人民币)');
                $headerCells.filter('[data-field="accumuImpairment"]').text('减值准备(人民币)');
                $headerCells.filter('[data-field="netBookValue"]').text('资产净值(人民币)');
            }else{
                $('#interTable').bootstrapTable('hideColumn', 'costForeign');//隐藏资产原值(人民币)
                $('#interTable').bootstrapTable('hideColumn', 'deprnReserveForeign');
                $('#interTable').bootstrapTable('hideColumn', 'accumuImpairmentForeign');
                $('#interTable').bootstrapTable('hideColumn', 'netBookValueForeign');
            }
        }

这个就是当某个组织的时候,展示以及隐藏某些内容
下面是这一块的完整代码

/**
 * 画面初始化
 */
function initTable(){
    $('#interTable').bootstrapTable({
        method: 'post',
        url:top.server +'/XXX/XXXX',//请求路径
        async : false,
        pagination: true,//分页
        cache: false,
        pageSize: menuLength[0], //每页的记录行数(*)
        pageList: menuLength, //可供选择的每页的行数(*)
        singleSelect: false,
        sidePagination: 'server', //分页方式服务端请求
        fixedColumns: true,
        fixedNumber: 1,
        queryParams: function (params) {
            return {
                size: params.limit,
                current:params.offset/params.limit+1,
                transferHeaderId: $('#transferHeaderId').val(),//单据头ID
                amsRemark:amsRemarkStr,

            };
        },
        clickToSelect: true,
        columns:
            [
                { field: 'checkVal',checkbox: true, width:60},
                {
                    field:'LINE_NUM',title:'序号',align:'center',valign:'middle', width:70,
                    formatter: function (value, row, index) {
                        var pageSize = $('#interTable').bootstrapTable('getOptions').pageSize;     //通过table的#id 得到每页多少条
                        var pageNumber = $('#interTable').bootstrapTable('getOptions').pageNumber; //通过table的#id 得到当前第几页
                        return pageSize * (pageNumber - 1) + index + 1;    // 返回每条的序号: 每页条数 *(当前页 - 1 )+ 序号
                    }
                },
                { field: 'transferLineId',title: 'id', align: 'left', width:150 ,valign: 'middle',visible :false},
                { field: 'assetNumber',title: '资产编号', align: 'left', width:100 ,valign: 'middle'},
                { field: 'tagNumber',title: '资产标签号', align: 'left', width:150 ,valign: 'middle'},
                { field: 'assetDescription',title: '资产名称', align: 'left', width:250 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'targetEmployeeName',title: '目标责任人', align: 'left', width:160 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'targetLocationSeg',title: '目标地点代码', align: 'left', width:200 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'targetLocationDesc',title: '目标地点描述', align: 'left', width:280 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'targetCostCenter',title: '目标成本中心描述', align: 'left', width:220 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'targetDeprnExpenseAccount',title: '目标账户', align: 'left', width:320 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'employeeName',title: '原责任人', align: 'left', width:150 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'locationSeg',title: '原资产地点', align: 'left', width:250 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'locationDesc',title: '原资产地点描述', align: 'left', width:250 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'deprnExpenseAccount',title: '费用账户', align: 'left', width:320 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'attributeCategoryCode',title: '资产类别编码', align: 'left', width:150 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'cateDesc',title: '资产类别描述', align: 'left', width:300 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'assetKey',title: '资产关键字编码', align: 'left', width:150 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'assetKeyDesc',title: '资产关键字描述', align: 'left', width:200 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'modelNumber',title: '规格型号', align: 'left', width:250 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'transferUnits',title: '数量', align: 'left', width:100 ,valign: 'middle'},
                { field: 'datePlacedInService',title: '启用日期', align: 'left', width:100 ,valign: 'middle'},

                { field: 'costForeign',title: '资产原值', align: 'left', width:120 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'deprnReserveForeign',title: '累计折旧', align: 'left', width:120 ,formatter:paramsMatter,valign: 'middle'},
                { field: 'accumuImpairmentForeign',title: '减值准备', align: 'left', width:120 ,valign: 'middle'},
                { field: 'netBookValueForeign',title: '资产净值', align: 'left', width:120 ,formatter:paramsMatter,valign: 'middle'},

                { field: 'cost',title: '资产原值', align: 'left', width:150 ,formatter:paramsMatter,valign: 'middle',
                    formatter: function(value, row, index){
                        if("0" == row.exchangeRate) return '-';
                        return row.cost;
                    }},
                { field: 'deprnReserve',title: '累计折旧', align: 'left', width:150 ,valign: 'middle',
                    formatter: function(value, row, index){
                        if("0" == row.exchangeRate) return '-';
                        return row.deprnReserve;
                    }},
                { field: 'accumuImpairment',title: '减值准备', align: 'left', width:150 ,valign: 'middle',
                    formatter: function(value, row, index){
                        if("0" == row.exchangeRate) return '-';
                        return row.accumuImpairment;
                    }},
                { field: 'netBookValue',title: '资产净值', align: 'left', width:150 ,valign: 'middle',
                    formatter: function(value, row, index){
                        if("0" == row.exchangeRate) return '-';
                        return row.netBookValue;
                    }},

                { field: 'zccxl',title: '资产成新率', align: 'left', width:100 ,valign: 'middle'
                    ,formatter: function(value, row, index){
                        if(null == row.cost ||"" == row.cost||"0.00" == row.cost) return '0.00';
                        return (row.netBookValue/row.cost).toFixed(2);
                    }
                },
                { field: 'depreciationTag',title: '折旧标识', align: 'left', width:100 ,valign: 'middle'},
                { field: 'remark',title: '备注', align: 'left', width:100 ,formatter:paramsMatter,valign: 'middle'},
                { field: "",title:"操作", width: 80,align: 'center',valign: 'middle',
                    formatter : function(value, row){
                        var innerHtml = '';
                        innerHtml += '<div class="ope"><a type="button" onclick="edit(\''+row.transferLineId+'\')">编辑</a></div>';
                        return innerHtml;
                    }
                }
            ],

        onLoadSuccess: function(data){
            if('9000012' == bgId){
                // 动态修改列标题
                var $table = $('#interTable');
                // 获取表头行中的列元素
                var $headerCells = $table.closest('.bootstrap-table')
                    .find('th[data-field]');
                $headerCells.filter('[data-field="cost"]').html('<div class="th-inner ">资产原值(人民币)</div><div class="fht-cell"></div>');
                $headerCells.filter('[data-field="deprnReserve"]').html('<div class="th-inner ">累计折旧(人民币)</div><div class="fht-cell"></div>');
                $headerCells.filter('[data-field="accumuImpairment"]').html('<div class="th-inner ">减值准备(人民币)</div><div class="fht-cell"></div>');
                $headerCells.filter('[data-field="netBookValue"]').html('<div class="th-inner ">资产净值(人民币)</div><div class="fht-cell"></div>');
            }else{
                $('#interTable').bootstrapTable('hideColumn', 'costForeign');//隐藏资产原值(人民币)
                $('#interTable').bootstrapTable('hideColumn', 'deprnReserveForeign');
                $('#interTable').bootstrapTable('hideColumn', 'accumuImpairmentForeign');
                $('#interTable').bootstrapTable('hideColumn', 'netBookValueForeign');
            }
        }
    });
}
http://www.dtcms.com/a/122962.html

相关文章:

  • C++中命名空间namespace|头文件h文件|源文件cpp文件详解
  • pyecharts常用图形
  • Mysql索引(二)
  • 8.第二阶段x64游戏实战-string类
  • UE学习记录part15
  • ffpyplayer+Qt,制作一个视频播放器
  • 玩转Docker | 使用Docker安装FileDrop文件共享工具
  • 如何解【决泛型作为运行时参数】时类型擦除问题
  • PowerBI数据建模2:计算选项、计算组
  • JavaScript实用API
  • 计算机视觉4——特征点及其描述子
  • LeetCode344反转字符串
  • 亮相2025全球分布式云大会,火山引擎边缘云落地AI新场景
  • 1. 两数之和 leetcode
  • 后缀自动机SAM练习笔记 (一)
  • Pandas-按索引从df中读取指定一个或者多个元素
  • Pytorch Dataset问题解决:数据集读取报错DatasetGenerationError或OSError
  • win10离线环境下配置wsl2和vscode远程开发环境
  • spark-Core
  • 基于vue3与supabase系统认证机制
  • 大模型分布式推理和量化部署
  • 高可用之战:Redis Sentinal(哨兵模式)
  • Docker基础2
  • 【教程】Windows 电脑部署使用 config2spec 详细教程
  • 基于ueditor编辑器的功能开发之给编辑器图片增加水印功能
  • 智能防灾网:气象灾害风险管理系统的科技力量与未来蓝图
  • Mybatis的springboot项目使用
  • 【leetcode hot 100 198】打家劫舍
  • 【力扣hot100题】(074)前 K 个高频元素
  • Nginx之https重定向为http