ColumnController.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Model\Column;
  4. use App\Model\Colconfig;
  5. use App\Http\Controllers\Controller;
  6. use http\Env\Response;
  7. use Illuminate\Http\Request;
  8. use App\Http\Requests;
  9. use Illuminate\Support\Facades\DB;
  10. use Illuminate\Pagination\LengthAwarePaginator;
  11. use Illuminate\Support\Facades\Storage;
  12. class ColumnController extends Controller{
  13. public function index(){
  14. $table=new Colconfig();
  15. $table1=new Column;
  16. $sel=$table->colshow();
  17. // $data=$table1->colshows($sel[0]['columnid']);
  18. $data= $this->tree();
  19. return view('admin.column.col-config',compact('sel','data'));
  20. }
  21. public function colselect(Request $request){
  22. // $input=$request->all();
  23. $table=new Column();
  24. $re=$table->rankshow($request->id,$request->colid);
  25. if ($re){
  26. return response()->json($re);
  27. }else{
  28. return ['msg'=>'查询出错'];
  29. }
  30. }
  31. public function colsave1(Request $request){
  32. $table=new Column();
  33. $data = $request->except(['_token']);
  34. $re=$table->colsave($data);
  35. if ($re){
  36. return response()->json(['msg'=>'创建成功']);
  37. }else{
  38. return response()->json(['msg'=>'数据出错']);
  39. }
  40. }
  41. public function colshowall(Request $request){
  42. $table=new Colconfig();
  43. $re=$table->colshow();
  44. // dd($re);
  45. if ($re){
  46. return response()->json($re);
  47. }else{
  48. return json(['msg'=>'数据出错']);
  49. }
  50. }
  51. public function colconshow(Request $request){
  52. $table=new Column();
  53. $data=$table->colshows($request->id);
  54. if ($data){
  55. return response()->json($data);
  56. }
  57. }
  58. public function tree($parentid=0,$columnid=1)
  59. {
  60. $rows = Column::where([['parentid','=',$parentid],['columnid','=',$columnid]])->orderBy('order','ASC')->get();
  61. $arr = [];
  62. if (sizeof($rows) != 0){
  63. foreach ($rows as $key => $val){
  64. $val['child'] = $this->tree($val['id']);
  65. $arr[] = $val->toArray();
  66. }
  67. return $arr;
  68. }
  69. return [];
  70. }
  71. public function coldel1(Request $request){
  72. $res=DB::table('columns')->where('parentid','=',$request->id)->get();
  73. if ($res){
  74. return response()->json(['msg'=>'请先删除子级标题','status'=>'2']);
  75. }else{
  76. $re=DB::table('columns')->delete($request->id);
  77. if ($re){
  78. return response()->json(['msg'=>'删除成功','status'=>'0']);
  79. }else{
  80. return response()->json(['msg'=>'删除失败','status'=>'1']);
  81. }
  82. }
  83. }
  84. public function coledit(Request $request){
  85. $re=DB::table('columns')->where('id','=',$request->id)->select(
  86. 'id','name','keys','url','rank','parentid',
  87. 'class','status','order','created_at','updated_at'
  88. )->get()->toArray();
  89. // dd($re);
  90. return view('admin.column.coledit',compact('re'));
  91. }
  92. public function coledita(Request $request){
  93. $tabel=new Column();
  94. $input=$request->except(['_token']);
  95. // dd($input);
  96. $re=$tabel->updates($request->id,$input);
  97. // dd($re);
  98. if ($re==null||$re==0){
  99. return redirect()->route('col-config');
  100. }
  101. }
  102. public function colsave(Request $request){
  103. $in=$request->except('_token');
  104. // return dd($request->all());
  105. // return dd($in['data']);
  106. $re=$this->saveall($in['data']);
  107. return $re;
  108. }
  109. /**
  110. * @param $data
  111. * @param int $pa
  112. * @return array
  113. */
  114. public function saveall($data, $pa=0,$rank=1){
  115. $t=new Column();
  116. foreach ($data as $k=>$v){
  117. $da=['order'=>$k+1,'parentid'=>$pa,'rank'=>$rank];
  118. $re[]=$t->updates($v['id'],$da);
  119. if (!empty($v['children'])){
  120. $rank++;
  121. $this->saveall($v['children'],$v['id'],$rank);
  122. }
  123. }
  124. return $re;
  125. }
  126. }