跳转至

流程明细表添加自定义显示列


title: 流程明细表添加自定义显示列 created: 2026-04-19 updated: 2026-04-19 type: reference tags: [imported, pptx] source: "Weaver Doc Import"


Slide 1

流程明细表添加自定义显示列 泛微网络 培训服务中心

Slide 2

需求背景及实现效果

Slide 3

在补卡流程明细表里,存在多列。如果开启横向滚动,对于前置数据的查询不方便,此时如果可以自定义选择显示哪些重点信息,可以自由定制显示列,那在数据的展示上,就会方便很多;对于审核表单的人员来说,审核界面更加简洁。本视频通过JS代码的方式可实现在流程明细表添加自定义显示列,实现明细表内容的自由显示。

Slide 4

点开自定义列显示,可通过勾选和取消勾选的方式,自定义显示明细表的列; 记忆个人偏好,同一用户、同一节点、同一流程,下次打开自动恢复上次勾选的列 实现效果

Slide 5

实现思路

Slide 6

2、准备代码 实现思路 1、改配置 代码里configs数组支持n个流程; 在configs数组里添加你的流程; true = 首次打开就显示,false = 首次隐藏 把「完整代码」全选复制。进入 OA 后台 → 流程设置 → 对应表单 → 打开HTML模板,插入代码块,保存。

Slide 7

JS代码块应用样例

Slide 8

配置实现步骤 实现方式: 后台打开html模板; 打开插入代码块; 插入修改好的代码块; 流程表单

Slide 9

代码示例——JS代码 / 1. 定义工作流列显示配置数组 const configs = [ { workflowid: 332, detail: "detail_1", fields: [ "ry:'人员':true", // 格式:字段值:显示名称:默认是否选中 "kqrq:'考勤日期':true", "bklx:'补卡类型':true", "bqcs:'补签次数':false", "bksj:'补卡时间':true", "kq7trq:'考勤7天日期':false" ] } // 您可以在此继续添加其他工作流的配置,例如: // { workflowid: 333, detail: "detail_1", fields: [...] }, ]; 期':false" ] } // 您可以在此继续添加其他工作流的配置,例如: // { workflowid: 333, detail: "detail_1", fields: [...] }, ];### Slide 10 代码示例 // 2. 主功能代码 (function() { const baseInfo = WfForm.getBaseInfo(); const currentWorkflowId = baseInfo.workflowid; const userId = baseInfo.f_weaver_belongto_userid; const nodeId = baseInfo.nodeid; console.log('当前workflowid:', currentWorkflowId); console.log('所有配置:', configs); // 查找当前工作流的配置 const config = configs.find(c => c.workflowid == currentWorkflowId); if (!config) { console.error('未找到对应workflowid的配置:', currentWorkflowId); return; } console.log('当前配置:', config);

Slide 11

代码示例 // 存储用户列显示偏好的键 const STORAGE_KEY = column_prefs_${userId}_${nodeId}_${currentWorkflowId}; // 从本地存储获取用户偏好 function getUserColumnPrefs() { const prefs = localStorage.getItem(STORAGE_KEY); return prefs ? JSON.parse(prefs) : null; } // 保存用户偏好到本地存储 function saveUserColumnPrefs(prefs) { localStorage.setItem(STORAGE_KEY, JSON.stringify(prefs)); } 存储 function saveUserColumnPrefs(prefs) { localStorage.setItem(STORAGE_KEY, JSON.stringify(prefs)); }### Slide 12 代码示例 // 创建列控制容器 const userPrefs = getUserColumnPrefs(); const $columnControls = $(`

`); // 在表格前插入列控制 $('.excelDetailContent').before($columnControls);

重置

`); // 在表格前插入列控制 $('.excelDetailContent').before($columnControls);### Slide 14 代码示例 // 精确控制列显示/隐藏 function toggleColumn(column, show) { const columnIndex = {}; config.fields.forEach((field, index) => { const normalizedField = field.replace(/\s+/g, '').replace(/:/g, ':'); const [value] = normalizedField.split(':'); columnIndex[value] = index + 3; // 从第3列开始 }); const index = columnIndex[column]; if(index) { // 表头行中的列 $('tr:has([data-cellmark*="1"]) td:nth-child('+index+')').toggle(show); // 数据行中的列 $('tr.detail_data_row td:nth-child('+index+')').toggle(show); // 控制列宽的行中的列 $('tr.detailControlWidth td:nth-child('+index+')').toggle(show); } }

Slide 15

代码示例 // 绑定按钮事件 $('#toggleColumnsBtn').click(function() { $('#columnSettings').toggle(); }); $('.close-btn').click(function() { $('#columnSettings').hide(); }); // 应用按钮点击事件 $('#applyColumnsBtn').click(function() { // 获取当前选中的列 const selectedColumns = []; $('input[name="column"]:checked').each(function() { selectedColumns.push($(this).val()); }); // 保存用户偏好 saveUserColumnPrefs(selectedColumns); unction() { selectedColumns.push($(this).val()); }); // 保存用户偏好 saveUserColumnPrefs(selectedColumns);### Slide 16 代码示例 // 原有应用列显示逻辑 $('tr:has([data-cellmark="1"]) td:nth-child(n+3)').hide(); $('tr.detail_data_row td:nth-child(n+3)').hide(); $('tr.detailControlWidth td:nth-child(n+3)').hide(); selectedColumns.forEach(col => { toggleColumn(col, true); }); $('#columnSettings').hide(); }); // 页面加载时应用用户保存的列显示偏好 if (userPrefs) { $(function() { // 先隐藏所有列 $('tr:has([data-cellmark="1"]) td:nth-child(n+3)').hide(); $('tr.detail_data_row td:nth-child(n+3)').hide(); $('tr.detailControlWidth td:nth-child(n+3)').hide();

Slide 17

代码示例 // 显示用户保存的列 userPrefs.forEach(col => { toggleColumn(col, true); }); }); } // 重置列设置 $('#resetColumnsBtn').click(function() { $('input[name="column"]').prop('checked', true); $('input[name="column"]').each(function() { toggleColumn($(this).val(), true); }); }); })();

Slide 18

志达宇泛 见著于微 感谢您的信任与支持! 我们始终努力提供好用的移动办公平台


🖼️ 提取的插图 (共 11 张)

image10.jpeg

image12.jpeg

image5.jpeg

image6.gif