宜搭在同一个流程表单内,怎么实现根据条件,去搜索表单内符合条件的实例数量
宜搭内根据条件搜索流程实例ID,您可以参考宜搭数据源接口,详细操作参考文档:根据条件搜索流程实例 ID。
在宜搭(YiDa)流程表单中,您可以通过以下步骤实现根据条件搜索表单内符合条件的实例ID数量:
具体而言,您可以利用表单JS API的 jQuery.ajax()
方法向后端发起请求获取实例ID列表,并在请求成功后计算实例ID数组的长度,并将其设置为数字控件的值。示例代码如下:
// 获取表单JS API,此处省略获取过程
var api = kintone.app.record.get();
api.record.get().then(function(resp) {
// 根据条件构造查询参数
var queryParam = '...';
// 发起API请求获取符合条件的实例ID列表
return $.ajax({
url: '/k/v1/records.json',
type: 'GET',
data: {
app: kintone.app.getId(),
query: queryParam,
fields: '实例ID'
},
dataType: 'json'
});
}).then(function(resp) {
// 计算实例ID数组的长度并更新数字控件的值
var instanceIds = resp.records.map(function(record) {
return record['实例ID']['value'];
});
var instanceCount = instanceIds.length;
api.record.set({
'数值控件': {
value: instanceCount
}
});
}).catch(function(err) {
console.log('Error:', err);
});
上述代码仅作为实现示例,具体实现可能会受到您的具体业务需求和系统架构的影响。建议您在根据条件搜索表单内符合条件的实例ID数量时,谨慎处理数据安全性、逻辑正确性等问题。
在同一个流程表单内,需要搜索符合条件的实例 ID 的数量,可以通过以下步骤实现:
在表单中添加一个搜索框,输入搜索条件。例如,假设需要搜索“审批状态=已通过”的实例。
在表单的后台添加一个 JavaScript 脚本,请参考以下代码:
// 获取审批状态的下拉框选项的值
var approvalStatus = document.querySelector('.approval-status').value;
// 使用 Rest API 中的 /api/v1/forms/{formId}/instances 接口获取所有的实例列表
fetch(`/api/v1/forms/${formId}/instances`)
.then(response => response.json())
.then(data => {
// 筛选出符合条件的实例
var filteredInstances = data.filter(instance => instance.fields.approvalStatus === approvalStatus);
// 根据符合条件的实例数量,更新页面上的提示信息
var count = filteredInstances.length;
document.querySelector('.instance-count').textContent = count;
});
这样,当用户在搜索框中输入审批状态为“已通过”时,JavaScript 脚本就会根据 Rest API 获取表单中所有的实例列表,筛选出符合条件的实例,并更新页面上的提示信息。
需要注意的是,获取实例列表的 Rest API 接口需要一定的权限控制,因此需要确保当前登陆用户拥有权限访问该接口。另外,为了优化性能,可以考虑将搜索结果进行缓存,避免重复搜索。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。