SettingController.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Models\AdminLog;
  4. use App\Models\Setting;
  5. use Dcat\Admin\Form;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Http\Controllers\AdminController;
  8. use Dcat\Admin\Form\NestedForm;
  9. class SettingController extends AdminController
  10. {
  11. /**
  12. * Make a grid builder.
  13. *
  14. * @return Grid
  15. */
  16. protected function grid()
  17. {
  18. request()->session()->put('current_url', url()->current()); //这段代码切换语言用的,因为 url()->previous()不生效
  19. return Grid::make(new Setting(), function (Grid $grid) {
  20. $grid->model()->orderBy('id');
  21. $grid->model()->where('is_delete', '=','0');
  22. $grid->column('id')->sortable();
  23. $grid->column('title');
  24. $grid->column('ko_title');
  25. $grid->column('key');
  26. $grid->value(admin_trans_label('setting'))->display(function () {
  27. $url = admin_url('/setting/'.$this->id.'/edit');
  28. $html = '<div style="text-align:left">';
  29. $html .= '<a href="'.$url.'" class="btn btn-sm btn-primary"><i class="fa fa-edit"></i>'.admin_trans_label('setting').'</a>';
  30. $html .= '</div>';
  31. return $html;
  32. });
  33. $grid->filter(function (Grid\Filter $filter) {
  34. $filter->panel();
  35. $filter->like('title')->width(4);
  36. });
  37. $grid->disableBatchDelete();
  38. $grid->disableActions();
  39. $grid->disableCreateButton();
  40. });
  41. }
  42. /**
  43. * Make a form builder.
  44. *
  45. * @return Form
  46. * 注意 Setting 模型中 public function getValueAttribute($value){ return json_decode($value, true); }
  47. */
  48. protected function form()
  49. {
  50. request()->session()->put('current_url', url()->current()); //这段代码切换语言用的,因为 url()->previous()不生效
  51. return Form::make(new Setting(), function (Form $form) {
  52. $key = $form->model()->key;
  53. $form->display('id')->width(4);
  54. $form->display('title', admin_trans_field('title'));
  55. $form->display('ko_title', admin_trans_field('ko_title'));
  56. switch ($key){
  57. case 'notice': //公告
  58. $form->editor('value.zh_content', admin_trans_field('zh'));
  59. $form->editor('value.ko_content', admin_trans_field('ko'));
  60. break;
  61. case 'user_agreement': // 用户协议
  62. // 中文
  63. $form->editor('value.zh_content', admin_trans_field('zh'));
  64. // 韩文
  65. $form->editor('value.ko_content', admin_trans_field('ko'));
  66. break;
  67. case 'privacy_policy': // 隐私政策
  68. // 中文
  69. $form->editor('value.zh_content', admin_trans_field('zh'));
  70. // 韩文
  71. $form->editor('value.ko_content', admin_trans_field('ko'));
  72. break;
  73. case 'collection_checklist': // 收集清单
  74. // 中文
  75. $form->editor('value.zh_content', admin_trans_field('zh'));
  76. // 英文
  77. $form->editor('value.en_content', admin_trans_field('en'));
  78. break;
  79. case 'shared_inventory': // 共享清单
  80. // 中文
  81. $form->editor('value.zh_content', admin_trans_field('zh'));
  82. // 英文
  83. $form->editor('value.en_content', admin_trans_field('en'));
  84. break;
  85. case 'permission_description': // 权限说明
  86. // 中文
  87. $form->editor('value.zh_content', admin_trans_field('zh'));
  88. // 英文
  89. $form->editor('value.en_content', admin_trans_field('en'));
  90. break;
  91. case 'customer_service': // 客服
  92. // 手机号
  93. $form->mobile('value.mobile',admin_trans_field('mobile'));
  94. // 邮箱
  95. $form->email('value.email',admin_trans_field('email'))->width(4);
  96. break;
  97. case 'applet': // 小程序设置
  98. // 点钞小程序
  99. $form->switch('value.is_counting',admin_trans_field('is_counting'));
  100. // 收银小程序
  101. $form->switch('value.is_cashier',admin_trans_field('is_cashier'));
  102. break;
  103. case 'version': // 版本号
  104. $form->image('value.logo',admin_trans_field('logo'))->autoUpload()->uniqueName()->width(4);
  105. $form->text('value.version',admin_trans_field('version'))->width(4);
  106. $form->file('value.file',admin_trans_field('file'))->autoUpload()->uniqueName()->width(4);
  107. break;
  108. }
  109. $form->saved(function (Form $form) use ($key){
  110. return $form->response()->success(admin_trans_field('save_success'))->redirect('setting/'.$form->model()->id.'/edit');
  111. });
  112. $form->disableViewButton();
  113. $form->disableDeleteButton();
  114. });
  115. }
  116. }