tree_section_contract.go 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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 validation "github.com/go-ozzo/ozzo-validation/v3"
  9. // ElderBrother 为true 有前一个兄弟节点,可上移和下降
  10. // IsEnd 为true 不能下移
  11. type TreeSectionContract struct {
  12. Id string `form:"id" json:"id" `
  13. ParentId string `form:"parentId" json:"parentId"`
  14. Name string `form:"name" json:"name"`
  15. Depth int `form:"depth" json:"depth"`
  16. Serial int `form:"serial" json:"serial"`
  17. Attribution string `form:"attribution" json:"attribution"`
  18. Code string `form:"code" json:"code"`
  19. Sort int `form:"sort" json:"attribsortution"`
  20. ProjectId string `form:"projectId" json:"projectId"`
  21. BidsectionId string `form:"bidsectionId" json:"bidsectionId"`
  22. ContractId string `form:"contractId" json:"contractId"`
  23. ContractName string `form:"contractName" json:"contractName"`
  24. ContractCode string `form:"contractCode" json:"contractCode"`
  25. ContractPrice string `form:"contractPrice" json:"contractPrice"`
  26. ContractReturned string `form:"contractReturned" json:"contractReturned"`
  27. ContractsPaid string `form:"contractsPaid" json:"contractsPaid"`
  28. ContractStatus int `form:"contractStatus" json:"contractStatus"`
  29. CreateTime string `form:"createTime" json:"createTime"`
  30. Children []*TreeSectionContract `json:"children"`
  31. TemplateNumber int `form:"templateNumber" json:"templateNumber"`
  32. Operation string `form:"operation" json:"operation"`
  33. ElderBrother bool `form:"elderBrother" json:"elderBrother"`
  34. IsEnd bool `form:"isEnd" json:"isEnd"`
  35. }
  36. func (l TreeSectionContract) ValidateDepth() error {
  37. return validation.ValidateStruct(&l,
  38. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  39. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  40. validation.Field(&l.Operation, validation.Required.Error("操作名称不能为空"), validation.In("upDepth", "downDepth", "upSerial", "downSerial").Error("未找到相关操作")),
  41. )
  42. }
  43. func (l TreeSectionContract) ValidateTemplate() error {
  44. return validation.ValidateStruct(&l,
  45. validation.Field(&l.TemplateNumber, validation.Required.Error("模板号不能为空"), validation.In(1, 2).Error("未找到相关模板")),
  46. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  47. )
  48. }
  49. func (l TreeSectionContract) ValidateSectionAdd() error {
  50. return validation.ValidateStruct(&l,
  51. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  52. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  53. validation.Field(&l.Name, validation.Required.Error("项目节名称不能为空")),
  54. )
  55. }
  56. func (l TreeSectionContract) ValidateSectionDelete() error {
  57. return validation.ValidateStruct(&l,
  58. validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  59. validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  60. )
  61. }
  62. // func (l TreeSectionContract) ValidRuleGet() error {
  63. // return validation.ValidateStruct(&l,
  64. // validation.Field(&l.Id, validation.Required.Error("项目节ID不能为空")),
  65. // validation.Field(&l.BidsectionId, validation.Required.Error("标段ID不能为空")),
  66. // )
  67. // }
  68. // Isfolder int `form:"isfolder" json:"isfolder"`
  69. // UpdateTime string `form:"updateTime" json:"updateTime"`
  70. // TargetFolderId string `form:"targetFolderId" json:"targetFolderId"`
  71. // Ancounts int `form:"ancounts" json:"ancounts"`
  72. // Csrf string `form:"csrf" json:"csrf"`
  73. // // Leaf bool `json:"leaf" `
  74. // HasFolder bool `json:"hasFolder" `
  75. // IsBid bool `json:"isBid" `
  76. // IsEnd bool `json:"isEnd"`
  77. // ChildsTotal int `json:"childsTotal"`