This commit is contained in:
parent
307ab7ccb2
commit
b74d8fd4a8
@ -11,39 +11,30 @@ use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Response;
|
||||
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||
|
||||
class ParkController extends Controller
|
||||
{
|
||||
public function list(Request $request)
|
||||
{
|
||||
$query = \DB::table('park as p')
|
||||
->leftJoin('city as c', 'p.city_id', '=', 'c.city_id')
|
||||
->select([
|
||||
'p.park_id',
|
||||
'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',
|
||||
]);
|
||||
public function list(Request $request)
|
||||
{
|
||||
$query = \DB::table('park as p')
|
||||
->leftJoin('city as c', 'p.city_id', '=', 'c.city_id')
|
||||
->select([
|
||||
'p.*',
|
||||
'c.city_name',
|
||||
]);
|
||||
|
||||
if ($request->filled('park_name')) {
|
||||
$query->where('p.park_name', 'like', '%' . $request->input('park_name') . '%');
|
||||
}
|
||||
if ($request->filled('city_id')) {
|
||||
$query->where('p.city_id', $request->input('city_id'));
|
||||
}
|
||||
if ($request->filled('sort')) {
|
||||
$query->orderBy($request->input('sort'), $request->input('sort_type', 'asc'));
|
||||
} else {
|
||||
$query->orderBy('p.park_id', 'asc');
|
||||
}
|
||||
if ($request->filled('park_name')) {
|
||||
$query->where('p.park_name', 'like', '%' . $request->input('park_name') . '%');
|
||||
}
|
||||
if ($request->filled('city_id')) {
|
||||
$query->where('p.city_id', $request->input('city_id'));
|
||||
}
|
||||
if ($request->filled('sort')) {
|
||||
$query->orderBy($request->input('sort'), $request->input('sort_type', 'asc'));
|
||||
} else {
|
||||
$query->orderBy('p.park_id', 'asc');
|
||||
}
|
||||
|
||||
$parks = $query->paginate(20);
|
||||
$cities = \DB::table('city')->orderBy('city_id')->get();
|
||||
@ -51,7 +42,7 @@ class ParkController extends Controller
|
||||
$sort = $request->input('sort', 'p.park_id');
|
||||
$sort_type = $request->input('sort_type', 'asc');
|
||||
return view('admin.parks.list', compact('parks', 'cities', 'sort', 'sort_type'));
|
||||
}
|
||||
}
|
||||
|
||||
public function add(Request $request)
|
||||
{
|
||||
@ -68,6 +59,7 @@ class ParkController extends Controller
|
||||
// 保存処理
|
||||
$park = new \App\Models\Park();
|
||||
$park->fill($validated);
|
||||
$park->operator_id = auth()->user()->ope_id ?? 1;
|
||||
$park->save();
|
||||
|
||||
return redirect()->route('parks')->with('success', '新規登録に完了しました。');
|
||||
@ -137,83 +129,81 @@ class ParkController extends Controller
|
||||
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')
|
||||
->leftJoin('city as c', 'p.city_id', '=', 'c.city_id')
|
||||
->select([
|
||||
'p.park_id',
|
||||
'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',
|
||||
])
|
||||
->orderBy('p.park_id', 'asc')
|
||||
->get();
|
||||
$columns = array(
|
||||
__('駐輪場ID '),// 0
|
||||
__('市区ID'),// 1
|
||||
__('市区'),// 2
|
||||
__('駐輪場名'),// 3
|
||||
__('駐輪場ふりがな'),// 4
|
||||
__('駐輪場五十音'),// 5
|
||||
__('住所'),// 6
|
||||
__('閉設フラグ'),// 7
|
||||
__('閉設フラグ'),// 8
|
||||
__('閉設日'),// 9
|
||||
__('残警告チェックフラグ'),// 10
|
||||
__('印字数'),// 11
|
||||
__('最新キープアライブ')// 12
|
||||
);
|
||||
$filename = "駐輪場マスタ.csv";
|
||||
$file = fopen($filename, 'w+');
|
||||
fputcsv($file, $columns);
|
||||
foreach ($dataExport as $items) {
|
||||
fputcsv(
|
||||
$file,
|
||||
array(
|
||||
$items->park_id,// 0
|
||||
null, // city_id(selectで取得していないので空欄)
|
||||
$items->city_name ?? '',// 2
|
||||
$items->park_name, // 3
|
||||
$items->park_ruby, // 4
|
||||
$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
|
||||
)
|
||||
);
|
||||
$dataExport = DB::table('park as p')
|
||||
->select([
|
||||
'p.park_id', 'p.city_id', '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', 'p.update_grace_period_start_date', 'p.update_grace_period_start_time',
|
||||
'p.update_grace_period_end_date', 'p.update_grace_period_end_time',
|
||||
'p.parking_start_grace_period', 'p.reminder_type', 'p.reminder_time', 'p.immediate_use_permit',
|
||||
'p.gender_display_flag', 'p.bd_display_flag', 'p.securityreg_display_flag',
|
||||
'p.distance_twopoints', 'p.park_latitude', 'p.park_longitude', 'p.park_tel',
|
||||
'p.park_fixed_contract', 'p.park_temporary_contract', 'p.park_restriction',
|
||||
'p.park_procedure', 'p.park_payment',
|
||||
'p.park_available_time_flag', 'p.park_available_time_from', 'p.park_available_time_to',
|
||||
'p.park_manager_flag', 'p.park_manager_resident_from', 'p.park_manager_resident_to',
|
||||
'p.park_roof_flag', 'p.park_issuing_machine_flag', 'p.park_using_method',
|
||||
'p.park_contract_renewal_term', 'p.park_reservation', 'p.park_reference',
|
||||
'p.student_id_confirm_type', 'p.reduction_guide_display_flag', 'p.reduction_age',
|
||||
'p.reduction_guide_display_start_month', 'p.overyear_flag'
|
||||
])
|
||||
->orderBy('p.park_id', 'asc')
|
||||
->get();
|
||||
|
||||
$response = new StreamedResponse(function () use ($dataExport, $columns) {
|
||||
$stream = fopen('php://output', 'w');
|
||||
// Excel兼容 BOM
|
||||
fwrite($stream, chr(0xEF) . chr(0xBB) . chr(0xBF));
|
||||
fputcsv($stream, $columns);
|
||||
|
||||
foreach ($dataExport as $item) {
|
||||
fputcsv($stream, [
|
||||
$item->park_id, $item->city_id, $item->park_name, $item->park_ruby, $item->park_syllabary, $item->park_adrs,
|
||||
$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,
|
||||
$item->update_grace_period_end_date, $item->update_grace_period_end_time,
|
||||
$item->parking_start_grace_period, $item->reminder_type, $item->reminder_time, $item->immediate_use_permit,
|
||||
$item->gender_display_flag, $item->bd_display_flag, $item->securityreg_display_flag,
|
||||
$item->distance_twopoints, $item->park_latitude, $item->park_longitude, $item->park_tel,
|
||||
$item->park_fixed_contract, $item->park_temporary_contract, $item->park_restriction,
|
||||
$item->park_procedure, $item->park_payment,
|
||||
$item->park_available_time_flag, $item->park_available_time_from, $item->park_available_time_to,
|
||||
$item->park_manager_flag, $item->park_manager_resident_from, $item->park_manager_resident_to,
|
||||
$item->park_roof_flag, $item->park_issuing_machine_flag, $item->park_using_method,
|
||||
$item->park_contract_renewal_term, $item->park_reservation, $item->park_reference,
|
||||
$item->student_id_confirm_type, $item->reduction_guide_display_flag, $item->reduction_age,
|
||||
$item->reduction_guide_display_start_month, $item->overyear_flag
|
||||
]);
|
||||
}
|
||||
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)
|
||||
{
|
||||
|
||||
@ -5,14 +5,6 @@
|
||||
$p = $park ?? null;
|
||||
@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">
|
||||
|
||||
{{-- 駐輪場ID(編集のみ) --}}
|
||||
@ -220,11 +212,11 @@
|
||||
{{-- 駐輪開始期間 --}}
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label">駐輪開始期間</label>
|
||||
<div class="col-md-2 unit-after">
|
||||
<input type="number" class="form-control" name="park_start_period"
|
||||
value="{{ old('park_start_period',$p->park_start_period ?? 20) }}">
|
||||
<span>日</span>
|
||||
</div>
|
||||
<div class="col-md-2 d-flex align-items-center">
|
||||
<input type="number" class="form-control me-2" name="park_start_period"
|
||||
value="{{ old('park_start_period', $p->park_start_period ?? 20) }}">
|
||||
<span>日</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- リマインダー 種別/時間 --}}
|
||||
@ -309,9 +301,9 @@
|
||||
{{-- 二点間距離 / 座標 / 電話番号 --}}
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label">二点間距離</label>
|
||||
<div class="col-md-2 unit-after">
|
||||
<input type="number" class="form-control" name="distance_2points"
|
||||
value="{{ old('distance_2points',$p->distance_2points ?? 800) }}">
|
||||
<div class="col-md-2 d-flex align-items-center">
|
||||
<input type="number" class="form-control me-2" name="distance_2points"
|
||||
value="{{ old('distance_2points', $p->distance_2points ?? 800) }}">
|
||||
<span>m</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -28,13 +28,6 @@
|
||||
</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"
|
||||
@ -43,38 +36,72 @@
|
||||
@include('admin.parks._form')
|
||||
|
||||
<div class="form-footer mt-3 pt-2">
|
||||
<button type="button" id="register-btn" class="btn btn-success">登録</button>
|
||||
<a href="{{ route('parks') }}" class="btn btn-outline-secondary">戻る</a>
|
||||
<button type="button" id="register-btn" class="btn btn-default">登録</button>
|
||||
<a href="{{ route('parks') }}" class="btn btn-default">戻る</a>
|
||||
</div>
|
||||
</form>
|
||||
</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')
|
||||
<script>
|
||||
document.getElementById('register-btn').addEventListener('click', function (e) {
|
||||
if (confirm('登録してよろしいですか?')) {
|
||||
// 重複チェック(駐輪場名)Ajax
|
||||
$(function () {
|
||||
$('#register-btn').off('click.parkConfirm').on('click.parkConfirm', function (e) {
|
||||
e.preventDefault();
|
||||
const form = document.getElementById('park-add-form');
|
||||
const formData = new FormData(form);
|
||||
fetch('{{ route('parks.check_duplicate') }}', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
body: formData
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
if (data.duplicate) {
|
||||
alert('登録内容に重複があります。(重複駐輪場ID:' + data.park_id + ' 駐輪場名:' + data.park_name + ')');
|
||||
} else {
|
||||
form.submit();
|
||||
}
|
||||
|
||||
const submit = function () {
|
||||
fetch('{{ route('parks.check_duplicate') }}', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
body: formData
|
||||
})
|
||||
.catch(() => {
|
||||
alert('重複チェックに失敗しました。');
|
||||
.then(response => response.json())
|
||||
.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>
|
||||
@endpush
|
||||
|
||||
@ -2,80 +2,76 @@
|
||||
@section('title', '駐輪場マスタ 編集')
|
||||
|
||||
@section('content')
|
||||
{{-- ▼ パンくず --}}
|
||||
<div class="content-header">
|
||||
<div class="container-fluid">
|
||||
<div class="row mb-2">
|
||||
<div class="col-lg-6">
|
||||
<h1 class="m-0 text-dark">編集</h1>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<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('parks') }}">駐輪場マスタ</a></li>
|
||||
<li class="breadcrumb-item active">編集</li>
|
||||
</ol>
|
||||
</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 class="content-header">
|
||||
<div class="container-fluid">
|
||||
<div class="row mb-2">
|
||||
<div class="col-lg-6">
|
||||
<h1 class="m-0 text-dark">編集</h1>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<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('parks') }}">駐輪場マスタ</a></li>
|
||||
<li class="breadcrumb-item active">編集</li>
|
||||
</ol>
|
||||
</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;}
|
||||
.form-card{
|
||||
border:1px solid #e5e7eb;
|
||||
box-shadow:0 1px 1px rgba(0,0,0,.04);
|
||||
}
|
||||
<div class="card-header">
|
||||
{{-- ▼ ボタンエリア(上部) --}}
|
||||
<div class="mt-2">
|
||||
<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;}
|
||||
.screen-toolbar .btn{border-radius:3px;padding:.35rem .7rem}
|
||||
.screen-toolbar .btn-light{background:#fff;border:1px solid #dcdfe3;color:#333}
|
||||
<!-- jQuery -->
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
|
||||
<!-- 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}
|
||||
.col-form-label{padding-top:.55rem;font-weight:600}
|
||||
.req:after{content:" *";color:#dc3545}
|
||||
input.form-control,select.form-control{height:34px;padding:.25rem .5rem}
|
||||
textarea.form-control{min-height:72px}
|
||||
|
||||
|
||||
.img-thumbnail{
|
||||
border:1px dashed #d0d7de;
|
||||
background:repeating-linear-gradient(45deg,#fafafa,#fafafa 8px,#f3f4f6 8px,#f3f4f6 16px);
|
||||
}
|
||||
|
||||
|
||||
.form-footer{border-top:1px dashed #e9ecef}
|
||||
</style>
|
||||
@endsection
|
||||
<script>
|
||||
$(function () {
|
||||
$('.btn-submit').on('click', function () {
|
||||
$.confirm({
|
||||
title: '登録確認',
|
||||
content: 'この内容で登録してよろしいですか?',
|
||||
buttons: {
|
||||
はい: {
|
||||
btnClass: 'btn-primary',
|
||||
action: function () {
|
||||
$('#park-edit-form').submit();
|
||||
}
|
||||
},
|
||||
いいえ: function () {}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
@ -52,16 +52,12 @@
|
||||
<div class="form-row mt-2">
|
||||
<div class="form-group col-md-6">
|
||||
<a href="{{ route('parks.add') }}" class="btn btn-default mr-2">新規</a>
|
||||
<a href="{{ route('parks.export') }}" class="btn btn-default">CSV出力</a>
|
||||
</div>
|
||||
<div class="form-group col-md-6 text-right">
|
||||
<button type="button" id="delete-btn" class="btn btn-default">
|
||||
削除
|
||||
</button>
|
||||
<a href="{{ route('parks.export') }}" class="btn btn-default mr-2">CSV出力</a>
|
||||
<button type="button" id="delete" class="btn btn-default">削除</button>
|
||||
</div>
|
||||
</div>
|
||||
<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
|
||||
<table class="table table-bordered table-hover table-sm text-nowrap">
|
||||
<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->keep_alive }}</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>
|
||||
@endforeach
|
||||
</tbody>
|
||||
@ -174,11 +218,5 @@
|
||||
});
|
||||
}
|
||||
|
||||
// 削除ボタンの確認ダイアログ
|
||||
document.getElementById('delete-btn').addEventListener('click', function () {
|
||||
if (confirm('削除してよろしいですか?')) {
|
||||
document.getElementById('parks-delete-form').submit();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
Loading…
Reference in New Issue
Block a user