DischargeTaskRequest.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. namespace App\Http\Requests\DischargeTask;
  3. use App\Traits\RequestApiFormValidation;
  4. use Illuminate\Foundation\Http\FormRequest;
  5. use Illuminate\Support\Facades\Route;
  6. class DischargeTaskRequest extends FormRequest
  7. {
  8. use RequestApiFormValidation;
  9. protected $deleteApiRules =[
  10. 'id' => 'required'
  11. ];
  12. protected $deleteApiMessage =[
  13. 'id.required' => '参数错误'
  14. ];
  15. protected $storeApiRules =[
  16. 'owner_id' => 'required',
  17. 'type' => 'required',
  18. 'numbers' => 'required',
  19. 'warehouse_id' => 'required',
  20. 'income_unit' => 'required',
  21. 'income_amount' => 'required',
  22. 'income_unit_price' => 'required',
  23. ];
  24. protected $storeApiMessage =[
  25. 'owner_id.required' => '货物为必选项',
  26. 'type.required' => '任务类型为必选项',
  27. 'numbers.required' => '入库单号为必填项',
  28. 'warehouse_id.required' => '仓库未必须选项',
  29. 'income_amount.required' => '数量为必填项',
  30. 'income_unit.required' => '单位为必选项',
  31. 'income_unit_price.required'=> '单价为必填项',
  32. ];
  33. protected $updateApiRules =[
  34. 'owner_id' => 'required',
  35. 'type' => 'required',
  36. 'numbers' => 'required',
  37. 'warehouse_id' => 'required',
  38. 'income_unit' => 'required',
  39. 'income_amount' => 'required',
  40. 'income_unit_price' => 'required',
  41. ];
  42. protected $updateApiMessage =[
  43. 'owner_id.required' => '货物为必选项',
  44. 'type.required' => '任务类型为必选项',
  45. 'numbers.required' => '入库单号为必填项',
  46. 'warehouse_id.required' => '仓库未必须选项',
  47. 'income_amount.required' => '数量为必填项',
  48. 'income_unit.required' => '单位为必选项',
  49. 'income_unit_price.required'=> '单价为必填项',
  50. ];
  51. protected $updateTaskFacilitatorApiRules =[
  52. 'id' => 'required',
  53. 'facilitator_id' => 'required',
  54. 'expenditure_amount' => 'required',
  55. 'expenditure_unit' => 'required',
  56. 'expenditure_unit_price' => 'required',
  57. ];
  58. protected $updateTaskFacilitatorApiMessage =[
  59. 'id.required'=>'未选中卸货任务',
  60. 'facilitator_id.required' => '服务商为必选项',
  61. 'expenditure_amount.required' => '数量为必填项',
  62. 'expenditure_unit.required' => '单位为必选项',
  63. 'expenditure_unit_price.required' => '单价为必填项',
  64. ];
  65. protected $uploadApiRule = [
  66. 'file' => 'required',
  67. ];
  68. protected $uploadApiMessage = [
  69. 'file' => 'required',
  70. ];
  71. public function authorize(): bool
  72. {
  73. return true;
  74. }
  75. public function rules(): array
  76. {
  77. $currentRoute = Route::getCurrentRoute();
  78. $routeName = $currentRoute->getName();
  79. switch ($routeName){
  80. case 'discharge.deleteApi':
  81. return $this->deleteApiRules;
  82. case 'discharge.storeApi':
  83. return $this->storeApiRules;
  84. case 'discharge.updateApi':
  85. return $this->updateApiRules;
  86. case 'discharge.updateTaskFacilitatorApi':
  87. return $this->updateTaskFacilitatorApiRules;
  88. case 'discharge.importApi':
  89. return $this->uploadApiRule;
  90. default :
  91. return [];
  92. }
  93. }
  94. public function messages(): array
  95. {
  96. $currentRoute = Route::getCurrentRoute();
  97. $routeName = $currentRoute->getName();
  98. switch ($routeName){
  99. case 'discharge.deleteApi':
  100. return $this->deleteApiMessage;
  101. case 'discharge.storeApi':
  102. return $this->storeApiMessage;
  103. case 'discharge.updateApi':
  104. return $this->updateApiMessage;
  105. case 'discharge.updateTaskFacilitatorApi':
  106. return $this->updateTaskFacilitatorApiMessage;
  107. case 'discharge.importApi':
  108. return $this->uploadApiMessage;
  109. default :
  110. return [];
  111. }
  112. }
  113. }