krgm.so-manager-dev.com/resources/views/admin/contract_allowable_cities/list.blade.php
kin.rinzen 070e692966
All checks were successful
Deploy main / deploy (push) Successful in 23s
タイトル修正
2025-10-16 15:42:21 +09:00

189 lines
9.6 KiB
PHP

@extends('layouts.app')
@section('title', '契約許容市区マスタ')
@section('content')
@if ($errors->any())
<div class="alert alert-danger">
<ul class="mb-0">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<!-- Content 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="{{ route('home') }}">ホーム</a></li>
<!-- <li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li> -->
<li class="breadcrumb-item active">契約許容市区マスタ</li>
</ol>
</div>
</div>
</div>
</div>
<!-- Main Content -->
<section class="content">
<div class="container-fluid">
<!-- 検索条件 -->
<div class="col-lg-12">
<div class="card">
<div class="card-header"><h3 class="card-title">絞り込み</h3></div>
<div class="card-body">
<form action="{{ route('contract_allowable_cities') }}" method="post" id="list-form">
@csrf
<input type="hidden" name="sort" id="sort" value="{{ $sort ?? '' }}">
<input type="hidden" name="sort_type" id="sort_type" value="{{ $sort_type ?? '' }}">
<div class="row">
<div class="form-group col-3">
<label>契約許容市区ID</label>
<input type="text" name="contract_allowable_city_id" class="form-control"
value="{{ $inputs['contract_allowable_city_id'] ?? '' }}">
</div>
<div class="form-group col-3">
<label>市区ID</label>
<select name="city_id" class="form-control">
<option value="">--</option>
@foreach($cityList as $id => $name)
<option value="{{ $id }}" @if(($inputs['city_id'] ?? '') == $id) selected @endif>{{ $name }}</option>
@endforeach
</select>
</div>
<div class="form-group col-3">
<label>許容市区名</label>
<input type="text" name="contract_allowable_city_name" class="form-control"
value="{{ $inputs['contract_allowable_city_name'] ?? '' }}">
</div>
<div class="form-group col-3">
<label>駐輪場ID</label>
<select name="park_id" class="form-control">
<option value="">--</option>
@foreach($parkList as $id => $name)
<option value="{{ $id }}" @if(($inputs['park_id'] ?? '') == $id) selected @endif>{{ $name }}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group col-12 text-left">
<button type="submit" name="action" value="filter" class="btn btn-default">絞り込み</button>
<button type="submit" name="action" value="unlink" class="btn btn-default">解除</button>
</div>
</form>
</div>
</div>
</div>
<!-- 検索条件ここまで -->
<!-- ボタン + ページネーション -->
<div class="container-fluid mb20">
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('contract_allowable_cities_add') }}'">新規</button>
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
<button type="button" class="btn btn-sm btn-default mr10" id="export_csv"
action="{{ route('contract_allowable_cities_export') }}">CSV出力</button>
<div class="d-flex justify-content-end">
{{ $list->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
</div>
</div>
<!-- 単一テーブル構成 -->
<div class="col-lg-12 mb20">
<div class="table-responsive">
<form method="post" action="{{ route('contract_allowable_cities_delete') }}" id="form_delete">
@csrf
<table class="table table-bordered dataTable text-nowrap">
<thead class="thead-light">
<tr>
<th style="width:140px; border-left:1px solid #dcdcdc;" class="text-left">
<input type="checkbox" onclick="$('input[name*=\'pk\']').prop('checked', this.checked);">
</th>
<th class="sorting {{ ($sort=='contract_allowable_city_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="contract_allowable_city_id"><span>契約許容市区ID</span></th>
<th class="sorting {{ ($sort=='city_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="city_id"><span>市区ID</span></th>
<th class="sorting {{ ($sort=='contract_allowable_city_name') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="contract_allowable_city_name"><span>許容市区名</span></th>
<th class="sorting {{ ($sort=='park_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="park_id"><span>駐輪場ID</span></th>
<th><span>隣接区フラグ</span></th>
</tr>
</thead>
<tbody class="bg-white">
@foreach($list as $item)
<tr>
<td class="align-middle" style="background-color:#faebd7;">
<div class="d-flex align-items-center">
<input type="checkbox" class="m-0 checkbox" name="id[]" value="{{ $item->contract_allowable_city_id }}">
<a href="{{ route('contract_allowable_cities_edit', ['id' => $item->contract_allowable_city_id]) }}" class="btn btn-sm btn-default ml10">編集</a>
</div>
</td>
<td class="sm-item text-left align-middle">{{ $item->contract_allowable_city_id }}</td>
<td class="sm-item text-left align-middle">{{ $item->city_id }}</td>
<td class="sm-item text-left align-middle">{{ $item->contract_allowable_city_name }}</td>
<td class="sm-item text-left align-middle">{{ $item->park_id }}</td>
<td class="sm-item text-left align-middle">{{ $item->same_district_flag == 0 ? '隣接市' : 'その他' }}</td>
</tr>
@endforeach
</tbody>
</table>
</form>
</div>
</div>
<!-- 単一テーブル構成ここまで -->
</div>
</section>
<script>
$(document).ready(function () {
// 並び替え
$('.sorting').click(function () {
var sortColumn = $(this).attr('sort');
var currentSortType = $('#sort_type').val();
var newSortType = (sortColumn === $('#sort').val() && currentSortType === 'asc') ? 'desc' : 'asc';
$('#sort').val(sortColumn);
$('#sort_type').val(newSortType);
$('#list-form').submit();
});
// 全選択チェック
$('#checkbox_all').change(function () {
$('.checkbox').prop('checked', this.checked);
});
// 削除ボタン
$('#delete').click(function () {
if ($('.checkbox:checked').length === 0) {
alert('削除する項目を選択してください。');
return false;
}
if (confirm('選択された項目を削除しますか?')) {
$('#form_delete').submit();
}
});
// CSV出力
$('#export_csv').click(function () {
var action = $(this).attr('action');
var form = $('#list-form');
var originalAction = form.attr('action');
form.attr('action', action);
form.find('[name="isExport"]').remove();
form.append('<input type="hidden" name="isExport" value="1">');
form.submit();
form.attr('action', originalAction);
});
});
</script>
@endsection