Operate.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <?php
  2. namespace app\green\controller;
  3. use app\common\model\SystemMember;
  4. use app\common\model\SystemUser;
  5. use app\green\model\GreenMember;
  6. use app\green\model\GreenOperate;
  7. use think\facade\Request;
  8. class Operate extends Common{
  9. public function initialize(){
  10. parent::initialize();
  11. if(!$this->founder){
  12. $this->error('您无权限操作');
  13. }
  14. $this->mini_program = ['member_miniapp_id' => $this->member_miniapp_id];
  15. $this->assign('pathMaps',[['name'=>'运营商','url'=>url("green/operate/index")]]);
  16. }
  17. /**
  18. * 列表
  19. */
  20. public function index(int $lock = 0){
  21. $where = [];
  22. if($lock){
  23. if($lock == 1){
  24. $where[] = ['is_lock' ,'=', 0];
  25. }else{
  26. $where[] = ['is_lock' ,'=', 1];
  27. }
  28. }
  29. $view['lists'] = GreenOperate::where($this->mini_program)->where($where)->order('id desc')->paginate(20);
  30. $view['operate_num'] = GreenOperate::where($this->mini_program)->count();
  31. $view['lock'] = $lock;
  32. return view()->assign($view);
  33. }
  34. //编辑
  35. public function edit(){
  36. if(request()->isAjax()){
  37. $data = [
  38. 'id' => Request::param('id/s'),
  39. 'member_miniapp_id' => $this->member_miniapp_id,
  40. 'uid' => Request::param('uid/d', 0),
  41. 'company' => Request::param('company/s'),
  42. 'address' => Request::param('address/s'),
  43. 'tel' => Request::param('tel/s'),
  44. 'operate_name' => Request::param('operate_name/s'),
  45. 'longitude' => Request::param('longitude/s'),
  46. 'latitude' => Request::param('latitude/s'),
  47. ];
  48. $validate = $this->validate($data,'GreenOperate.edit');
  49. if(true !== $validate){
  50. return enjson(0,$validate);
  51. }
  52. if(empty($data['id'])){
  53. $data['create_time'] = time();
  54. $result = GreenOperate::create($data);
  55. }else{
  56. $result = GreenOperate::where(['id' => $data['id']])->update($data);
  57. }
  58. if($result){
  59. return enjson(200,'操作成功',['url'=>url('operate/index')]);
  60. }else{
  61. return enjson(0,'操作失败');
  62. }
  63. }else{
  64. $view['info'] = GreenOperate::where($this->mini_program)->where(['id' => Request::param('id/d')])->find();
  65. return view()->assign($view);
  66. }
  67. }
  68. /**
  69. * 员工管理
  70. */
  71. public function user(int $id){
  72. $pathMaps[] = ['name' => '管理员', 'url' => 'javascript:;'];
  73. $view['list'] = GreenMember::where($this->mini_program)->where(['operate_id' => $id])->order('id desc')->paginate(20);
  74. $view['pathMaps'] = $pathMaps;
  75. $view['operate_id'] = $id;
  76. return view()->assign($view);
  77. }
  78. /**
  79. * 选择城市管理员
  80. */
  81. public function winUser(int $operate_id){
  82. if(request()->isAjax()){
  83. $ids = Request::param('ids/s');
  84. if(empty($ids)){
  85. return json(['code'=>0,'msg'=>'请选择要关联的用户']);
  86. }
  87. $ida = ids($ids,true);
  88. $data = [];
  89. foreach ($ida as $key => $value) {
  90. $data[$key]['member_miniapp_id'] = $this->member_miniapp_id;
  91. $data[$key]['member_id'] = $value;
  92. $data[$key]['operate_id'] = $operate_id;
  93. }
  94. $result = GreenMember::insertAll($data);
  95. if($result){
  96. return enjson(200,'绑定管理员成功');
  97. }else{
  98. return enjson(0,'绑定管理员失败');
  99. }
  100. }else{
  101. $result = GreenMember::where($this->mini_program)->field('member_id')->select()->toArray();
  102. $uid = [];
  103. if(!empty($result)){
  104. $uid = array_column($result,'member_id');
  105. }
  106. $view['list'] = SystemMember::whereNotIn('id',$uid)->where(['bind_member_miniapp_id' => $this->member_miniapp_id,'parent_id' => $this->user->id,'is_lock' => 0])->order('id desc')->paginate(20);
  107. $view['operate_id'] = $operate_id;
  108. return view()->assign($view);
  109. }
  110. }
  111. /**
  112. * 选择运营商管理用户
  113. */
  114. public function selectUser(){
  115. $keyword = trim(Request::param('keyword','','htmlspecialchars'));
  116. $view['list'] = SystemUser::where($this->mini_program)->whereLike('nickname','%'.$keyword.'%')->order('id desc')->limit(10)->select();
  117. $view['keyword'] = $keyword;
  118. $view['input'] = trim(Request::param('input','','htmlspecialchars'));
  119. $view['id'] = $this->member_miniapp_id;
  120. return view()->assign($view);
  121. }
  122. //删除
  123. public function userDelete(int $id){
  124. $result = GreenMember::where($this->mini_program)->where(['id' => $id])->delete();
  125. if($result){
  126. return enjson(200,'操作成功');
  127. }else{
  128. return enjson(403,'删除失败');
  129. }
  130. }
  131. /**
  132. * 是否锁定
  133. * @param integer $id 用户ID
  134. */
  135. public function isLock(int $id){
  136. $result = GreenOperate::where($this->mini_program)->where(['id' => $id])->field('is_lock')->find();
  137. if(!$result){
  138. return enjson(0,'删除失败');
  139. }else{
  140. $result->is_lock = $result->is_lock ? 0 : 1;
  141. $result->save();
  142. return enjson(200,'操作成功');
  143. }
  144. }
  145. }