SystemConfigTab.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. namespace app\admin\controller\setting;
  3. use think\Url;
  4. use service\FormBuilder as Form;
  5. use think\Request;
  6. use service\UtilService as Util;
  7. use service\JsonService as Json;
  8. use app\admin\controller\AuthController;
  9. use app\admin\model\system\SystemConfigTab as ConfigTabModel;
  10. use app\admin\model\system\SystemConfig as ConfigModel;
  11. /**
  12. * 配置分类控制器
  13. * Class SystemConfigTab
  14. * @package app\admin\controller\system
  15. */
  16. class SystemConfigTab extends AuthController
  17. {
  18. /**
  19. * 子子段
  20. * @return mixed|\think\response\Json
  21. */
  22. public function sonconfigtab(){
  23. $tab_id = input('tab_id');
  24. if(!$tab_id) return Json::fail('参数错误');
  25. $this->assign('tab_id',$tab_id);
  26. $list = ConfigModel::getAll($tab_id);
  27. foreach ($list as $k=>$v){
  28. $list[$k]['value'] = json_decode($v['value'],true)?:'';
  29. if($v['type'] == 'radio' || $v['type'] == 'checkbox'){
  30. $list[$k]['value'] = ConfigTabModel::getRadioOrCheckboxValueInfo($v['menu_name'],$v['value']);
  31. }
  32. if($v['type'] == 'upload' && !empty($v['value'])){
  33. // if($v['upload_type'] == 1 || $v['upload_type'] == 3) $list[$k]['value'] = explode(',',$v['value']);
  34. }
  35. }
  36. $this->assign('list',$list);
  37. return $this->fetch();
  38. }
  39. /**
  40. * 基础配置
  41. * @return mixed
  42. */
  43. public function index(){
  44. $where = Util::getMore([
  45. ['status',''],
  46. ['title',''],
  47. ],$this->request);
  48. $this->assign('where',$where);
  49. $this->assign(ConfigTabModel::getSystemConfigTabPage($where));
  50. return $this->fetch();
  51. }
  52. /**
  53. * 添加配置分类
  54. * @return mixed
  55. */
  56. public function create(){
  57. $form = Form::create(Url::build('save'),[
  58. Form::input('title','分类昵称'),
  59. Form::input('eng_title','分类字段'),
  60. Form::frameInputOne('icon','图标',Url::build('admin/widget.widgets/icon',array('fodder'=>'icon')))->icon('ionic'),
  61. Form::radio('type','类型',0)->options([['value'=>0,'label'=>'系统'],['value'=>1,'label'=>'公众号'],['value'=>2,'label'=>'小程序'],['value'=>3,'label'=>'其它']]),
  62. Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']])
  63. ]);
  64. $form->setMethod('post')->setTitle('添加分类配置');
  65. $this->assign(compact('form'));
  66. return $this->fetch('public/form-builder');
  67. }
  68. /**
  69. * 保存分类名称
  70. * @param Request $request
  71. * @return \think\response\Json
  72. */
  73. public function save(Request $request){
  74. $data = Util::postMore([
  75. 'eng_title',
  76. 'status',
  77. 'title',
  78. 'icon',
  79. 'type'],$request);
  80. if(!$data['title']) return Json::fail('请输入按钮名称');
  81. ConfigTabModel::set($data);
  82. return Json::successful('添加菜单成功!');
  83. }
  84. /**
  85. * 修改分类
  86. * @param $id
  87. * @return mixed
  88. */
  89. public function edit($id){
  90. $menu = ConfigTabModel::get($id)->getData();
  91. if(!$menu) return Json::fail('数据不存在!');
  92. $form = Form::create(Url::build('update',array('id'=>$id)),[
  93. Form::input('title','分类昵称',$menu['title']),
  94. Form::input('eng_title','分类字段',$menu['eng_title']),
  95. Form::frameInputOne('icon','图标',Url::build('admin/widget.widgets/icon',array('fodder'=>'icon')),$menu['icon'])->icon('ionic'),
  96. Form::radio('type','类型',$menu['type'])->options([['value'=>0,'label'=>'系统'],['value'=>1,'label'=>'公众号'],['value'=>2,'label'=>'小程序'],['value'=>3,'label'=>'其它']]),
  97. Form::radio('status','状态',$menu['status'])->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']])
  98. ]);
  99. $form->setMethod('post')->setTitle('添加分类配置');
  100. $this->assign(compact('form'));
  101. return $this->fetch('public/form-builder');
  102. }
  103. /**
  104. * @param Request $request
  105. * @param $id
  106. * @return \think\response\Json
  107. */
  108. public function update(Request $request, $id)
  109. {
  110. $data = Util::postMore(['title','status','eng_title','icon','type'],$request);
  111. if(!$data['title']) return Json::fail('请输入分类昵称');
  112. if(!$data['eng_title']) return Json::fail('请输入分类字段');
  113. if(!ConfigTabModel::get($id)) return Json::fail('编辑的记录不存在!');
  114. ConfigTabModel::edit($data,$id);
  115. return Json::successful('修改成功!');
  116. }
  117. /**
  118. * @param $id
  119. * @return \think\response\Json
  120. */
  121. public function delete($id){
  122. if(!ConfigTabModel::del($id))
  123. return Json::fail(ConfigTabModel::getErrorInfo('删除失败,请稍候再试!'));
  124. else
  125. return Json::successful('删除成功!');
  126. }
  127. }