1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
from datetime import datetime
from . import BaseSchema
from marshmallow import fields, validate, RAISE, INCLUDE, EXCLUDE
class AddProjectSchema(BaseSchema):
type = fields.String(required=False, allow_none=True)
title = fields.String(required=True, validate=validate.Length(min=2, max=50))
code = fields.String(required=False, allow_none=True)
amount = fields.Decimal(required=False, default=0, allow_none=True) # 总金额
consult_type = fields.String(required=False, allow_none=True) # 咨询项目类型
contract_sign_at = fields.String(required=False, allow_none=True) # 项目签订日期
party_a = fields.String(required=False, allow_none=True) # 项目甲方
party_b = fields.String(required=False, allow_none=True) # 项目乙方
leader = fields.String(required=False, allow_none=True) # 项目开发人
level = fields.String(required=False, allow_none=True) # 项目开发级别
source = fields.String(required=False, allow_none=True) # 项目来源
introducer = fields.String(required=False, allow_none=True) # 同业引进人
standard_type = fields.String(required=False, allow_none=True) # 体系类型
review_type = fields.String(required=False, allow_none=True) # 审核类型
customer_addr = fields.String(required=False, allow_none=True) # 客户地址
customer_contact = fields.String(required=False, allow_none=True) # 客户联系人
customer_phone = fields.String(required=False, allow_none=True) # 客户联系电话
ascription = fields.String(required=False, allow_none=True) # 项目归属
risk = fields.String(required=False, allow_none=True) # 风险级别
people_nums = fields.Int(required=False, allow_none=True) # 人数
start_time = fields.DateTime(required=True, default=datetime.now) # 项目开始时间
end_time = fields.DateTime(required=True, default=datetime.now) # 项目结束时间
users = fields.List(fields.String(), required=True) # 项目参与者
flow = fields.List(fields.Dict(), required=False, allow_none=True) # 流程节点列表
payback = fields.List(fields.Dict(), required=False, allow_none=True) # 回款计划列表
production = fields.Dict(required=False, allow_none=True) # 项目费用相关
remarks = fields.String(required=False, allow_none=True) # 备注
class Meta:
unknown = EXCLUDE
class QuerySchema(BaseSchema):
project = fields.UUID(required=True)
class Meta:
unknown = EXCLUDE
class QueryPaybackSchema(BaseSchema):
project = fields.UUID(required=True)
class Meta:
unknown = EXCLUDE
class DeleteProjectUserSchema(BaseSchema):
uuid = fields.UUID(required=True)
project = fields.UUID(required=True)
class Meta:
unknown = EXCLUDE
class ModifyProjectUserSchema(BaseSchema):
users = fields.List(fields.UUID, required=True)
project = fields.UUID(required=True)
class Meta:
unknown = EXCLUDE
class UpdateFlowSchema(BaseSchema):
flow = fields.List(fields.Dict(required=True), required=True)
uuid = fields.UUID(required=True)
class Meta:
unknown = EXCLUDE
class UpdatePaybackSchema(BaseSchema):
payback = fields.List(fields.Dict(required=True), required=True)
uuid = fields.UUID(required=True)
class Meta:
unknown = EXCLUDE
class UpdateProductionSchema(BaseSchema):
production = fields.Dict(required=True)
uuid = fields.UUID(required=True)
class Meta:
unknown = EXCLUDE