$this->auth->id, 'status' => $status, ]; $list = Db::name('maintain')->field('id,orderno,createtime,info,filedata,status,eva_time') ->where($map)->order('id desc') ->autopage()->select(); if(!empty($list)){ foreach($list as $key => $val){ $list[$key]['status_text'] = $this->status_data($val['status']); } } $this->success(1,$list); } public function info(){ $id = input('id',0); $map = [ 'worker_id' => $this->auth->id, 'id' => $id, ]; $info = Db::name('maintain') ->where($map) ->find(); $info['status_text'] = $this->status_data($info['status']); //追加进度 $jindu = Db::name('maintain_jindu')->field('id,title,createtime')->where('order_id',$id)->order('id desc')->select(); $info['jindu'] = $jindu; $this->success(1, $info); } //申请材料 public function shenqingcailiao(){ $order_id = input('order_id',0); $data = input('data','','htmlspecialchars_decode'); $data = json_decode($data,true); if(empty($data)){ $this->error(); } //订单 $map = [ 'worker_id' => $this->auth->id, 'id' => $order_id, ]; $info = Db::name('maintain')->where($map)->find(); if(empty($info)){ $this->error('不存在的订单'); } if($info['status'] != 50){ $this->error('状态不正确,请刷新重试'); } //准备数据 foreach($data as $key => $val){ $val['order_id'] = $info['id']; $val['company_id'] = $info['company_id']; $val['user_id'] = $info['user_id']; $val['worker_id'] = $info['worker_id']; $val['createtime'] = time(); $data[$key] = $val; } Db::startTrans(); $id = Db::name('maintain_cailiao')->insertAll($data); if(!$id){ Db::rollback(); $this->error('申请失败'); } $update = [ 'status' => 60, 'updatetime' => time(), 'cailiao_time' => time(), //材料申请时间 ]; $rs2 = Db::name('maintain')->where('id',$order_id)->update($update); if($rs2 === false){ Db::rollback(); $this->error('申请失败'); } Db::commit(); $this->success('申请成功'); } //材料计量单位 public function cailiao_danwei(){ $data = [ '个', '把', '只', ]; $this->success(1,$data); } //领取材料 public function lingqucailiao(){ $order_id = input('order_id',0); $images = input('images','','trim'); if(empty($images)){ $this->error(); } //订单 $map = [ 'worker_id' => $this->auth->id, 'id' => $order_id, ]; $info = Db::name('maintain')->where($map)->find(); if(empty($info)){ $this->error('不存在的订单'); } if($info['status'] != 60){ $this->error('状态不正确,请刷新重试'); } // $update = [ 'status' => 70, 'updatetime' => time(), 'lingqu_time' => time(), //材料申请时间 'lingqu_images' => $images, ]; $rs2 = Db::name('maintain')->where('id',$order_id)->update($update); if($rs2 === false){ $this->error('领取失败'); } $this->success('领取成功'); } //////////////////////////////循环开始/////////////////////// //立即上门 public function shangmen(){ } //新增维修进度 public function jindu_add(){ } //确认完成 public function finish(){ } //////////////////////////////循环结束/////////////////////// //状态枚举 private function status_data($status){ $data = [ 0 => '待报价', //等待初次报价 或 直接给指派师傅 2 => '已取消', 20 => '报价待审', //通过就去30,驳回就到22 22 => '报价审核驳回', //等待再次报价 30 => '用户待审', //通过就去40,驳回就到32 32 => '用户审核驳回',//等待再次报价 40 => '待指派', //报价都审核过了,可派师傅了 50 => '已选师傅', 60 => '材料已申请待领取', 70 => '材料已领取待上门', //待上门 80 => '已上门', 85 => '维修进度', 90 => '待验收', 92 => '验收驳回',//待二次上门 100 => '验收通过已完成', ]; return $data[$status]; } }