@extends('layouts.app') @section('title', '定期契約マスタ') @section('content')

定期契約マスタ

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

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

絞り込みフィルター

@csrf
{{-- 左カラム --}}
{{-- 右カラム --}}
{{-- フィルターボタン(見た目統一) --}}
解除
{{-- ツールバー:左=ボタン群、右=ページャ --}}
新規 {{-- 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 ?? '' }}
{{-- インポート用モーダル(ファイル選択) --}} {{-- 画面内スクリプト:インポートのファイル名表示、エクスポートのURL差し替え --}} @endsection