...
|
...
|
@@ -6,23 +6,54 @@ import ( |
|
|
|
|
|
//输入框类型
|
|
|
const (
|
|
|
inputTypeCheck string = "check-box" //多选宽
|
|
|
inputTypeText string = "text" //单行文本宽
|
|
|
InputTypeRedio string = "redio" //单选框
|
|
|
InputTypeText string = "text" //单行文本宽
|
|
|
InputTypeRadio string = "radio" //单选框
|
|
|
InputImageVedio string = "image/vedio" // 图片或视频输入
|
|
|
)
|
|
|
|
|
|
//输入框输入的数据类型
|
|
|
const (
|
|
|
InputDataTypeText string = "text" //单纯文本
|
|
|
InputDataTypeImage string = "image" //图片的文件url
|
|
|
InputDataTypeVedio string = "vedio" //视频的文件url
|
|
|
)
|
|
|
|
|
|
var (
|
|
|
InputDataTypeMap map[string]bool = map[string]bool{
|
|
|
InputDataTypeText: true,
|
|
|
InputDataTypeImage: true,
|
|
|
InputDataTypeVedio: true,
|
|
|
}
|
|
|
InputTypeMap map[string]bool = map[string]bool{
|
|
|
InputTypeText: true,
|
|
|
InputTypeRadio: true,
|
|
|
InputImageVedio: true,
|
|
|
}
|
|
|
)
|
|
|
|
|
|
type InputElementData struct {
|
|
|
Value string `json:"value"` //输入框填写的值
|
|
|
Type string `json:"type"` //输入数据内容的类型
|
|
|
Path string `json:"path,omitempy"`
|
|
|
Cover map[string]interface{} `json:"cover,omitempy"`
|
|
|
}
|
|
|
|
|
|
type InputElementValueList struct {
|
|
|
Value string `json:"value"`
|
|
|
Type string `json:"type"` //输入的数据内容类型
|
|
|
}
|
|
|
|
|
|
//InputElement 自定义表单项
|
|
|
type InputElement struct {
|
|
|
Id int `json:"id"`
|
|
|
Sort int `json:"sort"` //排序
|
|
|
Label string `json:"label"` //标题
|
|
|
InputType string `json:"inputType"` //输入类型
|
|
|
Required int `json:"required"` //是否必填
|
|
|
CurrentValue string `json:"value"` //"当前填写的值"
|
|
|
SectionType int8 `json:"sectionType"`
|
|
|
// ValueList string `json:"-"` //输入候选值 value_list
|
|
|
// Placeholder string `json:"-"` //帮助用户填写输入字段的提示 Placeholder
|
|
|
// Disable bool `json:"-"` //"显示隐藏",
|
|
|
Id int `json:"id"`
|
|
|
Sort int `json:"sort"` //排序
|
|
|
Label string `json:"label"` //标题
|
|
|
InputType string `json:"inputType"` //输入类型
|
|
|
Required int `json:"required"` //是否必填
|
|
|
CurrentValue string `json:"value"` //"当前填写的值"
|
|
|
SectionType int8 `json:"sectionType"`
|
|
|
ValueList []InputElementValueList `json:"valueList,omitempy"` //输入候选值 value_list
|
|
|
Data []InputElementData `json:"data,omitempy"`
|
|
|
}
|
|
|
|
|
|
//自定义表单
|
...
|
...
|
@@ -39,44 +70,6 @@ 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 */
|
|
|
|
...
|
...
|
@@ -111,6 +104,7 @@ type Template struct { |
|
|
type AuditFlowConfig struct {
|
|
|
NoApprover int `json:"noApprover" valid:"Required;"` //审核人为空【1:自动通过】【2:转交给管理员】
|
|
|
ProcessConfig []ProcessConfig `json:"processConfig"` //创建时 0
|
|
|
SelfCheckNeed int `json:"self_check_need"` //是否需要自查内容【1:需要】【2:不需要】
|
|
|
}
|
|
|
type ProcessConfig struct {
|
|
|
ApproveType int `json:"approveType"` //1.部门长 2 指定成员 3.指定角色
|
...
|
...
|
|