oa.md.go 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629
  1. // Code generated by sdkcodegen; DO NOT EDIT.
  2. package work
  3. // OAApplyEvent 提交审批申请
  4. type OAApplyEvent struct {
  5. // CreatorUserID 申请人userid,此审批申请将以此员工身份提交,申请人需在应用可见范围内
  6. CreatorUserID string `json:"creator_userid"`
  7. // TemplateID 模板id。可在“获取审批申请详情”、“审批状态变化回调通知”中获得,也可在审批模板的模板编辑页面链接中获得。暂不支持通过接口提交[打卡补卡][调班]模板审批单。
  8. TemplateID string `json:"template_id"`
  9. // UseTemplateApprover 审批人模式:0-通过接口指定审批人、抄送人(此时approver、notifyer等参数可用); 1-使用此模板在管理后台设置的审批流程,支持条件审批。默认为0
  10. UseTemplateApprover uint8 `json:"use_template_approver"`
  11. // Approver 审批流程信息,用于指定审批申请的审批流程,支持单人审批、多人会签、多人或签,可能有多个审批节点,仅use_template_approver为0时生效。
  12. Approver []OAApprover `json:"approver"`
  13. // Notifier 抄送人节点userid列表,仅use_template_approver为0时生效。
  14. Notifier []string `json:"notifyer"`
  15. // NotifyType 抄送方式:1-提单时抄送(默认值); 2-单据通过后抄送;3-提单和单据通过后抄送。仅use_template_approver为0时生效。
  16. NotifyType *uint8 `json:"notify_type"`
  17. // ApplyData 审批申请数据,可定义审批申请中各个控件的值,其中必填项必须有值,选填项可为空,数据结构同“获取审批申请详情”接口返回值中同名参数“apply_data”
  18. ApplyData OAContents `json:"apply_data"`
  19. // SummaryList 摘要信息,用于显示在审批通知卡片、审批列表的摘要信息,最多3行
  20. SummaryList []OASummaryList `json:"summary_list"`
  21. }
  22. // OAApprover 审批流程信息
  23. type OAApprover struct {
  24. // Attr 节点审批方式:1-或签;2-会签,仅在节点为多人审批时有效
  25. Attr uint8 `json:"attr"`
  26. // UserID 审批节点审批人userid列表,若为多人会签、多人或签,需填写每个人的userid
  27. UserID []string `json:"userid"`
  28. }
  29. // OAContent 审批申请详情,由多个表单控件及其内容组成,其中包含需要对控件赋值的信息
  30. type OAContent struct {
  31. // Control 控件类型:Text-文本;Textarea-多行文本;Number-数字;Money-金额;Date-日期/日期+时间;Selector-单选/多选;;Contact-成员/部门;Tips-说明文字;File-附件;Table-明细;
  32. Control OAControl `json:"control"`
  33. // ID 控件id:控件的唯一id,可通过“获取审批模板详情”接口获取
  34. ID string `json:"id"`
  35. // Title 控件名称 ,若配置了多语言则会包含中英文的控件名称
  36. Title []OAText `json:"title"`
  37. // Value 控件值 ,需在此为申请人在各个控件中填写内容不同控件有不同的赋值参数,具体说明详见附录。模板配置的控件属性为必填时,对应value值需要有值。
  38. Value OAContentValue `json:"value"`
  39. }
  40. // OAContents 审批申请详情,由多个表单控件及其内容组成,其中包含需要对控件赋值的信息
  41. type OAContents struct {
  42. // Contents 审批申请详情,由多个表单控件及其内容组成,其中包含需要对控件赋值的信息
  43. Contents []OAContent `json:"contents"`
  44. }
  45. // OAText 通用文本信息
  46. type OAText struct {
  47. // Text 文字
  48. Text string `json:"text"`
  49. // Lang 语言
  50. Lang string `json:"lang"`
  51. }
  52. // OASummaryList 摘要行信息,用于定义某一行摘要显示的内容
  53. type OASummaryList struct {
  54. // SummaryInfo 摘要行信息,用于定义某一行摘要显示的内容
  55. SummaryInfo []OAText `json:"summary_info"`
  56. }
  57. // OAContentValue 控件值 ,需在此为申请人在各个控件中填写内容不同控件有不同的赋值参数,具体说明详见附录。模板配置的控件属性为必填时,对应value值需要有值。
  58. type OAContentValue struct {
  59. // Text 文本/多行文本控件(control参数为Text或Textarea)
  60. Text string `json:"text"`
  61. // Number 数字控件(control参数为Number)
  62. Number string `json:"new_number"`
  63. // Money 金额控件(control参数为Money)
  64. Money string `json:"new_money"`
  65. // Date 日期/日期+时间控件(control参数为Date)
  66. Date OAContentDate `json:"date"`
  67. // Selector 单选/多选控件(control参数为Selector)
  68. Selector OAContentSelector `json:"selector"`
  69. // Members 成员控件(control参数为Contact,且value参数为members)
  70. Members []OAContentMember `json:"members"`
  71. // Departments 部门控件(control参数为Contact,且value参数为departments)
  72. Departments []OAContentDepartment `json:"departments"`
  73. // Tips 说明文字控件(control参数为Tips)
  74. Tips OATemplateControlConfigTips `json:"new_tips"`
  75. // Files 附件控件(control参数为File,且value参数为files)
  76. Files []OAContentFile `json:"files"`
  77. // Table 明细控件(control参数为Table)
  78. Table []OAContentTableList `json:"children"`
  79. // Vacation 假勤组件-请假组件(control参数为Vacation)
  80. Vacation OAContentVacation `json:"vacation"`
  81. // Attendance 假勤组件-出差/外出/加班组件(control参数为Attendance)
  82. Attendance OAContentVacationAttendance `json:"attendance"`
  83. // PunchCorrection 假勤组件-出差/外出/加班组件(control参数为Attendance)
  84. PunchCorrection OAContentPunchCorrection `json:"punch_correction"`
  85. // Location 位置控件(control参数为Location,且value参数为location)
  86. Location OAContentLocation `json:"location"`
  87. // RelatedApproval 关联审批单控件(control参数为RelatedApproval,且value参数为related_approval)
  88. RelatedApproval []OAContentRelatedApproval `json:"related_approval"`
  89. // Formula 公式控件(control参数为Formula,且value参数为formula)
  90. Formula OAContentFormula `json:"formula"`
  91. // DateRange 时长组件(control参数为DateRange,且value参数为date_range)
  92. DateRange OAContentDateRange `json:"date_range"`
  93. // BankAccount 收款账户控件(control参数为BankAccount)
  94. //BankAccount OAContentBankAccount `json:"bank_account"`
  95. }
  96. // OAContentDate 日期/日期+时间内容
  97. type OAContentDate struct {
  98. // Type 时间展示类型:day-日期;hour-日期+时间 ,和对应模板控件属性一致
  99. Type string `json:"type"`
  100. // Timestamp 时间戳-字符串类型,在此填写日期/日期+时间控件的选择值,以此为准
  101. Timestamp string `json:"s_timestamp"`
  102. }
  103. // OAContentSelector 类型标志,单选/多选控件的config中会包含此参数
  104. type OAContentSelector struct {
  105. // Type 选择方式:single-单选;multi-多选
  106. Type string `json:"type"`
  107. // Options 多选选项,多选属性的选择控件允许输入多个
  108. Options []OAContentSelectorOption `json:"options"`
  109. }
  110. // OAContentSelectorOption 多选选项,多选属性的选择控件允许输入多个
  111. type OAContentSelectorOption struct {
  112. // Key 选项key,可通过“获取审批模板详情”接口获得
  113. Key string `json:"key"`
  114. // Value 选项值,若配置了多语言则会包含中英文的选项值
  115. Value []OAText `json:"value"`
  116. }
  117. // OAContentMember 所选成员内容,即申请人在此控件选择的成员,多选模式下可以有多个
  118. type OAContentMember struct {
  119. // UserID 所选成员的userid
  120. UserID string `json:"userid"`
  121. // Name 成员名
  122. Name string `json:"name"`
  123. }
  124. // OAContentDepartment 所选部门内容,即申请人在此控件选择的部门,多选模式下可能有多个
  125. type OAContentDepartment struct {
  126. // OpenAPIID 所选部门id
  127. OpenAPIID string `json:"openapi_id"`
  128. // Name 所选部门名
  129. Name string `json:"name"`
  130. }
  131. // OAContentFile 附件
  132. type OAContentFile struct {
  133. // FileID 文件id,该id为临时素材上传接口返回的的media_id,注:提单后将作为单据内容转换为长期文件存储;目前一个审批申请单,全局仅支持上传6个附件,否则将失败。
  134. FileID string `json:"file_id"`
  135. }
  136. // OAContentTableList 子明细列表,在此填写子明细的所有子控件的值,子控件的数据结构同一般控件
  137. type OAContentTableList struct {
  138. // List 子明细列表,在此填写子明细的所有子控件的值,子控件的数据结构同一般控件
  139. List []OAContent `json:"list"`
  140. }
  141. // OAContentVacation 请假内容,即申请人在此组件内选择的请假信息
  142. type OAContentVacation struct {
  143. // Selector 请假类型,所选选项与假期管理关联,为假期管理中的假期类型
  144. Selector OAContentSelector `json:"selector"`
  145. // Attendance 假勤组件
  146. Attendance OAContentVacationAttendance `json:"attendance"`
  147. }
  148. // OAContentVacationAttendance 假勤组件
  149. type OAContentVacationAttendance struct {
  150. // DateRange 假勤组件时间选择范围
  151. DateRange OAContentVacationAttendanceDateRange `json:"date_range"`
  152. // Type 假勤组件类型:1-请假;3-出差;4-外出;5-加班
  153. Type uint8 `json:"type"`
  154. // SliceInfo 时长支持按天分片信息, 2020/10/01之前的历史表单不支持时长分片
  155. SliceInfo OAContentVacationAttendanceSliceInfo `json:"slice_info"`
  156. }
  157. // OAContentVacationAttendanceDateRange 假勤组件时间选择范围
  158. type OAContentVacationAttendanceDateRange struct {
  159. // Type 时间展示类型:day-日期;hour-日期+时间
  160. Type string `json:"type"`
  161. // 时长范围
  162. OAContentDateRange
  163. }
  164. // OAContentVacationAttendanceSliceInfo 假勤组件时长支持按天分片信息, 2020/10/01之前的历史表单不支持时长分片
  165. type OAContentVacationAttendanceSliceInfo struct {
  166. // Duration 总时长,单位是秒
  167. Duration uint64 `json:"duration"`
  168. // State 时长计算来源类型: 1--系统自动计算;2--用户修改
  169. State uint8 `json:"state"`
  170. // DayItems 时长计算来源类型: 1--系统自动计算;2--用户修改
  171. DayItems []OAContentVacationAttendanceSliceInfoDayItem `json:"day_items"`
  172. }
  173. // OAContentVacationAttendanceSliceInfoDayItem 假勤组件时长支持按天分片信息,每一天的分片时长信息
  174. type OAContentVacationAttendanceSliceInfoDayItem struct {
  175. // Daytime 日期的00:00:00时间戳,Unix时间
  176. Daytime uint64 `json:"daytime"`
  177. // Duration 分隔当前日期的时长秒数
  178. Duration uint64 `json:"duration"`
  179. }
  180. // OAContentPunchCorrection 补卡组件
  181. type OAContentPunchCorrection struct {
  182. // State 异常状态说明
  183. State string `json:"state"`
  184. // Time 补卡时间,Unix时间戳
  185. Time uint64 `json:"time"`
  186. // Version 版本标识,为1的时候为新版补卡,daymonthyear有值
  187. Version uint8 `json:"version"`
  188. // Daymonthyear 补卡日期0点Unix时间戳
  189. Daymonthyear uint64 `json:"daymonthyear"`
  190. }
  191. // OAContentLocation 位置控件
  192. type OAContentLocation struct {
  193. // Latitude 纬度,精确到6位小数
  194. Latitude string `json:"latitude"`
  195. // Longitude 经度,精确到6位小数
  196. Longitude string `json:"longitude"`
  197. // Title 地点标题
  198. Title string `json:"title"`
  199. // Address 地点详情地址
  200. Address string `json:"address"`
  201. // Time 选择地点的时间
  202. Time int `json:"time"`
  203. }
  204. // OAContentRelatedApproval 关联审批单控件
  205. type OAContentRelatedApproval struct {
  206. // SpNo 关联审批单的审批单号
  207. SpNo string `json:"sp_no"`
  208. }
  209. // OAContentFormula 公式控件
  210. type OAContentFormula struct {
  211. // Value 公式的值,提交表单时无需填写,后台自动计算
  212. Value string `json:"value"`
  213. }
  214. // OAContentDateRange 时长组件
  215. type OAContentDateRange struct {
  216. // Type 时间展示类型:halfday-日期;hour-日期+时间
  217. Type string `json:"type"`
  218. // NewBegin 开始时间,unix时间戳
  219. NewBegin int `json:"new_begin"`
  220. // NewEnd 结束时间,unix时间戳
  221. NewEnd int `json:"new_end"`
  222. // NewDuration 时长范围,单位秒
  223. NewDuration int `json:"new_duration"`
  224. // PerdayDuration 每天的工作时长
  225. PerdayDuration int `json:"perday_duration"`
  226. // TimezoneInfo 时区信息,只有在非UTC+8的情况下会返回
  227. TimezoneInfo *OAContentDateRangeTimezoneInfo `json:"timezone_info"`
  228. }
  229. // OAContentDateRangeTimezoneInfo 时区信息
  230. type OAContentDateRangeTimezoneInfo struct {
  231. // ZoneOffset 时区偏移量
  232. ZoneOffset string `json:"zone_offset"`
  233. // ZoneDesc 时区描述
  234. ZoneDesc string `json:"zone_desc"`
  235. }
  236. // OAContentBankAccount 时长组件
  237. type OAContentBankAccount struct {
  238. // AccountType 账户类型 :1:对公账户,2:个人账户
  239. AccountType uint8 `json:"account_type"`
  240. // AccountName 账户名
  241. AccountName string `json:"account_name"`
  242. // AccountNumber 账号
  243. AccountNumber string `json:"account_number"`
  244. // Remark 备注
  245. Remark string `json:"remark"`
  246. // Bank 银行信息
  247. Bank OAContentBankAccountBank `json:"bank"`
  248. }
  249. // OAContentBankAccountBank 银行信息
  250. type OAContentBankAccountBank struct {
  251. // BankAlias 银行名称
  252. BankAlias string `json:"bank_alias"`
  253. // BankAliasCode 银行代码
  254. BankAliasCode string `json:"bank_alias_code"`
  255. // Province 省份
  256. Province string `json:"province"`
  257. // ProvinceCode 省份代码
  258. ProvinceCode uint8 `json:"province_code"`
  259. // City 城市
  260. City string `json:"city"`
  261. // CityCode 城市代码
  262. CityCode uint8 `json:"city_code"`
  263. // BankBranchName 银行支行
  264. BankBranchName string `json:"bank_branch_name"`
  265. // BankBranchId 银行支行联行号
  266. BankBranchId string `json:"bank_branch_id"`
  267. }
  268. // OATemplateDetail 审批模板详情
  269. type OATemplateDetail struct {
  270. // TemplateNames 模板名称,若配置了多语言则会包含中英文的模板名称,默认为zh_CN中文
  271. TemplateNames []OAText `json:"template_names"`
  272. // TemplateContent 模板控件信息
  273. TemplateContent OATemplateControls `json:"template_content"`
  274. // Vacation Vacation控件(假勤控件)
  275. Vacation OATemplateControlConfigVacation `json:"vacation_list"`
  276. }
  277. // OATemplateControls 模板控件数组。模板详情由多个不同类型的控件组成,控件类型详细说明见附录。
  278. type OATemplateControls struct {
  279. // Controls 模板名称,若配置了多语言则会包含中英文的模板名称,默认为zh_CN中文
  280. Controls []OATemplateControl `json:"controls"`
  281. }
  282. // OATemplateControl 模板控件信息
  283. type OATemplateControl struct {
  284. // Property 模板控件属性,包含了模板内控件的各种属性信息
  285. Property OATemplateControlProperty `json:"property"`
  286. // Config 模板控件配置,包含了部分控件类型的附加类型、属性,详见附录说明。目前有配置信息的控件类型有:Date-日期/日期+时间;Selector-单选/多选;Contact-成员/部门;Table-明细;Attendance-假勤组件(请假、外出、出差、加班)
  287. Config OATemplateControlConfig `json:"config"`
  288. }
  289. // OATemplateControlProperty 模板控件属性
  290. type OATemplateControlProperty struct {
  291. // Control 模板控件属性,包含了模板内控件的各种属性信息
  292. Control OAControl `json:"control"`
  293. // ID 模板控件配置,包含了部分控件类型的附加类型、属性,详见附录说明。目前有配置信息的控件类型有:Date-日期/日期+时间;Selector-单选/多选;Contact-成员/部门;Table-明细;Attendance-假勤组件(请假、外出、出差、加班)
  294. ID string `json:"id"`
  295. // Title 模板控件配置,包含了部分控件类型的附加类型、属性,详见附录说明。目前有配置信息的控件类型有:Date-日期/日期+时间;Selector-单选/多选;Contact-成员/部门;Table-明细;Attendance-假勤组件(请假、外出、出差、加班)
  296. Title []OAText `json:"title"`
  297. // Placeholder 模板控件配置,包含了部分控件类型的附加类型、属性,详见附录说明。目前有配置信息的控件类型有:Date-日期/日期+时间;Selector-单选/多选;Contact-成员/部门;Table-明细;Attendance-假勤组件(请假、外出、出差、加班)
  298. Placeholder []OAText `json:"placeholder"`
  299. // Require 是否必填:1-必填;0-非必填
  300. Require uint8 `json:"require"`
  301. // UnPrint 是否参与打印:1-不参与打印;0-参与打印
  302. UnPrint uint8 `json:"un_print"`
  303. }
  304. // OATemplateControlConfig 模板控件配置
  305. type OATemplateControlConfig struct {
  306. // Date Date控件(日期/日期+时间控件)
  307. Date OATemplateControlConfigDate `json:"date"`
  308. // Selector Selector控件(单选/多选控件)
  309. Selector OATemplateControlConfigSelector `json:"selector"`
  310. // Contact Contact控件(成员/部门控件)
  311. Contact OATemplateControlConfigContact `json:"contact"`
  312. // Table Table(明细控件)
  313. Table OATemplateControlConfigTable `json:"table"`
  314. // Attendance Attendance控件(假勤控件)【出差】【加班】【外出】模板特有的控件
  315. Attendance OATemplateControlConfigAttendance `json:"attendance"`
  316. // Vacation Vacation控件(假勤控件)【请假】模板特有控件, 请假类型强关联审批应用中的假期管理。
  317. Vacation OATemplateControlConfigVacation `json:"vacation_list"`
  318. // Tips Tips控件(说明文字控件)
  319. Tips OATemplateControlConfigTips `json:"tips"`
  320. }
  321. // OATemplateControlConfigDate 类型标志,日期/日期+时间控件的config中会包含此参数
  322. type OATemplateControlConfigDate struct {
  323. // Type 时间展示类型:day-日期;hour-日期+时间
  324. Type string `json:"type"`
  325. }
  326. // OATemplateControlConfigSelector 类型标志,单选/多选控件的config中会包含此参数
  327. type OATemplateControlConfigSelector struct {
  328. // Type 选择类型:single-单选;multi-多选
  329. Type string `json:"type"`
  330. // Options 选项,包含单选/多选控件中的所有选项,可能有多个
  331. Options []OATemplateControlConfigSelectorOption `json:"options"`
  332. }
  333. // OATemplateControlConfigSelectorOption 选项,包含单选/多选控件中的所有选项,可能有多个
  334. type OATemplateControlConfigSelectorOption struct {
  335. // Key 选项key,选项的唯一id,可用于发起审批申请,为单选/多选控件赋值
  336. Key string `json:"key"`
  337. // Value 选项值,若配置了多语言则会包含中英文的选项值,默认为zh_CN中文
  338. Value []OAText `json:"value"`
  339. }
  340. // OATemplateControlConfigContact 类型标志,单选/多选控件的config中会包含此参数
  341. type OATemplateControlConfigContact struct {
  342. // Type 选择类型:single-单选;multi-多选
  343. Type string `json:"type"`
  344. // Mode 选择对象:user-成员;department-部门
  345. Mode string `json:"mode"`
  346. }
  347. // OATemplateControlConfigTable 类型标志,明细控件的config中会包含此参数
  348. type OATemplateControlConfigTable struct {
  349. // Children 明细内的子控件,内部结构同controls
  350. Children []OATemplateControl `json:"children"`
  351. }
  352. // OATemplateControlConfigAttendance 类型标志,假勤控件的config中会包含此参数
  353. type OATemplateControlConfigAttendance struct {
  354. // DateRange 假期控件属性
  355. DateRange OATemplateControlConfigAttendanceDateRange `json:"date_range"`
  356. // Type 假勤控件类型:1-请假,3-出差,4-外出,5-加班
  357. Type uint8 `json:"type"`
  358. }
  359. // OATemplateControlConfigAttendanceDateRange 假期控件属性
  360. type OATemplateControlConfigAttendanceDateRange struct {
  361. // Type 时间刻度:hour-精确到分钟, halfday—上午/下午
  362. Type string `json:"type"`
  363. }
  364. // OATemplateControlConfigVacation 类型标志,假勤控件的config中会包含此参数
  365. type OATemplateControlConfigVacation struct {
  366. // Item 单个假期类型属性
  367. Item []OATemplateControlConfigVacationItem `json:"item"`
  368. }
  369. // OATemplateControlConfigVacationItem 类型标志,假勤控件的config中会包含此参数
  370. type OATemplateControlConfigVacationItem struct {
  371. // ID 假期类型标识id
  372. ID int `json:"id"`
  373. // Name 假期类型名称,默认zh_CN中文名称
  374. Name []OAText `json:"name"`
  375. }
  376. // OATemplateControlConfigTips 类型标志,说明文字控件的config中会包含此参数
  377. type OATemplateControlConfigTips struct {
  378. // TipsContent 说明文字数组,元素为不同语言的富文本说明文字
  379. TipsContent []OATemplateControlConfigTipsContent `json:"tips_content"`
  380. }
  381. // OATemplateControlConfigTipsContent 类型标志,说明文字控件的config中会包含此参数
  382. type OATemplateControlConfigTipsContent struct {
  383. // Text 某个语言的富文本说明文字数组,元素为不同文本类型的说明文字分段
  384. Text OATemplateControlConfigTipsContentText `json:"text"`
  385. // Lang 语言类型
  386. Lang string `json:"lang"`
  387. }
  388. // OATemplateControlConfigTipsContentText 类型标志,说明文字控件的config中会包含此参数
  389. type OATemplateControlConfigTipsContentText struct {
  390. // SubText 说明文字分段
  391. SubText []OATemplateControlConfigTipsContentSubText `json:"sub_text"`
  392. }
  393. // OATemplateControlConfigTipsContentSubText 类型标志,说明文字控件的config中会包含此参数
  394. type OATemplateControlConfigTipsContentSubText struct {
  395. // Type 文本类型 1:纯文本 2:链接,每个说明文字中只支持包含一个链接
  396. Type uint8 `json:"type"`
  397. // Content 内容
  398. Content OATemplateControlConfigTipsContentSubTextContent `json:"content"`
  399. }
  400. // OATemplateControlConfigTipsContentSubTextContent 类型标志,说明文字控件的config中会包含此参数
  401. type OATemplateControlConfigTipsContentSubTextContent struct {
  402. // Text 纯文本类型的内容
  403. Text *OATemplateControlConfigTipsContentSubTextContentPlain `json:"plain_text"`
  404. // Lang 链接类型的内容
  405. Lang *OATemplateControlConfigTipsContentSubTextContentLink `json:"link"`
  406. }
  407. // OATemplateControlConfigTipsContentSubTextContentPlain 类型标志,说明文字控件的config中会包含此参数
  408. type OATemplateControlConfigTipsContentSubTextContentPlain struct {
  409. // Content 纯文本文字
  410. Content string `json:"content"`
  411. }
  412. // OATemplateControlConfigTipsContentSubTextContentLink 类型标志,说明文字控件的config中会包含此参数
  413. type OATemplateControlConfigTipsContentSubTextContentLink struct {
  414. // Title 链接标题
  415. Title string `json:"title"`
  416. // URL 链接url
  417. URL string `json:"url"`
  418. }
  419. // OAControl 控件类型
  420. type OAControl string
  421. // OAControlText 文本
  422. const OAControlText OAControl = "Text"
  423. // OAControlTextarea 多行文本
  424. const OAControlTextarea OAControl = "Textarea"
  425. // OAControlNumber 数字
  426. const OAControlNumber OAControl = "Number"
  427. // OAControlMoney 金额
  428. const OAControlMoney OAControl = "Money"
  429. // OAControlDate 日期/日期+时间控件
  430. const OAControlDate OAControl = "Date"
  431. // OAControlSelector 单选/多选控件
  432. const OAControlSelector OAControl = "Selector"
  433. // OAControlContact 成员/部门控件
  434. const OAControlContact OAControl = "Contact"
  435. // OAControlTips 说明文字控件
  436. const OAControlTips OAControl = "Tips"
  437. // OAControlFile 附件控件
  438. const OAControlFile OAControl = "File"
  439. // OAControlTable 明细控件
  440. const OAControlTable OAControl = "Table"
  441. // OAControlLocation 位置控件
  442. const OAControlLocation OAControl = "Location"
  443. // OAControlRelatedApproval 关联审批单控件
  444. const OAControlRelatedApproval OAControl = "RelatedApproval"
  445. // OAControlFormula 公式控件
  446. const OAControlFormula OAControl = "Formula"
  447. // OAControlDateRange 时长控件
  448. const OAControlDateRange OAControl = "DateRange"
  449. // OAControlVacation 假勤组件-请假组件
  450. const OAControlVacation OAControl = "Vacation"
  451. // OAControlAttendance 假勤组件-出差/外出/加班组件
  452. const OAControlAttendance OAControl = "Attendance"
  453. // OAApprovalDetail 审批申请详情
  454. type OAApprovalDetail struct {
  455. // SpNo 审批编号
  456. SpNo string `json:"sp_no"`
  457. // SpName 审批申请类型名称(审批模板名称)
  458. SpName string `json:"sp_name"`
  459. // SpStatus 申请单状态:1-审批中;2-已通过;3-已驳回;4-已撤销;6-通过后撤销;7-已删除;10-已支付
  460. SpStatus uint8 `json:"sp_status"`
  461. // TemplateID 审批模板id。可在“获取审批申请详情”、“审批状态变化回调通知”中获得,也可在审批模板的模板编辑页面链接中获得。
  462. TemplateID string `json:"template_id"`
  463. // ApplyTime 审批申请提交时间,Unix时间戳
  464. ApplyTime int `json:"apply_time"`
  465. // Applicant 申请人信息
  466. Applicant OAApprovalDetailApplicant `json:"applyer"`
  467. // SpRecord 审批流程信息,可能有多个审批节点。
  468. SpRecord []OAApprovalDetailSpRecord `json:"sp_record"`
  469. // Notifier 抄送信息,可能有多个抄送节点
  470. Notifier []OAApprovalDetailNotifier `json:"notifyer"`
  471. // ApplyData 审批申请数据
  472. ApplyData OAContents `json:"apply_data"`
  473. // Comments 审批申请备注信息,可能有多个备注节点
  474. Comments []OAApprovalDetailComment `json:"comments"`
  475. }
  476. // OAApprovalDetailApplicant 审批申请详情申请人信息
  477. type OAApprovalDetailApplicant struct {
  478. // UserID 申请人userid
  479. UserID string `json:"userid"`
  480. // PartyID 申请人所在部门id
  481. PartyID string `json:"partyid"`
  482. }
  483. // OAApprovalDetailSpRecord 审批流程信息,可能有多个审批节点。
  484. type OAApprovalDetailSpRecord struct {
  485. // SpStatus 审批节点状态:1-审批中;2-已同意;3-已驳回;4-已转审
  486. SpStatus uint8 `json:"sp_status"`
  487. // ApproverAttr 节点审批方式:1-或签;2-会签
  488. ApproverAttr uint8 `json:"approverattr"`
  489. // Details 审批节点详情,一个审批节点有多个审批人
  490. Details []OAApprovalDetailSpRecordDetail `json:"details"`
  491. }
  492. // OAApprovalDetailSpRecordDetail 审批节点详情,一个审批节点有多个审批人
  493. type OAApprovalDetailSpRecordDetail struct {
  494. // Approver 分支审批人
  495. Approver OAApprovalDetailSpRecordDetailApprover `json:"approver"`
  496. // Speech 审批意见
  497. Speech string `json:"speech"`
  498. // SpStatus 分支审批人审批状态:1-审批中;2-已同意;3-已驳回;4-已转审
  499. SpStatus uint8 `json:"sp_status"`
  500. // SpTime 节点分支审批人审批操作时间戳,0表示未操作
  501. SpTime int `json:"sptime"`
  502. // MediaID 节点分支审批人审批意见附件,media_id具体使用请参考:文档-获取临时素材
  503. MediaID []string `json:"media_id"`
  504. }
  505. // OAApprovalDetailSpRecordDetailApprover 分支审批人
  506. type OAApprovalDetailSpRecordDetailApprover struct {
  507. // UserID 分支审批人userid
  508. UserID string `json:"userid"`
  509. }
  510. // OAApprovalDetailNotifier 抄送信息,可能有多个抄送节点
  511. type OAApprovalDetailNotifier struct {
  512. // UserID 节点抄送人userid
  513. UserID string `json:"userid"`
  514. }
  515. // OAApprovalDetailComment 审批申请备注信息,可能有多个备注节点
  516. type OAApprovalDetailComment struct {
  517. // CommentUserInfo 备注人信息
  518. CommentUserInfo OAApprovalDetailCommentUserInfo `json:"commentUserInfo"`
  519. // CommentTime 备注提交时间戳,Unix时间戳
  520. CommentTime int `json:"commenttime"`
  521. // CommentTontent 备注文本内容
  522. CommentTontent string `json:"commentcontent"`
  523. // CommentID 备注id
  524. CommentID string `json:"commentid"`
  525. // MediaID 备注附件id,可能有多个,media_id具体使用请参考:文档-获取临时素材
  526. MediaID []string `json:"media_id"`
  527. }
  528. // OAApprovalDetailCommentUserInfo 备注人信息
  529. type OAApprovalDetailCommentUserInfo struct {
  530. // UserID 备注人userid
  531. UserID string `json:"userid"`
  532. }
  533. // OAApprovalInfoFilter 备注人信息
  534. type OAApprovalInfoFilter struct {
  535. // Key 筛选类型,包括:template_id - 模板类型/模板id;creator - 申请人;department - 审批单提单者所在部门;sp_status - 审批状态。注意:仅“部门”支持同时配置多个筛选条件。不同类型的筛选条件之间为“与”的关系,同类型筛选条件之间为“或”的关系
  536. Key OAApprovalInfoFilterKey `json:"key"`
  537. // Value 筛选值,对应为:template_id - 模板id;creator - 申请人userid;department - 所在部门id;sp_status - 审批单状态(1-审批中;2-已通过;3-已驳回;4-已撤销;6-通过后撤销;7-已删除;10-已支付)
  538. Value string `json:"value"`
  539. }
  540. // OAApprovalInfoFilterKey 拉取审批筛选类型
  541. type OAApprovalInfoFilterKey string
  542. // OAApprovalInfoFilterKeyTemplateID 模板类型
  543. const OAApprovalInfoFilterKeyTemplateID OAApprovalInfoFilterKey = "template_id"
  544. // OAApprovalInfoFilterKeyCreator 申请人
  545. const OAApprovalInfoFilterKeyCreator OAApprovalInfoFilterKey = "creator"
  546. // OAApprovalInfoFilterKeyDepartment 审批单提单者所在部门
  547. const OAApprovalInfoFilterKeyDepartment OAApprovalInfoFilterKey = "department"
  548. // OAApprovalInfoFilterKeySpStatus 审批状态
  549. const OAApprovalInfoFilterKeySpStatus OAApprovalInfoFilterKey = "sp_status"