diff --git a/app/Http/Controllers/Admin/SealsController.php b/app/Http/Controllers/Admin/SealsController.php index 43a770c..51fb689 100644 --- a/app/Http/Controllers/Admin/SealsController.php +++ b/app/Http/Controllers/Admin/SealsController.php @@ -10,14 +10,61 @@ class SealsController extends Controller { public function list(Request $request) { - // ソート用パラメータを取得(デフォルト値を設定) - $sort = $request->input('sort', 'seal_issueid'); - $sort_type = $request->input('sort_type', 'desc'); + // ソート用パラメータ取得(指定がなければnull) + $sort = $request->input('sort'); + $sort_type = $request->input('sort_type', 'asc'); - // sealテーブルを参照し、ソート - $list = DB::table('seal') - ->orderBy($sort, $sort_type) - ->paginate(20); + // sealテーブルを参照し、フィルター + $query = DB::table('seal'); + + // フィルター:発行日 + $periodType = $request->input('period_type'); + $recentPeriod = $request->input('recent_period'); + $sealDayFrom = $request->input('seal_day_from'); + $sealDayTo = $request->input('seal_day_to'); + + if ($periodType === 'range' && $sealDayFrom && $sealDayTo) { + $query->whereBetween('seal_day', [$sealDayFrom, $sealDayTo]); + } elseif ($periodType === 'recent' && $recentPeriod) { + $now = date('Y-m-d'); + switch ($recentPeriod) { + case '12m': + $from = date('Y-m-d', strtotime('-12 months', strtotime($now))); + break; + case '6m': + $from = date('Y-m-d', strtotime('-6 months', strtotime($now))); + break; + case '3m': + $from = date('Y-m-d', strtotime('-3 months', strtotime($now))); + break; + case '2m': + $from = date('Y-m-d', strtotime('-2 months', strtotime($now))); + break; + case '1m': + $from = date('Y-m-d', strtotime('-1 months', strtotime($now))); + break; + case '1w': + $from = date('Y-m-d', strtotime('-1 week', strtotime($now))); + break; + default: + $from = null; + } + if (isset($from)) { + $query->where('seal_day', '>=', $from); + } + } else { + // デフォルト:直近3ヶ月 + $now = date('Y-m-d'); + $from = date('Y-m-d', strtotime('-3 months', strtotime($now))); + $query->where('seal_day', '>=', $from); + } + + // ソート指定があればorderBy、なければDB物理順 + if ($sort) { + $list = $query->orderBy($sort, $sort_type)->paginate(20); + } else { + $list = $query->paginate(20); + } return view('admin.seals.list', [ 'list' => $list, diff --git a/app/Http/Controllers/Admin/TagissueController.php b/app/Http/Controllers/Admin/TagissueController.php index 63d2e9e..e8a5c28 100644 --- a/app/Http/Controllers/Admin/TagissueController.php +++ b/app/Http/Controllers/Admin/TagissueController.php @@ -22,10 +22,10 @@ class TagissueController extends Controller ->select('user_name', 'user_regident_zip', 'user_regident_pre') ->get(); - // PDF生成(Laravel-dompdf使用例) - $pdfHtml = view('admin.tag_issue.pdf_labels', ['users' => $users])->render(); - $pdf = \PDF::loadHTML($pdfHtml); - return $pdf->download('tag_labels.pdf'); + // PDF生成(Laravel-dompdf使用例) + $pdfHtml = view('admin.tag_issue.pdf_labels', ['users' => $users])->render(); + $pdf = Pdf::setOptions(['isRemoteEnabled' => true])->loadHTML($pdfHtml); + return $pdf->download('tag_labels.pdf'); } public function list(Request $request) { diff --git a/resources/views/admin/seals/list.blade.php b/resources/views/admin/seals/list.blade.php index 61b55a5..b50b4c9 100644 --- a/resources/views/admin/seals/list.blade.php +++ b/resources/views/admin/seals/list.blade.php @@ -83,12 +83,47 @@ - - - + + + - - + + diff --git a/resources/views/admin/tag_issue/list.blade.php b/resources/views/admin/tag_issue/list.blade.php index 985cc4c..ba817b0 100644 --- a/resources/views/admin/tag_issue/list.blade.php +++ b/resources/views/admin/tag_issue/list.blade.php @@ -3,6 +3,16 @@ @section('content')
+ @if(session('success')) +
+ {{ session('success') }} +
+ @endif + @if(session('error')) +
+ {{ session('error') }} +
+ @endif

タグ発行キュー処理、履歴表示

シール発行履歴IDシール発行駐輪場定期契約ID + + シール発行履歴ID + @if($sort === 'seal_issueid') + + @endif + + + + シール発行駐輪場 + @if($sort === 'park_id') + + @endif + + + + 定期契約ID + @if($sort === 'contract_id') + + @endif + + 車種区分ID発行日発行回数 + + 発行日 + @if($sort === 'seal_day') + + @endif + + + + 発行回数 + @if($sort === 'contract_seal_issue') + + @endif + + 理由