
已经设置好考勤组但无法正常显示设置好的考勤组内容,修复方法如下,找到app/Http/Dao/Access/AssessPlanDao.php
修改方法getPlanUser改成如下所示
public function getPlanUser($plan, $uid)
{
$subUser = collect(app(FrameService::class)->getLevelSubUser((int) $uid));
$normalUids = collect(app(AdminService::class)->column(['status' => 1], 'id'));
if ($plan['assess_type']) {
$frameIds = app(AssessFrameService::class)->column(['planid' => $plan['id']], 'test_frame_id');
$validUids = collect(app(FrameAssistService::class)->column(['frame_id' => $frameIds, 'is_mastart' => 1], 'test_uid'));
} else {
$validUids = collect(app(AssessPlanUserService::class)->column(['planid' => $plan['id']], 'test_uid') ?: []);
}
$finalUids = $validUids->intersect($normalUids);
return $subUser->filter(fn($item) => $finalUids->contains($item['id']))->values()->all();
}
找到app/Http/Service/Assess/AssessPlanService.php文件,找到getEnablePeriod(=进行修改
public function getEnablePeriod(int $uid)
{
return $this->dao->select(['entid' => 1, 'status' => 1], ['period', 'id', 'assess_type'])->each(function ($item) use ($uid) {
switch ($item['period']) {
case 1:
$item['name'] = '周考核';
break;
case 2:
$item['name'] = '月考核';
break;
case 3:
$item['name'] = '年考核';
break;
case 4:
$item['name'] = '半年考核';
break;
case 5:
$item['name'] = '季度考核';
break;
}
$item['test'] = $this->dao->getPlanUser($item, $uid);
})?->toArray() ?: [];
}

