Merge branch 'main' of https://git.so-manager-dev.com/so-manager/krgm.so-manager-dev.com
All checks were successful
Deploy main / deploy (push) Successful in 24s
All checks were successful
Deploy main / deploy (push) Successful in 24s
This commit is contained in:
commit
833f07f9bc
@ -49,9 +49,21 @@ class CityController extends Controller
|
||||
|
||||
if ($request->isMethod('POST')) {
|
||||
$rules = [
|
||||
'city_name' => 'required|string|max:255',
|
||||
'city_name' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'], // 全角のみ
|
||||
'print_layout' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'], // 全角のみ
|
||||
'city_user' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'], // 全角のみ
|
||||
'city_remarks' => ['nullable', 'string', 'max:20'], // 全角半角可・任意
|
||||
];
|
||||
$validator = Validator::make($request->all(), $rules);
|
||||
$messages = [
|
||||
'city_name.required' => '市区名は必須です。',
|
||||
'city_name.regex' => '市区名は全角で入力してください。',
|
||||
'print_layout.required' => '印字レイアウトファイルは必須です。',
|
||||
'print_layout.regex' => '印字レイアウトファイルは全角で入力してください。',
|
||||
'city_user.required' => '顧客M入力不要フィールドIDは必須です。',
|
||||
'city_user.regex' => '顧客M入力不要フィールドIDは全角で入力してください。',
|
||||
'city_remarks.max' => '備考は20文字以内で入力してください。',
|
||||
];
|
||||
$validator = Validator::make($request->all(), $rules, $messages);
|
||||
|
||||
$inputs = array_merge($inputs, $request->all());
|
||||
|
||||
@ -91,9 +103,21 @@ class CityController extends Controller
|
||||
|
||||
if ($request->isMethod('POST')) {
|
||||
$rules = [
|
||||
'city_name' => 'required|string|max:255',
|
||||
'city_name' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'],
|
||||
'print_layout' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'],
|
||||
'city_user' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'],
|
||||
'city_remarks' => ['nullable', 'string', 'max:20'],
|
||||
];
|
||||
$validator = Validator::make($request->all(), $rules);
|
||||
$messages = [
|
||||
'city_name.required' => '市区名は必須です。',
|
||||
'city_name.regex' => '市区名は全角で入力してください。',
|
||||
'print_layout.required' => '印字レイアウトファイルは必須です。',
|
||||
'print_layout.regex' => '印字レイアウトファイルは全角で入力してください。',
|
||||
'city_user.required' => '顧客M入力不要フィールドIDは必須です。',
|
||||
'city_user.regex' => '顧客M入力不要フィールドIDは全角で入力してください。',
|
||||
'city_remarks.max' => '備考は20文字以内で入力してください。',
|
||||
];
|
||||
$validator = Validator::make($request->all(), $rules, $messages);
|
||||
|
||||
if (!$validator->fails()) {
|
||||
$city->fill($request->only([
|
||||
@ -130,7 +154,10 @@ class CityController extends Controller
|
||||
public function delete(Request $request)
|
||||
{
|
||||
$arr_pk = $request->get('pk');
|
||||
if ($arr_pk && City::destroy($arr_pk)) {
|
||||
if (!$arr_pk) {
|
||||
return redirect()->route('city')->with('error', __('削除する市区を選択してください。'));
|
||||
}
|
||||
if (City::destroy($arr_pk)) {
|
||||
return redirect()->route('city')->with('success', __("削除が完了しました。"));
|
||||
} else {
|
||||
return redirect()->route('city')->with('error', __('削除に失敗しました。'));
|
||||
|
||||
@ -30,6 +30,7 @@ class ParkController extends Controller
|
||||
'p.alert_flag',
|
||||
'p.print_number',
|
||||
'p.keep_alive',
|
||||
'p.operator_id',
|
||||
]);
|
||||
|
||||
if ($request->filled('park_name')) {
|
||||
@ -69,7 +70,7 @@ class ParkController extends Controller
|
||||
$park->fill($validated);
|
||||
$park->save();
|
||||
|
||||
return redirect()->route('parks')->with('success', '登録しました');
|
||||
return redirect()->route('parks')->with('success', '新規登録に完了しました。');
|
||||
}
|
||||
|
||||
return view('admin.parks.add', [
|
||||
|
||||
@ -4,21 +4,21 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="city_name">市区名</label>
|
||||
<input type="text" name="city_name" id="city_name" class="form-control" value="{{ old('city_name', $city->city_name ?? '') }}" required>
|
||||
<label for="city_name">市区名 <span class="text-danger">*</span></label>
|
||||
<input type="text" name="city_name" id="city_name" class="form-control" value="{{ old('city_name', $city->city_name ?? '') }}" required maxlength="10" pattern="[^ -~。-゚]+" title="全角で入力してください">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="print_layout">印字レイアウトファイル</label>
|
||||
<input type="text" name="print_layout" id="print_layout" class="form-control" value="{{ old('print_layout', $city->print_layout ?? '') }}">
|
||||
<label for="print_layout">印字レイアウトファイル <span class="text-danger">*</span></label>
|
||||
<input type="text" name="print_layout" id="print_layout" class="form-control" value="{{ old('print_layout', $city->print_layout ?? '') }}" required maxlength="10" pattern="[^ -~。-゚]+" title="全角で入力してください">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="city_user">顧客M入力不要フィールドID</label>
|
||||
<input type="text" name="city_user" id="city_user" class="form-control" value="{{ old('city_user', $city->city_user ?? '') }}">
|
||||
<label for="city_user">顧客M入力不要フィールドID <span class="text-danger">*</span></label>
|
||||
<input type="text" name="city_user" id="city_user" class="form-control" value="{{ old('city_user', $city->city_user ?? '') }}" required maxlength="10" pattern="[^ -~。-゚]+" title="全角で入力してください">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="city_remarks">備考</label>
|
||||
<textarea name="city_remarks" id="city_remarks" class="form-control" rows="3">{{ old('city_remarks', $city->city_remarks ?? '') }}</textarea>
|
||||
<textarea name="city_remarks" id="city_remarks" class="form-control" rows="3" maxlength="20">{{ old('city_remarks', $city->city_remarks ?? '') }}</textarea>
|
||||
</div>
|
||||
|
||||
@ -1,43 +1,27 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title', '[東京都|〇〇駐輪場] マスタ管理')
|
||||
|
||||
@section('content')
|
||||
<!-- Content Header (Page header) -->
|
||||
<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><!-- /.col -->
|
||||
<div class="col-lg-6">
|
||||
<ol class="breadcrumb float-sm-right text-sm">
|
||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item">マスタ管理</li>
|
||||
<li class="breadcrumb-item active">市区マスタ</li>
|
||||
</ol>
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.container-fluid -->
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h3 class="mb-0">新規登録</h3>
|
||||
<ol class="breadcrumb float-sm-right text-sm mb-0" style="background: #f8f9fa;">
|
||||
<li class="breadcrumb-item"><a href="{{ url('/home') }}">ホーム</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ route('city') }}">市区マスタ</a></li>
|
||||
<li class="breadcrumb-item active">新規</li>
|
||||
</ol>
|
||||
</div>
|
||||
<!-- /.content-header -->
|
||||
|
||||
<div class="container-fluid">
|
||||
<h1 class="h4 mb-4 text-gray-800">市区マスタ 新規登録</h1>
|
||||
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-body">
|
||||
<form method="POST" action="{{ route('city_add') }}">
|
||||
@csrf
|
||||
@include('admin.CityMaster._form', ['isEdit' => 0, 'isInfo' => 0])
|
||||
<div class="mt-3">
|
||||
<button type="submit" class="btn btn-primary"
|
||||
onclick="return confirm('登録してよろしいですか?');">登録</button>
|
||||
<a href="{{ route('city') }}" class="btn btn-secondary">戻る</a>
|
||||
</div>
|
||||
</form>
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-body">
|
||||
<form method="POST" action="{{ route('city_add') }}">
|
||||
@csrf
|
||||
@include('admin.CityMaster._form', ['isEdit' => 0, 'isInfo' => 0])
|
||||
<div class="mt-3">
|
||||
<button type="submit" class="btn btn-primary" onclick="return confirm('登録してよろしいですか?');">登録</button>
|
||||
<a href="{{ route('city') }}" class="btn btn-secondary">戻る</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@endsection
|
||||
@ -3,31 +3,18 @@
|
||||
@section('title', '市区マスタ編集')
|
||||
|
||||
@section('content')
|
||||
<!-- Content Header (Page header) -->
|
||||
<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="{{ url('/home') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="#">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item">マスタ管理</li>
|
||||
<li class="breadcrumb-item active">市区マスタ</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.content-header -->
|
||||
|
||||
<!-- Main content -->
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<h1 class="h5 mb-4">市区マスタ 編集</h1>
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h3 class="mb-0">編集</h3>
|
||||
<ol class="breadcrumb float-sm-right text-sm mb-0" style="background: #f8f9fa;">
|
||||
<li class="breadcrumb-item"><a href="{{ url('/home') }}">ホーム</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ route('city') }}">市区マスタ</a></li>
|
||||
<li class="breadcrumb-item active">編集</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
@includeIf('common.flash')
|
||||
|
||||
<div class="card shadow mb-4">
|
||||
|
||||
@ -3,6 +3,14 @@
|
||||
@section('title', '市区マスタ')
|
||||
|
||||
@section('content')
|
||||
{{-- ▼ フラッシュメッセージ --}}
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success">{{ session('success') }}</div>
|
||||
@endif
|
||||
@if(session('error'))
|
||||
<div class="alert alert-danger">{{ session('error') }}</div>
|
||||
@endif
|
||||
|
||||
<!-- Content Header (Page header) -->
|
||||
<div class="content-header">
|
||||
<div class="container-fluid">
|
||||
@ -40,10 +48,8 @@
|
||||
<tr>
|
||||
<th><input type="checkbox"
|
||||
onclick="$('input[name*=\'pk\']').prop('checked', this.checked);"></th>
|
||||
<th></th>
|
||||
<th>
|
||||
<a
|
||||
href="{{ route('city', array_merge(request()->all(), ['sort' => 'city_id', 'sort_type' => $sort === 'city_id' && $sort_type === 'asc' ? 'desc' : 'asc'])) }}">
|
||||
<a href="{{ route('city', array_merge(request()->all(), ['sort' => 'city_id', 'sort_type' => $sort === 'city_id' && $sort_type === 'asc' ? 'desc' : 'asc'])) }}">
|
||||
市区ID
|
||||
@if($sort === 'city_id')
|
||||
<i class="fa fa-sort-{{ $sort_type }}"></i>
|
||||
@ -51,8 +57,7 @@
|
||||
</a>
|
||||
</th>
|
||||
<th>
|
||||
<a
|
||||
href="{{ route('city', array_merge(request()->all(), ['sort' => 'city_name', 'sort_type' => $sort === 'city_name' && $sort_type === 'asc' ? 'desc' : 'asc'])) }}">
|
||||
<a href="{{ route('city', array_merge(request()->all(), ['sort' => 'city_name', 'sort_type' => $sort === 'city_name' && $sort_type === 'asc' ? 'desc' : 'asc'])) }}">
|
||||
市区名
|
||||
@if($sort === 'city_name')
|
||||
<i class="fa fa-sort-{{ $sort_type }}"></i>
|
||||
@ -69,15 +74,13 @@
|
||||
<tr>
|
||||
<td style="background: #faebd7;">
|
||||
<input type="checkbox" name="pk[]" value="{{ $city->city_id }}">
|
||||
<a href="{{ route('city_edit', ['id' => $city->city_id]) }}"
|
||||
class="btn btn-sm btn-outline-primary ml-2">編集</a>
|
||||
<a href="{{ route('city_edit', ['id' => $city->city_id]) }}" class="btn btn-sm btn-outline-primary ml-2">編集</a>
|
||||
</td>
|
||||
<td>{{ $city->city_id }}</td>
|
||||
<td>{{ $city->city_name }}</td>
|
||||
<td>{{ $city->print_layout }}</td>
|
||||
<td>{{ $city->city_user }}</td>
|
||||
<td>{{ $city->city_remarks }}</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
||||
@ -26,10 +26,15 @@
|
||||
<div class="alert alert-danger"><ul class="mb-0">@foreach($errors->all() as $e)<li>{{ $e }}</li>@endforeach</ul></div>
|
||||
@endif
|
||||
|
||||
{{-- ▼ 成功メッセージ表示 --}}
|
||||
@if (session('success'))
|
||||
<div class="alert alert-success">{{ session('success') }}</div>
|
||||
@endif
|
||||
|
||||
{{-- ▼ 入力フォーム --}}
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form method="post" action="{{ route('news_add') }}">
|
||||
<form method="post" action="{{ route('news_add') }}" id="news-add-form">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<label>ニュース内容 <span class="text-danger">*</span></label>
|
||||
@ -63,7 +68,7 @@
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<a href="{{ route('news') }}" class="btn btn-outline-secondary">戻る</a>
|
||||
<button class="btn btn-primary">登録</button>
|
||||
<button type="button" class="btn btn-primary" id="register-btn">登録</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@ -71,3 +76,14 @@
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
// 登録ボタン押下時に確認ダイアログ
|
||||
document.getElementById('register-btn').addEventListener('click', function(e) {
|
||||
if (confirm('登録してよろしいですか?')) {
|
||||
document.getElementById('news-add-form').submit();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@ -2,68 +2,141 @@
|
||||
@section('title', '駐輪場マスタ 新規')
|
||||
|
||||
@section('content')
|
||||
<div class="container-fluid page-park py-3">
|
||||
|
||||
{{-- 画面上部のツールバー(新規は登録だけ/目标图一致) --}}
|
||||
<div class="screen-toolbar mb-2">
|
||||
<div class="left">
|
||||
<button type="submit" form="park-add-form" class="btn btn-success btn-sm">登録</button>
|
||||
<div class="container-fluid page-park py-3">
|
||||
|
||||
{{-- ▼ 成功メッセージ表示 --}}
|
||||
@if (session('success'))
|
||||
<div class="alert alert-success">{{ session('success') }}</div>
|
||||
@endif
|
||||
|
||||
|
||||
{{-- ▼ パンくず --}}
|
||||
<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="right"><!-- 新規は削除無し --></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"
|
||||
class="card card-body form-card">
|
||||
@csrf
|
||||
@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>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{{-- 本体フォーム(白背景のカード) --}}
|
||||
<form id="park-add-form" method="POST" action="{{ route('parks.store') }}" enctype="multipart/form-data" class="card card-body form-card">
|
||||
@csrf
|
||||
@include('admin.parks._form')
|
||||
@push('scripts')
|
||||
<script>
|
||||
document.getElementById('register-btn').addEventListener('click', function (e) {
|
||||
if (confirm('登録してよろしいですか?')) {
|
||||
// 重複チェック(駐輪場名)Ajax
|
||||
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();
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
alert('重複チェックに失敗しました。');
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
<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>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<style>
|
||||
.page-park {
|
||||
background: #f4f6f9;
|
||||
}
|
||||
|
||||
<script>
|
||||
document.getElementById('register-btn').addEventListener('click', function(e) {
|
||||
if(confirm('登録してよろしいですか?')) {
|
||||
// 重複チェック(駐輪場名)Ajax
|
||||
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();
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
alert('重複チェックに失敗しました。');
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
.form-card {
|
||||
border: 1px solid #e5e7eb;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, .04)
|
||||
}
|
||||
|
||||
<style>
|
||||
.page-park{background:#f4f6f9;}
|
||||
.form-card{border:1px solid #e5e7eb;box-shadow:0 1px 1px rgba(0,0,0,.04)}
|
||||
.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}
|
||||
.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
|
||||
.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
|
||||
}
|
||||
|
||||
.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
|
||||
@ -2,6 +2,23 @@
|
||||
@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">
|
||||
|
||||
{{-- 画面上部のツールバー(左:登録/その他、右:削除) --}}
|
||||
|
||||
@ -2,9 +2,17 @@
|
||||
|
||||
@section('content')
|
||||
<div class="container-fluid pt-4">
|
||||
{{-- ▼ フラッシュメッセージ --}}
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success">{{ session('success') }}</div>
|
||||
@endif
|
||||
@if(session('error'))
|
||||
<div class="alert alert-danger">{{ session('error') }}</div>
|
||||
@endif
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h3 class="mb-0">駐輪場マスタ</h3>
|
||||
<ol class="breadcrumb float-sm-right text-sm mb-0"style="background: #f8f9fa;">
|
||||
<ol class="breadcrumb float-sm-right text-sm mb-0" style="background: #f8f9fa;">
|
||||
<li class="breadcrumb-item"><a href="{{ url('/home') }}">ホーム</a></li>
|
||||
<li class="breadcrumb-item active">駐輪場マスタ</li>
|
||||
</ol>
|
||||
@ -67,10 +75,10 @@
|
||||
<th>住所</th>
|
||||
<th>閉設フラグ</th>
|
||||
<th>閉設日</th>
|
||||
<th>価格メモ</th>
|
||||
<th>残警告チェックフラグ</th>
|
||||
<th>印字数</th>
|
||||
<th>最新キープアライブ</th>
|
||||
<th>更新オペレータID</th>
|
||||
<th>更新期間開始日</th>
|
||||
<th>更新期間開始時</th>
|
||||
<th>更新期間終了日</th>
|
||||
@ -118,25 +126,26 @@
|
||||
<a href="{{ route('parks.edit', ['id' => $park->park_id]) }}"
|
||||
class="btn btn-sm btn-outline-primary ml-2">編集</a>
|
||||
</td>
|
||||
<td class='sm-item text-left'><span>{{ $park->park_id }}</span></td>
|
||||
<td class='sm-item text-right'><span>{{ $park->city_name }}</span></td>
|
||||
<td class='sm-item text-right'><span>{{ $park->park_name }}</span></td>
|
||||
<td class='sm-item text-right'><span>{{ $park->park_ruby }}</span></td>
|
||||
<td class='sm-item text-left'><span>{{ $park->park_syllabary }}</span></td>
|
||||
<td class='sm-item text-right'><span>{{ $park->park_adrs }}</span></td>
|
||||
<td class='sm-item text-right'>
|
||||
<span>
|
||||
@if($park->park_close_flag == 1)
|
||||
閉設
|
||||
@else
|
||||
営業中
|
||||
@endif
|
||||
</span>
|
||||
</td>
|
||||
<td class='sm-item text-right'><span>{{ $park->park_day }}</span></td>
|
||||
<td class='sm-item text-left'><span>{{ $park->alert_flag }}</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->park_id }}</span></td>
|
||||
<td class='sm-item text-right'><span>{{ $park->city_name }}</span></td>
|
||||
<td class='sm-item text-right'><span>{{ $park->park_name }}</span></td>
|
||||
<td class='sm-item text-right'><span>{{ $park->park_ruby }}</span></td>
|
||||
<td class='sm-item text-left'><span>{{ $park->park_syllabary }}</span></td>
|
||||
<td class='sm-item text-right'><span>{{ $park->park_adrs }}</span></td>
|
||||
<td class='sm-item text-right'>
|
||||
<span>
|
||||
@if($park->park_close_flag == 1)
|
||||
閉設
|
||||
@else
|
||||
営業中
|
||||
@endif
|
||||
</span>
|
||||
</td>
|
||||
<td class='sm-item text-right'><span>{{ $park->park_day }}</span></td>
|
||||
<td class='sm-item text-left'><span>{{ $park->alert_flag }}</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->operator_id ?? '' }}</span></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
@ -150,32 +159,23 @@
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="container-fluid pt-4">
|
||||
{{-- ここにテーブルやフォーム --}}
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
// チェックボックス全選択
|
||||
document.getElementById('check_all')?.addEventListener('change', function () {
|
||||
document.querySelectorAll('.row_checkbox').forEach(cb => {
|
||||
cb.checked = this.checked;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
<script>
|
||||
$('#check_all').on('change', function () {
|
||||
$('.row_checkbox').prop('checked', this.checked);
|
||||
// チェックボックス全選択
|
||||
document.getElementById('check_all')?.addEventListener('change', function () {
|
||||
document.querySelectorAll('.row_checkbox').forEach(cb => {
|
||||
cb.checked = this.checked;
|
||||
});
|
||||
});
|
||||
|
||||
// jQuery fallback(もしjQueryが使われていれば)
|
||||
if (window.$) {
|
||||
$('#check_all').on('change', function () {
|
||||
$('.row_checkbox').prop('checked', this.checked);
|
||||
});
|
||||
}
|
||||
|
||||
// 削除ボタンの確認ダイアログ
|
||||
document.getElementById('delete-btn').addEventListener('click', function() {
|
||||
document.getElementById('delete-btn').addEventListener('click', function () {
|
||||
if (confirm('削除してよろしいですか?')) {
|
||||
document.getElementById('parks-delete-form').submit();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user