Repair.php 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. <?php
  2. namespace app\h5\controller;
  3. use app\common\model\Config;
  4. use app\hander\HelpHander;
  5. use think\Controller;
  6. use think\facade\Cookie;
  7. use think\Db;
  8. use think\Exception;
  9. class Repair extends Controller
  10. {
  11. private $addrId = 0;
  12. public function __construct()
  13. {
  14. parent::__construct();
  15. $code = input('code','','trim');
  16. //L3BH6B9j8phDVrwceEobkhfmbeOWnmR/1PU87Ke5fmnSrON/VERPs7fDuMDAA_dt
  17. if($code){
  18. Cookie::set('code',$code);
  19. }
  20. $nCode = Cookie::get('code');
  21. if(!$nCode){
  22. $this->redirect('/h5/index/errortxt');
  23. }
  24. $arr = get_qrcode_arr($nCode);
  25. if($arr['type'] != 'address'){
  26. $this->redirect('/h5/index/errortxt');
  27. }
  28. $this->addrId = $arr['id'];
  29. }
  30. public function index(){
  31. $addr = Db::name('address')->where('id',$this->addrId)->find();
  32. $org = Db::name('org')->where('id',$addr['org_id'])->find();
  33. $orgPhone = model('Config')->getConfig('org_phone',$addr['org_id']);
  34. $this->assign('orgPhone',explode(',',$orgPhone));
  35. $this->assign('orgName',$org['name']);
  36. return $this->fetch();
  37. }
  38. public function add(){
  39. $mode = input('mode',0);
  40. $addr = Db::name('address')->where('id',$this->addrId)->find();
  41. if(request()->isPost()){
  42. if(in_array($mode,[1,2,4])){
  43. $json = [
  44. 'user_id'=>input('user_id',0),
  45. 'org_id'=>$addr['org_id'],
  46. 'dep_id'=>input('depId/d',0),
  47. 'images'=>input('images',''),
  48. 'videos'=>input('videos',''),
  49. 'voices'=>input('voices',''),
  50. 'content'=>input('content',''),
  51. 'work_type_mode'=>input('mode/d',1),
  52. 'source_type'=>input('sourceType/d',1),
  53. 'type_id'=>input('typeId/d',0),
  54. 'address_id'=>$this->addrId,
  55. 'start'=>input('start',''),
  56. 'end'=>input('end',''),
  57. 'xq_time'=>input('xqTime',''),
  58. 'ywc_time'=>input('ywcTime',''),
  59. 'type'=>input('type',''),
  60. 'device_id'=>input('deviceId',''),
  61. 'priority'=>input('priority',''),
  62. 'bed_number'=>input('bedNumber',''),
  63. 'ba_number'=>input('baNumber',''),
  64. 'p_name'=>input('pName',''),
  65. 'gender'=>input('gender',''),
  66. 'back'=>input('back',''),
  67. 'name'=>input('name',''),
  68. 'phone'=>input('phone',''),
  69. 'address'=>input('address',''),
  70. 'isSpontaneous'=>input('isSpontaneous',0),
  71. 'house_type_id'=>input('houseTypeId',0),
  72. 'sxType'=>1
  73. ];
  74. $json['images'] = $json['images'] ? implode(',',$json['images']):'';
  75. $res = model('Orders')->addSave($json);
  76. if($res){
  77. $this->success('操作成功',url('addSuccess'));
  78. }else{
  79. $this->error(model('Orders')->getError());
  80. }
  81. }else{
  82. $info = [
  83. 'orgId'=>$addr['org_id'],
  84. 'depId'=>input('depId/d',0),
  85. 'createUserId'=>0,
  86. 'hide'=>input('hide',''),
  87. 'content'=>input('content',''),
  88. 'images'=>input('images',''),
  89. 'voices'=>input('voices',''),
  90. 'videos'=>input('videos',''),
  91. 'name'=>input('name',''),
  92. 'phone'=>input('phone',''),
  93. ];
  94. $info['images'] = $info['images'] ? implode(',',$info['images']):'';
  95. $res = model('Complain')->addSave($info);
  96. if($res){
  97. $this->success('操作成功',url('addSuccess'));
  98. }else{
  99. $this->error(model('Complain')->getError());
  100. }
  101. }
  102. }else{
  103. $list = Db::name('patrol_record')
  104. ->where('org_id',$addr['org_id'])
  105. ->where('patrol_mode',4)
  106. ->where('patrol_addr_id',$addr['id'])
  107. ->order('id desc')
  108. ->limit(5)
  109. ->select();
  110. foreach ($list as $k=>$v){
  111. $list[$k]['addrName'] = Db::name('address')->where('id',$v['patrol_addr_id'])->value('title');
  112. $list[$k]['userName'] = Db::name('user')->where('id',$v['user_id'])->value('real_name');
  113. $status = Db::name('patrol_task')->where('id',$v['patrol_task_id'])->value('status');
  114. $statusTxt = '';
  115. if($status == 0){
  116. $statusTxt = '待完成';
  117. }elseif ($status == 1){
  118. $statusTxt = '执行中';
  119. }elseif ($status == 2){
  120. $statusTxt = '已完成';
  121. }elseif ($status == 3){
  122. $statusTxt = '未完成';
  123. }elseif ($status == 5){
  124. $statusTxt = '中断';
  125. }elseif ($status == 6){
  126. $statusTxt = '已关闭';
  127. }
  128. $list[$k]['statusTxt'] = $statusTxt;
  129. $list[$k]['status'] = $status;
  130. $list[$k]['create_time'] = date('m-d H:i:s',strtotime($v['create_time']));
  131. }
  132. $this->assign('list',$list);
  133. }
  134. $title = '';
  135. if($mode == 1){
  136. $title = '维修';
  137. }elseif ($mode == 2){
  138. $title = '保洁';
  139. }elseif ($mode == 4){
  140. $title = '安保';
  141. }elseif($mode == 0){
  142. $title = '投诉';
  143. }
  144. $this->assign('mode',$mode);
  145. $this->assign('title',$title);
  146. return $this->fetch();
  147. }
  148. public function questionnaire(){
  149. $addr = Db::name('address')->where('id',$this->addrId)->find();
  150. $list = Db::name('questionnaire')
  151. ->where('org_id',$addr['org_id'])
  152. ->where('enable',1)
  153. ->where('del',0)
  154. ->order('id desc')
  155. ->select();
  156. $strs = aes_encrypt('wj',config('app.encryption_key'));
  157. foreach ($list as $k=>$v){
  158. $url = getSite().'/h5/Wj/index?id='.$v['id'].'&code='.$strs.'&orgId='.$addr['org_id'];
  159. $list[$k]['url'] = $url;
  160. }
  161. $this->assign('list',$list);
  162. return $this->fetch();
  163. }
  164. public function video(){
  165. $addr = Db::name('address')->where('id',$this->addrId)->find();
  166. $orgId = $addr['org_id'];
  167. $list = Db::name('video')
  168. ->where(function ($query) use ($orgId) {
  169. $query->where('org_id',$orgId)
  170. ->whereOr('org_id',0);
  171. })
  172. // ->where('org_id',$addr['org_id'])
  173. ->where('enable',1)
  174. ->where('del',0)
  175. ->order('id desc')
  176. ->select();
  177. $this->assign('list',$list);
  178. return $this->fetch();
  179. }
  180. public function addSuccess(){
  181. return $this->fetch();
  182. }
  183. public function record()
  184. {
  185. $addr = Db::name('address')->where('id',$this->addrId)->find();
  186. $list = Db::name('patrol_record')
  187. ->where('org_id',$addr['org_id'])
  188. ->where('patrol_mode',4)
  189. ->where('patrol_addr_id',$addr['id'])
  190. ->order('id desc')
  191. ->paginate(10,true)
  192. ->each(function($item,$key){
  193. $item['addrName'] = Db::name('address')->where('id',$item['patrol_addr_id'])->value('title');
  194. $item['userName'] = Db::name('user')->where('id',$item['user_id'])->value('real_name');
  195. $item['create_time'] = date('m-d H:i:s',strtotime($item['create_time']));
  196. $status = Db::name('patrol_task')->where('id',$item['patrol_task_id'])->value('status');
  197. $item['status'] = $status;
  198. $statusTxt = '';
  199. if($status == 0){
  200. $statusTxt = '待完成';
  201. }elseif ($status == 1){
  202. $statusTxt = '执行中';
  203. }elseif ($status == 2){
  204. $statusTxt = '已完成';
  205. }elseif ($status == 3){
  206. $statusTxt = '未完成';
  207. }elseif ($status == 5){
  208. $statusTxt = '中断';
  209. }elseif ($status == 6){
  210. $statusTxt = '已关闭';
  211. }
  212. $item['statusTxt'] = $statusTxt;
  213. return $item;
  214. });
  215. $page = $list->render();
  216. // foreach ($list as $k=>$v){
  217. // $list[$k]['addrName'] = Db::name('address')->where('id',$v['patrol_addr_id'])->value('title');
  218. // $list[$k]['userName'] = Db::name('user')->where('id',$v['user_id'])->value('real_name');
  219. // $status = Db::name('patrol_task')->where('id',$v['patrol_task_id'])->value('status');
  220. // $statusTxt = '';
  221. // if($status == 0){
  222. // $statusTxt = '待完成';
  223. // }elseif ($status == 1){
  224. // $statusTxt = '执行中';
  225. // }elseif ($status == 2){
  226. // $statusTxt = '已完成';
  227. // }elseif ($status == 3){
  228. // $statusTxt = '未完成';
  229. // }elseif ($status == 5){
  230. // $statusTxt = '中断';
  231. // }elseif ($status == 6){
  232. // $statusTxt = '已关闭';
  233. // }
  234. // $list[$k]['statusTxt'] = $statusTxt;
  235. // $list[$k]['status'] = $status;
  236. // $list[$k]['create_time'] = date('m-d H:i:s',strtotime($v['create_time']));
  237. // }
  238. $this->assign('list',$list);
  239. $this->assign('page',$page);
  240. $this->assign('title','巡检记录');
  241. return $this->fetch();
  242. }
  243. }