【駐輪場マスタ】画面修正
All checks were successful
Deploy main / deploy (push) Successful in 25s

This commit is contained in:
你的名字 2025-10-09 18:04:27 +09:00
parent 307ab7ccb2
commit b74d8fd4a8
5 changed files with 273 additions and 230 deletions

View File

@ -11,39 +11,30 @@ use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Response; use Response;
use Symfony\Component\HttpFoundation\StreamedResponse;
class ParkController extends Controller class ParkController extends Controller
{ {
public function list(Request $request) public function list(Request $request)
{ {
$query = \DB::table('park as p') $query = \DB::table('park as p')
->leftJoin('city as c', 'p.city_id', '=', 'c.city_id') ->leftJoin('city as c', 'p.city_id', '=', 'c.city_id')
->select([ ->select([
'p.park_id', 'p.*',
'c.city_name', 'c.city_name',
'p.park_name', ]);
'p.park_ruby',
'p.park_syllabary',
'p.park_adrs',
'p.park_close_flag',
'p.park_day',
'p.alert_flag',
'p.print_number',
'p.keep_alive',
'p.operator_id',
]);
if ($request->filled('park_name')) { if ($request->filled('park_name')) {
$query->where('p.park_name', 'like', '%' . $request->input('park_name') . '%'); $query->where('p.park_name', 'like', '%' . $request->input('park_name') . '%');
} }
if ($request->filled('city_id')) { if ($request->filled('city_id')) {
$query->where('p.city_id', $request->input('city_id')); $query->where('p.city_id', $request->input('city_id'));
} }
if ($request->filled('sort')) { if ($request->filled('sort')) {
$query->orderBy($request->input('sort'), $request->input('sort_type', 'asc')); $query->orderBy($request->input('sort'), $request->input('sort_type', 'asc'));
} else { } else {
$query->orderBy('p.park_id', 'asc'); $query->orderBy('p.park_id', 'asc');
} }
$parks = $query->paginate(20); $parks = $query->paginate(20);
$cities = \DB::table('city')->orderBy('city_id')->get(); $cities = \DB::table('city')->orderBy('city_id')->get();
@ -51,7 +42,7 @@ class ParkController extends Controller
$sort = $request->input('sort', 'p.park_id'); $sort = $request->input('sort', 'p.park_id');
$sort_type = $request->input('sort_type', 'asc'); $sort_type = $request->input('sort_type', 'asc');
return view('admin.parks.list', compact('parks', 'cities', 'sort', 'sort_type')); return view('admin.parks.list', compact('parks', 'cities', 'sort', 'sort_type'));
} }
public function add(Request $request) public function add(Request $request)
{ {
@ -68,6 +59,7 @@ class ParkController extends Controller
// 保存処理 // 保存処理
$park = new \App\Models\Park(); $park = new \App\Models\Park();
$park->fill($validated); $park->fill($validated);
$park->operator_id = auth()->user()->ope_id ?? 1;
$park->save(); $park->save();
return redirect()->route('parks')->with('success', '新規登録に完了しました。'); return redirect()->route('parks')->with('success', '新規登録に完了しました。');
@ -137,83 +129,81 @@ class ParkController extends Controller
return $data; return $data;
} }
public function export(Request $request)
{
$headers = array(
"Content-type" => "text/csv;charset=UTF-8",
'Content-Encoding: UTF-8',
"Content-Disposition" => "attachment; filename=file.csv",
"Pragma" => "no-cache",
"Cache-Control" => "must-revalidate, post-check=0, pre-check=0",
"Expires" => "0"
);
$inputs = [
'isMethodPost' => 0,
'isExport' => 1,
'sort' => $request->input('sort', ''),
'sort_type' => $request->input('sort_type', ''),
]; public function export(Request $request)
{
$columns = [
'駐輪場ID', '市区', '駐輪場名', '駐輪場ふりがな', '駐輪場五十音', '住所',
'閉設フラグ', '閉設日', '残警告チェックフラグ', '印字数', '最新キープアライブ',
'更新オペレータID', '更新期間開始日', '更新期間開始時', '更新期間終了日', '更新期間終了時',
'駐輪開始期間', 'リマインダー種別', 'リマインダー時間', '契約後即利用許可',
'項目表示設定:性別', '項目表示設定:生年月日', '項目表示設定:防犯登録番号',
'二点間距離', '駐車場座標(緯度)', '駐車場座標(経度)', '電話番号',
'駐輪場契約形態(定期)', '駐輪場契約形態(一時利用)', '車種制限', '手続方法', '支払方法',
'利用可能時間制限フラグ', '利用可能時間(開始)', '利用可能時間(終了)',
'常駐管理人フラグ', '常駐時間(開始)', '常駐時間(終了)',
'屋根フラグ', 'シール発行機フラグ', '駐輪場利用方法', '定期更新期間',
'空き待ち予約', '特記事項', '学生証確認種別',
'減免案内表示フラグ', '減免対象年齢', '減免案内表示開始月数', '年跨ぎ'
];
$dataExport = \DB::table('park as p') $dataExport = DB::table('park as p')
->leftJoin('city as c', 'p.city_id', '=', 'c.city_id') ->select([
->select([ 'p.park_id', 'p.city_id', 'p.park_name', 'p.park_ruby', 'p.park_syllabary', 'p.park_adrs',
'p.park_id', 'p.park_close_flag', 'p.park_day', 'p.alert_flag', 'p.print_number', 'p.keep_alive',
'c.city_name', 'p.operator_id', 'p.update_grace_period_start_date', 'p.update_grace_period_start_time',
'p.park_name', 'p.update_grace_period_end_date', 'p.update_grace_period_end_time',
'p.park_ruby', 'p.parking_start_grace_period', 'p.reminder_type', 'p.reminder_time', 'p.immediate_use_permit',
'p.park_syllabary', 'p.gender_display_flag', 'p.bd_display_flag', 'p.securityreg_display_flag',
'p.park_adrs', 'p.distance_twopoints', 'p.park_latitude', 'p.park_longitude', 'p.park_tel',
'p.park_close_flag', 'p.park_fixed_contract', 'p.park_temporary_contract', 'p.park_restriction',
'p.park_day', 'p.park_procedure', 'p.park_payment',
'p.alert_flag', 'p.park_available_time_flag', 'p.park_available_time_from', 'p.park_available_time_to',
'p.print_number', 'p.park_manager_flag', 'p.park_manager_resident_from', 'p.park_manager_resident_to',
'p.keep_alive', 'p.park_roof_flag', 'p.park_issuing_machine_flag', 'p.park_using_method',
]) 'p.park_contract_renewal_term', 'p.park_reservation', 'p.park_reference',
->orderBy('p.park_id', 'asc') 'p.student_id_confirm_type', 'p.reduction_guide_display_flag', 'p.reduction_age',
->get(); 'p.reduction_guide_display_start_month', 'p.overyear_flag'
$columns = array( ])
__('駐輪場ID '),// 0 ->orderBy('p.park_id', 'asc')
__('市区ID'),// 1 ->get();
__('市区'),// 2
__('駐輪場名'),// 3 $response = new StreamedResponse(function () use ($dataExport, $columns) {
__('駐輪場ふりがな'),// 4 $stream = fopen('php://output', 'w');
__('駐輪場五十音'),// 5 // Excel兼容 BOM
__('住所'),// 6 fwrite($stream, chr(0xEF) . chr(0xBB) . chr(0xBF));
__('閉設フラグ'),// 7 fputcsv($stream, $columns);
__('閉設フラグ'),// 8
__('閉設日'),// 9 foreach ($dataExport as $item) {
__('残警告チェックフラグ'),// 10 fputcsv($stream, [
__('印字数'),// 11 $item->park_id, $item->city_id, $item->park_name, $item->park_ruby, $item->park_syllabary, $item->park_adrs,
__('最新キープアライブ')// 12 $item->park_close_flag, $item->park_day, $item->alert_flag, $item->print_number, $item->keep_alive,
); $item->operator_id, $item->update_grace_period_start_date, $item->update_grace_period_start_time,
$filename = "駐輪場マスタ.csv"; $item->update_grace_period_end_date, $item->update_grace_period_end_time,
$file = fopen($filename, 'w+'); $item->parking_start_grace_period, $item->reminder_type, $item->reminder_time, $item->immediate_use_permit,
fputcsv($file, $columns); $item->gender_display_flag, $item->bd_display_flag, $item->securityreg_display_flag,
foreach ($dataExport as $items) { $item->distance_twopoints, $item->park_latitude, $item->park_longitude, $item->park_tel,
fputcsv( $item->park_fixed_contract, $item->park_temporary_contract, $item->park_restriction,
$file, $item->park_procedure, $item->park_payment,
array( $item->park_available_time_flag, $item->park_available_time_from, $item->park_available_time_to,
$items->park_id,// 0 $item->park_manager_flag, $item->park_manager_resident_from, $item->park_manager_resident_to,
null, // city_idselectで取得していないので空欄 $item->park_roof_flag, $item->park_issuing_machine_flag, $item->park_using_method,
$items->city_name ?? '',// 2 $item->park_contract_renewal_term, $item->park_reservation, $item->park_reference,
$items->park_name, // 3 $item->student_id_confirm_type, $item->reduction_guide_display_flag, $item->reduction_age,
$items->park_ruby, // 4 $item->reduction_guide_display_start_month, $item->overyear_flag
$items->park_syllabary, // 5 ]);
$items->park_adrs, // 6
$items->park_close_flag,// 7
($items->park_close_flag == 1 ? '閉設' : '開設'),// 8
$items->park_day,// 9
$items->alert_flag,// 10
$items->print_number,// 11
$items->keep_alive// 12
)
);
} }
fclose($file);
return Response::download($filename, $filename, $headers); fclose($stream);
} });
$response->headers->set('Content-Type', 'text/csv; charset=UTF-8');
$response->headers->set('Content-Disposition', 'attachment; filename="駐輪場マスタ.csv"');
$response->headers->set('Cache-Control', 'no-store, no-cache');
return $response;
}
public function import(Request $request) public function import(Request $request)
{ {

View File

@ -5,14 +5,6 @@
$p = $park ?? null; $p = $park ?? null;
@endphp @endphp
<style>
/* 让布局和目标图更接近 */
.form-section .col-form-label{ font-weight:600 }
.req:after{ content:" *"; color:#dc3545; }
.unit-after{ display:flex; align-items:center; gap:.5rem }
.unit-after span{ white-space:nowrap }
</style>
<div class="form-section"> <div class="form-section">
{{-- 駐輪場ID編集のみ --}} {{-- 駐輪場ID編集のみ --}}
@ -220,11 +212,11 @@
{{-- 駐輪開始期間 --}} {{-- 駐輪開始期間 --}}
<div class="form-group row"> <div class="form-group row">
<label class="col-md-2 col-form-label">駐輪開始期間</label> <label class="col-md-2 col-form-label">駐輪開始期間</label>
<div class="col-md-2 unit-after"> <div class="col-md-2 d-flex align-items-center">
<input type="number" class="form-control" name="park_start_period" <input type="number" class="form-control me-2" name="park_start_period"
value="{{ old('park_start_period',$p->park_start_period ?? 20) }}"> value="{{ old('park_start_period', $p->park_start_period ?? 20) }}">
<span></span> <span></span>
</div> </div>
</div> </div>
{{-- リマインダー 種別/時間 --}} {{-- リマインダー 種別/時間 --}}
@ -309,9 +301,9 @@
{{-- 二点間距離 / 座標 / 電話番号 --}} {{-- 二点間距離 / 座標 / 電話番号 --}}
<div class="form-group row"> <div class="form-group row">
<label class="col-md-2 col-form-label">二点間距離</label> <label class="col-md-2 col-form-label">二点間距離</label>
<div class="col-md-2 unit-after"> <div class="col-md-2 d-flex align-items-center">
<input type="number" class="form-control" name="distance_2points" <input type="number" class="form-control me-2" name="distance_2points"
value="{{ old('distance_2points',$p->distance_2points ?? 800) }}"> value="{{ old('distance_2points', $p->distance_2points ?? 800) }}">
<span>m</span> <span>m</span>
</div> </div>
</div> </div>

View File

@ -28,13 +28,6 @@
</div> </div>
</div> </div>
</div> </div>
{{-- 画面上部のツールバー(登録ボタン)
<div class="screen-toolbar mb-2">
<div class="left">
<button type="submit" form="park-add-form" class="btn btn-success btn-sm">登録</button>
</div>
<div class="right"><!-- 新規は削除無し --></div>
</div>--}}
{{-- 本体フォーム(白背景のカード) --}} {{-- 本体フォーム(白背景のカード) --}}
<form id="park-add-form" method="POST" action="{{ route('parks.store') }}" enctype="multipart/form-data" <form id="park-add-form" method="POST" action="{{ route('parks.store') }}" enctype="multipart/form-data"
@ -43,38 +36,72 @@
@include('admin.parks._form') @include('admin.parks._form')
<div class="form-footer mt-3 pt-2"> <div class="form-footer mt-3 pt-2">
<button type="button" id="register-btn" class="btn btn-success">登録</button> <button type="button" id="register-btn" class="btn btn-default">登録</button>
<a href="{{ route('parks') }}" class="btn btn-outline-secondary">戻る</a> <a href="{{ route('parks') }}" class="btn btn-default">戻る</a>
</div> </div>
</form> </form>
</div> </div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/jquery-confirm@3.3.4/css/jquery-confirm.min.css">
<script src="https://cdn.jsdelivr.net/npm/jquery-confirm@3.3.4/dist/jquery-confirm.min.js"></script>
@push('scripts') @push('scripts')
<script> <script>
document.getElementById('register-btn').addEventListener('click', function (e) { $(function () {
if (confirm('登録してよろしいですか?')) { $('#register-btn').off('click.parkConfirm').on('click.parkConfirm', function (e) {
// 重複チェック駐輪場名Ajax e.preventDefault();
const form = document.getElementById('park-add-form'); const form = document.getElementById('park-add-form');
const formData = new FormData(form); const formData = new FormData(form);
fetch('{{ route('parks.check_duplicate') }}', {
method: 'POST', const submit = function () {
headers: { fetch('{{ route('parks.check_duplicate') }}', {
'X-CSRF-TOKEN': '{{ csrf_token() }}' method: 'POST',
}, headers: {
body: formData 'X-CSRF-TOKEN': '{{ csrf_token() }}'
}) },
.then(response => response.json()) body: formData
.then(data => {
if (data.duplicate) {
alert('登録内容に重複があります。重複駐輪場ID' + data.park_id + ' 駐輪場名:' + data.park_name + '');
} else {
form.submit();
}
}) })
.catch(() => { .then(response => response.json())
alert('重複チェックに失敗しました。'); .then(data => {
if (data.duplicate) {
$.alert({
title: '重複エラー',
content: '登録内容に重複があります。<br>重複駐輪場ID' + data.park_id + '<br>駐輪場名:' + data.park_name
});
} else {
form.submit();
}
})
.catch(() => {
$.alert({
title: 'エラー',
content: '重複チェックに失敗しました。'
});
});
};
if ($.confirm) {
$.confirm({
title: '確認ダイアログ',
content: '登録してよろしいですか? はい/いいえ',
buttons: {
ok: {
text: 'はい',
btnClass: 'btn-primary',
action: function () {
form.requestSubmit();
}
},
いいえ: function () { }
}
}); });
} } else if (window.confirm('登録してよろしいですか?')) {
form.requestSubmit();
}
});
}); });
</script> </script>
@endpush @endpush

View File

@ -2,80 +2,76 @@
@section('title', '駐輪場マスタ 編集') @section('title', '駐輪場マスタ 編集')
@section('content') @section('content')
{{-- パンくず --}} {{-- パンくず --}}
<div class="content-header"> <div class="content-header">
<div class="container-fluid"> <div class="container-fluid">
<div class="row mb-2"> <div class="row mb-2">
<div class="col-lg-6"> <div class="col-lg-6">
<h1 class="m-0 text-dark">編集</h1> <h1 class="m-0 text-dark">編集</h1>
</div> </div>
<div class="col-lg-6"> <div class="col-lg-6">
<ol class="breadcrumb float-sm-right text-sm"> <ol class="breadcrumb float-sm-right text-sm">
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li> <li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
<li class="breadcrumb-item"><a href="{{ route('parks') }}">駐輪場マスタ</a></li> <li class="breadcrumb-item"><a href="{{ route('parks') }}">駐輪場マスタ</a></li>
<li class="breadcrumb-item active">編集</li> <li class="breadcrumb-item active">編集</li>
</ol> </ol>
</div> </div>
</div>
</div>
</div>
<div class="container-fluid page-park py-3">
{{-- 画面上部のツールバー(左:登録/その他、右:削除) --}}
<div class="screen-toolbar mb-2">
<div class="left">
<button type="submit" form="park-edit-form" class="btn btn-success btn-sm">登録</button>
<a href="javascript:void(0)" class="btn btn-light btn-sm">減免確認編集</a>
<a href="javascript:void(0)" class="btn btn-light btn-sm">駐輪状況編集</a>
</div>
<div class="right">
<form method="POST" action="{{ route('parks.delete', $park->park_id) }}" onsubmit="return confirm('削除しますか?')">
@csrf
<button class="btn btn-danger btn-sm">削除</button>
</form>
</div>
</div> </div>
</div>
{{-- 本体フォーム(白背景のカード) --}}
<form id="park-edit-form" method="POST" action="{{ route('parks.update', $park->park_id) }}" enctype="multipart/form-data" class="card card-body form-card">
@csrf
@method('PUT')
@include('admin.parks._form')
<div class="form-footer mt-3 pt-2">
<button class="btn btn-success">登録</button>
<a href="{{ route('parks') }}" class="btn btn-outline-secondary">戻る</a>
</div>
</form>
</div> </div>
<style> {{-- 編集フォーム --}}
<div class="card shadow">
<form id="park-edit-form" method="POST" action="{{ route('parks.update', $park->park_id) }}" enctype="multipart/form-data">
@csrf
@method('PUT')
.page-park{background:#f4f6f9;} <div class="card-header">
.form-card{ {{-- ボタンエリア(上部) --}}
border:1px solid #e5e7eb; <div class="mt-2">
box-shadow:0 1px 1px rgba(0,0,0,.04); <button type="button" class="btn btn-default mt-2 btn-submit">登録</button>
} <a href="javascript:void(0)" class="btn btn-default mt-2">減免確認編集</a>
<a href="javascript:void(0)" class="btn btn-default mt-2">駐輪状況編集</a>
<button type="button" class="btn btn-default mt-2">削除</button>
</div>
</div>
<div class="card-body">
{{-- 入力フォーム --}}
@include('admin.parks._form')
{{-- フッター(下部ボタン) --}}
<div class="form-footer mt-4 text-end">
<button type="button" class="btn btn-default btn-submit">登録</button>
<a href="{{ route('parks') }}" class="btn btn-default">戻る</a>
</div>
</div>
</form>
</div>
.screen-toolbar{display:flex;justify-content:space-between;align-items:center;} <!-- jQuery -->
.screen-toolbar .btn{border-radius:3px;padding:.35rem .7rem} <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
.screen-toolbar .btn-light{background:#fff;border:1px solid #dcdfe3;color:#333}
<!-- jQuery Confirm -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/jquery-confirm@3.3.4/css/jquery-confirm.min.css">
<script src="https://cdn.jsdelivr.net/npm/jquery-confirm@3.3.4/js/jquery-confirm.min.js"></script>
.form-group{margin-bottom:.6rem} <script>
.col-form-label{padding-top:.55rem;font-weight:600} $(function () {
.req:after{content:" *";color:#dc3545} $('.btn-submit').on('click', function () {
input.form-control,select.form-control{height:34px;padding:.25rem .5rem} $.confirm({
textarea.form-control{min-height:72px} title: '登録確認',
content: 'この内容で登録してよろしいですか?',
buttons: {
.img-thumbnail{ はい: {
border:1px dashed #d0d7de; btnClass: 'btn-primary',
background:repeating-linear-gradient(45deg,#fafafa,#fafafa 8px,#f3f4f6 8px,#f3f4f6 16px); action: function () {
} $('#park-edit-form').submit();
}
},
.form-footer{border-top:1px dashed #e9ecef} いいえ: function () {}
</style> }
});
});
});
</script>
@endsection @endsection

View File

@ -52,16 +52,12 @@
<div class="form-row mt-2"> <div class="form-row mt-2">
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<a href="{{ route('parks.add') }}" class="btn btn-default mr-2">新規</a> <a href="{{ route('parks.add') }}" class="btn btn-default mr-2">新規</a>
<a href="{{ route('parks.export') }}" class="btn btn-default">CSV出力</a> <a href="{{ route('parks.export') }}" class="btn btn-default mr-2">CSV出力</a>
</div> <button type="button" id="delete" class="btn btn-default">削除</button>
<div class="form-group col-md-6 text-right">
<button type="button" id="delete-btn" class="btn btn-default">
削除
</button>
</div> </div>
</div> </div>
<div class="table-responsive"> <div class="table-responsive">
<form id="parks-delete-form" method="POST" action="{{ route('parks.delete') }}"> <form id="form_delete" method="POST" action="{{ route('parks.delete') }}">
@csrf @csrf
<table class="table table-bordered table-hover table-sm text-nowrap"> <table class="table table-bordered table-hover table-sm text-nowrap">
<thead class="thead-light"> <thead class="thead-light">
@ -146,6 +142,54 @@
<td class='sm-item text-left'><span>{{ $park->print_number }}</span></td> <td class='sm-item text-left'><span>{{ $park->print_number }}</span></td>
<td class='sm-item text-left'><span>{{ $park->keep_alive }}</span></td> <td class='sm-item text-left'><span>{{ $park->keep_alive }}</span></td>
<td class='sm-item text-left'><span>{{ $park->operator_id ?? '' }}</span></td> <td class='sm-item text-left'><span>{{ $park->operator_id ?? '' }}</span></td>
<td class='sm-item text-left'><span>{{ $park->update_grace_period_start_date }}</span></td>
<td class='sm-item text-left'><span>{{ $park->update_grace_period_start_time }}</span></td>
<td class='sm-item text-left'><span>{{ $park->update_grace_period_end_date }}</span></td>
<td class='sm-item text-left'><span>{{ $park->update_grace_period_end_time }}</span></td>
<td class='sm-item text-left'><span>{{ $park->parking_start_grace_period }}</span></td>
<td class='sm-item text-left'>
@if($park->reminder_type === 0)
毎日
@elseif($park->reminder_type === 1)
1日おき
@elseif($park->reminder_type === 2)
2日おき
@else
未設定
@endif
</td>
<td class='sm-item text-left'><span>{{ $park->reminder_time }}</span></td>
<td class='sm-item text-left'>{{ $park->immediate_use_permit == 1 ? '許可する' : '許可しない' }}</td>
<td class='sm-item text-left'>{{ $park->gender_display_flag == 1 ? '表示する' : '表示しない' }}</td>
<td class='sm-item text-left'>{{ $park->bd_display_flag == 1 ? '表示する' : '表示しない' }}</td>
<td class='sm-item text-left'>{{ $park->securityreg_display_flag == 1 ? '表示する' : '表示しない' }}</td>
<td class='sm-item text-left'><span>{{ $park->distance_twopoints }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_latitude }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_longitude }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_tel }}</span></td>
<td class='sm-item text-left'>{{ $park->park_fixed_contract == 1 ? '定期利用可' : '定期利用不可' }}</td>
<td class='sm-item text-left'>{{ $park->park_temporary_contract == 1 ? '一時利用可' : '一時利用不可' }}</td>
<td class='sm-item text-left'><span>{{ $park->park_restriction }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_procedure }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_payment }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_available_time_flag }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_available_time_from }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_available_time_to }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_manager_flag }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_manager_resident_from }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_manager_resident_to }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_roof_flag }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_issuing_machine_flag }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_using_method }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_contract_renewal_term }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_reservation }}</span></td>
<td class='sm-item text-left'><span>{{ $park->park_reference }}</span></td>
<td class='sm-item text-left'><span>{{ $park->student_id_confirm_type }}</span></td>
<td class='sm-item text-left'><span>{{ $park->reduction_guide_display_flag }}</span></td>
<td class='sm-item text-left'><span>{{ $park->reduction_age }}</span></td>
<td class='sm-item text-left'><span>{{ $park->reduction_guide_display_start_month }}</span></td>
<td class='sm-item text-left'><span>{{ $park->overyear_flag }}</span></td>
</tr> </tr>
@endforeach @endforeach
</tbody> </tbody>
@ -174,11 +218,5 @@
}); });
} }
// 削除ボタンの確認ダイアログ
document.getElementById('delete-btn').addEventListener('click', function () {
if (confirm('削除してよろしいですか?')) {
document.getElementById('parks-delete-form').submit();
}
});
</script> </script>
@endpush @endpush