|
@@ -5,6 +5,7 @@ namespace App\Service;
|
|
|
|
|
|
use App\Model\BasicRollFilm;
|
|
|
use App\Model\Construction;
|
|
|
+use App\Model\Depart;
|
|
|
use App\Model\Employee;
|
|
|
use App\Model\EmployeeDepartPermission;
|
|
|
use App\Model\EmployeeTeamPermission;
|
|
@@ -44,22 +45,39 @@ class OaService extends Service
|
|
|
parent::__construct();
|
|
|
$this->user = $user;
|
|
|
}
|
|
|
- public function oaList($data)
|
|
|
+ public function oaList($data,$user)
|
|
|
{
|
|
|
-
|
|
|
$list = Oa::from('oa as o')
|
|
|
->leftjoin('sys_menu as s', 's.id', 'o.menu_id')
|
|
|
- ->select('o.id', 'o.menu_id', 'o.crt_time', 's.title')
|
|
|
- ->where('o.del_time', 0)
|
|
|
- ->where('o.channel', $this->user['depart_top'][0]['depart_id']);
|
|
|
+ ->select('o.id', 'o.menu_id', 'o.crt_time', 's.title','o.channel')
|
|
|
+ ->where('o.del_time', 0);
|
|
|
|
|
|
- $list = $this->limit($list, '', $data);
|
|
|
+ if(! empty($data['top_depart_id'])) {
|
|
|
+ $list->where('o.channel', $data['top_depart_id']);
|
|
|
+ }else{
|
|
|
+ if(! $user['is_all_depart']){
|
|
|
+ $top_depart_id = $user['depart_top'][0]['depart_id'] ?? 0;
|
|
|
+ $list->where('o.channel', $top_depart_id);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ $list = $this->limit($list, '', $data);
|
|
|
+ $list = $this->fillData($list);
|
|
|
|
|
|
return [true, $list];
|
|
|
-
|
|
|
}
|
|
|
|
|
|
+ public function fillData($data) {
|
|
|
+ if (empty($data['data'])) return $data;
|
|
|
+
|
|
|
+ $depart = Depart::whereIn('id',array_column($data['data'],'channel'))
|
|
|
+ ->pluck('title','id')
|
|
|
+ ->toArray();
|
|
|
+ foreach ($data['data'] as $key => $value){
|
|
|
+ $data['data'][$key]['top_depart_title'] = $depart[$value['channel']] ?? '';
|
|
|
+ }
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
|
|
|
public function oaDetail($data)
|
|
|
{
|