Power.php 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. <?php defined('BASEPATH') OR exit('No direct script access allowed');
  2. class Power extends Start_Controller {
  3. public function __construct(){
  4. parent::__construct();
  5. $this->load->library('session');
  6. $this->load->_model('Model_power','power');
  7. $this->load->_model('Model_user','user');
  8. $this->load->_model('Model_nav','nav');
  9. $this->load->_model('Model_fullorderexcel','fullorderexcel');
  10. $this->load->_model('Model_fullorderexcelclassid','fullorderexcelclassid');
  11. }
  12. //定义方法的调用规则 获取URI第二段值
  13. public function _remap($arg,$arg_array)
  14. {
  15. if($arg == 'add')//添加
  16. {
  17. $this->_add();
  18. }
  19. else if($arg == 'edit')//修改
  20. {
  21. $this->_edit($arg_array);
  22. }
  23. else if($arg == 'del')//修改
  24. {
  25. $this->_del();
  26. }
  27. else if($arg == 'rows')//获取数据
  28. {
  29. $this->_rows();
  30. }
  31. else
  32. {
  33. $this->_index();
  34. }
  35. }
  36. //管理
  37. public function _index()
  38. {
  39. $user = $this->user->get_api($_SESSION['api']);
  40. $post = $this->input->post(NULL, TRUE);
  41. if(isset($post['page']))
  42. {
  43. $page = $this->input->post('page',true);
  44. $perpage = $this->input->post('perpage',true);
  45. $title = $this->input->post('title',true);
  46. $powername = $this->input->post('powername',true);
  47. $where = "own='".$user['own']."'";
  48. //数据排序
  49. $order_str = "id asc";
  50. if(empty($page))
  51. {
  52. $start = 0;
  53. $perpage = 1;
  54. }
  55. else
  56. {
  57. $start = ($page - 1)*$perpage;
  58. }
  59. if($powername)
  60. {
  61. $where .= "and powername like '%$powername%'";
  62. }
  63. if($title){
  64. $where .= "and title like '%$title%'";
  65. }
  66. //取得信息列表
  67. $info_list = $this->power->find_all($where,'id,powername,title,powertext,exceltext',$order_str,$start,$perpage);
  68. $final_list = [];
  69. foreach ($info_list as $key => $value) {
  70. $user_list = $this->user->find_all('power = "'.$value['id'].'" ' );
  71. $final_list[$key]['id'] = $value['id'];
  72. $final_list[$key]['powername'] = $value['powername'];
  73. $str = '';
  74. foreach ($user_list as $k => $v) {
  75. $str.= "<p>".$v['userid'].'</p>';
  76. }
  77. $final_list[$key]['user_list'] = $str;
  78. $final_list[$key]['title'] = $value['title'];
  79. $final_list[$key]['powertext'] = $value['powertext'];
  80. $final_list[$key]['exceltext'] = $value['exceltext'];
  81. }
  82. $total = $this->power->find_count($where);
  83. $pagenum = ceil($total/$perpage);
  84. $over = $total-($start+$perpage);
  85. $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($final_list));
  86. echo json_encode($rows);exit;
  87. }
  88. $power = $this->power->find_all();
  89. $this->data['power'] = $power;
  90. $this->_Template('power',$this->data);
  91. }
  92. //添加
  93. public function _add()
  94. {
  95. $user = $this->user->get_api($_SESSION['api']);
  96. $post = $this->input->post(NULL, TRUE);
  97. if(isset($post['powername']))
  98. {
  99. $post['powername'] = $this->input->post('powername',true);
  100. //$post['excelshop'] = $this->input->post('excelshop',true);
  101. $powertext= $this->input->post('powertext',true);
  102. $powerid = $this->input->post('powerid',true);
  103. $post['powertext'] = "|".$powertext;
  104. $post['powerid'] = "|".$powerid;
  105. $post['own'] = $user['own'];
  106. if($this->power->insert($post))
  107. {
  108. echo json_encode(array('msg'=>'添加成功','success'=>true));exit;
  109. }
  110. else
  111. {
  112. echo json_encode(array('msg'=>'添加失败,请重试','success'=>false));exit;
  113. }
  114. }
  115. $this->_Template('power_add',$this->data);
  116. }
  117. //修改
  118. public function _edit($arg_array)
  119. {
  120. $post = $this->input->post(NULL, TRUE);
  121. if(isset($post['id']))
  122. {
  123. $id = $this->input->post('id',true);
  124. $post['powername'] = $this->input->post('powername',true);
  125. $post['excelshop'] = $this->input->post('excelshop',true);
  126. $powertext= $this->input->post('powertext',true);
  127. $powerid = $this->input->post('powerid',true);
  128. $post['powertext'] = "|".ltrim($powertext,'|');
  129. $post['powerid'] = "|".ltrim($powerid,'|');
  130. $exceltext= $this->input->post('exceltext',true);
  131. $excelid = $this->input->post('excelid',true);
  132. $post['exceltext'] = "|".ltrim($exceltext,'|');
  133. $post['excelid'] = "|".ltrim($excelid,'|');
  134. if($this->power->save($post,$id))
  135. {
  136. echo json_encode(array('msg'=>'修改成功','success'=>true));exit;
  137. }
  138. else
  139. {
  140. echo json_encode(array('msg'=>'修改失败,请重试','success'=>false));exit;
  141. }
  142. }
  143. $arg_array = $arg_array[0];
  144. $power = $this->power->read($arg_array);
  145. $this->data['power'] = $power;
  146. $this->_Template('power_edit',$this->data);
  147. }
  148. //删除
  149. public function _del()
  150. {
  151. $post = $this->input->post(NULL, TRUE);
  152. if(isset($post['s']))
  153. {
  154. $id_arr = $this->input->post('s');
  155. $id_arr = explode(',',$id_arr);
  156. if(!$id_arr)
  157. {
  158. echo json_encode(array('msg'=>'参数错误!','success'=>false));exit;
  159. }
  160. //循环删除记录
  161. foreach ($id_arr as $v)
  162. {
  163. $this->power->remove($v);
  164. }
  165. echo json_encode(array('del'=>$id_arr,'msg'=>'删除记录成功!','success'=>true));
  166. }
  167. }
  168. //获取数据
  169. public function _rows()
  170. {
  171. $user = $this->user->get_api($_SESSION['api']);
  172. $post = $this->input->post(NULL, TRUE);
  173. if(isset($post['rows']))
  174. {
  175. $rows = $this->input->post('rows',true);
  176. $dataa = $this->nav->find_all('type=1 and '.$user['own'].'=1','*','sort asc');
  177. $datab = $this->nav->find_all('type=2 and '.$user['own'].'=1','*','son asc');
  178. $datac = $this->nav->find_all('type=3 and '.$user['own'].'=1','*','sort asc');
  179. $an = array();
  180. foreach ($dataa as $key=>$value)
  181. {
  182. foreach ($datab as $ke=>$va)
  183. {
  184. if($va['class'] == $value['id'])
  185. {
  186. foreach ($datac as $k=>$v)
  187. {
  188. if($v['class'] == $va['id'])
  189. {
  190. $va['cn'][]=$v;
  191. }
  192. }
  193. $value['bn'][]=$va;
  194. }
  195. }//循环出二级导航航
  196. $an[] = $value;
  197. }
  198. $power = array();
  199. if($rows != "null")
  200. {
  201. $power = $this->power->read($rows);//找出次ID的权限内容
  202. if($power['powerid'])
  203. {
  204. $power = explode('|',trim($power['powerid'],'|'));//数组化权限内容
  205. }
  206. else
  207. {
  208. $power = array();
  209. }
  210. }
  211. echo json_encode(array('msg'=>($an),'power'=>($power),'success'=>true));
  212. }
  213. else if(isset($post['excel']))
  214. {
  215. $excel = $this->input->post('excel',true);
  216. $rows = $excel;
  217. $dataa = $this->fullorderexcelclassid->find_all('1=1','*','id asc');
  218. $datab = $this->fullorderexcel->find_all('1=1','*','id asc');
  219. $an = array();
  220. foreach ($dataa as $key=>$value)
  221. {
  222. foreach ($datab as $ke=>$va)
  223. {
  224. if($va['type'] == $value['id'])
  225. {
  226. $value['bn'][]=$va;
  227. }
  228. }//循环出二级导航航
  229. $an[] = $value;
  230. }
  231. $power = array();
  232. if($rows != "null")
  233. {
  234. $power = $this->power->read($rows);//找出次ID的权限内容
  235. if($power['excelid'])
  236. {
  237. $power = explode('|',trim($power['excelid'],'|'));//数组化权限内容
  238. }
  239. else
  240. {
  241. $power = array();
  242. }
  243. }
  244. echo json_encode(array('msg'=>($an),'power'=>($power),'success'=>true));
  245. }
  246. }
  247. }