开发前必读
概述
开发者使用指南
开发者使用流程
通信说明
开发者工具
更新日志
基础能力接口
获取token接口
外部系统单点登录
单点登录使用说明
获取单点登录用户信息
通讯录管理
获取部门列表
新增部门
修改部门
删除部门
新增用户
修改用户
删除用户
获取用户列表
通讯录变更同步
获取标签信息
新增标签
修改标签
删除标签
获取标签成员列表
添加标签成员
删除标签成员
按部门查询标签
按用户查询标签
离职用户
获取离职信息
用户复职
获取自定列表信息
第三方消息推送
推送文本消息
推送图文消息
推送消息附录
统一消息推送(回调)
图片附件上传
图片附件下载
图片附件单个下载
图片附件批量下载
应用数据接口
表单流程/七巧
新增表单
获取表单模板信息
推送数据
修改表单数据
删除表单数据
数据源
数据回调
导出表单流程数据
获取填写情况详细数据(新)
通过ID获取填写详细数据(新)
流程干预
获取填写情况详细数据(旧)
通过ID获取填写详细数据(旧)
获取应用填写详细数据(待办、已办等)
发票识别接口
发票验真接口
附录
考勤打卡
获取考勤规则列表
获取考勤详细信息
获取考勤日报信息
注册考勤服务
新增虚拟考勤机
删除虚拟考勤机
考勤机打卡
获取考勤排班明细
获取考勤异常申诉记录
请假出差
获取请假信息列表
获取请假类型列表
假期管理
获取请假详情信息
新闻公告
获取新闻动态类型
新增新闻动态
获取新闻列表
获取新闻详情
获取个人新闻列表
费控报销
获取报销信息列表
获取成本中心信息列表
导入成本中心
获取预算明细
获取发票信息列表
获取借款信息列表
获取用户可见范围内成本中心
获取用户可见范围内科目
获取超额预算
费控预算操作
企业用车
获取车辆申请列表
任务分派
获取任务分派信息列表
获取任务类型信息接口
新建任务接口
移动CRM
获取客户信息列表
获取客户字段
新增客户
更新客户
获取客户详情
获取客户类别
获取所有公海池
获取所有行业信息
获取联系人信息列表
获取联系人字段
新增联系人
更新联系人
获取联系人详情
获取商机信息列表
获取商机字段
新增商机
更新商机
获取商机详情
获取商机阶段或商机类型
修改商机阶段
获取拜访信息列表
获取合同信息列表
获取合同字段
新增合同
更新合同
获取合同详情
获取公海池客户信息列表
获取公海池客户详情
培训考试
获取考试成绩列表
获取考试统计信息列表
获取考试人员明细
获取学习统计信息列表
获取个人学习档案信息列表
获取课程统计信息列表
获取课程人员明细
获取个人学分明细
获取讲师信息列表
获取题库试题明细
新增题库试题
删除题库试题
移动外勤
获取签到信息列表
会议管家
获取会议详情
获取会议纪要详情
获取会议室详情
获取区域列表
获取会议室列表
获取会议详情列表

新增编辑表单

开发说明

功能说明:用户可通过该接口创建修改表单属性、表单字段等配置项,由于暂不支持接口创建流程节点,审批单则采用自由流程。

  • 表单字段:可添加、修改、删除表单内的所有字段
  • 表单设置:可修改人员权限、填写设置、数据提交、提醒设置、结果查询、高级设置等功能模块

  • 请求方式:POST(HTTPS)multipart/form-data
    请求地址:https://qwif.do1.com.cn/qwcgi/api/apiForm/createForm.do?token=token&corpId=corpId

    请求包体:

    {
      "deptIds": [
        "部门全称1",
        "部门全称2"
      ],
      "detailDeptIds": [
        "部门全称1",
        "部门全称2"
      ],
      "detailTagIds": [
        "标签id1",
        "标签id2"
      ],
      "detailUserIds": [
        "通讯录账号1",
        "通讯录账号2"
      ],
      "downloadMxDeptIds": [
        "部门全称1",
        "部门全称2"
      ],
      "downloadMxTagIds": [
        "标签id1",
        "标签id2"
      ],
      "downloadMxUserIds": [
        "通讯录账号1",
        "通讯录账号2"
      ],
      "formControl": {
        "actorTime": 1,
        "actorTimeRate": 2,
        "canSeeDataReport": 2,
        "daySubmitNum": 2,
        "detailViewLevel": 2,
        "endSendMsgTime": 5,
        "formPhotoSet": "0",
        "isAnonymous": 1,
        "isBuildSort": 1,
        "isBuildTitle": "2",
        "isCanAt": 1,
        "isCanDel": "0",
        "isCanUpdate": "0",
        "isDisableRelatives": "0",
        "isDisableRelevants": "0",
        "isForceAnonymous": 1,
        "isOpenDraft": 1,
        "isOpenPrint": 1,
        "isRelatives": "1",
        "isRelevants": "1",
        "isRemind": "1",
        "isSaveOrbit": 1,
        "isSendMsg": "0",
        "isTask": "2",
        "isUpdaeTitle": 1,
        "isWriterRemind": "1",
        "isWxDownloadMx": 2,
        "limitTimeRate": 2,
        "limitTimes": "07:00-09:00",
        "relativesMaxNum": 10,
        "sendRelevantStatus": "3",
        "startSendMsgTime": 5,
        "startTime": "2022-01-01 00:00:00",
        "stopTime": "2022-12-31 23:59:59",
        "submitTime": 100,
        "timeRateNum": "0,6",
        "titleTemplate": "API创建表单{create_user_name}_{yyyyMMdd}",
        "typeName": "API创建表单分组"
      },
      "formCustomRemind": [
        {
          "addressBookItemIds": [
            "fo通讯录成员字段id"
          ],
          "endItemKey": "CUSTOM_TIME()",
          "endTime": "2022-12-31 12:59:59",
          "formConditionJson": [
            {
              "compareVal": "单行文字值",
              "fieldKey": "fo单行文字字段id",
              "operator": 1
            }
          ],
          "holidayRemind": 0,
          "personnelControl": 1,
          "remindAroundDay": 5,
          "remindAroundType": 2,
          "remindConditions": 1,
          "remindInterval": 2,
          "remindItemKey": "fo日期字段id",
          "remindNumber": 10,
          "remindStatus": 1,
          "remindTime": "12:00:00",
          "remindType": 1,
          "remindUserIds": "通讯录账号1|通讯录账号2",
          "repeatType": 1,
          "specificMember": 1,
          "weekendRemind": 0
        }
      ],
      "formDetails": {
        "content": "

    API创建表单示例,此处支持富文本标签<\/p>", "creatorDepartmentDisplayOrder": 2, "creatorDepartmentLevel": 3, "customIcon": { "iconColor": "rgba(128,0,0,1)", "iconName": "baobiao" }, "customLogo": { "iconType": 1, "url": "自定义logo相对路径" }, "definitionVersionsId": "表单id", "departmentFieldDisplayOrder": 1, "departmentLevel": 3, "formName": "API创建表单", "formStyle": { "background": "#f7f8fa", "backgroundRepeat": "no-repeat", "backgroundType": 0, "fieldStyle": { "color": "#383838", "fontFamily": "PingFangSC-Regular,'Microsoft YaHei','宋体', Tahoma, Arial, sans-serif", "fontSize": "14px", "fontWeight": "normal", "space": 0 }, "headerImg": "背景图片相对路径", "themeColor": "#fff", "titleStyle": { "color": "#383838", "fontFamily": "PingFangSC-Regular,'Microsoft YaHei','宋体', Tahoma, Arial, sans-serif", "fontSize": "18px", "fontWeight": "normal", "textAlign": "left" } }, "isBuildSerialNumber": 1, "isCustomRemind": 1, "isFormValidators": 1, "isInitPage": 1, "style": 1, "thumbnail": "表单缩略图", "title": "API创建表单" }, "formField": [ { "_id": "fo单行文字字段id", "_type": "TextField", "customPrompt": "请输入正确的单行文字", "label": "单行文字", "maximum_length": 10, "minimum_length": 2, "notes": "请输入单行文字", "notesHtml": "

    请输入单行文字<\/p>", "predefinedCache": 0, "predefinedType": 0, "unique": false, "validations": [ "presence" ] }, { "_id": "fo手机号码字段id", "_type": "MobileField", "label": "手机号码", "messageVerification": 1, "openPhoneCheck": 1, "predefinedCache": 0, "predefinedType": 3, "unique": false }, { "_id": "fo电话字段id", "_type": "TelephoneField", "label": "电话", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo邮箱字段id", "_type": "EmailField", "label": "邮箱", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo单项选择字段id", "_type": "RadioButton", "choices": [ { "_id": "fo选项1id", "relate_show_ids": [ "fo下拉框字段id" ], "selected": true, "value": "选项1" }, { "_id": "fo选项2id", "selected": false, "value": "选项2" }, { "_id": "fo选项3id", "others": 1, "selected": false, "value": "其他" } ], "label": "单项选择", "line_row": 3, "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo多项选择字段id", "_type": "CheckBox", "choices": [ { "_id": "fo选项1id", "selected": true, "value": "包邮" }, { "_id": "fo选项2id", "selected": false, "value": "满减" }, { "_id": "fo选项3id", "others": 1, "selected": false, "value": "其他" } ], "label": "多项选择", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo下拉框字段id", "_type": "DropDown", "choices": [ { "_id": "fo选项1id", "quota": "100", "selected": true, "value": "选项1" }, { "_id": "fo选项2id", "selected": false, "value": "选项2" }, { "_id": "fo选项3id", "others": 1, "selected": false, "value": "其他" } ], "isOpenQuota": 1, "label": "下拉框", "optionResetType": 0, "predefinedCache": 0, "predefinedType": 0, "quotaConfigVO": { "cycleNumber": 2, "cycleRate": 2, "cycleTime": 3, "startTime": "06:00" }, "refOptionQuotaKey": "fo日期字段id", "unique": false }, { "_id": "fo两级下拉框字段id", "_type": "CascadeDropDown", "choices": [ { "_id": "fo选项1id", "selected": false, "sub_choices": [ { "value": "二级选项1" }, { "value": "二级选项2" } ], "value": "选项1" }, { "_id": "fo选项2id", "selected": false, "sub_choices": [ { "value": "二级选项1" }, { "value": "二级选项2" } ], "value": "选项2" } ], "label": "两级下拉框", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo地理位置字段id", "_type": "GeoField", "freeGeo": 1, "geoFieldRule": { "showCoordinate": 1 }, "label": "地理位置", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo省市区字段id", "_type": "CityField", "cityType": 0, "label": "省市区", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo多行文字id", "_type": "TextArea", "label": "多行文本", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo日期字段id", "_type": "DateField", "end_date": "2022-12-31", "label": "日期", "predefinedCache": 0, "predefinedType": 0, "start_date": "2022-01-01", "unique": false }, { "_id": "fo时间字段id", "_type": "TimeField", "label": "时间", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo日期时间字段id", "_type": "DateTimeField", "label": "日期时间", "predefinedCache": 0, "predefinedType": 2, "predefined_value": "NOW()", "unique": false }, { "_id": "fo评分字段id", "_type": "RatingField", "label": "评分", "maximum_length": 10, "predefinedCache": 0, "predefinedType": 0, "rating_type": "star", "unique": false }, { "_id": "fo图片字段id", "_type": "ImageField", "label": "图片", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo说明项字段id", "_type": "ImageCheckBox", "label": "请填写子表单", "notes": "请填写子表单", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo子表单字段id", "_type": "ChildField", "children": [ { "_id": "fo子字段图片字段id", "_type": "ImageField", "label": "子字段图片", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo子字段单行文字字段id", "_type": "TextField", "label": "子字段单行文字", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo子字段数字字段id", "_type": "NumberField", "accurate_num": 2, "label": "子字段数字", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo子字段数字2字段id", "_type": "NumberField", "accurate_num": -1, "label": "子字段数字2", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo子字段计算式字段id", "_type": "EquationField", "accurate_num": 2, "calculator": "fo子字段数字字段id*fo子字段数字2字段id", "label": "子字段计算式", "notes": "子字段数字*子字段数字2", "predefinedCache": 0, "predefinedType": 0, "unique": false } ], "label": "子表单", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo统计字段id", "_type": "StatisticsField", "accurate_num": 2, "calculator": "fo子表单字段id|fo子字段计算式字段id", "label": "统计", "line_row": 1, "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo数字字段id", "_type": "NumberField", "accurate_num": 2, "label": "数字", "numberFormat": { "isThousandSplit": 1, "isUnit": 1, "numType": 1, "unitValue": "元" }, "predefinedCache": 0, "predefinedType": 0, "predefined_value": "6.00", "unique": false }, { "_id": "fo计算式字段id", "_type": "EquationField", "accurate_num": 2, "calculator": "fo统计字段id+fo数字字段id", "label": "计算式", "notes": "统计+数字", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo表单关联字段id", "_type": "FORMREFCustomerField", "label": "表单关联", "options": [ { "childKey": "fo表单关联子字段id", "forbidMinus": false, "refKey": "fo底单字段2id", "type": "setEq", "updateNull": false, "updateSame": false } ], "predefinedCache": 0, "predefinedType": 0, "ref_cfg": { "filter_fields": [ { "filter_condition": "1", "filter_field": "fo底单字段2id", "filter_type": 1, "filter_value": "fo单行文字字段id" } ], "isCanSeeRefForm": 1, "main_field": "fo底单字段id", "queryCommit": 1, "show_fields": [ "fo底单字段id", "fo底单字段2id", "fo底单字段3id" ], "sortField": "fo底单字段2id", "sortOrder": 1 }, "ref_id": "底单id", "unique": false }, { "_id": "foPlus关联字段id", "_type": "FORMREFCustomerField", "applicationId": "Plus应用id", "label": "Plus关联", "predefinedCache": 0, "predefinedType": 0, "ref_cfg": { "filter_fields": [ { "filter_condition": "1", "filter_field": "key_底单字段2id", "filter_type": 1, "filter_value": "fo单行文字字段id" } ], "main_field": "key_底单字段id", "queryCommit": 0, "show_fields": [ "key_底单字段id", "key_底单字段2id", "key_底单字段3id" ], "sortField": "fo底单字段2id", "sortOrder": 0 }, "ref_id": "PlusFormModelid", "ref_title": "Plus表单标题", "srcType": "QIQIAO_PLUS", "unique": false }, { "_id": "fo生成二维码字段id", "_type": "QrCodeField", "label": "生成二维码", "predefinedCache": 0, "predefinedType": 0, "qrCodeFieldCfg": { "format": "fo单行文字字段1,fo日期字段1", "scanType": 0, "showType": 1 }, "unique": false }, { "_id": "fo手写签名字段id", "_type": "HandWrittenField", "label": "手写签名", "openedHandwritten": 1, "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo数据源字段id", "_type": "Datasource", "cascadeLevel": 3, "label": "数据源", "line_row": 3, "predefinedCache": 0, "predefinedType": 0, "ref_cfg": { "datasource_fields": [ { "field_key": "id", "field_name": "编号", "field_type": "Id" }, { "field_key": "name", "field_name": "名称", "field_type": "MainField" }, { "field_key": "parentid", "field_name": "关联编号", "field_type": "ParentId" } ], "filter_fields": [ { "filter_condition": "1", "filter_field": "name", "filter_type": 1, "filter_value": "fo单行文字字段id" } ], "queryCommit": 0, "sortOrder": 0 }, "ref_type": "DSCascadeDropDown", "ref_url": "https://qy.do1.com.cn/qwy/open/openForm/testDatasource.do?selecttop=1", "unique": false }, { "_id": "fo智能识别字段id", "_type": "OCRInvoiceField", "label": "智能识别", "predefinedCache": 0, "predefinedType": 0, "ref_cfg": { "checkTitle": true, "moneyCollector": "fo数字字段id", "ocrFieldType": "0", "queryCommit": 0, "sortOrder": 0 }, "unique": false }, { "_id": "fo通讯录成员字段id", "_type": "MEMBERCustomerField", "label": "通讯录成员", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo部门字段id", "_type": "DEPTCustomerField", "label": "部门", "predefinedCache": 0, "predefinedType": 0, "unique": false }, { "_id": "fo费控关联id", "_type": "CRMCustomerField", "label": "费控关联", "predefinedCache": 0, "predefinedType": 0, "srcType": "REIM_PROJ", "unique": false }, { "_id": "fo流水号字段id", "_type": "SerialNumberField", "label": "流水号", "predefinedCache": 0, "predefinedType": 0, "serialNumberCfg": { "autoFill": 1, "initialValue": 1, "length": 4, "resetCycle": 3, "resetDate": { "day": 1 } }, "unique": false } ], "formPublicInquiryJson": [ { "failPrompt": "查询失败提示", "isNeedPassword": 1, "password": "password", "searchAnnouncement": "查询页面公告", "searchFields": [ "fo单行文字字段id" ], "showFields": [ "fo单行文字字段id", "fo表单关联字段id" ], "successPrompt": "查询成功提示", "title": "公开查询标题" } ], "givenDeptIds": [ "部门全称1", "部门全称2" ], "givenTagIds": [ "标签id1", "标签id2" ], "givenUserIds": [ "通讯录账号1", "通讯录账号2" ], "medias": [ "表单附件相对路径" ], "relevantDeptIds": [ "部门全称1", "部门全称2" ], "relevantTagIds": [ "标签id1", "标签id2" ], "relevantUserIds": [ "通讯录账号1", "通讯录账号2" ], "reminderTask": { "content": "提醒内容", "endTime": "2022-03-01 00:00:00", "remindCycle": 1, "remindTime": "2022-02-01 00:00:00" }, "reportDeptIds": [ "部门全称1", "部门全称2" ], "reportTagIds": [ "标签id1", "标签id2" ], "reportUserIds": [ "通讯录账号1", "通讯录账号2" ], "status": 1, "tagIds": [ "标签id1", "标签id2" ], "tbQyFlowAuditOrderConfigPO": { "batchApproval": 1, "isOrderAudit": 1 }, "userIds": [ "通讯录账号1", "通讯录账号2" ], "validators": [ { "calculator": "fo数字字段id > 0", "message": "数字字段数字字段必须大于0" } ] }

    请求参数说明:

    参数名 释义 类型 是否必须 描述

    token

    用于验证

    String

    参考获取token接口

    corpId 公司唯一标识 String
    data
    API创建表单json
    ApiFormCreateVO


    ApiFormCreateVO类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    formDetails 表单详细信息 FormDetails
    formControl 表单控制 TbFormControlPO
    formField 字段设置 Fields[]
    reminderTask 定时提醒 TbReminderTaskPO
    isAddWatermark 图片添加水印 String 1:是
    formFieldContralJson 外部单可见字段 String[] ["字段id"]
    defaultFlowMember 外部单默认流转成员 String 使用账号
    prefillList 表单预填写 JSON [{
        "字段id": "字段预填写"
    }]
    medias 表单附件 String[] 使用附件相对路径
    tbFormCustomPageVO 提交后提示页面 TbFormCustomPageVO
    formPublicInquiryJson 公开查询 FormPublicInquiryVO[]
    qyFlowNodeCallbackList 数据接口 CallbackTreeVO[]
    validators 提交校验 TbFormValidators[]
    formCustomRemind 自定义提醒规则 FormCustomRemindVO[]
    userIds 填单范围成员列表 String[] 使用账号
    deptIds 填单范围部门列表 String[] 使用部门全称
    tagIds 填单范围标签列表 String[] 使用标签名称
    detailUserIds 明细查看权限成员列表 String[] 使用账号
    detailDeptIds 明细查看权限部门列表 String[] 使用部门全称
    detailTagIds 明细查看权限标签列表 String[] 使用标签名称
    relevantUserIds 默认相关人成员列表 String[] 使用账号
    relevantDeptIds 默认相关人部门列表 String[] 使用部门全称
    relevantTagIds 默认相关人标签列表 String[] 使用标签名称
    givenUserIds 默认负责人成员列表(外部单为提单后提醒成员) String[] 使用账号
    givenDeptIds 默认负责人部门列表 String[] 使用部门全称
    givenTagIds 默认负责人标签列表 String[] 使用标签名称
    spokesManUserIds 外部用户可见评论的内部成员列表 String[] 使用账号
    spokesManDeptIds 外部用户可见评论的内部部门列表 String[] 使用部门全称
    spokesManTagIds 外部用户可见评论的内部标签列表 String[] 使用标签名称
    downloadMxUserIds 应用端明细下载成员列表 String[] 使用账号
    downloadMxDeptIds 应用端明细下载部门列表 String[] 使用部门全称
    downloadMxTagIds 应用端明细下载标签列表 String[] 使用标签名称
    reportUserIds 可查看应用端数据报表成员列表 String[] 使用账号
    reportDeptIds 可查看应用端数据报表部门列表 String[] 使用部门全称
    reportTagIds 可查看应用端数据报表标签列表 String[] 使用标签名称
    status 状态 Integer 0:草稿,1:发布
    tbQyFlowAuditOrderConfigPO 流程设置 TbQyFlowAuditOrderConfigPO
    FormDetails类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    definitionVersionsId 表单id String
    formName 表单名称 String
    title 表单实例标题 String
    summary 表单摘要,暂不使用 String
    content 表单内容 String 支持富文本
    thumbnail 表单缩略图 String 使用相对路径,缩略图模式下使用
    isBuildSerialNumber 高级标题是否添加流水号 Integer 0:否,1:是
    showRead 已阅显示 Integer 0:否,1:是
    customIcon 自定义图标属性 CustomIcon
    departmentLevel 部门字段显示层级数 Integer
    departmentFieldDisplayOrder 部门字段显示层顺序 Integer 1:从左到右,2:从右到左
    creatorDepartmentLevel 提单人部门显示层级数 Integer
    creatorDepartmentDisplayOrder 提单人部门字段显示层顺序 Integer 1:从左到右,2:从右到左
    style 表单字段样式 Integer 0:标准版,1:简约版
    formStyle 表单样式配置 FormStyle
    customLogo 微信分享图标 CustomLogo
    CustomIcon类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    iconColor 图标颜色 String
    iconName 图标名称 IconName 参考附录5
    iconUrl 图标相对路径 String
    FormStyle类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    background 背景图片相对路径 String
    themeColor 主题颜色 String 如rgba(255,255,255,1)
    headerImg 页眉图片相对路径 String
    backgroundRepeat 背景图片重复方式 String 取值:no-repeat(不重复),repeat(重复)
    backgroundType 背景类型 Integer 0:底色,1:图片
    titleStyle 标题样式 TitleStyle
    fieldStyle 字段样式 FieldStyle
    TitleStyle类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    fontFamily 表单标题字体 String
    fontWeight 表单标题是否加粗 String normal(否),bold(是)
    color 表单标题字体颜色 String
    fontSize 表单标题字体大小 String
    textAlign 表单标题水平对齐方式 String
    FieldStyle类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    fontFamily 字段标题字体 String
    fontWeight 字段标题是否加粗 String normal(否),bold(是)
    color 字段标题字体颜色 String
    fontSize 字段标题字体大小 String
    space 字段标题间距 Integer 0:普通间距,1:紧凑间距,2:宽松间距
    CustomLogo类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    iconType 图标类型 Integer 0:默认图标,1:自定义图标
    url 图标相对路径 String (图标类型为1时使用)
    TbFormControlPO类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    typeName 分组名称 String 必须是后台已存在的分类名称
    isTask 表单类型 String 0:普通单,1:任务单,2:审批单,3:外部单
    titleTemplate 标题模板 String 默认不使用
    yyyy_MM_dd_HH_mm_ss_E:年_月_日_时_分_秒_星期X
    yyyy_MM_dd_HH_mm_ss:年_月_日_时_分_秒
    yyyyMMdd HHmmss:年月日 时分秒
    yyyyMMddHHmmss:年月日时分秒
    yyyy/MM/dd HH:mm:年/月/日 时:分
    yyyyMMddHHmm:年月日时分
    yyyyMMdd:年月日
    _id:嵌入字段id
    create_user_name:提单人姓名
    create_user_dept:提单人部门
    以上字符可以用{}括起来得到自定义标题模板
    isBuildSort 是否自动生成标题序号 Integer 0:否,1:是
    isBuildTitle 填单时自动生成标题 String 1:否,2:是
    isUpdaeTitle 是否允许提单人修改标题 Integer 0:否,1:是
    isRelatives 是否启用负责人(外部单为是否启用提单后提醒) String 0:否,1:是
    isDisableRelatives 是否禁用自由选择负责人 String 0:否,1:是(默认启用)
    relativesMaxNum 提交表单时最大可选负责人数量 Integer 自由流程时有效,0:不限制
    isRelevants 是否启用相关人 String 1:是
    isDisableRelevants 是否禁用自由选择相关人 String 0:否,1:是(默认启用)
    flowType 流程流转类型(外部单) Integer 0:手动流转,1:自动流转
    isMatchField 是否根据表单字段值与内部通讯录匹配流转成员(外部单) Integer 0:否,1:是
    fieldToMatch 待匹配字段(外部单) String 使用字段id
    addressBookField 匹配通讯录字段(外部单) Integer 0:根据名称匹配,1:根据手机匹配
    isWithdraw 开启外部人员是否可以撤回外部单(外部单) Integer 0:关闭,1:开启
    isShowFlowSerial 是否允许外部提单人查看内部流转明细(外部单) Integer 0:否,1:是
    isSearchForm 是否启用表单结果查询(外部单) String 0:否,1:是
    isSearchComment 是否允许外部用户查看内部人员评论(外部单) String 0:否,1:是
    isOpenSpokesMan 是否指定外部用户可见的内部人员评论(外部单) Integer 0:否,1:是
    detailViewLevel 明细查看权限 Integer 0:表示不启用,1:表示所有人,2:特定对象
    isWxDownloadMx 是否启用应用端明细下载 Integer 0:否,1:所有人,2:特定对象
    canSeeDataReport 是否启用应用端数据报表 Integer 0:否,1:所有人,2:特定对象
    startTime 有效时间(始) Date yyyy-MM-dd HH:mm:ss
    stopTime 有效时间(终) Date yyyy-MM-dd HH:mm:ss
    lockValidTime 是否启用表单锁定(外部单) Integer 0:否,1:是
    limitTimeRate 填写时间周期限制 Integer 0:不限制,1:每天,2:每周,3:每月
    timeRateNum 每周或每月的具体日子 String 当周期限制为每周时,0表示周日,1~6分别表示周一至周六
    当周期限制为每月时,0表示每月最后一天,1~31表示日期
    多个用英文逗号隔开
    limitTimes 限制的时间段 String 格式"07:00-09:00"
    submitTime 表单总份数限制 Integer 0表示不限制
    actorTime 每人可提交次数 Integer 0表示不限制
    actorTimeRate 每人可提交次数周期限制 Integer 0:每天,1:每周,2:每月,3:每个时间段
    daySubmitNum 每人在以上周期内可提交次数 Integer 0表示不限制
    isOpenDraft 是否允许保存草稿 Integer 0:不允许,1:允许(默认允许)
    formPhotoSet 是否允许通过手机相册上传图片 String 0:允许,1:不允许(默认允许)
    isCanDel 允许提单人删除已提交的表单 String 0:允许,1:不允许
    isCanUpdate 允许提单人/负责人重新提交的表单 String 0:允许,1:不允许
    isAnonymous 允许提单人匿名提交表单 Integer 0:不允许,1:允许
    isForceAnonymous 强制提单人匿名提交表单 Integer 0:不允许,1:允许
    isWxLogin 是否只能在微信中打开填写(外部单) Integer 0:否,1:是
    isWxAuthorize 是否开启微信授权(外部单) Integer 0:否,1:是
    isQyWxLogin 是否只能在企业微信中打开填写(外部单) Integer 0:否,1:是
    isQyWxAuthorize 是否开启企业微信授权(外部单) Integer 0:否,1:是
    isOpenComment 允许外部成员评论 Integer 0:否,1:是
    isPassword 是否开启凭密码填写表单(外部单) String 0:否,1:是
    password 密码值(外部单) String 密码长度范围3~16位
    isControlOpenField 是否开启外部用户可见字段 Integer 0:否,1:是
    isOpenPrint 是否开启应用端打印预览(默认开启) Integer 0:否,1:是
    isSendMsg 表单发布或修改后通知填单范围人员 String 1:否,2:是
    sendRelevantStatus 何时通知相关人 String 0:都不推送,1:提单时,2:审核通过或任务完成时,3:都推送
    isRemind 是否开启时效提醒 String 1:否,2:是
    startSendMsgTime 表单开始前多少分钟提醒 Integer
    endSendMsgTime 表单结束前多少分钟提醒 Integer
    isWriterRemind 是否开启定时提醒 String 0:否,1:是(此时reminderTask不能为空)
    isCanAt 允许通过评论@人的方式添加相关人 Integer 0:否,1:是(默认开启)
    isSaveOrbit 是否启用可记录审批修改轨迹,可在应用端查看 Integer 0:否,1:是
    isCallback 是否启用数据接口 Integer 0:否,1:是
    isPic 启用图片上传(停用) String 1:是
    isFile 允许提单人上传附件 String 1:是
    Fields类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    _id 字段id String 不超过36字符,注意不能用数字开头,建议"fo"加上uuid32
    _type 字段类型 String 参考附录2
    label 字段标题 String 除分节字段以外为必填,不超过2000字符
    predefined_value 默认值 Object 可选值:today:填写当天,yesterday:填写前一天,tomorrow:填写后一天,{"hour": "07","minute": "04"}:默认时间
    predefinedType 默认值类型 Integer 0:自定义,2:高级函数,3:数据联动
    predefinedCache 是否启用优先默认加载上次填写的值 Integer 0:否,1:是
    notes 填写提示 String 0:否,1:是
    customPrompt 自定义提示文案 String 不超过50字符
    notesHtml 富文本提示 String
    validations 验证条件 String[] isCard:身份证,presence:必填,uniqueness:只读,iscapital:金额大写
    numberFormat 数字字段格式 NumberFormatVO 只对3种数字字段有效
    srcType 数据来源 SrcType REIM_PROJ:成本中心,字段类型请使用CRMCustomerField
    REIM_SUBJ:科目,字段类型请使用CRMCustomerField
    KINGDEE_SETTLE:结算方式,字段类型请使用CRMCustomerField
    CRM_CLIENT:CRM客户,字段类型请使用CRMCustomerField
    CRM_CONTRACT:CRM合同,字段类型请使用CRMCustomerField
    CRM_BUSINESS:CRM商机,字段类型请使用CRMCustomerField
    CRM_VISIT:CRM拜访,字段类型请使用CRMCustomerField
    CRM_CLUE:CRM线索,字段类型请使用CRMCustomerField
    CRM_CONTACT_PERSON:CRM联系人,字段类型请使用CRMCustomerField
    CRM_COMPETITOR:CRM竞争对手,字段类型请使用CRMCustomerField
    QIQIAO_PLUS:Plus表单关联,字段类型请使用FORMREFCustomerField
    AIRPORT_CITY:机场城市,字段类型请使用CRMCustomerField
    CITY:城市,字段类型请使用CRMCustomerField
    choices 选项配置 Choices[] 只对选项字段有效,其他字段请留空
    linkage 数据联动配置 FormItemWithConditionsVO 只对选项字段有效,其他字段请留空
    openAddImage 是否开启图片选项功能 Integer 0:否,1:是,只对选项字段有效
    isOpenQuota 是否开启选项名额周期 Integer 0:否,1:是,只对选项字段有效
    optionResetType 选项周期重置规则 Integer 0:按日期字段,1:按周期,只对选项字段有效
    refOptionQuotaKey 按哪个日期字段重置 String 字段id
    quotaConfigVO 选项周期重置规则 QuotaConfigVO 只对选项字段有效
    minimum_length 最少填多少个字符 Integer
    maximum_length 最多填多少个字符 Integer
    freeGeo 地理位置字段定位设置 Integer 0:基于GPS自动填充位置,1:允许手动选择地理位置,2:基于GPS自动填充地理位置,并开启定位校验功能
    geoFieldRule 地理位置字段校验规则 GeoFieldRuleVO
    start_date 起始日期 String 只对日期字段有效,所填日期不能晚于此值,格式yyyy-MM-dd
    end_date 结束日期 String 只对日期字段有效,所填日期不能晚于此值,格式yyyy-MM-dd
    range_min 最小值 String 只对数字字段有效,所填数字不能小于此值
    range_max 最大值 String 只对数字字段有效,所填数字不能大于此值
    accurate_num 精确小数位数 Integer 只对数字字段有效,0:不精确,-1:整数,1~20:精确位数
    rating_type 评分字段显示类型 String star:星,heart:心形
    line_row 单选/多选字段的布局方式/统计字段的统计方式 Integer 单选/多选:一行几列
    统计字段:1:和,2:最大值,3:最小值,4:平均
    children 子表单子字段列表 Fields[]
    crm_types 数据范围 String[] 只对CRM关联字段有效:0:全部,1:仅自己创建的,2:仅自己负责的,3:仅自己相关的
    dataypes 数据范围 String[] 只对表单关联字段有效:0:被关联表单中的 “可查看明细” 权限,1:仅作为创建人的,2:仅作为负责人的,3:仅作为相关人的
    ref_id 关联表单id String
    ref_cfg 表单关联配置 RefCfg 使用字段有:表单关联,数据源,智能拍票
    options 关联运算配置 OptionVO[]
    unique 是否开启数据唯一性 Boolean
    calculator 计算式 String 使用字段id、运算符拼接公式
    ref_type 数据源类型 String DSRadio:单选
    DSSelect:下拉框
    DSCheckBox:多选
    DSCascadeDropDown:多级联动下拉
    DSDatasource:数据源(数据选择)
    cascadeLevel 级数 Integer 数据源字段(类型为多级联动下拉)的级数
    ref_url 数据源地址 String 使用绝对路径,参考数据源
    cityType 省市区字段格式 Integer 0:省市区,1:仅选择城市
    serialNumberCfg 流水号规则配置 SerialNumberCfg 只对流水号字段有效
    openPhoneCheck 是否开启手机号格式校验 Integer 0:否,1:是,只对手机字段有效
    messageVerification 是否开启验证码校验 Integer 0:否,1:是,只对手机字段有效
    qrCodeFieldCfg 二维码配置 QrCodeFieldCfg 只对二维码字段有效
    openedHandwritten 是否允许使用存档签名 Integer 只对手写签名字段有效
    fieldEventType 是否使用电子签署字段 Integer 0:普通附件,1:电子合同附件
    applicationId 应用id String plus关联的表单所属应用id
    NumberFormatVO类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    numType 格式类型 Integer 0:数值,1:百分比
    isThousandSplit 是否显示千分符 Integer 0:否,1:是
    isUnit 是否显示单位 Integer 0:否,1:是
    unitValue 单位值 String 如:个、台、张
    Choices类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    _id 字段id String 不超过36字符,注意不能用数字开头,建议"fo"加上uuid32
    selected 是否默认选择 Boolean
    value 选项名称 String 不超过200字符
    quota 选项名额 String
    sub_choices 子选项 SubChoices[]
    relate_show_ids 关联显示的字段id String[] 只支持顺序比当前字段靠后的字段
    others 是否其他选项 Integer 0:否,1:是
    imageUrl 选项图片地址 String 使用相对路径,图片单选和图片多选字段必填
    optionDescription 图片选项说明 String
    SubChoices类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    value 选项名称 String 不超过200字符
    FormItemWithConditionsVO类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    refFormId 联动底单id String
    refShowKey 联动底单字段id String
    condition 数据联动条件 ItemConditionVO[] 目前只支持1个
    queryNotCommit 是否允许联动未归档数据 Boolean
    ItemConditionVO类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    curItemKey 当前表单字段id String
    refItemKey 联动底单条件字段id String
    QuotaConfigVO类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    cycleRate 循环周期 Integer 1:天,2:周,3:月
    cycleNumber 每多少天/周/月 Integer
    startTime 重置时间 String HH:mm
    cycleTime 周几/几日 Integer 按周时1~6:周一至周六,7:周日
    按月时1~31
    GeoFieldRuleVO类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    showCoordinate 是否显示经纬度 Integer 0:否,1:是
    locationCenters 定位中心 LocationCenterVO[]
    LocationCenterVO类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    area 定位区域 String
    address 定位地址 String
    longitude 经度 Double
    latitude 纬度 Double
    validDistance 定位范围 Double
    RefCfg类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    main_field 主字段 String 关联时值不能为空,作用相当于标题,使用字段id
    show_fields 显示字段 String[] 会一起显示在当前表单中的底表字段,使用字段id
    filter_fields 数据可选择范围(按字段过滤) FilterField[]
    queryCommit 是否开启未归档表单 Integer 0:否,1:是
    sortField 排序字段 String 底表字段排序,使用字段id
    sortOrder 升降序 Integer 0:升序,1:降序
    isCanSeeRefForm 是否开启可查看关联表单的详情 Integer 0:否,1:是
    datasource_fields 数据源字段配置 DatasourceField[]
    moneyCollector 金额统计字段 String 使用数字字段id
    checkTitle 是否开启开票信息校验 Boolean
    ocrFieldType 识别类型 String 0:所有
    10100:增值税专用发票
    10101:增值税普通发票
    10102:增值税电子普通发票
    10103:增值税普通发票(卷票)
    10104:机动车销售统一发票
    10105:二手车销售统一发票
    10200:定额发票
    10400:机打发票
    10500:出租车发票
    10503:火车票
    10505:客运汽车
    10506:航空运输电子客票行程单
    10507:过路费发票
    10900:可报销其他发票
    10902:完税证明
    20105:滴滴出行行程单
    10505a:船票
    20100:国际小票
    FilterField类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    filter_field 被关联字段 String
    filter_condition 条件 String 1:等于,2:不等于,3:大于,4:大于等于,5:小于等于,6:小于,9:包含,10:属于,11:不包含
    filter_type 类型 Integer 0:常量,1:变量
    filter_value 数据值 String 类型为变量时使用字段id
    DatasourceField类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    field_name 字段名称 String
    field_key 字段键值 String
    field_type 字段类型 String Id:主键,IdShow:主键(在应用段显示),MainField:主字段,ShowField:显示字段,ImageField:图片字段,ParentId:关联主键
    OptionVO类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    type 运算符号 String plusEq:增加
    minusEq:减少
    setEq:更新为
    refKey 关联表单字段 String 底单字段id
    childKey 子字段 String 子字段id
    updateSame "更新"运算是否允许更新相同值 Boolean
    SerialNumberCfg类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    initialValue 初始值 Long
    length 编号位数 Integer
    autoFill 是否开启自动填充位数 Integer 0:否,1:是
    autoIncrease 是否开启编号达到最大值时,位数自动增大 Integer 0:否,1:是
    resetCycle 重置周期 Integer 0:不自动重置,1:每日重置,2:每周重置,3:每月重置,4:每年重置
    resetDate 重置时间 ResetDateVO
    ResetDateVO类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    dayOfWeek 星期几 Integer 1~6:周一至周六,7:周日
    month 几月 Integer 1~12
    day 几日 Integer 1~31
    QrCodeFieldCfg类型说明: 收起▲
    参数名 释义 类型 是否必须 描述
    scanType 扫码设置 Integer 0:多次扫码查看,1:一次性扫码核销
    showType 显示设置 Integer 0:全部显示,1:自定义字段显示
    format 自定义字段显示 String 字段id,多个用英文","隔开
    TbReminderTaskPO类型说明:
    参数名 释义 类型 是否必须 描述
    remindTime 提醒时间 Date yyyy-MM-dd HH:mm:ss
    remindCycle 重复提醒 Integer 0:不自动重置,1:每日重置,3:每月重置,6:每年重置
    endTime 结束提醒时间(重复提醒时需要传递) Date yyyy-MM-dd HH:mm:ss
    content 提醒内容 String 默认为:请填写表单[标题],如已填写无需理会
    CallbackTreeVO类型说明:
    参数名 释义 类型 是否必须 描述
    flowId 流程id String 第一层级留空
    nodeId 节点id String 【填写节点】或【提单发起】固定为"start_node",第一层级留空
    nodeName 节点名称 String 第一层级留空
    url 追加地址 String 通过${fo字段id}增加字段占位符
    children 所选节点列表 CallbackTreeVO[]
    TbFormCustomPageVO类型说明:
    参数名 释义 类型 是否必须 描述
    jumpPage 跳转页面 Integer 0:系统默认页,1:自定义提示页面,2:其它网页
    jumpType 系统页面类型 Integer 1:首页,2:待办,3:我提交,4:快速发起,5:填单页,6:表单详情
    pageContent 自定义页面内容 String 支持富文本以及插入字段
    url 其他网页地址 String 提交后要跳转的“网页地址”,jumpPage为2时必填
    fillInAgain 是否勾选“再次填写” String 0:未勾选,1:勾选
    viewFillResult 是否勾选“查看填单结果” String 0:未勾选,1:勾选
    FormPublicInquiryVO类型说明:
    参数名 释义 类型 是否必须 描述
    title 名称 String
    queryUrl 查询链接 String
    showFields 查询条件 String[] 使用字段id
    searchFields 显示内容 String[] 使用字段id
    isNeedPassword 凭密码查询 Integer 0:否,1:是
    password 查询密码 String 1-16字符,区分大小写
    searchAnnouncement 查询页面公告 String
    successPrompt 查询成功提示 String
    failPrompt 查询失败提示 String
    TbFormValidators类型说明:
    参数名 释义 类型 是否必须 描述
    calculator 校验公式 String 使用字段id、运算符和高级函数拼接公式
    message 提示文字 String 不满足校验规则时的提示文字
    FormCustomRemindVO类型说明:
    参数名 释义 类型 是否必须 描述
    remindType 提醒类型 Integer 0:自定义时间,1:根据日期时间字段提醒
    remindStatus 提醒规则状态 Integer 0:关闭,1:开启
    remindItemKey 提醒日期时间字段id String "CREATE_TIME()"函数表示提单时间,其余用日期时间字段id
    startTime 提醒时间 String yyyy-MM-dd HH:mm:ss
    remindAroundType 提醒时间前后类型 Integer 0:当天,1:之前,2:之后
    remindAroundDay 提醒时间的前后天数 Integer
    remindTime 提醒时间的具体时间(日期字段) String HH:mm:ss
    weekendRemind 周末是否提醒 Integer 0:否,1:是
    holidayRemind 法定节假日是否提醒 Integer 0:否,1:是
    repeatType 重复周期 Integer 0:不重复,1:每天,2:每周,3:每月,6:每年,8:自定义重复
    remindNumber 提醒次数 Integer 自定义重复的提醒次数
    remindInterval 提醒间隔 Integer 自定义重复的提醒间隔
    remindIntervalUnit 间隔单位 Integer 0:分钟,1:小时,2:天
    remindConditions 是否开启条件 Integer 0:否,1:是
    formConditionJson 提醒条件 FormConditionVO[] 多个条件为且关系
    content 提醒内容 String 使用"{字段id}"的形式插入字段
    remindUserIds 特定人员 String 使用账号,多个使用英文"|"隔开
    remindDeptIds 特定人员部门 String 使用部门全称,多个使用英文"|"隔开
    remindTagIds 特定人员标签 String 使用标签名称,多个使用英文"|"隔开
    endTime 结束提醒时间 String yyyy-MM-dd HH:mm:ss
    endItemKey 结束提醒时间字段id String CUSTOM_TIME():自定义时间 CREATE_TIME():提单时间或者使用字段id
    endAroundType 结束提醒时间前后类型 Integer 0:当天,1:之前,2:之后
    endAroundDay 结束提醒时间前后天数 Integer
    endRemindTime 结束提醒时间的具体时间(日期字段) String HH:mm:ss
    addressBookItemIds 被提醒人人员控件的字段id列表 String[]
    specificMember 是否开启特定人员 Integer 0:否,1:是
    personnelControl 是否开启人员控件 Integer 0:否,1:是
    FormConditionVO类型说明:
    参数名 释义 类型 是否必须 描述
    fieldType 字段类型 String
    fieldKey 字段id String 自定义字段使用字段id,提单人为:creatorUserIds,提单人部门:creatorDpIds,提单人职位:createPosition
    operator 比较符号 Integer 1:等于(文本),2:不等于(文本),3:大于,4:大于等于,5:等于(数字),6:不等于(数字),7: 小于等于,8:小于,9:包含,10:不包含,11:超额,12:部门包含
    compareVal 比较值 String
    pid 两级下拉框的一级选项id String
    TbQyFlowAuditOrderConfigPO类型说明:
    参数名 释义 类型 是否必须 描述
    isOrderAudit 是否启用顺序审批 Integer 0:否,1:是
    batchApproval 是否启用批量处理 Integer 0:否,1:是

    SDK调用示例:

    		ApiFormCreateVO vo = new ApiFormCreateVO();
    
    		// 控制设置 --- START
    		TbFormControlPO formControl = new TbFormControlPO();
    		/**
    		 * 基础设置 --------------------------------------------------------------------------------
    		 */
    		// 表单分组
    		formControl.setTypeName("API创建表单分组");
    		// 表单类型 0普通单 1任务单 2审批单 3外部单
    		formControl.setIsTask("2");
    		// 标题模板
    		formControl.setTitleTemplate("API创建表单{create_user_name}_{yyyyMMdd}");
    		// 自动生成标题序号
    		formControl.setIsBuildSort(1);
    		// 自动生成标题
    		formControl.setIsBuildTitle("2");
    		// 允许提单人修改标题
    		formControl.setIsUpdaeTitle(1);
    
    		/**
    		 * 人员权限 --------------------------------------------------------------------------------
    		 */
    		// 填单范围
    		vo.setUserIds(new String[]{"通讯录账号1","通讯录账号2"});
    		vo.setDeptIds(new String[]{"部门全称1","部门全称2"});
    		vo.setTagIds(new String[]{"标签id1","标签id2"});
    
    		// 支持相关人
    		formControl.setIsRelevants("1");
    		// 默认相关人
    		vo.setRelevantUserIds(new String[]{"通讯录账号1","通讯录账号2"});
    		vo.setRelevantDeptIds(new String[]{"部门全称1","部门全称2"});
    		vo.setRelevantTagIds(new String[]{"标签id1","标签id2"});
    		// 自由选择相关人
    		formControl.setIsDisableRelevants("0");
    
    		// 支持负责人
    		formControl.setIsRelatives("1");
    		// 默认负责人
    		vo.setGivenUserIds(new String[]{"通讯录账号1","通讯录账号2"});
    		vo.setGivenDeptIds(new String[]{"部门全称1","部门全称2"});
    		vo.setGivenTagIds(new String[]{"标签id1","标签id2"});
    		// 自由选择负责人
    		formControl.setIsDisableRelatives("0");
    		// 提交表单时最大可选负责人数量
    		formControl.setRelativesMaxNum(10);
    
    		// 特定对象能查看所有数据
    		formControl.setDetailViewLevel(2);
    		vo.setDetailUserIds(new String[]{"通讯录账号1","通讯录账号2"});
    		vo.setDetailDeptIds(new String[]{"部门全称1","部门全称2"});
    		vo.setDetailTagIds(new String[]{"标签id1","标签id2"});
    
    		// 应用端明细下载
    		formControl.setIsWxDownloadMx(2);
    		vo.setDownloadMxUserIds(new String[]{"通讯录账号1","通讯录账号2"});
    		vo.setDownloadMxDeptIds(new String[]{"部门全称1","部门全称2"});
    		vo.setDownloadMxTagIds(new String[]{"标签id1","标签id2"});
    
    		// 能查看数据报表
    		formControl.setCanSeeDataReport(2);
    		vo.setReportUserIds(new String[]{"通讯录账号1","通讯录账号2"});
    		vo.setReportDeptIds(new String[]{"部门全称1","部门全称2"});
    		vo.setReportTagIds(new String[]{"标签id1","标签id2"});
    
    		/**
    		 * 填写设置 --------------------------------------------------------------------------------
    		 */
    		// 有效时间(始)
    		formControl.setStartTime("2022-01-01 00:00:00");
    		// 有效时间(终)
    		formControl.setStopTime("2022-12-31 23:59:59");
    		// 填写时间周期限制(每周)
    		formControl.setLimitTimeRate(2);
    		// 每周或每月的具体日子(周日和周六)
    		formControl.setTimeRateNum("0,6");
    		// 限制的时间段
    		formControl.setLimitTimes("07:00-09:00");
    		// 表单总份数限制
    		formControl.setSubmitTime(100);
    		// 每人可提交次数
    		formControl.setActorTime(1);
    		// 每人可提交次数周期限制(每周)
    		formControl.setActorTimeRate(2);
    		// 每人在以上周期内可提交次数
    		formControl.setDaySubmitNum(2);
    
    		/**
    		 * 填写限制 --------------------------------------------------------------------------------
    		 */
    		// 允许保存草稿
    		formControl.setIsOpenDraft(1);
    		// 允许通过手机相册上传图片
    		formControl.setFormPhotoSet("0");
    		// 允许提单人删除已提交的表单
    		formControl.setIsCanDel("0");
    		// 允许提单人/负责人重新提交的表单
    		formControl.setIsCanUpdate("0");
    		// 允许提单人匿名提交表单
    		formControl.setIsAnonymous(1);
    		// 强制提单人匿名提交表单
    		formControl.setIsForceAnonymous(1);
    		/**
    		 * 打印设置 --------------------------------------------------------------------------------
    		 */
    		// 开启应用端打印预览
    		formControl.setIsOpenPrint(1);
    		/**
    		 * 提醒设置 --------------------------------------------------------------------------------
    		 */
    		// 表单发布或修改后不通知填单范围人员
    		formControl.setIsSendMsg("0");
    		// 何时通知相关人
    		formControl.setSendRelevantStatus("3");
    		// 开启时效提醒
    		formControl.setIsRemind("1");
    		// 表单开始前多少分钟提醒
    		formControl.setStartSendMsgTime(5);
    		// 表单结束前多少分钟提醒
    		formControl.setEndSendMsgTime(5);
    		// 开启定时提醒
    		formControl.setIsWriterRemind("1");
    		TbReminderTaskPO reminderTask = new TbReminderTaskPO();
    		// 每天重复提醒
    		reminderTask.setRemindCycle(1);
    		// 开始提醒时间
    		reminderTask.setRemindTime("2022-02-01 00:00:00");
    		// 结束重复时间
    		reminderTask.setEndTime("2022-03-01 00:00:00");
    		// 提醒内容
    		reminderTask.setContent("提醒内容");
    		/**
    		 * 高级设置 --------------------------------------------------------------------------------
    		 */
    		// 允许通过评论@人的方式添加相关人
    		formControl.setIsCanAt(1);
    		// 启用可记录审批修改轨迹,可在应用端查看
    		formControl.setIsSaveOrbit(1);
    		vo.setReminderTask(reminderTask);
    		vo.setFormControl(formControl);
    		// 控制设置 --- END
    
    		// 表单详细信息 --- START
    		TbFormDetailsPO formDetails = new TbFormDetailsPO();
    		// 表单id,推荐form+uuid32,此处仅用作示例(新增时可以不填)
    //		formDetails.setDefinitionVersionsId("form" + UUID.randomUUID().toString().replaceAll("-", ""));
    		formDetails.setDefinitionVersionsId("表单id");
    		formDetails.setTitle("API创建表单");
    		formDetails.setFormName("API创建表单");
    		formDetails.setContent("<p>API创建表单示例,此处支持富文本标签</p>");
    		// 表单缩略图,使用相对路径,缩略图模式下使用,结合"图片附件上传"接口使用
    		formDetails.setThumbnail("表单缩略图");
    		// 高级标题添加流水号
    		formDetails.setIsBuildSerialNumber(1);
    
    		// 自定义图标
    		CustomIcon customIcon = new CustomIcon("rgba(128,0,0,1)",IconName.baobiao.name(),null);
    		formDetails.setCustomIcon(customIcon);
    		// 部门字段显示层级数
    		formDetails.setDepartmentLevel(3);
    		// 部门字段显示层顺序,1:从左到右,2:从右到左
    		formDetails.setDepartmentFieldDisplayOrder(1);
    		// 提单人部门显示层级数
    		formDetails.setCreatorDepartmentLevel(3);
    		//提单人部门字段显示层顺序,1:从左到右,2:从右到左
    		formDetails.setCreatorDepartmentDisplayOrder(2);
    		// 表单字段样式 0:标准版,1:简约版
    		formDetails.setStyle(1);
    
    		// 表单样式
    		FormStyle formStyle = new FormStyle();
    		formStyle.setBackground("#f7f8fa");
    		// 表单背景图片,使用相对路径,缩略图模式下使用,结合"图片附件上传"接口使用
    		formStyle.setHeaderImg("背景图片相对路径");
    		formStyle.setThemeColor("#fff");
    		formStyle.setBackgroundRepeat("no-repeat");
    		formStyle.setBackgroundType(0);
    		formStyle.setTitleStyle(new TitleStyle("PingFangSC-Regular,'Microsoft YaHei','宋体', Tahoma, Arial, sans-serif",
    				"normal",
    				"#383838",
    				"18px",
    				"left"));
    		formStyle.setFieldStyle(new FieldStyle("PingFangSC-Regular,'Microsoft YaHei','宋体', Tahoma, Arial, sans-serif",
    				"normal",
    				"#383838",
    				"14px",
    				0));
    		formDetails.setFormStyle(formStyle);
    		// 自定义logo图片,使用相对路径,缩略图模式下使用,结合"图片附件上传"接口使用
    		CustomLogo customLogo = new CustomLogo(1,"自定义logo相对路径");
    		formDetails.setCustomLogo(customLogo);
    
    		// 开启提交校验
    		formDetails.setIsFormValidators(1);
    		TbFormValidators tbFormValidators = new TbFormValidators();
    		tbFormValidators.setCalculator("fo数字字段id > 0");
    		tbFormValidators.setMessage("数字字段数字字段必须大于0");
    		vo.setValidators(Arrays.asList(tbFormValidators));
    
    		// 数据提交跳转页面
    		formDetails.setIsInitPage(1);
    		TbFormCustomPageVO customPage = new TbFormCustomPageVO();
    		// 跳转页面:0:系统默认页,1:自定义提示页面,2:自其它网页
    		customPage.setJumpPage(2);
    		// 系统页面类型:1:首页,2:待办,3:我提交呃,4:快速发起,5:填单页,6:表单详情
    		customPage.setJumpType(1);
    		//自定义页面内容 支持富文本以及插入字段
    		customPage.setPageContent("<p>您的表单以<label class=\"customPage-field\" data-id=\"createaTime\" data-label=\"提单时间\">${提单时间}</label>提交成功," +
    				"单行文字为:<label class=\"customPage-field\" data-id=\"fo单行文字id\" data-label=\"单行文字\">${单行文字}</label></p>");
    		// 其他网页地址
    		customPage.setUrl("https://其他网页地址");
    		// 开启自定义提醒
    		formDetails.setIsCustomRemind(1);
    		FormCustomRemindVO formCustomRemind = new FormCustomRemindVO();
    		// 提醒类型 0:自定义时间,1:根据日期时间字段提醒
    		formCustomRemind.setRemindType(1);
    		// 提醒规则状态 0:关闭,1:开启
    		formCustomRemind.setRemindStatus(1);
    		// 提醒日期时间字段id "CREATE_TIME()"函数表示提单时间,其余用日期时间字段id
    		formCustomRemind.setRemindItemKey("fo日期字段id");
    		// 提醒时间前后类型 0:当天,1:之前,2:之后
    		formCustomRemind.setRemindAroundType(2);
    		// 提醒时间的前后天数
    		formCustomRemind.setRemindAroundDay(5);
    		// 日期字段的具体时间
    		formCustomRemind.setRemindTime("12:00:00");
    		// 周末是否提醒
    		formCustomRemind.setWeekendRemind(0);
    		// 法定节假日是否提醒
    		formCustomRemind.setHolidayRemind(0);
    		// 重复周期 0:不重复,1:每天,2:每周,3:每月,6:每年,8:自定义重复
    		formCustomRemind.setRepeatType(1);
    		// 结束提醒时间 CUSTOM_TIME():自定义时间 CREATE_TIME():提单时间
    		formCustomRemind.setEndItemKey("CUSTOM_TIME()");
    		formCustomRemind.setEndTime("2022-12-31 12:59:59");
    		// 提醒次数
    		formCustomRemind.setRemindNumber(10);
    		// 提醒间隔
    		formCustomRemind.setRemindInterval(10);
    		// 间隔单位 0:分钟,1:小时,2:天
    		formCustomRemind.setRemindInterval(2);
    		// 是否开启条件
    		formCustomRemind.setRemindConditions(1);
    		// 特定人员
    		formCustomRemind.setSpecificMember(1);
    		formCustomRemind.setRemindUserIds("通讯录账号1|通讯录账号2");
    		// 开启人员空间
    		formCustomRemind.setPersonnelControl(1);
    		formCustomRemind.setAddressBookItemIds(Arrays.asList("fo通讯录成员字段id"));
    		FormConditionVO formCondition = new FormConditionVO();
    		formCondition.setFieldKey("fo单行文字字段id");
    		// 比较符号 1:等于(文本),2:不等于(文本),3:大于,4:大于等于,5:等于(数字),6:不等于(数字),7: 小于等于,8:小于,9:包含,10:不包含,11:超额,12:部门包含
    		formCondition.setOperator(1);
    		// 比较值
    		formCondition.setCompareVal("单行文字值");
    		formCustomRemind.setFormConditionJson(Arrays.asList(formCondition));
    		vo.setFormCustomRemind(Arrays.asList(formCustomRemind));
    
    		// 开启数据提交跳转页面
    		vo.setFormDetails(formDetails);
    		// 表单详细信息 --- END
    
    		// 字段设计 --- START
    		List<Fields> list = new ArrayList<Fields>();
    		// 单行文本
    		Fields f = new Fields();
    		f.set_id("fo单行文字字段id");
    		f.set_type(FormFieldTypeUtil.TEXTFIELD);
    		f.setLabel("单行文字");
    		// 最大长度
    		f.setMaximum_length(10);
    		// 最小长度
    		f.setMinimum_length(2);
    		// 必填
    		f.setValidations(new String[] { "presence" });
    		// 提示
    		f.setNotes("请输入单行文字");
    		// 自定义提示文案
    		f.setCustomPrompt("请输入正确的单行文字");
    		// 富文本提示
    		f.setNotesHtml("<p style='color:red;'>请输入单行文字</p>");
    		list.add(f);
    
    		// 手机
    		f = new Fields();
    		f.set_id("fo手机号码字段id");
    		f.set_type(FormFieldTypeUtil.MOBILEFIELD);
    		f.setLabel("手机号码");
    		// 开启手机号格式校验
    		f.setOpenPhoneCheck(1);
    		// 启用短信验证
    		f.setMessageVerification(1);
    		// 数据联动配置
    		f.setPredefinedType(3);
    
    
    		list.add(f);
    
    		// 电话
    		f = new Fields();
    		f.set_id("fo电话字段id");
    		f.set_type(FormFieldTypeUtil.TELEPHONEFIELD);
    		f.setLabel("电话");
    		list.add(f);
    
    		// 邮箱
    		f = new Fields();
    		f.set_id("fo邮箱字段id");
    		f.set_type(FormFieldTypeUtil.EMAILFIELD);
    		f.setLabel("邮箱");
    		list.add(f);
    
    		// 单项选择
    		f = new Fields();
    		f.set_id("fo单项选择字段id");
    		f.set_type(FormFieldTypeUtil.RADIOBUTTON);
    		f.setLabel("单项选择");
    		// 一行三列
    		f.setLine_row(3);
    		list.add(f);
    
    		Choices c1 = new Choices();
    		c1.set_id("fo选项1id");
    		c1.setSelected(true);
    		c1.setValue("选项1");
    		// 关联显示的字段id 只支持顺序比当前字段靠后的字段
    		c1.setRelate_show_ids(new String[]{"fo多项选择字段id"});
    
    		Choices c2 = new Choices();
    		c2.set_id("fo选项2id");
    		c2.setValue("选项2");
    		// 关联显示的字段id 只支持顺序比当前字段靠后的字段
    		c1.setRelate_show_ids(new String[]{"fo下拉框字段id"});
    
    		Choices c3 = new Choices();
    		c3.set_id("fo选项3id");
            // 其他选项
    		c3.setOthers(1);
    		c3.setValue("其他");
    
    		f.setChoices(new Choices[] { c1, c2, c3 });
    
    		// 多项选择
    		f = new Fields();
    		f.set_id("fo多项选择字段id");
    		f.set_type(FormFieldTypeUtil.CHECKBOX);
    		f.setLabel("多项选择");
    
    		c1 = new Choices();
    		c1.set_id("fo选项1id");
    		c1.setSelected(true);
    		c1.setValue("包邮");
    
    		c2 = new Choices();
    		c2.set_id("fo选项2id");
    		c2.setValue("满减");
    
    		c3 = new Choices();
    		c3.set_id("fo选项3id");
            // 其他选项
            c3.setOthers(1);
            c3.setValue("其他");
    
    		f.setChoices(new Choices[] { c1, c2, c3 });
    		list.add(f);
    
    
    		// 下拉框
    		f = new Fields();
    		f.set_id("fo下拉框字段id");
    		f.set_type(FormFieldTypeUtil.DROPDOWN);
    		f.setLabel("下拉框");
    
    		c1 = new Choices();
    		c1.set_id("fo选项1id");
    		c1.setSelected(true);
    		c1.setValue("选项1");
    		// 选项名额
    		c1.setQuota("100");
    
    		c2 = new Choices();
    		c2.set_id("fo选项2id");
    		c2.setValue("选项2");
    
    		c3 = new Choices();
    		c3.set_id("fo选项3id");
            // 其他选项
            c3.setOthers(1);
            c3.setValue("其他");
    
            // 开启选项名额周期(0:未开启 1:开启)
            f.setIsOpenQuota(1);
            // 选项周期重置规则 0:按日期字段,1:按周期
            f.setOptionResetType(0);
            // 按哪个日期字段重置
            f.setRefOptionQuotaKey("fo日期字段id");
            // 选项名额周期配置
    		QuotaConfigVO quotaConfigVO = new QuotaConfigVO();
    		// 循环周期 1:天,2:周,3:月
    		quotaConfigVO.setCycleRate(2);
    		// 每多少天/周/月
    		quotaConfigVO.setCycleNumber(2);
    		// 重置时间
    		quotaConfigVO.setStartTime("06:00");
    		// 周几/几日
    		quotaConfigVO.setCycleTime(3);
    
    		f.setQuotaConfigVO(quotaConfigVO);
    
    		f.setChoices(new Choices[] { c1, c2, c3 });
    		list.add(f);
    
    		// 两级下拉框
    		f = new Fields();
    		f.set_id("fo两级下拉框字段id");
    		f.set_type(FormFieldTypeUtil.CASCADEDROPDOWN);
    		f.setLabel("两级下拉框");
    
    		c1 = new Choices();
    		c1.set_id("fo选项1id");
    		c1.setValue("选项1");
    
    		c1.setSub_choices(new SubChoices[] { new SubChoices("二级选项1"),
    				new SubChoices("二级选项2")});
    
    		c2 = new Choices();
    		c2.set_id("fo选项2id");
    		c2.setValue("选项2");
    		c2.setSub_choices(new SubChoices[]{new SubChoices("二级选项1"),new SubChoices("二级选项2")});
    
    		f.setChoices(new Choices[] { c1, c2});
    		list.add(f);
    
    		// 地理位置
    		f = new Fields();
    		f.set_id("fo地理位置字段id");
    		f.set_type(FormFieldTypeUtil.GEOFIELD);
    		f.setLabel("地理位置");
    		// 地理位置字段定位设置 0:基于GPS自动填充位置,1:允许手动选择地理位置,2:基于GPS自动填充地理位置,并开启定位校验功能
    		f.setFreeGeo(1);
            GeoFieldRuleVO geoFieldRule = new GeoFieldRuleVO();
            // 显示经纬度
            geoFieldRule.setShowCoordinate(1);
            LocationCenterVO locationCenter = new LocationCenterVO();
            // 地址
            locationCenter.setAddress("中国广东省广州市天河区");
            // 省市区
            locationCenter.setArea("广东省,广州市,天河区");
            // 定位中心经度
            locationCenter.setLongitude(113.338394);
            // 定位中心纬度
            locationCenter.setLatitude(23.120402);
            // 定位范围:米
            locationCenter.setValidDistance(800d);
            f.setGeoFieldRule(geoFieldRule);
    		list.add(f);
    
    		// 省市区
    		f = new Fields();
    		f.set_id("fo省市区字段id");
    		f.set_type(FormFieldTypeUtil.CITYFIELD);
    		f.setLabel("省市区");
    		// 省市区字段格式 0:省市区,1:仅选择城市
    		f.setCityType(0);
    		list.add(f);
    
    		// 多行文本
    		f = new Fields();
    		f.set_id("fo多行文字id");
    		f.set_type(FormFieldTypeUtil.TEXTAREA);
    		f.setLabel("多行文本");
    		list.add(f);
    
    		// 日期
    		f = new Fields();
    		f.set_id("fo日期字段id");
    		f.set_type(FormFieldTypeUtil.DATEFIELD);
    		f.setLabel("日期");
    		f.setStart_date("2022-01-01");
    		f.setEnd_date("2022-12-31");
    		list.add(f);
    
    
    		// 时间
    		f = new Fields();
    		f.set_id("fo时间字段id");
    		f.set_type(FormFieldTypeUtil.TIMEFIELD);
    		f.setLabel("时间");
    		list.add(f);
    
    		// 日期时间
    		f = new Fields();
    		f.set_id("fo日期时间字段id");
    		f.set_type(FormFieldTypeUtil.DATETIMEFIELD);
    		// 高级函数默认值
    		f.setPredefined_value("NOW()");
    		f.setPredefinedType(2);
    		f.setLabel("日期时间");
    		list.add(f);
    
    		// 评分
    		f = new Fields();
    		f.set_id("fo评分字段id");
    		f.set_type(FormFieldTypeUtil.RATINGFIELD);
    		f.setLabel("评分");
    		// 评分样式
    		f.setRating_type(FormFieldTypeUtil.STAR);
    		// 最多10分
    		f.setMaximum_length(10);
    		list.add(f);
    
    		// 图片
    		f = new Fields();
    		f.set_id("fo图片字段id");
    		f.set_type(FormFieldTypeUtil.IMAGEFIELD);
    		f.setLabel("图片");
    		list.add(f);
    
    		// 说明项
    		f = new Fields();
    		f.set_id("fo说明项字段id");
    		f.set_type(FormFieldTypeUtil.IMAGECHECKBOX);
    		f.setLabel("请填写子表单");
    		f.setNotes("请填写子表单");
    		list.add(f);
    
    		// 子表单的设计 --- START
    		{
    			Fields childF = new Fields();
    			childF.set_id("fo子表单字段id");
    			childF.set_type(FormFieldTypeUtil.CHILDFIELD);
    			childF.setLabel("子表单");
    			childF.setChildren(new Fields[5]);
    			list.add(childF);
    
    			f = new Fields();
    			f.set_id("fo子字段图片字段id");
    			f.set_type(FormFieldTypeUtil.IMAGEFIELD);
    			f.setLabel("子字段图片");
    			childF.getChildren()[0] = f;
    
    			f = new Fields();
    			f.set_id("fo子字段单行文字字段id");
    			f.set_type(FormFieldTypeUtil.TEXTFIELD);
    			f.setLabel("子字段单行文字");
    			childF.getChildren()[1] = f;
    
    
    			f = new Fields();
    			f.set_id("fo子字段数字字段id");
    			f.set_type(FormFieldTypeUtil.NUMBERFIELD);
    			f.setLabel("子字段数字");
    			// 精度
    			f.setAccurate_num(2);
    			childF.getChildren()[2] = f;
    
    			f = new Fields();
    			f.set_id("fo子字段数字2字段id");
    			f.set_type(FormFieldTypeUtil.NUMBERFIELD);
    			f.setLabel("子字段数字2");
    			// 精度
    			f.setAccurate_num(-1);
    			childF.getChildren()[3] = f;
    
    			// 计算式
    			f = new Fields();
    			f.set_id("fo子字段计算式字段id");
    			f.set_type(FormFieldTypeUtil.EQUATIONFIELD);
    			f.setLabel("子字段计算式");
    			// 计算公式
    			f.setCalculator("fo子字段数字字段id*fo子字段数字2字段id");
    			f.setNotes("子字段数字*子字段数字2");
    			// 精度
    			f.setAccurate_num(2);
    			childF.getChildren()[4] = f;
    		}
    		// 子表单的设计 --- END
    
    		// 统计式
    		f = new Fields();
    		f.set_id("fo统计字段id");
    		f.set_type(FormFieldTypeUtil.STATISTICSFIELD);
    		f.setLabel("统计");
    		// 求和
    		f.setLine_row(FormFieldTypeUtil.STATISTICSFIELD_SUM);
    		// 统计公式
    		f.setCalculator("fo子表单字段id|fo子字段计算式字段id");
    		// 精度
    		f.setAccurate_num(2);
    		list.add(f);
    
    		f = new Fields();
    		f.set_id("fo数字字段id");
    		f.set_type(FormFieldTypeUtil.NUMBERFIELD);
    		f.setLabel("数字");
    		// 默认值
    		f.setPredefined_value("6.00");
    		// 精度
    		f.setAccurate_num(2);
    		// 数字格式
    		NumberFormatVO numberFormat = new NumberFormatVO();
    		// 显示千分符
    		numberFormat.setIsThousandSplit(1);
    		// 百分比
    		numberFormat.setNumType(1);
    		// 显示单位
    		numberFormat.setIsUnit(1);
    		// 单位值
    		numberFormat.setUnitValue("元");
    		f.setNumberFormat(numberFormat);
    		list.add(f);
    
    		// 计算式
    		f = new Fields();
    		f.set_id("fo计算式字段id");
    		f.set_type(FormFieldTypeUtil.EQUATIONFIELD);
    		f.setLabel("计算式");
    		f.setNotes("统计+数字");
    		// 计算公式
    		f.setCalculator("fo统计字段id+fo数字字段id");
    		// 精度
    		f.setAccurate_num(2);
    		list.add(f);
    
    		// 表单关联
    		f = new Fields();
    		f.set_id("fo表单关联字段id");
    		f.set_type(FormFieldTypeUtil.FORMREFCUSTOMERFIELD);
    		f.setLabel("表单关联");
    		f.setRef_id("底单id");
    		// 数据范围
    		f.setDataypes(new String[]{"0","1","2","3"});
    		// 表单关联配置
    		RefCfg refCfg = new RefCfg();
    		// 主字段
    		refCfg.setMain_field("fo底单字段id");
    		refCfg.setShow_fields(new String[]{"fo底单字段id","fo底单字段2id","fo底单字段3id"});
    		// 排序字段
    		refCfg.setSortField("fo底单字段2id");
    		// 0:升序,1:降序
    		refCfg.setSortOrder(1);
    		// 是否允许选择所有已提交的
    		refCfg.setQueryCommit(1);
    		// 是否开启可查看关联表单的详情
    		refCfg.setIsCanSeeRefForm(1);
    
    		FilterField filterField = new FilterField();
    		filterField.setFilter_field("fo底单字段2id");
    		// 类型 0:常量,1:变量
    		filterField.setFilter_type(1);
    		// 条件 1:等于,2:不等于,3:大于,4:大于等于,5:小于等于,6:小于,9:包含,10:属于,11:不包含
    		filterField.setFilter_condition("1");
    		// 过滤值
    		filterField.setFilter_value("fo单行文字字段id");
    		refCfg.setFilter_fields(new FilterField[]{filterField});
    		// 关联更新配置
    		OptionVO optionVO = new OptionVO();
    		optionVO.setType("setEq");
    		optionVO.setRefKey("fo底单字段2id");
    		optionVO.setChildKey("fo表单关联子字段id");
    		f.setOptions(new OptionVO[]{optionVO});
    		f.setRef_cfg(refCfg);
    		// 表单关联支持子字段参考子表单即可,此处省略
    		list.add(f);
    
    		// Plus关联
    		f = new Fields();
    		f.set_id("foPlus关联字段id");
    		f.set_type(FormFieldTypeUtil.FORMREFCUSTOMERFIELD);
    		f.setLabel("Plus关联");
    		// Plus应用id 必填
    		f.setApplicationId("Plus应用id");
    		f.setRef_id("PlusFormModelid");
    		f.setRef_title("Plus表单标题");
    		// 重要,必须设置为QIQIAO_PLUS,否则无法区分是表单关联还是Plus关联
    		f.setSrcType(SrcType.QIQIAO_PLUS);
    		// 表单关联配置
    		refCfg = new RefCfg();
    		// 主字段
    		refCfg.setMain_field("key_底单字段id");
    		refCfg.setShow_fields(new String[]{"key_底单字段id","key_底单字段2id","key_底单字段3id"});
    		// 排序字段
    		refCfg.setSortField("fo底单字段2id");
    
    
    		filterField = new FilterField();
    		filterField.setFilter_field("key_底单字段2id");
    		// 类型 0:常量,1:变量
    		filterField.setFilter_type(1);
    		// 条件 1:等于,2:不等于,3:大于,4:大于等于,5:小于等于,6:小于,9:包含,10:属于,11:不包含
    		filterField.setFilter_condition("1");
    		// 过滤值
    		filterField.setFilter_value("fo单行文字字段id");
    		refCfg.setFilter_fields(new FilterField[]{filterField});
    		f.setRef_cfg(refCfg);
    		list.add(f);
    
    		// 二维码字段
    		f = new Fields();
    		f.set_id("fo生成二维码字段id");
    		f.set_type(FormFieldTypeUtil.QRCODEFIELD);
    		f.setLabel("生成二维码");
    		QrCodeFieldCfg qrCodeFieldCfg = new QrCodeFieldCfg();
    		// 扫码设置 "0:多次扫码查看,1:一次性扫码核销
    		qrCodeFieldCfg.setScanType(0);
    		// 0:全部显示,1:自定义字段显示
    		qrCodeFieldCfg.setShowType(1);
    		// 自定义字段显示
    		qrCodeFieldCfg.setFormat("fo单行文字字段1,fo日期字段1");
    		f.setQrCodeFieldCfg(qrCodeFieldCfg);
    		list.add(f);
    
    		// 手写签名
    		f = new Fields();
    		f.set_id("fo手写签名字段id");
    		f.set_type(FormFieldTypeUtil.HANDWRITTEN);
    		// 允许使用存档签名
    		f.setOpenedHandwritten(1);
    		f.setLabel("手写签名");
    		list.add(f);
    
    		// 数据源字段
    		f = new Fields();
    		f.set_id("fo数据源字段id");
    		f.set_type(FormFieldTypeUtil.DATASOURCE);
    		f.setLabel("数据源");
    		// 链接地址
    		f.setRef_url("https://qy.do1.com.cn/qwy/open/openForm/testDatasource.do?selecttop=1");
    		// 类型
    		f.setRef_type(RefType.DSCascadeDropDown);
    		// 级数
    		f.setCascadeLevel(3);
    		// 布局方式
    		f.setLine_row(3);
    		// 关联配置
    		refCfg = new RefCfg();
    		// 配置字段
    		// field_name:字段名称 field_key:字段键值(严格填写接口能提供的字段名)  field_type:字段属性
    		refCfg.setDatasource_fields(new DatasourceField[]{
    				new DatasourceField("编号", "id", "Id"),
    				new DatasourceField("名称", "name", "MainField"),
    				new DatasourceField("关联编号", "parentid", "ParentId")
    		});
    		filterField = new FilterField();
    		filterField.setFilter_field("name");
    		// 类型 0:常量,1:变量
    		filterField.setFilter_type(1);
    		// 条件 1:等于,2:不等于,3:大于,4:大于等于,5:小于等于,6:小于,9:包含,10:属于,11:不包含
    		filterField.setFilter_condition("1");
    		// 过滤值
    		filterField.setFilter_value("fo单行文字字段id");
    		refCfg.setFilter_fields(new FilterField[]{filterField});
    		f.setRef_cfg(refCfg);
    		list.add(f);
    
    		// 智能识别字段
    		f = new Fields();
    		f.set_id("fo智能识别字段id");
    		f.set_type(FormFieldTypeUtil.OCRINVOICEFIELD);
    		f.setLabel("智能识别");
    		// 关联配置
    		refCfg = new RefCfg();
    		// 是否校验发票抬头
    		refCfg.setCheckTitle(true);
    		// 金额统计字段
    		refCfg.setMoneyCollector("fo数字字段id");
    		// 识别类型
    		refCfg.setOcrFieldType("0");
    		f.setRef_cfg(refCfg);
    		list.add(f);
    
    		// 通讯录成员字段
            f = new Fields();
            f.set_id("fo通讯录成员字段id");
            f.set_type(FormFieldTypeUtil.MEMBERCUSTOMERFIELD);
            f.setLabel("通讯录成员");
            refCfg = new RefCfg();
            // 导出字段
            refCfg.setShow_fields(new String[]{FormFieldTypeUtil.USER_PERSON_NAME
                    ,FormFieldTypeUtil.USER_WX_USERID});
            list.add(f);
    
            // 部门字段
            f = new Fields();
            f.set_id("fo部门字段id");
            f.set_type(FormFieldTypeUtil.DEPTCUSTOMERFIELD);
            f.setLabel("部门");
            refCfg = new RefCfg();
            // 导出字段
            refCfg.setShow_fields(new String[]{FormFieldTypeUtil.DEPART_FULL_NAME});
            list.add(f);
    
            // 费控关联字段
            f = new Fields();
            f.set_id("fo费控关联id");
            f.set_type(FormFieldTypeUtil.CRMCUSTOMERFIELD);
            f.setLabel("费控关联");
            // 数据来源:成本中心
            f.setSrcType(SrcType.REIM_PROJ);
            list.add(f);
    
    
    		// 流水号字段
    		f = new Fields();
    		f.set_id("fo流水号字段id");
    		f.set_type(FormFieldTypeUtil.SERIALNUMBER);
    		f.setLabel("流水号");
    		// 流水号规则配置
    		SerialNumberCfg serialNumberCfg = new SerialNumberCfg();
    		// 初始值
    		serialNumberCfg.setInitialValue(1L);
    		// 编号位数
    		serialNumberCfg.setLength(4);
    		// 开启自动填充位数
    		serialNumberCfg.setAutoFill(1);
    		// 重置周期 0:不自动重置;1:每日重置,2:每周重置,3:每月重置,4:每年重置
    		serialNumberCfg.setResetCycle(3);
    		// 流水号规则
    		serialNumberCfg.setFormat("{serialNumber}");
    		// 重置时间
    		ResetDateVO resetDate = new ResetDateVO();
    		// 几号
    		resetDate.setDay(1);
    		serialNumberCfg.setResetDate(resetDate);
    		f.setSerialNumberCfg(serialNumberCfg);
    		list.add(f);
    		vo.setFormField(list.toArray(new Fields[0]));
    		// 字段设计 --- END
    
    		// 流程配置,仅自由流程支持
    		TbQyFlowAuditOrderConfigPO tbQyFlowAuditOrderConfigPO = new TbQyFlowAuditOrderConfigPO();
    		// 支持批量审批
    		tbQyFlowAuditOrderConfigPO.setBatchApproval(1);
    		// 按选择顺序审批
    		tbQyFlowAuditOrderConfigPO.setIsOrderAudit(1);
    		vo.setTbQyFlowAuditOrderConfigPO(tbQyFlowAuditOrderConfigPO);
    
    		// 公开查询
    		List<FormPublicInquiryVO> formPublicInquiryJson = new ArrayList<FormPublicInquiryVO>();
    		FormPublicInquiryVO formPublicInquiry = new FormPublicInquiryVO();
    		formPublicInquiry.setTitle("公开查询标题");
    		formPublicInquiry.setShowFields(new String[]{"fo单行文字字段id","fo表单关联字段id"});
    		formPublicInquiry.setSearchFields(new String[]{"fo单行文字字段id"});
    		formPublicInquiry.setSearchAnnouncement("查询页面公告");
    		formPublicInquiry.setSuccessPrompt("查询成功提示");
    		formPublicInquiry.setFailPrompt("查询失败提示");
    		// 需要密码
    		formPublicInquiry.setIsNeedPassword(1);
    		formPublicInquiry.setPassword("password");
    		formPublicInquiryJson.add(formPublicInquiry);
    		vo.setFormPublicInquiryJson(formPublicInquiryJson);
    
    		// 状态 0:草稿,1:发布
    		vo.setStatus(1);
    		// 自定义logo图片,使用相对路径,缩略图模式下使用,结合"图片附件上传"接口使用
    		vo.setMedias(new String[]{"表单附件相对路径"});
    
    
    		System.out.println(JSONUtil.objectToString(vo));
    		FormApi api = QwSdkUtil.getInter(FormApi.class);
    		// 调用接口
    		ApiFormCreateResult re = api.createForm(QwSdkUtil.getCacheToken(), vo);
    
    		// 表单id
    		System.out.println(re.getDefinitionVersionsId());
    		// 版本号
    		System.out.println(re.getVersions());
    		// 版本id
    		System.out.println(re.getDefinitionId());
    		// 填单地址
    		System.out.println(re.getUrl());
    		

    返回结果:

    {
      "code": "0",
      "desc": "成功",
      "data": {
        "formPublicInquiryVO": [
          {
            "failPrompt": "查询失败提示",
            "id": "02a0af38db3dc000",
            "isNeedPassword": 1,
            "password": "password",
            "queryUrl": "公开查询短地址",
            "searchAnnouncement": "查询页面公告",
            "searchFields": [
              "fo单行文字字段id"
            ],
            "showFields": [
              "fo单行文字字段id",
              "fo表单关联字段id"
            ],
            "sort": "0",
            "successPrompt": "查询成功提示",
            "title": "公开查询标题"
          }
        ],
        "prefillList": [
          {
            "definitionVersionsId": "form表单id",
            "itemMap": {
              "fo数字字段id": "100"
            },
            "orgId": "b17efb43-292e-4cc9-ac5d-0b46bce059c4",
            "prefillId": "02a0af38d1fdc000",
            "shortUrl": "预填写短地址",
            "sort": 1,
            "url": "预填写长地址"
          }
        ],
        "definitionVersionsId": "form表单id",
        "definitionId": "defn表单版本id",
        "versions": 1,
        "url": "填单地址"
      }
    }
    

    返回参数说明:

    参数 说明 类型
    definitionVersionsId form表单id String
    definitionId defn表单版本id String
    versions 版本编号 Integer
    url 提单地址 String
    formPublicInquiryVO 公开查询,用于返回地址 FormPublicInquiryVO[]
    prefillList 预填写地址,用于返回地址 TbFormItemPrefillPO[]