tree_section_contract.go 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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. ContractLocking int `form:"contractLocking" json:"contractLocking"`
  31. CreateTime string `form:"createTime" json:"createTime"`
  32. Children []*TreeSectionContract `json:"children"`
  33. TemplateNumber int `form:"templateNumber" json:"templateNumber"`
  34. Operation string `form:"operation" json:"operation"`
  35. ElderBrother bool `form:"elderBrother" json:"elderBrother"`
  36. IsEnd bool `form:"isEnd" json:"isEnd"`
  37. }
  38. func (l TreeSectionContract) ValidateDepth() error {
  39. return validation.ValidateStruct(&l,
  40. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  41. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  42. validation.Field(&l.Operation, validation.Required.Error("操作名称不能为空"), validation.In("upDepth", "downDepth", "upSerial", "downSerial").Error("未找到相关操作")),
  43. )
  44. }
  45. func (l TreeSectionContract) ValidateTemplate() error {
  46. return validation.ValidateStruct(&l,
  47. validation.Field(&l.TemplateNumber, validation.Required.Error("模板号不能为空"), validation.In(1, 2).Error("未找到相关模板")),
  48. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  49. )
  50. }
  51. func (l TreeSectionContract) ValidateSectionAdd() error {
  52. return validation.ValidateStruct(&l,
  53. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  54. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  55. validation.Field(&l.Name, validation.Required.Error("项目节名称不能为空")),
  56. )
  57. }
  58. func (l TreeSectionContract) ValidateSectionDelete() error {
  59. return validation.ValidateStruct(&l,
  60. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  61. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  62. )
  63. }
  64. //is.Int.Error("请检查输入是否是整形") validation.Match(regexp.MustCompile("^[0-9]*$")).Error("请检查输入是否是整形")
  65. func (l TreeSectionContract) ValidateSectionSerial() error {
  66. return validation.ValidateStruct(&l,
  67. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  68. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  69. validation.Field(&l.Serial, validation.Required.Error("序号不能为空")),
  70. )
  71. }
  72. // func (l TreeSectionContract) ValidRuleGet() error {
  73. // return validation.ValidateStruct(&l,
  74. // validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  75. // validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  76. // )
  77. // }
  78. // Isfolder int `form:"isfolder" json:"isfolder"`
  79. // UpdateTime string `form:"updateTime" json:"updateTime"`
  80. // TargetFolderId string `form:"targetFolderId" json:"targetFolderId"`
  81. // Ancounts int `form:"ancounts" json:"ancounts"`
  82. // Csrf string `form:"csrf" json:"csrf"`
  83. // // Leaf bool `json:"leaf" `
  84. // HasFolder bool `json:"hasFolder" `
  85. // IsBid bool `json:"isBid" `
  86. // IsEnd bool `json:"isEnd"`
  87. // ChildsTotal int `json:"childsTotal"`