tree_section_contract.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /*
  2. * @description:合同项目节-视图层
  3. * @Author: CP
  4. * @Date: 2020-11-02 15:18:59
  5. * @FilePath: \construction_management\web\viewmodels\tree_section_contract.go
  6. */
  7. package viewmodels
  8. import (
  9. validation "github.com/go-ozzo/ozzo-validation/v3"
  10. )
  11. // ElderBrother 为true 有前一个兄弟节点,可上移和下降
  12. // IsEnd 为true 不能下移
  13. type TreeSectionContract struct {
  14. Id string `form:"id" json:"id" `
  15. ParentId string `form:"parentId" json:"parentId"`
  16. Name string `form:"name" json:"name"`
  17. Depth int `form:"depth" json:"depth"`
  18. Serial int `form:"serial" json:"serial"`
  19. Attribution string `form:"attribution" json:"attribution"`
  20. Code string `form:"code" json:"code"`
  21. ProjectId string `form:"projectId" json:"projectId"`
  22. BidsectionId string `form:"bidsectionId" json:"bidsectionId"`
  23. ContractId string `form:"contractId" json:"contractId"`
  24. ContractName string `form:"contractName" json:"contractName"`
  25. ContractCode string `form:"contractCode" json:"contractCode"`
  26. ContractPrice string `form:"contractPrice" json:"contractPrice"`
  27. ContractReturned string `form:"contractReturned" json:"contractReturned"`
  28. ContractsPaid string `form:"contractsPaid" json:"contractsPaid"`
  29. ContractStatus int `form:"contractStatus" json:"contractStatus"`
  30. CreateTime string `form:"createTime" json:"createTime"`
  31. Children []*TreeSectionContract `json:"children"`
  32. TemplateNumber int `form:"templateNumber" json:"templateNumber"`
  33. Operation string `form:"operation" json:"operation"`
  34. ElderBrother bool `form:"elderBrother" json:"elderBrother"`
  35. IsEnd bool `form:"isEnd" json:"isEnd"`
  36. }
  37. func (l TreeSectionContract) ValidateDepth() error {
  38. return validation.ValidateStruct(&l,
  39. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  40. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  41. validation.Field(&l.Operation, validation.Required.Error("操作名称不能为空"), validation.In("upDepth", "downDepth", "upSerial", "downSerial").Error("未找到相关操作")),
  42. )
  43. }
  44. func (l TreeSectionContract) ValidateTemplate() error {
  45. return validation.ValidateStruct(&l,
  46. validation.Field(&l.TemplateNumber, validation.Required.Error("模板号不能为空"), validation.In(1, 2).Error("未找到相关模板")),
  47. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  48. )
  49. }
  50. func (l TreeSectionContract) ValidateSectionAdd() error {
  51. return validation.ValidateStruct(&l,
  52. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  53. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  54. validation.Field(&l.Name, validation.Required.Error("项目节名称不能为空")),
  55. )
  56. }
  57. func (l TreeSectionContract) ValidateSectionDelete() error {
  58. return validation.ValidateStruct(&l,
  59. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  60. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  61. )
  62. }
  63. //is.Int.Error("请检查输入是否是整形") validation.Match(regexp.MustCompile("^[0-9]*$")).Error("请检查输入是否是整形")
  64. func (l TreeSectionContract) ValidateSectionSerial() error {
  65. return validation.ValidateStruct(&l,
  66. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  67. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  68. validation.Field(&l.Serial, validation.Required.Error("序号不能为空")),
  69. )
  70. }
  71. // func (l TreeSectionContract) ValidRuleGet() error {
  72. // return validation.ValidateStruct(&l,
  73. // validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  74. // validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  75. // )
  76. // }
  77. // Isfolder int `form:"isfolder" json:"isfolder"`
  78. // UpdateTime string `form:"updateTime" json:"updateTime"`
  79. // TargetFolderId string `form:"targetFolderId" json:"targetFolderId"`
  80. // Ancounts int `form:"ancounts" json:"ancounts"`
  81. // Csrf string `form:"csrf" json:"csrf"`
  82. // // Leaf bool `json:"leaf" `
  83. // HasFolder bool `json:"hasFolder" `
  84. // IsBid bool `json:"isBid" `
  85. // IsEnd bool `json:"isEnd"`
  86. // ChildsTotal int `json:"childsTotal"`