BUG FIX: ops_account返回必须使用渲染

This commit is contained in:
向乐🌌
2021-06-26 14:53:18 +08:00
parent 72fe535f3c
commit a9751d47b4
78 changed files with 10784 additions and 434 deletions

119
utils/feishu/dt_approval.py Normal file
View File

@@ -0,0 +1,119 @@
# coding: utf-8
from __future__ import absolute_import, division, print_function, unicode_literals
from typing import Any, List
import attr
from utils.feishu.dt_enum import ApprovalInstanceStatus, ApprovalTaskStatus, ApprovalTaskTypeStatus, ApprovalTimelineType
from utils.feishu.dt_help import to_json_decorator
@to_json_decorator
@attr.s
class ApprovalNode(object):
"""审批节点对象
"""
name = attr.ib(type=str, default='') # 节点名称
need_approver = attr.ib(type=bool, default=None) # 是否发起人自选节点true - 发起审批时需要提交审批人
node_id = attr.ib(type=str, default=None) # 节点 ID
custom_id = attr.ib(type=str, default=None) # 节点自定义 ID如果没有设置则不返回
node_type = attr.ib(type=str, default=None) # 审批方式AND -会签OR - 或签
@to_json_decorator
@attr.s
class ApprovalForm(object):
"""审批表单字段对象
"""
id = attr.ib(type=str, default=None) # 控件 ID
custom_id = attr.ib(type=str, default=None) # 控件自定义 ID
type = attr.ib(type=str, default=None) # 控件类型
name = attr.ib(type=str, default=None) # 控件名称
# 获取审批定义的时候不会返回,获取实例的时候会返回
value = attr.ib(type=Any, default=None) # 表单值
@to_json_decorator
@attr.s
class ApprovalDefinition(object):
"""审批定义对象
"""
approval_name = attr.ib(type=str, default=None)
forms = attr.ib(type=List[ApprovalForm], default=attr.Factory(list)) # type: List[ApprovalForm]
nodes = attr.ib(type=List[ApprovalNode], default=attr.Factory(list)) # type: List[ApprovalNode]
@to_json_decorator
@attr.s
class ApprovalTask(object):
"""审批任务对象
"""
id = attr.ib(type=str, default=None) # 任务 ID
user_id = attr.ib(type=str, default=None) # 审批人,自动通过、自动拒绝 task user_id 为空
status = attr.ib(type=ApprovalTaskStatus, default=None) # 任务状态
node_id = attr.ib(type=str, default=None) # task 所属节点 id
custom_node_id = attr.ib(type=str, default=None) # task 所属节点自定义 id, 如果没设置自定义 id, 则不返回该字段
type = attr.ib(type=ApprovalTaskTypeStatus, default=None) # 任务类型
start_time = attr.ib(type=int, default=None) # 创建时间
end_time = attr.ib(type=int, default=0) # 结束时间,未完成为 0
@to_json_decorator
@attr.s
class ApprovalComment(object):
"""审批中的评论对象
"""
id = attr.ib(type=str, default=None) # 评论 ID
user_id = attr.ib(type=str, default=None) # 发表评论用户
comment = attr.ib(type=str, default=None) # 评论详情
create_time = attr.ib(type=int, default=None) # 创建时间
@to_json_decorator
@attr.s
class ApprovalTimeline(object):
"""审批动态
"""
type = attr.ib(type=ApprovalTimelineType, default=None) # 发生时间
create_time = attr.ib(type=int, default=0) # 发生时间
user_id = attr.ib(type=str, default=None) # 动态产生用户
# 被抄送人列表
user_id_list = attr.ib(type=List[str], default=None) # type: List[str]
task_id = attr.ib(type=str, default='') # 产生动态关联的task_id
comment = attr.ib(type=str, default='') # 评论详情
# type类型 - user_id_list 含义
# TRANSFER - 被转交人
# ADD_APPROVER_BEFORE - 被加签人
# ADD_APPROVER - 被加签人
# ADD_APPROVER_AFTER - 被加签人
# DELETE_APPROVER - 被减签人
# type类型 - user_id 含义
# CC - 抄送人
ext = attr.ib(type=dict, default=None) # 动态其他信息,目前包括 user_id_list, user_id
@to_json_decorator
@attr.s
class ApprovalInstance(object):
"""审批实例对象
"""
approval_code = attr.ib(type=str, default='') # 审批定义唯一标识
approval_name = attr.ib(type=str, default='') # 审批定义名称
start_time = attr.ib(type=int, default=0) # 创建时间(毫秒)
end_time = attr.ib(type=int, default=0) # 结束时间毫秒未结束为0
user_id = attr.ib(type=str, default='') # 用户ID
department_id = attr.ib(type=str, default='') # 部门ID
status = attr.ib(type=ApprovalInstanceStatus, default=None) # 实例状态
form = attr.ib(type=List[ApprovalForm], default=attr.Factory(list)) # type: List[ApprovalForm]
# 任务列表
task_list = attr.ib(type=List[ApprovalTask], default=attr.Factory(list)) # type: List[ApprovalTask]
# 评论列表
comment_list = attr.ib(type=List[ApprovalComment], default=attr.Factory(list)) # type: List[ApprovalComment]
# 审批动态
timeline = attr.ib(type=List[ApprovalTimeline], default=attr.Factory(list)) # type: List[ApprovalTimeline]
serial_number = attr.ib(type=str, default='') # 审批编号