ConfigStringEditForm.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Module\System\Admin\Actions;
  3. use App\Module\System\Models\SysConfig;
  4. use App\Module\System\Services\Config;
  5. use Dcat\Admin\Contracts\LazyRenderable;
  6. use Dcat\Admin\Traits\LazyWidget;
  7. use Illuminate\Support\Facades\DB;
  8. use UCore\DcatAdmin\Widgets\Form;
  9. /**
  10. * 字符串配置 修改表单
  11. *
  12. */
  13. class ConfigStringEditForm extends Form implements LazyRenderable
  14. {
  15. use LazyWidget,ConfigEditForm;
  16. public function __construct($data = [], $key = null)
  17. {
  18. parent::__construct($data, $key);
  19. // dump(func_get_args());
  20. }
  21. public function run($input)
  22. {
  23. $id = $this->payload['id'] ?? null;
  24. if (!$id) {
  25. return $this->error('input-error');
  26. }
  27. /**
  28. * @var SysConfig $model
  29. */
  30. $model = SysConfig::query()->find($id);
  31. // dump($model);
  32. if(!$model){
  33. return $this->error('noinfo');
  34. }
  35. try {
  36. DB::beginTransaction();;
  37. $model->value = $input['value'];
  38. if(!$model->save()){
  39. return $this->error('error');
  40. }
  41. DB::commit();
  42. }catch (\Exception $exception){
  43. DB::rollBack();
  44. }
  45. return $this->success('ok')->refresh();
  46. }
  47. public function form()
  48. {
  49. $id = $this->payload['id'] ?? null;
  50. $model = SysConfig::query()->find($id);
  51. if(!$model){
  52. return $this->error('错误的')->refresh();
  53. }
  54. $this->display('k','Key')->value($model->keyname);
  55. $this->display('k','标题')->value($model->title);
  56. $this->display('k','描述')->value($model->desc);
  57. $this->text('value',"内容")->default($model->value)->required();
  58. }
  59. }