七月上旬更新速递丨 聚焦集成、安全与AI深度进化

更新亮点: 本次重点强化系统集成能力与AI认知升级,新增4大核心模块9项资源,优化4项资源,点击标题了解(持续互动赢麦豆,解锁高阶技能)

重点推荐:《场景化数据分析实战》课程操作手册

配套六月王炸课程的全套落地指南,手把手教你复现实战场景!

二、实战技巧分享

高效处理资源集成难题》→ 从基础出发,深入探究集成的秘密

三、开发技能突破

第三方系统调用Smartbi接口》→讲解系统集成时的jar包获取,以及集成时代码调用的基本流程。

集成接口介绍》→梳理Smartbi目前提供的接口,以及不同接口的调用流程。

AI每日一学

DeepSeek-R1-0528模型升级:推理与生态的双重升级》→ 解析模型性能提升40%的关键技术 (技术前沿)

简单总结一下机器学习中的几种常见的学习方式与区别》→ 监督/无监督/强化学习差异与应用场景图解 (基础重构)

五、资源更新

CAS单点登录 V2版》上线→ 接入到 CAS 平台中,并实现单点登录

组织/用户/角色信息管理API接口》上线→ 一套 HTTP API的组织、用户、角色信息管理接口

竹云统一身份认证平台组织用户同步对接》上线→ Smartbi封装对应的服务接口,给竹云的统一身份认证平台实时调用,完成组织、用户和角色信息的实时同步。

交互式仪表盘支持自定义字体》优化→ 修复了文本组件编辑状态不生效的问题

只允许外网某种移动端APP访问》优化→ 针对V11版本,增加了钉钉、企业微信访问限制功能

AD域(LDAP/LDAPS)登录验证》优化→ 修复了“更新白名单状态之前没有判断判断用户是否存”的问题

元数据分析落地到知识库》优化→ 增加获取资源创建者的逻辑判断,对空值空对象等情况做优化

麦粉社区
>
帖子详情

通过宏代码隐藏交互式仪表盘中明细表里的某一列。

数据分析 发表于 2025-3-11 11:28
发表于 2025-3-11 11:28:38

系统版本信息:Version: 11.0.89539.24122


 


场景如下:在一个明细表中通过点击某个人的身份证号码,跳转到他个人的详情信息页,因为身份证号码进行脱敏处理了,所以需要添加一个未脱敏的证件号码字段作为参数,但这个未脱敏的证件号码列没脱敏,所以需要隐藏。


 


下图为一个简单的测试表格,是明细表组件,现在需要隐藏证件号码列。




 


由于本人对于JavaScript代码并不熟悉,只能上网查询,以及通过deepseek等AI工具来编写,试了很多种方法,一次都没成功。


 


如图,这是找到的最简单的代码,方法是客服说的,但是报错,请看截图:




 


上面这个失败,后面 AI又给了个代码:


function main(page, component) {
    try {
        // 1. 定义目标列名
        const targetColumnName = "证件号码"; // 按实际列名修改


        // 2. 延迟执行,确保 DOM 加载完成
        setTimeout(() => {
            // 3. 隐藏表头和数据列
            const headers = document.querySelectorAll("th"); // 获取所有表头
            const cells = document.querySelectorAll("td");  // 获取所有数据单元格


            headers.forEach(header => {
                if (header.innerText.trim() === targetColumnName) {
                    header.style.display = "none"; // 隐藏表头
                }
            });


            cells.forEach(cell => {
                if (cell.innerText.trim() === targetColumnName) {
                    cell.style.display = "none"; // 隐藏数据单元格
                }
            });


            console.log(`列 "${targetColumnName}" 隐藏成功!`);
        }, 1000); // 延迟 1 秒确保 DOM 加载完成
    } catch (e) {
        console.error("DOM 操作失败:", e);
    }
}


 


显示隐藏成功,但是无论是刷新页面、预览页面、刷新缓存之后,仍然没有隐藏,如下图:



 



期间有通过AI给的方法来


确认组件类型,如下图:




 


折腾了大半天,最终还是没有解决,希望各位大佬帮忙看看,感激不尽。


 

发表于 2025-3-11 13:36:15
4973467cfcbce7f173.png

回复

使用道具 举报

发表于 2025-3-11 13:37:37
列号从0开始
回复

使用道具 举报

发表于 2025-3-11 14:35:51
回复

使用道具 举报

发表于 2025-3-11 15:27:54
/******************************宏代码说明******************************
* version:Smartbi V11
* 类型:ClientSide
* 对象:交互仪表盘
* 事件:onAfterRender
* 效果描述:隐藏清单表或汇总表指定的列
* 是否可修改:是,需要更新对应war版本,具体版本已在文档中进行说明
*********************************************************************/
// 隐藏列序号,序号从0开始:隐藏第一列和第三列: const indexes = [0,3]
const indexes = [6];
function main(page: IPage, portlet: ITableListPortlet) {
    let type = portlet.getType();
    if (type != "TABLE_DETAIL_LIST" && type != "TABLE_LIST2") {
        return;
    }
    for (let index of indexes) {
        portlet.hideTableColumn(index);
    }
}
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

8回帖数 0关注人数 740浏览人数
最后回复于:2025-3-11 15:27
快速回复 返回顶部 返回列表