---
title: "4.1.2、表单字段：FormFieldRest"
docId: "954956751038488576"
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/repository/9c2e5f92-03b4-4207-9b22-a0c1dd79ac56/doc/954956751038488576"
---
**接口描述：**

> 所属包：weaver-common-form-api
> 
> 所属类：com.weaver.common.form.api.rest.field.FormFieldRest

#### 1. 获取表单的字段信息

**接口详情：**

```java
    /**
     * 根据表单ID查询所有字段信息
     * @param formId 表单id
     * @param isDelete 是否删除
     * @param user 用户信息
     * @return list 字段列表
     */
    List<SimpleFormFieldDto> listAllFormFieldByFormId(Long formId, Integer isDelete, SimpleEmployee user);
```

**参数说明：**

| 参数名 | 必传 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| formId | 是 | Long | 字段Id |
| isDelete | 否 | Integer | 删除状态<br>0：查询未删除字段<br>1：查询已删除字段<br>null：查询全部字段 |
| employee | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 具体字段 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| SimpleFormFieldDto |  | **com.weaver.common.form.dto.field.simple.SimpleFormFieldDto** | 字段对象实体类 |
| 属性列表 | id | Long | 字段ID |
| subFormId | Long | 明细表ID |  |
| formId | Long | 表单ID |  |
| dataKey | String | 字段的dataKey |  |
| columnName | String | 字段的数据库名称 |  |
| componentKey | String | 字段类型（如Text为单行文本） |  |
| type | String | 平台组件的字段类型 |  |
| single | Boolean | 是否单选 |  |
| complexId | Long | 父字段ID<br>复合字段（如日期区间）会存在多个子字段对应一个父字段 |  |
| deleteType | Integer | 删除状态 |  |
| browserModule | String | 浏览按钮所属模块 |  |
| browserType | String | 浏览按钮类型 |  |
| dataTemplateId | Long | 选项模板id |  |
| sFormId | Long | 关联类字段的关联目标ID |  |
| title | String | 标题 |  |
| subFormTitle | String | 明细表的标题 |  |
| isRequired | Boolean | 是否必填 |  |
| showOrder | Double | 显示顺序 |  |
| subFields | com.weaver.common.form.dto.field.simple.SimpleFormFieldDto | 子字段的字段数据信息 |  |
| sourceModule | String | 所属模块 |  |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test() {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    Long formId = 1L;
    Integer isDelete = 0;
    List<SimpleFormFieldDto> fieldList = formRestFactory.getFormFieldRest(module).listAllFormFieldByFormId(formId,isDelete, employee);
}

```

---

#### 2. 获取表单的字段信息（国际化）

**接口详情：**

```java
    /**
     * 根据表单ID查询所有字段信息
     * @param formId 表单id
     * @param isDelete 是否删除
     * @param user 用户信息
     * @return list 字段列表
     */
    List<SimpleFormFieldDto> listAllFormFieldByFormId(Long formId, Integer isDelete, SimpleEmployee user);

```

**参数说明：**

| 参数名 | 必传 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| formId | 是 | Long | 字段Id |
| isDelete | 否 | Integer | 删除状态<br>0：查询未删除字段<br>1：查询已删除字段<br>null：查询全部字段 |
| employee | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 具体字段 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| **FormFieldI18nDto** |  | **com.weaver.common.form.dto.field.i18n.FormFieldI18nDto** | 字段对象实体类 |
| 属性列表 | id | Long | 字段ID |
| title | String | 字段名称 |  |
| titleI18n | String | 字段国际化后名称 |  |
| componentKey | String | 控件类型 |  |
| subFormId | Long | 子表ID |  |
| subFormTitle | String | 子表标题 |  |
| subFormTitleI18n | String | 子表标题-国际化 |  |
| fields | List | 子字段集合 |  |
| selectIds | List | 复合控件子控件ID集合 |  |
| child | List | 复合控件子字段集合 |  |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test() {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    Long formId = 1L;
    Integer isDelete = 0;
    List<FormFieldI18nDto> fieldList = formRestFactory.getFormFieldRest(module).listAllFormFieldByFormId(formId,isDelete, employee);
}

```

---

#### 3. 获取单个字段信息

**接口详情：**

```java
    /**
     * 获取字段详情
     *
     * @param fieldId   字段Id
     * @param employee  用户信息
     * @return  字段信息
     */
    SimpleFormFieldDto getSimpleFormFieldById(Long fieldId, SimpleEmployee employee);
```

**参数说明：**

| 参数名 | 必传 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| fieldId | 是 | Long | 字段Id |
| employee | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 | 具体字段 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| SimpleFormFieldDto |  | **com.weaver.common.form.dto.field.simple.SimpleFormFieldDto** | 字段对象实体类 |
| 属性列表 | id | Long | 字段ID |
| subFormId | Long | 明细表ID |  |
| formId | Long | 表单ID |  |
| dataKey | String | 字段的dataKey |  |
| columnName | String | 字段的数据库名称 |  |
| componentKey | String | 字段类型（如Text为单行文本） |  |
| type | String | 平台组件的字段类型 |  |
| single | Boolean | 是否单选 |  |
| complexId | Long | 父字段ID<br>复合字段（如日期区间）会存在多个子字段对应一个父字段 |  |
| deleteType | Integer | 删除状态 |  |
| browserModule | String | 浏览按钮所属模块 |  |
| browserType | String | 浏览按钮类型 |  |
| dataTemplateId | Long | 选项模板id |  |
| sFormId | Long | 关联类字段的关联目标ID |  |
| title | String | 标题 |  |
| subFormTitle | String | 明细表的标题 |  |
| isRequired | Boolean | 是否必填 |  |
| showOrder | Double | 显示顺序 |  |
| subFields | com.weaver.common.form.dto.field.simple.SimpleFormFieldDto | 子字段的字段数据信息 |  |
| sourceModule | String | 所属模块 |  |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test() {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    Long fieldId = 1L;
    SimpleFormFieldDto formFieldDto = formRestFactory.getFormFieldRest(module).getSimpleFormFieldById(fieldId, employee);
}

```

---

#### 4. 获取表单的明细表信息

**接口详情：**

```java
    /**
     * 获取明细子表
     * @param formId 字段id
     * @param isDel 0 :为删除;1:已删除; null:全部
     * @param user 用户信息
     * @return 明细子表集合
     */
    List<SubFormDto> getSubFormListbyStatus(Long formId, Integer isDel, SimpleEmployee user);
```

**参数说明：**

| 参数名 | 必传 | 类型 | 描述 |
| --- | --- | --- | --- |
| formId | 是 | Long | 字段Id |
| isDel | 否 | Integer | 删除状态<br>0：查询未删除字段<br>1：查询已删除字段<br>null：查询全部字段 |
| employee | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息（必须包含id和tenantKey） |

**返回值：**

| 类型 |  | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| List |  | java.util.List<com.weaver.common.form.metadata.field.FormField> | 符合条件的字段集合 |
| 属性列表 | formId | Long | 子表-所属主表ID |
| subFormId | Long | 子表-ID |  |
| title | String | 子表-名称 |  |
| describe | String | 子表-描述 |  |
| order | Double | 子表-顺序 |  |
| tableName | String | 子表-物理表名称 |  |
| orderConfig | List | 子表排序字段设置 |  |
| describeType | String | 字段-描述类型 |  |
| describePosition | String | 字段-描述位置 |  |
| ffRelateDataTable | RelateDataTable | 字段-关联表单设置 |  |
| parentSubFormId | Long | 字段-明细表父级ID |  |
| enableSubDetail | Boolean | 字段-是否启用二级明细 |  |
| parentRelateField | String | 字段-父级关联字段 |  |
| subRelateField | String | 字段-子级关联字段 |  |
| dialogEditConfig | Map<String, Object> | 字段-明细表卡片模式配置 |  |
| defaultExpandRow | Boolean | 二级明细表是否展开 |  |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test() {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    Long formId = 1L;
    Integer isDelete = 0;
    List<SubFormDto> subFormList = formRestFactory.getFormFieldRest(module).getSubFormListbyStatus(formId,isDelete, employee);
}
```

---

#### 5. 获取布局中的字段信息

**接口详情：**

```java
     /**
     * 根据表单字段搜索实体类，查询表单字段集合（根据多布局过滤，获取布局中已有字段）
     * @param entity 表单字段高级搜索实体类
     * @param employee 用户信息（必须包含id和tenantKey）
     * @return List<SimpleFormFieldDto> 表单字段集合
     */
    List<SimpleFormFieldDto> listFormFieldFilterByLayoutMultiple(FormFieldSearchEntity entity, SimpleEmployee employee);
```

**参数说明：**

| 参数名 |  | 必传 | 类型 | 描述 |
| --- | --- | --- | --- | --- |
| entity |  | 是 | com.weaver.common.form.searchentity.FormFieldSearchEntity | 表单Id |
| 属性列表 | formId | 是 | Long | 表单ID |
| multipleLayoutId | 是 | Long | 布局ID |  |
| employee | 是 | 是 | com.weaver.teams.domain.user.SimpleEmployee | 用户信息 |

**返回值：**

| 类型 | 具体字段 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| List<SimpleFormFieldDto> |  | **com.weaver.common.form.dto.field.simple.SimpleFormFieldDto** | 字段对象实体类 |
| 属性列表 | id | Long | 字段ID |
| subFormId | Long | 明细表ID |  |
| formId | Long | 表单ID |  |
| dataKey | String | 字段的dataKey |  |
| columnName | String | 字段的数据库名称 |  |
| componentKey | String | 字段类型（如Text为单行文本） |  |
| type | String | 平台组件的字段类型 |  |
| single | Boolean | 是否单选 |  |
| complexId | Long | 父字段ID<br>复合字段（如日期区间）会存在多个子字段对应一个父字段 |  |
| deleteType | Integer | 删除状态 |  |
| browserModule | String | 浏览按钮所属模块 |  |
| browserType | String | 浏览按钮类型 |  |
| dataTemplateId | Long | 选项模板id |  |
| sFormId | Long | 关联类字段的关联目标ID |  |
| title | String | 标题 |  |
| subFormTitle | String | 明细表的标题 |  |
| isRequired | Boolean | 是否必填 |  |
| showOrder | Double | 显示顺序 |  |
| subFields | com.weaver.common.form.dto.field.simple.SimpleFormFieldDto | 子字段的字段数据信息 |  |
| sourceModule | String | 所属模块 |  |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test() {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    FormFieldSearchEntity entity = new FormFieldSearchEntity();
    entity.setFormId(1L);
    entity.setMultipleLayoutId(2L);
    List<SimpleFormFieldDto> fieldList = formRestFactory.getFormFieldRest(module).listFormFieldFilterByLayoutMultiple(entity, employee);
}

```

#### 6. 查询字段分组设置

**接口详情：**

```java
    /**
     * 获取表单下字段分组集合
     * @param formId 表单ID
     * @param employee 用户信息
     * @return 字段分组集合
     */
    List<FormFieldGroup> listFieldGroups(Long formId, SimpleEmployee employee);
```

**参数说明：**

| 参数名 | 必传 | 类型 | 描述 |
| --- | --- | --- | --- |
| formId | 是 | Long | 查询条件 |
| employee | 是 | SimpleEmployee | 用户信息 |

**返回值：**

| 类型 | 具体字段 | 类型所属包路径 | 描述 |
| --- | --- | --- | --- |
| List<FormFieldGroup> |  | com.weaver.common.form.metadata.field.FormFieldGroup | 字段分组设置信息 |
| 具体属性 | formId | Long | 分组-ID |
| groupName | String | 分组-名称 |  |
| icon | String | 分组-图标 |  |
| tenantKey | String | 分组-租户key |  |
| operator | SimpleEmployee | 分组-创建人 |  |
| createTime | Date | 分组-创建时间 |  |
| updateTime | Date | 分组-更新时间 |  |
| showOrder | Double | 分组-显示顺序 |  |
| isDelete | Boolean | 分组-是否删除 |  |
| refFieldId | Long | 分组-关联分组字段id |  |
| labelObj | Map<String, Object> | 多语言标签对象 |  |
| otherProperties | String | 字段扩展属性 |  |

**对接示例：**

```java
import com.weaver.common.form.api.rest.FormRestFactory;
@Autowired
FormRestFactory formRestFactory;

public void Test() {
    String module = "workflow";

    SimpleEmployee employee = new SimpleEmployee();
    employee.setId(918327792617603074L);
    employee.setTenantKey("t82kg113nu");

    Long formId = 1L;
    List<FormFieldGroup> fieldGroups = formRestFactory.getFormFieldRest(module).listFieldGroups(entity, employee);
}
```
