Skip to main content

Mixed use of data filling and data linkage in Subforms

1. Case Background

In many scenarios, we need to associate the form with the content of a single column in The subtable, and then use the content of this column as a condition to link the content of the next column, normal data filling and data linkage cannot be mixed. Currently, the following cases can be implemented.

2. Achieve results

💡Implement the mixed use of data filling and data linkage of associated forms in sub-tables

3. Implementation steps

3.1 create a data fill form

Path: Enter the created application> upper left corner of the page + sign> Create form page

Create a data fill form

Data filling form component configuration

The contents and conditions of the bottom table as data filling

Data filling component configuration

3.2 create a bottom table for data linkage

Bottom table conditions and content as data linkage

Create a bottom table for data linkage

Data Linkage bottom table component configuration

Data Linkage bottom table component configuration

3.3 create a mixed data filling table

Data filling mixed tables

3.3.1 configuration of data filling and linkage mixed table components

Configuration of data filling linkage mixed table components

3.3.2 configuration of associated form components

Configure Data filling to fill the bottom table with Subforms

Associated form component configuration

Associated form component configuration

3.3.3 Single line text 2 data linkage configuration

Configure data linkage so that you can manually select data linkage.

Single-line text 2 data linkage configuration

3.4 Data Source configuration and JS configuration

3.4.1 data source configuration

Name: dp2

Request address:/dingtalk/web/Application unique encoding/v1/form/searchFormDatas.json

Request method: GET

Data source configuration

3.4.1 JS panel configuration

Create an action that changes the value of OnChange

Create a JS action by associating a form

JS panel code configuration

Sample code:

Note: modify the corresponding form id and component unique identifier when copying the code.

  setTimeout(() => {
let tabValues = this.$('子表单唯一标识').getValue()
tabValues.map(item => {
const params = {
"formUuid": "数据联动底表表单id",
"searchFieldJson": JSON.stringify({
"数据联动底表单行文本1111唯一标识": item.单行文本1唯一标识
})
}
this.dataSourceMap.dp2.load(params).then(res => {
let data = res.data[0] ? res.data[0].formData.数据联动底表单行文本222唯一标识 : ""
let data1 = res.data[0] ? res.data[0].formData.数据联动底表单行文本1111唯一标识 : ""
let table = this.$('子表单唯一标识')
table.getItems().map(list => {
if (table.getComponent(list, '单行文本1唯一标识').getValue() == data1) {
table.getComponent(list, "单行文本2唯一标识").setValue(data)
}
})
item.单行文本2唯一标识 = data
})
})
}, 300)

4. Effect demonstration

Effect demonstration

-------------------- Get the latest information YIDA, welcome to follow US--------------------


This doc is generated using machine translation. Any discrepancies or differences created in the translation are not binding and have no legal effect for compliance or enforcement purposes.
Copyright © 2024钉钉(中国)信息技术有限公司和/或其关联公司浙ICP备18037475号-4