audit.go
6.4 KB
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
package protocol
import "sort"
//输入框类型
const (
inputTypeCheck string = "check-box" //多选宽
inputTypeText string = "text" //单行文本宽
InputTypeRedio string = "redio" //单选框
)
//InputElement 自定义表单项
type InputElement struct {
Id int `json:"id"`
Sort int `json:"sort"` //排序
Lable string `json:"lable"` //标题
InputType string `json:"inputType"` //输入类型
Required int `json:"required"` //是否必填
CurrentValue string `json:"-"` //"当前填写的值"
SectionType int8 `json:"sectionType"`
ValueList string `json:"-"` //输入候选值 value_list
Placeholder string `json:"-"` //帮助用户填写输入字段的提示 Placeholder
Disable bool `json:"-"` //"显示隐藏",
}
//自定义表单
type CustomForm []InputElement
var (
_ sort.Interface = new(CustomForm)
)
//实现排序接口
func (a CustomForm) Len() int { return len(a) }
func (a CustomForm) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
func (a CustomForm) Less(i, j int) bool {
return a[i].Sort < a[j].Sort
}
//IValidateInput 自定义输入项校验接口
type IValidateInput interface {
ValidateInput() error //校验当前输入值
ValidateConfig() error //校验自定义的输入项设置
}
type ValidateInputText struct {
InputElement
}
var (
_ IValidateInput = ValidateInputText{}
)
func (input ValidateInputText) ValidateInput() error {
return nil
}
func (input ValidateInputText) ValidateConfig() error {
return nil
}
//ValidateInputRedio 单选项校验
type ValidateInputRedio struct {
InputElement
}
var (
_ IValidateInput = ValidateInputRedio{}
)
func (input ValidateInputRedio) ValidateInput() error {
return nil
}
func (input ValidateInputRedio) ValidateConfig() error {
return nil
}
/***********审核模板管理**********/
/*TemplateAdd */
type TemplateAddRequest struct {
Template Template `json:"template"`
Example string `json:"example"` //示例
AuditFlowConfig AuditFlowConfig `json:"audit_flow_config"`
}
type TemplateAddResponse struct {
}
type Template struct {
Id int64 `json:"id"` //创建时 0
Code string `json:"code" valid:"Required; MaxSize(6)"`
ChanceTypeId int `json:"chanceTypeId" valid:"Required;"` //机会类型编号
Name string `json:"name" valid:"Required;"`
Doc string `json:"doc"`
Icon string `json:"icon" valid:"Required;"`
InputList []*InputElement `json:"inputList" valid:"Required;"`
}
type AuditFlowConfig struct {
NoApprover int `json:"no_approver" valid:"Required;"`
ProcessConfig []ProcessConfig `json:"process_config"` //创建时 0
}
type ProcessConfig struct {
ApproveType int `json:"approve_type"` //1.部门长 2 指定成员 3.指定角色
ProcessType int `json:"process_type"`
AcitonType int `json:"aciton_type"`
GroupId int `json:"group_id"` //分组id
FromSpecialUser []VisibleObject `json:"from_special_user"`
ToRole []VisibleObject `json:"to_role"`
ToUser []VisibleObject `json:"to_user"`
}
/*TemplateUpdate */
type TemplateUpdateRequest struct {
Template Template `json:"template"`
Example string `json:"example"` //示例`
AuditFlowConfig AuditFlowConfig `json:"audit_flow_config"`
}
type TemplateUpdateResponse struct {
}
/*TemplateList */
type TemplateListRequest struct {
}
type TemplateListResponse struct {
List []*TemplateList `json:"list"`
//ResponsePageInfo
}
type TemplateList struct {
Id int `json:"id"`
Name string `json:"name"`
Icon string `json:"icon"`
Code string `json:"code"`
Sort int `json:"sort"`
Templates []*TemplateItem `json:"templates"`
}
type TemplateItem struct {
Id int64 `json:"id"` //创建时 0
Name string `json:"name"`
Doc string `json:"doc"`
Icon string `json:"icon"`
Code string `json:"code"` //编码
EnableStatus int8 `json:"enableStatus"` //禁用状态
Sort int `json:"sort"` //序号
VisibleType int8 `json:"visibleType"`
VisibleObject []VisibleObject `json:"visibleObject"`
}
type VisibleObject struct {
Id int `json:"id"`
Name string `json:"name"`
Type int `json:"type"` //0:指定人员 1:部门 2.公司所有人
}
/*TemplateEditVisible */
type TemplateEditVisibleRequest struct {
Id int `json:"id"` //模板编号
VisibleObject []VisibleObject `json:"visibleObject"`
}
type TemplateEditVisibleResponse struct {
}
/*TemplateAddCategory */
type TemplateOperateCategoryRequest struct {
Id int `json:"id"`
Name string `json:"name" valid:"Required"`
Code string `json:"code" valid:"Required"`
Icon string `json:"icon"`
}
type TemplateOperateCategoryResponse struct {
Id int `json:"id"`
}
/*TemplateGet */
type TemplateGetRequest struct {
Id int `json:"id" valid:"Required"`
}
type TemplateGetResponse struct {
Template Template `json:"template"`
Example string `json:"example"` //示例`
AuditFlowConfig AuditFlowConfig `json:"audit_flow_config"`
}
/*TemplateEditSort */
type TemplateEditSortRequest struct {
ChanceTypeId int `json:"chance_type_id"` //机会类型编号
List []SortItem `json:"list"` //需要排序的列表
}
type TemplateEditSortResponse struct {
}
//排序项
type SortItem struct {
Id int `json:"id"`
SortNum int `json:"sort_num"`
}
/*TemplateEditEnable 模板启用*/
type TemplateEditEnableRequest struct {
TemplateId int `json:"id" valid:"Required"`
Enabled int8 `json:"enabled"` //启用状态 1 启用 0 禁用
}
type TemplateEditEnableResponse struct {
}
/*TemplateDelete 删除模板*/
type TemplateDeleteRequest struct {
TemplateId int `json:"id" valid:"Required"`
}
type TemplateDeleteResponse struct {
}
/*TemplateDeleteCategory 删除一级分类*/
type TemplateDeleteCategoryRequest struct {
ChanceTypeId int `json:"id" valid:"Required"`
}
type TemplateDeleteCategoryResponse struct {
}
/*CategoryEditSort 一级分类排序*/
type CategoryEditSortRequest struct {
List []SortItem `json:"list"` //需要排序的列表
}
type CategoryEditSortResponse struct {
}