InquiryAssignment.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Admin\Forms;
  3. use Dcat\Admin\Contracts\LazyRenderable;
  4. use Dcat\Admin\Widgets\Form;
  5. use App\Admin\Repositories\DistInquiry;
  6. use App\Admin\Renderable\DistDistributorTable;
  7. use Dcat\Admin\Models\DistAdminUser;
  8. use Dcat\Admin\Traits\LazyWidget;
  9. use App\Models\DistAdminDistributor;
  10. class InquiryAssignment extends Form
  11. {
  12. // 处理请求
  13. public function handle(array $input)
  14. {
  15. $distId = $input['distId'] ?? null;
  16. $id = $input['id'] ?? null;
  17. if (empty($id)) {
  18. return $this->response()->error('No data selected!');
  19. }
  20. //检查数据是否可分配状态
  21. $ids = explode(',', $id);
  22. if (DistInquiry::assessTheStatus($ids) == false) {
  23. return $this->response()->error('The data cannot be assigned!');
  24. }
  25. if (empty($distId)) {
  26. return $this->response()->error('No distributor selected!');
  27. }
  28. //分配数据
  29. DistInquiry::assignData($ids, $distId);
  30. return $this->response()->success(admin_trans_label('update_success'))->refresh();
  31. }
  32. public function form()
  33. {
  34. // $this->selectTable('distId', admin_trans_label('select_distributor'))
  35. // ->title(admin_trans_label('select_distributor'))
  36. // ->model(DistAdminDistributor::class, 'id', 'client_code')
  37. // ->from(DistDistributorTable::make());
  38. $this->select('distId',admin_trans_label('select_distributor'))->options('/api/dist')->required();
  39. // 设置隐藏表单,传递用户id
  40. $this->hidden('id')->attribute('id', 'inquiryIds');
  41. }
  42. }