post(); $data['org_id'] = cur_org_id(); $result = validate($this->validateName)->check($data,[],''); if(true !== $result){ $this->error = validate($this->validateName)->getError(); return false; } if($data['type']==1){ if(empty($data['parent_id'])){ $this->error = '请选择报修类型'; return false; } } $id = $data['id']; unset($data['id']); unset($data['type']); if($id > 0){ $data['update_time'] = date('Y-m-d H:i:s'); $ret = $this->allowField(true)->save($data,['id'=>$id]); }else{ $data['create_time'] = date('Y-m-d H:i:s'); $ret = $this->allowField(true)->save($data); } if(!$ret){ $this->error = '操作失败'; return false; } return true; } //获取报修类型 public function list($orgId=0){ if($orgId==0){ $orgId = cur_org_id(); } $list =$this ->where('parent_id',0) ->where('enable',1) ->where('del',0) ->where('org_id',$orgId) ->select() ->toArray(); return $list; } //获取报修事项 public function getList($orgId=0){ if($orgId==0){ $orgId = cur_org_id(); } $list =$this ->where('parent_id','>',0) ->where('enable',1) ->where('del',0) ->where('org_id',$orgId) ->select() ->toArray(); foreach ($list as $k=>$v){ $parent_title = $this->getTableField('order_type',['id'=>$v['parent_id']],'title'); $list[$k]['title'] ='['.$parent_title.']'.$v['title']; $list[$k]['count'] = Db::name('order_repair')->where('type_id',$v['id'])->count(); } $list = list_sort_by($list,'count','desc'); return $list; } //根据订单id获报修类型和地点 public function getTypeByOrderId($orderId){ $order_repair = Db::name('order_repair') ->where('order_id',$orderId) ->find(); if($order_repair){ $info = $this->where('id',$order_repair['type_id'])->find(); $pInfo = $this->where('id',$info['parent_id'])->find(); $addressTitle = Db::name('address') ->where('id',$order_repair['address_id']) ->find(); $pInfo['address_title'] = $addressTitle['title']; $pInfo['child_title'] = $info['title']; $pInfo['type_id'] = $order_repair['type_id']; $pInfo['address_id'] = $order_repair['address_id']; $pInfo['repair_priority_index'] = $order_repair['repair_priority']; $pInfo['repair_priority'] = $order_repair['repair_priority']==1?'可延缓':($order_repair['repair_priority']==2?"普通":"紧急"); return $pInfo; } return false; } }