Cate.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 栏目管理
  7. */
  8. namespace app\citys\controller;
  9. use app\citys\controller\Common;
  10. use app\citys\model\CitysCate;
  11. use app\citys\model\Citys;
  12. use app\citys\model\CitysTpl;
  13. class Cate extends Common{
  14. public function initialize() {
  15. parent::initialize();
  16. $this->assign('pathMaps',[['name'=>'信息分类','url'=>url("citys/cate/index")]]);
  17. }
  18. /**
  19. * 列表
  20. */
  21. public function index(){
  22. $view['lists'] = CitysCate::where(['member_miniapp_id' => $this->member_miniapp_id])->order('sort desc,id desc')->paginate(20);
  23. $view['tabs'] = [
  24. ['name' => '主题管理','url' => url('citys/cate/index'),'action' => 1],
  25. ['name' => '模板库','url' => url('citys/tpl/index')],
  26. ['name' => '应用设置','url' => url('citys/setting/info')],
  27. ];
  28. return view()->assign($view);
  29. }
  30. /**
  31. * 添加
  32. */
  33. public function add(){
  34. if(request()->isAjax()){
  35. $data = [
  36. 'member_miniapp_id' => $this->member_miniapp_id,
  37. 'title' => $this->request->param('title/s'),
  38. 'name' => $this->request->param('name/s'),
  39. 'sort' => $this->request->param('sort/d'),
  40. 'phone' => $this->request->param('phone/f'),
  41. 'price' => $this->request->param('price/f'),
  42. 'tpl_id' => $this->request->param('tpl_id/d',0),
  43. 'picture' => $this->request->param('picture/s')
  44. ];
  45. $validate = $this->validate($data,'Cate.add');
  46. if(true !== $validate){
  47. return json(['code'=>0,'msg'=>$validate]);
  48. }
  49. $result = CitysCate::edit($data);
  50. if($result){
  51. return json(['code'=>200,'url'=>url('"citys/cate/index'),'msg'=>'操作成功']);
  52. }else{
  53. return json(['code'=>0,'msg'=>'操作失败']);
  54. }
  55. }else{
  56. $view['tpl'] = CitysTpl::where($this->mini_program)->order('id asc')->select();
  57. return view('add',$view);
  58. }
  59. }
  60. //编辑
  61. public function edit(){
  62. if(request()->isAjax()){
  63. $data = [
  64. 'id' => $this->request->param('id/s'),
  65. 'title' => $this->request->param('title/s'),
  66. 'name' => $this->request->param('name/s'),
  67. 'sort' => $this->request->param('sort/d'),
  68. 'phone' => $this->request->param('phone/f'),
  69. 'price' => $this->request->param('price/f'),
  70. 'tpl_id' => $this->request->param('tpl_id/d'),
  71. 'picture' => $this->request->param('picture/s'),
  72. ];
  73. $validate = $this->validate($data,'Cate.edit');
  74. if(true !== $validate){
  75. return json(['code'=>0,'msg'=>$validate]);
  76. }
  77. if($data['tpl_id']){
  78. $tpl = CitysTpl::where($this->mini_program)->where(['id'=>$data['tpl_id']])->field('fields')->find();
  79. $data['fields'] = empty($tpl)?'[]' : $tpl->fields;
  80. }else{
  81. $data['fields'] = '[]';
  82. }
  83. //exit();
  84. $result = CitysCate::edit($data);
  85. if($result){
  86. return json(['code'=>200,'url'=>url('"citys/cate/index'),'msg'=>'操作成功']);
  87. }else{
  88. return json(['code'=>0,'msg'=>'操作失败']);
  89. }
  90. }else{
  91. $view['id'] = $this->request->param('id/d',0);
  92. $view['info']= CitysCate::where($this->mini_program)->where(['id' => $view['id']])->find();
  93. $view['tpl'] = CitysTpl::where($this->mini_program)->order('id asc')->select();
  94. return view('edit',$view);
  95. }
  96. }
  97. /**
  98. * 排序
  99. */
  100. public function sort(){
  101. if(request()->isAjax()){
  102. $data = [
  103. 'sort' => $this->request->param('sort/d'),
  104. 'id' => $this->request->param('id/d'),
  105. ];
  106. $validate = $this->validate($data,'Cate.sort');
  107. if(true !== $validate){
  108. return json(['code'=>0,'msg'=>$validate]);
  109. }
  110. $result = CitysCate::update(['sort'=>$data['sort'],'id' => $data['id']]);
  111. if($result){
  112. return enjson(200);
  113. }else{
  114. return enjson(0);
  115. }
  116. }
  117. }
  118. //删除
  119. public function delete(){
  120. $id = $this->request->param('id/d');
  121. $info = citys::where(['cate_id' => $id])->count();
  122. if($info){
  123. return enjson(0,'删除失败,栏目中还包含内容');
  124. }
  125. $result = CitysCate::where(['id'=>$id,'member_miniapp_id' => $this->member_miniapp_id])->delete();
  126. if($result){
  127. return enjson(200);
  128. }else{
  129. return enjson(0);
  130. }
  131. }
  132. }