链街Dcat后台
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.

118 lines
3.3 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\LanzuServiceSpeaker;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Show;
  7. use Dcat\Admin\Controllers\AdminController;
  8. use App\Models\ImsCjdcMarket;
  9. use App\Models\ImsCjdcStore;
  10. use Illuminate\Http\Request;
  11. class LanzuServiceSpeakerController extends AdminController
  12. {
  13. /**
  14. * Make a grid builder.
  15. *
  16. * @return Grid
  17. */
  18. protected $title = '播报机管理';
  19. protected function grid()
  20. {
  21. return Grid::make(new LanzuServiceSpeaker(['store']), function (Grid $grid) {
  22. $grid->model()->orderBy('updated_at','desc');
  23. $grid->id->sortable();
  24. $grid->column('device_name','设备编号');
  25. $grid->column('store_id','商户ID');
  26. $grid->column('store.name','商户名');
  27. $grid->column('is_bind')
  28. ->using([0=>'未绑定',1=>'已绑定'])
  29. ->label([0=>'danger',1=>'success']);
  30. $grid->created_at;
  31. $grid->updated_at->sortable();
  32. $grid->filter(function (Grid\Filter $filter) {
  33. $filter->equal('id');
  34. $filter->equal('store_id');
  35. });
  36. });
  37. }
  38. /**
  39. * Make a show builder.
  40. *
  41. * @param mixed $id
  42. *
  43. * @return Show
  44. */
  45. protected function detail($id)
  46. {
  47. return Show::make($id, new LanzuServiceSpeaker(), function (Show $show) {
  48. $show->id;
  49. $show->created_at->as(function ($time){
  50. if ($time){
  51. return date('Y-m-d H:i',$time);
  52. }else{
  53. return '-';
  54. }
  55. });
  56. $show->updated_at->as(function ($time){
  57. if ($time){
  58. return date('Y-m-d H:i',$time);
  59. }else{
  60. return '-';
  61. }
  62. });
  63. });
  64. }
  65. /**
  66. * Make a form builder.
  67. *
  68. * @return Form
  69. */
  70. protected function form()
  71. {
  72. return Form::make(new LanzuServiceSpeaker(), function (Form $form) {
  73. $form->display('id');
  74. $form->text("device_name",'设备编号')->required();
  75. //$form->number("store_id",'商户ID')->required();
  76. // $form->select('market_id','所在市场')->options('/api/getAllMarket');
  77. $form->select('store_id','商户')->options(function ($id) {
  78. $store = ImsCjdcStore::find($id);
  79. if ($store) {
  80. return [$store->id => $store->name];
  81. }
  82. })->ajax('/api/stores');
  83. $form->switch('is_bind', '是否绑定');
  84. //$form->image("device_name")->disk('oss');
  85. $form->display('created_at');
  86. $form->display('updated_at');
  87. });
  88. }
  89. public function getAllMarkets(){
  90. $data = [];
  91. $markets = ImsCjdcMarket::all();
  92. foreach ($markets as $market) {
  93. $item = [];
  94. $item['id'] = $market->id;
  95. $item['text'] = $market->name;
  96. $data[] = $item;
  97. }
  98. return response()->json($data);
  99. }
  100. public function getStores(Request $request)
  101. {
  102. $q = $request->get('q');
  103. return ImsCjdcStore::where('name', 'like', "%$q%")->paginate(null, ['id', 'name as text']);
  104. }
  105. }