海南旅游SAAS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.4 KiB

  1. <?php
  2. namespace App\AdminAgent\Lazys;
  3. use App\AdminAgent\Repositories\DemandBidding;
  4. use App\Models\Demand;
  5. use App\Traits\DemandTraits;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Grid\LazyRenderable;
  8. use Illuminate\Support\Arr;
  9. class DemandBiddingLazys extends LazyRenderable
  10. {
  11. public function grid(): Grid
  12. {
  13. return Grid::make(new DemandBidding(['biddingUser']), function (Grid $grid) {
  14. $demandId = request('demand_id','');
  15. $demand = Demand::find($demandId);
  16. $grid->model()->where('demand_id',$demandId);
  17. $grid->column('id');
  18. $grid->column('price','出价');
  19. $grid->column('comment','内容');
  20. $grid->column('biddingUser.name','竞拍人');
  21. $grid->column('bidding','竞标')
  22. ->if(function () use ($demand){
  23. return $demand->state == 1;
  24. })
  25. ->then(function (Grid\Column $column) {
  26. $column->append('<a class="btn btn-sm btn-primary" href="'.admin_url('/api/demand/binding?demand_bidding_id='.$this->id).'" style="color: white">选中竞标</a>');
  27. })
  28. ->if(function () use ($demand){
  29. return $demand->state == 2;
  30. })
  31. ->then(function (Grid\Column $column) use ($demand){
  32. if ($demand->bidding_id == $this->id) {
  33. $column->append('<span class="text-success">已中标</span>');
  34. } else {
  35. $column->append('<span class="text-danger">未中标</span>');
  36. }
  37. });
  38. $grid->column('created_at');
  39. $grid->disableActions();
  40. $grid->disableRowSelector();
  41. });
  42. }
  43. }