TaskValidate.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?php
  2. namespace app\api\validate;
  3. use think\Validate;
  4. class TaskValidate extends Validate
  5. {
  6. protected $rule = [
  7. 'id'=>['require','integer','get:0'],//id
  8. 'pageNum' => ['require','integer','gt:0'],//页码,gt在内置规则:https://www.kancloud.cn/manual/thinkphp6_0/1037629#_232
  9. 'pageSize' => ['require','integer','gt:0'],//每页显示数量
  10. 'task_class' => ['require', 'in' => '例行监测,专项监测'],//任务列表:例行监测
  11. 'year' => ['require', 'date'], //年度
  12. 'ispublic'=>['require', 'in' => '0,1,2,3,4,5'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
  13. 'starttime' => ['require','date'],//任务开始时间
  14. 'endtime' => ['require','date'],//任务结束时间
  15. 'task_name' => ['require','chsDash','length:4,50'],//任务名称
  16. 'level'=>['require','in:0,1,2'],//任务优先级,0:一般,1:紧急,2:特急
  17. 'batch' => ['require','in:一季度,二季度,三季度,四季度'],//批次,一季度,二季度,三季度,四季度
  18. // 'releaser' => ['require'], //发布单位
  19. 'main_unit' => 'require',//牵头单位
  20. // 'filenum' => 'require',//文件号---选填
  21. // 'log' => 'require',//备注---选填
  22. // 'file_url' => 'require',//附件地址
  23. // 'file_name' => 'require',//附件名称
  24. ];
  25. protected $message = [
  26. 'id' => [
  27. 'require'=>['0' => 200000, '1'=>'传参错误'],
  28. 'integer'=>['0' => 200001, '1'=>'传参错误'],
  29. 'gt'=>['0' => 200002, '1'=>'传参错误'],
  30. ],
  31. 'pageNum' => [
  32. 'require'=>['0' => 200100, '1'=>'页码不能为空'],
  33. 'integer'=>['0' => 200101, '1'=>'页码必须为整数'],
  34. 'gt'=>['0' => 200102, '1'=>'页码必须大于0'],
  35. ],
  36. 'pageSize' => [
  37. 'require'=>['0' => 200200, '1'=>'每页显示数量不能为空'],
  38. 'integer'=>['0' => 200201, '1'=>'每页显示数量必须为整数'],
  39. 'gt'=>['0' => 200202, '1'=>'每页显示数量必须大于0'],
  40. ],
  41. 'task_class' => [
  42. 'require' => ['0' => 200300, '1' => '任务类别不能为空'],//任务列表:例行监测 专项监测
  43. 'in' => ['0' => 200301, '1' => '任务类别错误'],
  44. ],
  45. 'year' => [
  46. 'require'=>['0' => 200400, '1'=>'任务年度不能为空'],//年度
  47. 'date'=>['0' => 200401, '1'=>'任务年度格式错误'],
  48. ],
  49. 'ispublic' => [
  50. 'require'=>['0' => 200500, '1'=>'任务状态不能为空'],//任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成
  51. 'in'=>['0' => 200501, '1'=>'任务状态选择错误'],
  52. ],
  53. 'starttime' => [
  54. 'require'=>['0' => 200600, '1'=>'任务开始时间不能为空'],//任务开始时间
  55. 'in'=>['0' => 200601, '1'=>'任务开始时间格式错误'],
  56. ],
  57. 'endtime' => [
  58. 'require'=>['0' => 200600, '1'=>'任务结束时间不能为空'],//任务结束时间
  59. 'in'=>['0' => 200601, '1'=>'任务结束时间格式错误'],
  60. ],
  61. 'task_name' => [
  62. 'require'=>['0' => 200800, '1'=>'任务名称不能为空'],//任务名称
  63. 'chsDash'=>['0' => 200801, '1'=>'任务名称只能是汉字、字母、数字和下划线_及破折号-'],//任务名称
  64. 'length'=>['0' => 200802, '1'=>'任务名称长度在4至50个字符之间'],//任务名称
  65. ],
  66. 'level' => [
  67. 'require'=>['0' => 200900, '1'=>'任务优先级不能为空'],//任务优先级,0:一般,1:紧急,2:特急
  68. 'in'=>['0' => 200901, '1'=>'任务优先级格式错误'],//任务优先级,0:一般,1:紧急,2:特急
  69. ],
  70. 'batch' => [
  71. 'require'=>['0' => 201000, '1'=>'批次不能为空'],//批次,一季度,二季度,三季度,四季度
  72. 'in'=>['0' => 201000, '1'=>'批次格式错误'],
  73. ],
  74. 'main_unit' => [
  75. 'require' => ['0' => 201200, '1' => '牵头单位不能为空'],//牵头单位
  76. ],
  77. // 'releaser.require'=>['0' => 201100, '1'=>'发布单位不能为空'], //发布单位/
  78. //'releaser.in'=>['0' => 201101, '1'=>'发布单位禁止填写'], //发布单位/
  79. //'filenum.require'=>['0' => 201300, '1'=>'文件号不能为空'],//文件号---选填
  80. //'log.require'=>['0' => 201400, '1'=>'备注不能为空'],//备注---选填
  81. //'file_url.require'=>['0' => 201500, '1'=>'附件地址不能为空'],//附件地址
  82. //'file_name.require'=>['0' => 201600, '1'=>'附件名称不能为空'],//附件名称
  83. ];
  84. // 监管端 获取任务列表 验证场景定义
  85. public function sceneSelectJgTaskList()
  86. {
  87. return $this->only(['task_class','pageNum','pageSize','year' ,'ispublic','starttime','endtime'])
  88. ->remove('year', 'require')
  89. ->remove('ispublic', 'require')
  90. ->remove('starttime', 'require')
  91. ->remove('endtime', 'require');
  92. }
  93. //监管端 添加任务 验证场景定义
  94. public function sceneAddJgTaskItem()
  95. {
  96. return $this->only(['task_name', 'level', 'year', 'batch', 'starttime', 'endtime', 'filenum', 'task_class', 'ispublic', 'main_unit']);
  97. }
  98. // 牵头单位 获取任务列表 验证场景定义
  99. public function sceneSelectQtTaskList()
  100. {
  101. return $this->only(['task_class', 'task_name', 'year', 'ispublic', 'starttime', 'endtime', 'pageNum', 'pageSize'])
  102. ->remove('task_name', 'require|length')
  103. ->remove('year', 'require')
  104. ->remove('ispublic', 'require')
  105. ->remove('starttime', 'require')
  106. ->remove('endtime', 'require');
  107. }
  108. public function sceneGetTaskInfo()
  109. {
  110. return $this->only(['pageNum', 'pageSize', 'task_id'])
  111. ->remove('pageSize', 'require');
  112. }
  113. //牵头单位 发布任务 验证场景定义
  114. public function sceneQtRelease()
  115. {
  116. return $this->only['task_id'];
  117. }
  118. }