4000-271-266
免费试用

数据过滤后联动

1. 案例背景

在项目管理,客户管理等系统中,我们只需要将未完结或者是进行中的数据联动过来的情境下,普通的数据联动配置并不能满足我们的需求,在这种场景下可以参考本案例进行过滤后数据联动的配置。

2. 实现效果

? 在选择《项目流程表》的项目类型后只将 《项目底表》内的项目类型相同且项目状态为「进行中」的数据联动过来并作为《项目流程表》项目名称的下拉选项。

3. 实现步骤

3.1 创建项目底表

路径:进入已创建好的应用 >> 页面左上角+号 >> 新建普通表单

创建项目底表

 组件配置

项目底表组件配置

3.2 创建项目流程表

路径:进入已创建好的应用 >> 页面左上角+号 >> 新建流程表单(任选一种表单类型即可)

创建 项目流程表

3.2.1 组件配置

项目流程表 组件配置

3.2.2 项目类型组件配置关联其他表单数据

项目类型组件配置

3.2.3 项目负责人组件配置数据联动

项目负责人组件配置

3.3 创建数据源及配置

项目流程表数据源配置

名称:getData

请求地址:/dingtalk/web/应用唯一编码/v1/form/searchFormDatas.json

请求方式:GET

数据源创建配置

3.4 JS 面板配置

3.4.1 项目类型组件新建 OnChange 动作

项目类型组件新建 OnChange 动作

3.4.2 JS 面板将以下代码写入 OnChange 动作

JS 代码配置

代码示例:

const a = {
    "项目底表项目类型唯一标识":this.$("项目流程表项目类型唯一标识").getValue(),
    "项目底表项目状态唯一标识":"进行中"
  }
  const params = {
    formUuid:"项目底表表单ID",
    searchFieldJson:JSON.stringify(a)
  }
  this.dataSourceMap.数据源名称.load(params).then((res) => {
    const arr = [];
    res.data.map((response) => {  
     
      arr.push({
        "value": response.formData.项目底表项目名称组件唯一标识,
        "label": response.formData.项目底表项目名称组件唯一标识
      });  
      
    })
    console.log("arr", arr) 
    this.$("项目流程表项目名称组件唯一标识").set("dataSource",arr)
  })

4. 效果演示

执行以下操作,实现的效果,如下:

1、展示项目底表完成与进行中的数据

2、在项目底表进行联动测试选择「类型A」,只有进行中的「项目1」、「项目4」会联动过来

3、选择「类型B」因为「类型B」没有进行中的数据,则项目名称选项无数据

效果演示


江苏无雀数据科技有限公司 www.wuquedata.com 版权所有
服务热线4000-271-266
ICP备案编号:苏ICP备2022045370号

一对一专业企业顾问

工作时间:9:00-18:00 在线服务

实时解答疑难问题

工作时间:9:00-18:00 在线服务

4000-271-266

工作时间:9:00-18:00 在线服务

售后咨询 电话联系 售前咨询