package workflow // Schema 审批流表单信息 type Schema struct { // 表单类型。 AppType *int32 `json:"appType,omitempty" xml:"appType,omitempty"` // 表单应用 uuid 或者 corpId。 AppUuid *string `json:"appUuid,omitempty" xml:"appUuid,omitempty"` // 代表表单业务含义的类型。 BizType *string `json:"bizType,omitempty" xml:"bizType,omitempty"` // 创建人 userId。 CreatorUserId *string `json:"creatorUserId,omitempty" xml:"creatorUserId,omitempty"` // 业务自定义设置数据。 CustomSetting *string `json:"customSetting,omitempty" xml:"customSetting,omitempty"` // 引擎类型,表单:0,页面:1 EngineType *int32 `json:"engineType,omitempty" xml:"engineType,omitempty"` // 表单的唯一码。 FormCode *string `json:"formCode,omitempty" xml:"formCode,omitempty"` // 表单 uuid。 FormUuid *string `json:"formUuid,omitempty" xml:"formUuid,omitempty"` // 创建时间的时间戳。 GmtCreate *string `json:"gmtCreate,omitempty" xml:"gmtCreate,omitempty"` // 修改时间的时间戳。 GmtModified *string `json:"gmtModified,omitempty" xml:"gmtModified,omitempty"` // 图标。 Icon *string `json:"icon,omitempty" xml:"icon,omitempty"` // 排序 id。 ListOrder *int32 `json:"listOrder,omitempty" xml:"listOrder,omitempty"` // 说明文案。 Memo *string `json:"memo,omitempty" xml:"memo,omitempty"` // 表单名称。 Name *string `json:"name,omitempty" xml:"name,omitempty"` // 数据归属者的 id 类型。企业(orgId), 群(cid), 人(uid)。 OwnerIdType *string `json:"ownerIdType,omitempty" xml:"ownerIdType,omitempty"` // 目标类型: inner, outer, customer。 ProcType *string `json:"procType,omitempty" xml:"procType,omitempty"` // 表单 schema 详情。 SchemaContent *SchemaContent `json:"schemaContent,omitempty" xml:"schemaContent,omitempty" type:"Struct"` // 状态, PUBLISHED(启用), INVALID(停用), SAVED(草稿) Status *string `json:"status,omitempty" xml:"status,omitempty"` // 可见范围类型。 VisibleRange *string `json:"visibleRange,omitempty" xml:"visibleRange,omitempty"` } type SchemaContent struct { // 图标 Icon *string `json:"icon,omitempty" xml:"icon,omitempty"` // 控件列表 Items []*SchemaContentItems `json:"items,omitempty" xml:"items,omitempty" type:"Repeated"` // 表单名称。 Title *string `json:"title,omitempty" xml:"title,omitempty"` } type SchemaContentItems struct { // 子控件列表 Children []*SchemaContentItemsChildren `json:"children,omitempty" xml:"children,omitempty" type:"Repeated"` // 控件类型,取值: ComponentName *string `json:"componentName,omitempty" xml:"componentName,omitempty"` // 控件属性。 Props *SchemaContentItemsProps `json:"props,omitempty" xml:"props,omitempty" type:"Struct"` } type SchemaContentItemsChildren struct { // 控件类型 ComponentName *string `json:"componentName,omitempty" xml:"componentName,omitempty"` // 子控件属性 Props *SchemaContentItemsProps `json:"props,omitempty" xml:"props,omitempty" type:"Struct"` } type SchemaContentItemsProps struct { // 加班套件4.0新增 加班明细名称。 ActionName *string `json:"actionName,omitempty" xml:"actionName,omitempty"` // textnote的样式,top|middle|bottom。 Align *string `json:"align,omitempty" xml:"align,omitempty"` // ISV 微应用 appId,用于ISV身份权限识别,ISV可获得相应数据。 AppId *int64 `json:"appId,omitempty" xml:"appId,omitempty"` // 套件是否开启异步获取分条件规则,true:开启;false:不开启。 AsyncCondition *bool `json:"asyncCondition,omitempty" xml:"asyncCondition,omitempty"` // 请假、出差、外出、加班类型标签。 AttendTypeLabel *string `json:"attendTypeLabel,omitempty" xml:"attendTypeLabel,omitempty"` // 表单关联控件列表。 BehaviorLinkage []*SchemaContentItemsPropsBehaviorLinkage `json:"behaviorLinkage,omitempty" xml:"behaviorLinkage,omitempty" type:"Repeated"` // 控件业务自定义别名。 BizAlias *string `json:"bizAlias,omitempty" xml:"bizAlias,omitempty"` // 业务套件类型。 BizType *string `json:"bizType,omitempty" xml:"bizType,omitempty"` // 套件内子组件可见性 ChildFieldVisible map[string]*bool `json:"childFieldVisible,omitempty" xml:"childFieldVisible,omitempty"` // 内部联系人choice,1表示多选,0表示单选。 Choice *int32 `json:"choice,omitempty" xml:"choice,omitempty"` // common field的commonBizType。 CommonBizType *string `json:"commonBizType,omitempty" xml:"commonBizType,omitempty"` // 是否可编辑。 Disabled *bool `json:"disabled,omitempty" xml:"disabled,omitempty"` // 是否自动计算时长。 Duration *bool `json:"duration,omitempty" xml:"duration,omitempty"` // 兼容字段。 DurationLabel *string `json:"durationLabel,omitempty" xml:"durationLabel,omitempty"` // e签宝专用标识。 ESign *bool `json:"eSign,omitempty" xml:"eSign,omitempty"` // 套件值是否打平 Extract *bool `json:"extract,omitempty" xml:"extract,omitempty"` // 关联表单中的fields存储 FieldsInfo *string `json:"fieldsInfo,omitempty" xml:"fieldsInfo,omitempty"` // 时间格式(DDDateField和DDDateRangeField)。 Format *string `json:"format,omitempty" xml:"format,omitempty"` // 公式。 Formula *string `json:"formula,omitempty" xml:"formula,omitempty"` // 加班套件4.0新增 加班明细是否隐藏。 Hidden *bool `json:"hidden,omitempty" xml:"hidden,omitempty"` // textnote在详情页是否隐藏,true隐藏, false不隐藏 HiddenInApprovalDetail *bool `json:"hiddenInApprovalDetail,omitempty" xml:"hiddenInApprovalDetail,omitempty"` // 加班套件4.0新增 加班明细是否隐藏标签。 HideLabel *bool `json:"hideLabel,omitempty" xml:"hideLabel,omitempty"` // 兼容出勤套件类型。 HolidayOptions []map[string]*string `json:"holidayOptions,omitempty" xml:"holidayOptions,omitempty" type:"Repeated"` // 控件 id。 Id *string `json:"id,omitempty" xml:"id,omitempty"` // 控件名称。 Label *string `json:"label,omitempty" xml:"label,omitempty"` // label是否可修改 true:不可修改。 LabelEditableFreeze *bool `json:"labelEditableFreeze,omitempty" xml:"labelEditableFreeze,omitempty"` // 说明文案的链接地址。 Link *string `json:"link,omitempty" xml:"link,omitempty"` // 加班套件4.0新增 加班明细描述。 MainTitle *string `json:"mainTitle,omitempty" xml:"mainTitle,omitempty"` // 是否参与打印(1表示不打印, 0表示打印)。 NotPrint *string `json:"notPrint,omitempty" xml:"notPrint,omitempty"` // 是否需要大写 默认是需要; 1:不需要大写, 空或者0:需要大写。 NotUpper *string `json:"notUpper,omitempty" xml:"notUpper,omitempty"` // 选项内容列表,提供给业务方更多的选择器操作。 ObjOptions []*SchemaContentItemsPropsObjOptions `json:"objOptions,omitempty" xml:"objOptions,omitempty" type:"Repeated"` // 单选框选项列表。 Options []*string `json:"options,omitempty" xml:"options,omitempty" type:"Repeated"` // 是否有支付属性。 PayEnable *bool `json:"payEnable,omitempty" xml:"payEnable,omitempty"` // 占位符。 Placeholder *string `json:"placeholder,omitempty" xml:"placeholder,omitempty"` // 同步到考勤, 表示是否设置为员工状态。 Push *SchemaContentItemsPropsPush `json:"push,omitempty" xml:"push,omitempty" type:"Struct"` // 推送到考勤, 子类型(DDSelectField)。 PushToAttendance *bool `json:"pushToAttendance,omitempty" xml:"pushToAttendance,omitempty"` // 是否推送管理日历(DDDateRangeField, 1表示推送, 0表示不推送, 该属性为兼容保留)。 PushToCalendar *int32 `json:"pushToCalendar,omitempty" xml:"pushToCalendar,omitempty"` // 是否必填。 Required *bool `json:"required,omitempty" xml:"required,omitempty"` // 必填是否可修改 true:不可修改。 RequiredEditableFreeze *bool `json:"requiredEditableFreeze,omitempty" xml:"requiredEditableFreeze,omitempty"` // 兼容出勤套件类型。 ShowAttendOptions *bool `json:"showAttendOptions,omitempty" xml:"showAttendOptions,omitempty"` // 是否开启员工状态。 StaffStatusEnabled *bool `json:"staffStatusEnabled,omitempty" xml:"staffStatusEnabled,omitempty"` // 需要计算总和的明细组件 StatField []*SchemaContentItemsPropsStatField `json:"statField,omitempty" xml:"statField,omitempty" type:"Repeated"` // 数字组件/日期区间组件单位属性。 Unit *string `json:"unit,omitempty" xml:"unit,omitempty"` // 是否使用考勤日历。 UseCalendar *bool `json:"useCalendar,omitempty" xml:"useCalendar,omitempty"` // 明细打印排版方式 false:横向 true:纵向。 VerticalPrint *bool `json:"verticalPrint,omitempty" xml:"verticalPrint,omitempty"` } type SchemaContentItemsPropsBehaviorLinkage struct { // 关联控件列表。 Targets []*SchemaContentItemsPropsBehaviorLinkageTargets `json:"targets,omitempty" xml:"targets,omitempty" type:"Repeated"` // 控件值。 Value *string `json:"value,omitempty" xml:"value,omitempty"` } type SchemaContentItemsPropsBehaviorLinkageTargets struct { // 行为。 Behavior *string `json:"behavior,omitempty" xml:"behavior,omitempty"` // 字段 id。 FieldId *string `json:"fieldId,omitempty" xml:"fieldId,omitempty"` } type SchemaContentItemsPropsObjOptions struct { Value *string `json:"value,omitempty" xml:"value,omitempty"` } type SchemaContentItemsPropsPush struct { // 考勤类型(1表示请假, 2表示出差, 3表示加班, 4表示外出) AttendanceRule *int32 `json:"attendanceRule,omitempty" xml:"attendanceRule,omitempty"` // 开启状态(1表示开启, 0表示关闭) PushSwitch *int32 `json:"pushSwitch,omitempty" xml:"pushSwitch,omitempty"` // 状态显示名称 PushTag *string `json:"pushTag,omitempty" xml:"pushTag,omitempty"` } type SchemaContentItemsPropsStatField struct { // id 值。 Id *string `json:"id,omitempty" xml:"id,omitempty"` // 名称。 Label *string `json:"label,omitempty" xml:"label,omitempty"` // 单位。 Unit *string `json:"unit,omitempty" xml:"unit,omitempty"` // 大写。 Upper *bool `json:"upper,omitempty" xml:"upper,omitempty"` } // StartProcessInstanceRequest 启动审批流 type StartProcessInstanceRequest struct { // 不使用审批流模板时,直接指定审批人列表 Approvers []*StartProcessInstanceRequestApprovers `json:"approvers,omitempty" xml:"approvers,omitempty" type:"Repeated"` // 抄送人userId列表 CcList []*string `json:"ccList,omitempty" xml:"ccList,omitempty" type:"Repeated"` // 抄送时间 CcPosition *string `json:"ccPosition,omitempty" xml:"ccPosition,omitempty"` // 部门ID DeptId *int64 `json:"deptId,omitempty" xml:"deptId,omitempty"` // 表单数据内容,控件列表 FormComponentValues []*StartProcessInstanceRequestFormComponentValues `json:"formComponentValues,omitempty" xml:"formComponentValues,omitempty" type:"Repeated"` // 企业微应用标识 MicroappAgentId *int64 `json:"microappAgentId,omitempty" xml:"microappAgentId,omitempty"` // 审批发起人的userId OriginatorUserId *string `json:"originatorUserId,omitempty" xml:"originatorUserId,omitempty"` // 审批流的唯一码 ProcessCode *string `json:"processCode,omitempty" xml:"processCode,omitempty"` // 使用审批流模板时,模板上的自选操作人列表 TargetSelectActioners []*StartProcessInstanceRequestTargetSelectActioners `json:"targetSelectActioners,omitempty" xml:"targetSelectActioners,omitempty" type:"Repeated"` } type StartProcessInstanceRequestApprovers struct { // 审批类型 ActionType *string `json:"actionType,omitempty" xml:"actionType,omitempty"` // 审批人列表 UserIds []*string `json:"userIds,omitempty" xml:"userIds,omitempty" type:"Repeated"` } type StartProcessInstanceRequestTargetSelectActioners struct { // 自选节点的规则key ActionerKey *string `json:"actionerKey,omitempty" xml:"actionerKey,omitempty"` // 操作人userId列表 ActionerUserIds []*string `json:"actionerUserIds,omitempty" xml:"actionerUserIds,omitempty" type:"Repeated"` } type StartProcessInstanceRequestFormComponentValues struct { // 控件别名 BizAlias *string `json:"bizAlias,omitempty" xml:"bizAlias,omitempty"` // 控件类型 ComponentType *string `json:"componentType,omitempty" xml:"componentType,omitempty"` Details []*StartProcessInstanceRequestFormComponentValuesDetails `json:"details,omitempty" xml:"details,omitempty" type:"Repeated"` // 控件扩展值 ExtValue *string `json:"extValue,omitempty" xml:"extValue,omitempty"` // 控件id Id *string `json:"id,omitempty" xml:"id,omitempty"` // 控件名称 Name *string `json:"name,omitempty" xml:"name,omitempty"` // 控件值 Value *string `json:"value,omitempty" xml:"value,omitempty"` } type StartProcessInstanceRequestFormComponentValuesDetails struct { // 控件别名 BizAlias *string `json:"bizAlias,omitempty" xml:"bizAlias,omitempty"` Details []*StartProcessInstanceRequestFormComponentValuesDetailsDetails `json:"details,omitempty" xml:"details,omitempty" type:"Repeated"` // 控件扩展值 ExtValue *string `json:"extValue,omitempty" xml:"extValue,omitempty"` // 控件id Id *string `json:"id,omitempty" xml:"id,omitempty"` // 控件名称 Name *string `json:"name,omitempty" xml:"name,omitempty"` // 控件值 Value *string `json:"value,omitempty" xml:"value,omitempty"` } type StartProcessInstanceRequestFormComponentValuesDetailsDetails struct { // 控件别名 BizAlias *string `json:"bizAlias,omitempty" xml:"bizAlias,omitempty"` // 控件类型 ComponentType *string `json:"componentType,omitempty" xml:"componentType,omitempty"` // 控件扩展值 ExtValue *string `json:"extValue,omitempty" xml:"extValue,omitempty"` // 控件id Id *string `json:"id,omitempty" xml:"id,omitempty"` // 控件名称 Name *string `json:"name,omitempty" xml:"name,omitempty"` // 控件值 Value *string `json:"value,omitempty" xml:"value,omitempty"` }