Device.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace app\h5\controller;
  3. use think\Controller;
  4. use think\Db;
  5. use think\facade\Cookie;
  6. class Device extends Controller
  7. {
  8. protected $deviceId = 0;
  9. public function __construct()
  10. {
  11. parent::__construct();
  12. $code = input('code','','trim');
  13. if($code){
  14. Cookie::set('code',$code);
  15. }
  16. $nCode = Cookie::get('code');
  17. if(!$nCode){
  18. $this->redirect(url('/h5/index/errortxt'));
  19. }
  20. $arr = get_qrcode_arr($nCode);
  21. if(!isset($arr['type'])){
  22. $this->redirect(url('/h5/index/errortxt'));
  23. }
  24. $this->deviceId = $arr['id'];
  25. }
  26. public function index(){
  27. $info = Db::name('device')
  28. ->where('id',$this->deviceId)
  29. ->find();
  30. $info['imgs'] = $info['imgs']?explode(',',$info['imgs']):[];
  31. $df = $info['device_form']?explode(',',$info['device_form']):[];
  32. $deviceForm = Db::name('device_form')->whereIn('id',$df)->column('title');
  33. $info['device_form'] = $deviceForm ? implode(',',$deviceForm):'';
  34. $users = Db::name('device_user')
  35. ->alias('du')
  36. ->join('user u','u.id=du.user_id')
  37. ->where('u.enable',1)
  38. ->where('u.del',0)
  39. ->where('du.device_id',$info['id'])
  40. ->column('u.real_name');
  41. $info['device_form'] = $deviceForm ? implode(',',$deviceForm):'';
  42. $info['users'] = $users ? implode(',',$users):'';
  43. $lists = Db::name('device_record')
  44. ->where('device_id',$this->deviceId)
  45. ->order('id desc')
  46. ->field('id,user_id,create_time')
  47. ->paginate(10,true)
  48. ->each(function($item,$key){
  49. $item['userName'] = Db::name('user')->where('id',$item['user_id'])->value('real_name');
  50. return $item;
  51. });
  52. $page = $lists->render();
  53. $this->assign('page',$page);
  54. $this->assign('lists',$lists);
  55. $this->assign('info',$info);
  56. return $this->fetch();
  57. }
  58. public function detail($id){
  59. $info = Db::name('device_record')->where('id',$id)->find();
  60. $info['userName'] = Db::name('user')->where('id',$info['user_id'])->value('real_name');
  61. $info['images'] = $info['images'] ? explode(',',$info['images']):[];
  62. $info['content'] = strip_tags($info['content']);
  63. $info['check_json'] = json_decode($info['check_json'],true);
  64. $this->assign('info',$info);
  65. return $this->fetch();
  66. }
  67. }