Material.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <?php
  2. /**
  3. * User: nickbai
  4. * Date: 2017/10/23 13:33
  5. * Email: 1902822973@qq.com
  6. */
  7. namespace app\admin\controller;
  8. class Material extends Base
  9. {
  10. // 素材列表
  11. public function index()
  12. {
  13. $div = '<div>';
  14. if(request()->isAjax()){
  15. $param = input('param.');
  16. $limit = $param['pageSize'];
  17. $offset = (($param['pageNumber'] - 1) * $limit);
  18. $where = [];
  19. if (empty($param['searchText']) === false || intval($param['searchText']) == 0) {
  20. if($param['user'] == 'user_account'){
  21. $where['user_account'] = ['like', '%' . $param['searchText'] . '%'];
  22. }
  23. if($param['user'] == 'user_name'){
  24. $where['user_name'] = ['like', '%' . $param['searchText'] . '%'];
  25. }
  26. // $where['user_account|user_name|user_job_number|fullname'] = ['like', '%' . $param['searchText'] . '%'];
  27. }else{
  28. return 1;
  29. }
  30. $result = db('material')->where($where)->limit($offset, $limit)->order('id', 'desc')->select();
  31. foreach($result as $key=>$vo){
  32. // 优化显示头像
  33. $result[$key]['url'] = '<img src="' . $vo['url'] . '" height="40px">';
  34. $div .= $result[$key]['url'];
  35. // 生成操作按钮
  36. $result[$key]['operate'] = $this->makeBtn($vo['id']);
  37. }
  38. // $return['total'] = db('users')->where($where)->count(); //总数据
  39. // $return['rows'] = $result;
  40. // return json($return);
  41. }
  42. //所有素材
  43. $material = db('material')->order('name', 'asc')->select();
  44. $allmaterial = '';
  45. if(!empty($material)){
  46. $allmaterial = '<div style="margin-top: 20px;">';
  47. for($i=0;$i<count($material);$i++){
  48. $allmaterial .= '<div style="width: 33.3%;height:150px;float: left;border: 1px solid red;">';
  49. $allmaterial .= '<img src="' . $material[$i]['url'] . '" height="30%">';
  50. $allmaterial .= '</div>';
  51. }
  52. $allmaterial .= '</div>';
  53. }
  54. $this->assign([
  55. 'div' => $div,
  56. 'material' => $material,
  57. 'allmaterial' => $allmaterial
  58. ]);
  59. return $this->fetch();
  60. }
  61. // 添加素材
  62. public function add()
  63. {
  64. if(request()->isPost()){
  65. $param = input('post.');
  66. unset($param['file']); // 删除layui头像上传隐藏字段
  67. // 检测图片名称
  68. $res = db('material')->where('name',$param['name'])->select();
  69. if(!empty($res)){
  70. return json(['code' => -1, 'data' => '', 'msg' => '名称已存在']);
  71. }
  72. // 检测图片
  73. if(empty($param['material'])){
  74. return json(['code' => -2, 'data' => '', 'msg' => '请上传素材']);
  75. }
  76. $info =array();
  77. $info['url'] = $param['material'];
  78. $info['name'] = $param['name'];
  79. try{
  80. db('material')->insert($info);
  81. }catch(\Exception $e){
  82. return json(['code' => -5, 'data' => '', 'msg' => $e->getMessage()]);
  83. }
  84. return json(['code' => 1, 'data' => 'material/index', 'msg' => '添加素材成功']);
  85. }
  86. $this->assign([
  87. 'status' => config('kf_status')
  88. ]);
  89. return $this->fetch('add');
  90. }
  91. // 删除素材
  92. public function del()
  93. {
  94. if(request()->isAjax()){
  95. $id = input('param.id/d');
  96. $material = db('material')->where('id',$id)->find();
  97. $name = './'.$material['url'];
  98. // $name = iconv("UTF-8", "gbk",$name);
  99. try{
  100. if (file_exists($name)) {
  101. unlink($name);
  102. }
  103. db('material')->where('id', $id)->delete();
  104. }catch(\Exception $e){
  105. return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
  106. }
  107. return json(['code' => 1, 'data' => url('material/index'), 'msg' => '删除素材成功']);
  108. }
  109. }
  110. // 上传图片(图片原名)
  111. // public function upMaterial()
  112. // {
  113. // if(request()->isAjax()) {
  114. // $file = request()->file('file');
  115. // if (!empty($file)) {
  116. // // 移动到框架应用根目录/public/static/material/ 目录下
  117. // $name = $_FILES['file']['name'];
  118. // $res = db('material')->where('url','/static/material/'.$name)->find();
  119. // if(!empty($res)){
  120. // return json(['code' => -1, 'data' => '', 'msg' => '素材已存在']);
  121. // }
  122. // //中文乱码问题
  123. // $name = iconv("UTF-8", "gbk",$name);
  124. // $info = $file->move(ROOT_PATH . 'public' . DS . 'static/material/',$savename = $name,$replace = true);
  125. // $name = iconv("gbk","UTF-8",$name);
  126. // if ($info) {
  127. // $src = '/static/material' . '/' . $name;
  128. // return json(['code' => 0, 'data' => ['src' => $src,'name' => $name], 'msg' => 'ok']);
  129. // } else {
  130. // // 上传失败获取错误信息
  131. // return json(['code' => -1, 'data' => '', 'msg' => $file->getError()]);
  132. // }
  133. // }
  134. // }
  135. // }
  136. // 上传图片
  137. public function upMaterial()
  138. {
  139. if(request()->isAjax()) {
  140. $file = request()->file('file');
  141. if (!empty($file)) {
  142. // 移动到框架应用根目录/public/uploads/ 目录下
  143. $info = $file->move(ROOT_PATH . 'public' . DS . 'static/material/');
  144. if ($info) {
  145. $src = '/static/material' . '/' . date('Ymd') . '/' . $info->getFilename();
  146. return json(['code' => 0, 'data' => ['src' => $src], 'msg' => 'ok']);
  147. } else {
  148. // 上传失败获取错误信息
  149. return json(['code' => -1, 'data' => '', 'msg' => $file->getError()]);
  150. }
  151. }
  152. }
  153. }
  154. // 生成按钮
  155. private function makeBtn($id)
  156. {
  157. // $operate = '<a href="' . url('users/edituser', ['id' => $id]) . '">';
  158. // $operate .= '<button type="button" class="btn btn-primary btn-sm"><i class="fa fa-paste"></i> 编辑</button></a> ';
  159. $operate = '<a href="javascript:resetPwd(' . $id . ')"><button type="button" class="btn btn-primary btn-sm"><i class="fa fa-paste"></i> 重置密码</button></a>';
  160. $operate .= '<a style="margin-left:5px;" href="' . url('users/editUser', ['id' => $id]) . '">';
  161. $operate .= '<button type="button" class="btn btn-primary btn-sm"><i class="fa fa-paste"></i> 编辑</button></a> ';
  162. $operate .= '<a style="margin-left:5px;" href="javascript:userDel(' . $id . ')"><button type="button" class="btn btn-danger btn-sm">';
  163. $operate .= '<i class="fa fa-trash-o"></i> 删除</button></a> ';
  164. //$operate .= '<a href="javascript:;">';
  165. //$operate .= '<button type="button" class="btn btn-info btn-sm"><i class="fa fa-institution"></i> 详情</button></a>';
  166. return $operate;
  167. }
  168. }