From 06756440cee6f82c8372b6a657436abdb093f02f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=A0=E7=9A=84=E5=90=8D=E5=AD=97?= <你的邮箱> Date: Fri, 31 Oct 2025 22:14:50 +0900 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=AE=9A=E6=9C=9F=E5=A5=91=E7=B4=84?= =?UTF-8?q?=E3=83=9E=E3=82=B9=E3=82=BF=E3=80=91=E7=94=BB=E9=9D=A2=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/regularcontracts/list.blade.php | 1099 +++++++---------- 1 file changed, 443 insertions(+), 656 deletions(-) diff --git a/resources/views/admin/regularcontracts/list.blade.php b/resources/views/admin/regularcontracts/list.blade.php index b8a9db6..fc45c92 100644 --- a/resources/views/admin/regularcontracts/list.blade.php +++ b/resources/views/admin/regularcontracts/list.blade.php @@ -3,639 +3,461 @@ @section('content')
-
-
-
-

定期契約マスタ

+
+
+

定期契約マスタ

+
+ +
+
+

※この画面のデータは通常変更する必要はありません。

-
- -
-
-

※この画面のデータは通常変更する必要はありません。

-
-
+
- {{-- 絞り込みフィルター(2カラム) --}} -
-
-

絞り込みフィルター

-
-
-
- @csrf - - + {{-- ▼ 絞り込みフィルター(2カラム) --}} +
+

絞り込みフィルター

+
+ + @csrf + + -
- {{-- 左カラム --}} -
-
- -
-
-
- -
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
- -
- -
-
-
- -
-
-
- -
-
-
- -
-
- -
-
-
-
+
+ {{-- 左カラム --}} +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
- {{-- 右カラム --}} -
-
- -
- -
-
-
- -
- - - -
-
-
- -
- - - -
-
-
- -
- - - -
-
-
- -
- - - -
-
-
- -
- -
-
-
- -
- -
-
-
- -
-
-
- -
-
-
- -
- -
-
+ {{-- 右カラム --}} +
+
+
+ +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+ + {{-- フィルターボタン --}} +
+ + 解除 +
+
- {{-- フィルターボタン(見た目統一) --}} -
- - 解除 + {{-- ▼ ツールバー(左:ボタン群/右:ページャ) --}} +
+
+ 新規 + + + + + +
+
+ {{ $list->appends(request()->except('page'))->links('pagination') }} +
+ + + + {{-- ▼ 一覧テーブル(freeze-table でヘッダ&左2列固定) --}} +
+ @csrf + +
+
+ + @php + $currentSort = $sort ?? 'contract_id'; + $currentDir = strtolower($sort_type ?? 'asc'); + if (!in_array($currentDir, ['asc','desc'], true)) $currentDir = 'asc'; + $sortClass = function(string $key) use($currentSort,$currentDir){ + $base = 'sorting'; + return $currentSort === $key ? $base.' '.($currentDir==='asc'?'sorting_asc':'sorting_desc') : $base; + }; + $renderSortIcon = static function(string $key){ + return ''; + }; + @endphp + + + + {{-- 操作列(チェック+編集)幅120px ※左固定のため列幅は固定推奨 --}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @php + $formatYmd = static function($v){ if(empty($v)) return ''; try{return \Illuminate\Support\Carbon::parse($v)->format('Y-m-d');}catch(\Throwable $e){return mb_substr((string)$v,0,10);} }; + $formatYmdHi = static function($v){ if(empty($v)) return ''; try{return \Illuminate\Support\Carbon::parse($v)->format('Y-m-d H:i');}catch(\Throwable $e){return mb_substr((string)$v,0,16);} }; + @endphp + + @foreach($list as $item) + + {{-- No(左固定) --}} + + + {{-- 操作列(左固定) --}} + + + {{-- 以降データ列 --}} + + + + + + @php + $userCategoryLabel = collect([$item->usertype_subject1 ?? '',$item->usertype_subject2 ?? '',$item->usertype_subject3 ?? '']) + ->filter(fn($v)=>$v!=='')->implode('/'); + @endphp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @endforeach + +
No +
+ +
+
契約ID {!! $renderSortIcon('contract_id') !!}定期契約ID {!! $renderSortIcon('contract_qr_id') !!}旧定期契約番号 {!! $renderSortIcon('old_contract_id') !!}車室番号 {!! $renderSortIcon('pplace_no') !!}利用者ID {!! $renderSortIcon('user_id') !!}利用者分類ID {!! $renderSortIcon('user_categoryid') !!}タグ・QR {!! $renderSortIcon('tag_qr_flag') !!}駐輪場ID {!! $renderSortIcon('park_id') !!}予約日時 {!! $renderSortIcon('reserve_date') !!}有効期間S {!! $renderSortIcon('contract_periods') !!}有効期間E {!! $renderSortIcon('contract_periode') !!}駐輪場所ID {!! $renderSortIcon('price_parkplaceid') !!}防犯登録番号 {!! $renderSortIcon('user_securitynum') !!}契約日時 {!! $renderSortIcon('contract_created_at') !!}更新可能日 {!! $renderSortIcon('contract_updated_at') !!}解約日時 {!! $renderSortIcon('contract_cancelday') !!}減免措置 {!! $renderSortIcon('contract_reduction') !!}定期有効月数 {!! $renderSortIcon('enable_months') !!}シール印刷可能日 {!! $renderSortIcon('printable_date') !!}請求金額 {!! $renderSortIcon('billing_amount') !!}車室割り当てフラグ {!! $renderSortIcon('pplace_allocation_flag') !!}授受日時 {!! $renderSortIcon('contract_payment_day') !!}授受金額 {!! $renderSortIcon('contract_money') !!}授受フラグ {!! $renderSortIcon('contract_flag') !!}決済トランザクションID {!! $renderSortIcon('settlement_transaction_id') !!}シール発行数 {!! $renderSortIcon('contract_seal_issue') !!}収納企業コード {!! $renderSortIcon('storage_company_code') !!}共有先収納企業コード {!! $renderSortIcon('share_storage_company_code') !!}受付番号 {!! $renderSortIcon('accept_number') !!}(更新元)契約更新済フラグ {!! $renderSortIcon('update_flag') !!}車種区分ID {!! $renderSortIcon('vehicle_type_id') !!}チェック用_フリガナ {!! $renderSortIcon('user_phonetic') !!}チェック用_居住所郵便番号 {!! $renderSortIcon('user_regident_zip') !!}チェック用_携帯電話番号 {!! $renderSortIcon('user_mobile') !!}チェック用_自宅電話番号 {!! $renderSortIcon('user_homephone') !!}チェック用_旧会員番号 {!! $renderSortIcon('old_member_number') !!}
{{ $loop->iteration }} +
+ + 編集 +
+
{{ $item->contract_id }}{{ $item->contract_qr_id }}{{ $item->old_contract_id ?? '' }}{{ $item->pplace_no ?? '' }} + @if(!empty($item->user_seq)) + + {{ trim(($item->user_id ?? '') . ' ' . ($item->user_name ?? '')) }} + + @else + {{ $item->user_id ?? '' }} + @if(!empty($item->user_name)) +
{{ $item->user_name }}
+ @endif + @endif +
{{ $userCategoryLabel ?: $item->user_categoryid }}{{ $item->tag_qr_flag ? 'QR' : 'タグ' }}{{ $item->park_id }}{{ $formatYmdHi($item->reserve_date ?? '') }}{{ $formatYmd($item->contract_periods ?? '') }}{{ $formatYmd($item->contract_periode ?? '') }}{{ $item->price_parkplaceid ?? '' }}{{ $item->user_securitynum ?? '' }}{{ $formatYmd($item->contract_created_at ?? '') }}{{ $formatYmd($item->contract_updated_at ?? '') }}{{ $formatYmd($item->contract_cancelday ?? '') }}{{ $item->contract_reduction ?? '' }}{{ $item->enable_months ?? '' }}{{ $formatYmd($item->printable_date ?? '') }}{{ isset($item->billing_amount) ? number_format($item->billing_amount) : '' }}{{ ($item->pplace_allocation_flag ?? null) === null ? '' : ($item->pplace_allocation_flag ? '割当済' : '未割当') }}{{ $formatYmd($item->contract_payment_day ?? '') }}{{ $item->contract_money ?? '' }}{{ ($item->contract_flag ?? null) === null ? '' : ($item->contract_flag ? '済' : '未') }}{{ $item->settlement_transaction_id ?? '' }}{{ $item->contract_seal_issue ?? '' }}{{ $item->storage_company_code ?? '' }}{{ $item->share_storage_company_code ?? '' }}{{ $item->accept_number ?? '' }}{{ ($item->update_flag ?? 0) ? '更新済' : '未更新' }}{{ $item->vehicle_type_id ?? '' }}{{ $item->chk_user_phonetic ?? $item->user_phonetic ?? '' }}{{ $item->user_regident_zip ?? '' }}{{ $item->user_mobile ?? '' }}{{ $item->user_homephone ?? '' }}{{ $item->old_member_number ?? '' }}
+
+
-
- - {{-- ツールバー:左=ボタン群、右=ページャ --}} -
-
- 新規 - - - - {{-- 3種のエクスポートは共通の確認モーダルを使い、data-url に出力先URLを渡す --}} - - - - - -
-
- {{ $list->appends(request()->except('page'))->links('pagination') }} -
-
- - - - {{-- 一覧テーブル --}} -
- @csrf -
- - @php - $currentSort = $sort ?? 'contract_id'; - $currentDir = strtolower($sort_type ?? 'asc'); - if (!in_array($currentDir, ['asc', 'desc'], true)) { - $currentDir = 'asc'; - } - $sortClass = function (string $key) use ($currentSort, $currentDir) { - $base = 'sorting'; - if ($currentSort === $key) { - return $base . ' ' . ($currentDir === 'asc' ? 'sorting_asc' : 'sorting_desc'); - } - return $base; - }; - @endphp - @php - $renderSortIcon = static function (string $key) { - return ''; - }; - @endphp - - - - {{-- 操作列(チェック+編集。背景色を付与) --}} - - - {{-- 表頭(要件に合わせて網羅) --}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @php - $formatYmd = static function ($value) { - if (empty($value)) { - return ''; - } - try { - return \Illuminate\Support\Carbon::parse($value)->format('Y-m-d'); - } catch (\Throwable $e) { - return mb_substr((string) $value, 0, 10); - } - }; - $formatYmdHi = static function ($value) { - if (empty($value)) { - return ''; - } - try { - return \Illuminate\Support\Carbon::parse($value)->format('Y-m-d H:i'); - } catch (\Throwable $e) { - return mb_substr((string) $value, 0, 16); - } - }; - @endphp - @foreach($list as $item) - - - - - {{-- 操作列:チェック + 編集(背景色つき) --}} - - - {{-- 先頭の並び替え列(行の contract_id を表示) --}} - - {{-- データ列 --}} - - - - - @php - $userCategoryLabel = collect([ - $item->usertype_subject1 ?? '', - $item->usertype_subject2 ?? '', - $item->usertype_subject3 ?? '', - ])->filter(fn ($v) => $v !== '')->implode('/'); - @endphp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @endforeach - -
-
- - -
-
- 契約ID {!! $renderSortIcon('contract_id') !!} - - 定期契約ID {!! $renderSortIcon('contract_qr_id') !!} - - 旧定期契約番号 {!! $renderSortIcon('old_contract_id') !!} - - 車室番号 {!! $renderSortIcon('pplace_no') !!} - - 利用者ID {!! $renderSortIcon('user_id') !!} - - 利用者分類ID {!! $renderSortIcon('user_categoryid') !!} - - タグ・QR {!! $renderSortIcon('tag_qr_flag') !!} - - 駐輪場ID {!! $renderSortIcon('park_id') !!} - - 予約日時 {!! $renderSortIcon('reserve_date') !!} - - 有効期間S {!! $renderSortIcon('contract_periods') !!} - - 有効期間E {!! $renderSortIcon('contract_periode') !!} - - 駐輪場所ID {!! $renderSortIcon('price_parkplaceid') !!} - - 防犯登録番号 {!! $renderSortIcon('user_securitynum') !!} - - 契約日時 {!! $renderSortIcon('contract_created_at') !!} - - 更新可能日 {!! $renderSortIcon('contract_updated_at') !!} - - 解約日時 {!! $renderSortIcon('contract_cancelday') !!} - - 減免措置 {!! $renderSortIcon('contract_reduction') !!} - - 定期有効月数 {!! $renderSortIcon('enable_months') !!} - - シール印刷可能日 {!! $renderSortIcon('printable_date') !!} - - 請求金額 {!! $renderSortIcon('billing_amount') !!} - - 車室割り当てフラグ {!! $renderSortIcon('pplace_allocation_flag') !!} - - 授受日時 {!! $renderSortIcon('contract_payment_day') !!} - - 授受金額 {!! $renderSortIcon('contract_money') !!} - - 授受フラグ {!! $renderSortIcon('contract_flag') !!} - - 決済トランザクションID {!! $renderSortIcon('settlement_transaction_id') !!} - - シール発行数 {!! $renderSortIcon('contract_seal_issue') !!} - - 収納企業コード {!! $renderSortIcon('storage_company_code') !!} - - 共有先収納企業コード {!! $renderSortIcon('share_storage_company_code') !!} - - 受付番号 {!! $renderSortIcon('accept_number') !!} - - (更新元)契約更新済フラグ {!! $renderSortIcon('update_flag') !!} - - 車種区分ID {!! $renderSortIcon('vehicle_type_id') !!} - - チェック用_フリガナ {!! $renderSortIcon('user_phonetic') !!} - - チェック用_居住所郵便番号 {!! $renderSortIcon('user_regident_zip') !!} - - チェック用_携帯電話番号 {!! $renderSortIcon('user_mobile') !!} - - チェック用_自宅電話番号 {!! $renderSortIcon('user_homephone') !!} - - チェック用_旧会員番号 {!! $renderSortIcon('old_member_number') !!} -
{{ $loop->iteration }} -
- - 編集 -
-
{{ $item->contract_id }}{{ $item->contract_qr_id }}{{ $item->old_contract_id ?? '' }}{{ $item->pplace_no ?? '' }} - @if(!empty($item->user_seq)) - - {{ trim(($item->user_id ?? '') . ' ' . ($item->user_name ?? '')) }} - - @else - {{ $item->user_id ?? '' }} - @if(!empty($item->user_name)) -
{{ $item->user_name }}
- @endif - @endif -
{{ $userCategoryLabel ?: $item->user_categoryid }}{{ $item->tag_qr_flag ? 'QR' : 'タグ' }}{{ $item->park_id }}{{ $formatYmdHi($item->reserve_date ?? '') }}{{ $formatYmd($item->contract_periods ?? '') }}{{ $formatYmd($item->contract_periode ?? '') }}{{ $item->price_parkplaceid ?? '' }}{{ $item->user_securitynum ?? '' }}{{ $formatYmd($item->contract_created_at ?? '') }}{{ $formatYmd($item->contract_updated_at ?? '') }}{{ $formatYmd($item->contract_cancelday ?? '') }}{{ $item->contract_reduction ?? '' }}{{ $item->enable_months ?? '' }}{{ $formatYmd($item->printable_date ?? '') }}{{ $item->billing_amount ?? '' }}{{ ($item->pplace_allocation_flag ?? null) === null ? '' : (($item->pplace_allocation_flag) ? '割当済' : '未割当') }}{{ $formatYmd($item->contract_payment_day ?? '') }}{{ $item->contract_money ?? '' }}{{ ($item->contract_flag ?? null) === null ? '' : (($item->contract_flag) ? '済' : '未') }}{{ $item->settlement_transaction_id ?? '' }}{{ $item->contract_seal_issue ?? '' }}{{ $item->storage_company_code ?? '' }}{{ $item->share_storage_company_code ?? '' }}{{ $item->accept_number ?? '' }}{{ ($item->update_flag ?? 0) ? '更新済' : '未更新' }}{{ $item->vehicle_type_id ?? '' }}{{ $item->chk_user_phonetic ?? $item->user_phonetic ?? '' }}{{ $item->user_regident_zip ?? '' }}{{ $item->user_mobile ?? '' }}{{ $item->user_homephone ?? '' }}{{ $item->old_member_number ?? '' }}
-
-
-
- {{-- インポート用モーダル(ファイル選択) --}} -