【泛微OA Ecology 9.0】通过JavaScript 流程表单创建自定义按钮

泛微 Ecology 9.0 流程引擎 表单 表单按钮 代码块 JavaScript

在流程页面上添加一个按钮。通过按钮绑定相关方法。

一、表单上面选择按钮放置位置

二、给位置赋值一个id

给id赋值一个属性值,可自定义,这边以"btnid"为例

三、通过代码块绑定按钮

完整代码如下:

jQuery(document).ready(function($) {
    // 创建按钮
    var button = $(
        '<button id="performanceBtn" title="按钮" class="ant-btn ant-btn-primary">按钮</button>'
    );
    
    // 将按钮插入到指定的单元格中,btnid 为 表单单元格 自定义属性 中 常用属性 id 的值(以"btnid"为例)
    $('#btnid').append(button);
    
    // 绑定点击事件
    button.on('click', function() {
        alert("自定义按钮被点击了!");
        // 在这里添加业务逻辑
    });
});

定义按钮

// 定义按钮的HTML
 var button = $(
        '<button id="performanceBtn" title="按钮" class="ant-btn ant-btn-primary">按钮</button>'
    );

//也可以加一些参数
 var buttonHtml =
    '<span style="display: inline-block; line-height: 28px; vertical-align: middle; margin-left: 10px;">' +
    '<button id="btn" title="按钮" type="button" class="ant-btn ant-btn-primary">' +
    '<div class="wf-req-top-button" style="color:white">按钮</div>' +
    '</button>' +
    '</span>';

插入按钮:其中btnid即是上文中单元格设置的id属性值

    // 将按钮插入到指定的单元格中,btnid 为 表单单元格 自定义数据的id值(以"btnid"为例)
    jQuery("#btnid").html(button);

绑定事件:其中btnwf即上文定义按钮中,定义的按钮id,这边以点击按钮为例,触发事件。

// 绑定点击事件
button.on('click', function() {
   alert("自定义按钮被点击了!");
   // 在这里添加业务逻辑
}); 

 或者

// 为按钮添加点击事件处理程序
jQuery("#performanceBtn").on("click", function() {
   alert("按钮被点击!");
});

四、效果演示

<think>好的,用户现在问的是OA表单自定义筛选怎么做。之前他们遇到了找不到formtable_main表的问题,现在转向表单筛选的操作方法。我需要先回忆一下OA表单管理机制。 首先,用户可能是在使用表单设计时,想要添加自定义的筛选条件,方便数据查找。OA表单筛选通常在前端配置,不需要直接操作数据库,但可能需要后台设置。记得不同版本可能有差异,比如Ecology 8.09.0的界面可能不同,需要提醒用户注意版本。 接下来,我需要分解步骤。可能包括进入表单设计器,找到需要设置筛选的表单,然后在字段管理中启用筛选条件。还有高级筛选可能需要通过JavaScript或SQL处理,不过一般用户可能更倾向于使用内置功能。另外,移动端可能需要单独设置,这点也要提到。 用户可能是管理员,负责配置表单,所以需要步骤清晰,避免技术术语过多。但如果是开发人员,可能需要更高级的方法,比如数据源视图或者API接口。不过根据之前的问题,用户可能更偏向基础操作,所以重点放在前台配置和后台表单设计。 还要注意权限问题,用户可能需要相应的权限才能修改表单设置。另外,测试环境操作的重要性,避免影响生产数据。如果有二次开发的情况,可能需要联系实施团队,这部分也要在注意事项中提到。 需要检查是否有遗漏的步骤,比如表单字段是否已经发布,筛选条件是否生效。可能还需要示例,比如设置日期范围或状态筛选,帮助用户理解。同时,提醒用户如果遇到问题,可以提供具体版本和截图,方便进一步协助。 最后,确保回答结构清晰,分点说明,原因分析、解决方案、注意事项都要涵盖。避免使用代码块,除非必要,但用户可能需要SQL示例,所以之前的回答中有提到,但这次更多是前端操作,所以可能不需要代码。不过高级筛选中的自定义查询可能需要SQL语句,需要简单说明。</think>在OA中,表单数据的自定义筛选通常通过 **表单设计器** 或 **数据视图** 实现。以下是详细操作步骤: --- ### **一、基础筛选(前台界面配置)** #### **1. 开启表单筛选功能** 1. 登录OA后台,进入 **【流程引擎】→【表单管理】**。 2. 选择目标表单,点击 **【设计表单】**,进入表单设计器。 3. 在 **【字段属性】** 中,勾选需要作为筛选条件的字段的 **“允许筛选”** 或 **“显示为查询条件”** 选项。 ![字段筛选配置示例](https://example.com/screenshots/form_filter_setting.png)(注:此处为示意路径,实际界面可能因版本不同略有差异) --- #### **2. 配置筛选规则** - **单字段筛选**:直接在前台表单列表页面的查询框中输入条件(如文本匹配、数值范围)。 - **多字段组合筛选**: 1.表单设计器中,进入 **【高级设置】→【查询方案】**。 2. 点击 **【新增查询方案】**,设置组合条件(例如:`状态=“进行中” AND 提交时间>“2023-01-01”`)。 3. 保存后,前台用户可通过下拉菜单选择预置的查询方案。 --- ### **二、高级筛选(后台数据源配置)** #### **1. 通过数据视图(SQL筛选)** 1. 进入 **【数据中心】→【数据视图】**,新建视图并关联目标表单。 2. 在 **【筛选条件】** 中编写SQL语句,例如: ```sql SELECT * FROM formtable_main WHERE status=&#39;APPROVED&#39; AND create_time BETWEEN &#39;2023-01-01&#39; AND &#39;2023-12-31&#39; ``` 3. 发布视图后,用户可通过该视图直接访问筛选后的数据。 --- #### **2. 使用API接口动态筛选** 调用OA开放接口(需系统管理员权限): ```plaintext POST /api/form/data/list Body: { "formName": "请假单", "conditions": [ {"field": "department", "operator": "=", "value": "技术部"}, {"field": "days", "operator": ">", "value": 3} ] } ``` --- ### **三、移动端筛选配置** 1. 进入 **【移动建模】→【表单设置】**,选择对应表单。 2. 在 **【移动端显示设置】** 中,启用 **“允许筛选”** 并勾选需要展示的筛选字段。 3. 支持移动端特有功能(如扫码筛选、地理位置过滤等)。 --- ### **注意事项** 1. **权限控制** - 确保用户角色拥有对应表单的 **“查询权限”**(路径:**【系统管理】→【角色权限】**)。 - 敏感字段(如薪资、审批意见)需设置 **“字段级权限”**,避免数据泄露。 2. **性能优化** - 若表单数据量过大,避免使用 `LIKE &#39;%模糊查询%&#39;`,建议添加索引或使用分页加载。 3. **版本兼容性** - E-Cology 7.0/8.0 版本需通过 **【智能表单】→【查询模板】** 配置; - E-Cology 9.0+ 版本支持更灵活的 **“动态条件生成器”**。 --- ### **常见问题排查** - **筛选条件不生效**:检查字段是否已发布、权限是否开放、SQL语法是否正确。 - **移动端无筛选入口**:确认移动建模中已同步表单配置,并清除客户端缓存。 如果需要具体案例演示(如“如何筛选采购单中金额大于10万的待审批记录”),可提供表单字段结构,我会进一步给出配置示例。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值