public function contractList()
{
if (!Auth::guard('admin')->user()->can('admin_yun_user_contract_list', YunUserBorrow::class)) {
return BaseController::hasPower('list');
}
$limit = (int)Input::get('limit', 15);
//查询条件
$name = Input::get('name');
$created_at = Input::get('created_at');
$work_no = Input::get('work_no');
$status = Input::get('status');
$id_no = Input::get('id_no');
//拆解一行一个止
//名字拆分
if ($name) {
$name_arr = array_unique(preg_split('/\s+/', $name));
} else {
$name_arr = [];
}
if ($work_no) {
$work_no_arr = array_unique(preg_split('/\s+/', $work_no));
} else {
$work_no_arr = [];
}
if ($id_no) {
$id_no_arr = array_unique(preg_split('/\s+/', $id_no));
} else {
$id_no_arr = [];
}
$list = ESignLog::leftjoin('yun_user_entry', 'yun_user_entry.id', '=', 'e_sign_logs.user_id')
->select('e_sign_logs.*', 'yun_user_entry.name', 'yun_user_entry.work_no')
->when($name_arr, function ($query) use ($name_arr) {
return $query->whereIn('yun_user_entry.name', $name_arr);
})->when($work_no_arr, function ($query) use ($work_no_arr) {
return $query->whereIn('yun_user_entry.work_no', $work_no_arr);
})->when($id_no_arr, function ($query) use ($id_no_arr) {
return $query->whereIn('yun_user_entry.id_no', $id_no_arr);
})
->when(isset($status), function ($query) use ($status) {
$query->where('e_sign_logs.status', $status);
})
->when($created_at, function ($query) use ($created_at) {
$created_at_time = explode('至', $created_at);
$start_day = $created_at_time[0];
$end_day = $created_at_time[1] . ' 23:59:59';
$query->where('e_sign_logs.created_at', '>=', $start_day);
$query->where('e_sign_logs.created_at', '<=', $end_day);
})
->orderBy('id', 'desc')
->paginate($limit);
if ($list) {
$list = $list->toArray();
foreach ($list['data'] as $key => $val) {
$list['data'][$key]['dst_file_path'] = asset($val['dst_file_path']);
}
}
return Response::json($list);
}