UserController.class.php.bak.20200601 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. class UserController extends ComController {
  5. public function _initialize() {
  6. parent::_initialize();
  7. $this->dbname ='User';
  8. }
  9. public function index(){
  10. $Data=I();
  11. $Group=M('auth_group');
  12. if(isset($Data['list'])){
  13. $UserVIew=M("v_user");
  14. $GetPage=$Data['pageCurrent'];//第几页
  15. $GetSize=$Data['pageSize'];//每页条数
  16. $Page=($GetPage-1)*$GetSize;
  17. $Map['status']=1;
  18. if(!empty($Data['username'])){
  19. $Map['username']=$Data['username'];
  20. }
  21. if(!empty($Data['truename'])){
  22. $Map['truename']=$Data['truename'];
  23. }
  24. if(!empty($Data['depname'])){
  25. $Map['depname']=$Data['depname'];
  26. }
  27. if(!empty($Data['posname'])){
  28. $Map['posname']=$Data['posname'];
  29. }
  30. $permdata=$this->permdata();
  31. if (!empty($permdata))
  32. {
  33. $Map['addman']=$permdata;
  34. }
  35. $Count= $UserVIew->where($Map)->count();// 查询满足要求的总记录数
  36. $List = $UserVIew->field("id,username,truename,agentid,depname,posname,phone,email,address,extension")->where($Map)
  37. ->limit($Page,$GetSize)->select();
  38. $Info = array(
  39. 'totalRow' => $Count,
  40. //'pageSize' => $count,//分页时不传
  41. 'list' => $List,
  42. );
  43. echo json_encode($Info);
  44. }else{
  45. $List1 = $Group->field('id,title,pid')->where('type=1')->select();
  46. $List2 = $Group->field('id,title,pid')->where('type=0')->select();
  47. $this->assign('role',$List1);
  48. $this->assign('group',$List2);
  49. $this->display();
  50. }
  51. }
  52. //登陆历史
  53. public function history(){
  54. $Data=I();
  55. $Group=M('auth_group');
  56. if(isset($Data['list'])){
  57. $UserVIew=M("log_iteration");
  58. $GetPage=$Data['pageCurrent'];//第几页
  59. $GetSize=$Data['pageSize'];//每页条数
  60. $Page=($GetPage-1)*$GetSize;
  61. $Map['status']=1;
  62. if(!empty($Data['username'])){
  63. $Map['username']=$Data['username'];
  64. }
  65. $Count= $UserVIew->where($Map)->count();// 查询满足要求的总记录数
  66. $List = $UserVIew->field("id,addtime,username,content,os,ip,error_count,success_count,type,address")->where($Map)
  67. ->limit($Page,$GetSize)->order('id desc')->select();
  68. $Info = array(
  69. 'totalRow' => $Count,
  70. //'pageSize' => $count,//分页时不传
  71. 'list' => $List,
  72. );
  73. echo json_encode($Info);
  74. }else{
  75. $List1 = $Group->field('id,title,pid')->where('type=1')->select();
  76. $List2 = $Group->field('id,title,pid')->where('type=0')->select();
  77. $this->assign('role',$List1);
  78. $this->assign('group',$List2);
  79. $this->display();
  80. }
  81. }
  82. /**
  83. * 检查新增前的action
  84. * @assign role array 返回页面参数(角色信息)
  85. * @assign group array 返回页面参数(部门信息)
  86. * @assign action string 返回页面参数(提交时的动作)
  87. */
  88. public function _befor_add(){
  89. $Group=M('auth_group');
  90. $map['type']=1;
  91. $Map['type']=0;
  92. $List1 = $Group->field('id,title,pid')->where($map)->select();
  93. $List2 = $Group->field('id,title,pid')->where($Map)->select();
  94. $this->assign('role',$List1);
  95. $this->assign('group',$List2);
  96. $this->assign('action','/home/user/add');
  97. }
  98. /**
  99. * 检查新增时需要编辑的字段
  100. * @param data array 页面提交的数据源,包含post|get
  101. * @return array 编辑后的数据源
  102. */
  103. public function _befor_insert($Data){
  104. $Group=M('auth_group');
  105. $RegId = $Group->field('id')->where(array('title'=> $Data['posname']))->select();
  106. $DepId = $Group->field('id')->where(array('title'=> $Data['depname']))->select();
  107. $Data['posname']=$RegId[0]['id'];
  108. $Data['depname']=$DepId[0]['id'];
  109. $Data['password']=md5(md5(I('password')));
  110. $Data['ctime']=date('Y-m-d H:i:s',time());
  111. $Data['agentid']=$Data['username'];
  112. $Data['addman']=session('zt_username');
  113. return $Data;
  114. }
  115. /**
  116. * 检查编辑前的action
  117. * @assign role array 返回页面参数(角色信息)
  118. * @assign group array 返回页面参数(部门信息)
  119. * @assign Userlist string 返回页面参数(当前id的用户信息)
  120. * @assign id int 返回页面参数(当前id)
  121. * @assign action string 返回页面参数(提交时的动作)
  122. */
  123. public function _befor_edit(){
  124. $Group=M('auth_group');
  125. $Res=M("v_user")->where(array('id'=> I('id')))->select();
  126. $map['type']=1;
  127. $Map['type']=0;
  128. $Map['id']=array('in',explode(',',$this->groupdata(session('jd_depname')).session('jd_depname')));
  129. $map['id']=array('in',explode(',',$this->groupdata(session('jd_posname')).session('jd_posname')));
  130. $List1 = $Group->field('id,title,pid')->where($map)->select();
  131. $List2 = $Group->field('id,title,pid')->where($Map)->select();
  132. // echo $list1;
  133. $this->assign('role',$List1);
  134. $this->assign('group',$List2);
  135. $this->assign('Userlist',$Res[0]);
  136. $this->assign('id',I('id'));
  137. $this->assign('action','/home/user/edit');
  138. }
  139. /**
  140. * 检查编辑时需要编辑的字段
  141. * @param data array 页面提交的数据源,包含post|get
  142. * @return array 编辑后的数据源
  143. */
  144. public function _befor_save($Data){
  145. if(empty($Data['id'])){
  146. $this->mtReturn(300,'获取id失败');
  147. }
  148. if($Data['id']==1){
  149. $this->mtReturn(300,'不可编辑超级管理员');
  150. }
  151. $Reid=M('auth_group')->field('id')->where(array('title'=> $Data['posname']))->select();
  152. $DepId =M('auth_group')->field('id')->where(array('title'=> $Data['depname']))->select();
  153. $Data['posname']=$Reid[0]['id'];
  154. $Data['depname']=$DepId[0]['id'];
  155. if (strlen(I('password'))!==32){
  156. $PassWord=md5(md5(I('password')));
  157. $Data['password']=$PassWord;
  158. }
  159. unset($Data['username']);
  160. return $Data;
  161. }
  162. /**
  163. * 检查删除时需要编辑的字段
  164. * @param data array 页面提交的数据源,包含post|get
  165. * @return array 返回相应的信息
  166. */
  167. public function _befor_del($Data){
  168. if($Data['id']==1){
  169. $this->mtReturn(300,'超级管理员不能删除');
  170. }
  171. else if($Data['id']==session('zt_uid')){
  172. $this->mtReturn(300,'不能删除自己');
  173. }
  174. }
  175. public function downdata(){//导出Excel
  176. $Data=I();
  177. $UserVIew=M("v_user");
  178. $Map['status']=1;
  179. if(!empty($Data['username'])){
  180. $Map['username']=$Data['username'];
  181. }
  182. if(!empty($Data['truename'])){
  183. $Map['truename']=$Data['truename'];
  184. }
  185. if(!empty($Data['depname'])){
  186. $Map['depname']=$Data['depname'];
  187. }
  188. if(!empty($Data['posname'])){
  189. $Map['posname']=$Data['posname'];
  190. }
  191. $permdata=$this->permdata();
  192. if (!empty($permdata))
  193. {
  194. $Map['addman']=$permdata;
  195. }
  196. $expTableData =$UserVIew->field("username,truename,extension,agentid,depname,posname,phone,email,address")->where($Map)->select();
  197. $expCellName=array('登录名','姓名','分机号','座席号','所在部门','担任角色','联系电话','电子邮箱','地址');
  198. $expTitle='用户信息';
  199. $this->exportExcel($expTitle,$expCellName,$expTableData);
  200. // echo json_encode($expTableData);
  201. }
  202. }