diff --git a/app/Http/Controllers/Admin/ContractorListController.php b/app/Http/Controllers/Admin/ContractorListController.php index 1c6b6ac..24e68c6 100644 --- a/app/Http/Controllers/Admin/ContractorListController.php +++ b/app/Http/Controllers/Admin/ContractorListController.php @@ -101,16 +101,18 @@ class ContractorListController extends Controller $q->where('u.user_tag_serial_64','like','%'.$val.'%'); } - // 有効期限で絞る(指定日以前を抽出する= <= を使用) - if ($request->filled('contract_periode')) { - $raw = trim($request->contract_periode); - $norm = str_replace('/', '-', $raw); // スラッシュ入力を許容 - try { - $target = \Carbon\Carbon::parse($norm)->format('Y-m-d'); - // 指定日「以前」を含める - $q->whereDate('rc.contract_periode', '<=', $target); - } catch (\Exception $e) { - // 無効な日付は無視する + // 対象月 + $target = $request->input('target_month'); + if (in_array($target,['last','this','next','after2'],true)) { + $base = now()->startOfMonth(); + $offset = ['last'=>-1,'this'=>0,'next'=>1,'after2'=>2][$target]; + $m = $base->copy()->addMonths($offset); + if ($target === 'after2') { + // 2か月後「以降」を抽出(該当月の月初以降) + $q->whereDate('rc.contract_periode', '>=', $m->toDateString()); + } else { + $q->whereYear('rc.contract_periode',$m->year) + ->whereMonth('rc.contract_periode',$m->month); } } diff --git a/resources/views/admin/contractor_list/list.blade.php b/resources/views/admin/contractor_list/list.blade.php index 8e2e9ae..2b64888 100644 --- a/resources/views/admin/contractor_list/list.blade.php +++ b/resources/views/admin/contractor_list/list.blade.php @@ -94,14 +94,36 @@ -