/** * 获取当前操作者所具有的面审、车评、外访等权限 * 判断是否有待处理任务、和贷款状态 */ private function canModifyActions($uid, $status, $type = null) { $apply = $this->authHasAction('apply'); $face = $this->authHasAction('face'); $visit = $this->authHasAction('visit'); $car = $this->authHasAction('car'); $actions = ['apply' => false, 'face' => false, 'visit' => false, 'car' => false, 'reface' => false]; $advises = Advise::formatByType(Advise::getAdvisesByUid($uid)); if (array_key_exists('loansketch', $advises)) { $do = 'apply'; } else { if (\App\LoanStatus::needVisit($status) || \App\LoanStatus::needCarAssess($status) || array_key_exists('visit', $advises) || array_key_exists('car', $advises)) { $do = ['visit', 'car']; } else { if (\App\LoanStatus::needReface($status) || array_key_exists('face', $advises)) { $do = 'reface'; } else { if (\App\LoanStatus::needFace($status) || array_key_exists('face', $advises)) { $do = 'face'; } else { if (\App\LoanStatus::needRc($status)) { $do = 'rc'; } } } } } if ($apply and $status == \App\LoanStatus::getStatusSketch()) { $actions['apply'] = true; } if ($face and $do == 'face') { $actions['face'] = true; } else { if ($visit || $car and $do == ['visit', 'car']) { $actions['visit'] = $visit; $actions['car'] = $car; } else { if ($face and $do == 'reface') { $actions['reface'] = true; } } } if ($type) { return array_key_exists($type, $actions) ? $actions[$type] : false; } $this->view->setVars(['advises' => $advises, 'do' => $do]); return $actions; }